From 84d943d44270a2bff6bbfdd9e3ba045d5bc9c029 Mon Sep 17 00:00:00 2001 From: Sedat Girgin Date: Mon, 8 Feb 2021 00:35:52 +0300 Subject: [PATCH 01/17] fist commit. --- src/WebApp/AspnetRunBasics/Pages/Cart.cshtml | 325 +- .../AspnetRunBasics/Pages/Cart.cshtml.cs | 27 +- src/WebApp/AspnetRunBasics/Pages/Index.cshtml | 29 +- .../AspnetRunBasics/Pages/Index.cshtml.cs | 1 + .../AspnetRunBasics/Pages/Product.cshtml | 2 +- .../Pages/ProductDetail.cshtml | 2 +- .../CategoryComponent/_CategoryPartial.cshtml | 56 + .../Pages/Shared/_Layout.cshtml | 478 +- .../Pages/Shared/_ProductItemPartial.cshtml | 50 +- .../ViewComponents/CategoryComponent.cs | 22 + src/WebApp/AspnetRunBasics/libman.json | 10 + .../AspnetRunBasics/wwwroot/css/common.css | 3054 ++++ .../AspnetRunBasics/wwwroot/css/layout.css | 1364 ++ .../css/material-design-iconic-font.min.css | 5160 ++++++ .../wwwroot/css/responsive.css | 1135 ++ .../AspnetRunBasics/wwwroot/css/style.css | 15 + .../AspnetRunBasics/wwwroot/css/theme.css | 14693 ++++++++++++++++ .../AspnetRunBasics/wwwroot/js/shopscript.js | 250 + .../twitter-bootstrap/css/bootstrap-grid.css | 3872 ++++ .../css/bootstrap-grid.css.map | 1 + .../css/bootstrap-grid.min.css | 7 + .../css/bootstrap-grid.min.css.map | 1 + .../css/bootstrap-reboot.css | 325 + .../css/bootstrap-reboot.css.map | 1 + .../css/bootstrap-reboot.min.css | 8 + .../css/bootstrap-reboot.min.css.map | 1 + .../twitter-bootstrap/css/bootstrap.css | 10298 +++++++++++ .../twitter-bootstrap/css/bootstrap.css.map | 1 + .../twitter-bootstrap/css/bootstrap.min.css | 7 + .../css/bootstrap.min.css.map | 1 + .../twitter-bootstrap/js/bootstrap.bundle.js | 7045 ++++++++ .../js/bootstrap.bundle.js.map | 1 + .../js/bootstrap.bundle.min.js | 7 + .../js/bootstrap.bundle.min.js.map | 1 + .../wwwroot/twitter-bootstrap/js/bootstrap.js | 4432 +++++ .../twitter-bootstrap/js/bootstrap.js.map | 1 + .../twitter-bootstrap/js/bootstrap.min.js | 7 + .../twitter-bootstrap/js/bootstrap.min.js.map | 1 + .../twitter-bootstrap/scss/_alert.scss | 52 + .../twitter-bootstrap/scss/_badge.scss | 54 + .../twitter-bootstrap/scss/_breadcrumb.scss | 42 + .../twitter-bootstrap/scss/_button-group.scss | 163 + .../twitter-bootstrap/scss/_buttons.scss | 142 + .../wwwroot/twitter-bootstrap/scss/_card.scss | 286 + .../twitter-bootstrap/scss/_carousel.scss | 197 + .../twitter-bootstrap/scss/_close.scss | 40 + .../wwwroot/twitter-bootstrap/scss/_code.scss | 48 + .../twitter-bootstrap/scss/_custom-forms.scss | 526 + .../twitter-bootstrap/scss/_dropdown.scss | 192 + .../twitter-bootstrap/scss/_forms.scss | 347 + .../twitter-bootstrap/scss/_functions.scss | 144 + .../wwwroot/twitter-bootstrap/scss/_grid.scss | 73 + .../twitter-bootstrap/scss/_images.scss | 42 + .../twitter-bootstrap/scss/_input-group.scss | 208 + .../twitter-bootstrap/scss/_jumbotron.scss | 17 + .../twitter-bootstrap/scss/_list-group.scss | 154 + .../twitter-bootstrap/scss/_media.scss | 8 + .../twitter-bootstrap/scss/_mixins.scss | 47 + .../twitter-bootstrap/scss/_modal.scss | 240 + .../wwwroot/twitter-bootstrap/scss/_nav.scss | 120 + .../twitter-bootstrap/scss/_navbar.scss | 332 + .../twitter-bootstrap/scss/_pagination.scss | 74 + .../twitter-bootstrap/scss/_popover.scss | 170 + .../twitter-bootstrap/scss/_print.scss | 141 + .../twitter-bootstrap/scss/_progress.scss | 47 + .../twitter-bootstrap/scss/_reboot.scss | 484 + .../wwwroot/twitter-bootstrap/scss/_root.scss | 19 + .../twitter-bootstrap/scss/_spinners.scss | 65 + .../twitter-bootstrap/scss/_tables.scss | 185 + .../twitter-bootstrap/scss/_toasts.scss | 46 + .../twitter-bootstrap/scss/_tooltip.scss | 115 + .../twitter-bootstrap/scss/_transitions.scss | 20 + .../wwwroot/twitter-bootstrap/scss/_type.scss | 125 + .../twitter-bootstrap/scss/_utilities.scss | 18 + .../twitter-bootstrap/scss/_variables.scss | 1146 ++ .../scss/bootstrap-grid.scss | 30 + .../scss/bootstrap-reboot.scss | 12 + .../twitter-bootstrap/scss/bootstrap.scss | 44 + .../twitter-bootstrap/scss/mixins/_alert.scss | 13 + .../scss/mixins/_background-variant.scss | 23 + .../twitter-bootstrap/scss/mixins/_badge.scss | 17 + .../scss/mixins/_border-radius.scss | 76 + .../scss/mixins/_box-shadow.scss | 20 + .../scss/mixins/_breakpoints.scss | 123 + .../scss/mixins/_buttons.scss | 110 + .../twitter-bootstrap/scss/mixins/_caret.scss | 62 + .../scss/mixins/_clearfix.scss | 7 + .../scss/mixins/_deprecate.scss | 10 + .../twitter-bootstrap/scss/mixins/_float.scss | 14 + .../twitter-bootstrap/scss/mixins/_forms.scss | 185 + .../scss/mixins/_gradients.scss | 45 + .../scss/mixins/_grid-framework.scss | 80 + .../twitter-bootstrap/scss/mixins/_grid.scss | 69 + .../twitter-bootstrap/scss/mixins/_hover.scss | 37 + .../twitter-bootstrap/scss/mixins/_image.scss | 36 + .../scss/mixins/_list-group.scss | 21 + .../twitter-bootstrap/scss/mixins/_lists.scss | 7 + .../scss/mixins/_nav-divider.scss | 11 + .../scss/mixins/_pagination.scss | 22 + .../scss/mixins/_reset-text.scss | 17 + .../scss/mixins/_resize.scss | 6 + .../scss/mixins/_screen-reader.scss | 34 + .../twitter-bootstrap/scss/mixins/_size.scss | 7 + .../scss/mixins/_table-row.scss | 39 + .../scss/mixins/_text-emphasis.scss | 17 + .../scss/mixins/_text-hide.scss | 11 + .../scss/mixins/_text-truncate.scss | 8 + .../scss/mixins/_transition.scss | 26 + .../scss/mixins/_visibility.scss | 8 + .../scss/utilities/_align.scss | 8 + .../scss/utilities/_background.scss | 19 + .../scss/utilities/_borders.scss | 75 + .../scss/utilities/_clearfix.scss | 3 + .../scss/utilities/_display.scss | 26 + .../scss/utilities/_embed.scss | 39 + .../scss/utilities/_flex.scss | 51 + .../scss/utilities/_float.scss | 11 + .../scss/utilities/_interactions.scss | 5 + .../scss/utilities/_overflow.scss | 5 + .../scss/utilities/_position.scss | 32 + .../scss/utilities/_screenreaders.scss | 11 + .../scss/utilities/_shadows.scss | 6 + .../scss/utilities/_sizing.scss | 20 + .../scss/utilities/_spacing.scss | 73 + .../scss/utilities/_stretched-link.scss | 19 + .../scss/utilities/_text.scss | 72 + .../scss/utilities/_visibility.scss | 13 + .../twitter-bootstrap/scss/vendor/_rfs.scss | 204 + 128 files changed, 60584 insertions(+), 175 deletions(-) create mode 100644 src/WebApp/AspnetRunBasics/Pages/Shared/Components/CategoryComponent/_CategoryPartial.cshtml create mode 100644 src/WebApp/AspnetRunBasics/ViewComponents/CategoryComponent.cs create mode 100644 src/WebApp/AspnetRunBasics/libman.json create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/css/common.css create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/css/layout.css create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/css/material-design-iconic-font.min.css create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/css/responsive.css create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/css/theme.css create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/js/shopscript.js create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.css create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.css.map create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.min.css create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.min.css.map create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-reboot.css create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-reboot.css.map create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-reboot.min.css create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-reboot.min.css.map create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap.css create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap.css.map create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap.min.css create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap.min.css.map create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.bundle.js create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.bundle.js.map create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.bundle.min.js create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.bundle.min.js.map create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.js create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.js.map create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.min.js create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.min.js.map create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_alert.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_badge.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_breadcrumb.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_button-group.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_buttons.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_card.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_carousel.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_close.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_code.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_custom-forms.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_dropdown.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_forms.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_functions.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_grid.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_images.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_input-group.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_jumbotron.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_list-group.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_media.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_mixins.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_modal.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_nav.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_navbar.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_pagination.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_popover.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_print.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_progress.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_reboot.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_root.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_spinners.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_tables.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_toasts.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_tooltip.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_transitions.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_type.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_utilities.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/_variables.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/bootstrap-grid.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/bootstrap-reboot.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/bootstrap.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_alert.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_background-variant.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_badge.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_border-radius.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_box-shadow.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_breakpoints.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_buttons.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_caret.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_clearfix.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_deprecate.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_float.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_forms.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_gradients.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_grid-framework.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_grid.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_hover.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_image.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_list-group.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_lists.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_nav-divider.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_pagination.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_reset-text.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_resize.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_screen-reader.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_size.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_table-row.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_text-emphasis.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_text-hide.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_text-truncate.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_transition.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/mixins/_visibility.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_align.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_background.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_borders.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_clearfix.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_display.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_embed.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_flex.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_float.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_interactions.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_overflow.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_position.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_screenreaders.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_shadows.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_sizing.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_spacing.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_stretched-link.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_text.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/utilities/_visibility.scss create mode 100644 src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/scss/vendor/_rfs.scss diff --git a/src/WebApp/AspnetRunBasics/Pages/Cart.cshtml b/src/WebApp/AspnetRunBasics/Pages/Cart.cshtml index 3713da9b..0ce5f819 100644 --- a/src/WebApp/AspnetRunBasics/Pages/Cart.cshtml +++ b/src/WebApp/AspnetRunBasics/Pages/Cart.cshtml @@ -17,66 +17,277 @@ -
-
-
-
- - - - - - - - - - - - - - @foreach (var cartItem in Model.Cart.Items) - { - - - - - - - - - } - - - - - - - - - - -
ProductAvailableQuantityPrice
@cartItem.ProductNameIn stock@(cartItem.Price * cartItem.Quantity) $ - -
- - -
- -
Total@Model.Cart.TotalPrice $
+ +
+
+
+ +
+
Shopping Cart
-
-
-
-
- @**@ - Continue Shopping -
-
- @**@ - CheckOut + +
+
+
+
+
+
+
+
Product
+
Price
+
Qty
+
Total
+
+
+
+ + + @foreach (var cartItem in Model.Cart.Items) + { +
+
+ +
+ + +
+ +
+
+ + Yiamond Palo Stud Garrings - ultra / red + +
+
+ + +
+ +
Size: ultra
+ +
Color: red
+ +
+ + +
+
+
+
+ +
@cartItem.Price
+ +
+ +
+
+
+ + + + + +
+
+ + +
+
+ + + +
+ @(cartItem.Price * cartItem.Quantity) +
+ +
+
+ + } + + +
+ +
+ +
+
+
+
+ There are 8 items in your cart +
+
+
+
+ Total: + @Model.Cart.TotalPrice +
+ +
+
Shipping :
+
Shipping & taxes calculated at checkout
+
+ + +
+
+
+ +
+
+ + 78% + +
+
+
Spend $43.00 for free shipping
+
+ +
+ Free shipping for any orders above $200.00 +
+ +
+ +
+
Add a note to your order :
+ +
+ +
+
+
+
-
+ +
\ No newline at end of file diff --git a/src/WebApp/AspnetRunBasics/Pages/Cart.cshtml.cs b/src/WebApp/AspnetRunBasics/Pages/Cart.cshtml.cs index d6cd5814..007c6d42 100644 --- a/src/WebApp/AspnetRunBasics/Pages/Cart.cshtml.cs +++ b/src/WebApp/AspnetRunBasics/Pages/Cart.cshtml.cs @@ -11,14 +11,22 @@ namespace AspnetRunBasics public class CartModel : PageModel { private readonly IBasketApi _basketApi; + private readonly ICatalogApi _catalogApi; - public CartModel(IBasketApi basketApi) + public CartModel(IBasketApi basketApi, ICatalogApi catalogApi) { _basketApi = basketApi ?? throw new ArgumentNullException(nameof(basketApi)); + _catalogApi = catalogApi ?? throw new ArgumentNullException(nameof(basketApi)); } public BasketModel Cart { get; set; } = new BasketModel(); + public async Task GetImageFileAsync(string id) + { + return (await _catalogApi.GetCatalog(id)).ImageFile; + + } + public async Task OnGetAsync() { var userName = "swn"; @@ -32,12 +40,27 @@ public async Task OnPostRemoveToCartAsync(string productId) var userName = "swn"; var basket = await _basketApi.GetBasket(userName); - var item = basket.Items.Single(x => x.ProductId == productId); + var item = basket.Items.Where(x => x.ProductId == productId).FirstOrDefault(); basket.Items.Remove(item); var basketUpdated = await _basketApi.UpdateBasket(basket); return RedirectToPage(); } + + public async Task OnPostUpdateAsync(string productId, string qty) + { + var userName = "swn"; + var basket = await _basketApi.GetBasket(userName); + + var item = basket.Items.Where(x => x.ProductId == productId).FirstOrDefault().Quantity=int.Parse(qty); + + var basketUpdated = await _basketApi.UpdateBasket(basket); + + return RedirectToPage(); + } + + + } } \ No newline at end of file diff --git a/src/WebApp/AspnetRunBasics/Pages/Index.cshtml b/src/WebApp/AspnetRunBasics/Pages/Index.cshtml index 3e80a2e5..fc8f1c37 100644 --- a/src/WebApp/AspnetRunBasics/Pages/Index.cshtml +++ b/src/WebApp/AspnetRunBasics/Pages/Index.cshtml @@ -32,7 +32,7 @@
- +
@@ -45,7 +45,7 @@ Last products
-
+
-
- - @foreach (var product in Model.ProductList.TakeLast(4)) - { -
- -
- } - +
+ + +@*@section VerticalMenu{ + + + +}*@ \ No newline at end of file diff --git a/src/WebApp/AspnetRunBasics/Pages/Index.cshtml.cs b/src/WebApp/AspnetRunBasics/Pages/Index.cshtml.cs index f7391f30..36568070 100644 --- a/src/WebApp/AspnetRunBasics/Pages/Index.cshtml.cs +++ b/src/WebApp/AspnetRunBasics/Pages/Index.cshtml.cs @@ -47,5 +47,6 @@ public async Task OnPostAddToCartAsync(string productId) return RedirectToPage("Cart"); } + } } diff --git a/src/WebApp/AspnetRunBasics/Pages/Product.cshtml b/src/WebApp/AspnetRunBasics/Pages/Product.cshtml index 37a44e80..31202c8e 100644 --- a/src/WebApp/AspnetRunBasics/Pages/Product.cshtml +++ b/src/WebApp/AspnetRunBasics/Pages/Product.cshtml @@ -46,7 +46,7 @@
-
+
- + Add To Cart diff --git a/src/WebApp/AspnetRunBasics/Pages/Shared/Components/CategoryComponent/_CategoryPartial.cshtml b/src/WebApp/AspnetRunBasics/Pages/Shared/Components/CategoryComponent/_CategoryPartial.cshtml new file mode 100644 index 00000000..e1bb84df --- /dev/null +++ b/src/WebApp/AspnetRunBasics/Pages/Shared/Components/CategoryComponent/_CategoryPartial.cshtml @@ -0,0 +1,56 @@ +@model ICollection + + +
+ + + +
diff --git a/src/WebApp/AspnetRunBasics/Pages/Shared/_Layout.cshtml b/src/WebApp/AspnetRunBasics/Pages/Shared/_Layout.cshtml index 9e01fef4..c9a386a5 100644 --- a/src/WebApp/AspnetRunBasics/Pages/Shared/_Layout.cshtml +++ b/src/WebApp/AspnetRunBasics/Pages/Shared/_Layout.cshtml @@ -3,64 +3,335 @@ - @ViewData["Title"] - AspnetRunBasics + @ViewData["Title"] - - + + + + + + + + + -
- -
+ + +
+
+
+ +
+
+
- + + + +
@@ -123,56 +394,89 @@
+ +
+
+
+
+ +
+ + + + +
+ + + - - + + @RenderSection("Scripts", required: false) + + diff --git a/src/WebApp/AspnetRunBasics/Pages/Shared/_ProductItemPartial.cshtml b/src/WebApp/AspnetRunBasics/Pages/Shared/_ProductItemPartial.cshtml index 9d1ac02a..089aa16d 100644 --- a/src/WebApp/AspnetRunBasics/Pages/Shared/_ProductItemPartial.cshtml +++ b/src/WebApp/AspnetRunBasics/Pages/Shared/_ProductItemPartial.cshtml @@ -1,24 +1,42 @@ @model CatalogModel -
- -
-

@Model.Name

-

@Model.Summary

-
-
-

@Model.Price $

-
-
+
- @*Add to Cart*@ + +
+ +
+
+ + No reviews +
+ +
+ + + Regular price + @Model.Price +
+
+ +
+ + +
+
-
\ No newline at end of file +
diff --git a/src/WebApp/AspnetRunBasics/ViewComponents/CategoryComponent.cs b/src/WebApp/AspnetRunBasics/ViewComponents/CategoryComponent.cs new file mode 100644 index 00000000..2f163a4e --- /dev/null +++ b/src/WebApp/AspnetRunBasics/ViewComponents/CategoryComponent.cs @@ -0,0 +1,22 @@ +using AspnetRunBasics.ApiCollection.Interfaces; +using Microsoft.AspNetCore.Mvc; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace AspnetRunBasics.ViewComponents +{ + public class CategoryComponent:ViewComponent + { + private readonly ICatalogApi _catalogApi; + public CategoryComponent(ICatalogApi catalogApi) + { + _catalogApi = catalogApi; + } + public async Task InvokeAsync() + { + return View("_CategoryPartial", await _catalogApi.GetCatalog()); + } + } +} diff --git a/src/WebApp/AspnetRunBasics/libman.json b/src/WebApp/AspnetRunBasics/libman.json new file mode 100644 index 00000000..d6a55dfe --- /dev/null +++ b/src/WebApp/AspnetRunBasics/libman.json @@ -0,0 +1,10 @@ +{ + "version": "1.0", + "defaultProvider": "cdnjs", + "libraries": [ + { + "library": "twitter-bootstrap@4.6.0", + "destination": "wwwroot/twitter-bootstrap/" + } + ] +} \ No newline at end of file diff --git a/src/WebApp/AspnetRunBasics/wwwroot/css/common.css b/src/WebApp/AspnetRunBasics/wwwroot/css/common.css new file mode 100644 index 00000000..37688bde --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/css/common.css @@ -0,0 +1,3054 @@ +*, +*::before, +*::after { + box-sizing:border-box +} +body { + margin:0 +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display:block +} +body, +input, +textarea, +button, +select { + -webkit-font-smoothing:antialiased; + -webkit-text-size-adjust:100% +} +p { + margin-bottom:0 +} +b, +strong { + font-weight:bold +} +em { + font-style:italic +} +input:focus { + outline:none !important +} +small { + font-size:80% +} +sub, +sup { + font-size:75%; + line-height:0; + position:relative; + vertical-align:baseline +} +sup { + top:-0.5em +} +sub { + bottom:-0.25em +} +img { + max-width:100%; + border:0 +} +button, +input, +optgroup, +select, +textarea { + color:inherit; + font:inherit; + margin:0 +} +button[disabled], +html input[disabled] { + cursor:default +} +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style:none; + padding:0 +} +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline:1px dotted ButtonText +} +input[type="search"], +input[type="number"], +input[type="email"], +input[type="password"] { + -webkit-appearance:none; + -moz-appearance:none; + outline:none +} +dl, +ol, +ul { + margin-bottom:0 +} +table { + width:100%; + border-collapse:collapse; + border-spacing:0 +} +td, +th { + padding:0 +} +textarea { + overflow:auto; + -webkit-appearance:none; + -moz-appearance:none +} +[tabindex='-1']:focus { + outline:none +} +.alert-success { + background-color:#dff0d8; + border-color:#d6e9c6; + color:#3c763d +} +a, +button, +[role="button"], +input, +label, +select, +textarea { + touch-action:manipulation +} +.nv-ml-auto { + margin-left:auto !important +} +.nv-mr-auto { + margin-right:auto !important +} +.mt-0 { + margin-top:0px !important +} +.mb-0 { + margin-bottom:0px !important +} +.nv-ml-0 { + margin-left:0px !important +} +.nv-mr-0 { + margin-right:0px !important +} +.pt-0 { + padding-top:0px !important +} +.pb-0 { + padding-bottom:0px !important +} +.nv-pl-0 { + padding-left:0px !important +} +.nv-pr-0 { + padding-right:0px !important +} +.mt-5 { + margin-top:5px !important +} +.mb-5 { + margin-bottom:5px !important +} +.nv-ml-5 { + margin-left:5px !important +} +.nv-mr-5 { + margin-right:5px !important +} +.pt-5 { + padding-top:5px !important +} +.pb-5 { + padding-bottom:5px !important +} +.nv-pl-5 { + padding-left:5px !important +} +.nv-pr-5 { + padding-right:5px !important +} +.mt-10 { + margin-top:10px !important +} +.mb-10 { + margin-bottom:10px !important +} +.nv-ml-10 { + margin-left:10px !important +} +.nv-mr-10 { + margin-right:10px !important +} +.pt-10 { + padding-top:10px !important +} +.pb-10 { + padding-bottom:10px !important +} +.nv-pl-10 { + padding-left:10px !important +} +.nv-pr-10 { + padding-right:10px !important +} +.mt-15 { + margin-top:15px !important +} +.mb-15 { + margin-bottom:15px !important +} +.nv-ml-15 { + margin-left:15px !important +} +.nv-mr-15 { + margin-right:15px !important +} +.pt-15 { + padding-top:15px !important +} +.pb-15 { + padding-bottom:15px !important +} +.nv-pl-15 { + padding-left:15px !important +} +.nv-pr-15 { + padding-right:15px !important +} +.mt-20 { + margin-top:20px !important +} +.mb-20 { + margin-bottom:20px !important +} +.nv-ml-20 { + margin-left:20px !important +} +.nv-mr-20 { + margin-right:20px !important +} +.pt-20 { + padding-top:20px !important +} +.pb-20 { + padding-bottom:20px !important +} +.nv-pl-20 { + padding-left:20px !important +} +.nv-pr-20 { + padding-right:20px !important +} +.mt-25 { + margin-top:25px !important +} +.mb-25 { + margin-bottom:25px !important +} +.nv-ml-25 { + margin-left:25px !important +} +.nv-mr-25 { + margin-right:25px !important +} +.pt-25 { + padding-top:25px !important +} +.pb-25 { + padding-bottom:25px !important +} +.nv-pl-25 { + padding-left:25px !important +} +.nv-pr-25 { + padding-right:25px !important +} +.mt-30 { + margin-top:30px !important +} +.mb-30 { + margin-bottom:30px !important +} +.nv-ml-30 { + margin-left:30px !important +} +.nv-mr-30 { + margin-right:30px !important +} +.pt-30 { + padding-top:30px !important +} +.pb-30 { + padding-bottom:30px !important +} +.nv-pl-30 { + padding-left:30px !important +} +.nv-pr-30 { + padding-right:30px !important +} +.mt-35 { + margin-top:35px !important +} +.mb-35 { + margin-bottom:35px !important +} +.nv-ml-35 { + margin-left:35px !important +} +.nv-mr-35 { + margin-right:35px !important +} +.pt-35 { + padding-top:35px !important +} +.pb-35 { + padding-bottom:35px !important +} +.nv-pl-35 { + padding-left:35px !important +} +.nv-pr-35 { + padding-right:35px !important +} +.mt-40 { + margin-top:40px !important +} +.mb-40 { + margin-bottom:40px !important +} +.nv-ml-40 { + margin-left:40px !important +} +.nv-mr-40 { + margin-right:40px !important +} +.pt-40 { + padding-top:40px !important +} +.pb-40 { + padding-bottom:40px !important +} +.nv-pl-40 { + padding-left:40px !important +} +.nv-pr-40 { + padding-right:40px !important +} +.mt-45 { + margin-top:45px !important +} +.mb-45 { + margin-bottom:45px !important +} +.nv-ml-45 { + margin-left:45px !important +} +.nv-mr-45 { + margin-right:45px !important +} +.pt-45 { + padding-top:45px !important +} +.pb-45 { + padding-bottom:45px !important +} +.nv-pl-45 { + padding-left:45px !important +} +.nv-pr-45 { + padding-right:45px !important +} +.mt-50 { + margin-top:50px !important +} +.mb-50 { + margin-bottom:50px !important +} +.nv-ml-50 { + margin-left:50px !important +} +.nv-mr-50 { + margin-right:50px !important +} +.pt-50 { + padding-top:50px !important +} +.pb-50 { + padding-bottom:50px !important +} +.nv-pl-50 { + padding-left:50px !important +} +.nv-pr-50 { + padding-right:50px !important +} +.mt-55 { + margin-top:55px !important +} +.mb-55 { + margin-bottom:55px !important +} +.nv-ml-55 { + margin-left:55px !important +} +.nv-mr-55 { + margin-right:55px !important +} +.pt-55 { + padding-top:55px !important +} +.pb-55 { + padding-bottom:55px !important +} +.nv-pl-55 { + padding-left:55px !important +} +.nv-pr-55 { + padding-right:55px !important +} +.mt-60 { + margin-top:60px !important +} +.mb-60 { + margin-bottom:60px !important +} +.nv-ml-60 { + margin-left:60px !important +} +.nv-mr-60 { + margin-right:60px !important +} +.pt-60 { + padding-top:60px !important +} +.pb-60 { + padding-bottom:60px !important +} +.nv-pl-60 { + padding-left:60px !important +} +.nv-pr-60 { + padding-right:60px !important +} +.mt-65 { + margin-top:65px !important +} +.mb-65 { + margin-bottom:65px !important +} +.nv-ml-65 { + margin-left:65px !important +} +.nv-mr-65 { + margin-right:65px !important +} +.pt-65 { + padding-top:65px !important +} +.pb-65 { + padding-bottom:65px !important +} +.nv-pl-65 { + padding-left:65px !important +} +.nv-pr-65 { + padding-right:65px !important +} +.mt-70 { + margin-top:70px !important +} +.mb-70 { + margin-bottom:70px !important +} +.nv-ml-70 { + margin-left:70px !important +} +.nv-mr-70 { + margin-right:70px !important +} +.pt-70 { + padding-top:70px !important +} +.pb-70 { + padding-bottom:70px !important +} +.nv-pl-70 { + padding-left:70px !important +} +.nv-pr-70 { + padding-right:70px !important +} +.mt-75 { + margin-top:75px !important +} +.mb-75 { + margin-bottom:75px !important +} +.nv-ml-75 { + margin-left:75px !important +} +.nv-mr-75 { + margin-right:75px !important +} +.pt-75 { + padding-top:75px !important +} +.pb-75 { + padding-bottom:75px !important +} +.nv-pl-75 { + padding-left:75px !important +} +.nv-pr-75 { + padding-right:75px !important +} +.mt-80 { + margin-top:80px !important +} +.mb-80 { + margin-bottom:80px !important +} +.nv-ml-80 { + margin-left:80px !important +} +.nv-mr-80 { + margin-right:80px !important +} +.pt-80 { + padding-top:80px !important +} +.pb-80 { + padding-bottom:80px !important +} +.nv-pl-80 { + padding-left:80px !important +} +.nv-pr-80 { + padding-right:80px !important +} +.mt-85 { + margin-top:85px !important +} +.mb-85 { + margin-bottom:85px !important +} +.nv-ml-85 { + margin-left:85px !important +} +.nv-mr-85 { + margin-right:85px !important +} +.pt-85 { + padding-top:85px !important +} +.pb-85 { + padding-bottom:85px !important +} +.nv-pl-85 { + padding-left:85px !important +} +.nv-pr-85 { + padding-right:85px !important +} +.mt-90 { + margin-top:90px !important +} +.mb-90 { + margin-bottom:90px !important +} +.nv-ml-90 { + margin-left:90px !important +} +.nv-mr-90 { + margin-right:90px !important +} +.pt-90 { + padding-top:90px !important +} +.pb-90 { + padding-bottom:90px !important +} +.nv-pl-90 { + padding-left:90px !important +} +.nv-pr-90 { + padding-right:90px !important +} +.mt-95 { + margin-top:95px !important +} +.mb-95 { + margin-bottom:95px !important +} +.nv-ml-95 { + margin-left:95px !important +} +.nv-mr-95 { + margin-right:95px !important +} +.pt-95 { + padding-top:95px !important +} +.pb-95 { + padding-bottom:95px !important +} +.nv-pl-95 { + padding-left:95px !important +} +.nv-pr-95 { + padding-right:95px !important +} +.mt-100 { + margin-top:100px !important +} +.mb-100 { + margin-bottom:100px !important +} +.nv-ml-100 { + margin-left:100px !important +} +.nv-mr-100 { + margin-right:100px !important +} +.pt-100 { + padding-top:100px !important +} +.pb-100 { + padding-bottom:100px !important +} +.nv-pl-100 { + padding-left:100px !important +} +.nv-pr-100 { + padding-right:100px !important +} +.mt-105 { + margin-top:105px !important +} +.mb-105 { + margin-bottom:105px !important +} +.nv-ml-105 { + margin-left:105px !important +} +.nv-mr-105 { + margin-right:105px !important +} +.pt-105 { + padding-top:105px !important +} +.pb-105 { + padding-bottom:105px !important +} +.nv-pl-105 { + padding-left:105px !important +} +.nv-pr-105 { + padding-right:105px !important +} +.mt-110 { + margin-top:110px !important +} +.mb-110 { + margin-bottom:110px !important +} +.nv-ml-110 { + margin-left:110px !important +} +.nv-mr-110 { + margin-right:110px !important +} +.pt-110 { + padding-top:110px !important +} +.pb-110 { + padding-bottom:110px !important +} +.nv-pl-110 { + padding-left:110px !important +} +.nv-pr-110 { + padding-right:110px !important +} +.mt-115 { + margin-top:115px !important +} +.mb-115 { + margin-bottom:115px !important +} +.nv-ml-115 { + margin-left:115px !important +} +.nv-mr-115 { + margin-right:115px !important +} +.pt-115 { + padding-top:115px !important +} +.pb-115 { + padding-bottom:115px !important +} +.nv-pl-115 { + padding-left:115px !important +} +.nv-pr-115 { + padding-right:115px !important +} +.mt-120 { + margin-top:120px !important +} +.mb-120 { + margin-bottom:120px !important +} +.nv-ml-120 { + margin-left:120px !important +} +.nv-mr-120 { + margin-right:120px !important +} +.pt-120 { + padding-top:120px !important +} +.pb-120 { + padding-bottom:120px !important +} +.nv-pl-120 { + padding-left:120px !important +} +.nv-pr-120 { + padding-right:120px !important +} +.mt-125 { + margin-top:125px !important +} +.mb-125 { + margin-bottom:125px !important +} +.nv-ml-125 { + margin-left:125px !important +} +.nv-mr-125 { + margin-right:125px !important +} +.pt-125 { + padding-top:125px !important +} +.pb-125 { + padding-bottom:125px !important +} +.nv-pl-125 { + padding-left:125px !important +} +.nv-pr-125 { + padding-right:125px !important +} +@media (max-width: 1199px) { + .mt-lg-0 { + margin-top:0px !important + } + .mb-lg-0 { + margin-bottom:0px !important + } + .nv-ml-lg-0 { + margin-left:0px !important + } + .nv-mr-lg-0 { + margin-right:0px !important + } + .pt-lg-0 { + padding-top:0px !important + } + .pb-lg-0 { + padding-bottom:0px !important + } + .nv-pl-lg-0 { + padding-left:0px !important + } + .nv-pr-lg-0 { + padding-right:0px !important + } + .mt-lg-5 { + margin-top:5px !important + } + .mb-lg-5 { + margin-bottom:5px !important + } + .nv-ml-lg-5 { + margin-left:5px !important + } + .nv-mr-lg-5 { + margin-right:5px !important + } + .pt-lg-5 { + padding-top:5px !important + } + .pb-lg-5 { + padding-bottom:5px !important + } + .nv-pl-lg-5 { + padding-left:5px !important + } + .nv-pr-lg-5 { + padding-right:5px !important + } + .mt-lg-10 { + margin-top:10px !important + } + .mb-lg-10 { + margin-bottom:10px !important + } + .nv-ml-lg-10 { + margin-left:10px !important + } + .nv-mr-lg-10 { + margin-right:10px !important + } + .pt-lg-10 { + padding-top:10px !important + } + .pb-lg-10 { + padding-bottom:10px !important + } + .nv-pl-lg-10 { + padding-left:10px !important + } + .nv-pr-lg-10 { + padding-right:10px !important + } + .mt-lg-15 { + margin-top:15px !important + } + .mb-lg-15 { + margin-bottom:15px !important + } + .nv-ml-lg-15 { + margin-left:15px !important + } + .nv-mr-lg-15 { + margin-right:15px !important + } + .pt-lg-15 { + padding-top:15px !important + } + .pb-lg-15 { + padding-bottom:15px !important + } + .nv-pl-lg-15 { + padding-left:15px !important + } + .nv-pr-lg-15 { + padding-right:15px !important + } + .mt-lg-20 { + margin-top:20px !important + } + .mb-lg-20 { + margin-bottom:20px !important + } + .nv-ml-lg-20 { + margin-left:20px !important + } + .nv-mr-lg-20 { + margin-right:20px !important + } + .pt-lg-20 { + padding-top:20px !important + } + .pb-lg-20 { + padding-bottom:20px !important + } + .nv-pl-lg-20 { + padding-left:20px !important + } + .nv-pr-lg-20 { + padding-right:20px !important + } + .mt-lg-25 { + margin-top:25px !important + } + .mb-lg-25 { + margin-bottom:25px !important + } + .nv-ml-lg-25 { + margin-left:25px !important + } + .nv-mr-lg-25 { + margin-right:25px !important + } + .pt-lg-25 { + padding-top:25px !important + } + .pb-lg-25 { + padding-bottom:25px !important + } + .nv-pl-lg-25 { + padding-left:25px !important + } + .nv-pr-lg-25 { + padding-right:25px !important + } + .mt-lg-30 { + margin-top:30px !important + } + .mb-lg-30 { + margin-bottom:30px !important + } + .nv-ml-lg-30 { + margin-left:30px !important + } + .nv-mr-lg-30 { + margin-right:30px !important + } + .pt-lg-30 { + padding-top:30px !important + } + .pb-lg-30 { + padding-bottom:30px !important + } + .nv-pl-lg-30 { + padding-left:30px !important + } + .nv-pr-lg-30 { + padding-right:30px !important + } + .mt-lg-35 { + margin-top:35px !important + } + .mb-lg-35 { + margin-bottom:35px !important + } + .nv-ml-lg-35 { + margin-left:35px !important + } + .nv-mr-lg-35 { + margin-right:35px !important + } + .pt-lg-35 { + padding-top:35px !important + } + .pb-lg-35 { + padding-bottom:35px !important + } + .nv-pl-lg-35 { + padding-left:35px !important + } + .nv-pr-lg-35 { + padding-right:35px !important + } + .mt-lg-40 { + margin-top:40px !important + } + .mb-lg-40 { + margin-bottom:40px !important + } + .nv-ml-lg-40 { + margin-left:40px !important + } + .nv-mr-lg-40 { + margin-right:40px !important + } + .pt-lg-40 { + padding-top:40px !important + } + .pb-lg-40 { + padding-bottom:40px !important + } + .nv-pl-lg-40 { + padding-left:40px !important + } + .nv-pr-lg-40 { + padding-right:40px !important + } + .mt-lg-45 { + margin-top:45px !important + } + .mb-lg-45 { + margin-bottom:45px !important + } + .nv-ml-lg-45 { + margin-left:45px !important + } + .nv-mr-lg-45 { + margin-right:45px !important + } + .pt-lg-45 { + padding-top:45px !important + } + .pb-lg-45 { + padding-bottom:45px !important + } + .nv-pl-lg-45 { + padding-left:45px !important + } + .nv-pr-lg-45 { + padding-right:45px !important + } + .mt-lg-50 { + margin-top:50px !important + } + .mb-lg-50 { + margin-bottom:50px !important + } + .nv-ml-lg-50 { + margin-left:50px !important + } + .nv-mr-lg-50 { + margin-right:50px !important + } + .pt-lg-50 { + padding-top:50px !important + } + .pb-lg-50 { + padding-bottom:50px !important + } + .nv-pl-lg-50 { + padding-left:50px !important + } + .nv-pr-lg-50 { + padding-right:50px !important + } + .mt-lg-55 { + margin-top:55px !important + } + .mb-lg-55 { + margin-bottom:55px !important + } + .nv-ml-lg-55 { + margin-left:55px !important + } + .nv-mr-lg-55 { + margin-right:55px !important + } + .pt-lg-55 { + padding-top:55px !important + } + .pb-lg-55 { + padding-bottom:55px !important + } + .nv-pl-lg-55 { + padding-left:55px !important + } + .nv-pr-lg-55 { + padding-right:55px !important + } + .mt-lg-60 { + margin-top:60px !important + } + .mb-lg-60 { + margin-bottom:60px !important + } + .nv-ml-lg-60 { + margin-left:60px !important + } + .nv-mr-lg-60 { + margin-right:60px !important + } + .pt-lg-60 { + padding-top:60px !important + } + .pb-lg-60 { + padding-bottom:60px !important + } + .nv-pl-lg-60 { + padding-left:60px !important + } + .nv-pr-lg-60 { + padding-right:60px !important + } + .mt-lg-65 { + margin-top:65px !important + } + .mb-lg-65 { + margin-bottom:65px !important + } + .nv-ml-lg-65 { + margin-left:65px !important + } + .nv-mr-lg-65 { + margin-right:65px !important + } + .pt-lg-65 { + padding-top:65px !important + } + .pb-lg-65 { + padding-bottom:65px !important + } + .nv-pl-lg-65 { + padding-left:65px !important + } + .nv-pr-lg-65 { + padding-right:65px !important + } + .mt-lg-70 { + margin-top:70px !important + } + .mb-lg-70 { + margin-bottom:70px !important + } + .nv-ml-lg-70 { + margin-left:70px !important + } + .nv-mr-lg-70 { + margin-right:70px !important + } + .pt-lg-70 { + padding-top:70px !important + } + .pb-lg-70 { + padding-bottom:70px !important + } + .nv-pl-lg-70 { + padding-left:70px !important + } + .nv-pr-lg-70 { + padding-right:70px !important + } + .mt-lg-75 { + margin-top:75px !important + } + .mb-lg-75 { + margin-bottom:75px !important + } + .nv-ml-lg-75 { + margin-left:75px !important + } + .nv-mr-lg-75 { + margin-right:75px !important + } + .pt-lg-75 { + padding-top:75px !important + } + .pb-lg-75 { + padding-bottom:75px !important + } + .nv-pl-lg-75 { + padding-left:75px !important + } + .nv-pr-lg-75 { + padding-right:75px !important + } + .mt-lg-80 { + margin-top:80px !important + } + .mb-lg-80 { + margin-bottom:80px !important + } + .nv-ml-lg-80 { + margin-left:80px !important + } + .nv-mr-lg-80 { + margin-right:80px !important + } + .pt-lg-80 { + padding-top:80px !important + } + .pb-lg-80 { + padding-bottom:80px !important + } + .nv-pl-lg-80 { + padding-left:80px !important + } + .nv-pr-lg-80 { + padding-right:80px !important + } + .mt-lg-85 { + margin-top:85px !important + } + .mb-lg-85 { + margin-bottom:85px !important + } + .nv-ml-lg-85 { + margin-left:85px !important + } + .nv-mr-lg-85 { + margin-right:85px !important + } + .pt-lg-85 { + padding-top:85px !important + } + .pb-lg-85 { + padding-bottom:85px !important + } + .nv-pl-lg-85 { + padding-left:85px !important + } + .nv-pr-lg-85 { + padding-right:85px !important + } + .mt-lg-90 { + margin-top:90px !important + } + .mb-lg-90 { + margin-bottom:90px !important + } + .nv-ml-lg-90 { + margin-left:90px !important + } + .nv-mr-lg-90 { + margin-right:90px !important + } + .pt-lg-90 { + padding-top:90px !important + } + .pb-lg-90 { + padding-bottom:90px !important + } + .nv-pl-lg-90 { + padding-left:90px !important + } + .nv-pr-lg-90 { + padding-right:90px !important + } + .mt-lg-95 { + margin-top:95px !important + } + .mb-lg-95 { + margin-bottom:95px !important + } + .nv-ml-lg-95 { + margin-left:95px !important + } + .nv-mr-lg-95 { + margin-right:95px !important + } + .pt-lg-95 { + padding-top:95px !important + } + .pb-lg-95 { + padding-bottom:95px !important + } + .nv-pl-lg-95 { + padding-left:95px !important + } + .nv-pr-lg-95 { + padding-right:95px !important + } + .mt-lg-100 { + margin-top:100px !important + } + .mb-lg-100 { + margin-bottom:100px !important + } + .nv-ml-lg-100 { + margin-left:100px !important + } + .nv-mr-lg-100 { + margin-right:100px !important + } + .pt-lg-100 { + padding-top:100px !important + } + .pb-lg-100 { + padding-bottom:100px !important + } + .nv-pl-lg-100 { + padding-left:100px !important + } + .nv-pr-lg-100 { + padding-right:100px !important + } +} +@media (max-width: 991px) { + .mt-md-0 { + margin-top:0px !important + } + .mb-md-0 { + margin-bottom:0px !important + } + .nv-ml-md-0 { + margin-left:0px !important + } + .nv-mr-md-0 { + margin-right:0px !important + } + .pt-md-0 { + padding-top:0px !important + } + .pb-md-0 { + padding-bottom:0px !important + } + .nv-pl-md-0 { + padding-left:0px !important + } + .nv-pr-md-0 { + padding-right:0px !important + } + .mt-md-5 { + margin-top:5px !important + } + .mb-md-5 { + margin-bottom:5px !important + } + .nv-ml-md-5 { + margin-left:5px !important + } + .nv-mr-md-5 { + margin-right:5px !important + } + .pt-md-5 { + padding-top:5px !important + } + .pb-md-5 { + padding-bottom:5px !important + } + .nv-pl-md-5 { + padding-left:5px !important + } + .nv-pr-md-5 { + padding-right:5px !important + } + .mt-md-10 { + margin-top:10px !important + } + .mb-md-10 { + margin-bottom:10px !important + } + .nv-ml-md-10 { + margin-left:10px !important + } + .nv-mr-md-10 { + margin-right:10px !important + } + .pt-md-10 { + padding-top:10px !important + } + .pb-md-10 { + padding-bottom:10px !important + } + .nv-pl-md-10 { + padding-left:10px !important + } + .nv-pr-md-10 { + padding-right:10px !important + } + .mt-md-15 { + margin-top:15px !important + } + .mb-md-15 { + margin-bottom:15px !important + } + .nv-ml-md-15 { + margin-left:15px !important + } + .nv-mr-md-15 { + margin-right:15px !important + } + .pt-md-15 { + padding-top:15px !important + } + .pb-md-15 { + padding-bottom:15px !important + } + .nv-pl-md-15 { + padding-left:15px !important + } + .nv-pr-md-15 { + padding-right:15px !important + } + .mt-md-20 { + margin-top:20px !important + } + .mb-md-20 { + margin-bottom:20px !important + } + .nv-ml-md-20 { + margin-left:20px !important + } + .nv-mr-md-20 { + margin-right:20px !important + } + .pt-md-20 { + padding-top:20px !important + } + .pb-md-20 { + padding-bottom:20px !important + } + .nv-pl-md-20 { + padding-left:20px !important + } + .nv-pr-md-20 { + padding-right:20px !important + } + .mt-md-25 { + margin-top:25px !important + } + .mb-md-25 { + margin-bottom:25px !important + } + .nv-ml-md-25 { + margin-left:25px !important + } + .nv-mr-md-25 { + margin-right:25px !important + } + .pt-md-25 { + padding-top:25px !important + } + .pb-md-25 { + padding-bottom:25px !important + } + .nv-pl-md-25 { + padding-left:25px !important + } + .nv-pr-md-25 { + padding-right:25px !important + } + .mt-md-30 { + margin-top:30px !important + } + .mb-md-30 { + margin-bottom:30px !important + } + .nv-ml-md-30 { + margin-left:30px !important + } + .nv-mr-md-30 { + margin-right:30px !important + } + .pt-md-30 { + padding-top:30px !important + } + .pb-md-30 { + padding-bottom:30px !important + } + .nv-pl-md-30 { + padding-left:30px !important + } + .nv-pr-md-30 { + padding-right:30px !important + } + .mt-md-35 { + margin-top:35px !important + } + .mb-md-35 { + margin-bottom:35px !important + } + .nv-ml-md-35 { + margin-left:35px !important + } + .nv-mr-md-35 { + margin-right:35px !important + } + .pt-md-35 { + padding-top:35px !important + } + .pb-md-35 { + padding-bottom:35px !important + } + .nv-pl-md-35 { + padding-left:35px !important + } + .nv-pr-md-35 { + padding-right:35px !important + } + .mt-md-40 { + margin-top:40px !important + } + .mb-md-40 { + margin-bottom:40px !important + } + .nv-ml-md-40 { + margin-left:40px !important + } + .nv-mr-md-40 { + margin-right:40px !important + } + .pt-md-40 { + padding-top:40px !important + } + .pb-md-40 { + padding-bottom:40px !important + } + .nv-pl-md-40 { + padding-left:40px !important + } + .nv-pr-md-40 { + padding-right:40px !important + } + .mt-md-45 { + margin-top:45px !important + } + .mb-md-45 { + margin-bottom:45px !important + } + .nv-ml-md-45 { + margin-left:45px !important + } + .nv-mr-md-45 { + margin-right:45px !important + } + .pt-md-45 { + padding-top:45px !important + } + .pb-md-45 { + padding-bottom:45px !important + } + .nv-pl-md-45 { + padding-left:45px !important + } + .nv-pr-md-45 { + padding-right:45px !important + } + .mt-md-50 { + margin-top:50px !important + } + .mb-md-50 { + margin-bottom:50px !important + } + .nv-ml-md-50 { + margin-left:50px !important + } + .nv-mr-md-50 { + margin-right:50px !important + } + .pt-md-50 { + padding-top:50px !important + } + .pb-md-50 { + padding-bottom:50px !important + } + .nv-pl-md-50 { + padding-left:50px !important + } + .nv-pr-md-50 { + padding-right:50px !important + } + .mt-md-55 { + margin-top:55px !important + } + .mb-md-55 { + margin-bottom:55px !important + } + .nv-ml-md-55 { + margin-left:55px !important + } + .nv-mr-md-55 { + margin-right:55px !important + } + .pt-md-55 { + padding-top:55px !important + } + .pb-md-55 { + padding-bottom:55px !important + } + .nv-pl-md-55 { + padding-left:55px !important + } + .nv-pr-md-55 { + padding-right:55px !important + } + .mt-md-60 { + margin-top:60px !important + } + .mb-md-60 { + margin-bottom:60px !important + } + .nv-ml-md-60 { + margin-left:60px !important + } + .nv-mr-md-60 { + margin-right:60px !important + } + .pt-md-60 { + padding-top:60px !important + } + .pb-md-60 { + padding-bottom:60px !important + } + .nv-pl-md-60 { + padding-left:60px !important + } + .nv-pr-md-60 { + padding-right:60px !important + } + .mt-md-65 { + margin-top:65px !important + } + .mb-md-65 { + margin-bottom:65px !important + } + .nv-ml-md-65 { + margin-left:65px !important + } + .nv-mr-md-65 { + margin-right:65px !important + } + .pt-md-65 { + padding-top:65px !important + } + .pb-md-65 { + padding-bottom:65px !important + } + .nv-pl-md-65 { + padding-left:65px !important + } + .nv-pr-md-65 { + padding-right:65px !important + } + .mt-md-70 { + margin-top:70px !important + } + .mb-md-70 { + margin-bottom:70px !important + } + .nv-ml-md-70 { + margin-left:70px !important + } + .nv-mr-md-70 { + margin-right:70px !important + } + .pt-md-70 { + padding-top:70px !important + } + .pb-md-70 { + padding-bottom:70px !important + } + .nv-pl-md-70 { + padding-left:70px !important + } + .nv-pr-md-70 { + padding-right:70px !important + } + .mt-md-75 { + margin-top:75px !important + } + .mb-md-75 { + margin-bottom:75px !important + } + .nv-ml-md-75 { + margin-left:75px !important + } + .nv-mr-md-75 { + margin-right:75px !important + } + .pt-md-75 { + padding-top:75px !important + } + .pb-md-75 { + padding-bottom:75px !important + } + .nv-pl-md-75 { + padding-left:75px !important + } + .nv-pr-md-75 { + padding-right:75px !important + } + .mt-md-80 { + margin-top:80px !important + } + .mb-md-80 { + margin-bottom:80px !important + } + .nv-ml-md-80 { + margin-left:80px !important + } + .nv-mr-md-80 { + margin-right:80px !important + } + .pt-md-80 { + padding-top:80px !important + } + .pb-md-80 { + padding-bottom:80px !important + } + .nv-pl-md-80 { + padding-left:80px !important + } + .nv-pr-md-80 { + padding-right:80px !important + } + .mt-md-85 { + margin-top:85px !important + } + .mb-md-85 { + margin-bottom:85px !important + } + .nv-ml-md-85 { + margin-left:85px !important + } + .nv-mr-md-85 { + margin-right:85px !important + } + .pt-md-85 { + padding-top:85px !important + } + .pb-md-85 { + padding-bottom:85px !important + } + .nv-pl-md-85 { + padding-left:85px !important + } + .nv-pr-md-85 { + padding-right:85px !important + } + .mt-md-90 { + margin-top:90px !important + } + .mb-md-90 { + margin-bottom:90px !important + } + .nv-ml-md-90 { + margin-left:90px !important + } + .nv-mr-md-90 { + margin-right:90px !important + } + .pt-md-90 { + padding-top:90px !important + } + .pb-md-90 { + padding-bottom:90px !important + } + .nv-pl-md-90 { + padding-left:90px !important + } + .nv-pr-md-90 { + padding-right:90px !important + } + .mt-md-95 { + margin-top:95px !important + } + .mb-md-95 { + margin-bottom:95px !important + } + .nv-ml-md-95 { + margin-left:95px !important + } + .nv-mr-md-95 { + margin-right:95px !important + } + .pt-md-95 { + padding-top:95px !important + } + .pb-md-95 { + padding-bottom:95px !important + } + .nv-pl-md-95 { + padding-left:95px !important + } + .nv-pr-md-95 { + padding-right:95px !important + } + .mt-md-100 { + margin-top:100px !important + } + .mb-md-100 { + margin-bottom:100px !important + } + .nv-ml-md-100 { + margin-left:100px !important + } + .nv-mr-md-100 { + margin-right:100px !important + } + .pt-md-100 { + padding-top:100px !important + } + .pb-md-100 { + padding-bottom:100px !important + } + .nv-pl-md-100 { + padding-left:100px !important + } + .nv-pr-md-100 { + padding-right:100px !important + } +} +@media (max-width: 767px) { + .mt-sm-0 { + margin-top:0px !important + } + .mb-sm-0 { + margin-bottom:0px !important + } + .nv-ml-sm-0 { + margin-left:0px !important + } + .nv-mr-sm-0 { + margin-right:0px !important + } + .pt-sm-0 { + padding-top:0px !important + } + .pb-sm-0 { + padding-bottom:0px !important + } + .nv-pl-sm-0 { + padding-left:0px !important + } + .nv-pr-sm-0 { + padding-right:0px !important + } + .mt-sm-5 { + margin-top:5px !important + } + .mb-sm-5 { + margin-bottom:5px !important + } + .nv-ml-sm-5 { + margin-left:5px !important + } + .nv-mr-sm-5 { + margin-right:5px !important + } + .pt-sm-5 { + padding-top:5px !important + } + .pb-sm-5 { + padding-bottom:5px !important + } + .nv-pl-sm-5 { + padding-left:5px !important + } + .nv-pr-sm-5 { + padding-right:5px !important + } + .mt-sm-10 { + margin-top:10px !important + } + .mb-sm-10 { + margin-bottom:10px !important + } + .nv-ml-sm-10 { + margin-left:10px !important + } + .nv-mr-sm-10 { + margin-right:10px !important + } + .pt-sm-10 { + padding-top:10px !important + } + .pb-sm-10 { + padding-bottom:10px !important + } + .nv-pl-sm-10 { + padding-left:10px !important + } + .nv-pr-sm-10 { + padding-right:10px !important + } + .mt-sm-15 { + margin-top:15px !important + } + .mb-sm-15 { + margin-bottom:15px !important + } + .nv-ml-sm-15 { + margin-left:15px !important + } + .nv-mr-sm-15 { + margin-right:15px !important + } + .pt-sm-15 { + padding-top:15px !important + } + .pb-sm-15 { + padding-bottom:15px !important + } + .nv-pl-sm-15 { + padding-left:15px !important + } + .nv-pr-sm-15 { + padding-right:15px !important + } + .mt-sm-20 { + margin-top:20px !important + } + .mb-sm-20 { + margin-bottom:20px !important + } + .nv-ml-sm-20 { + margin-left:20px !important + } + .nv-mr-sm-20 { + margin-right:20px !important + } + .pt-sm-20 { + padding-top:20px !important + } + .pb-sm-20 { + padding-bottom:20px !important + } + .nv-pl-sm-20 { + padding-left:20px !important + } + .nv-pr-sm-20 { + padding-right:20px !important + } + .mt-sm-25 { + margin-top:25px !important + } + .mb-sm-25 { + margin-bottom:25px !important + } + .nv-ml-sm-25 { + margin-left:25px !important + } + .nv-mr-sm-25 { + margin-right:25px !important + } + .pt-sm-25 { + padding-top:25px !important + } + .pb-sm-25 { + padding-bottom:25px !important + } + .nv-pl-sm-25 { + padding-left:25px !important + } + .nv-pr-sm-25 { + padding-right:25px !important + } + .mt-sm-30 { + margin-top:30px !important + } + .mb-sm-30 { + margin-bottom:30px !important + } + .nv-ml-sm-30 { + margin-left:30px !important + } + .nv-mr-sm-30 { + margin-right:30px !important + } + .pt-sm-30 { + padding-top:30px !important + } + .pb-sm-30 { + padding-bottom:30px !important + } + .nv-pl-sm-30 { + padding-left:30px !important + } + .nv-pr-sm-30 { + padding-right:30px !important + } + .mt-sm-35 { + margin-top:35px !important + } + .mb-sm-35 { + margin-bottom:35px !important + } + .nv-ml-sm-35 { + margin-left:35px !important + } + .nv-mr-sm-35 { + margin-right:35px !important + } + .pt-sm-35 { + padding-top:35px !important + } + .pb-sm-35 { + padding-bottom:35px !important + } + .nv-pl-sm-35 { + padding-left:35px !important + } + .nv-pr-sm-35 { + padding-right:35px !important + } + .mt-sm-40 { + margin-top:40px !important + } + .mb-sm-40 { + margin-bottom:40px !important + } + .nv-ml-sm-40 { + margin-left:40px !important + } + .nv-mr-sm-40 { + margin-right:40px !important + } + .pt-sm-40 { + padding-top:40px !important + } + .pb-sm-40 { + padding-bottom:40px !important + } + .nv-pl-sm-40 { + padding-left:40px !important + } + .nv-pr-sm-40 { + padding-right:40px !important + } + .mt-sm-45 { + margin-top:45px !important + } + .mb-sm-45 { + margin-bottom:45px !important + } + .nv-ml-sm-45 { + margin-left:45px !important + } + .nv-mr-sm-45 { + margin-right:45px !important + } + .pt-sm-45 { + padding-top:45px !important + } + .pb-sm-45 { + padding-bottom:45px !important + } + .nv-pl-sm-45 { + padding-left:45px !important + } + .nv-pr-sm-45 { + padding-right:45px !important + } + .mt-sm-50 { + margin-top:50px !important + } + .mb-sm-50 { + margin-bottom:50px !important + } + .nv-ml-sm-50 { + margin-left:50px !important + } + .nv-mr-sm-50 { + margin-right:50px !important + } + .pt-sm-50 { + padding-top:50px !important + } + .pb-sm-50 { + padding-bottom:50px !important + } + .nv-pl-sm-50 { + padding-left:50px !important + } + .nv-pr-sm-50 { + padding-right:50px !important + } + .mt-sm-55 { + margin-top:55px !important + } + .mb-sm-55 { + margin-bottom:55px !important + } + .nv-ml-sm-55 { + margin-left:55px !important + } + .nv-mr-sm-55 { + margin-right:55px !important + } + .pt-sm-55 { + padding-top:55px !important + } + .pb-sm-55 { + padding-bottom:55px !important + } + .nv-pl-sm-55 { + padding-left:55px !important + } + .nv-pr-sm-55 { + padding-right:55px !important + } + .mt-sm-60 { + margin-top:60px !important + } + .mb-sm-60 { + margin-bottom:60px !important + } + .nv-ml-sm-60 { + margin-left:60px !important + } + .nv-mr-sm-60 { + margin-right:60px !important + } + .pt-sm-60 { + padding-top:60px !important + } + .pb-sm-60 { + padding-bottom:60px !important + } + .nv-pl-sm-60 { + padding-left:60px !important + } + .nv-pr-sm-60 { + padding-right:60px !important + } + .mt-sm-65 { + margin-top:65px !important + } + .mb-sm-65 { + margin-bottom:65px !important + } + .nv-ml-sm-65 { + margin-left:65px !important + } + .nv-mr-sm-65 { + margin-right:65px !important + } + .pt-sm-65 { + padding-top:65px !important + } + .pb-sm-65 { + padding-bottom:65px !important + } + .nv-pl-sm-65 { + padding-left:65px !important + } + .nv-pr-sm-65 { + padding-right:65px !important + } + .mt-sm-70 { + margin-top:70px !important + } + .mb-sm-70 { + margin-bottom:70px !important + } + .nv-ml-sm-70 { + margin-left:70px !important + } + .nv-mr-sm-70 { + margin-right:70px !important + } + .pt-sm-70 { + padding-top:70px !important + } + .pb-sm-70 { + padding-bottom:70px !important + } + .nv-pl-sm-70 { + padding-left:70px !important + } + .nv-pr-sm-70 { + padding-right:70px !important + } + .mt-sm-75 { + margin-top:75px !important + } + .mb-sm-75 { + margin-bottom:75px !important + } + .nv-ml-sm-75 { + margin-left:75px !important + } + .nv-mr-sm-75 { + margin-right:75px !important + } + .pt-sm-75 { + padding-top:75px !important + } + .pb-sm-75 { + padding-bottom:75px !important + } + .nv-pl-sm-75 { + padding-left:75px !important + } + .nv-pr-sm-75 { + padding-right:75px !important + } + .mt-sm-80 { + margin-top:80px !important + } + .mb-sm-80 { + margin-bottom:80px !important + } + .nv-ml-sm-80 { + margin-left:80px !important + } + .nv-mr-sm-80 { + margin-right:80px !important + } + .pt-sm-80 { + padding-top:80px !important + } + .pb-sm-80 { + padding-bottom:80px !important + } + .nv-pl-sm-80 { + padding-left:80px !important + } + .nv-pr-sm-80 { + padding-right:80px !important + } + .mt-sm-85 { + margin-top:85px !important + } + .mb-sm-85 { + margin-bottom:85px !important + } + .nv-ml-sm-85 { + margin-left:85px !important + } + .nv-mr-sm-85 { + margin-right:85px !important + } + .pt-sm-85 { + padding-top:85px !important + } + .pb-sm-85 { + padding-bottom:85px !important + } + .nv-pl-sm-85 { + padding-left:85px !important + } + .nv-pr-sm-85 { + padding-right:85px !important + } + .mt-sm-90 { + margin-top:90px !important + } + .mb-sm-90 { + margin-bottom:90px !important + } + .nv-ml-sm-90 { + margin-left:90px !important + } + .nv-mr-sm-90 { + margin-right:90px !important + } + .pt-sm-90 { + padding-top:90px !important + } + .pb-sm-90 { + padding-bottom:90px !important + } + .nv-pl-sm-90 { + padding-left:90px !important + } + .nv-pr-sm-90 { + padding-right:90px !important + } + .mt-sm-95 { + margin-top:95px !important + } + .mb-sm-95 { + margin-bottom:95px !important + } + .nv-ml-sm-95 { + margin-left:95px !important + } + .nv-mr-sm-95 { + margin-right:95px !important + } + .pt-sm-95 { + padding-top:95px !important + } + .pb-sm-95 { + padding-bottom:95px !important + } + .nv-pl-sm-95 { + padding-left:95px !important + } + .nv-pr-sm-95 { + padding-right:95px !important + } + .mt-sm-100 { + margin-top:100px !important + } + .mb-sm-100 { + margin-bottom:100px !important + } + .nv-ml-sm-100 { + margin-left:100px !important + } + .nv-mr-sm-100 { + margin-right:100px !important + } + .pt-sm-100 { + padding-top:100px !important + } + .pb-sm-100 { + padding-bottom:100px !important + } + .nv-pl-sm-100 { + padding-left:100px !important + } + .nv-pr-sm-100 { + padding-right:100px !important + } +} +@media (max-width: 575px) { + .mt-xs-0 { + margin-top:0px !important + } + .mb-xs-0 { + margin-bottom:0px !important + } + .nv-ml-xs-0 { + margin-left:0px !important + } + .nv-mr-xs-0 { + margin-right:0px !important + } + .pt-xs-0 { + padding-top:0px !important + } + .pb-xs-0 { + padding-bottom:0px !important + } + .nv-pl-xs-0 { + padding-left:0px !important + } + .nv-pr-xs-0 { + padding-right:0px !important + } + .mt-xs-5 { + margin-top:5px !important + } + .mb-xs-5 { + margin-bottom:5px !important + } + .nv-ml-xs-5 { + margin-left:5px !important + } + .nv-mr-xs-5 { + margin-right:5px !important + } + .pt-xs-5 { + padding-top:5px !important + } + .pb-xs-5 { + padding-bottom:5px !important + } + .nv-pl-xs-5 { + padding-left:5px !important + } + .nv-pr-xs-5 { + padding-right:5px !important + } + .mt-xs-10 { + margin-top:10px !important + } + .mb-xs-10 { + margin-bottom:10px !important + } + .nv-ml-xs-10 { + margin-left:10px !important + } + .nv-mr-xs-10 { + margin-right:10px !important + } + .pt-xs-10 { + padding-top:10px !important + } + .pb-xs-10 { + padding-bottom:10px !important + } + .nv-pl-xs-10 { + padding-left:10px !important + } + .nv-pr-xs-10 { + padding-right:10px !important + } + .mt-xs-15 { + margin-top:15px !important + } + .mb-xs-15 { + margin-bottom:15px !important + } + .nv-ml-xs-15 { + margin-left:15px !important + } + .nv-mr-xs-15 { + margin-right:15px !important + } + .pt-xs-15 { + padding-top:15px !important + } + .pb-xs-15 { + padding-bottom:15px !important + } + .nv-pl-xs-15 { + padding-left:15px !important + } + .nv-pr-xs-15 { + padding-right:15px !important + } + .mt-xs-20 { + margin-top:20px !important + } + .mb-xs-20 { + margin-bottom:20px !important + } + .nv-ml-xs-20 { + margin-left:20px !important + } + .nv-mr-xs-20 { + margin-right:20px !important + } + .pt-xs-20 { + padding-top:20px !important + } + .pb-xs-20 { + padding-bottom:20px !important + } + .nv-pl-xs-20 { + padding-left:20px !important + } + .nv-pr-xs-20 { + padding-right:20px !important + } + .mt-xs-25 { + margin-top:25px !important + } + .mb-xs-25 { + margin-bottom:25px !important + } + .nv-ml-xs-25 { + margin-left:25px !important + } + .nv-mr-xs-25 { + margin-right:25px !important + } + .pt-xs-25 { + padding-top:25px !important + } + .pb-xs-25 { + padding-bottom:25px !important + } + .nv-pl-xs-25 { + padding-left:25px !important + } + .nv-pr-xs-25 { + padding-right:25px !important + } + .mt-xs-30 { + margin-top:30px !important + } + .mb-xs-30 { + margin-bottom:30px !important + } + .nv-ml-xs-30 { + margin-left:30px !important + } + .nv-mr-xs-30 { + margin-right:30px !important + } + .pt-xs-30 { + padding-top:30px !important + } + .pb-xs-30 { + padding-bottom:30px !important + } + .nv-pl-xs-30 { + padding-left:30px !important + } + .nv-pr-xs-30 { + padding-right:30px !important + } + .mt-xs-35 { + margin-top:35px !important + } + .mb-xs-35 { + margin-bottom:35px !important + } + .nv-ml-xs-35 { + margin-left:35px !important + } + .nv-mr-xs-35 { + margin-right:35px !important + } + .pt-xs-35 { + padding-top:35px !important + } + .pb-xs-35 { + padding-bottom:35px !important + } + .nv-pl-xs-35 { + padding-left:35px !important + } + .nv-pr-xs-35 { + padding-right:35px !important + } + .mt-xs-40 { + margin-top:40px !important + } + .mb-xs-40 { + margin-bottom:40px !important + } + .nv-ml-xs-40 { + margin-left:40px !important + } + .nv-mr-xs-40 { + margin-right:40px !important + } + .pt-xs-40 { + padding-top:40px !important + } + .pb-xs-40 { + padding-bottom:40px !important + } + .nv-pl-xs-40 { + padding-left:40px !important + } + .nv-pr-xs-40 { + padding-right:40px !important + } + .mt-xs-45 { + margin-top:45px !important + } + .mb-xs-45 { + margin-bottom:45px !important + } + .nv-ml-xs-45 { + margin-left:45px !important + } + .nv-mr-xs-45 { + margin-right:45px !important + } + .pt-xs-45 { + padding-top:45px !important + } + .pb-xs-45 { + padding-bottom:45px !important + } + .nv-pl-xs-45 { + padding-left:45px !important + } + .nv-pr-xs-45 { + padding-right:45px !important + } + .mt-xs-50 { + margin-top:50px !important + } + .mb-xs-50 { + margin-bottom:50px !important + } + .nv-ml-xs-50 { + margin-left:50px !important + } + .nv-mr-xs-50 { + margin-right:50px !important + } + .pt-xs-50 { + padding-top:50px !important + } + .pb-xs-50 { + padding-bottom:50px !important + } + .nv-pl-xs-50 { + padding-left:50px !important + } + .nv-pr-xs-50 { + padding-right:50px !important + } + .mt-xs-55 { + margin-top:55px !important + } + .mb-xs-55 { + margin-bottom:55px !important + } + .nv-ml-xs-55 { + margin-left:55px !important + } + .nv-mr-xs-55 { + margin-right:55px !important + } + .pt-xs-55 { + padding-top:55px !important + } + .pb-xs-55 { + padding-bottom:55px !important + } + .nv-pl-xs-55 { + padding-left:55px !important + } + .nv-pr-xs-55 { + padding-right:55px !important + } + .mt-xs-60 { + margin-top:60px !important + } + .mb-xs-60 { + margin-bottom:60px !important + } + .nv-ml-xs-60 { + margin-left:60px !important + } + .nv-mr-xs-60 { + margin-right:60px !important + } + .pt-xs-60 { + padding-top:60px !important + } + .pb-xs-60 { + padding-bottom:60px !important + } + .nv-pl-xs-60 { + padding-left:60px !important + } + .nv-pr-xs-60 { + padding-right:60px !important + } + .mt-xs-65 { + margin-top:65px !important + } + .mb-xs-65 { + margin-bottom:65px !important + } + .nv-ml-xs-65 { + margin-left:65px !important + } + .nv-mr-xs-65 { + margin-right:65px !important + } + .pt-xs-65 { + padding-top:65px !important + } + .pb-xs-65 { + padding-bottom:65px !important + } + .nv-pl-xs-65 { + padding-left:65px !important + } + .nv-pr-xs-65 { + padding-right:65px !important + } + .mt-xs-70 { + margin-top:70px !important + } + .mb-xs-70 { + margin-bottom:70px !important + } + .nv-ml-xs-70 { + margin-left:70px !important + } + .nv-mr-xs-70 { + margin-right:70px !important + } + .pt-xs-70 { + padding-top:70px !important + } + .pb-xs-70 { + padding-bottom:70px !important + } + .nv-pl-xs-70 { + padding-left:70px !important + } + .nv-pr-xs-70 { + padding-right:70px !important + } + .mt-xs-75 { + margin-top:75px !important + } + .mb-xs-75 { + margin-bottom:75px !important + } + .nv-ml-xs-75 { + margin-left:75px !important + } + .nv-mr-xs-75 { + margin-right:75px !important + } + .pt-xs-75 { + padding-top:75px !important + } + .pb-xs-75 { + padding-bottom:75px !important + } + .nv-pl-xs-75 { + padding-left:75px !important + } + .nv-pr-xs-75 { + padding-right:75px !important + } + .mt-xs-80 { + margin-top:80px !important + } + .mb-xs-80 { + margin-bottom:80px !important + } + .nv-ml-xs-80 { + margin-left:80px !important + } + .nv-mr-xs-80 { + margin-right:80px !important + } + .pt-xs-80 { + padding-top:80px !important + } + .pb-xs-80 { + padding-bottom:80px !important + } + .nv-pl-xs-80 { + padding-left:80px !important + } + .nv-pr-xs-80 { + padding-right:80px !important + } + .mt-xs-85 { + margin-top:85px !important + } + .mb-xs-85 { + margin-bottom:85px !important + } + .nv-ml-xs-85 { + margin-left:85px !important + } + .nv-mr-xs-85 { + margin-right:85px !important + } + .pt-xs-85 { + padding-top:85px !important + } + .pb-xs-85 { + padding-bottom:85px !important + } + .nv-pl-xs-85 { + padding-left:85px !important + } + .nv-pr-xs-85 { + padding-right:85px !important + } + .mt-xs-90 { + margin-top:90px !important + } + .mb-xs-90 { + margin-bottom:90px !important + } + .nv-ml-xs-90 { + margin-left:90px !important + } + .nv-mr-xs-90 { + margin-right:90px !important + } + .pt-xs-90 { + padding-top:90px !important + } + .pb-xs-90 { + padding-bottom:90px !important + } + .nv-pl-xs-90 { + padding-left:90px !important + } + .nv-pr-xs-90 { + padding-right:90px !important + } + .mt-xs-95 { + margin-top:95px !important + } + .mb-xs-95 { + margin-bottom:95px !important + } + .nv-ml-xs-95 { + margin-left:95px !important + } + .nv-mr-xs-95 { + margin-right:95px !important + } + .pt-xs-95 { + padding-top:95px !important + } + .pb-xs-95 { + padding-bottom:95px !important + } + .nv-pl-xs-95 { + padding-left:95px !important + } + .nv-pr-xs-95 { + padding-right:95px !important + } + .mt-xs-100 { + margin-top:100px !important + } + .mb-xs-100 { + margin-bottom:100px !important + } + .nv-ml-xs-100 { + margin-left:100px !important + } + .nv-mr-xs-100 { + margin-right:100px !important + } + .pt-xs-100 { + padding-top:100px !important + } + .pb-xs-100 { + padding-bottom:100px !important + } + .nv-pl-xs-100 { + padding-left:100px !important + } + .nv-pr-xs-100 { + padding-right:100px !important + } +} +.row.spacing-0 { + margin-right:0px; + margin-left:0px +} +.row.spacing-0>[class*="col-"], +.row.spacing-0>[class*=" col-"] { + padding-left:0px; + padding-right:0px +} +.row.spacing-5 { + margin-right:-2.5px; + margin-left:-2.5px +} +.row.spacing-5>[class*="col-"], +.row.spacing-5>[class*=" col-"] { + padding-left:2.5px; + padding-right:2.5px +} +.row.spacing-10 { + margin-right:-5px; + margin-left:-5px +} +.row.spacing-10>[class*="col-"], +.row.spacing-10>[class*=" col-"] { + padding-left:5px; + padding-right:5px +} +.row.spacing-15 { + margin-right:-7.5px; + margin-left:-7.5px +} +.row.spacing-15>[class*="col-"], +.row.spacing-15>[class*=" col-"] { + padding-left:7.5px; + padding-right:7.5px +} +.row.spacing-20 { + margin-right:-10px; + margin-left:-10px +} +.row.spacing-20>[class*="col-"], +.row.spacing-20>[class*=" col-"] { + padding-left:10px; + padding-right:10px +} +.row.spacing-25 { + margin-right:-12.5px; + margin-left:-12.5px +} +.row.spacing-25>[class*="col-"], +.row.spacing-25>[class*=" col-"] { + padding-left:12.5px; + padding-right:12.5px +} +.row.spacing-30 { + margin-right:-15px; + margin-left:-15px +} +.row.spacing-30>[class*="col-"], +.row.spacing-30>[class*=" col-"] { + padding-left:15px; + padding-right:15px +} +.row.spacing-35 { + margin-right:-17.5px; + margin-left:-17.5px +} +.row.spacing-35>[class*="col-"], +.row.spacing-35>[class*=" col-"] { + padding-left:17.5px; + padding-right:17.5px +} +.row.spacing-40 { + margin-right:-20px; + margin-left:-20px +} +.row.spacing-40>[class*="col-"], +.row.spacing-40>[class*=" col-"] { + padding-left:20px; + padding-right:20px +} +.row.spacing-45 { + margin-right:-22.5px; + margin-left:-22.5px +} +.row.spacing-45>[class*="col-"], +.row.spacing-45>[class*=" col-"] { + padding-left:22.5px; + padding-right:22.5px +} +.row.spacing-50 { + margin-right:-25px; + margin-left:-25px +} +.row.spacing-50>[class*="col-"], +.row.spacing-50>[class*=" col-"] { + padding-left:25px; + padding-right:25px +} +.row.spacing-55 { + margin-right:-27.5px; + margin-left:-27.5px +} +.row.spacing-55>[class*="col-"], +.row.spacing-55>[class*=" col-"] { + padding-left:27.5px; + padding-right:27.5px +} +.row.spacing-60 { + margin-right:-30px; + margin-left:-30px +} +.row.spacing-60>[class*="col-"], +.row.spacing-60>[class*=" col-"] { + padding-left:30px; + padding-right:30px +} +.row.spacing-65 { + margin-right:-32.5px; + margin-left:-32.5px +} +.row.spacing-65>[class*="col-"], +.row.spacing-65>[class*=" col-"] { + padding-left:32.5px; + padding-right:32.5px +} +.row.spacing-70 { + margin-right:-35px; + margin-left:-35px +} +.row.spacing-70>[class*="col-"], +.row.spacing-70>[class*=" col-"] { + padding-left:35px; + padding-right:35px +} +.row.spacing-75 { + margin-right:-37.5px; + margin-left:-37.5px +} +.row.spacing-75>[class*="col-"], +.row.spacing-75>[class*=" col-"] { + padding-left:37.5px; + padding-right:37.5px +} +.row.spacing-80 { + margin-right:-40px; + margin-left:-40px +} +.row.spacing-80>[class*="col-"], +.row.spacing-80>[class*=" col-"] { + padding-left:40px; + padding-right:40px +} +.row.spacing-85 { + margin-right:-42.5px; + margin-left:-42.5px +} +.row.spacing-85>[class*="col-"], +.row.spacing-85>[class*=" col-"] { + padding-left:42.5px; + padding-right:42.5px +} +.row.spacing-90 { + margin-right:-45px; + margin-left:-45px +} +.row.spacing-90>[class*="col-"], +.row.spacing-90>[class*=" col-"] { + padding-left:45px; + padding-right:45px +} +.row.spacing-95 { + margin-right:-47.5px; + margin-left:-47.5px +} +.row.spacing-95>[class*="col-"], +.row.spacing-95>[class*=" col-"] { + padding-left:47.5px; + padding-right:47.5px +} +.row.spacing-100 { + margin-right:-50px; + margin-left:-50px +} +.row.spacing-100>[class*="col-"], +.row.spacing-100>[class*=" col-"] { + padding-left:50px; + padding-right:50px +} +@media (max-width: 767px) { + .row.spacing-sm-0 { + margin-right:0px; + margin-left:0px + } + .row.spacing-sm-0>[class*="col-"], + .row.spacing-sm-0>[class*=" col-"] { + padding-left:0px; + padding-right:0px + } + .row.spacing-sm-5 { + margin-right:-2.5px; + margin-left:-2.5px + } + .row.spacing-sm-5>[class*="col-"], + .row.spacing-sm-5>[class*=" col-"] { + padding-left:2.5px; + padding-right:2.5px + } + .row.spacing-sm-10 { + margin-right:-5px; + margin-left:-5px + } + .row.spacing-sm-10>[class*="col-"], + .row.spacing-sm-10>[class*=" col-"] { + padding-left:5px; + padding-right:5px + } + .row.spacing-sm-15 { + margin-right:-7.5px; + margin-left:-7.5px + } + .row.spacing-sm-15>[class*="col-"], + .row.spacing-sm-15>[class*=" col-"] { + padding-left:7.5px; + padding-right:7.5px + } + .row.spacing-sm-20 { + margin-right:-10px; + margin-left:-10px + } + .row.spacing-sm-20>[class*="col-"], + .row.spacing-sm-20>[class*=" col-"] { + padding-left:10px; + padding-right:10px + } + .row.spacing-sm-25 { + margin-right:-12.5px; + margin-left:-12.5px + } + .row.spacing-sm-25>[class*="col-"], + .row.spacing-sm-25>[class*=" col-"] { + padding-left:12.5px; + padding-right:12.5px + } + .row.spacing-sm-30 { + margin-right:-15px; + margin-left:-15px + } + .row.spacing-sm-30>[class*="col-"], + .row.spacing-sm-30>[class*=" col-"] { + padding-left:15px; + padding-right:15px + } +} +.flex-last { + -webkit-box-ordinal-group:2; + -webkit-order:1; + -ms-flex-order:1; + order:1 +} +.hidden { + display:none +} +.hide { + display:none +} diff --git a/src/WebApp/AspnetRunBasics/wwwroot/css/layout.css b/src/WebApp/AspnetRunBasics/wwwroot/css/layout.css new file mode 100644 index 00000000..0d666673 --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/css/layout.css @@ -0,0 +1,1364 @@ +body, +html { + background-color:#fff +} +#NovBreadcrumbs { + padding:25px 15px; + background:#ededed; + margin-bottom:80px +} +#NovBreadcrumbs h1 { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:2rem; + font-weight:bold; + margin:0; + color:#222; + text-align:center; + text-transform:uppercase +} +#NovBreadcrumbs .breadcrumb { + background:transparent; + margin-bottom:0; + padding:0 +} +#NovBreadcrumbs .breadcrumb .list-inline-item:not(:last-child) { + margin-right:10px; + padding-right:10px; + position:relative +} +#NovBreadcrumbs .breadcrumb .list-inline-item:not(:last-child):before { + content:""; + width:4px; + height:4px; + background:#909090; + position:absolute; + right:-2px; + top:50%; + -webkit-transform:rotate(45deg) translateY(-50%); + -ms-transform:rotate(45deg) translateY(-50%); + transform:rotate(45deg) translateY(-50%) +} +.lang-rtl #NovBreadcrumbs .breadcrumb .list-inline-item:not(:last-child):before { + left:-2px; + right:auto +} +#NovBreadcrumbs .breadcrumb .list-inline-item span { + font-size:1.1rem; + color:#909090 +} +#NovBreadcrumbs .breadcrumb .list-inline-item a span { + font-size:1.1rem; + color:#909090 +} +#NovBreadcrumbs .breadcrumb .list-inline-item a span:hover { + color:#fc8f2f !important +} +@media (max-width: 1199px) { + #NovBreadcrumbs { + margin-bottom:60px + } +} +.site-header .dropdown-toggle:after { + display:none +} +.site-header .label-header { + font-size:10px; + text-transform:uppercase; + color:#909090; + font-weight:700; + cursor:pointer; + margin-top:7px +} +.site-header .header_link_myaccount:hover .label-header, +.site-header .site-header_myaccount:hover .label-header, +.site-header #cart_block:hover .label-header { + color:#0d7a52 +} +.site-header .icon-search { + width:21px; + height:24px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-search.png?v=8846285818330805236) no-repeat; + background-position:bottom +} +.site-header .icon-account { + width:21px; + height:24px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-account.png?v=6651123917481679346) no-repeat; + -webkit-transition:all 0.3s; + -moz-transition:all 0.3s; + -ms-transition:all 0.3s; + -o-transition:all 0.3s; + transition:all 0.3s; + background-position:-21px 0 +} +.site-header .site-header_myaccount { + cursor:pointer +} +.site-header .site-header_myaccount .myaccount-title a { + background-color:white; + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px; + width:45px; + height:45px; + -webkit-border-radius:50%; + -moz-border-radius:50%; + -ms-border-radius:50%; + -o-border-radius:50%; + border-radius:50%; + line-height:62px; + background-color:#0d7a52; + -webkit-box-shadow:4px 4px 4px rgba(0,0,0,0.2); + -moz-box-shadow:4px 4px 4px rgba(0,0,0,0.2); + -ms-box-shadow:4px 4px 4px rgba(0,0,0,0.2); + -o-box-shadow:4px 4px 4px rgba(0,0,0,0.2); + box-shadow:4px 4px 4px rgba(0,0,0,0.2) +} +.site-header .site-header_myaccount .myaccount-title a:hover { + background-color:#78b144 +} +.site-header .b_address { + border-radius:30px; + border:1px solid #eaeaea; + height:45px; + z-index:9; + background-color:white; + cursor:pointer +} +.site-header .b_address:before { + content:""; + position:absolute; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + left:9px; + width:28px; + height:28px; + background-image:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-autodaily.png?v=16023748939694869452); + background-position:0 -97px +} +.lang-rtl .site-header .b_address:before { + right:9px; + left:auto +} +.site-header .b_address:after { + content:""; + position:absolute; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + right:10px; + width:7px; + height:4px; + background-image:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-dropdown.png?v=13197681595295195825); + -webkit-transition:all 0.2s; + -moz-transition:all 0.2s; + -ms-transition:all 0.2s; + -o-transition:all 0.2s; + transition:all 0.2s +} +.lang-rtl .site-header .b_address:after { + left:10px; + right:auto +} +.site-header .b_address .b_title { + color:#b7b7b7; + font-weight:700; + font-size:10px; + text-transform:uppercase; + letter-spacing:0.5px +} +.site-header .b_address .b_number { + font-size:1.2rem; + font-weight:800; + color:#0d7a52; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +.site-header .b_address .b_c_address { + top:calc(100% + 30px); + right:0; + background-color:white; + width:100%; + min-width:250px; + padding-bottom:25px; + border-radius:10px; + -webkit-box-shadow:5px 5px 10px rgba(0,0,0,0.15); + -moz-box-shadow:5px 5px 10px rgba(0,0,0,0.15); + -ms-box-shadow:5px 5px 10px rgba(0,0,0,0.15); + -o-box-shadow:5px 5px 10px rgba(0,0,0,0.15); + box-shadow:5px 5px 10px rgba(0,0,0,0.15); + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden; + -webkit-transition:all 0.3s; + -moz-transition:all 0.3s; + -ms-transition:all 0.3s; + -o-transition:all 0.3s; + transition:all 0.3s +} +.lang-rtl .site-header .b_address .b_c_address { + left:0; + right:auto +} +.site-header .b_address .n_a { + font-size:1.6rem; + color:#bebebe; + text-transform:uppercase; + font-weight:700 +} +.site-header .b_address .b_i_a { + padding:25px 20px 0 +} +.site-header .b_address .b_i_a:not(:last-child) { + border-bottom:1px solid #eaeaea; + padding-bottom:25px +} +.site-header .b_address:hover:after { + -webkit-transform:rotate(-180deg); + -ms-transform:rotate(-180deg); + transform:rotate(-180deg); + transform-origin:center center; + -moz-transform-origin:center center; + -webkit-transform-origin:center center; + -o-transform-origin:center center; + -ms-transform-origin:center center +} +.site-header .b_address:hover .b_c_address { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible; + top:100% +} +.site-header .search_inline { + width:calc(100% - 250px) +} +@media (max-width: 991px) { + .site-header .search_inline { + width:calc(100% - 180px) + } +} +.site-header .block_right { + -webkit-border-radius:30px; + -moz-border-radius:30px; + -ms-border-radius:30px; + -o-border-radius:30px; + border-radius:30px; + background-color:#0d7a52; + height:60px; + padding:8px +} +.site-header .header_bottom { + -webkit-border-radius:30px; + -moz-border-radius:30px; + -ms-border-radius:30px; + -o-border-radius:30px; + border-radius:30px +} +.site-header__logo-link { + display:inline-block; + word-break:break-word +} +.site-header__cart { + position:relative; + cursor:pointer; + background-color:#0d7a52; + -webkit-border-radius:50%; + -moz-border-radius:50%; + -ms-border-radius:50%; + -o-border-radius:50%; + border-radius:50%; + width:45px; + height:45px; + text-align:center; + line-height:56px; + -webkit-box-shadow:4px 4px 4px rgba(0,0,0,0.2); + -moz-box-shadow:4px 4px 4px rgba(0,0,0,0.2); + -ms-box-shadow:4px 4px 4px rgba(0,0,0,0.2); + -o-box-shadow:4px 4px 4px rgba(0,0,0,0.2); + box-shadow:4px 4px 4px rgba(0,0,0,0.2) +} +.site-header__cart:hover { + background-color:#78b144 +} +.site-header__cart .site-header__cart-icon { + width:22px; + height:22px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-cart-header.png?v=17513939522200013185) no-repeat; + display:inline-block; + -webkit-transition:all 0.3s; + -moz-transition:all 0.3s; + -ms-transition:all 0.3s; + -o-transition:all 0.3s; + transition:all 0.3s; + background-position:-22px 0 +} +.site-header__cart .site-header__cart-count { + min-width:19px; + height:19px; + line-height:18px; + text-align:center; + background:#58c06f; + position:absolute; + -webkit-border-radius:100%; + -moz-border-radius:100%; + -ms-border-radius:100%; + -o-border-radius:100%; + border-radius:100%; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + right:-11px +} +.lang-rtl .site-header__cart .site-header__cart-count { + left:-11px; + right:auto +} +.site-header__cart .site-header__cart-count span { + font-size:11px; + color:white; + font-weight:bold; + line-height:19px +} +.title-cart { + font-size:1rem; + font-weight:700; + color:#0d7a52; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + text-transform:uppercase +} +#cart_block { + position:relative +} +#cart_block #cart-info { + display:none; + position:absolute; + right:0; + top:100%; + z-index:99; + padding-top:22px; + cursor:initial; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0 +} +.lang-rtl #cart_block #cart-info { + left:0; + right:auto +} +#cart_block #cart-info p.cart { + padding:20px +} +#cart_block #cart-info .cart { + background:#fff; + min-width:315px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-weight:500; + font-size:13px; + -webkit-border-radius:0 0 4px 4px; + -moz-border-radius:0 0 4px 4px; + -ms-border-radius:0 0 4px 4px; + -o-border-radius:0 0 4px 4px; + border-radius:0 0 4px 4px; + -webkit-box-shadow:0 0 15px 0 rgba(0,0,0,0.1); + -moz-box-shadow:0 0 15px 0 rgba(0,0,0,0.1); + -ms-box-shadow:0 0 15px 0 rgba(0,0,0,0.1); + -o-box-shadow:0 0 15px 0 rgba(0,0,0,0.1); + box-shadow:0 0 15px 0 rgba(0,0,0,0.1) +} +#cart_block #cart-info .cart .ajaxcart__inner .ajaxcart__product { + position:relative; + padding:20px; + border-bottom:1px solid #e6e6e6 +} +#cart_block #cart-info .cart .ajaxcart__inner .ajaxcart__product .media>a img { + width:70px; + margin-right:10px; + border:1px solid #e6e6e6; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px +} +#cart_block #cart-info .cart .ajaxcart__inner .ajaxcart__product .media .price_close { + margin-top:11px; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:space-between; + -moz-justify-content:space-between; + -ms-justify-content:space-between; + justify-content:space-between; + -ms-flex-pack:space-between +} +#cart_block #cart-info .cart .ajaxcart__inner .product-name { + margin-top:-5px +} +#cart_block #cart-info .cart .ajaxcart__inner .product-name, +#cart_block #cart-info .cart .ajaxcart__inner .ajaxcart__product-meta { + text-transform:none; + font-size:11px; + color:#444; + font-weight:500; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + line-height:24px; + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-line-clamp:2; + overflow:hidden +} +#cart_block #cart-info .cart .ajaxcart__inner .product-name:hover, +#cart_block #cart-info .cart .ajaxcart__inner .ajaxcart__product-meta:hover { + color:#fc8f2f +} +#cart_block #cart-info .cart .ajaxcart__inner .product-price { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.2rem; + color:#222; + font-weight:700 +} +#cart_block #cart-info .cart .ajaxcart__inner .quantity { + font-size:1.2rem; + color:#222; + font-weight:500; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#cart_block #cart-info .cart .ajaxcart__footer { + padding:20px +} +#cart_block #cart-info .cart .ajaxcart__footer .cart-note label { + margin-top:10px +} +#cart_block #cart-info .cart .ajaxcart__footer .subtotal { + padding:7px 0; + padding-left:9px; + padding-right:17px; + border:1px dashed rgba(0,0,0,0.3); + margin-bottom:10px +} +.lang-rtl #cart_block #cart-info .cart .ajaxcart__footer .subtotal { + padding-left:17px; + padding-right:9px +} +#cart_block #cart-info .cart .ajaxcart__footer .subtotal label, +#cart_block #cart-info .cart .ajaxcart__footer .subtotal span { + font-size:1.4rem; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-weight:900; + text-transform:uppercase; + margin:0 +} +#cart_block #cart-info .cart .ajaxcart__footer .cart_view { + display:block; + margin:0 60px; + padding:35px 0 10px +} +#cart_block #cart-info .cart .ajaxcart__footer .btn { + height:44px; + line-height:44px; + width:100%; + padding:0; + background:#fff; + border:1px solid #222; + -webkit-border-radius:50px; + -moz-border-radius:50px; + -ms-border-radius:50px; + -o-border-radius:50px; + border-radius:50px; + position:relative; + overflow:hidden +} +#cart_block #cart-info .cart .ajaxcart__footer .btn:after { + content:''; + position:absolute; + z-index:1; + width:0%; + height:100%; + top:0; + left:0; + background:#222; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease +} +.lang-rtl #cart_block #cart-info .cart .ajaxcart__footer .btn:after { + right:0; + left:auto +} +#cart_block #cart-info .cart .ajaxcart__footer .btn span { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:10px; + font-weight:bold; + letter-spacing:2px; + color:#222; + z-index:10; + position:relative +} +#cart_block #cart-info .cart .ajaxcart__footer .btn:hover { + background:#222; + border:1px solid #222; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease +} +#cart_block #cart-info .cart .ajaxcart__footer .btn:hover span { + color:#fff +} +#cart_block #cart-info .cart .ajaxcart__footer .btn:hover:after { + width:100%; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease +} +#cart_block #cart-info .cart .ajaxcart__footer .btn.cart__checkout { + background:#222; + margin-bottom:10px +} +#cart_block #cart-info .cart .ajaxcart__footer .btn.cart__checkout span { + color:#fff +} +#cart_block #cart-info .cart .ajaxcart__footer .btn.cart__checkout:after { + background:#0d7a52 +} +#cart_block #cart-info .cart .ajaxcart__footer .btn.cart__checkout:hover { + background:#fc8f2f; + border:1px solid #0d7a52 +} +#cart_block #cart-info .cart .remove-from-cart { + position:absolute; + font-size:1.6rem; + color:#8f8f8f; + display:inline-block; + width:23px; + height:23px; + line-height:20px; + text-align:center; + -webkit-border-radius:100%; + -moz-border-radius:100%; + -ms-border-radius:100%; + -o-border-radius:100%; + border-radius:100%; + top:50%; + transform:translateY(-50%); + right:20px; + background:#e6e6e6 +} +.lang-rtl #cart_block #cart-info .cart .remove-from-cart { + left:20px; + right:auto +} +#cart_block #cart-info .cart .remove-from-cart:hover { + color:#fc8f2f +} +#cart_block #cart-info .ajaxcart__inner { + max-height:333px; + overflow-y:auto; + margin-bottom:27px +} +#cart_block #cart-info .ajaxcart__inner::-webkit-scrollbar-track { + background-color:#eaeaea; + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px +} +#cart_block #cart-info .ajaxcart__inner::-webkit-scrollbar { + width:5px; + background-color:#eaeaea; + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px +} +#cart_block #cart-info .ajaxcart__inner::-webkit-scrollbar-thumb { + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px; + background-color:#0d7a52 +} +#cart_block #cart-info .threshold_spend { + margin-bottom:11px +} +#cart_block #cart-info #threshold_bar_popup_minicart { + padding:0 20px +} +#cart_block #cart-info .content_threshold.threshold_congrats { + margin-top:4px +} +#cart_block .btn-success:not(:disabled):not(.disabled).active:focus, +#cart_block .btn-success:not(:disabled):not(.disabled):active:focus, +#cart_block .btn-success:not(:disabled):not(.disabled) .show>.btn-success.dropdown-toggle:focus, +#cart_block .btn-success:not(:disabled):not(.disabled) .active, +#cart_block .btn-success:not(:disabled):not(.disabled):active, +#cart_block .btn-success:not(:disabled):not(.disabled) .show>.btn-success.dropdown-toggle { + -webkit-box-shadow:none; + -moz-box-shadow:none; + -ms-box-shadow:none; + -o-box-shadow:none; + box-shadow:none; + border-color:initial +} +@media (min-width: 768px) { + #header-sticky { + position:fixed; + width:100%; + top:-48px; + left:0; + z-index:999; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden; + -webkit-box-shadow:0 6px 5px rgba(0,0,0,0.1); + -moz-box-shadow:0 6px 5px rgba(0,0,0,0.1); + -ms-box-shadow:0 6px 5px rgba(0,0,0,0.1); + -o-box-shadow:0 6px 5px rgba(0,0,0,0.1); + box-shadow:0 6px 5px rgba(0,0,0,0.1); + -webkit-transition:top 0.45s ease; + -moz-transition:top 0.45s ease; + -ms-transition:top 0.45s ease; + -o-transition:top 0.45s ease; + transition:top 0.45s ease; + height:54px + } + .lang-rtl #header-sticky { + right:0; + left:auto + } + #header-sticky.sticky-menu-active { + top:0; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible + } + #header-sticky .label-header { + font-size:10px; + text-transform:uppercase; + color:#666; + font-weight:700; + cursor:pointer + } + #header-sticky .label-header:hover { + color:#0d7a52 + } + #header-sticky #AccessibleNav .site-nav>li>a { + color:#222; + padding:21px 0 + } + #header-sticky #AccessibleNav .site-nav>li.site-nav--has-dropdown>a:after { + color:#222 + } + #header-sticky #AccessibleNav .show_sub { + display:none + } + #header-sticky .site-nav--has-dropdown.hasMegaMenu .megaMenu { + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%) + } + .lang-rtl #header-sticky .site-nav--has-dropdown.hasMegaMenu .megaMenu { + right:50%; + left:auto + } + .lang-rtl #header-sticky .site-nav--has-dropdown.hasMegaMenu .megaMenu { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) + } + #header-sticky #cart_block #cart-info { + padding-top:4px + } + #header-sticky .site-header__logo img { + max-height:52px + } +} +.nov-footer .title-block { + font-size:1.4rem; + font-weight:bold; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + text-transform:uppercase; + margin-bottom:15px; + letter-spacing:0.25px; + white-space:nowrap +} +.nov-footer .icon-contactphone { + min-width:30px; + height:39px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-contactphone.png?v=15582704188215453902); + margin-right:15px +} +.nov-footer .icon-contactaddress { + min-width:30px; + height:34px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-contactaddress.png?v=9092205836566255422) no-repeat center; + margin-right:15px +} +.nov-footer .footer-contact .contact:not(:last-child) { + margin-bottom:25px +} +.nov-footer .footer-contact .phone .text { + font-size:1.6rem; + font-weight:700; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#0d7a52 +} +.nov-footer .footer-contact .address .text { + font-weight:700; + color:#222 +} +.nov-footer .footer-contact i { + display:inline-block; + vertical-align:middle +} +.nov-footer .footer_blog .article--listing { + position:relative; + padding-left:17px +} +.nov-footer .footer_blog .article--listing:before { + content:""; + width:5px; + height:5px; + background:rgba(255,255,255,0.4); + position:absolute; + left:0; + top:9px; + -webkit-transform:rotate(45deg); + -ms-transform:rotate(45deg); + transform:rotate(45deg) +} +.lang-rtl .nov-footer .footer_blog .article--listing:before { + right:0; + left:auto +} +.nov-footer .footer_blog .article__title a { + font-size:1.4rem; + font-weight:300; + letter-spacing:0.1px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +.nov-footer .footer_blog .article__title a:hover { + color:#0d7a52 +} +.nov-footer .footer_blog .time { + color:rgba(255,255,255,0.2) +} +.nov-footer .footer_list_menu { + position:relative +} +.nov-footer .footer_list_menu li { + padding:5px 0 +} +.nov-footer .footer_list_menu li:first-child { + padding-top:0 +} +.nov-footer .footer_list_menu li a:hover { + color:#0d7a52 !important +} +.nov-footer .footer_menu { + border-top:1px solid #e4e2d9 +} +.nov-footer .footer_menu li { + display:inline-block; + line-height:1 +} +.nov-footer .footer_menu li a:hover { + color:#0d7a52 +} +.nov-footer .footer_menu li:not(:last-child) { + margin-right:5px; + padding-right:8px; + border-right:1px solid #909090 +} +@media (min-width: 1200px) { + .nov-footer .footer_menu ul { + padding-right:170px + } +} +.nov-footer .footer_newsletter { + background-color:#0d7a52; + padding:12px; + padding-left:20px; + padding-right:10px; + position:relative; + margin-bottom:-35px; + border-radius:50px +} +.nov-footer .footer_newsletter .errors { + margin-bottom:10px +} +.nov-footer .footer_newsletter .title-block { + font-size:1.8rem; + color:white +} +.nov-footer .footer_newsletter .icon_news { + width:54px; + height:21px; + background-image:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-news.png?v=1445831596237780529); + display:inline-block; + margin-right:20px; + vertical-align:middle +} +.nov-footer .footer_newsletter .section-content { + width:52% +} +.nov-footer .footer_newsletter input { + height:46px; + font-size:12px; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + background:#fff; + color:#666; + z-index:initial; + -webkit-border-radius:30px !important; + -moz-border-radius:30px !important; + -ms-border-radius:30px !important; + -o-border-radius:30px !important; + border-radius:30px !important; + padding-left:15px; + padding-right:95px +} +.lang-rtl .nov-footer .footer_newsletter input { + padding-left:95px; + padding-right:15px +} +.nov-footer .footer_newsletter input::-webkit-input-placeholder { + color:#d1d1d1; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + text-transform:uppercase; + letter-spacing:0.5px +} +.nov-footer .footer_newsletter input:-moz-placeholder { + color:#d1d1d1; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + text-transform:uppercase; + letter-spacing:0.5px +} +.nov-footer .footer_newsletter input::-moz-placeholder { + color:#d1d1d1; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + text-transform:uppercase; + letter-spacing:0.5px +} +.nov-footer .footer_newsletter input:-ms-input-placeholder { + color:#d1d1d1; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + text-transform:uppercase; + letter-spacing:0.5px +} +.nov-footer .footer_newsletter button { + height:46px; + line-height:46px; + border:none; + color:white; + font-weight:700; + font-size:11px; + text-transform:uppercase; + padding:0 14px; + letter-spacing:0.5px; + background-color:#58c06f; + -webkit-border-radius:30px; + -moz-border-radius:30px; + -ms-border-radius:30px; + -o-border-radius:30px; + border-radius:30px; + margin-left:8px +} +.nov-footer .footer_newsletter button:hover { + background:#084c33 +} +@media (max-width: 767px) { + .nov-footer .footer_newsletter { + margin-bottom:-72px; + -webkit-border-radius:10px; + -moz-border-radius:10px; + -ms-border-radius:10px; + -o-border-radius:10px; + border-radius:10px + } + .nov-footer .footer_newsletter .section-content { + width:100% + } +} +.nov-footer .block_social li { + margin-right:2px +} +.nov-footer .block_social i { + text-align:center; + min-width:32px; + width:32px; + height:32px; + line-height:32px; + border-radius:3px; + color:#fff; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease; + font-size:1.5rem; + background-color:#545454 +} +.nov-footer .block_social i:hover { + background-color:#0d7a52 +} +.nov-footer .copyright { + font-size:1.2rem; + font-weight:700 +} +@media (max-width: 767px) { + .nov-footer .copyright { + text-align:center + } +} +#_desktop_back_top { + position:fixed; + bottom:40px; + right:15px; + z-index:999; + cursor:pointer; + -webkit-transition:all 0.2s ease; + -moz-transition:all 0.2s ease; + -ms-transition:all 0.2s ease; + -o-transition:all 0.2s ease; + transition:all 0.2s ease; + display:none +} +.lang-rtl #_desktop_back_top { + left:15px; + right:auto +} +#_desktop_back_top span { + width:40px; + height:40px; + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-border-radius:50%; + -moz-border-radius:50%; + -ms-border-radius:50%; + -o-border-radius:50%; + border-radius:50%; + border:1px solid #0d7a52; + background-color:#fff; + color:#0d7a52; + font-size:2rem; + -webkit-transition:all 0.2s ease; + -moz-transition:all 0.2s ease; + -ms-transition:all 0.2s ease; + -o-transition:all 0.2s ease; + transition:all 0.2s ease +} +#_desktop_back_top:hover span { + border-width:2px; + line-height:35px; + color:#fff; + background:#0d7a52; + -webkit-box-shadow:inset 0 0 0 3px #fff; + -moz-box-shadow:inset 0 0 0 3px #fff; + -ms-box-shadow:inset 0 0 0 3px #fff; + -o-box-shadow:inset 0 0 0 3px #fff; + box-shadow:inset 0 0 0 3px #fff +} +@media (max-width: 767px) { + #_desktop_back_top { + bottom:55px + } +} +.canvas-menu { + background:white; + color:#222; + position:fixed; + z-index:9999; + top:0; + left:auto; + right:auto; + width:250px; + height:100%; + -webkit-transition:all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1); + -moz-transition:all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1); + -ms-transition:all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1); + -o-transition:all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1); + transition:all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1); + overflow:hidden; + -webkit-overflow-scrolling:touch +} +.lang-rtl .canvas-menu { + right:auto; + left:auto +} +.lang-rtl .canvas-menu { + left:auto; + right:auto +} +.canvas-menu.drawer-left { + right:-250px +} +.lang-rtl .canvas-menu.drawer-left { + left:-250px; + right:auto +} +.canvas-menu #canvas-main-menu { + top:110px; + background:#fff +} +.canvas-menu #canvas-main-menu .mm-navbar .mm-title { + color:#222 !important; + font-size:16px; + text-transform:uppercase; + font-weight:700 +} +.canvas-menu #canvas-main-menu .mm-navbar .mm-prev:before { + border-color:#222; + top:-2px +} +.canvas-menu #canvas-main-menu .mm-panel { + visibility:visible; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + background-image:none !important +} +.canvas-menu #canvas-main-menu .mm-panel .mm-listview { + margin-top:-15px +} +.canvas-menu #canvas-main-menu .mm-panel .mm-listview>li { + margin-bottom:6px +} +.canvas-menu #canvas-main-menu .mm-panel .mm-listview>li:not(.mm-divider):after { + border-bottom:none +} +.canvas-menu #canvas-main-menu .mm-panel .mm-listview>li .mm-next:before { + display:none +} +.canvas-menu #canvas-main-menu .mm-panel .mm-listview>li .mm-next:after { + border:none; + content:"\f2f6"; + font-family:"Material-Design-Iconic-Font"; + font-size:24px; + color:#b3b4b3; + -webkit-transform:rotate(0); + -ms-transform:rotate(0); + transform:rotate(0); + border:none; + display:contents; + width:initial; + height:initial +} +.canvas-menu #canvas-main-menu .mm-panel .mm-listview li a { + font-size:13px; + padding-left:20px; + border-bottom:none; + padding-top:5px; + padding-bottom:5px; + font-weight:600 +} +.canvas-menu #canvas-main-menu .mm-panel .mm-listview li .site-nav__link--main { + font-weight:700 +} +.canvas-menu #canvas-main-menu .mm-panel.mm-hasnavbar .mm-navbar { + max-width:250px; + text-align:left; + border-bottom:none +} +.lang-rtl .canvas-menu #canvas-main-menu .mm-panel.mm-hasnavbar .mm-navbar { + text-align:right +} +.canvas-menu #canvas-main-menu .show_sub { + display:none +} +.canvas-menu .canvas-header-box { + padding:35px 0; + font-size:16px; + font-weight:700; + color:#c3c4c3; + background-color:white +} +.canvas-menu .canvas-header-box .close-box { + cursor:pointer +} +.canvas-menu .site-nav>li { + text-align:left; + display:block; + position:relative +} +.lang-rtl .canvas-menu .site-nav>li { + text-align:right +} +.canvas-menu .site-nav>li:first-child { + padding-left:10px +} +.canvas-menu .site-nav>li:before { + display:none +} +.canvas-menu .site-nav>li>.mm-next { + padding:20px 32px +} +.canvas-menu .site-nav>li>.mm-next:before { + display:none +} +.canvas-menu .site-nav>li>.mm-next:after { + content:"\f2f6"; + font-family:'Material-Design-Iconic-Font'; + font-size:24px; + color:#b3b4b3; + -webkit-transform:rotate(0); + -ms-transform:rotate(0); + transform:rotate(0); + border:none; + display:contents; + width:initial; + height:initial +} +.canvas-menu .site-nav>li:not(.mm-divider)::after { + left:0 !important; + border-bottom:none +} +.lang-rtl .canvas-menu .site-nav>li:not(.mm-divider)::after { + right:0 !important; + left:auto +} +.canvas-menu .site-nav>li>a:not(.mm-next) { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-size:1.6rem; + font-weight:700 !important; + padding:15px 0 !important; + padding-left:20px !important; + padding-right:10px !important +} +.lang-rtl .canvas-menu .site-nav>li>a:not(.mm-next) { + padding-left:10px !important; + padding-right:20px !important +} +.canvas-menu .site-nav>li.site-nav--active a { + color:#0d7a52 +} +.canvas-menu .site-nav>li.site-nav--active .mm-next:after { + color:#0d7a52 +} +.canvas-menu .site-nav>li>.site-nav__link>i { + display:none +} +.canvas-menu .site-nav__dropdown li:after { + display:none +} +.canvas-menu .site-nav__dropdown li { + padding-left:20px !important +} +.canvas-menu .site-nav__dropdown .site-nav__link { + padding-top:10px; + padding-bottom:10px +} +.canvas-menu .site-nav__dropdown.megaMenu .novMenuLinks { + list-style-type:none; + padding-left:15px +} +.canvas-menu .site-nav__dropdown.megaMenu .novMenuLinks li.menuTitle { + padding:10px 0 +} +.canvas-menu .site-nav__dropdown.megaMenu .novMenuLinks li.menuTitle a { + color:#222; + font-weight:700 +} +.canvas-menu .site-nav__dropdown.megaMenu .novMenuLinks li:not(.menuTitle) { + margin-left:15px +} +.canvas-menu .site-nav__dropdown.megaMenu .novMenuLinks li:not(.menuTitle) a { + padding:5px 0; + display:inline-block; + color:#222; + font-size:12px +} +.canvas-menu .novMenuBanner { + margin-bottom:20px +} +body { + -webkit-transition:none; + -moz-transition:none; + -ms-transition:none; + -o-transition:none; + transition:none; + position:relative; + left:0; + right:0 +} +.lang-rtl body { + right:0; + left:auto +} +.lang-rtl body { + left:0; + right:auto +} +@media (max-width: 767px) { + body { + -webkit-transition:all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1); + -moz-transition:all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1); + -ms-transition:all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1); + -o-transition:all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1); + transition:all 0.45s cubic-bezier(0.29, 0.63, 0.44, 1) + } +} +body.canvasmenu-right { + overflow:hidden; + right:250px; + left:-250px +} +.lang-rtl body.canvasmenu-right { + left:250px; + right:auto +} +.lang-rtl body.canvasmenu-right { + right:-250px; + left:auto +} +body.canvasmenu-right .canvas-overlay { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible +} +body.canvasmenu-right .canvas-menu.drawer-left { + right:0 +} +.lang-rtl body.canvasmenu-right .canvas-menu.drawer-left { + left:0; + right:auto +} +body.bg-full-active .canvas-overlay { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible +} +body:not(.template-index) .nov-footer { + margin-top:70px +} +body .canvas-overlay, +body .sidebar-overlay { + position:absolute; + right:0; + left:0; + top:0; + bottom:0; + z-index:99; + background:rgba(0,0,0,0.5); + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden; + -webkit-transition:all 0.3s linear; + -moz-transition:all 0.3s linear; + -ms-transition:all 0.3s linear; + -o-transition:all 0.3s linear; + transition:all 0.3s linear +} +.lang-rtl body .canvas-overlay, +.lang-rtl body .sidebar-overlay { + left:0; + right:auto +} +.lang-rtl body .canvas-overlay, +.lang-rtl body .sidebar-overlay { + right:0; + left:auto +} +@media (max-width: 767px) { + body .canvas-overlay, + body .sidebar-overlay { + left:0 + } + .lang-rtl body .canvas-overlay, + .lang-rtl body .sidebar-overlay { + right:0; + left:auto + } +} +body .canvas-overlay.act, +body .sidebar-overlay.act { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible +} diff --git a/src/WebApp/AspnetRunBasics/wwwroot/css/material-design-iconic-font.min.css b/src/WebApp/AspnetRunBasics/wwwroot/css/material-design-iconic-font.min.css new file mode 100644 index 00000000..fc7b6718 --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/css/material-design-iconic-font.min.css @@ -0,0 +1,5160 @@ +@font-face { + font-family:Material-Design-Iconic-Font; + src:url(../fonts/Material-Design-Iconic-Font.woff2?v=2.2.0) format('woff2'), + url(../fonts/Material-Design-Iconic-Font.woff?v=2.2.0) format('woff'), + url(../fonts/Material-Design-Iconic-Font.ttf?v=2.2.0) format('truetype') +} +.zmdi { + display:inline-block; + font:normal normal normal 14px/1 'Material-Design-Iconic-Font'; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale +} +.zmdi-hc-lg { + font-size:1.33333333em; + line-height:.75em; + vertical-align:-15% +} +.zmdi-hc-2x { + font-size:2em +} +.zmdi-hc-3x { + font-size:3em +} +.zmdi-hc-4x { + font-size:4em +} +.zmdi-hc-5x { + font-size:5em +} +.zmdi-hc-fw { + width:1.28571429em; + text-align:center +} +.zmdi-hc-ul { + padding-left:0; + margin-left:2.14285714em; + list-style-type:none +} +.zmdi-hc-ul>li { + position:relative +} +.zmdi-hc-li { + position:absolute; + left:-2.14285714em; + width:2.14285714em; + top:.14285714em; + text-align:center +} +.zmdi-hc-li.zmdi-hc-lg { + left:-1.85714286em +} +.zmdi-hc-border { + padding:.1em .25em; + border:solid .1em #9e9e9e; + border-radius:2px +} +.zmdi-hc-border-circle { + padding:.1em .25em; + border:solid .1em #9e9e9e; + border-radius:50% +} +.zmdi.pull-left { + float:left; + margin-right:.15em +} +.zmdi.pull-right { + float:right; + margin-left:.15em +} +.zmdi-hc-spin { + -webkit-animation:zmdi-spin 1.5s infinite linear; + animation:zmdi-spin 1.5s infinite linear +} +.zmdi-hc-spin-reverse { + -webkit-animation:zmdi-spin-reverse 1.5s infinite linear; + animation:zmdi-spin-reverse 1.5s infinite linear +} +@-webkit-keyframes zmdi-spin { + 0% { + -webkit-transform:rotate(0deg); + transform:rotate(0deg) + } + 100% { + -webkit-transform:rotate(359deg); + transform:rotate(359deg) + } +} +@keyframes zmdi-spin { + 0% { + -webkit-transform:rotate(0deg); + transform:rotate(0deg) + } + 100% { + -webkit-transform:rotate(359deg); + transform:rotate(359deg) + } +} +@-webkit-keyframes zmdi-spin-reverse { + 0% { + -webkit-transform:rotate(0deg); + transform:rotate(0deg) + } + 100% { + -webkit-transform:rotate(-359deg); + transform:rotate(-359deg) + } +} +@keyframes zmdi-spin-reverse { + 0% { + -webkit-transform:rotate(0deg); + transform:rotate(0deg) + } + 100% { + -webkit-transform:rotate(-359deg); + transform:rotate(-359deg) + } +} +.zmdi-hc-rotate-90 { + -webkit-transform:rotate(90deg); + -ms-transform:rotate(90deg); + transform:rotate(90deg) +} +.zmdi-hc-rotate-180 { + -webkit-transform:rotate(180deg); + -ms-transform:rotate(180deg); + transform:rotate(180deg) +} +.zmdi-hc-rotate-270 { + -webkit-transform:rotate(270deg); + -ms-transform:rotate(270deg); + transform:rotate(270deg) +} +.zmdi-hc-flip-horizontal { + -webkit-transform:scale(-1,1); + -ms-transform:scale(-1,1); + transform:scale(-1,1) +} +.zmdi-hc-flip-vertical { + -webkit-transform:scale(1,-1); + -ms-transform:scale(1,-1); + transform:scale(1,-1) +} +.zmdi-hc-stack { + position:relative; + display:inline-block; + width:2em; + height:2em; + line-height:2em; + vertical-align:middle +} +.zmdi-hc-stack-1x, +.zmdi-hc-stack-2x { + position:absolute; + left:0; + width:100%; + text-align:center +} +.zmdi-hc-stack-1x { + line-height:inherit +} +.zmdi-hc-stack-2x { + font-size:2em +} +.zmdi-hc-inverse { + color:#fff +} +.zmdi-3d-rotation:before { + content:'\f101' +} +.zmdi-airplane-off:before { + content:'\f102' +} +.zmdi-airplane:before { + content:'\f103' +} +.zmdi-album:before { + content:'\f104' +} +.zmdi-archive:before { + content:'\f105' +} +.zmdi-assignment-account:before { + content:'\f106' +} +.zmdi-assignment-alert:before { + content:'\f107' +} +.zmdi-assignment-check:before { + content:'\f108' +} +.zmdi-assignment-o:before { + content:'\f109' +} +.zmdi-assignment-return:before { + content:'\f10a' +} +.zmdi-assignment-returned:before { + content:'\f10b' +} +.zmdi-assignment:before { + content:'\f10c' +} +.zmdi-attachment-alt:before { + content:'\f10d' +} +.zmdi-attachment:before { + content:'\f10e' +} +.zmdi-audio:before { + content:'\f10f' +} +.zmdi-badge-check:before { + content:'\f110' +} +.zmdi-balance-wallet:before { + content:'\f111' +} +.zmdi-balance:before { + content:'\f112' +} +.zmdi-battery-alert:before { + content:'\f113' +} +.zmdi-battery-flash:before { + content:'\f114' +} +.zmdi-battery-unknown:before { + content:'\f115' +} +.zmdi-battery:before { + content:'\f116' +} +.zmdi-bike:before { + content:'\f117' +} +.zmdi-block-alt:before { + content:'\f118' +} +.zmdi-block:before { + content:'\f119' +} +.zmdi-boat:before { + content:'\f11a' +} +.zmdi-book-image:before { + content:'\f11b' +} +.zmdi-book:before { + content:'\f11c' +} +.zmdi-bookmark-outline:before { + content:'\f11d' +} +.zmdi-bookmark:before { + content:'\f11e' +} +.zmdi-brush:before { + content:'\f11f' +} +.zmdi-bug:before { + content:'\f120' +} +.zmdi-bus:before { + content:'\f121' +} +.zmdi-cake:before { + content:'\f122' +} +.zmdi-car-taxi:before { + content:'\f123' +} +.zmdi-car-wash:before { + content:'\f124' +} +.zmdi-car:before { + content:'\f125' +} +.zmdi-card-giftcard:before { + content:'\f126' +} +.zmdi-card-membership:before { + content:'\f127' +} +.zmdi-card-travel:before { + content:'\f128' +} +.zmdi-card:before { + content:'\f129' +} +.zmdi-case-check:before { + content:'\f12a' +} +.zmdi-case-download:before { + content:'\f12b' +} +.zmdi-case-play:before { + content:'\f12c' +} +.zmdi-case:before { + content:'\f12d' +} +.zmdi-cast-connected:before { + content:'\f12e' +} +.zmdi-cast:before { + content:'\f12f' +} +.zmdi-chart-donut:before { + content:'\f130' +} +.zmdi-chart:before { + content:'\f131' +} +.zmdi-city-alt:before { + content:'\f132' +} +.zmdi-city:before { + content:'\f133' +} +.zmdi-close-circle-o:before { + content:'\f134' +} +.zmdi-close-circle:before { + content:'\f135' +} +.zmdi-close:before { + content:'\f136' +} +.zmdi-cocktail:before { + content:'\f137' +} +.zmdi-code-setting:before { + content:'\f138' +} +.zmdi-code-smartphone:before { + content:'\f139' +} +.zmdi-code:before { + content:'\f13a' +} +.zmdi-coffee:before { + content:'\f13b' +} +.zmdi-collection-bookmark:before { + content:'\f13c' +} +.zmdi-collection-case-play:before { + content:'\f13d' +} +.zmdi-collection-folder-image:before { + content:'\f13e' +} +.zmdi-collection-image-o:before { + content:'\f13f' +} +.zmdi-collection-image:before { + content:'\f140' +} +.zmdi-collection-item-1:before { + content:'\f141' +} +.zmdi-collection-item-2:before { + content:'\f142' +} +.zmdi-collection-item-3:before { + content:'\f143' +} +.zmdi-collection-item-4:before { + content:'\f144' +} +.zmdi-collection-item-5:before { + content:'\f145' +} +.zmdi-collection-item-6:before { + content:'\f146' +} +.zmdi-collection-item-7:before { + content:'\f147' +} +.zmdi-collection-item-8:before { + content:'\f148' +} +.zmdi-collection-item-9-plus:before { + content:'\f149' +} +.zmdi-collection-item-9:before { + content:'\f14a' +} +.zmdi-collection-item:before { + content:'\f14b' +} +.zmdi-collection-music:before { + content:'\f14c' +} +.zmdi-collection-pdf:before { + content:'\f14d' +} +.zmdi-collection-plus:before { + content:'\f14e' +} +.zmdi-collection-speaker:before { + content:'\f14f' +} +.zmdi-collection-text:before { + content:'\f150' +} +.zmdi-collection-video:before { + content:'\f151' +} +.zmdi-compass:before { + content:'\f152' +} +.zmdi-cutlery:before { + content:'\f153' +} +.zmdi-delete:before { + content:'\f154' +} +.zmdi-dialpad:before { + content:'\f155' +} +.zmdi-dns:before { + content:'\f156' +} +.zmdi-drink:before { + content:'\f157' +} +.zmdi-edit:before { + content:'\f158' +} +.zmdi-email-open:before { + content:'\f159' +} +.zmdi-email:before { + content:'\f15a' +} +.zmdi-eye-off:before { + content:'\f15b' +} +.zmdi-eye:before { + content:'\f15c' +} +.zmdi-eyedropper:before { + content:'\f15d' +} +.zmdi-favorite-outline:before { + content:'\f15e' +} +.zmdi-favorite:before { + content:'\f15f' +} +.zmdi-filter-list:before { + content:'\f160' +} +.zmdi-fire:before { + content:'\f161' +} +.zmdi-flag:before { + content:'\f162' +} +.zmdi-flare:before { + content:'\f163' +} +.zmdi-flash-auto:before { + content:'\f164' +} +.zmdi-flash-off:before { + content:'\f165' +} +.zmdi-flash:before { + content:'\f166' +} +.zmdi-flip:before { + content:'\f167' +} +.zmdi-flower-alt:before { + content:'\f168' +} +.zmdi-flower:before { + content:'\f169' +} +.zmdi-font:before { + content:'\f16a' +} +.zmdi-fullscreen-alt:before { + content:'\f16b' +} +.zmdi-fullscreen-exit:before { + content:'\f16c' +} +.zmdi-fullscreen:before { + content:'\f16d' +} +.zmdi-functions:before { + content:'\f16e' +} +.zmdi-gas-station:before { + content:'\f16f' +} +.zmdi-gesture:before { + content:'\f170' +} +.zmdi-globe-alt:before { + content:'\f171' +} +.zmdi-globe-lock:before { + content:'\f172' +} +.zmdi-globe:before { + content:'\f173' +} +.zmdi-graduation-cap:before { + content:'\f174' +} +.zmdi-home:before { + content:'\f175' +} +.zmdi-hospital-alt:before { + content:'\f176' +} +.zmdi-hospital:before { + content:'\f177' +} +.zmdi-hotel:before { + content:'\f178' +} +.zmdi-hourglass-alt:before { + content:'\f179' +} +.zmdi-hourglass-outline:before { + content:'\f17a' +} +.zmdi-hourglass:before { + content:'\f17b' +} +.zmdi-http:before { + content:'\f17c' +} +.zmdi-image-alt:before { + content:'\f17d' +} +.zmdi-image-o:before { + content:'\f17e' +} +.zmdi-image:before { + content:'\f17f' +} +.zmdi-inbox:before { + content:'\f180' +} +.zmdi-invert-colors-off:before { + content:'\f181' +} +.zmdi-invert-colors:before { + content:'\f182' +} +.zmdi-key:before { + content:'\f183' +} +.zmdi-label-alt-outline:before { + content:'\f184' +} +.zmdi-label-alt:before { + content:'\f185' +} +.zmdi-label-heart:before { + content:'\f186' +} +.zmdi-label:before { + content:'\f187' +} +.zmdi-labels:before { + content:'\f188' +} +.zmdi-lamp:before { + content:'\f189' +} +.zmdi-landscape:before { + content:'\f18a' +} +.zmdi-layers-off:before { + content:'\f18b' +} +.zmdi-layers:before { + content:'\f18c' +} +.zmdi-library:before { + content:'\f18d' +} +.zmdi-link:before { + content:'\f18e' +} +.zmdi-lock-open:before { + content:'\f18f' +} +.zmdi-lock-outline:before { + content:'\f190' +} +.zmdi-lock:before { + content:'\f191' +} +.zmdi-mail-reply-all:before { + content:'\f192' +} +.zmdi-mail-reply:before { + content:'\f193' +} +.zmdi-mail-send:before { + content:'\f194' +} +.zmdi-mall:before { + content:'\f195' +} +.zmdi-map:before { + content:'\f196' +} +.zmdi-menu:before { + content:'\f197' +} +.zmdi-money-box:before { + content:'\f198' +} +.zmdi-money-off:before { + content:'\f199' +} +.zmdi-money:before { + content:'\f19a' +} +.zmdi-more-vert:before { + content:'\f19b' +} +.zmdi-more:before { + content:'\f19c' +} +.zmdi-movie-alt:before { + content:'\f19d' +} +.zmdi-movie:before { + content:'\f19e' +} +.zmdi-nature-people:before { + content:'\f19f' +} +.zmdi-nature:before { + content:'\f1a0' +} +.zmdi-navigation:before { + content:'\f1a1' +} +.zmdi-open-in-browser:before { + content:'\f1a2' +} +.zmdi-open-in-new:before { + content:'\f1a3' +} +.zmdi-palette:before { + content:'\f1a4' +} +.zmdi-parking:before { + content:'\f1a5' +} +.zmdi-pin-account:before { + content:'\f1a6' +} +.zmdi-pin-assistant:before { + content:'\f1a7' +} +.zmdi-pin-drop:before { + content:'\f1a8' +} +.zmdi-pin-help:before { + content:'\f1a9' +} +.zmdi-pin-off:before { + content:'\f1aa' +} +.zmdi-pin:before { + content:'\f1ab' +} +.zmdi-pizza:before { + content:'\f1ac' +} +.zmdi-plaster:before { + content:'\f1ad' +} +.zmdi-power-setting:before { + content:'\f1ae' +} +.zmdi-power:before { + content:'\f1af' +} +.zmdi-print:before { + content:'\f1b0' +} +.zmdi-puzzle-piece:before { + content:'\f1b1' +} +.zmdi-quote:before { + content:'\f1b2' +} +.zmdi-railway:before { + content:'\f1b3' +} +.zmdi-receipt:before { + content:'\f1b4' +} +.zmdi-refresh-alt:before { + content:'\f1b5' +} +.zmdi-refresh-sync-alert:before { + content:'\f1b6' +} +.zmdi-refresh-sync-off:before { + content:'\f1b7' +} +.zmdi-refresh-sync:before { + content:'\f1b8' +} +.zmdi-refresh:before { + content:'\f1b9' +} +.zmdi-roller:before { + content:'\f1ba' +} +.zmdi-ruler:before { + content:'\f1bb' +} +.zmdi-scissors:before { + content:'\f1bc' +} +.zmdi-screen-rotation-lock:before { + content:'\f1bd' +} +.zmdi-screen-rotation:before { + content:'\f1be' +} +.zmdi-search-for:before { + content:'\f1bf' +} +.zmdi-search-in-file:before { + content:'\f1c0' +} +.zmdi-search-in-page:before { + content:'\f1c1' +} +.zmdi-search-replace:before { + content:'\f1c2' +} +.zmdi-search:before { + content:'\f1c3' +} +.zmdi-seat:before { + content:'\f1c4' +} +.zmdi-settings-square:before { + content:'\f1c5' +} +.zmdi-settings:before { + content:'\f1c6' +} +.zmdi-shield-check:before { + content:'\f1c7' +} +.zmdi-shield-security:before { + content:'\f1c8' +} +.zmdi-shopping-basket:before { + content:'\f1c9' +} +.zmdi-shopping-cart-plus:before { + content:'\f1ca' +} +.zmdi-shopping-cart:before { + content:'\f1cb' +} +.zmdi-sign-in:before { + content:'\f1cc' +} +.zmdi-sort-amount-asc:before { + content:'\f1cd' +} +.zmdi-sort-amount-desc:before { + content:'\f1ce' +} +.zmdi-sort-asc:before { + content:'\f1cf' +} +.zmdi-sort-desc:before { + content:'\f1d0' +} +.zmdi-spellcheck:before { + content:'\f1d1' +} +.zmdi-storage:before { + content:'\f1d2' +} +.zmdi-store-24:before { + content:'\f1d3' +} +.zmdi-store:before { + content:'\f1d4' +} +.zmdi-subway:before { + content:'\f1d5' +} +.zmdi-sun:before { + content:'\f1d6' +} +.zmdi-tab-unselected:before { + content:'\f1d7' +} +.zmdi-tab:before { + content:'\f1d8' +} +.zmdi-tag-close:before { + content:'\f1d9' +} +.zmdi-tag-more:before { + content:'\f1da' +} +.zmdi-tag:before { + content:'\f1db' +} +.zmdi-thumb-down:before { + content:'\f1dc' +} +.zmdi-thumb-up-down:before { + content:'\f1dd' +} +.zmdi-thumb-up:before { + content:'\f1de' +} +.zmdi-ticket-star:before { + content:'\f1df' +} +.zmdi-toll:before { + content:'\f1e0' +} +.zmdi-toys:before { + content:'\f1e1' +} +.zmdi-traffic:before { + content:'\f1e2' +} +.zmdi-translate:before { + content:'\f1e3' +} +.zmdi-triangle-down:before { + content:'\f1e4' +} +.zmdi-triangle-up:before { + content:'\f1e5' +} +.zmdi-truck:before { + content:'\f1e6' +} +.zmdi-turning-sign:before { + content:'\f1e7' +} +.zmdi-wallpaper:before { + content:'\f1e8' +} +.zmdi-washing-machine:before { + content:'\f1e9' +} +.zmdi-window-maximize:before { + content:'\f1ea' +} +.zmdi-window-minimize:before { + content:'\f1eb' +} +.zmdi-window-restore:before { + content:'\f1ec' +} +.zmdi-wrench:before { + content:'\f1ed' +} +.zmdi-zoom-in:before { + content:'\f1ee' +} +.zmdi-zoom-out:before { + content:'\f1ef' +} +.zmdi-alert-circle-o:before { + content:'\f1f0' +} +.zmdi-alert-circle:before { + content:'\f1f1' +} +.zmdi-alert-octagon:before { + content:'\f1f2' +} +.zmdi-alert-polygon:before { + content:'\f1f3' +} +.zmdi-alert-triangle:before { + content:'\f1f4' +} +.zmdi-help-outline:before { + content:'\f1f5' +} +.zmdi-help:before { + content:'\f1f6' +} +.zmdi-info-outline:before { + content:'\f1f7' +} +.zmdi-info:before { + content:'\f1f8' +} +.zmdi-notifications-active:before { + content:'\f1f9' +} +.zmdi-notifications-add:before { + content:'\f1fa' +} +.zmdi-notifications-none:before { + content:'\f1fb' +} +.zmdi-notifications-off:before { + content:'\f1fc' +} +.zmdi-notifications-paused:before { + content:'\f1fd' +} +.zmdi-notifications:before { + content:'\f1fe' +} +.zmdi-account-add:before { + content:'\f1ff' +} +.zmdi-account-box-mail:before { + content:'\f200' +} +.zmdi-account-box-o:before { + content:'\f201' +} +.zmdi-account-box-phone:before { + content:'\f202' +} +.zmdi-account-box:before { + content:'\f203' +} +.zmdi-account-calendar:before { + content:'\f204' +} +.zmdi-account-circle:before { + content:'\f205' +} +.zmdi-account-o:before { + content:'\f206' +} +.zmdi-account:before { + content:'\f207' +} +.zmdi-accounts-add:before { + content:'\f208' +} +.zmdi-accounts-alt:before { + content:'\f209' +} +.zmdi-accounts-list-alt:before { + content:'\f20a' +} +.zmdi-accounts-list:before { + content:'\f20b' +} +.zmdi-accounts-outline:before { + content:'\f20c' +} +.zmdi-accounts:before { + content:'\f20d' +} +.zmdi-face:before { + content:'\f20e' +} +.zmdi-female:before { + content:'\f20f' +} +.zmdi-male-alt:before { + content:'\f210' +} +.zmdi-male-female:before { + content:'\f211' +} +.zmdi-male:before { + content:'\f212' +} +.zmdi-mood-bad:before { + content:'\f213' +} +.zmdi-mood:before { + content:'\f214' +} +.zmdi-run:before { + content:'\f215' +} +.zmdi-walk:before { + content:'\f216' +} +.zmdi-cloud-box:before { + content:'\f217' +} +.zmdi-cloud-circle:before { + content:'\f218' +} +.zmdi-cloud-done:before { + content:'\f219' +} +.zmdi-cloud-download:before { + content:'\f21a' +} +.zmdi-cloud-off:before { + content:'\f21b' +} +.zmdi-cloud-outline-alt:before { + content:'\f21c' +} +.zmdi-cloud-outline:before { + content:'\f21d' +} +.zmdi-cloud-upload:before { + content:'\f21e' +} +.zmdi-cloud:before { + content:'\f21f' +} +.zmdi-download:before { + content:'\f220' +} +.zmdi-file-plus:before { + content:'\f221' +} +.zmdi-file-text:before { + content:'\f222' +} +.zmdi-file:before { + content:'\f223' +} +.zmdi-folder-outline:before { + content:'\f224' +} +.zmdi-folder-person:before { + content:'\f225' +} +.zmdi-folder-star-alt:before { + content:'\f226' +} +.zmdi-folder-star:before { + content:'\f227' +} +.zmdi-folder:before { + content:'\f228' +} +.zmdi-gif:before { + content:'\f229' +} +.zmdi-upload:before { + content:'\f22a' +} +.zmdi-border-all:before { + content:'\f22b' +} +.zmdi-border-bottom:before { + content:'\f22c' +} +.zmdi-border-clear:before { + content:'\f22d' +} +.zmdi-border-color:before { + content:'\f22e' +} +.zmdi-border-horizontal:before { + content:'\f22f' +} +.zmdi-border-inner:before { + content:'\f230' +} +.zmdi-border-left:before { + content:'\f231' +} +.zmdi-border-outer:before { + content:'\f232' +} +.zmdi-border-right:before { + content:'\f233' +} +.zmdi-border-style:before { + content:'\f234' +} +.zmdi-border-top:before { + content:'\f235' +} +.zmdi-border-vertical:before { + content:'\f236' +} +.zmdi-copy:before { + content:'\f237' +} +.zmdi-crop:before { + content:'\f238' +} +.zmdi-format-align-center:before { + content:'\f239' +} +.zmdi-format-align-justify:before { + content:'\f23a' +} +.zmdi-format-align-left:before { + content:'\f23b' +} +.zmdi-format-align-right:before { + content:'\f23c' +} +.zmdi-format-bold:before { + content:'\f23d' +} +.zmdi-format-clear-all:before { + content:'\f23e' +} +.zmdi-format-clear:before { + content:'\f23f' +} +.zmdi-format-color-fill:before { + content:'\f240' +} +.zmdi-format-color-reset:before { + content:'\f241' +} +.zmdi-format-color-text:before { + content:'\f242' +} +.zmdi-format-indent-decrease:before { + content:'\f243' +} +.zmdi-format-indent-increase:before { + content:'\f244' +} +.zmdi-format-italic:before { + content:'\f245' +} +.zmdi-format-line-spacing:before { + content:'\f246' +} +.zmdi-format-list-bulleted:before { + content:'\f247' +} +.zmdi-format-list-numbered:before { + content:'\f248' +} +.zmdi-format-ltr:before { + content:'\f249' +} +.zmdi-format-rtl:before { + content:'\f24a' +} +.zmdi-format-size:before { + content:'\f24b' +} +.zmdi-format-strikethrough-s:before { + content:'\f24c' +} +.zmdi-format-strikethrough:before { + content:'\f24d' +} +.zmdi-format-subject:before { + content:'\f24e' +} +.zmdi-format-underlined:before { + content:'\f24f' +} +.zmdi-format-valign-bottom:before { + content:'\f250' +} +.zmdi-format-valign-center:before { + content:'\f251' +} +.zmdi-format-valign-top:before { + content:'\f252' +} +.zmdi-redo:before { + content:'\f253' +} +.zmdi-select-all:before { + content:'\f254' +} +.zmdi-space-bar:before { + content:'\f255' +} +.zmdi-text-format:before { + content:'\f256' +} +.zmdi-transform:before { + content:'\f257' +} +.zmdi-undo:before { + content:'\f258' +} +.zmdi-wrap-text:before { + content:'\f259' +} +.zmdi-comment-alert:before { + content:'\f25a' +} +.zmdi-comment-alt-text:before { + content:'\f25b' +} +.zmdi-comment-alt:before { + content:'\f25c' +} +.zmdi-comment-edit:before { + content:'\f25d' +} +.zmdi-comment-image:before { + content:'\f25e' +} +.zmdi-comment-list:before { + content:'\f25f' +} +.zmdi-comment-more:before { + content:'\f260' +} +.zmdi-comment-outline:before { + content:'\f261' +} +.zmdi-comment-text-alt:before { + content:'\f262' +} +.zmdi-comment-text:before { + content:'\f263' +} +.zmdi-comment-video:before { + content:'\f264' +} +.zmdi-comment:before { + content:'\f265' +} +.zmdi-comments:before { + content:'\f266' +} +.zmdi-check-all:before { + content:'\f267' +} +.zmdi-check-circle-u:before { + content:'\f268' +} +.zmdi-check-circle:before { + content:'\f269' +} +.zmdi-check-square:before { + content:'\f26a' +} +.zmdi-check:before { + content:'\f26b' +} +.zmdi-circle-o:before { + content:'\f26c' +} +.zmdi-circle:before { + content:'\f26d' +} +.zmdi-dot-circle-alt:before { + content:'\f26e' +} +.zmdi-dot-circle:before { + content:'\f26f' +} +.zmdi-minus-circle-outline:before { + content:'\f270' +} +.zmdi-minus-circle:before { + content:'\f271' +} +.zmdi-minus-square:before { + content:'\f272' +} +.zmdi-minus:before { + content:'\f273' +} +.zmdi-plus-circle-o-duplicate:before { + content:'\f274' +} +.zmdi-plus-circle-o:before { + content:'\f275' +} +.zmdi-plus-circle:before { + content:'\f276' +} +.zmdi-plus-square:before { + content:'\f277' +} +.zmdi-plus:before { + content:'\f278' +} +.zmdi-square-o:before { + content:'\f279' +} +.zmdi-star-circle:before { + content:'\f27a' +} +.zmdi-star-half:before { + content:'\f27b' +} +.zmdi-star-outline:before { + content:'\f27c' +} +.zmdi-star:before { + content:'\f27d' +} +.zmdi-bluetooth-connected:before { + content:'\f27e' +} +.zmdi-bluetooth-off:before { + content:'\f27f' +} +.zmdi-bluetooth-search:before { + content:'\f280' +} +.zmdi-bluetooth-setting:before { + content:'\f281' +} +.zmdi-bluetooth:before { + content:'\f282' +} +.zmdi-camera-add:before { + content:'\f283' +} +.zmdi-camera-alt:before { + content:'\f284' +} +.zmdi-camera-bw:before { + content:'\f285' +} +.zmdi-camera-front:before { + content:'\f286' +} +.zmdi-camera-mic:before { + content:'\f287' +} +.zmdi-camera-party-mode:before { + content:'\f288' +} +.zmdi-camera-rear:before { + content:'\f289' +} +.zmdi-camera-roll:before { + content:'\f28a' +} +.zmdi-camera-switch:before { + content:'\f28b' +} +.zmdi-camera:before { + content:'\f28c' +} +.zmdi-card-alert:before { + content:'\f28d' +} +.zmdi-card-off:before { + content:'\f28e' +} +.zmdi-card-sd:before { + content:'\f28f' +} +.zmdi-card-sim:before { + content:'\f290' +} +.zmdi-desktop-mac:before { + content:'\f291' +} +.zmdi-desktop-windows:before { + content:'\f292' +} +.zmdi-device-hub:before { + content:'\f293' +} +.zmdi-devices-off:before { + content:'\f294' +} +.zmdi-devices:before { + content:'\f295' +} +.zmdi-dock:before { + content:'\f296' +} +.zmdi-floppy:before { + content:'\f297' +} +.zmdi-gamepad:before { + content:'\f298' +} +.zmdi-gps-dot:before { + content:'\f299' +} +.zmdi-gps-off:before { + content:'\f29a' +} +.zmdi-gps:before { + content:'\f29b' +} +.zmdi-headset-mic:before { + content:'\f29c' +} +.zmdi-headset:before { + content:'\f29d' +} +.zmdi-input-antenna:before { + content:'\f29e' +} +.zmdi-input-composite:before { + content:'\f29f' +} +.zmdi-input-hdmi:before { + content:'\f2a0' +} +.zmdi-input-power:before { + content:'\f2a1' +} +.zmdi-input-svideo:before { + content:'\f2a2' +} +.zmdi-keyboard-hide:before { + content:'\f2a3' +} +.zmdi-keyboard:before { + content:'\f2a4' +} +.zmdi-laptop-chromebook:before { + content:'\f2a5' +} +.zmdi-laptop-mac:before { + content:'\f2a6' +} +.zmdi-laptop:before { + content:'\f2a7' +} +.zmdi-mic-off:before { + content:'\f2a8' +} +.zmdi-mic-outline:before { + content:'\f2a9' +} +.zmdi-mic-setting:before { + content:'\f2aa' +} +.zmdi-mic:before { + content:'\f2ab' +} +.zmdi-mouse:before { + content:'\f2ac' +} +.zmdi-network-alert:before { + content:'\f2ad' +} +.zmdi-network-locked:before { + content:'\f2ae' +} +.zmdi-network-off:before { + content:'\f2af' +} +.zmdi-network-outline:before { + content:'\f2b0' +} +.zmdi-network-setting:before { + content:'\f2b1' +} +.zmdi-network:before { + content:'\f2b2' +} +.zmdi-phone-bluetooth:before { + content:'\f2b3' +} +.zmdi-phone-end:before { + content:'\f2b4' +} +.zmdi-phone-forwarded:before { + content:'\f2b5' +} +.zmdi-phone-in-talk:before { + content:'\f2b6' +} +.zmdi-phone-locked:before { + content:'\f2b7' +} +.zmdi-phone-missed:before { + content:'\f2b8' +} +.zmdi-phone-msg:before { + content:'\f2b9' +} +.zmdi-phone-paused:before { + content:'\f2ba' +} +.zmdi-phone-ring:before { + content:'\f2bb' +} +.zmdi-phone-setting:before { + content:'\f2bc' +} +.zmdi-phone-sip:before { + content:'\f2bd' +} +.zmdi-phone:before { + content:'\f2be' +} +.zmdi-portable-wifi-changes:before { + content:'\f2bf' +} +.zmdi-portable-wifi-off:before { + content:'\f2c0' +} +.zmdi-portable-wifi:before { + content:'\f2c1' +} +.zmdi-radio:before { + content:'\f2c2' +} +.zmdi-reader:before { + content:'\f2c3' +} +.zmdi-remote-control-alt:before { + content:'\f2c4' +} +.zmdi-remote-control:before { + content:'\f2c5' +} +.zmdi-router:before { + content:'\f2c6' +} +.zmdi-scanner:before { + content:'\f2c7' +} +.zmdi-smartphone-android:before { + content:'\f2c8' +} +.zmdi-smartphone-download:before { + content:'\f2c9' +} +.zmdi-smartphone-erase:before { + content:'\f2ca' +} +.zmdi-smartphone-info:before { + content:'\f2cb' +} +.zmdi-smartphone-iphone:before { + content:'\f2cc' +} +.zmdi-smartphone-landscape-lock:before { + content:'\f2cd' +} +.zmdi-smartphone-landscape:before { + content:'\f2ce' +} +.zmdi-smartphone-lock:before { + content:'\f2cf' +} +.zmdi-smartphone-portrait-lock:before { + content:'\f2d0' +} +.zmdi-smartphone-ring:before { + content:'\f2d1' +} +.zmdi-smartphone-setting:before { + content:'\f2d2' +} +.zmdi-smartphone-setup:before { + content:'\f2d3' +} +.zmdi-smartphone:before { + content:'\f2d4' +} +.zmdi-speaker:before { + content:'\f2d5' +} +.zmdi-tablet-android:before { + content:'\f2d6' +} +.zmdi-tablet-mac:before { + content:'\f2d7' +} +.zmdi-tablet:before { + content:'\f2d8' +} +.zmdi-tv-alt-play:before { + content:'\f2d9' +} +.zmdi-tv-list:before { + content:'\f2da' +} +.zmdi-tv-play:before { + content:'\f2db' +} +.zmdi-tv:before { + content:'\f2dc' +} +.zmdi-usb:before { + content:'\f2dd' +} +.zmdi-videocam-off:before { + content:'\f2de' +} +.zmdi-videocam-switch:before { + content:'\f2df' +} +.zmdi-videocam:before { + content:'\f2e0' +} +.zmdi-watch:before { + content:'\f2e1' +} +.zmdi-wifi-alt-2:before { + content:'\f2e2' +} +.zmdi-wifi-alt:before { + content:'\f2e3' +} +.zmdi-wifi-info:before { + content:'\f2e4' +} +.zmdi-wifi-lock:before { + content:'\f2e5' +} +.zmdi-wifi-off:before { + content:'\f2e6' +} +.zmdi-wifi-outline:before { + content:'\f2e7' +} +.zmdi-wifi:before { + content:'\f2e8' +} +.zmdi-arrow-left-bottom:before { + content:'\f2e9' +} +.zmdi-arrow-left:before { + content:'\f2ea' +} +.zmdi-arrow-merge:before { + content:'\f2eb' +} +.zmdi-arrow-missed:before { + content:'\f2ec' +} +.zmdi-arrow-right-top:before { + content:'\f2ed' +} +.zmdi-arrow-right:before { + content:'\f2ee' +} +.zmdi-arrow-split:before { + content:'\f2ef' +} +.zmdi-arrows:before { + content:'\f2f0' +} +.zmdi-caret-down-circle:before { + content:'\f2f1' +} +.zmdi-caret-down:before { + content:'\f2f2' +} +.zmdi-caret-left-circle:before { + content:'\f2f3' +} +.zmdi-caret-left:before { + content:'\f2f4' +} +.zmdi-caret-right-circle:before { + content:'\f2f5' +} +.zmdi-caret-right:before { + content:'\f2f6' +} +.zmdi-caret-up-circle:before { + content:'\f2f7' +} +.zmdi-caret-up:before { + content:'\f2f8' +} +.zmdi-chevron-down:before { + content:'\f2f9' +} +.zmdi-chevron-left:before { + content:'\f2fa' +} +.zmdi-chevron-right:before { + content:'\f2fb' +} +.zmdi-chevron-up:before { + content:'\f2fc' +} +.zmdi-forward:before { + content:'\f2fd' +} +.zmdi-long-arrow-down:before { + content:'\f2fe' +} +.zmdi-long-arrow-left:before { + content:'\f2ff' +} +.zmdi-long-arrow-return:before { + content:'\f300' +} +.zmdi-long-arrow-right:before { + content:'\f301' +} +.zmdi-long-arrow-tab:before { + content:'\f302' +} +.zmdi-long-arrow-up:before { + content:'\f303' +} +.zmdi-rotate-ccw:before { + content:'\f304' +} +.zmdi-rotate-cw:before { + content:'\f305' +} +.zmdi-rotate-left:before { + content:'\f306' +} +.zmdi-rotate-right:before { + content:'\f307' +} +.zmdi-square-down:before { + content:'\f308' +} +.zmdi-square-right:before { + content:'\f309' +} +.zmdi-swap-alt:before { + content:'\f30a' +} +.zmdi-swap-vertical-circle:before { + content:'\f30b' +} +.zmdi-swap-vertical:before { + content:'\f30c' +} +.zmdi-swap:before { + content:'\f30d' +} +.zmdi-trending-down:before { + content:'\f30e' +} +.zmdi-trending-flat:before { + content:'\f30f' +} +.zmdi-trending-up:before { + content:'\f310' +} +.zmdi-unfold-less:before { + content:'\f311' +} +.zmdi-unfold-more:before { + content:'\f312' +} +.zmdi-apps:before { + content:'\f313' +} +.zmdi-grid-off:before { + content:'\f314' +} +.zmdi-grid:before { + content:'\f315' +} +.zmdi-view-agenda:before { + content:'\f316' +} +.zmdi-view-array:before { + content:'\f317' +} +.zmdi-view-carousel:before { + content:'\f318' +} +.zmdi-view-column:before { + content:'\f319' +} +.zmdi-view-comfy:before { + content:'\f31a' +} +.zmdi-view-compact:before { + content:'\f31b' +} +.zmdi-view-dashboard:before { + content:'\f31c' +} +.zmdi-view-day:before { + content:'\f31d' +} +.zmdi-view-headline:before { + content:'\f31e' +} +.zmdi-view-list-alt:before { + content:'\f31f' +} +.zmdi-view-list:before { + content:'\f320' +} +.zmdi-view-module:before { + content:'\f321' +} +.zmdi-view-quilt:before { + content:'\f322' +} +.zmdi-view-stream:before { + content:'\f323' +} +.zmdi-view-subtitles:before { + content:'\f324' +} +.zmdi-view-toc:before { + content:'\f325' +} +.zmdi-view-web:before { + content:'\f326' +} +.zmdi-view-week:before { + content:'\f327' +} +.zmdi-widgets:before { + content:'\f328' +} +.zmdi-alarm-check:before { + content:'\f329' +} +.zmdi-alarm-off:before { + content:'\f32a' +} +.zmdi-alarm-plus:before { + content:'\f32b' +} +.zmdi-alarm-snooze:before { + content:'\f32c' +} +.zmdi-alarm:before { + content:'\f32d' +} +.zmdi-calendar-alt:before { + content:'\f32e' +} +.zmdi-calendar-check:before { + content:'\f32f' +} +.zmdi-calendar-close:before { + content:'\f330' +} +.zmdi-calendar-note:before { + content:'\f331' +} +.zmdi-calendar:before { + content:'\f332' +} +.zmdi-time-countdown:before { + content:'\f333' +} +.zmdi-time-interval:before { + content:'\f334' +} +.zmdi-time-restore-setting:before { + content:'\f335' +} +.zmdi-time-restore:before { + content:'\f336' +} +.zmdi-time:before { + content:'\f337' +} +.zmdi-timer-off:before { + content:'\f338' +} +.zmdi-timer:before { + content:'\f339' +} +.zmdi-android-alt:before { + content:'\f33a' +} +.zmdi-android:before { + content:'\f33b' +} +.zmdi-apple:before { + content:'\f33c' +} +.zmdi-behance:before { + content:'\f33d' +} +.zmdi-codepen:before { + content:'\f33e' +} +.zmdi-dribbble:before { + content:'\f33f' +} +.zmdi-dropbox:before { + content:'\f340' +} +.zmdi-evernote:before { + content:'\f341' +} +.zmdi-facebook-box:before { + content:'\f342' +} +.zmdi-facebook:before { + content:'\f343' +} +.zmdi-github-box:before { + content:'\f344' +} +.zmdi-github:before { + content:'\f345' +} +.zmdi-google-drive:before { + content:'\f346' +} +.zmdi-google-earth:before { + content:'\f347' +} +.zmdi-google-glass:before { + content:'\f348' +} +.zmdi-google-maps:before { + content:'\f349' +} +.zmdi-google-pages:before { + content:'\f34a' +} +.zmdi-google-play:before { + content:'\f34b' +} +.zmdi-google-plus-box:before { + content:'\f34c' +} +.zmdi-google-plus:before { + content:'\f34d' +} +.zmdi-google:before { + content:'\f34e' +} +.zmdi-instagram:before { + content:'\f34f' +} +.zmdi-language-css3:before { + content:'\f350' +} +.zmdi-language-html5:before { + content:'\f351' +} +.zmdi-language-javascript:before { + content:'\f352' +} +.zmdi-language-python-alt:before { + content:'\f353' +} +.zmdi-language-python:before { + content:'\f354' +} +.zmdi-lastfm:before { + content:'\f355' +} +.zmdi-linkedin-box:before { + content:'\f356' +} +.zmdi-paypal:before { + content:'\f357' +} +.zmdi-pinterest-box:before { + content:'\f358' +} +.zmdi-pocket:before { + content:'\f359' +} +.zmdi-polymer:before { + content:'\f35a' +} +.zmdi-share:before { + content:'\f35b' +} +.zmdi-stackoverflow:before { + content:'\f35c' +} +.zmdi-steam-square:before { + content:'\f35d' +} +.zmdi-steam:before { + content:'\f35e' +} +.zmdi-twitter-box:before { + content:'\f35f' +} +.zmdi-twitter:before { + content:'\f360' +} +.zmdi-vk:before { + content:'\f361' +} +.zmdi-wikipedia:before { + content:'\f362' +} +.zmdi-windows:before { + content:'\f363' +} +.zmdi-aspect-ratio-alt:before { + content:'\f364' +} +.zmdi-aspect-ratio:before { + content:'\f365' +} +.zmdi-blur-circular:before { + content:'\f366' +} +.zmdi-blur-linear:before { + content:'\f367' +} +.zmdi-blur-off:before { + content:'\f368' +} +.zmdi-blur:before { + content:'\f369' +} +.zmdi-brightness-2:before { + content:'\f36a' +} +.zmdi-brightness-3:before { + content:'\f36b' +} +.zmdi-brightness-4:before { + content:'\f36c' +} +.zmdi-brightness-5:before { + content:'\f36d' +} +.zmdi-brightness-6:before { + content:'\f36e' +} +.zmdi-brightness-7:before { + content:'\f36f' +} +.zmdi-brightness-auto:before { + content:'\f370' +} +.zmdi-brightness-setting:before { + content:'\f371' +} +.zmdi-broken-image:before { + content:'\f372' +} +.zmdi-center-focus-strong:before { + content:'\f373' +} +.zmdi-center-focus-weak:before { + content:'\f374' +} +.zmdi-compare:before { + content:'\f375' +} +.zmdi-crop-16-9:before { + content:'\f376' +} +.zmdi-crop-3-2:before { + content:'\f377' +} +.zmdi-crop-5-4:before { + content:'\f378' +} +.zmdi-crop-7-5:before { + content:'\f379' +} +.zmdi-crop-din:before { + content:'\f37a' +} +.zmdi-crop-free:before { + content:'\f37b' +} +.zmdi-crop-landscape:before { + content:'\f37c' +} +.zmdi-crop-portrait:before { + content:'\f37d' +} +.zmdi-crop-square:before { + content:'\f37e' +} +.zmdi-exposure-alt:before { + content:'\f37f' +} +.zmdi-exposure:before { + content:'\f380' +} +.zmdi-filter-b-and-w:before { + content:'\f381' +} +.zmdi-filter-center-focus:before { + content:'\f382' +} +.zmdi-filter-frames:before { + content:'\f383' +} +.zmdi-filter-tilt-shift:before { + content:'\f384' +} +.zmdi-gradient:before { + content:'\f385' +} +.zmdi-grain:before { + content:'\f386' +} +.zmdi-graphic-eq:before { + content:'\f387' +} +.zmdi-hdr-off:before { + content:'\f388' +} +.zmdi-hdr-strong:before { + content:'\f389' +} +.zmdi-hdr-weak:before { + content:'\f38a' +} +.zmdi-hdr:before { + content:'\f38b' +} +.zmdi-iridescent:before { + content:'\f38c' +} +.zmdi-leak-off:before { + content:'\f38d' +} +.zmdi-leak:before { + content:'\f38e' +} +.zmdi-looks:before { + content:'\f38f' +} +.zmdi-loupe:before { + content:'\f390' +} +.zmdi-panorama-horizontal:before { + content:'\f391' +} +.zmdi-panorama-vertical:before { + content:'\f392' +} +.zmdi-panorama-wide-angle:before { + content:'\f393' +} +.zmdi-photo-size-select-large:before { + content:'\f394' +} +.zmdi-photo-size-select-small:before { + content:'\f395' +} +.zmdi-picture-in-picture:before { + content:'\f396' +} +.zmdi-slideshow:before { + content:'\f397' +} +.zmdi-texture:before { + content:'\f398' +} +.zmdi-tonality:before { + content:'\f399' +} +.zmdi-vignette:before { + content:'\f39a' +} +.zmdi-wb-auto:before { + content:'\f39b' +} +.zmdi-eject-alt:before { + content:'\f39c' +} +.zmdi-eject:before { + content:'\f39d' +} +.zmdi-equalizer:before { + content:'\f39e' +} +.zmdi-fast-forward:before { + content:'\f39f' +} +.zmdi-fast-rewind:before { + content:'\f3a0' +} +.zmdi-forward-10:before { + content:'\f3a1' +} +.zmdi-forward-30:before { + content:'\f3a2' +} +.zmdi-forward-5:before { + content:'\f3a3' +} +.zmdi-hearing:before { + content:'\f3a4' +} +.zmdi-pause-circle-outline:before { + content:'\f3a5' +} +.zmdi-pause-circle:before { + content:'\f3a6' +} +.zmdi-pause:before { + content:'\f3a7' +} +.zmdi-play-circle-outline:before { + content:'\f3a8' +} +.zmdi-play-circle:before { + content:'\f3a9' +} +.zmdi-play:before { + content:'\f3aa' +} +.zmdi-playlist-audio:before { + content:'\f3ab' +} +.zmdi-playlist-plus:before { + content:'\f3ac' +} +.zmdi-repeat-one:before { + content:'\f3ad' +} +.zmdi-repeat:before { + content:'\f3ae' +} +.zmdi-replay-10:before { + content:'\f3af' +} +.zmdi-replay-30:before { + content:'\f3b0' +} +.zmdi-replay-5:before { + content:'\f3b1' +} +.zmdi-replay:before { + content:'\f3b2' +} +.zmdi-shuffle:before { + content:'\f3b3' +} +.zmdi-skip-next:before { + content:'\f3b4' +} +.zmdi-skip-previous:before { + content:'\f3b5' +} +.zmdi-stop:before { + content:'\f3b6' +} +.zmdi-surround-sound:before { + content:'\f3b7' +} +.zmdi-tune:before { + content:'\f3b8' +} +.zmdi-volume-down:before { + content:'\f3b9' +} +.zmdi-volume-mute:before { + content:'\f3ba' +} +.zmdi-volume-off:before { + content:'\f3bb' +} +.zmdi-volume-up:before { + content:'\f3bc' +} +.zmdi-n-1-square:before { + content:'\f3bd' +} +.zmdi-n-2-square:before { + content:'\f3be' +} +.zmdi-n-3-square:before { + content:'\f3bf' +} +.zmdi-n-4-square:before { + content:'\f3c0' +} +.zmdi-n-5-square:before { + content:'\f3c1' +} +.zmdi-n-6-square:before { + content:'\f3c2' +} +.zmdi-neg-1:before { + content:'\f3c3' +} +.zmdi-neg-2:before { + content:'\f3c4' +} +.zmdi-plus-1:before { + content:'\f3c5' +} +.zmdi-plus-2:before { + content:'\f3c6' +} +.zmdi-sec-10:before { + content:'\f3c7' +} +.zmdi-sec-3:before { + content:'\f3c8' +} +.zmdi-zero:before { + content:'\f3c9' +} +.zmdi-airline-seat-flat-angled:before { + content:'\f3ca' +} +.zmdi-airline-seat-flat:before { + content:'\f3cb' +} +.zmdi-airline-seat-individual-suite:before { + content:'\f3cc' +} +.zmdi-airline-seat-legroom-extra:before { + content:'\f3cd' +} +.zmdi-airline-seat-legroom-normal:before { + content:'\f3ce' +} +.zmdi-airline-seat-legroom-reduced:before { + content:'\f3cf' +} +.zmdi-airline-seat-recline-extra:before { + content:'\f3d0' +} +.zmdi-airline-seat-recline-normal:before { + content:'\f3d1' +} +.zmdi-airplay:before { + content:'\f3d2' +} +.zmdi-closed-caption:before { + content:'\f3d3' +} +.zmdi-confirmation-number:before { + content:'\f3d4' +} +.zmdi-developer-board:before { + content:'\f3d5' +} +.zmdi-disc-full:before { + content:'\f3d6' +} +.zmdi-explicit:before { + content:'\f3d7' +} +.zmdi-flight-land:before { + content:'\f3d8' +} +.zmdi-flight-takeoff:before { + content:'\f3d9' +} +.zmdi-flip-to-back:before { + content:'\f3da' +} +.zmdi-flip-to-front:before { + content:'\f3db' +} +.zmdi-group-work:before { + content:'\f3dc' +} +.zmdi-hd:before { + content:'\f3dd' +} +.zmdi-hq:before { + content:'\f3de' +} +.zmdi-markunread-mailbox:before { + content:'\f3df' +} +.zmdi-memory:before { + content:'\f3e0' +} +.zmdi-nfc:before { + content:'\f3e1' +} +.zmdi-play-for-work:before { + content:'\f3e2' +} +.zmdi-power-input:before { + content:'\f3e3' +} +.zmdi-present-to-all:before { + content:'\f3e4' +} +.zmdi-satellite:before { + content:'\f3e5' +} +.zmdi-tap-and-play:before { + content:'\f3e6' +} +.zmdi-vibration:before { + content:'\f3e7' +} +.zmdi-voicemail:before { + content:'\f3e8' +} +.zmdi-group:before { + content:'\f3e9' +} +.zmdi-rss:before { + content:'\f3ea' +} +.zmdi-shape:before { + content:'\f3eb' +} +.zmdi-spinner:before { + content:'\f3ec' +} +.zmdi-ungroup:before { + content:'\f3ed' +} +.zmdi-500px:before { + content:'\f3ee' +} +.zmdi-8tracks:before { + content:'\f3ef' +} +.zmdi-amazon:before { + content:'\f3f0' +} +.zmdi-blogger:before { + content:'\f3f1' +} +.zmdi-delicious:before { + content:'\f3f2' +} +.zmdi-disqus:before { + content:'\f3f3' +} +.zmdi-flattr:before { + content:'\f3f4' +} +.zmdi-flickr:before { + content:'\f3f5' +} +.zmdi-github-alt:before { + content:'\f3f6' +} +.zmdi-google-old:before { + content:'\f3f7' +} +.zmdi-linkedin:before { + content:'\f3f8' +} +.zmdi-odnoklassniki:before { + content:'\f3f9' +} +.zmdi-outlook:before { + content:'\f3fa' +} +.zmdi-paypal-alt:before { + content:'\f3fb' +} +.zmdi-pinterest:before { + content:'\f3fc' +} +.zmdi-playstation:before { + content:'\f3fd' +} +.zmdi-reddit:before { + content:'\f3fe' +} +.zmdi-skype:before { + content:'\f3ff' +} +.zmdi-slideshare:before { + content:'\f400' +} +.zmdi-soundcloud:before { + content:'\f401' +} +.zmdi-tumblr:before { + content:'\f402' +} +.zmdi-twitch:before { + content:'\f403' +} +.zmdi-vimeo:before { + content:'\f404' +} +.zmdi-whatsapp:before { + content:'\f405' +} +.zmdi-xbox:before { + content:'\f406' +} +.zmdi-yahoo:before { + content:'\f407' +} +.zmdi-youtube-play:before { + content:'\f408' +} +.zmdi-youtube:before { + content:'\f409' +} +.zmdi-3d-rotation:before { + content:'\f101' +} +.zmdi-airplane-off:before { + content:'\f102' +} +.zmdi-airplane:before { + content:'\f103' +} +.zmdi-album:before { + content:'\f104' +} +.zmdi-archive:before { + content:'\f105' +} +.zmdi-assignment-account:before { + content:'\f106' +} +.zmdi-assignment-alert:before { + content:'\f107' +} +.zmdi-assignment-check:before { + content:'\f108' +} +.zmdi-assignment-o:before { + content:'\f109' +} +.zmdi-assignment-return:before { + content:'\f10a' +} +.zmdi-assignment-returned:before { + content:'\f10b' +} +.zmdi-assignment:before { + content:'\f10c' +} +.zmdi-attachment-alt:before { + content:'\f10d' +} +.zmdi-attachment:before { + content:'\f10e' +} +.zmdi-audio:before { + content:'\f10f' +} +.zmdi-badge-check:before { + content:'\f110' +} +.zmdi-balance-wallet:before { + content:'\f111' +} +.zmdi-balance:before { + content:'\f112' +} +.zmdi-battery-alert:before { + content:'\f113' +} +.zmdi-battery-flash:before { + content:'\f114' +} +.zmdi-battery-unknown:before { + content:'\f115' +} +.zmdi-battery:before { + content:'\f116' +} +.zmdi-bike:before { + content:'\f117' +} +.zmdi-block-alt:before { + content:'\f118' +} +.zmdi-block:before { + content:'\f119' +} +.zmdi-boat:before { + content:'\f11a' +} +.zmdi-book-image:before { + content:'\f11b' +} +.zmdi-book:before { + content:'\f11c' +} +.zmdi-bookmark-outline:before { + content:'\f11d' +} +.zmdi-bookmark:before { + content:'\f11e' +} +.zmdi-brush:before { + content:'\f11f' +} +.zmdi-bug:before { + content:'\f120' +} +.zmdi-bus:before { + content:'\f121' +} +.zmdi-cake:before { + content:'\f122' +} +.zmdi-car-taxi:before { + content:'\f123' +} +.zmdi-car-wash:before { + content:'\f124' +} +.zmdi-car:before { + content:'\f125' +} +.zmdi-card-giftcard:before { + content:'\f126' +} +.zmdi-card-membership:before { + content:'\f127' +} +.zmdi-card-travel:before { + content:'\f128' +} +.zmdi-card:before { + content:'\f129' +} +.zmdi-case-check:before { + content:'\f12a' +} +.zmdi-case-download:before { + content:'\f12b' +} +.zmdi-case-play:before { + content:'\f12c' +} +.zmdi-case:before { + content:'\f12d' +} +.zmdi-cast-connected:before { + content:'\f12e' +} +.zmdi-cast:before { + content:'\f12f' +} +.zmdi-chart-donut:before { + content:'\f130' +} +.zmdi-chart:before { + content:'\f131' +} +.zmdi-city-alt:before { + content:'\f132' +} +.zmdi-city:before { + content:'\f133' +} +.zmdi-close-circle-o:before { + content:'\f134' +} +.zmdi-close-circle:before { + content:'\f135' +} +.zmdi-close:before { + content:'\f136' +} +.zmdi-cocktail:before { + content:'\f137' +} +.zmdi-code-setting:before { + content:'\f138' +} +.zmdi-code-smartphone:before { + content:'\f139' +} +.zmdi-code:before { + content:'\f13a' +} +.zmdi-coffee:before { + content:'\f13b' +} +.zmdi-collection-bookmark:before { + content:'\f13c' +} +.zmdi-collection-case-play:before { + content:'\f13d' +} +.zmdi-collection-folder-image:before { + content:'\f13e' +} +.zmdi-collection-image-o:before { + content:'\f13f' +} +.zmdi-collection-image:before { + content:'\f140' +} +.zmdi-collection-item-1:before { + content:'\f141' +} +.zmdi-collection-item-2:before { + content:'\f142' +} +.zmdi-collection-item-3:before { + content:'\f143' +} +.zmdi-collection-item-4:before { + content:'\f144' +} +.zmdi-collection-item-5:before { + content:'\f145' +} +.zmdi-collection-item-6:before { + content:'\f146' +} +.zmdi-collection-item-7:before { + content:'\f147' +} +.zmdi-collection-item-8:before { + content:'\f148' +} +.zmdi-collection-item-9-plus:before { + content:'\f149' +} +.zmdi-collection-item-9:before { + content:'\f14a' +} +.zmdi-collection-item:before { + content:'\f14b' +} +.zmdi-collection-music:before { + content:'\f14c' +} +.zmdi-collection-pdf:before { + content:'\f14d' +} +.zmdi-collection-plus:before { + content:'\f14e' +} +.zmdi-collection-speaker:before { + content:'\f14f' +} +.zmdi-collection-text:before { + content:'\f150' +} +.zmdi-collection-video:before { + content:'\f151' +} +.zmdi-compass:before { + content:'\f152' +} +.zmdi-cutlery:before { + content:'\f153' +} +.zmdi-delete:before { + content:'\f154' +} +.zmdi-dialpad:before { + content:'\f155' +} +.zmdi-dns:before { + content:'\f156' +} +.zmdi-drink:before { + content:'\f157' +} +.zmdi-edit:before { + content:'\f158' +} +.zmdi-email-open:before { + content:'\f159' +} +.zmdi-email:before { + content:'\f15a' +} +.zmdi-eye-off:before { + content:'\f15b' +} +.zmdi-eye:before { + content:'\f15c' +} +.zmdi-eyedropper:before { + content:'\f15d' +} +.zmdi-favorite-outline:before { + content:'\f15e' +} +.zmdi-favorite:before { + content:'\f15f' +} +.zmdi-filter-list:before { + content:'\f160' +} +.zmdi-fire:before { + content:'\f161' +} +.zmdi-flag:before { + content:'\f162' +} +.zmdi-flare:before { + content:'\f163' +} +.zmdi-flash-auto:before { + content:'\f164' +} +.zmdi-flash-off:before { + content:'\f165' +} +.zmdi-flash:before { + content:'\f166' +} +.zmdi-flip:before { + content:'\f167' +} +.zmdi-flower-alt:before { + content:'\f168' +} +.zmdi-flower:before { + content:'\f169' +} +.zmdi-font:before { + content:'\f16a' +} +.zmdi-fullscreen-alt:before { + content:'\f16b' +} +.zmdi-fullscreen-exit:before { + content:'\f16c' +} +.zmdi-fullscreen:before { + content:'\f16d' +} +.zmdi-functions:before { + content:'\f16e' +} +.zmdi-gas-station:before { + content:'\f16f' +} +.zmdi-gesture:before { + content:'\f170' +} +.zmdi-globe-alt:before { + content:'\f171' +} +.zmdi-globe-lock:before { + content:'\f172' +} +.zmdi-globe:before { + content:'\f173' +} +.zmdi-graduation-cap:before { + content:'\f174' +} +.zmdi-home:before { + content:'\f175' +} +.zmdi-hospital-alt:before { + content:'\f176' +} +.zmdi-hospital:before { + content:'\f177' +} +.zmdi-hotel:before { + content:'\f178' +} +.zmdi-hourglass-alt:before { + content:'\f179' +} +.zmdi-hourglass-outline:before { + content:'\f17a' +} +.zmdi-hourglass:before { + content:'\f17b' +} +.zmdi-http:before { + content:'\f17c' +} +.zmdi-image-alt:before { + content:'\f17d' +} +.zmdi-image-o:before { + content:'\f17e' +} +.zmdi-image:before { + content:'\f17f' +} +.zmdi-inbox:before { + content:'\f180' +} +.zmdi-invert-colors-off:before { + content:'\f181' +} +.zmdi-invert-colors:before { + content:'\f182' +} +.zmdi-key:before { + content:'\f183' +} +.zmdi-label-alt-outline:before { + content:'\f184' +} +.zmdi-label-alt:before { + content:'\f185' +} +.zmdi-label-heart:before { + content:'\f186' +} +.zmdi-label:before { + content:'\f187' +} +.zmdi-labels:before { + content:'\f188' +} +.zmdi-lamp:before { + content:'\f189' +} +.zmdi-landscape:before { + content:'\f18a' +} +.zmdi-layers-off:before { + content:'\f18b' +} +.zmdi-layers:before { + content:'\f18c' +} +.zmdi-library:before { + content:'\f18d' +} +.zmdi-link:before { + content:'\f18e' +} +.zmdi-lock-open:before { + content:'\f18f' +} +.zmdi-lock-outline:before { + content:'\f190' +} +.zmdi-lock:before { + content:'\f191' +} +.zmdi-mail-reply-all:before { + content:'\f192' +} +.zmdi-mail-reply:before { + content:'\f193' +} +.zmdi-mail-send:before { + content:'\f194' +} +.zmdi-mall:before { + content:'\f195' +} +.zmdi-map:before { + content:'\f196' +} +.zmdi-menu:before { + content:'\f197' +} +.zmdi-money-box:before { + content:'\f198' +} +.zmdi-money-off:before { + content:'\f199' +} +.zmdi-money:before { + content:'\f19a' +} +.zmdi-more-vert:before { + content:'\f19b' +} +.zmdi-more:before { + content:'\f19c' +} +.zmdi-movie-alt:before { + content:'\f19d' +} +.zmdi-movie:before { + content:'\f19e' +} +.zmdi-nature-people:before { + content:'\f19f' +} +.zmdi-nature:before { + content:'\f1a0' +} +.zmdi-navigation:before { + content:'\f1a1' +} +.zmdi-open-in-browser:before { + content:'\f1a2' +} +.zmdi-open-in-new:before { + content:'\f1a3' +} +.zmdi-palette:before { + content:'\f1a4' +} +.zmdi-parking:before { + content:'\f1a5' +} +.zmdi-pin-account:before { + content:'\f1a6' +} +.zmdi-pin-assistant:before { + content:'\f1a7' +} +.zmdi-pin-drop:before { + content:'\f1a8' +} +.zmdi-pin-help:before { + content:'\f1a9' +} +.zmdi-pin-off:before { + content:'\f1aa' +} +.zmdi-pin:before { + content:'\f1ab' +} +.zmdi-pizza:before { + content:'\f1ac' +} +.zmdi-plaster:before { + content:'\f1ad' +} +.zmdi-power-setting:before { + content:'\f1ae' +} +.zmdi-power:before { + content:'\f1af' +} +.zmdi-print:before { + content:'\f1b0' +} +.zmdi-puzzle-piece:before { + content:'\f1b1' +} +.zmdi-quote:before { + content:'\f1b2' +} +.zmdi-railway:before { + content:'\f1b3' +} +.zmdi-receipt:before { + content:'\f1b4' +} +.zmdi-refresh-alt:before { + content:'\f1b5' +} +.zmdi-refresh-sync-alert:before { + content:'\f1b6' +} +.zmdi-refresh-sync-off:before { + content:'\f1b7' +} +.zmdi-refresh-sync:before { + content:'\f1b8' +} +.zmdi-refresh:before { + content:'\f1b9' +} +.zmdi-roller:before { + content:'\f1ba' +} +.zmdi-ruler:before { + content:'\f1bb' +} +.zmdi-scissors:before { + content:'\f1bc' +} +.zmdi-screen-rotation-lock:before { + content:'\f1bd' +} +.zmdi-screen-rotation:before { + content:'\f1be' +} +.zmdi-search-for:before { + content:'\f1bf' +} +.zmdi-search-in-file:before { + content:'\f1c0' +} +.zmdi-search-in-page:before { + content:'\f1c1' +} +.zmdi-search-replace:before { + content:'\f1c2' +} +.zmdi-search:before { + content:'\f1c3' +} +.zmdi-seat:before { + content:'\f1c4' +} +.zmdi-settings-square:before { + content:'\f1c5' +} +.zmdi-settings:before { + content:'\f1c6' +} +.zmdi-shield-check:before { + content:'\f1c7' +} +.zmdi-shield-security:before { + content:'\f1c8' +} +.zmdi-shopping-basket:before { + content:'\f1c9' +} +.zmdi-shopping-cart-plus:before { + content:'\f1ca' +} +.zmdi-shopping-cart:before { + content:'\f1cb' +} +.zmdi-sign-in:before { + content:'\f1cc' +} +.zmdi-sort-amount-asc:before { + content:'\f1cd' +} +.zmdi-sort-amount-desc:before { + content:'\f1ce' +} +.zmdi-sort-asc:before { + content:'\f1cf' +} +.zmdi-sort-desc:before { + content:'\f1d0' +} +.zmdi-spellcheck:before { + content:'\f1d1' +} +.zmdi-storage:before { + content:'\f1d2' +} +.zmdi-store-24:before { + content:'\f1d3' +} +.zmdi-store:before { + content:'\f1d4' +} +.zmdi-subway:before { + content:'\f1d5' +} +.zmdi-sun:before { + content:'\f1d6' +} +.zmdi-tab-unselected:before { + content:'\f1d7' +} +.zmdi-tab:before { + content:'\f1d8' +} +.zmdi-tag-close:before { + content:'\f1d9' +} +.zmdi-tag-more:before { + content:'\f1da' +} +.zmdi-tag:before { + content:'\f1db' +} +.zmdi-thumb-down:before { + content:'\f1dc' +} +.zmdi-thumb-up-down:before { + content:'\f1dd' +} +.zmdi-thumb-up:before { + content:'\f1de' +} +.zmdi-ticket-star:before { + content:'\f1df' +} +.zmdi-toll:before { + content:'\f1e0' +} +.zmdi-toys:before { + content:'\f1e1' +} +.zmdi-traffic:before { + content:'\f1e2' +} +.zmdi-translate:before { + content:'\f1e3' +} +.zmdi-triangle-down:before { + content:'\f1e4' +} +.zmdi-triangle-up:before { + content:'\f1e5' +} +.zmdi-truck:before { + content:'\f1e6' +} +.zmdi-turning-sign:before { + content:'\f1e7' +} +.zmdi-wallpaper:before { + content:'\f1e8' +} +.zmdi-washing-machine:before { + content:'\f1e9' +} +.zmdi-window-maximize:before { + content:'\f1ea' +} +.zmdi-window-minimize:before { + content:'\f1eb' +} +.zmdi-window-restore:before { + content:'\f1ec' +} +.zmdi-wrench:before { + content:'\f1ed' +} +.zmdi-zoom-in:before { + content:'\f1ee' +} +.zmdi-zoom-out:before { + content:'\f1ef' +} +.zmdi-alert-circle-o:before { + content:'\f1f0' +} +.zmdi-alert-circle:before { + content:'\f1f1' +} +.zmdi-alert-octagon:before { + content:'\f1f2' +} +.zmdi-alert-polygon:before { + content:'\f1f3' +} +.zmdi-alert-triangle:before { + content:'\f1f4' +} +.zmdi-help-outline:before { + content:'\f1f5' +} +.zmdi-help:before { + content:'\f1f6' +} +.zmdi-info-outline:before { + content:'\f1f7' +} +.zmdi-info:before { + content:'\f1f8' +} +.zmdi-notifications-active:before { + content:'\f1f9' +} +.zmdi-notifications-add:before { + content:'\f1fa' +} +.zmdi-notifications-none:before { + content:'\f1fb' +} +.zmdi-notifications-off:before { + content:'\f1fc' +} +.zmdi-notifications-paused:before { + content:'\f1fd' +} +.zmdi-notifications:before { + content:'\f1fe' +} +.zmdi-account-add:before { + content:'\f1ff' +} +.zmdi-account-box-mail:before { + content:'\f200' +} +.zmdi-account-box-o:before { + content:'\f201' +} +.zmdi-account-box-phone:before { + content:'\f202' +} +.zmdi-account-box:before { + content:'\f203' +} +.zmdi-account-calendar:before { + content:'\f204' +} +.zmdi-account-circle:before { + content:'\f205' +} +.zmdi-account-o:before { + content:'\f206' +} +.zmdi-account:before { + content:'\f207' +} +.zmdi-accounts-add:before { + content:'\f208' +} +.zmdi-accounts-alt:before { + content:'\f209' +} +.zmdi-accounts-list-alt:before { + content:'\f20a' +} +.zmdi-accounts-list:before { + content:'\f20b' +} +.zmdi-accounts-outline:before { + content:'\f20c' +} +.zmdi-accounts:before { + content:'\f20d' +} +.zmdi-face:before { + content:'\f20e' +} +.zmdi-female:before { + content:'\f20f' +} +.zmdi-male-alt:before { + content:'\f210' +} +.zmdi-male-female:before { + content:'\f211' +} +.zmdi-male:before { + content:'\f212' +} +.zmdi-mood-bad:before { + content:'\f213' +} +.zmdi-mood:before { + content:'\f214' +} +.zmdi-run:before { + content:'\f215' +} +.zmdi-walk:before { + content:'\f216' +} +.zmdi-cloud-box:before { + content:'\f217' +} +.zmdi-cloud-circle:before { + content:'\f218' +} +.zmdi-cloud-done:before { + content:'\f219' +} +.zmdi-cloud-download:before { + content:'\f21a' +} +.zmdi-cloud-off:before { + content:'\f21b' +} +.zmdi-cloud-outline-alt:before { + content:'\f21c' +} +.zmdi-cloud-outline:before { + content:'\f21d' +} +.zmdi-cloud-upload:before { + content:'\f21e' +} +.zmdi-cloud:before { + content:'\f21f' +} +.zmdi-download:before { + content:'\f220' +} +.zmdi-file-plus:before { + content:'\f221' +} +.zmdi-file-text:before { + content:'\f222' +} +.zmdi-file:before { + content:'\f223' +} +.zmdi-folder-outline:before { + content:'\f224' +} +.zmdi-folder-person:before { + content:'\f225' +} +.zmdi-folder-star-alt:before { + content:'\f226' +} +.zmdi-folder-star:before { + content:'\f227' +} +.zmdi-folder:before { + content:'\f228' +} +.zmdi-gif:before { + content:'\f229' +} +.zmdi-upload:before { + content:'\f22a' +} +.zmdi-border-all:before { + content:'\f22b' +} +.zmdi-border-bottom:before { + content:'\f22c' +} +.zmdi-border-clear:before { + content:'\f22d' +} +.zmdi-border-color:before { + content:'\f22e' +} +.zmdi-border-horizontal:before { + content:'\f22f' +} +.zmdi-border-inner:before { + content:'\f230' +} +.zmdi-border-left:before { + content:'\f231' +} +.zmdi-border-outer:before { + content:'\f232' +} +.zmdi-border-right:before { + content:'\f233' +} +.zmdi-border-style:before { + content:'\f234' +} +.zmdi-border-top:before { + content:'\f235' +} +.zmdi-border-vertical:before { + content:'\f236' +} +.zmdi-copy:before { + content:'\f237' +} +.zmdi-crop:before { + content:'\f238' +} +.zmdi-format-align-center:before { + content:'\f239' +} +.zmdi-format-align-justify:before { + content:'\f23a' +} +.zmdi-format-align-left:before { + content:'\f23b' +} +.zmdi-format-align-right:before { + content:'\f23c' +} +.zmdi-format-bold:before { + content:'\f23d' +} +.zmdi-format-clear-all:before { + content:'\f23e' +} +.zmdi-format-clear:before { + content:'\f23f' +} +.zmdi-format-color-fill:before { + content:'\f240' +} +.zmdi-format-color-reset:before { + content:'\f241' +} +.zmdi-format-color-text:before { + content:'\f242' +} +.zmdi-format-indent-decrease:before { + content:'\f243' +} +.zmdi-format-indent-increase:before { + content:'\f244' +} +.zmdi-format-italic:before { + content:'\f245' +} +.zmdi-format-line-spacing:before { + content:'\f246' +} +.zmdi-format-list-bulleted:before { + content:'\f247' +} +.zmdi-format-list-numbered:before { + content:'\f248' +} +.zmdi-format-ltr:before { + content:'\f249' +} +.zmdi-format-rtl:before { + content:'\f24a' +} +.zmdi-format-size:before { + content:'\f24b' +} +.zmdi-format-strikethrough-s:before { + content:'\f24c' +} +.zmdi-format-strikethrough:before { + content:'\f24d' +} +.zmdi-format-subject:before { + content:'\f24e' +} +.zmdi-format-underlined:before { + content:'\f24f' +} +.zmdi-format-valign-bottom:before { + content:'\f250' +} +.zmdi-format-valign-center:before { + content:'\f251' +} +.zmdi-format-valign-top:before { + content:'\f252' +} +.zmdi-redo:before { + content:'\f253' +} +.zmdi-select-all:before { + content:'\f254' +} +.zmdi-space-bar:before { + content:'\f255' +} +.zmdi-text-format:before { + content:'\f256' +} +.zmdi-transform:before { + content:'\f257' +} +.zmdi-undo:before { + content:'\f258' +} +.zmdi-wrap-text:before { + content:'\f259' +} +.zmdi-comment-alert:before { + content:'\f25a' +} +.zmdi-comment-alt-text:before { + content:'\f25b' +} +.zmdi-comment-alt:before { + content:'\f25c' +} +.zmdi-comment-edit:before { + content:'\f25d' +} +.zmdi-comment-image:before { + content:'\f25e' +} +.zmdi-comment-list:before { + content:'\f25f' +} +.zmdi-comment-more:before { + content:'\f260' +} +.zmdi-comment-outline:before { + content:'\f261' +} +.zmdi-comment-text-alt:before { + content:'\f262' +} +.zmdi-comment-text:before { + content:'\f263' +} +.zmdi-comment-video:before { + content:'\f264' +} +.zmdi-comment:before { + content:'\f265' +} +.zmdi-comments:before { + content:'\f266' +} +.zmdi-check-all:before { + content:'\f267' +} +.zmdi-check-circle-u:before { + content:'\f268' +} +.zmdi-check-circle:before { + content:'\f269' +} +.zmdi-check-square:before { + content:'\f26a' +} +.zmdi-check:before { + content:'\f26b' +} +.zmdi-circle-o:before { + content:'\f26c' +} +.zmdi-circle:before { + content:'\f26d' +} +.zmdi-dot-circle-alt:before { + content:'\f26e' +} +.zmdi-dot-circle:before { + content:'\f26f' +} +.zmdi-minus-circle-outline:before { + content:'\f270' +} +.zmdi-minus-circle:before { + content:'\f271' +} +.zmdi-minus-square:before { + content:'\f272' +} +.zmdi-minus:before { + content:'\f273' +} +.zmdi-plus-circle-o-duplicate:before { + content:'\f274' +} +.zmdi-plus-circle-o:before { + content:'\f275' +} +.zmdi-plus-circle:before { + content:'\f276' +} +.zmdi-plus-square:before { + content:'\f277' +} +.zmdi-plus:before { + content:'\f278' +} +.zmdi-square-o:before { + content:'\f279' +} +.zmdi-star-circle:before { + content:'\f27a' +} +.zmdi-star-half:before { + content:'\f27b' +} +.zmdi-star-outline:before { + content:'\f27c' +} +.zmdi-star:before { + content:'\f27d' +} +.zmdi-bluetooth-connected:before { + content:'\f27e' +} +.zmdi-bluetooth-off:before { + content:'\f27f' +} +.zmdi-bluetooth-search:before { + content:'\f280' +} +.zmdi-bluetooth-setting:before { + content:'\f281' +} +.zmdi-bluetooth:before { + content:'\f282' +} +.zmdi-camera-add:before { + content:'\f283' +} +.zmdi-camera-alt:before { + content:'\f284' +} +.zmdi-camera-bw:before { + content:'\f285' +} +.zmdi-camera-front:before { + content:'\f286' +} +.zmdi-camera-mic:before { + content:'\f287' +} +.zmdi-camera-party-mode:before { + content:'\f288' +} +.zmdi-camera-rear:before { + content:'\f289' +} +.zmdi-camera-roll:before { + content:'\f28a' +} +.zmdi-camera-switch:before { + content:'\f28b' +} +.zmdi-camera:before { + content:'\f28c' +} +.zmdi-card-alert:before { + content:'\f28d' +} +.zmdi-card-off:before { + content:'\f28e' +} +.zmdi-card-sd:before { + content:'\f28f' +} +.zmdi-card-sim:before { + content:'\f290' +} +.zmdi-desktop-mac:before { + content:'\f291' +} +.zmdi-desktop-windows:before { + content:'\f292' +} +.zmdi-device-hub:before { + content:'\f293' +} +.zmdi-devices-off:before { + content:'\f294' +} +.zmdi-devices:before { + content:'\f295' +} +.zmdi-dock:before { + content:'\f296' +} +.zmdi-floppy:before { + content:'\f297' +} +.zmdi-gamepad:before { + content:'\f298' +} +.zmdi-gps-dot:before { + content:'\f299' +} +.zmdi-gps-off:before { + content:'\f29a' +} +.zmdi-gps:before { + content:'\f29b' +} +.zmdi-headset-mic:before { + content:'\f29c' +} +.zmdi-headset:before { + content:'\f29d' +} +.zmdi-input-antenna:before { + content:'\f29e' +} +.zmdi-input-composite:before { + content:'\f29f' +} +.zmdi-input-hdmi:before { + content:'\f2a0' +} +.zmdi-input-power:before { + content:'\f2a1' +} +.zmdi-input-svideo:before { + content:'\f2a2' +} +.zmdi-keyboard-hide:before { + content:'\f2a3' +} +.zmdi-keyboard:before { + content:'\f2a4' +} +.zmdi-laptop-chromebook:before { + content:'\f2a5' +} +.zmdi-laptop-mac:before { + content:'\f2a6' +} +.zmdi-laptop:before { + content:'\f2a7' +} +.zmdi-mic-off:before { + content:'\f2a8' +} +.zmdi-mic-outline:before { + content:'\f2a9' +} +.zmdi-mic-setting:before { + content:'\f2aa' +} +.zmdi-mic:before { + content:'\f2ab' +} +.zmdi-mouse:before { + content:'\f2ac' +} +.zmdi-network-alert:before { + content:'\f2ad' +} +.zmdi-network-locked:before { + content:'\f2ae' +} +.zmdi-network-off:before { + content:'\f2af' +} +.zmdi-network-outline:before { + content:'\f2b0' +} +.zmdi-network-setting:before { + content:'\f2b1' +} +.zmdi-network:before { + content:'\f2b2' +} +.zmdi-phone-bluetooth:before { + content:'\f2b3' +} +.zmdi-phone-end:before { + content:'\f2b4' +} +.zmdi-phone-forwarded:before { + content:'\f2b5' +} +.zmdi-phone-in-talk:before { + content:'\f2b6' +} +.zmdi-phone-locked:before { + content:'\f2b7' +} +.zmdi-phone-missed:before { + content:'\f2b8' +} +.zmdi-phone-msg:before { + content:'\f2b9' +} +.zmdi-phone-paused:before { + content:'\f2ba' +} +.zmdi-phone-ring:before { + content:'\f2bb' +} +.zmdi-phone-setting:before { + content:'\f2bc' +} +.zmdi-phone-sip:before { + content:'\f2bd' +} +.zmdi-phone:before { + content:'\f2be' +} +.zmdi-portable-wifi-changes:before { + content:'\f2bf' +} +.zmdi-portable-wifi-off:before { + content:'\f2c0' +} +.zmdi-portable-wifi:before { + content:'\f2c1' +} +.zmdi-radio:before { + content:'\f2c2' +} +.zmdi-reader:before { + content:'\f2c3' +} +.zmdi-remote-control-alt:before { + content:'\f2c4' +} +.zmdi-remote-control:before { + content:'\f2c5' +} +.zmdi-router:before { + content:'\f2c6' +} +.zmdi-scanner:before { + content:'\f2c7' +} +.zmdi-smartphone-android:before { + content:'\f2c8' +} +.zmdi-smartphone-download:before { + content:'\f2c9' +} +.zmdi-smartphone-erase:before { + content:'\f2ca' +} +.zmdi-smartphone-info:before { + content:'\f2cb' +} +.zmdi-smartphone-iphone:before { + content:'\f2cc' +} +.zmdi-smartphone-landscape-lock:before { + content:'\f2cd' +} +.zmdi-smartphone-landscape:before { + content:'\f2ce' +} +.zmdi-smartphone-lock:before { + content:'\f2cf' +} +.zmdi-smartphone-portrait-lock:before { + content:'\f2d0' +} +.zmdi-smartphone-ring:before { + content:'\f2d1' +} +.zmdi-smartphone-setting:before { + content:'\f2d2' +} +.zmdi-smartphone-setup:before { + content:'\f2d3' +} +.zmdi-smartphone:before { + content:'\f2d4' +} +.zmdi-speaker:before { + content:'\f2d5' +} +.zmdi-tablet-android:before { + content:'\f2d6' +} +.zmdi-tablet-mac:before { + content:'\f2d7' +} +.zmdi-tablet:before { + content:'\f2d8' +} +.zmdi-tv-alt-play:before { + content:'\f2d9' +} +.zmdi-tv-list:before { + content:'\f2da' +} +.zmdi-tv-play:before { + content:'\f2db' +} +.zmdi-tv:before { + content:'\f2dc' +} +.zmdi-usb:before { + content:'\f2dd' +} +.zmdi-videocam-off:before { + content:'\f2de' +} +.zmdi-videocam-switch:before { + content:'\f2df' +} +.zmdi-videocam:before { + content:'\f2e0' +} +.zmdi-watch:before { + content:'\f2e1' +} +.zmdi-wifi-alt-2:before { + content:'\f2e2' +} +.zmdi-wifi-alt:before { + content:'\f2e3' +} +.zmdi-wifi-info:before { + content:'\f2e4' +} +.zmdi-wifi-lock:before { + content:'\f2e5' +} +.zmdi-wifi-off:before { + content:'\f2e6' +} +.zmdi-wifi-outline:before { + content:'\f2e7' +} +.zmdi-wifi:before { + content:'\f2e8' +} +.zmdi-arrow-left-bottom:before { + content:'\f2e9' +} +.zmdi-arrow-left:before { + content:'\f2ea' +} +.zmdi-arrow-merge:before { + content:'\f2eb' +} +.zmdi-arrow-missed:before { + content:'\f2ec' +} +.zmdi-arrow-right-top:before { + content:'\f2ed' +} +.zmdi-arrow-right:before { + content:'\f2ee' +} +.zmdi-arrow-split:before { + content:'\f2ef' +} +.zmdi-arrows:before { + content:'\f2f0' +} +.zmdi-caret-down-circle:before { + content:'\f2f1' +} +.zmdi-caret-down:before { + content:'\f2f2' +} +.zmdi-caret-left-circle:before { + content:'\f2f3' +} +.zmdi-caret-left:before { + content:'\f2f4' +} +.zmdi-caret-right-circle:before { + content:'\f2f5' +} +.zmdi-caret-right:before { + content:'\f2f6' +} +.zmdi-caret-up-circle:before { + content:'\f2f7' +} +.zmdi-caret-up:before { + content:'\f2f8' +} +.zmdi-chevron-down:before { + content:'\f2f9' +} +.zmdi-chevron-left:before { + content:'\f2fa' +} +.zmdi-chevron-right:before { + content:'\f2fb' +} +.zmdi-chevron-up:before { + content:'\f2fc' +} +.zmdi-forward:before { + content:'\f2fd' +} +.zmdi-long-arrow-down:before { + content:'\f2fe' +} +.zmdi-long-arrow-left:before { + content:'\f2ff' +} +.zmdi-long-arrow-return:before { + content:'\f300' +} +.zmdi-long-arrow-right:before { + content:'\f301' +} +.zmdi-long-arrow-tab:before { + content:'\f302' +} +.zmdi-long-arrow-up:before { + content:'\f303' +} +.zmdi-rotate-ccw:before { + content:'\f304' +} +.zmdi-rotate-cw:before { + content:'\f305' +} +.zmdi-rotate-left:before { + content:'\f306' +} +.zmdi-rotate-right:before { + content:'\f307' +} +.zmdi-square-down:before { + content:'\f308' +} +.zmdi-square-right:before { + content:'\f309' +} +.zmdi-swap-alt:before { + content:'\f30a' +} +.zmdi-swap-vertical-circle:before { + content:'\f30b' +} +.zmdi-swap-vertical:before { + content:'\f30c' +} +.zmdi-swap:before { + content:'\f30d' +} +.zmdi-trending-down:before { + content:'\f30e' +} +.zmdi-trending-flat:before { + content:'\f30f' +} +.zmdi-trending-up:before { + content:'\f310' +} +.zmdi-unfold-less:before { + content:'\f311' +} +.zmdi-unfold-more:before { + content:'\f312' +} +.zmdi-apps:before { + content:'\f313' +} +.zmdi-grid-off:before { + content:'\f314' +} +.zmdi-grid:before { + content:'\f315' +} +.zmdi-view-agenda:before { + content:'\f316' +} +.zmdi-view-array:before { + content:'\f317' +} +.zmdi-view-carousel:before { + content:'\f318' +} +.zmdi-view-column:before { + content:'\f319' +} +.zmdi-view-comfy:before { + content:'\f31a' +} +.zmdi-view-compact:before { + content:'\f31b' +} +.zmdi-view-dashboard:before { + content:'\f31c' +} +.zmdi-view-day:before { + content:'\f31d' +} +.zmdi-view-headline:before { + content:'\f31e' +} +.zmdi-view-list-alt:before { + content:'\f31f' +} +.zmdi-view-list:before { + content:'\f320' +} +.zmdi-view-module:before { + content:'\f321' +} +.zmdi-view-quilt:before { + content:'\f322' +} +.zmdi-view-stream:before { + content:'\f323' +} +.zmdi-view-subtitles:before { + content:'\f324' +} +.zmdi-view-toc:before { + content:'\f325' +} +.zmdi-view-web:before { + content:'\f326' +} +.zmdi-view-week:before { + content:'\f327' +} +.zmdi-widgets:before { + content:'\f328' +} +.zmdi-alarm-check:before { + content:'\f329' +} +.zmdi-alarm-off:before { + content:'\f32a' +} +.zmdi-alarm-plus:before { + content:'\f32b' +} +.zmdi-alarm-snooze:before { + content:'\f32c' +} +.zmdi-alarm:before { + content:'\f32d' +} +.zmdi-calendar-alt:before { + content:'\f32e' +} +.zmdi-calendar-check:before { + content:'\f32f' +} +.zmdi-calendar-close:before { + content:'\f330' +} +.zmdi-calendar-note:before { + content:'\f331' +} +.zmdi-calendar:before { + content:'\f332' +} +.zmdi-time-countdown:before { + content:'\f333' +} +.zmdi-time-interval:before { + content:'\f334' +} +.zmdi-time-restore-setting:before { + content:'\f335' +} +.zmdi-time-restore:before { + content:'\f336' +} +.zmdi-time:before { + content:'\f337' +} +.zmdi-timer-off:before { + content:'\f338' +} +.zmdi-timer:before { + content:'\f339' +} +.zmdi-android-alt:before { + content:'\f33a' +} +.zmdi-android:before { + content:'\f33b' +} +.zmdi-apple:before { + content:'\f33c' +} +.zmdi-behance:before { + content:'\f33d' +} +.zmdi-codepen:before { + content:'\f33e' +} +.zmdi-dribbble:before { + content:'\f33f' +} +.zmdi-dropbox:before { + content:'\f340' +} +.zmdi-evernote:before { + content:'\f341' +} +.zmdi-facebook-box:before { + content:'\f342' +} +.zmdi-facebook:before { + content:'\f343' +} +.zmdi-github-box:before { + content:'\f344' +} +.zmdi-github:before { + content:'\f345' +} +.zmdi-google-drive:before { + content:'\f346' +} +.zmdi-google-earth:before { + content:'\f347' +} +.zmdi-google-glass:before { + content:'\f348' +} +.zmdi-google-maps:before { + content:'\f349' +} +.zmdi-google-pages:before { + content:'\f34a' +} +.zmdi-google-play:before { + content:'\f34b' +} +.zmdi-google-plus-box:before { + content:'\f34c' +} +.zmdi-google-plus:before { + content:'\f34d' +} +.zmdi-google:before { + content:'\f34e' +} +.zmdi-instagram:before { + content:'\f34f' +} +.zmdi-language-css3:before { + content:'\f350' +} +.zmdi-language-html5:before { + content:'\f351' +} +.zmdi-language-javascript:before { + content:'\f352' +} +.zmdi-language-python-alt:before { + content:'\f353' +} +.zmdi-language-python:before { + content:'\f354' +} +.zmdi-lastfm:before { + content:'\f355' +} +.zmdi-linkedin-box:before { + content:'\f356' +} +.zmdi-paypal:before { + content:'\f357' +} +.zmdi-pinterest-box:before { + content:'\f358' +} +.zmdi-pocket:before { + content:'\f359' +} +.zmdi-polymer:before { + content:'\f35a' +} +.zmdi-share:before { + content:'\f35b' +} +.zmdi-stackoverflow:before { + content:'\f35c' +} +.zmdi-steam-square:before { + content:'\f35d' +} +.zmdi-steam:before { + content:'\f35e' +} +.zmdi-twitter-box:before { + content:'\f35f' +} +.zmdi-twitter:before { + content:'\f360' +} +.zmdi-vk:before { + content:'\f361' +} +.zmdi-wikipedia:before { + content:'\f362' +} +.zmdi-windows:before { + content:'\f363' +} +.zmdi-aspect-ratio-alt:before { + content:'\f364' +} +.zmdi-aspect-ratio:before { + content:'\f365' +} +.zmdi-blur-circular:before { + content:'\f366' +} +.zmdi-blur-linear:before { + content:'\f367' +} +.zmdi-blur-off:before { + content:'\f368' +} +.zmdi-blur:before { + content:'\f369' +} +.zmdi-brightness-2:before { + content:'\f36a' +} +.zmdi-brightness-3:before { + content:'\f36b' +} +.zmdi-brightness-4:before { + content:'\f36c' +} +.zmdi-brightness-5:before { + content:'\f36d' +} +.zmdi-brightness-6:before { + content:'\f36e' +} +.zmdi-brightness-7:before { + content:'\f36f' +} +.zmdi-brightness-auto:before { + content:'\f370' +} +.zmdi-brightness-setting:before { + content:'\f371' +} +.zmdi-broken-image:before { + content:'\f372' +} +.zmdi-center-focus-strong:before { + content:'\f373' +} +.zmdi-center-focus-weak:before { + content:'\f374' +} +.zmdi-compare:before { + content:'\f375' +} +.zmdi-crop-16-9:before { + content:'\f376' +} +.zmdi-crop-3-2:before { + content:'\f377' +} +.zmdi-crop-5-4:before { + content:'\f378' +} +.zmdi-crop-7-5:before { + content:'\f379' +} +.zmdi-crop-din:before { + content:'\f37a' +} +.zmdi-crop-free:before { + content:'\f37b' +} +.zmdi-crop-landscape:before { + content:'\f37c' +} +.zmdi-crop-portrait:before { + content:'\f37d' +} +.zmdi-crop-square:before { + content:'\f37e' +} +.zmdi-exposure-alt:before { + content:'\f37f' +} +.zmdi-exposure:before { + content:'\f380' +} +.zmdi-filter-b-and-w:before { + content:'\f381' +} +.zmdi-filter-center-focus:before { + content:'\f382' +} +.zmdi-filter-frames:before { + content:'\f383' +} +.zmdi-filter-tilt-shift:before { + content:'\f384' +} +.zmdi-gradient:before { + content:'\f385' +} +.zmdi-grain:before { + content:'\f386' +} +.zmdi-graphic-eq:before { + content:'\f387' +} +.zmdi-hdr-off:before { + content:'\f388' +} +.zmdi-hdr-strong:before { + content:'\f389' +} +.zmdi-hdr-weak:before { + content:'\f38a' +} +.zmdi-hdr:before { + content:'\f38b' +} +.zmdi-iridescent:before { + content:'\f38c' +} +.zmdi-leak-off:before { + content:'\f38d' +} +.zmdi-leak:before { + content:'\f38e' +} +.zmdi-looks:before { + content:'\f38f' +} +.zmdi-loupe:before { + content:'\f390' +} +.zmdi-panorama-horizontal:before { + content:'\f391' +} +.zmdi-panorama-vertical:before { + content:'\f392' +} +.zmdi-panorama-wide-angle:before { + content:'\f393' +} +.zmdi-photo-size-select-large:before { + content:'\f394' +} +.zmdi-photo-size-select-small:before { + content:'\f395' +} +.zmdi-picture-in-picture:before { + content:'\f396' +} +.zmdi-slideshow:before { + content:'\f397' +} +.zmdi-texture:before { + content:'\f398' +} +.zmdi-tonality:before { + content:'\f399' +} +.zmdi-vignette:before { + content:'\f39a' +} +.zmdi-wb-auto:before { + content:'\f39b' +} +.zmdi-eject-alt:before { + content:'\f39c' +} +.zmdi-eject:before { + content:'\f39d' +} +.zmdi-equalizer:before { + content:'\f39e' +} +.zmdi-fast-forward:before { + content:'\f39f' +} +.zmdi-fast-rewind:before { + content:'\f3a0' +} +.zmdi-forward-10:before { + content:'\f3a1' +} +.zmdi-forward-30:before { + content:'\f3a2' +} +.zmdi-forward-5:before { + content:'\f3a3' +} +.zmdi-hearing:before { + content:'\f3a4' +} +.zmdi-pause-circle-outline:before { + content:'\f3a5' +} +.zmdi-pause-circle:before { + content:'\f3a6' +} +.zmdi-pause:before { + content:'\f3a7' +} +.zmdi-play-circle-outline:before { + content:'\f3a8' +} +.zmdi-play-circle:before { + content:'\f3a9' +} +.zmdi-play:before { + content:'\f3aa' +} +.zmdi-playlist-audio:before { + content:'\f3ab' +} +.zmdi-playlist-plus:before { + content:'\f3ac' +} +.zmdi-repeat-one:before { + content:'\f3ad' +} +.zmdi-repeat:before { + content:'\f3ae' +} +.zmdi-replay-10:before { + content:'\f3af' +} +.zmdi-replay-30:before { + content:'\f3b0' +} +.zmdi-replay-5:before { + content:'\f3b1' +} +.zmdi-replay:before { + content:'\f3b2' +} +.zmdi-shuffle:before { + content:'\f3b3' +} +.zmdi-skip-next:before { + content:'\f3b4' +} +.zmdi-skip-previous:before { + content:'\f3b5' +} +.zmdi-stop:before { + content:'\f3b6' +} +.zmdi-surround-sound:before { + content:'\f3b7' +} +.zmdi-tune:before { + content:'\f3b8' +} +.zmdi-volume-down:before { + content:'\f3b9' +} +.zmdi-volume-mute:before { + content:'\f3ba' +} +.zmdi-volume-off:before { + content:'\f3bb' +} +.zmdi-volume-up:before { + content:'\f3bc' +} +.zmdi-n-1-square:before { + content:'\f3bd' +} +.zmdi-n-2-square:before { + content:'\f3be' +} +.zmdi-n-3-square:before { + content:'\f3bf' +} +.zmdi-n-4-square:before { + content:'\f3c0' +} +.zmdi-n-5-square:before { + content:'\f3c1' +} +.zmdi-n-6-square:before { + content:'\f3c2' +} +.zmdi-neg-1:before { + content:'\f3c3' +} +.zmdi-neg-2:before { + content:'\f3c4' +} +.zmdi-plus-1:before { + content:'\f3c5' +} +.zmdi-plus-2:before { + content:'\f3c6' +} +.zmdi-sec-10:before { + content:'\f3c7' +} +.zmdi-sec-3:before { + content:'\f3c8' +} +.zmdi-zero:before { + content:'\f3c9' +} +.zmdi-airline-seat-flat-angled:before { + content:'\f3ca' +} +.zmdi-airline-seat-flat:before { + content:'\f3cb' +} +.zmdi-airline-seat-individual-suite:before { + content:'\f3cc' +} +.zmdi-airline-seat-legroom-extra:before { + content:'\f3cd' +} +.zmdi-airline-seat-legroom-normal:before { + content:'\f3ce' +} +.zmdi-airline-seat-legroom-reduced:before { + content:'\f3cf' +} +.zmdi-airline-seat-recline-extra:before { + content:'\f3d0' +} +.zmdi-airline-seat-recline-normal:before { + content:'\f3d1' +} +.zmdi-airplay:before { + content:'\f3d2' +} +.zmdi-closed-caption:before { + content:'\f3d3' +} +.zmdi-confirmation-number:before { + content:'\f3d4' +} +.zmdi-developer-board:before { + content:'\f3d5' +} +.zmdi-disc-full:before { + content:'\f3d6' +} +.zmdi-explicit:before { + content:'\f3d7' +} +.zmdi-flight-land:before { + content:'\f3d8' +} +.zmdi-flight-takeoff:before { + content:'\f3d9' +} +.zmdi-flip-to-back:before { + content:'\f3da' +} +.zmdi-flip-to-front:before { + content:'\f3db' +} +.zmdi-group-work:before { + content:'\f3dc' +} +.zmdi-hd:before { + content:'\f3dd' +} +.zmdi-hq:before { + content:'\f3de' +} +.zmdi-markunread-mailbox:before { + content:'\f3df' +} +.zmdi-memory:before { + content:'\f3e0' +} +.zmdi-nfc:before { + content:'\f3e1' +} +.zmdi-play-for-work:before { + content:'\f3e2' +} +.zmdi-power-input:before { + content:'\f3e3' +} +.zmdi-present-to-all:before { + content:'\f3e4' +} +.zmdi-satellite:before { + content:'\f3e5' +} +.zmdi-tap-and-play:before { + content:'\f3e6' +} +.zmdi-vibration:before { + content:'\f3e7' +} +.zmdi-voicemail:before { + content:'\f3e8' +} +.zmdi-group:before { + content:'\f3e9' +} +.zmdi-rss:before { + content:'\f3ea' +} +.zmdi-shape:before { + content:'\f3eb' +} +.zmdi-spinner:before { + content:'\f3ec' +} +.zmdi-ungroup:before { + content:'\f3ed' +} +.zmdi-500px:before { + content:'\f3ee' +} +.zmdi-8tracks:before { + content:'\f3ef' +} +.zmdi-amazon:before { + content:'\f3f0' +} +.zmdi-blogger:before { + content:'\f3f1' +} +.zmdi-delicious:before { + content:'\f3f2' +} +.zmdi-disqus:before { + content:'\f3f3' +} +.zmdi-flattr:before { + content:'\f3f4' +} +.zmdi-flickr:before { + content:'\f3f5' +} +.zmdi-github-alt:before { + content:'\f3f6' +} +.zmdi-google-old:before { + content:'\f3f7' +} +.zmdi-linkedin:before { + content:'\f3f8' +} +.zmdi-odnoklassniki:before { + content:'\f3f9' +} +.zmdi-outlook:before { + content:'\f3fa' +} +.zmdi-paypal-alt:before { + content:'\f3fb' +} +.zmdi-pinterest:before { + content:'\f3fc' +} +.zmdi-playstation:before { + content:'\f3fd' +} +.zmdi-reddit:before { + content:'\f3fe' +} +.zmdi-skype:before { + content:'\f3ff' +} +.zmdi-slideshare:before { + content:'\f400' +} +.zmdi-soundcloud:before { + content:'\f401' +} +.zmdi-tumblr:before { + content:'\f402' +} +.zmdi-twitch:before { + content:'\f403' +} +.zmdi-vimeo:before { + content:'\f404' +} +.zmdi-whatsapp:before { + content:'\f405' +} +.zmdi-xbox:before { + content:'\f406' +} +.zmdi-yahoo:before { + content:'\f407' +} +.zmdi-youtube-play:before { + content:'\f408' +} +.zmdi-youtube:before { + content:'\f409' +} +.zmdi-import-export:before { + content:'\f30c' +} +.zmdi-swap-vertical-:before { + content:'\f30c' +} +.zmdi-airplanemode-inactive:before { + content:'\f102' +} +.zmdi-airplanemode-active:before { + content:'\f103' +} +.zmdi-rate-review:before { + content:'\f103' +} +.zmdi-comment-sign:before { + content:'\f25a' +} +.zmdi-network-warning:before { + content:'\f2ad' +} +.zmdi-shopping-cart-add:before { + content:'\f1ca' +} +.zmdi-file-add:before { + content:'\f221' +} +.zmdi-network-wifi-scan:before { + content:'\f2e4' +} +.zmdi-collection-add:before { + content:'\f14e' +} +.zmdi-format-playlist-add:before { + content:'\f3ac' +} +.zmdi-format-queue-music:before { + content:'\f3ab' +} +.zmdi-plus-box:before { + content:'\f277' +} +.zmdi-tag-backspace:before { + content:'\f1d9' +} +.zmdi-alarm-add:before { + content:'\f32b' +} +.zmdi-battery-charging:before { + content:'\f114' +} +.zmdi-daydream-setting:before { + content:'\f217' +} +.zmdi-more-horiz:before { + content:'\f19c' +} +.zmdi-book-photo:before { + content:'\f11b' +} +.zmdi-incandescent:before { + content:'\f189' +} +.zmdi-wb-iridescent:before { + content:'\f38c' +} +.zmdi-calendar-remove:before { + content:'\f330' +} +.zmdi-refresh-sync-disabled:before { + content:'\f1b7' +} +.zmdi-refresh-sync-problem:before { + content:'\f1b6' +} +.zmdi-crop-original:before { + content:'\f17e' +} +.zmdi-power-off:before { + content:'\f1af' +} +.zmdi-power-off-setting:before { + content:'\f1ae' +} +.zmdi-leak-remove:before { + content:'\f38d' +} +.zmdi-star-border:before { + content:'\f27c' +} +.zmdi-brightness-low:before { + content:'\f36d' +} +.zmdi-brightness-medium:before { + content:'\f36e' +} +.zmdi-brightness-high:before { + content:'\f36f' +} +.zmdi-smartphone-portrait:before { + content:'\f2d4' +} +.zmdi-live-tv:before { + content:'\f2d9' +} +.zmdi-format-textdirection-l-to-r:before { + content:'\f249' +} +.zmdi-format-textdirection-r-to-l:before { + content:'\f24a' +} +.zmdi-arrow-back:before { + content:'\f2ea' +} +.zmdi-arrow-forward:before { + content:'\f2ee' +} +.zmdi-arrow-in:before { + content:'\f2e9' +} +.zmdi-arrow-out:before { + content:'\f2ed' +} +.zmdi-rotate-90-degrees-ccw:before { + content:'\f304' +} +.zmdi-adb:before { + content:'\f33a' +} +.zmdi-network-wifi:before { + content:'\f2e8' +} +.zmdi-network-wifi-alt:before { + content:'\f2e3' +} +.zmdi-network-wifi-lock:before { + content:'\f2e5' +} +.zmdi-network-wifi-off:before { + content:'\f2e6' +} +.zmdi-network-wifi-outline:before { + content:'\f2e7' +} +.zmdi-network-wifi-info:before { + content:'\f2e4' +} +.zmdi-layers-clear:before { + content:'\f18b' +} +.zmdi-colorize:before { + content:'\f15d' +} +.zmdi-format-paint:before { + content:'\f1ba' +} +.zmdi-format-quote:before { + content:'\f1b2' +} +.zmdi-camera-monochrome-photos:before { + content:'\f285' +} +.zmdi-sort-by-alpha:before { + content:'\f1cf' +} +.zmdi-folder-shared:before { + content:'\f225' +} +.zmdi-folder-special:before { + content:'\f226' +} +.zmdi-comment-dots:before { + content:'\f260' +} +.zmdi-reorder:before { + content:'\f31e' +} +.zmdi-dehaze:before { + content:'\f197' +} +.zmdi-sort:before { + content:'\f1ce' +} +.zmdi-pages:before { + content:'\f34a' +} +.zmdi-stack-overflow:before { + content:'\f35c' +} +.zmdi-calendar-account:before { + content:'\f204' +} +.zmdi-paste:before { + content:'\f109' +} +.zmdi-cut:before { + content:'\f1bc' +} +.zmdi-save:before { + content:'\f297' +} +.zmdi-smartphone-code:before { + content:'\f139' +} +.zmdi-directions-bike:before { + content:'\f117' +} +.zmdi-directions-boat:before { + content:'\f11a' +} +.zmdi-directions-bus:before { + content:'\f121' +} +.zmdi-directions-car:before { + content:'\f125' +} +.zmdi-directions-railway:before { + content:'\f1b3' +} +.zmdi-directions-run:before { + content:'\f215' +} +.zmdi-directions-subway:before { + content:'\f1d5' +} +.zmdi-directions-walk:before { + content:'\f216' +} +.zmdi-local-hotel:before { + content:'\f178' +} +.zmdi-local-activity:before { + content:'\f1df' +} +.zmdi-local-play:before { + content:'\f1df' +} +.zmdi-local-airport:before { + content:'\f103' +} +.zmdi-local-atm:before { + content:'\f198' +} +.zmdi-local-bar:before { + content:'\f137' +} +.zmdi-local-cafe:before { + content:'\f13b' +} +.zmdi-local-car-wash:before { + content:'\f124' +} +.zmdi-local-convenience-store:before { + content:'\f1d3' +} +.zmdi-local-dining:before { + content:'\f153' +} +.zmdi-local-drink:before { + content:'\f157' +} +.zmdi-local-florist:before { + content:'\f168' +} +.zmdi-local-gas-station:before { + content:'\f16f' +} +.zmdi-local-grocery-store:before { + content:'\f1cb' +} +.zmdi-local-hospital:before { + content:'\f177' +} +.zmdi-local-laundry-service:before { + content:'\f1e9' +} +.zmdi-local-library:before { + content:'\f18d' +} +.zmdi-local-mall:before { + content:'\f195' +} +.zmdi-local-movies:before { + content:'\f19d' +} +.zmdi-local-offer:before { + content:'\f187' +} +.zmdi-local-parking:before { + content:'\f1a5' +} +.zmdi-local-parking:before { + content:'\f1a5' +} +.zmdi-local-pharmacy:before { + content:'\f176' +} +.zmdi-local-phone:before { + content:'\f2be' +} +.zmdi-local-pizza:before { + content:'\f1ac' +} +.zmdi-local-post-office:before { + content:'\f15a' +} +.zmdi-local-printshop:before { + content:'\f1b0' +} +.zmdi-local-see:before { + content:'\f28c' +} +.zmdi-local-shipping:before { + content:'\f1e6' +} +.zmdi-local-store:before { + content:'\f1d4' +} +.zmdi-local-taxi:before { + content:'\f123' +} +.zmdi-local-wc:before { + content:'\f211' +} +.zmdi-my-location:before { + content:'\f299' +} +.zmdi-directions:before { + content:'\f1e7' +} diff --git a/src/WebApp/AspnetRunBasics/wwwroot/css/responsive.css b/src/WebApp/AspnetRunBasics/wwwroot/css/responsive.css new file mode 100644 index 00000000..7371b926 --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/css/responsive.css @@ -0,0 +1,1135 @@ +.w-29 { + -webkit-box-flex:0 0 29.29936%; + -moz-box-flex:0 0 29.29936%; + -webkit-flex:0 0 29.29936%; + -ms-flex:0 0 29.29936%; + flex:0 0 29.29936%; + max-width:29.29936% +} +.w-41 { + -webkit-box-flex:0 0 41.40127%; + -moz-box-flex:0 0 41.40127%; + -webkit-flex:0 0 41.40127%; + -ms-flex:0 0 41.40127%; + flex:0 0 41.40127%; + max-width:41.40127%; + padding:0 10px +} +.container-1800 { + margin-left:auto; + margin-right:auto; + padding-left:15px; + padding-right:15px +} +@media (min-width: 768px) { + .col-md-cus-5 { + position:relative; + width:100%; + min-height:1px; + -webkit-box-flex:0; + -webkit-flex:0 0 20%; + -ms-flex:0 0 20%; + flex:0 0 20%; + max-width:20%; + padding-left:15px; + padding-right:15px + } + .col-md-4-9 { + -webkit-box-flex:0; + -webkit-flex:0 0 44.44444444%; + -ms-flex:0 0 44.44444444%; + flex:0 0 44.44444444%; + max-width:44.44444444% + } + .col-md-5-9 { + -webkit-box-flex:0; + -webkit-flex:0 0 55.55555555%; + -ms-flex:0 0 55.55555555%; + flex:0 0 55.55555555%; + max-width:55.55555555% + } +} +@media (min-width: 992px) { + .col-lg-cus-5 { + position:relative; + width:100%; + min-height:1px; + -webkit-box-flex:0; + -webkit-flex:0 0 20%; + -ms-flex:0 0 20%; + flex:0 0 20%; + max-width:20%; + padding-left:15px; + padding-right:15px + } + .col-lg-4-9 { + -webkit-box-flex:0; + -webkit-flex:0 0 44.44444444%; + -ms-flex:0 0 44.44444444%; + flex:0 0 44.44444444%; + max-width:44.44444444% + } + .col-lg-5-9 { + -webkit-box-flex:0; + -webkit-flex:0 0 55.55555555%; + -ms-flex:0 0 55.55555555%; + flex:0 0 55.55555555%; + max-width:55.55555555% + } + .col-59-58 { + max-width:59.5833333%; + -webkit-box-flex:0 0 59.58333%; + -moz-box-flex:0 0 59.58333%; + -webkit-flex:0 0 59.58333%; + -ms-flex:0 0 59.58333%; + flex:0 0 59.58333% + } + .col-40-41 { + max-width:40.4166667%; + -webkit-box-flex:0 0 40.41667%; + -moz-box-flex:0 0 40.41667%; + -webkit-flex:0 0 40.41667%; + -ms-flex:0 0 40.41667%; + flex:0 0 40.41667% + } + .col-52-5 { + max-width:52.5%; + -webkit-box-flex:0 0 52.5%; + -moz-box-flex:0 0 52.5%; + -webkit-flex:0 0 52.5%; + -ms-flex:0 0 52.5%; + flex:0 0 52.5% + } + .col-47-5 { + max-width:47.5%; + -webkit-box-flex:0 0 47.5%; + -moz-box-flex:0 0 47.5%; + -webkit-flex:0 0 47.5%; + -ms-flex:0 0 47.5%; + flex:0 0 47.5% + } +} +@media (min-width: 1200px) { + .col-xl-cus-5 { + position:relative; + width:100%; + min-height:1px; + -webkit-box-flex:0; + -webkit-flex:0 0 20%; + -ms-flex:0 0 20%; + flex:0 0 20%; + max-width:20%; + padding-left:15px; + padding-right:15px + } + .col-xl-4-9 { + -webkit-box-flex:0; + -webkit-flex:0 0 44.44444444%; + -ms-flex:0 0 44.44444444%; + flex:0 0 44.44444444%; + max-width:44.44444444% + } + .col-xl-5-9 { + -webkit-box-flex:0; + -webkit-flex:0 0 55.55555555%; + -ms-flex:0 0 55.55555555%; + flex:0 0 55.55555555%; + max-width:55.55555555% + } + .col-xl-73-33 { + max-width:73.333333%; + -webkit-box-flex:0 0 73.33333%; + -moz-box-flex:0 0 73.33333%; + -webkit-flex:0 0 73.33333%; + -ms-flex:0 0 73.33333%; + flex:0 0 73.33333% + } + .col-xl-26-66 { + max-width:26.666667%; + -webkit-box-flex:0 0 26.66667%; + -moz-box-flex:0 0 26.66667%; + -webkit-flex:0 0 26.66667%; + -ms-flex:0 0 26.66667%; + flex:0 0 26.66667% + } + .col-xl-35-83 { + max-width:35.8333333%; + -webkit-box-flex:0 0 35.83333%; + -moz-box-flex:0 0 35.83333%; + -webkit-flex:0 0 35.83333%; + -ms-flex:0 0 35.83333%; + flex:0 0 35.83333% + } + .col-xl-64-16 { + max-width:64.1666667%; + -webkit-box-flex:0 0 64.16667%; + -moz-box-flex:0 0 64.16667%; + -webkit-flex:0 0 64.16667%; + -ms-flex:0 0 64.16667%; + flex:0 0 64.16667% + } +} +@media (max-width: 1199px) { + .d-xmd-block { + display:block !important + } + .d-xmd-inline { + display:inline-block !important + } + .text-xmd-center { + text-align:center + } + .ml-xmd-auto { + margin-left:auto + } + .lang-rtl .ml-xmd-auto { + margin-right:auto; + margin-left:inherit + } + .mr-xmd-auto { + margin-right:auto + } + .lang-rtl .mr-xmd-auto { + margin-left:auto; + margin-right:inherit + } + .ml-xmd-auto.mr-xmd-auto { + margin:auto + } + .m-xmd-auto { + margin:auto !important + } +} +@media (max-width: 991px) { + html { + font-size:52% + } + .vertical_menu .show_sub { + display:flex !important; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center + } + .m-md-auto { + margin:auto !important + } +} +@media (min-width: 992px) { + .col-md-cus-5 { + position:relative; + width:100%; + min-height:1px; + -webkit-box-flex:0; + -webkit-flex:0 0 20%; + -ms-flex:0 0 20%; + flex:0 0 20%; + max-width:20%; + padding-left:5px; + padding-right:5px + } + .col-md-4-9 { + -webkit-box-flex:0; + -webkit-flex:0 0 44.44444444%; + -ms-flex:0 0 44.44444444%; + flex:0 0 44.44444444%; + max-width:44.44444444%; + padding-left:15px; + padding-right:15px + } + .col-md-5-9 { + -webkit-box-flex:0; + -webkit-flex:0 0 55.55555555%; + -ms-flex:0 0 55.55555555%; + flex:0 0 55.55555555%; + max-width:55.55555555%; + padding-left:15px; + padding-right:15px + } +} +@media (max-width: 767px) { + .col-sm-2 { + -webkit-box-flex:0; + -webkit-flex:0 0 16.666667%; + -ms-flex:0 0 16.666667%; + flex:0 0 16.666667%; + max-width:16.666667% + } + .col-sm-3 { + -webkit-box-flex:0; + -webkit-flex:0 0 25%; + -ms-flex:0 0 25%; + flex:0 0 25%; + max-width:25% + } + .col-sm-4 { + -webkit-box-flex:0; + -webkit-flex:0 0 33.333333%; + -ms-flex:0 0 33.333333%; + flex:0 0 33.333333%; + max-width:33.333333% + } + .col-sm-5 { + -webkit-box-flex:0; + -webkit-flex:0 0 41.666667%; + -ms-flex:0 0 41.666667%; + flex:0 0 41.666667%; + max-width:41.666667% + } + .col-sm-6 { + -webkit-box-flex:0; + -webkit-flex:0 0 50%; + -ms-flex:0 0 50%; + flex:0 0 50%; + width:50%; + max-width:50% + } + .col-sm-7 { + -webkit-box-flex:0; + -webkit-flex:0 0 58.333333%; + -ms-flex:0 0 58.333333%; + flex:0 0 58.333333%; + max-width:58.333333% + } + .col-sm-8 { + -webkit-box-flex:0; + -webkit-flex:0 0 66.666667%; + -ms-flex:0 0 66.666667%; + flex:0 0 66.666667%; + max-width:66.666667% + } + .col-sm-9 { + -webkit-box-flex:0; + -webkit-flex:0 0 75%; + -ms-flex:0 0 75%; + flex:0 0 75%; + max-width:75% + } + .col-sm-10 { + -webkit-box-flex:0; + -webkit-flex:0 0 83.333333%; + -ms-flex:0 0 83.333333%; + flex:0 0 83.333333%; + max-width:83.333333% + } + .col-sm-11 { + -webkit-box-flex:0; + -webkit-flex:0 0 91.666667%; + -ms-flex:0 0 91.666667%; + flex:0 0 91.666667%; + max-width:91.666667% + } + .col-sm-12 { + -webkit-box-flex:0; + -webkit-flex:0 0 100%; + -ms-flex:0 0 100%; + flex:0 0 100%; + width:100%; + max-width:100% + } + .mb-sm-30 { + margin-bottom:30px + } + .order-sm-1 { + -webkit-box-ordinal-group:1; + -moz-box-ordinal-group:1; + -ms-flex-order:1; + -webkit-order:1; + order:1 + } + .text-sm-center { + text-align:center !important + } +} +@media (max-width: 575px) { + .col-xs-2 { + -webkit-box-flex:0; + -webkit-flex:0 0 16.666667%; + -ms-flex:0 0 16.666667%; + flex:0 0 16.666667%; + max-width:16.666667% + } + .col-xs-3 { + -webkit-box-flex:0; + -webkit-flex:0 0 25%; + -ms-flex:0 0 25%; + flex:0 0 25%; + max-width:25% + } + .col-xs-4 { + -webkit-box-flex:0; + -webkit-flex:0 0 33.333333%; + -ms-flex:0 0 33.333333%; + flex:0 0 33.333333%; + max-width:33.333333% + } + .col-xs-5 { + -webkit-box-flex:0; + -webkit-flex:0 0 41.666667%; + -ms-flex:0 0 41.666667%; + flex:0 0 41.666667%; + max-width:41.666667% + } + .col-xs-6 { + -webkit-box-flex:0; + -webkit-flex:0 0 50%; + -ms-flex:0 0 50%; + flex:0 0 50%; + width:50%; + max-width:50% + } + .col-xs-7 { + -webkit-box-flex:0; + -webkit-flex:0 0 58.333333%; + -ms-flex:0 0 58.333333%; + flex:0 0 58.333333%; + max-width:58.333333% + } + .col-xs-8 { + -webkit-box-flex:0; + -webkit-flex:0 0 66.666667%; + -ms-flex:0 0 66.666667%; + flex:0 0 66.666667%; + max-width:66.666667% + } + .col-xs-9 { + -webkit-box-flex:0; + -webkit-flex:0 0 75%; + -ms-flex:0 0 75%; + flex:0 0 75%; + max-width:75% + } + .col-xs-10 { + -webkit-box-flex:0; + -webkit-flex:0 0 83.333333%; + -ms-flex:0 0 83.333333%; + flex:0 0 83.333333%; + max-width:83.333333% + } + .col-xs-11 { + -webkit-box-flex:0; + -webkit-flex:0 0 91.666667%; + -ms-flex:0 0 91.666667%; + flex:0 0 91.666667%; + max-width:91.666667% + } + .col-xs-12 { + -webkit-box-flex:0; + -webkit-flex:0 0 100%; + -ms-flex:0 0 100%; + flex:0 0 100%; + width:100%; + max-width:100% + } + .text-xs-center { + text-align:center !important + } + .text-xs-left { + text-align:left !important + } + .text-xs-right { + text-align:right !important + } + .flex-xs-unordered { + -webkit-box-ordinal-group:1; + -webkit-order:0; + -ms-flex-order:0; + order:0 + } + .flex-xs-first { + -webkit-box-ordinal-group:0; + -webkit-order:-1; + -ms-flex-order:-1; + order:-1 + } + .d-xs-block { + display:block !important + } + .d-xs-none { + display:none !important + } + .justify-content-xs-center { + -webkit-box-pack:center !important; + -webkit-justify-content:center !important; + -ms-flex-pack:center !important; + justify-content:center !important + } + .w-xs-100 { + width:100% !important + } +} +.header-mobile { + -webkit-box-shadow:0 5px 15px rgba(0,0,0,0.1); + -moz-box-shadow:0 5px 15px rgba(0,0,0,0.1); + -ms-box-shadow:0 5px 15px rgba(0,0,0,0.1); + -o-box-shadow:0 5px 15px rgba(0,0,0,0.1); + box-shadow:0 5px 15px rgba(0,0,0,0.1); + position:relative; + padding:10px 15px +} +.header-mobile .item-mobile-top { + position:relative; + cursor:pointer; + font-size:20px; + float:inherit; + text-shadow:none; + line-height:10px +} +.header-mobile .item-mobile-top i { + color:#222; + font-size:24px +} +.header-mobile #_mobile_menutop { + width:30px; + height:30px; + text-align:center; + line-height:30px; + background-color:#272727; + border-radius:50%; + cursor:pointer +} +.header-mobile #_mobile_menutop i { + font-size:21px +} +.header-mobile .mobile_logo { + margin-right:15px +} +.lang-rtl .header-mobile .mobile_logo { + margin-left:15px; + margin-right:inherit +} +.header-mobile #mobile_search { + position:relative; + width:100%; + margin-right:15px +} +.lang-rtl .header-mobile #mobile_search { + margin-left:15px; + margin-right:inherit +} +.header-mobile #mobile_search input { + background:#f4f4f4; + border:none; + -webkit-border-radius:30px; + -moz-border-radius:30px; + -ms-border-radius:30px; + -o-border-radius:30px; + border-radius:30px; + padding:0 20px; + height:40px +} +.header-mobile #mobile_search input::-webkit-input-placeholder { + font-size:10px; + font-weight:700; + color:#b7b7b7; + text-transform:uppercase +} +.header-mobile #mobile_search input:-moz-placeholder { + font-size:10px; + font-weight:700; + color:#b7b7b7; + text-transform:uppercase +} +.header-mobile #mobile_search input::-moz-placeholder { + font-size:10px; + font-weight:700; + color:#b7b7b7; + text-transform:uppercase +} +.header-mobile #mobile_search input:-ms-input-placeholder { + font-size:10px; + font-weight:700; + color:#b7b7b7; + text-transform:uppercase +} +.header-mobile #mobile_search button { + position:absolute; + top:5px; + right:10px; + background-color:#f4f4f4 +} +.lang-rtl .header-mobile #mobile_search button { + left:10px; + right:auto +} +.header-mobile #mobile_search button .site-header__search-icon { + color:#0d7a52; + font-size:17px +} +@media (max-width: 575px) { + .header-mobile .mobile_logo img { + max-width:90px !important + } +} +.mobile-boxpage { + position:fixed; + top:100%; + left:0; + right:0; + bottom:0; + background:#fff; + z-index:1000; + visibility:hidden; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + -webkit-transition:all 0.2s; + -moz-transition:all 0.2s; + -ms-transition:all 0.2s; + -o-transition:all 0.2s; + transition:all 0.2s +} +.mobile-boxpage.active { + visibility:visible; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + top:0 +} +.content-boxpage { + padding:0; + overflow-y:scroll +} +.content-boxpage .box-header { + height:45px; + background:rgba(255,255,255,0.95); + -webkit-box-shadow:0 2px 5px -2px rgba(0,0,0,0.2); + -moz-box-shadow:0 2px 5px -2px rgba(0,0,0,0.2); + -ms-box-shadow:0 2px 5px -2px rgba(0,0,0,0.2); + -o-box-shadow:0 2px 5px -2px rgba(0,0,0,0.2); + box-shadow:0 2px 5px -2px rgba(0,0,0,0.2); + padding:0 15px; + position:relative; + z-index:1001 +} +.content-boxpage .box-header .title-box { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:700; + text-transform:uppercase; + color:#000; + font-size:16px +} +.content-boxpage .box-header .close-box, +.content-boxpage .box-header .back-box { + font-size:11px; + color:#78b144; + font-weight:700; + cursor:pointer +} +.content-boxpage .box-header .back-box { + display:none +} +.content-boxpage .box-header .back-box.active { + display:block +} +.content-boxpage .box-content { + overflow-y:scroll +} +#mobile-pageaccount .account-list-content { + font-size:13px +} +#mobile-pageaccount .account-list-content i { + display:none +} +#mobile-pageaccount .account-list-content .currency_header { + display:none +} +#mobile-pageaccount .account-list-content>div { + padding:15px 0 +} +#mobile-pageaccount .links-currency, +#mobile-pageaccount .links-language { + font-size:13px; + padding:15px 0; + position:relative; + cursor:pointer +} +#mobile-pageaccount .links-currency i, +#mobile-pageaccount .links-language i { + position:absolute; + right:-20px; + top:20px +} +.lang-rtl #mobile-pageaccount .links-currency i, +.lang-rtl #mobile-pageaccount .links-language i { + left:-20px; + right:auto +} +#mobile-pageaccount #box-currency, +#mobile-pageaccount #box-language { + position:absolute; + top:45px; + left:0; + right:0; + bottom:0; + visibility:hidden; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + -webkit-transform:translateX(-100%); + -ms-transform:translateX(-100%); + transform:translateX(-100%); + -webkit-transition:all 0.8s ease; + -moz-transition:all 0.8s ease; + -ms-transition:all 0.8s ease; + -o-transition:all 0.8s ease; + transition:all 0.8s ease; + background:#fff +} +.lang-rtl #mobile-pageaccount #box-currency, +.lang-rtl #mobile-pageaccount #box-language { + -webkit-transform:translateX(100%); + -ms-transform:translateX(100%); + transform:translateX(100%) +} +#mobile-pageaccount #box-currency.active, +#mobile-pageaccount #box-language.active { + visibility:visible; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) +} +.lang-rtl #mobile-pageaccount #box-currency.active, +.lang-rtl #mobile-pageaccount #box-language.active { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) +} +#mobile-pageaccount #box-currency .item-language, +#mobile-pageaccount #box-currency .item-currency, +#mobile-pageaccount #box-language .item-language, +#mobile-pageaccount #box-language .item-currency { + padding:10px 15px; + border-bottom:1px dotted #eaeaea; + position:relative +} +#mobile-pageaccount #box-currency .item-language.current:before, +#mobile-pageaccount #box-currency .item-currency.current:before, +#mobile-pageaccount #box-language .item-language.current:before, +#mobile-pageaccount #box-language .item-currency.current:before { + position:absolute; + top:12px; + right:15px; + content:'\f26b'; + font:normal normal normal 14px/1 'Material-Design-Iconic-Font'; + font-size:14px; + text-rendering:auto; + color:#78b144 +} +.lang-rtl #mobile-pageaccount #box-currency .item-language.current:before, +.lang-rtl #mobile-pageaccount #box-currency .item-currency.current:before, +.lang-rtl #mobile-pageaccount #box-language .item-language.current:before, +.lang-rtl #mobile-pageaccount #box-language .item-currency.current:before { + left:15px; + right:auto +} +#_mobile_currency_selector { + position:absolute; + top:50%; + left:50%; + -webkit-transform:translate(-50%, -50%); + -ms-transform:translate(-50%, -50%); + transform:translate(-50%, -50%) +} +#_mobile_currency_selector span { + color:#78b144; + display:block; + padding:5px 10px +} +#_mobile_currency_selector span:not(:last-child) { + border-bottom:1px dashed #ddd +} +#_mobile_currency_selector span.selected { + color:#0d7a52 +} +#mobile-blockcart #cart-info { + display:block !important; + padding:10px 15px +} +#mobile-blockcart #cart-info .ajaxcart__product:not(:last-child) { + margin-bottom:10px +} +#mobile-blockcart #cart-info .ajaxcart__inner { + max-height:235px; + overflow-y:scroll +} +#mobile-blockcart #cart-info .media-body { + margin-left:10px +} +.lang-rtl #mobile-blockcart #cart-info .media-body { + margin-right:10px; + margin-left:inherit +} +#mobile-blockcart #cart-info .media-body .product-name { + color:#222; + font-weight:600 +} +#mobile-blockcart #cart-info .media-body .money { + font-weight:700 +} +#mobile-blockcart #cart-info .media-body .remove-from-cart { + margin-left:20px; + font-size:20px +} +.lang-rtl #mobile-blockcart #cart-info .media-body .remove-from-cart { + margin-right:20px; + margin-left:inherit +} +#mobile-blockcart #cart-info .subtotal .money { + color:#0d7a52; + font-weight:900; + font-size:1.6rem +} +#mobile-blockcart #cart-info .btn { + color:#fff; + width:100% +} +#mobile-blockcart #cart-info .cart__checkout { + margin-top:30px; + margin-bottom:10px +} +#mobile-blockcart #threshold_bar_popup_minicart { + padding:20px 0 !important +} +#stickymenu_bottom_mobile { + position:fixed; + width:100%; + bottom:0; + z-index:9; + left:0; + padding:5px 15px; + background:#fff; + -webkit-box-shadow:0 -2px 5px -2px rgba(0,0,0,0.2); + -moz-box-shadow:0 -2px 5px -2px rgba(0,0,0,0.2); + -ms-box-shadow:0 -2px 5px -2px rgba(0,0,0,0.2); + -o-box-shadow:0 -2px 5px -2px rgba(0,0,0,0.2); + box-shadow:0 -2px 5px -2px rgba(0,0,0,0.2) +} +.lang-rtl #stickymenu_bottom_mobile { + right:0; + left:auto +} +#stickymenu_bottom_mobile .stickymenu-item { + width:70px +} +#stickymenu_bottom_mobile .stickymenu-item a { + display:inline-block; + position:relative +} +#stickymenu_bottom_mobile .stickymenu-item i { + font-size:23px; + color:#000; + background:transparent; + width:auto; + height:auto; + margin:0; + vertical-align:top; + margin-bottom:2px +} +#stickymenu_bottom_mobile .stickymenu-item i.icon-home { + display:block; + width:21px; + height:18px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-sticky-menu_mb.png?v=9783078890745864067) no-repeat; + background-position:0 0; + margin:0 auto 5px +} +#stickymenu_bottom_mobile .stickymenu-item i.icon-wishlist { + display:block; + width:19px; + height:18px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-sticky-menu_mb.png?v=9783078890745864067) no-repeat; + background-position:0 -21px; + margin:0 auto 5px +} +#stickymenu_bottom_mobile .stickymenu-item i.icon-shopping-cart { + display:block; + width:18px; + height:18px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-sticky-menu_mb.png?v=9783078890745864067) no-repeat; + background-position:0 -41px; + margin:0 auto 5px +} +#stickymenu_bottom_mobile .stickymenu-item i.icon-account { + display:block; + width:17px; + height:17px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-sticky-menu_mb.png?v=9783078890745864067) no-repeat; + background-position:0 -62px; + margin:0 auto 5px +} +#stickymenu_bottom_mobile .stickymenu-item i.icon-arrow-up { + display:block; + width:15px; + height:13px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-sticky-menu_mb.png?v=9783078890745864067) no-repeat; + background-position:0 -81px; + margin:0 auto 5px +} +#stickymenu_bottom_mobile .stickymenu-item span, +#stickymenu_bottom_mobile .stickymenu-item .on_top { + display:block; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:10px; + line-height:1; + color:#bebebe +} +#stickymenu_bottom_mobile .stickymenu-item .cart-products-count { + position:absolute; + top:-4px; + right:-10px; + bottom:inherit; + background:#0d7a52; + width:16px; + height:16px; + -webkit-border-radius:50%; + -moz-border-radius:50%; + -ms-border-radius:50%; + -o-border-radius:50%; + border-radius:50%; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center +} +.lang-rtl #stickymenu_bottom_mobile .stickymenu-item .cart-products-count { + left:-10px; + right:auto +} +#stickymenu_bottom_mobile .stickymenu-item .cart-products-count span { + color:#fff +} +#stickymenu_bottom_mobile .stickymenu-item .header-cart { + display:inline-block; + position:relative +} +#stickymenu_bottom_mobile .stickymenu-item .title-cart { + font-size:10px; + text-transform:capitalize; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif +} +#stickymenu_bottom_mobile .stickymenu-item:hover a { + color:#78b144; + text-decoration:none +} +#stickymenu_bottom_mobile .stickymenu-item:hover a i { + color:#78b144 +} +#stickymenu_bottom_mobile #back_top { + position:initial +} +#stickymenu_bottom_mobile #back_top>span { + width:initial; + height:initial; + border:none; + padding:0 +} +#stickymenu_bottom_mobile #back_top:hover span { + background:initial +} +#_mobile_sidebarmenu_content { + width:230px +} +.btn-mobile_vertical_menu { + color:#222; + text-align:center; + font-size:19px; + margin-right:15px +} +.lang-rtl .btn-mobile_vertical_menu { + margin-left:15px; + margin-right:inherit +} +@media (max-width: 767px) { + #_mobile_vertical_menu { + position:fixed; + width:250px; + height:100vh; + max-height:inherit; + overflow:auto; + top:0; + left:-250px; + -webkit-transition:all 0.3s linear; + -moz-transition:all 0.3s linear; + -ms-transition:all 0.3s linear; + -o-transition:all 0.3s linear; + transition:all 0.3s linear; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + z-index:9999; + padding:30px 15px 70px; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + border:none; + visibility:initial; + background-color:white + } + .lang-rtl #_mobile_vertical_menu { + right:-250px; + left:auto + } + #_mobile_vertical_menu .site-nav li:first-child { + border-top:none + } + #_mobile_vertical_menu li { + padding:0; + position:relative + } + #_mobile_vertical_menu li .site-nav__dropdown { + position:static; + width:100% !important; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + -webkit-box-shadow:none; + -moz-box-shadow:none; + -ms-box-shadow:none; + -o-box-shadow:none; + box-shadow:none; + padding:0; + background:none !important; + display:none; + -webkit-transition:none; + -moz-transition:none; + -ms-transition:none; + -o-transition:none; + transition:none + } + #_mobile_vertical_menu li.site-nav--has-dropdown.hasMegaMenu .megaMenu { + margin-left:0 + } + .lang-rtl #_mobile_vertical_menu li.site-nav--has-dropdown.hasMegaMenu .megaMenu { + margin-right:0; + margin-left:inherit + } + #_mobile_vertical_menu .show_sub { + top:12px; + right:-5px + } + .lang-rtl #_mobile_vertical_menu .show_sub { + left:-5px; + right:auto + } + #_mobile_vertical_menu .show_sub i { + font-size:19px + } + #_mobile_vertical_menu .menuTitle.has_child { + margin-top:0 + } + #_mobile_vertical_menu.active { + left:0; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1 + } + .lang-rtl #_mobile_vertical_menu.active { + right:0; + left:auto + } + .sidebar .title-block { + font-size:16px + } + #NovBreadcrumbs { + margin-bottom:30px + } + #NovBreadcrumbs h1 { + font-size:18px; + margin-bottom:20px + } + .pagination { + -webkit-box-align:center !important; + -webkit-align-items:center !important; + -ms-flex-align:center !important; + align-items:center !important + } + .product-single__info { + margin-top:20px + } + .group-reviews { + font-size:11px + } + .group-reviews>div:not(:last-child) { + margin-right:10px + } + .lang-rtl .group-reviews>div:not(:last-child) { + margin-left:10px; + margin-right:inherit + } + .group-reviews .label-review { + font-size:10px + } + .blog--list-view .article--listing { + display:block + } + .blog--list-view .article--listing>div { + margin-right:0 !important + } + .lang-rtl .blog--list-view .article--listing>div { + margin-left:0 !important; + margin-right:inherit + } + .blog--list-view .article--listing .media-body { + margin-top:15px + } + .article__thumnail { + margin-bottom:15px + } + .article__title { + margin-bottom:10px + } + .BlogRelated .title-block { + font-size:1.8rem + } +} diff --git a/src/WebApp/AspnetRunBasics/wwwroot/css/style.css b/src/WebApp/AspnetRunBasics/wwwroot/css/style.css index ab7b191e..7fcf68bd 100644 --- a/src/WebApp/AspnetRunBasics/wwwroot/css/style.css +++ b/src/WebApp/AspnetRunBasics/wwwroot/css/style.css @@ -58,3 +58,18 @@ footer { footer a { color: #f8f9fa!important } + +.clean-btn { + background: none; + color: inherit; + border: none; + padding: 0; + font: inherit; + cursor: pointer; + outline: inherit; +} + +.cartimagesmall{ + width:92px; + height:92px; +} diff --git a/src/WebApp/AspnetRunBasics/wwwroot/css/theme.css b/src/WebApp/AspnetRunBasics/wwwroot/css/theme.css new file mode 100644 index 00000000..adedec24 --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/css/theme.css @@ -0,0 +1,14693 @@ +.clearfix { + *zoom:1 +} +.clearfix::after { + content:''; + display:table; + clear:both +} +.visually-hidden { + position:absolute !important; + overflow:hidden; + clip:rect(0 0 0 0); + width:1px; + height:1px; + margin:-1px; + padding:0; + border:0 +} +.visibility-hidden { + visibility:hidden +} +.focus-hidden:focus { + outline:none +} +.form-control:focus { + color:#495057; + background-color:#fff; + border-color:#ced4da; + outline:0; + box-shadow:none +} +.close { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1 +} +* { + outline:none +} +html { + font-size:62.5% +} +@media (max-width: 767px) { + html { + font-size:50% + } +} +.skip-link:focus { + clip:auto; + width:auto; + height:auto; + margin:0; + color:#666; + background-color:#fff; + padding:10px; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + z-index:10000; + transition:none +} +.process-loading { + height:0; + display:none +} +.process-loading:before { + content:""; + background:rgba(255,255,255,0.6); + top:70px; + left:0; + right:0; + bottom:0; + position:absolute; + z-index:1 +} +.process-loading .loader { + position:absolute; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%); + z-index:2 +} +.lang-rtl .process-loading .loader { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.process-loading .loader .dot { + width:20px; + height:20px; + background:#0d7a52; + border-radius:100%; + display:inline-block; + animation:nov-slide 1s infinite +} +.process-loading .loader .dot:nth-child(1) { + animation-delay:0.1s; + background:rgba(13,122,82,0.2) +} +.process-loading .loader .dot:nth-child(2) { + animation-delay:0.2s; + background:rgba(13,122,82,0.4) +} +.process-loading .loader .dot:nth-child(3) { + animation-delay:0.3s; + background:rgba(13,122,82,0.6) +} +.process-loading .loader .dot:nth-child(4) { + animation-delay:0.4s; + background:rgba(13,122,82,0.8) +} +.process-loading .loader .dot:nth-child(5) { + animation-delay:0.5s; + background:#0d7a52 +} +.process-loading.active { + height:60px; + display:block +} +.box { + background:no-repeat; + background-color:#f7f7f7; + background-size:contain +} +.ratio-container { + position:relative +} +.ratio-container:after { + content:''; + display:block; + height:0; + width:100%; + padding-bottom:50%; + content:"" +} +.ratio-container>* { + position:absolute; + top:0; + left:0; + width:100%; + height:100% +} +@media (min-width: 1200px) { + .container { + width:1200px; + max-width:100% + } +} +.modal-dialog .modal-content { + -webkit-border-radius:7px; + -moz-border-radius:7px; + -ms-border-radius:7px; + -o-border-radius:7px; + border-radius:7px; + border:none +} +.modal-dialog .modal-body { + padding:10px +} +.modal-dialog.modal-lg .modal-content { + min-width:830px +} +input, +select, +textarea { + display:block; + width:100%; + border:1px solid #e3e0d3; + background-color:#fff; + color:#162950; + max-width:100%; + line-height:1.2; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + padding:13px 15px +} +input:-webkit-autofill, +input:-webkit-autofill:hover, +input:-webkit-autofill:focus textarea:-webkit-autofill, +textarea:-webkit-autofill:hover, +textarea:-webkit-autofill:focus, +select:-webkit-autofill, +select:-webkit-autofill:hover, +select:-webkit-autofill:focus { + -webkit-box-shadow:0 0 0px 1000px #f2f2f2 inset; + transition:background-color 5000s ease-in-out 0s +} +.form-vertical .title_block { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:2.4rem; + color:#222; + text-transform:none +} +.form-vertical input, +.form-vertical select, +.form-vertical textarea { + display:inline-block; + margin-bottom:30px +} +.form-vertical input.btn-send { + background:#0d7a52; + color:#fff; + border:none +} +.form-vertical input.btn-send:hover { + background:#df6666 +} +body { + font-size:1.3rem; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + color:#666; + line-height:1.5; + font-weight:400 +} +body.show-boxpage { + overflow:hidden +} +body.loading { + position:relative +} +body.loading:before { + content:''; + display:block; + width:120px; + height:120px; + background-image:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/loading_option.svg?v=16852275140268827779); + background-repeat:no-repeat; + background-position:center; + background-size:cover; + display:inline-block; + position:fixed; + top:50%; + left:50%; + transform:translate(-50%, -50%); + z-index:999 +} +body.loading .canvas-overlay { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible +} +body.cart_popup_opened.loading .canvas-overlay { + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden +} +.rte { + color:#666; + margin-bottom:20px +} +.rte:last-child { + margin-bottom:0 +} +.rte li { + margin-bottom:4px; + list-style:inherit +} +.rte li:last-child { + margin-bottom:0 +} +.rte-setting { + margin-bottom:10px +} +.rte-setting:last-child { + margin-bottom:0 +} +.rte-setting p { + font-size:1.4rem; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + color:#6c6c6c +} +.icon { + display:inline-block; + width:20px; + height:20px; + vertical-align:middle; + fill:currentColor +} +.no-svg .icon { + display:none +} +svg.icon:not(.icon--full-color) circle, +svg.icon:not(.icon--full-color) ellipse, +svg.icon:not(.icon--full-color) g, +svg.icon:not(.icon--full-color) line, +svg.icon:not(.icon--full-color) path, +svg.icon:not(.icon--full-color) polygon, +svg.icon:not(.icon--full-color) polyline, +svg.icon:not(.icon--full-color) rect, +symbol.icon:not(.icon--full-color) circle, +symbol.icon:not(.icon--full-color) ellipse, +symbol.icon:not(.icon--full-color) g, +symbol.icon:not(.icon--full-color) line, +symbol.icon:not(.icon--full-color) path, +symbol.icon:not(.icon--full-color) polygon, +symbol.icon:not(.icon--full-color) polyline, +symbol.icon:not(.icon--full-color) rect { + fill:inherit; + stroke:inherit +} +.tooltip.show { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + padding:0 +} +.tooltip>.tooltip-inner { + background-color:#fff; + color:#222; + padding:5px 20px; + font-size:10px; + text-transform:capitalize; + margin-bottom:10px; + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px; + box-shadow:0 0 5px rgba(34,34,34,0.35) +} +.bs-tooltip-auto[x-placement^=top] .arrow, +.bs-tooltip-top .arrow { + bottom:6px +} +.bs-tooltip-auto[x-placement^=top] .arrow::before, +.bs-tooltip-top .arrow::before { + bottom:-10px; + border-width:5px; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%); + border-top-color:#fff +} +.lang-rtl .bs-tooltip-auto[x-placement^=top] .arrow::before, +.lang-rtl .bs-tooltip-top .arrow::before { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.shopify-challenge__container { + max-width:1200px !important; + margin:auto; + background:#fff; + padding:125px 0; + position:relative; + z-index:2 +} +.no-svg .icon__fallback-text { + position:static !important; + overflow:inherit; + clip:none; + width:auto; + height:auto; + margin:0 +} +a { + color:#666; + display:inline-block +} +a:hover { + text-decoration:none; + color:#0d7a52; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +a.classic-link { + text-decoration:underline +} +i { + display:inline-block +} +.btn { + -moz-user-select:none; + -ms-user-select:none; + -webkit-user-select:none; + user-select:none; + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + display:inline-block; + width:auto; + text-decoration:none; + text-align:center; + vertical-align:middle; + cursor:pointer; + border:1px solid transparent; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + padding:10px 20px 10px; + background-color:#000; + color:#fff; + font-weight:600; + white-space:normal; + text-transform:uppercase; + font-size:11px +} +.btn:hover { + background-color:#0d7a52; + -webkit-box-shadow:none; + -moz-box-shadow:none; + -ms-box-shadow:none; + -o-box-shadow:none; + box-shadow:none; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease; + border-color:transparent +} +.btn[disabled], +.btn.disabled { + cursor:default; + @inclide opacity(0.6); + ; + background-color:#000; + color:#fff; + pointer-events:none +} +a.btn:hover { + color:#fff; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +button:focus { + outline:none +} +button[disabled], +button.disabled { + cursor:default; + filter:alpha(opacity=65); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=65)"; + -webkit-opacity:0.65; + -moz-opacity:0.65; + -ms-opacity:0.65; + -o-opacity:0.65; + opacity:0.65; + background-color:#000; + color:#fff; + pointer-events:none +} +.btn:focus { + outline:0; + box-shadow:none +} +.btn-primary:focus { + box-shadow:none !important +} +@media (min-width: 750px) { + .btn, + .shopify-payment-button .shopify-payment-button__button--unbranded { + padding:10px 18px + } +} +.btn--secondary { + background-color:transparent; + color:#557b97; + border:1px solid #557b97; + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px; + letter-spacing:1px; + font-size:13px +} +.btn--secondary span { + font-size:13px +} +.btn--small { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + padding:8px 10px; + font-size:9.23077em; + line-height:1 +} +.btn--link { + background-color:transparent; + border:0; + margin:0; + color:#666; + text-align:left +} +.lang-rtl .btn--link { + text-align:right +} +.btn--link:hover, +.btn--link:focus { + opacity:1; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +.btn--link .icon { + vertical-align:middle +} +.btn--disabled { + filter:alpha(opacity=50); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + -webkit-opacity:0.5; + -moz-opacity:0.5; + -ms-opacity:0.5; + -o-opacity:0.5; + opacity:0.5; + cursor:default +} +.btn--disabled:hover, +.btn--disabled:focus { + filter:alpha(opacity=50); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + -webkit-opacity:0.5; + -moz-opacity:0.5; + -ms-opacity:0.5; + -o-opacity:0.5; + opacity:0.5 +} +.btn-primary:not(:disabled):not(.disabled).active, +.btn-primary:not(:disabled):not(.disabled):active, +.show>.btn-primary.dropdown-toggle { + color:#fff; + background-color:#0d7a52; + border-color:#0d7a52 +} +.account-list { + padding:0 +} +.account-list ul { + list-style:none; + padding:0; + margin-bottom:0; + background:#fff +} +.account-list .close-group-account { + text-align:center; + cursor:pointer +} +.account-list .close-group-account i { + font-size:24px; + color:#222 +} +.account-list .account-list-content { + text-align:left +} +.lang-rtl .account-list .account-list-content { + text-align:right +} +.account-list .account-list-content>div, +.account-list .account-list-content .link_wishlist { + border-bottom:1px solid #f4f4f4; + padding:10px 15px 10px 25px +} +.lang-rtl .account-list .account-list-content>div, +.lang-rtl .account-list .account-list-content .link_wishlist { + padding:10px 25px 10px 15px +} +.account-list .account-list-content>div a, +.account-list .account-list-content .link_wishlist a { + text-transform:capitalize; + font-size:1.2rem +} +.account-list .account-list-content>div a:hover, +.account-list .account-list-content .link_wishlist a:hover { + background:#fff; + color:#0d7a52; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +.account-list .account-list-content>div a:hover i, +.account-list .account-list-content .link_wishlist a:hover i { + color:#0d7a52 +} +.account-list .account-list-content>div i, +.account-list .account-list-content .link_wishlist i { + color:#78b144; + margin-right:20px; + min-width:13px; + font-size:14px +} +.account-list .account-list-content>div span, +.account-list .account-list-content .link_wishlist span { + display:inline-block; + vertical-align:middle +} +.account-list .account-list-content>div.currency-selector, +.account-list .account-list-content .link_wishlist.currency-selector { + border-bottom:none; + margin-top:25px +} +.account-list .account-list-content>div.language-selector, +.account-list .account-list-content .link_wishlist.language-selector { + border-bottom:none +} +.account-list .account-list-content>div:last-child { + border-bottom:none +} +.account-list .account-list-content .groups-selector { + margin-left:0 +} +.account-list .account-list-content .groups-selector .dropdown-toggle { + display:none +} +.account-list .account-list-content .groups-selector .dropdown-menu { + display:block +} +.account-list.dropdown-menu { + min-width:220px; + -webkit-box-shadow:0 0 10px rgba(0,0,0,0.1); + -moz-box-shadow:0 0 10px rgba(0,0,0,0.1); + -ms-box-shadow:0 0 10px rgba(0,0,0,0.1); + -o-box-shadow:0 0 10px rgba(0,0,0,0.1); + box-shadow:0 0 10px rgba(0,0,0,0.1); + border:none; + overflow:hidden; + top:67px !important; + display:block; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden; + right:0; + -webkit-transition:all 0.3s linear; + -moz-transition:all 0.3s linear; + -ms-transition:all 0.3s linear; + -o-transition:all 0.3s linear; + transition:all 0.3s linear; + left:inherit !important; + max-height:0; + -ms-transform:none !important; + -webkit-transform:none !important; + transform:none !important; + margin:0; + -webkit-border-radius:5px; + -moz-border-radius:5px; + -ms-border-radius:5px; + -o-border-radius:5px; + border-radius:5px +} +.account-list.dropdown-menu.show { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible; + max-height:285px +} +#CustomerAccountForm .modal-dialog { + max-width:830px; + margin:0 auto +} +#CustomerAccountForm .modal-dialog .modal-content { + margin-top:50vh; + -webkit-transform:translate(0, -50%); + -ms-transform:translate(0, -50%); + transform:translate(0, -50%); + -webkit-box-shadow:0 0 20px rgba(0,0,0,0.55); + -moz-box-shadow:0 0 20px rgba(0,0,0,0.55); + -ms-box-shadow:0 0 20px rgba(0,0,0,0.55); + -o-box-shadow:0 0 20px rgba(0,0,0,0.55); + box-shadow:0 0 20px rgba(0,0,0,0.55); + max-height:500px; + padding:15px; + position:relative +} +#CustomerAccountForm .modal-dialog .modal-body { + padding:28px 15px; + overflow-y:hidden +} +@media (max-width: 991px) { + #CustomerAccountForm .modal-dialog .modal-body { + overflow-y:auto + } +} +#CustomerAccountForm .modal-dialog .modal-header button { + color:#aaa; + font-size:2.5rem; + background:none; + top:0; + right:-1px +} +#CustomerAccountForm .modal-dialog .modal-header button:hover { + color:#0d7a52 +} +#CustomerAccountForm .title_block { + font-size:1.6rem; + color:#222; + font-weight:bold; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + margin:0 0 13px 0; + border-bottom:1px solid #e5e5e8; + position:relative; + padding-bottom:8px +} +#CustomerAccountForm .title_block:after { + content:''; + display:block; + width:170px; + height:1px; + background:#0d7a52; + position:absolute; + bottom:-1px; + left:0 +} +#CustomerAccountForm .sub-title { + font-size:13px; + color:#222; + font-weight:400; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + margin:0 0 14px 0 +} +#CustomerAccountForm .errors { + margin-bottom:10px +} +#CustomerAccountForm .errors ul { + padding-left:17px +} +#CustomerAccountForm .errors ul li { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:13px; + color:#0d7a52 +} +#CustomerAccountForm .block-form-login { + margin-top:0 +} +#CustomerAccountForm .block-form-login .title_form { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + color:#222; + font-weight:400; + margin:0 0 15px +} +#CustomerAccountForm .block-form-login .form-group { + margin-bottom:10px; + margin-right:50px +} +#CustomerAccountForm .block-form-login .btn { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:12px; + text-transform:uppercase; + color:#fff; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px; + padding:12px 0; + min-width:118px; + background:#0d7a52 +} +#CustomerAccountForm .block-form-login .btn:hover { + background:#0b6343; + -webkit-transition:all 0.3s ease; + -moz-transition:all 0.3s ease; + -ms-transition:all 0.3s ease; + -o-transition:all 0.3s ease; + transition:all 0.3s ease +} +#CustomerAccountForm .submit_login p { + margin:12px 0 30px 0 +} +#CustomerAccountForm .submit_login p #RecoverPassword { + font-size:13px; + color:#505050; + font-weight:500; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#CustomerAccountForm .submit_login p #RecoverPassword strong { + font-size:13px; + color:#1b191d; + font-weight:600; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#CustomerAccountForm .submit_login p #RecoverPassword strong:hover { + color:#0b6343; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +#CustomerAccountForm .title-register { + text-align:center; + margin:13px 0 0px 0 +} +#CustomerAccountForm .title-register .title_block { + font-size:13px; + color:#505050; + font-weight:500; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + text-transform:none +} +#CustomerAccountForm .title-register a { + font-size:13px; + color:#1b191d; + font-weight:600; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + text-transform:none +} +#CustomerAccountForm #customer_login .novform-password { + position:relative +} +#CustomerAccountForm #customer_login .novform-password .hide_show_password { + position:absolute; + top:1px; + right:1px; + width:44px; + height:44px; + line-height:44px; + background:#e9e9e9; + -webkit-border-radius:0 2px 2px 0; + -moz-border-radius:0 2px 2px 0; + -ms-border-radius:0 2px 2px 0; + -o-border-radius:0 2px 2px 0; + border-radius:0 2px 2px 0 +} +#CustomerAccountForm #customer_login .novform-password .hide_show_password i { + color:#222; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + height:100% +} +#CustomerAccountForm #customer_login .novform-password .hide_show_password:hover { + background:#0d7a52 +} +#CustomerAccountForm #customer_login .novform-password .hide_show_password:hover i { + color:#fff +} +#CustomerAccountForm #customer_login .forgot_password { + margin:21px 0 29px +} +#CustomerAccountForm .forgot_password { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + margin:21px 0 29px +} +#CustomerAccountForm .forgot_password i { + font-size:1.6rem; + color:#656565; + margin-right:8px +} +#CustomerAccountForm .forgot_password a { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + font-weight:400; + color:#bbb; + cursor:context-menu +} +#CustomerAccountForm .forgot_password a strong { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + font-weight:bold; + color:#6aa1da; + cursor:pointer +} +#CustomerAccountForm .forgot_password a strong:hover { + color:#0d7a52 +} +@media (max-width: 991px) { + #CustomerAccountForm { + max-width:100%; + margin:0 20px + } + #CustomerAccountForm .modal-dialog .modal-body { + padding:0 15px + } + #CustomerAccountForm .modal-dialog .modal-content { + max-height:450px + } +} +#customer_login .modal-dialog { + max-width:830px; + margin:0 auto +} +#customer_login .modal-dialog .modal-content { + margin-top:50vh; + -webkit-transform:translate(0, -50%); + -ms-transform:translate(0, -50%); + transform:translate(0, -50%); + -webkit-box-shadow:0 0 20px rgba(0,0,0,0.55); + -moz-box-shadow:0 0 20px rgba(0,0,0,0.55); + -ms-box-shadow:0 0 20px rgba(0,0,0,0.55); + -o-box-shadow:0 0 20px rgba(0,0,0,0.55); + box-shadow:0 0 20px rgba(0,0,0,0.55); + max-height:500px; + padding:15px; + position:relative +} +#customer_login .modal-dialog .modal-body { + padding:28px 15px +} +#customer_login .modal-dialog .modal-header button { + color:#aaa; + font-size:2.5rem; + font-weight:200; + background:none; + top:0; + right:-1px +} +#customer_login .modal-dialog .modal-header button:hover { + color:#0d7a52 +} +#customer_login .title-login { + margin:0 0 13px +} +#customer_login .title_block { + font-size:1.6rem; + color:#222; + font-weight:bold; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + margin:0; + border-bottom:1px solid #e5e5e8; + position:relative; + padding-bottom:8px; + margin-bottom:15px +} +#customer_login .title_block:after { + content:''; + display:block; + width:170px; + height:1px; + background:#0d7a52; + position:absolute; + bottom:-1px; + left:0 +} +#customer_login .sub-title { + font-size:13px; + color:#222; + font-weight:400; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + margin:0 0 4px +} +#customer_login .errors { + margin-bottom:10px +} +#customer_login .errors ul { + padding-left:17px +} +#customer_login .errors ul li { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:13px; + color:#0d7a52 +} +#customer_login .block-form-login .title_form { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + color:#222; + font-weight:400; + margin:0 0 15px +} +#customer_login .block-form-login .form-group { + margin-bottom:10px; + margin-right:50px +} +#customer_login .block-form-login .btn { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:12px; + text-transform:uppercase; + color:#fff; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px; + padding:12px 0; + min-width:118px; + background:#222 +} +#customer_login .block-form-login .btn:hover { + background:#0d7a52; + -webkit-transition:all 0.3s ease; + -moz-transition:all 0.3s ease; + -ms-transition:all 0.3s ease; + -o-transition:all 0.3s ease; + transition:all 0.3s ease +} +#customer_login .submit_login p { + margin:12px 0 30px 0 +} +#customer_login .submit_login p #RecoverPassword { + font-size:13px; + color:#505050; + font-weight:500; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#customer_login .submit_login p #RecoverPassword strong { + font-size:13px; + color:#1b191d; + font-weight:600; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#customer_login .submit_login p #RecoverPassword strong:hover { + color:#0d7a52; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +#customer_login .title-register { + text-align:center; + margin:13px 0 0px 0 +} +#customer_login .title-register .title_block { + font-size:13px; + color:#505050; + font-weight:500; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + text-transform:none +} +#customer_login .title-register a { + font-size:13px; + color:#1b191d; + font-weight:600; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + text-transform:none +} +#customer_login .novform-password { + position:relative +} +#customer_login .novform-password .hide_show_password { + position:absolute; + top:1px; + right:1px; + width:44px; + height:44px; + line-height:44px; + background:#e9e9e9; + -webkit-border-radius:0 2px 2px 0; + -moz-border-radius:0 2px 2px 0; + -ms-border-radius:0 2px 2px 0; + -o-border-radius:0 2px 2px 0; + border-radius:0 2px 2px 0 +} +#customer_login .novform-password .hide_show_password i { + color:#222; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + height:100% +} +#customer_login .novform-password .hide_show_password:hover { + background:#0d7a52 +} +#customer_login .novform-password .hide_show_password:hover i { + color:#fff +} +#customer_login .forgot_password { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + margin:20px 0 0 +} +#customer_login .forgot_password i { + font-size:1.6rem; + color:#656565; + margin-right:8px +} +#customer_login .forgot_password a { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + font-weight:400; + color:#bbb; + cursor:context-menu +} +#customer_login .forgot_password a strong { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + font-weight:bold; + color:#6aa1da; + cursor:pointer +} +#customer_login .forgot_password a strong:hover { + color:#0d7a52 +} +#customer_login .bank_register { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:12px; + color:#222; + margin:10px 0 20px +} +#customer_login .bank_register a { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:12px; + color:#6aa1da +} +#customer_login .bank_register a:hover { + color:#0d7a52 +} +#create_customer .title_block { + font-size:1.6rem; + color:#222; + font-weight:bold; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + margin:0 0 13px 0; + border-bottom:1px solid #e5e5e8; + position:relative; + padding-bottom:8px +} +#create_customer .title_block:after { + content:''; + display:block; + width:170px; + height:1px; + background:#0d7a52; + position:absolute; + bottom:-1px; + left:0 +} +#create_customer .sub-title { + font-size:13px; + color:#222; + font-weight:400; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + margin:0 0 14px 0 +} +#create_customer .errors { + margin-bottom:10px +} +#create_customer .errors ul { + padding-left:17px +} +#create_customer .errors ul li { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:13px; + color:#0d7a52 +} +#create_customer .block-form-register .form_submit input { + padding:12px 0; + min-width:118px; + background:#222; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px +} +#create_customer .block-form-register .form_submit input:hover { + background:#0d7a52 +} +#create_customer .block-form-register .novform-newsletter .custom_checkbox { + cursor:pointer +} +#create_customer .block-form-register .novform-newsletter .custom_checkbox:hover .custom-checkbox input { + border:1px solid #0d7a52 +} +#create_customer .block-form-register .novform-newsletter .custom_checkbox:hover .text { + color:#0d7a52 +} +#create_customer .bank_login { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:12px; + color:#222; + margin:10px 0 +} +#create_customer .bank_login a { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:12px; + color:#6aa1da +} +#create_customer .bank_login a:hover { + color:#0d7a52 +} +#RecoverPasswordForm .title { + font-size:1.6rem; + color:#222; + font-weight:bold; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + margin:0 0 13px 0; + border-bottom:1px solid #e5e5e8; + position:relative; + padding-bottom:8px +} +#RecoverPasswordForm .title:after { + content:''; + display:block; + width:170px; + height:1px; + background:#105caa; + position:absolute; + bottom:-1px; + left:0 +} +#RecoverPasswordForm p { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + color:#222; + font-weight:400 +} +#RecoverPasswordForm .form-vertical .errors li { + padding:0 0 10px; + color:#0d7a52 +} +#RecoverPasswordForm .form-vertical .novform-email { + margin:20px 0 30px +} +#RecoverPasswordForm .groups-sub { + margin-top:35px +} +#RecoverPasswordForm .groups-sub input { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:12px; + text-transform:uppercase; + color:#fff; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px; + padding:12px 0; + min-width:118px; + background:#0d7a52; + margin:0; + margin-left:0; + margin-right:20px +} +.lang-rtl #RecoverPasswordForm .groups-sub input { + margin-left:20px; + margin-right:0 +} +#RecoverPasswordForm .groups-sub input:hover { + background:#0d7a52 +} +#RecoverPasswordForm .groups-sub button { + margin:0; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:12px; + text-transform:uppercase; + color:#fff; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px; + padding:12px 0; + min-width:118px; + max-height:44px; + background:#0d7a52; + border:none +} +#RecoverPasswordForm .groups-sub button:hover { + background:#0b6343 +} +#RecoverPasswordFormIndex .title { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + color:#222; + font-weight:400; + margin-bottom:13px +} +#RecoverPasswordFormIndex .groups-sub input { + margin-right:20px +} +#RecoverPasswordFormIndex .groups-sub button { + border:none +} +#RecoverPasswordFormIndex .groups-sub input, +#RecoverPasswordFormIndex .groups-sub button { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:12px; + text-transform:uppercase; + color:#fff; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px; + padding:12px 0; + min-width:118px; + background:#222; + margin:0; + margin-left:0; + margin-right:20px +} +.lang-rtl #RecoverPasswordFormIndex .groups-sub input, +.lang-rtl #RecoverPasswordFormIndex .groups-sub button { + margin-left:20px; + margin-right:0 +} +#RecoverPasswordFormIndex .groups-sub input:hover, +#RecoverPasswordFormIndex .groups-sub button:hover { + background:#0d7a52 +} +.overflow-hidden { + overflow:hidden !important +} +#_desktop_currency_selector { + min-width:75px; + border:none; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + padding:0; + margin:0; + top:calc(100% + 8px) !important; + left:initial !important; + right:0 !important; + transform:initial !important +} +#_desktop_currency_selector span { + display:block; + font-size:10px; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + color:#222; + padding:11.3px 15px; + cursor:pointer; + -webkit-transition:all 0.2s linear; + -moz-transition:all 0.2s linear; + -ms-transition:all 0.2s linear; + -o-transition:all 0.2s linear; + transition:all 0.2s linear; + text-transform:uppercase; + text-align:center +} +#_desktop_currency_selector span:not(:last-child) { + border-bottom:1px solid #ececec +} +#_desktop_currency_selector span:hover, +#_desktop_currency_selector span.selected { + color:#0d7a52 +} +#_desktop_currency_selector #currencies.list-inline { + padding:12px 0 +} +#_desktop_currency_selector #currencies.list-inline .list-inline-item:not(:last-child) { + margin-right:17px +} +#_desktop_currency_selector #currencies.list-inline span { + padding:0 +} +#_desktop_currency_selector #currencies.list-inline span:hover, +#_desktop_currency_selector #currencies.list-inline span.selected { + color:#0d7a52; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +svg:not(:root) { + overflow:hidden +} +.title_block { + font-size:2.8rem; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + color:#222; + line-height:1; + text-transform:capitalize; + margin-bottom:45px +} +.title_block .sub_title { + font-weight:500; + display:block; + text-transform:initial; + font-size:1.3rem; + color:#666; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + margin-top:10px; + line-height:1.5 +} +.site-nav { + padding:0; + list-style-type:none +} +.site-nav>li { + display:inline-block; + padding:0 18px +} +.site-nav>li>a { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + line-height:1; + position:relative; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease; + display:block; + font-size:1.1rem; + text-transform:uppercase; + padding:24px 0; + font-weight:600 +} +.site-nav>li>a:before { + content:""; + position:absolute; + bottom:0; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%); + width:0; + height:2px; + background-color:#0d7a52; + -webkit-transition:all 0.3s; + -moz-transition:all 0.3s; + -ms-transition:all 0.3s; + -o-transition:all 0.3s; + transition:all 0.3s +} +.lang-rtl .site-nav>li>a:before { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.site-nav>li:first-child { + padding-left:0 +} +.site-nav>li.site-nav--active>a, +.site-nav>li:hover>a { + color:#0d7a52 +} +.site-nav>li.site-nav--active>a:before, +.site-nav>li:hover>a:before { + width:100% +} +.site-nav>li .icon_nav { + margin-right:5px; + display:inline-block +} +.site-nav>li .group_title { + display:initial +} +@media (max-width: 991px) { + .site-nav>li { + padding:0 10px + } +} +.site-nav__link .zmdi-chevron-down { + width:8px; + height:8px; + margin-left:2px +} +.site-nav__link.site-nav--active-dropdown { + border:1px solid #e0e0e0; + border-bottom:1px solid transparent; + z-index:2 +} +.site-nav--active-dropdown .zmdi-chevron-down:before { + content:'\f2fc' +} +.site-nav__dropdown { + opacity:0; + visibility:hidden; + position:absolute; + margin:0; + z-index:7; + background:#fff; + text-align:left; + top:calc(100% + 20px); + left:0; + -webkit-box-shadow:0 0 15px rgba(0,0,0,0.1); + -moz-box-shadow:0 0 15px rgba(0,0,0,0.1); + -ms-box-shadow:0 0 15px rgba(0,0,0,0.1); + -o-box-shadow:0 0 15px rgba(0,0,0,0.1); + box-shadow:0 0 15px rgba(0,0,0,0.1); + -webkit-transition:all 0.35s; + -moz-transition:all 0.35s; + -ms-transition:all 0.35s; + -o-transition:all 0.35s; + transition:all 0.35s; + min-width:220px +} +.lang-rtl .site-nav__dropdown { + text-align:right +} +.site-nav__dropdown .site-nav__link { + padding:7px 15px; + -webkit-transition:all 0.1s; + -moz-transition:all 0.1s; + -ms-transition:all 0.1s; + -o-transition:all 0.1s; + transition:all 0.1s; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.3rem; + color:#666; + display:block +} +.site-nav__dropdown .site-nav__link:hover { + background-color:#f4f4f4 +} +.site-nav__dropdown .site-nav__childlist-item { + position:relative +} +.site-nav__dropdown .site-nav__childlist-item .show_sub { + top:2px +} +.site-nav__dropdown .site-nav__childlist-item .site-nav__dropdown-children { + position:absolute; + left:100%; + top:10px; + opacity:0; + visibility:hidden; + width:max-content; + min-width:200px; + padding:0 5px 15px; + -webkit-transition:all 0.3s; + -moz-transition:all 0.3s; + -ms-transition:all 0.3s; + -o-transition:all 0.3s; + transition:all 0.3s +} +.site-nav__dropdown .site-nav__childlist-item .site-nav__dropdown-children ul { + background-color:white +} +.site-nav__dropdown .site-nav__childlist-item:hover { + background-color:#f4f4f4 +} +.site-nav__dropdown .site-nav__childlist-item:hover .site-nav__dropdown-children { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible; + top:-15px +} +.site-nav__dropdown .site-nav--active-dropdown { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible; + top:100% +} +@media (max-width: 1199px) { + .site-nav__dropdown { + max-width:760px + } +} +@media (max-width: 991px) { + .site-nav__dropdown { + min-width:180px; + max-width:690px + } + .site-nav__dropdown .site-nav__childlist-item .site-nav__dropdown-children { + min-width:170px + } +} +.site-nav--has-dropdown { + position:relative +} +@media (min-width: 768px) { + .site-nav--has-dropdown>a:after { + content:"\f2f9"; + font-family:"Material-Design-Iconic-Font"; + margin-left:7px; + font-size:11px; + color:#c8c8c8 + } +} +.site-nav--has-dropdown .show_sub { + font-size:2.4rem; + color:#b3b4b3; + cursor:pointer; + padding:0 10px; + line-height:1; + position:absolute; + top:-4px; + right:0 +} +.site-nav--has-dropdown .show_sub i { + -webkit-transition:all 0.2s linear; + -moz-transition:all 0.2s linear; + -ms-transition:all 0.2s linear; + -o-transition:all 0.2s linear; + transition:all 0.2s linear +} +.site-nav--has-dropdown .show_sub:hover, +.site-nav--has-dropdown .show_sub.active { + color:#0d7a52 +} +.site-nav--has-dropdown ul { + padding:15px 5px 18px +} +.site-nav--has-dropdown ul li { + display:block +} +.site-nav--has-dropdown>ul>li:last-child>a { + padding-bottom:0 +} +.site-nav--has-dropdown:hover>a:after { + color:#0d7a52 +} +.site-nav--has-dropdown:hover .site-nav__dropdown { + opacity:1; + visibility:visible; + top:100%; + z-index:999 +} +.site-nav--has-dropdown.hasMegaMenu { + position:static +} +.site-nav--has-dropdown.hasMegaMenu .megaMenu { + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%); + padding:10px 40px 15px +} +.lang-rtl .site-nav--has-dropdown.hasMegaMenu .megaMenu { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.site-nav--has-dropdown.hasMegaMenu .menuTitle.has_child { + margin-bottom:20px +} +.site-nav--has-dropdown.hasMegaMenu .menuTitle.has_child a { + font-weight:700; + color:#78b144; + text-transform:uppercase +} +.site-nav--has-dropdown.hasMegaMenu .novMenuLinks li { + margin-bottom:10px +} +@media (min-width: 992px) { + body:not(.template-index) #_desktop_vertical_menu { + display:none + } +} +.vertical_dropdown { + cursor:pointer +} +.vertical_dropdown .title_vertical { + height:60px; + line-height:60px; + background-color:#0b6343; + padding-left:20px; + padding-right:20px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + -webkit-border-radius:40px; + -moz-border-radius:40px; + -ms-border-radius:40px; + -o-border-radius:40px; + border-radius:40px +} +.vertical_dropdown .title_vertical span { + cursor:pointer; + font-size:1.3rem; + font-weight:800; + text-transform:uppercase; + color:#76ad43 +} +.vertical_dropdown .title_vertical .zmdi-menu { + width:13.5px; + color:#ff9c00 +} +.vertical_dropdown .title_vertical i { + font-size:16px +} +@media (max-width: 991px) { + .vertical_dropdown .title_vertical { + padding-left:10px; + padding-right:10px + } + .vertical_dropdown .title_vertical span { + font-size:1.2rem + } +} +.vertical_dropdown.active .title_vertical .zmdi-menu:before { + content:"\f136" +} +.vertical_menu .site-nav>li { + display:block; + list-style-type:none; + margin:0; + max-height:initial; + padding:0 +} +.vertical_menu .site-nav>li.hide { + display:none +} +.vertical_menu .site-nav>li>a { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.5rem; + -webkit-transition:all 0.3s linear; + -moz-transition:all 0.3s linear; + -ms-transition:all 0.3s linear; + -o-transition:all 0.3s linear; + transition:all 0.3s linear; + text-transform:capitalize; + padding:16.5px 15px; + color:#222; + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex; + font-weight:600 +} +.vertical_menu .site-nav>li>a:before, +.vertical_menu .site-nav>li>a:after { + display:none +} +.vertical_menu .site-nav>li>a .sub_title_nav { + color:#909090; + font-weight:400; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.1rem; + margin-top:10px; + line-height:1.5 +} +.vertical_menu .site-nav>li:hover>a { + background-color:#eaf2ef +} +.vertical_menu .site-nav>li:not(:first-child)>a { + border-top:1px solid #e6e6e6 +} +.vertical_menu .site-nav>li.icon_menu>a:before { + display:none +} +.vertical_menu .site-nav>li.site-nav--has-dropdown .menuGroup .menuCol { + margin:28px 0 0 +} +.vertical_menu .site-nav>li.site-nav--has-dropdown .menuGroup .novMenuLinks { + padding-top:15px; + padding-bottom:15px; + padding-left:0; + margin:0 +} +.vertical_menu .site-nav>li.site-nav--has-dropdown:hover .site-nav__dropdown { + left:100% !important +} +.vertical_menu .site-nav>li .megaMenu, +.vertical_menu .site-nav>li .site-nav__dropdown { + left:calc(100% + 40px) !important; + top:0; + z-index:99; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + -webkit-transform:translateX(0) !important; + -moz-transform:translateX(0) !important; + -ms-transform:translateX(0) !important; + -o-transform:translateX(0) !important; + transform:translateX(0) !important; + background-color:transparent; + padding-left:15px +} +.vertical_menu .site-nav>li .megaMenu>ul, +.vertical_menu .site-nav>li .megaMenu>.site-nav__childlist, +.vertical_menu .site-nav>li .site-nav__dropdown>ul, +.vertical_menu .site-nav>li .site-nav__dropdown>.site-nav__childlist { + background-color:white +} +.vertical_menu .site-nav>li .megaMenu { + -webkit-box-shadow:none; + -moz-box-shadow:none; + -ms-box-shadow:none; + -o-box-shadow:none; + box-shadow:none; + padding:0; + padding-left:30px +} +.vertical_menu .site-nav>li .megaMenu .menuGroup { + background-color:white; + padding:30px; + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px +} +@media (min-width: 992px) { + .vertical_menu .site-nav>li:first-child>a { + border-radius:20px 20px 0 0 + } + .vertical_menu .site-nav>li.last>a { + border-radius:0 0 20px 20px + } +} +.vertical_menu .site-nav .icon_nav { + min-width:31px; + text-align:center; + margin-right:18px +} +.vertical_menu .site-nav .site-nav--has-dropdown.hasMegaMenu .menuGroup .row.spacing-30 [class*="col-"] { + padding:0 +} +.vertical_menu .show_more { + cursor:pointer; + color:#0d7a52; + font-weight:600; + padding:30px 18px; + border-top:1px solid #e6e6e6 +} +.vertical_menu .show_more.hidden { + display:none +} +@media (min-width: 992px) { + .vertical_menu { + position:absolute; + top:calc(100% + 20px); + z-index:99; + cursor:pointer; + width:270px; + background-color:white; + -webkit-box-shadow:0 0 10px rgba(0,0,0,0.15); + -moz-box-shadow:0 0 10px rgba(0,0,0,0.15); + -ms-box-shadow:0 0 10px rgba(0,0,0,0.15); + -o-box-shadow:0 0 10px rgba(0,0,0,0.15); + box-shadow:0 0 10px rgba(0,0,0,0.15); + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px; + display:none + } +} +@media (max-width: 1199px) { + .vertical_menu { + min-width:230px + } + .vertical_menu .site-nav>li>a { + font-size:11px; + min-height:40px + } + .vertical_menu .site-nav>li.site-nav--has-dropdown .menuGroup .menuCol { + margin:10px 0 0 + } + .vertical_menu .site-nav>li.site-nav--has-dropdown .menuGroup .novMenuLinks { + padding-top:15px + } + .vertical_menu .site-nav>li.site-nav--has-dropdown.hasMegaMenu .megaMenu { + width:710px !important; + margin-left:15px + } + .vertical_menu .site-nav>li.site-nav--has-dropdown:hover>a:after { + border-width:20px 0 20px 15px + } + .vertical_menu .site-nav>li .site-nav__dropdown { + margin-left:15px + } + .vertical_menu .sub_title_nav { + font-size:10px + } + .vertical_menu .site-nav--has-dropdown.hasMegaMenu .megaMenu .novMenuLinks li:not(.menuTitle) a .site-nav__link, + .vertical_menu .site-nav--has-dropdown.hasMegaMenu .megaMenu .novMenuLinks .site-nav__dropdown .site-nav__link { + font-size:11px + } + .vertical_menu .site-nav--has-dropdown.hasMegaMenu .megaMenu .novMenuLinks .menuTitle a { + font-size:13px; + padding:0 + } +} +@media (max-width: 991px) { + .vertical_menu:not(#_mobile_vertical_menu) { + position:fixed; + height:100vh; + overflow:auto; + top:0; + left:-270px; + z-index:9999; + padding:20px 5px 70px; + width:270px; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + border:none; + -webkit-transition:all 0.4s linear; + -moz-transition:all 0.4s linear; + -ms-transition:all 0.4s linear; + -o-transition:all 0.4s linear; + transition:all 0.4s linear; + background:#fff + } + .vertical_menu:not(#_mobile_vertical_menu) .site-nav { + padding:0 + } + .vertical_menu:not(#_mobile_vertical_menu) li { + position:relative + } + .vertical_menu:not(#_mobile_vertical_menu) li .site-nav__dropdown { + position:static; + width:100% !important; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + -webkit-box-shadow:none; + -moz-box-shadow:none; + -ms-box-shadow:none; + -o-box-shadow:none; + box-shadow:none; + padding:0; + background:none !important; + display:none; + -webkit-transition:none; + -moz-transition:none; + -ms-transition:none; + -o-transition:none; + transition:none + } + .vertical_menu:not(#_mobile_vertical_menu) li .megaMenu .menuGroup { + padding-top:0 + } + .vertical_menu:not(#_mobile_vertical_menu)>li>a { + padding:0 !important + } + .vertical_menu:not(#_mobile_vertical_menu) .site-nav>li.site-nav--has-dropdown>a:after { + display:none + } + .vertical_menu:not(#_mobile_vertical_menu) .show_sub { + display:block !important; + top:13px + } + .vertical_menu:not(#_mobile_vertical_menu) .show_sub i { + font-size:19px + } + .vertical_menu:not(#_mobile_vertical_menu) .site-nav>li .megaMenu, + .vertical_menu:not(#_mobile_vertical_menu) .site-nav>li .site-nav__dropdown { + margin-left:0 + } + .vertical_menu:not(#_mobile_vertical_menu).active { + left:0; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1 + } + .vertical_menu:not(#_mobile_vertical_menu) .site-nav--has-dropdown ul li { + padding-left:0 + } + .vertical_menu .site-nav>li>a { + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center + } + .vertical_menu .site-nav>li:first-child { + border-top:none + } + .vertical_menu .site-nav>.site-nav--has-dropdown>a:before { + display:none + } + .vertical_menu .site-nav>.site-nav--has-dropdown:not(.hasMegaMenu) .site-nav__dropdown ul { + margin-left:25px + } + .vertical_menu .site-nav>.site-nav--has-dropdown.hasMegaMenu .site-nav__dropdown .menuGroup .novMenuLinks { + padding-bottom:10px + } +} +@media (max-width: 767px) { + .vertical_menu#_mobile_vertical_menu li.hide { + display:block !important + } + .vertical_menu#_mobile_vertical_menu .show_more { + display:none + } + .vertical_menu .site-nav>.site-nav--has-dropdown>a:before { + display:none + } + .vertical_menu .site-nav>.site-nav--has-dropdown.hasMegaMenu .site-nav__dropdown .menuGroup .novMenuLinks { + padding-top:0 + } +} +hr { + margin:55px 0; + border:0; + border-bottom:1px solid #e0e0e0 +} +.empty-page-content { + padding:0 0 55px +} +.empty-page-content h1 { + font-size:2.6rem; + margin:0 0 6px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + color:#222; + text-transform:capitalize +} +.empty-page-content .cart--empty-message { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-size:1.5rem; + font-weight:400; + font-style:normal; + margin-top:0 +} +.empty-page-content .btn { + color:#fff; + background:#222 +} +.empty-page-content .btn:hover, +.empty-page-content .btn:focus, +.empty-page-content .btn:active { + background:#0d7a52 +} +.empty-page-content .grid { + margin:20px 0 +} +.empty-page-content .grid .input-group { + max-width:600px; + margin:0 auto +} +.slick-dotted.slick-slider { + margin-bottom:0 +} +.slick-slider .slick-arrow { + position:absolute; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + width:30px; + height:30px; + line-height:30px; + border-radius:50%; + background-color:#eeeeee; + text-align:center; + z-index:98 +} +.slick-slider .slick-arrow i { + font-size:15px; + color:#797979 +} +.slick-slider .slick-arrow.arrow-prev { + left:0 +} +.slick-slider .slick-arrow.arrow-next { + right:0 +} +.slick-slider .slick-arrow:hover { + background-color:#78b144 +} +.slick-slider .slick-arrow:hover i { + color:white +} +.custombutton { + font-size:15px; + cursor:pointer; + width:30px; + height:30px; + line-height:30px; + border-radius:50%; + background-color:#eeeeee; + text-align:center; + z-index:98; + color:#797979; + display:inline-block +} +.custombutton:hover { + background-color:#78b144; + color:white +} +@media (max-width: 767px) { + .custombutton { + display:none + } +} +.prev_custom { + margin-right:5px +} +.slick-slider .slick-dots { + margin:0 +} +.slick-slider .slick-dots li { + width:18px; + height:18px; + margin:0 4px +} +.slick-slider .slick-dots li button { + position:relative; + width:18px; + height:18px; + -webkit-border-radius:100%; + -moz-border-radius:100%; + -ms-border-radius:100%; + -o-border-radius:100%; + border-radius:100% +} +.slick-slider .slick-dots li button:before { + text-indent:-9999px; + width:18px; + height:18px; + background-color:#e8e8e8; + -webkit-border-radius:100%; + -moz-border-radius:100%; + -ms-border-radius:100%; + -o-border-radius:100%; + border-radius:100%; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + top:50%; + left:50%; + -webkit-transform:translate(-50%, -50%); + -ms-transform:translate(-50%, -50%); + transform:translate(-50%, -50%) +} +.slick-slider .slick-dots li.slick-active button:before, +.slick-slider .slick-dots li:hover button:before { + background-color:#78b144 +} +.placeholder-svg { + display:block; + fill:rgba(102,102,102,0.35); + background-color:rgba(102,102,102,0.1); + width:100%; + height:100%; + max-width:100%; + max-height:100%; + border:1px solid rgba(102,102,102,0.2) +} +.placeholder-noblocks { + padding:40px; + text-align:center +} +.placeholder-background { + position:absolute; + top:0; + right:0; + bottom:0; + left:0 +} +.placeholder-background .icon { + border:0 +} +.form-group { + margin-bottom:10px +} +.gallery-image__content .placeholder-svg { + position:absolute; + top:0; + left:0 +} +.template-page .h1, +.template-page .h2, +.template-page .h3, +.template-page .h4, +.template-page .h5, +.template-page .h6, +.template-page h1, +.template-page h2, +.template-page h3, +.template-page h4, +.template-page h5, +.template-page h6 { + margin-bottom:15px +} +.template-search #NovBreadcrumbs { + margin-bottom:0 +} +.template-search .empty-page-content { + color:#fff +} +.template-search .empty-page-content input { + height:42px; + -webkit-border-radius:4px; + -moz-border-radius:4px; + -ms-border-radius:4px; + -o-border-radius:4px; + border-radius:4px; + outline:none; + font-size:13px; + padding-left:15px +} +.template-search .empty-page-content button { + height:42px; + -webkit-border-radius:4px; + -moz-border-radius:4px; + -ms-border-radius:4px; + -o-border-radius:4px; + border-radius:4px; + padding:0 30px +} +.template-search .section-header { + background:#0d7a52; + padding:82.5px 0; + position:relative; + z-index:9; + margin-bottom:108px +} +.template-search .section-header .grid__item { + position:absolute; + bottom:-30px; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%); + width:100% +} +.lang-rtl .template-search .section-header .grid__item { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.template-search .section-header .h2 { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-weight:bold; + font-size:2.2rem; + line-height:30px +} +.template-search .section-header form { + max-width:770px; + margin:auto +} +.template-search .section-header .input-group { + position:relative; + max-width:769px; + margin:0 auto +} +.template-search .section-header .input-group input { + height:60px; + -webkit-border-radius:4px; + -moz-border-radius:4px; + -ms-border-radius:4px; + -o-border-radius:4px; + border-radius:4px; + outline:none; + border:none; + padding:0; + padding-left:21px; + padding-right:116px; + -webkit-box-shadow:10px 10px 20px rgba(0,0,0,0.15); + -moz-box-shadow:10px 10px 20px rgba(0,0,0,0.15); + -ms-box-shadow:10px 10px 20px rgba(0,0,0,0.15); + -o-box-shadow:10px 10px 20px rgba(0,0,0,0.15); + box-shadow:10px 10px 20px rgba(0,0,0,0.15); + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + font-weight:400; + color:#222 +} +.lang-rtl .template-search .section-header .input-group input { + padding-left:116px; + padding-right:21px +} +.template-search .section-header .input-group button { + position:absolute; + bottom:4px; + right:4px; + height:52px; + -webkit-border-radius:4px; + -moz-border-radius:4px; + -ms-border-radius:4px; + -o-border-radius:4px; + border-radius:4px; + padding:0 30px; + background:#0d7a52; + z-index:9 +} +.template-search .section-header .input-group button:hover { + background:#0b6343 +} +.template-search .section-header .input-group button.icon-search { + display:block; + width:15px; + height:15px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-autodaily.png?v=16023748939694869452) no-repeat; + background-position:-28px -68px; + margin:0 auto +} +.template-search .item-product { + margin-bottom:30px +} +.template-search .grid--view-items>div:hover { + position:relative; + z-index:9 +} +@media (max-width: 991px) { + .template-search .section-header { + padding:60px 0; + margin-bottom:80px + } + .template-search .section-header .input-group { + max-width:690px + } +} +@media (max-width: 767px) { + .template-search .section-header .search { + margin:0 30px + } + .template-search .section-header .input-group { + max-width:100% + } +} +@media (max-width: 575px) { + .template-search .section-header .search { + margin:0 15px + } + .template-search .section-header .input-group { + max-width:100% + } + .template-search .grid--view-items { + margin:0 -5px + } + .template-search .mg-5 { + padding:0 5px + } +} +.headingPage { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:2.4rem; + color:#222; + margin:-6px 0 44px +} +.page-contact .boxInformationImage { + margin-bottom:45px +} +.page-contact .icon-contact { + margin-right:30px +} +.page-contact .content .tt_i_contact { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:13px; + color:#222; + margin-bottom:4px +} +.page-contact .content .sub_i_contact { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:1.4rem; + color:#222 +} +.page-contact .content .sub_bold { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:1.6rem; + color:#222 +} +.page-contact .formContactUs { + margin:50px 0 +} +.page-contact .formContactUs .contact_message .title_block { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:2.4rem; + text-transform:none; + color:#222; + margin:-13px 0 15px +} +.page-contact .formContactUs .contact_message .sub_title { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.6rem; + color:#666 +} +.page-contact .formContactUs .contact_message .social-icons { + margin-top:32px +} +.page-contact .formContactUs .contact_message .social-icons li:not(:last-child) { + margin-right:37px +} +.page-contact .formContactUs .contact_message .social-icons li a i { + color:#4e4e4e; + font-size:2.4rem +} +.page-contact .formContactUs .contact_message .social-icons li a i:hover { + color:#0d7a52 +} +.page-contact .formContactUs .contact-form { + margin-bottom:29px +} +.page-contact .formContactUs .contact-form input, +.page-contact .formContactUs .contact-form textarea { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:10px; + letter-spacing:1px; + color:#666; + text-transform:uppercase; + border:1px solid #eaeaea; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + margin-bottom:0; + background-color:#f5f5f5 +} +.page-contact .formContactUs .contact-form input::-webkit-input-placeholder, +.page-contact .formContactUs .contact-form textarea::-webkit-input-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:10px; + letter-spacing:1px; + color:#909090; + text-transform:uppercase; + color:#bcbcbc +} +.page-contact .formContactUs .contact-form input:-moz-placeholder, +.page-contact .formContactUs .contact-form textarea:-moz-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:10px; + letter-spacing:1px; + color:#909090; + text-transform:uppercase; + color:#bcbcbc +} +.page-contact .formContactUs .contact-form input::-moz-placeholder, +.page-contact .formContactUs .contact-form textarea::-moz-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:10px; + letter-spacing:1px; + color:#909090; + text-transform:uppercase; + color:#bcbcbc +} +.page-contact .formContactUs .contact-form input:-ms-input-placeholder, +.page-contact .formContactUs .contact-form textarea:-ms-input-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:10px; + letter-spacing:1px; + color:#909090; + text-transform:uppercase; + color:#bcbcbc +} +.page-contact .formContactUs .contact-form input:hover, +.page-contact .formContactUs .contact-form textarea:hover { + border:1px solid #0d7a52 +} +.page-contact .formContactUs .contact-form input { + height:44px +} +.page-contact .formContactUs .contact-form textarea { + height:125px +} +.page-contact .formContactUs .contact-form.form-vertical [type="submit"] { + height:initial; + border-color:transparent; + padding:12px 19px; + color:#fff; + font-size:11px; + font-weight:700; + letter-spacing:0; + background:black; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + -webkit-transition:all 0.3s linear; + -moz-transition:all 0.3s linear; + -ms-transition:all 0.3s linear; + -o-transition:all 0.3s linear; + transition:all 0.3s linear; + margin-left:auto +} +.page-contact .formContactUs .contact-form.form-vertical [type="submit"]:hover { + border-color:#0d7a52; + background:#0d7a52 +} +.page-contact .formContactUs .contact-form .btn_message { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center +} +.page-contact .formContactUs .contact-form .btn_message .icon-message { + display:block; + width:31px; + height:15px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/send_message.png?v=4105883779789085108) no-repeat; + margin-right:14px +} +.page-contact .formContactUs .errors { + margin-bottom:10px +} +.page-contact .formContactUs .errors ul { + padding-left:17px +} +.page-contact .formContactUs .errors ul li { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.4rem; + color:red; + font-weight:400 +} +.page-contact .block_social .btn-social { + display:none +} +.page-contact .block_social li:not(:last-child) { + margin-right:30px +} +.page-contact .block_social a { + color:#4e4e4e; + font-size:2.4rem +} +.page-contact .block_social a:hover { + color:#0d7a52 +} +@media (max-width: 1199px) { + .page-contact .icon-contact { + margin-right:15px; + min-width:32px + } +} +@media (max-width: 991px) { + .page-contact .formContactUs .contact_message .social-icons li:not(:last-child) { + margin-right:25px + } + .page-contact .formContactUs .form-vertical .contact-form { + margin-top:30px + } +} +@media (max-width: 575px) { + .formContactUs { + margin-bottom:30px + } + .formContactUs .contact_message .social-icons { + margin-top:30px + } +} +.page-faqs { + margin-bottom:80px +} +.page-faqs .block-faq { + margin-bottom:44px +} +.page-faqs .block-faq .title_block { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:2.4rem; + color:#222; + text-transform:none; + margin:-9px 0 12px +} +.page-faqs .block-faq .sub_title { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + color:#222 +} +.page-faqs .faqs-main { + -webkit-border-radius:4px; + -moz-border-radius:4px; + -ms-border-radius:4px; + -o-border-radius:4px; + border-radius:4px +} +.page-faqs .faqs-main:not(:last-child) { + margin-bottom:5px +} +.page-faqs .panel-number { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:1.4rem; + color:#222; + padding-top:27px; + margin-right:1px; + background:#ededed; + min-width:70px; + text-align:center; + -webkit-border-radius:4px 0 0 4px; + -moz-border-radius:4px 0 0 4px; + -ms-border-radius:4px 0 0 4px; + -o-border-radius:4px 0 0 4px; + border-radius:4px 0 0 4px +} +.page-faqs .panel-group { + width:100%; + background:#fafafa; + padding:0 30px; + cursor:pointer +} +.page-faqs .panel-group .panel-header.collapsed:after { + content:"\f278"; + font-family:'Material-Design-Iconic-Font'; + font-size:2rem; + position:absolute; + top:50%; + right:0; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%) +} +.page-faqs .panel-group .panel-header.collapsed:before { + display:none +} +.page-faqs .panel-group .panel-header { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:1.6rem; + color:#222; + padding:25px 0; + position:relative +} +.page-faqs .panel-group .panel-header:before { + content:"\f273"; + font-family:'Material-Design-Iconic-Font'; + font-size:2rem; + position:absolute; + top:50%; + right:0; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%) +} +.page-faqs .panel-group .panel-header:hover { + color:#0d7a52 +} +.page-faqs .panel-group .panel-body { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + color:#222; + line-height:20px +} +.page-faqs .panel-group .panel-body .item-content { + padding-bottom:24px +} +@media (max-width: 767px) { + .page-faqs .panel-group { + padding:0 10px + } + .page-faqs .panel-group .panel-header { + padding:20px 0; + line-height:20px + } + .page-faqs .panel-number { + min-width:60px + } +} +@media (max-width: 575px) { + .page-faqs .panel-number { + min-width:40px; + padding-top:12px + } + .page-faqs .panel-group .panel-header { + padding:10px 0; + line-height:20px + } +} +.page-ourteam { + margin-bottom:50px +} +.page-ourteam .block-ourteam { + margin-bottom:35px +} +.page-ourteam .block-ourteam .title_block { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:2.4rem; + color:#222; + text-transform:none; + margin:-9px 0 12px +} +.page-ourteam .block-ourteam .sub_title { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:13px; + color:#222 +} +.ourteam__item { + margin-top:10px +} +.ourteam__item .content-info { + border-bottom:1px solid #e7e7e7; + padding:20px 0 14px +} +.ourteam__item .content-info .ourteam-item__name { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:14px; + font-weight:bold; + color:#222; + margin-bottom:4px +} +.ourteam__item .content-info .ourteam-item__info { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:12px; + color:#a7a7a7; + margin-bottom:10px +} +.ourteam__item .content-info .ourteam-item__text { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + font-weight:500; + line-height:20px +} +.ourteam__item .content-contact { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + font-weight:400; + color:#222; + border-bottom:1px solid #e7e7e7; + padding:9px 0 10px +} +.ourteam__item .content-contact .ourteam_hotline { + margin-bottom:10px +} +.ourteam__item .content-contact .ourteam_hotline .icon-phone { + display:inline-block; + width:18px; + height:18px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-contactphone.png?v=15582704188215453902) no-repeat; + vertical-align:sub; + margin-right:13px +} +.ourteam__item .content-contact .ourteam_email .icon-email { + display:inline-block; + width:18px; + height:12px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-contactemail.png?v=14463078514888600009) no-repeat; + vertical-align:sub; + margin-right:15px +} +.ourteam__item .block_social li:not(:last-child) { + margin-right:5px +} +.ourteam__item .block_social a { + width:30px; + height:30px; + line-height:30px; + background:#bfbfbf; + color:white; + border-radius:50%; + text-align:center; + display:inline-block +} +.ourteam__item .block_social a:hover { + background:#0d7a52 +} +.page-testimonial { + margin-bottom:50px +} +.page-testimonial .block-testimonial { + margin-bottom:35px +} +.page-testimonial .block-testimonial .title_block { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:2.4rem; + color:#222; + text-transform:none; + margin:-9px 0 12px +} +.page-testimonial .block-testimonial .sub_title { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:13px; + color:#222 +} +.page-testimonial .testimonial__item { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + border:1px solid #ededed; + padding:10px; + position:relative +} +.page-testimonial .testimonial__item .testimonial-author { + max-width:100%; + -webkit-box-flex:0 0 15.68%; + -moz-box-flex:0 0 15.68%; + -webkit-flex:0 0 15.68%; + -ms-flex:0 0 15.68%; + flex:0 0 15.68%; + margin-right:32px +} +.page-testimonial .testimonial__item .content-info { + padding-top:5px; + padding-right:60px +} +.page-testimonial .testimonial__item .content-info .testimonial-item__name { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + font-weight:bold; + color:#222; + margin-bottom:4px; + text-transform:uppercase +} +.page-testimonial .testimonial__item .content-info .testimonial-item__info { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:12px; + font-weight:500; + color:#222; + margin-bottom:10px +} +.page-testimonial .testimonial__item .content-info .testimonial-item__text { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + font-weight:400; + color:#222; + line-height:20px +} +@media (max-width: 991px) { + .page-testimonial .testimonial__item .testimonial-author { + min-width:150px + } +} +@media (max-width: 767px) { + .page-testimonial .testimonial__item { + display:block; + text-align:center + } + .page-testimonial .testimonial__item:after { + display:none + } + .page-testimonial .testimonial__item .testimonial-author { + max-width:150px; + min-width:150px; + margin-left:auto; + margin-right:auto + } + .lang-rtl .page-testimonial .testimonial__item .testimonial-author { + margin-left:auto; + margin-right:auto + } + .page-testimonial .testimonial__item .testimonial-author img { + -webkit-border-radius:100%; + -moz-border-radius:100%; + -ms-border-radius:100%; + -o-border-radius:100%; + border-radius:100% + } + .page-testimonial .testimonial__item .content-info { + padding-right:0 + } +} +.page-about-us .title { + font-size:2rem; + font-weight:700; + color:#222; + text-transform:uppercase; + margin-bottom:25px +} +.page-about-us .block_content { + font-size:1.4rem +} +.page-about-us .block_quote { + background-color:#f1f1f1; + padding:25px 15px +} +.page-about-us .block_quote i { + margin-right:10px; + color:#c8c8c8; + font-size:25px +} +.template-404 header, +.template-404 #header-sticky, +.template-404 .nov-footer { + display:none +} +.template-404 .page-404 { + margin:0; + height:100vh; + overflow:auto +} +.template-404 .page-404 .page-not-found .content { + margin-top:-54px; + padding-bottom:134px +} +.template-404 .page-404 .page-not-found .title_block { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:3rem; + color:#fff; + text-transform:uppercase; + margin:0 0 19px 0 +} +.template-404 .page-404 .page-not-found .sub_title { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:1.6rem; + color:#fff; + margin-bottom:4px +} +.template-404 .page-404 .page-not-found .decs_title { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:13px; + color:#fff; + margin-bottom:35px +} +.template-404 .page-404 .page-not-found .btn { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + font-weight:bold; + color:#fff; + text-transform:uppercase; + background:#45ab67; + padding:10px 0; + -webkit-border-radius:40px; + -moz-border-radius:40px; + -ms-border-radius:40px; + -o-border-radius:40px; + border-radius:40px; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + max-width:195px; + margin:0 auto +} +.template-404 .page-404 .page-not-found .btn .fa-home { + content:''; + display:inline-block; + width:22px; + height:19px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-404.png?v=10582384499878898077) no-repeat; + margin-right:13px +} +.template-404 .page-404 .page-not-found .btn:hover { + background:#0d7a52; + color:#fff +} +.wishlist-page { + padding-bottom:40px +} +.wishlist-page .title_block { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:2.2rem; + line-height:30px; + color:#222; + text-transform:none; + margin-bottom:30px +} +.wishlist-page .wrapper-wishlist .grid-item { + margin-bottom:30px +} +.wishlist-page .wrapper-wishlist .grid-item:not(:last-child) { + border-bottom:1px solid #ededed; + padding-bottom:30px +} +.wishlist-page .wrapper-wishlist .wishlist-header { + border-top:1px solid #ededed; + border-bottom:1px solid #ededed; + padding:11px 0; + margin-bottom:30px +} +.wishlist-page .wrapper-wishlist .wishlist-header .column .column_title { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:10px; + line-height:22px; + color:#222; + text-transform:uppercase; + display:inline-block +} +.wishlist-page .wrapper-wishlist .wishlist-header .column .column_icon { + background:#c2c2c2; + width:25px; + height:25px; + line-height:26px; + text-align:center; + -webkit-border-radius:100%; + -moz-border-radius:100%; + -ms-border-radius:100%; + -o-border-radius:100%; + border-radius:100%; + display:inline-block; + margin-right:7px +} +.wishlist-page .wrapper-wishlist .wishlist-header .column .column_icon i { + font-size:1.2rem; + color:#fff +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product { + border:none; + padding:0 +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .column_content { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .product-image { + max-width:170px; + border:1px solid #eaeaea; + margin-right:30px +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .product-info .product-title a { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:12px; + line-height:20px; + color:#222 +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .product-info .product-title a:hover { + color:#0d7a52 +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .product-info .product-review .spr-starrating .spr-icon { + font-size:11px +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .product-info .product-review .spr-starrating .spr-icon.spr-icon-star-empty:before { + color:#dbdbdb +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .product-info .product-review .spr-badge-caption { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:11px; + line-height:22px; + color:#c6c6c6; + margin-left:3px +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .product-info .product-review .spr-icon-star:before { + color:#0d7a52 +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .price-box { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:800; + font-size:1.6rem; + color:#ff7038 +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .whislist-added { + width:100%; + height:40px; + line-height:40px; + border:1px solid #eaeaea; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:10px; + line-height:22px; + color:#909090; + background:transparent; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0 +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .whislist-added i { + font-size:1.4rem; + font-weight:400; + margin-right:11px; + vertical-align:text-bottom +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .whislist-added:hover { + color:#0d7a52; + border:1px solid #0d7a52 +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .formAddToCart { + width:100% +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .formAddToCart .btnAddToCart { + width:100%; + height:40px; + line-height:40px !important; + padding:0; + border:1px solid #252525; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + background:#252525 +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .formAddToCart .btnAddToCart span { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:10px; + line-height:22px; + color:#fff +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .formAddToCart .btnAddToCart i { + color:#fff; + font-size:1.4rem; + font-weight:400; + margin-right:11px +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product .formAddToCart .btnAddToCart:hover { + background:#0d7a52; + border:1px solid #0d7a52 +} +.wishlist-page .wrapper-wishlist .wishlist-content .item-product:hover { + -webkit-box-shadow:none; + -moz-box-shadow:none; + -ms-box-shadow:none; + -o-box-shadow:none; + box-shadow:none +} +@media (max-width: 991px) { + .wishlist-page .wrapper-wishlist .wishlist-content .item-product .product-image { + max-width:80px; + margin-right:15px + } +} +@media (max-width: 767px) { + .wishlist-page .wrapper-wishlist .wishlist-content .item-product .product-image { + max-width:150px + } + .wishlist-page .wrapper-wishlist .wishlist-content .item-product .price-box { + margin:25px 0 + } + .wishlist-page .wrapper-wishlist .wishlist-content .item-product .whislist-added { + margin-bottom:10px + } +} +@media (max-width: 575px) { + .wishlist-page .wrapper-wishlist .wishlist-content .item-product .product-image { + max-width:100px + } +} +.page-size_guide { + margin-bottom:78px +} +.page-size_guide .block-size_guide { + margin-bottom:35px +} +.page-size_guide .block-size_guide .title_block { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:2.4rem; + color:#222; + text-transform:none; + margin:-9px 0 12px +} +.page-size_guide .block-size_guide .sub_title { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:13px; + color:#222 +} +.page-size_guide .list-item-chart .nav-tabs li.nav-item { + margin-bottom:0; + margin-right:48px +} +.page-size_guide .list-item-chart .nav-tabs li.nav-item a { + padding:13px 0; + position:relative; + background:none; + border:none; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:1.4rem; + color:#aeaeae; + text-transform:uppercase +} +.page-size_guide .list-item-chart .nav-tabs li.nav-item a.active, +.page-size_guide .list-item-chart .nav-tabs li.nav-item a:hover { + background:none; + border:none; + color:#222 +} +.page-size_guide .list-item-chart .nav-tabs li.nav-item a.active:after, +.page-size_guide .list-item-chart .nav-tabs li.nav-item a:hover:after { + background:#0d7a52 +} +.page-size_guide .list-item-chart .nav-tabs li.nav-item a:after { + content:''; + display:block; + width:100%; + height:3px; + background:transparent; + position:absolute; + bottom:-2px; + left:0 +} +.page-size_guide .list-item-chart .tab-content .title_tb_chart { + background:#222; + -webkit-border-radius:4px 4px 0 0; + -moz-border-radius:4px 4px 0 0; + -ms-border-radius:4px 4px 0 0; + -o-border-radius:4px 4px 0 0; + border-radius:4px 4px 0 0; + padding:9.5px 0; + margin:50px 0 1px; + text-align:center; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:1.2rem; + color:#fff; + text-transform:uppercase +} +.page-size_guide .list-item-chart .tab-content .chart-size table { + text-align:center +} +.page-size_guide .list-item-chart .tab-content .chart-size table tr.tr_chart { + border:1px solid #e7e7e7; + border-top:none; + border-bottom:1px dashed #e0e0e0 +} +.page-size_guide .list-item-chart .tab-content .chart-size table tr.tr_chart:first-child { + border:none +} +.page-size_guide .list-item-chart .tab-content .chart-size table tr.tr_chart:first-child td { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:1.2rem; + color:#222; + text-transform:uppercase; + border:none +} +.page-size_guide .list-item-chart .tab-content .chart-size table tr.tr_chart:first-child td:first-child { + background:transparent; + border-right:none +} +.page-size_guide .list-item-chart .tab-content .chart-size table tr.tr_chart:last-child { + border-bottom:1px solid #e7e7e7 +} +.page-size_guide .list-item-chart .tab-content .chart-size table tr.tr_chart:nth-child(2) { + border-top:1px solid #e7e7e7 +} +.page-size_guide .list-item-chart .tab-content .chart-size table tr.tr_chart td { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:13px; + color:#222; + height:50px; + width:143px; + border-right:1px solid #e7e7e7 +} +.page-size_guide .list-item-chart .tab-content .chart-size table tr.tr_chart td:first-child { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:13px; + color:#444; + width:297px; + text-align:right; + background:#f9f9f9; + padding-right:40px +} +.lang-rtl .page-size_guide .list-item-chart .tab-content .chart-size table tr.tr_chart td:first-child { + text-align:left +} +.page-size_guide .list-item-chart .tab-content .chart-size table tr.tr_chart td:last-child { + border-right:none +} +.page-size_guide .list-item-chart .tab-content .chart-size table.list-item-2 tr.tr_chart td { + width:207px +} +.page-size_guide .list-item-chart .tab-content .chart-size table.list-item-2 tr.tr_chart td:first-child { + width:286px +} +.page-size_guide .detail_chart { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + margin-top:50px +} +.page-size_guide .detail_chart .detail_chart_img { + margin-right:46px +} +.page-size_guide .detail_chart .list-detail .detail-info { + margin-bottom:20px +} +.page-size_guide .detail_chart .list-detail .detail-info .title-detail { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + font-weight:bold; + color:#222; + margin-bottom:5px +} +.page-size_guide .detail_chart .list-detail .detail-info .desc-detail { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + font-weight:400; + color:#222 +} +@media (max-width: 991px) { + .page-size_guide .list-item-chart .tab-content .chart-size table tr.tr_chart td { + width:75px + } + .page-size_guide .list-item-chart .tab-content .chart-size table.list-item-2 tr.tr_chart td { + width:111px + } +} +@media (max-width: 767px) { + .page-size_guide .list-item-chart .tab-content .title_tb_chart { + margin:30px 0 0 + } + .page-size_guide .detail_chart { + display:block + } + .page-size_guide .detail_chart .detail_chart_img { + text-align:center; + margin-right:0; + margin-bottom:50px + } +} +@media (max-width: 575px) { + .page-size_guide { + margin-bottom:45px + } + .page-size_guide .block-size_guide { + margin-bottom:10px + } +} +@media (max-width: 425px) { + .page-size_guide .list-item-chart .nav-tabs li.nav-item { + margin-right:39px + } + .page-size_guide .list-item-chart .nav-tabs li.nav-item:last-child { + margin-right:0 + } + .page-size_guide .list-item-chart .tab-content .chart-size table tr.tr_chart td { + height:40px + } + .page-size_guide .list-item-chart .tab-content .chart-size table tr.tr_chart td:first-child { + width:240px; + padding-right:10px + } +} +.password-page { + display:table; + width:100%; + height:100%; + color:#69727b; + background-color:#fff; + background-size:cover; + letter-spacing:2px +} +.ie9 .password-page { + height:auto +} +.password-page .errors, +.password-page .form--success { + max-width:500px; + margin-left:auto; + margin-right:auto +} +.lang-rtl .password-page .errors, +.lang-rtl .password-page .form--success { + margin-left:auto; + margin-right:auto +} +.password-header { + height:85px; + display:table-row +} +.password-header__inner { + display:table-cell; + vertical-align:middle +} +.password-login { + padding:0 30px; + text-align:right +} +.lang-rtl .password-login { + text-align:left +} +.password-login .btn:hover, +.password-login .btn:focus { + outline:0; + box-shadow:none +} +.password-logo .logo { + color:#222; + font-weight:700; + max-width:100% +} +.password-main { + display:table-row; + width:100%; + height:100%; + margin:0 auto; + text-align:center +} +.password-main__inner { + display:table-cell; + vertical-align:middle +} +.password-message { + max-width:500px; + margin:82.5px auto 27.5px +} +.password__input-group { + max-width:560px; + margin:0 auto 55px +} +.password__title { + margin:25px 0; + letter-spacing:2px; + text-transform:uppercase; + font-size:2rem; + color:#69727b; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +.password__form-heading { + margin-bottom:18px; + margin-top:0; + font-size:18px; + color:#69727b; + font-weight:600; + font-family:inherit +} +.label--hidden { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + letter-spacing:0.5px; + font-size:15px; + margin-bottom:26px; + display:inline-block +} +.input-group__field { + -webkit-flex-basis:15rem; + -moz-flex-basis:15rem; + -ms-flex-basis:15rem; + flex-basis:15rem; + flex-grow:9999; + -webkit-border-radius:2px 0 0 2px; + -moz-border-radius:2px 0 0 2px; + -ms-border-radius:2px 0 0 2px; + -o-border-radius:2px 0 0 2px; + border-radius:2px 0 0 2px; + text-align:left +} +.lang-rtl .input-group__field { + text-align:right +} +#shopify-section-password-content .input-group { + margin:0 auto 40px; + max-width:56rem; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + width:100%; + -webkit-flex-wrap:wrap; + -moz-flex-wrap:wrap; + -ms-flex-wrap:wrap; + flex-wrap:wrap; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + padding:14px 22px; + min-height:46px; + letter-spacing:2px +} +#shopify-section-password-content .input-group .input-group__field { + border:1px solid #949494; + border-right:none +} +#shopify-section-password-content .input-group .input-group__field::-webkit-input-placeholder { + font-size:15px; + letter-spacing:2px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#shopify-section-password-content .input-group .input-group__field:-moz-placeholder { + font-size:15px; + letter-spacing:2px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#shopify-section-password-content .input-group .input-group__field::-moz-placeholder { + font-size:15px; + letter-spacing:2px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#shopify-section-password-content .input-group .input-group__field:-ms-input-placeholder { + font-size:15px; + letter-spacing:2px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#shopify-section-password-content .input-group button { + padding:14px 31px; + min-height:46px; + width:100%; + letter-spacing:2px; + background:#557b97; + -webkit-border-radius:0 2px 2px 0; + -moz-border-radius:0 2px 2px 0; + -ms-border-radius:0 2px 2px 0; + -o-border-radius:0 2px 2px 0; + border-radius:0 2px 2px 0 +} +#shopify-section-password-content .input-group button:hover { + background:#0d7a52 +} +#shopify-section-password-footer .social-sharing { + list-style-type:none; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + overflow:hidden; + margin-top:52px; + padding-left:0 +} +#shopify-section-password-footer .social-sharing .icon-facebook { + fill:#3b5998 +} +#shopify-section-password-footer .social-sharing .icon-twitter { + fill:#00aced +} +#shopify-section-password-footer .social-sharing .icon-pinterest { + fill:#cb2027 +} +#shopify-section-password-footer .social-sharing>li { + border:1px solid #e8e9eb; + margin-right:5px; + margin-bottom:10px +} +#shopify-section-password-footer .social-sharing>li>a { + text-decoration:none; + padding:8px 10px; + color:#3d4246; + text-transform:uppercase; + font-size:12px; + font-weight:600; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + letter-spacing:2px +} +#shopify-section-password-footer .social-sharing>li:hover, +#shopify-section-password-footer .social-sharing>li:focus { + background-color:transparent; + border:1px solid #cdcfd3 +} +#shopify-section-password-footer .social-sharing>li:hover a, +#shopify-section-password-footer .social-sharing>li:focus a { + color:#3d4246 +} +.password-powered-by { + margin-top:50px; + color:#69727b; + font-size:15px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +.password-powered-by a { + color:#3d4246 +} +#LoginModal .password__form-heading { + text-transform:uppercase; + color:#3d4246; + font-weight:500; + letter-spacing:2px; + margin-bottom:55px +} +#LoginModal .input-group { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + width:100%; + -webkit-flex-wrap:wrap; + -moz-flex-wrap:wrap; + -ms-flex-wrap:wrap; + flex-wrap:wrap; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center +} +#LoginModal .input-group .input-group__field { + border:1px solid #949494; + border-right:none +} +#LoginModal .input-group .input-group__field::-webkit-input-placeholder { + font-size:15px; + letter-spacing:2px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#LoginModal .input-group .input-group__field:-moz-placeholder { + font-size:15px; + letter-spacing:2px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#LoginModal .input-group .input-group__field::-moz-placeholder { + font-size:15px; + letter-spacing:2px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#LoginModal .input-group .input-group__field:-ms-input-placeholder { + font-size:15px; + letter-spacing:2px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#LoginModal .input-group button { + padding:0px 15px; + min-height:46px; + width:100%; + letter-spacing:2px; + background:#557b97; + -webkit-border-radius:0 2px 2px 0; + -moz-border-radius:0 2px 2px 0; + -ms-border-radius:0 2px 2px 0; + -o-border-radius:0 2px 2px 0; + border-radius:0 2px 2px 0 +} +#LoginModal .input-group button:hover { + background:#0d7a52 +} +#LoginModal p { + font-size:16px; + color:#69727b; + letter-spacing:1px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#LoginModal p .text-link { + font-size:16px; + color:#3d4246; + letter-spacing:1px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +#LoginModal p .text-link:hover { + color:#0d7a52 +} +.template-password { + margin:0 +} +.template-password .modal { + -webkit-transform:translateY(-20px); + -ms-transform:translateY(-20px); + transform:translateY(-20px); + background-color:#fff; + bottom:0; + color:#3d4246; + display:none; + left:0; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + overflow:hidden; + position:fixed; + right:0; + top:0 +} +.template-password.modal--is-active .password-page { + display:none +} +.template-password.modal--is-active #LoginModal.modal.modal--is-active .modal__close { + border:0; + margin:55px; + position:fixed; + top:0; + right:0; + z-index:2; + background:transparent +} +.template-password.modal--is-active #LoginModal.modal.modal--is-active .modal__close:hover { + color:#0d7a52 +} +.template-password .modal--is-active { + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0); + display:block; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + overflow:hidden +} +.template-password .modal__centered { + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + position:relative; + top:50% +} +.template-password .modal__inner { + -moz-transform-style:preserve-3d; + -webkit-transform-style:preserve-3d; + transform-style:preserve-3d; + height:100% +} +.template-password .modal__inner input:hover, +.template-password .modal__inner input:focus { + outline:0; + box-shadow:none +} +@media only screen and (max-width: 749px) { + .password-main__inner { + display:table-cell; + vertical-align:middle; + padding:0 + } + #shopify-section-password-content .input-group { + display:block; + padding:0 10px + } + #shopify-section-password-content .input-group .input-group__field { + border-right:1px solid #949494; + margin-bottom:15px; + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px + } + #shopify-section-password-content .input-group button { + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px + } + .password-powered-by { + margin-top:60px; + margin-bottom:45px + } + #LoginModal .input-group { + display:block; + padding:0 10px + } + #LoginModal .input-group .input-group__field { + border-right:1px solid #949494; + margin-bottom:15px; + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px + } + #LoginModal .input-group input { + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px + } + .modal__centered { + margin-top:50px + } +} +.form-vertical [type="radio"], +.form-vertical [type="checkbox"] { + display:inline-block; + width:auto; + margin-right:5px +} +.customer_address .title_block, +.edit_address .title_block { + font-size:28px; + font-weight:700; + margin-bottom:30px +} +.list_address li { + padding:15px 0; + border-bottom:1px solid #e1e1e1 +} +.list_address li .title_info { + font-size:14px; + color:#222; + font-weight:600; + width:170px; + text-align:left +} +.lang-rtl .list_address li .title_info { + text-align:right +} +#CustomerAccountForm label, +#RecoverPasswordForm label, +#create_customer label, +#customer_login label { + width:100% +} +#CustomerAccountForm .form-group, +#RecoverPasswordForm .form-group, +#create_customer .form-group, +#customer_login .form-group { + position:relative +} +#CustomerAccountForm .form-group:before, +#RecoverPasswordForm .form-group:before, +#create_customer .form-group:before, +#customer_login .form-group:before { + content:''; + display:block; + width:15px; + height:15px; + position:absolute; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + left:15px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-popup-login.png?v=10969825694786644179) no-repeat; + background-position:0 0; + z-index:9 +} +#CustomerAccountForm .form-group:after, +#RecoverPasswordForm .form-group:after, +#create_customer .form-group:after, +#customer_login .form-group:after { + content:""; + width:6px; + height:44px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-popup-login.png?v=10969825694786644179) no-repeat; + background-position:-19px 0; + position:absolute; + top:1px; + left:45px; + z-index:9 +} +#CustomerAccountForm .form-group.novform-email:before, +#RecoverPasswordForm .form-group.novform-email:before, +#create_customer .form-group.novform-email:before, +#customer_login .form-group.novform-email:before { + width:16px; + height:12px; + background-position:0 -18px +} +#CustomerAccountForm .form-group.novform-password:before, +#RecoverPasswordForm .form-group.novform-password:before, +#create_customer .form-group.novform-password:before, +#customer_login .form-group.novform-password:before { + width:14px; + height:19px; + background-position:0 -32px +} +#CustomerAccountForm .form-group input:not([type="submit"]), +#RecoverPasswordForm .form-group input:not([type="submit"]), +#create_customer .form-group input:not([type="submit"]), +#customer_login .form-group input:not([type="submit"]) { + border:1px solid #e5e5e8; + padding:0; + padding-left:70px; + padding-right:30px; + height:46px; + width:100%; + margin-bottom:0; + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:12px; + color:#222; + font-weight:400 +} +.lang-rtl #CustomerAccountForm .form-group input:not([type="submit"]), +.lang-rtl #RecoverPasswordForm .form-group input:not([type="submit"]), +.lang-rtl #create_customer .form-group input:not([type="submit"]), +.lang-rtl #customer_login .form-group input:not([type="submit"]) { + padding-left:30px; + padding-right:70px +} +#CustomerAccountForm .form-group input:not([type="submit"])::-webkit-input-placeholder, +#RecoverPasswordForm .form-group input:not([type="submit"])::-webkit-input-placeholder, +#create_customer .form-group input:not([type="submit"])::-webkit-input-placeholder, +#customer_login .form-group input:not([type="submit"])::-webkit-input-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + font-weight:400; + color:#cbcbcb; + text-transform:capitalize +} +#CustomerAccountForm .form-group input:not([type="submit"]):-moz-placeholder, +#RecoverPasswordForm .form-group input:not([type="submit"]):-moz-placeholder, +#create_customer .form-group input:not([type="submit"]):-moz-placeholder, +#customer_login .form-group input:not([type="submit"]):-moz-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + font-weight:400; + color:#cbcbcb; + text-transform:capitalize +} +#CustomerAccountForm .form-group input:not([type="submit"])::-moz-placeholder, +#RecoverPasswordForm .form-group input:not([type="submit"])::-moz-placeholder, +#create_customer .form-group input:not([type="submit"])::-moz-placeholder, +#customer_login .form-group input:not([type="submit"])::-moz-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + font-weight:400; + color:#cbcbcb; + text-transform:capitalize +} +#CustomerAccountForm .form-group input:not([type="submit"]):-ms-input-placeholder, +#RecoverPasswordForm .form-group input:not([type="submit"]):-ms-input-placeholder, +#create_customer .form-group input:not([type="submit"]):-ms-input-placeholder, +#customer_login .form-group input:not([type="submit"]):-ms-input-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + font-weight:400; + color:#cbcbcb; + text-transform:capitalize +} +#CustomerAccountForm .form-group input:not([type="submit"]):hover, +#RecoverPasswordForm .form-group input:not([type="submit"]):hover, +#create_customer .form-group input:not([type="submit"]):hover, +#customer_login .form-group input:not([type="submit"]):hover { + border:1px solid #0d7a52 +} +#CustomerAccountForm .form-checkbox, +#RecoverPasswordForm .form-checkbox, +#create_customer .form-checkbox, +#customer_login .form-checkbox { + margin:21px 0 23px +} +#CustomerAccountForm .form-checkbox input, +#RecoverPasswordForm .form-checkbox input, +#create_customer .form-checkbox input, +#customer_login .form-checkbox input { + width:16px; + height:16px; + margin-right:13px; + margin-bottom:0 +} +#CustomerAccountForm .form-checkbox label, +#RecoverPasswordForm .form-checkbox label, +#create_customer .form-checkbox label, +#customer_login .form-checkbox label { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:11px; + color:#bbbbbb; + width:initial; + margin-bottom:0 +} +@media (min-width: 992px) { + #AddressNewForm, + .edit_address, + .customer_address { + width:50% + } +} +.block_information .control-label { + color:#444; + text-transform:uppercase; + font-weight:700; + font-size:10px; + min-width:134px; + margin-top:10px; + margin-bottom:10px; + display:inline-block +} +.block_sticky { + background:#fff; + border:1px solid #e8e8e8; + z-index:9 +} +.block_sticky .product-single__price { + border-bottom:1px solid #e8e8e8; + background-color:#f9f9f9; + padding:17px 30px +} +.block_sticky .product-form-nov-product-template { + padding:15px 30px 30px +} +@media (max-width: 400px) { + .block_sticky .product-form-nov-product-template { + padding:15px 20px 30px + } +} +h1.product-single__title { + color:#222; + font-size:2rem; + font-weight:700; + line-height:1; + margin-bottom:20px; + text-transform:capitalize; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +.product-single__price { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:2.4rem; + font-weight:700; + color:#0d7a52; + line-height:1; + padding:17px 0 +} +.product-single__price #ComparePrice-nov-product-template { + font-size:1.8rem; + color:#e0e0e0; + padding-left:40px; + text-decoration:line-through; + text-decoration-color:#0d7a52 +} +.available_product .product__available { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + font-weight:500; + color:#6bb853; + text-transform:uppercase +} +.available_product .product__available>span { + margin:0 3px +} +.product-single__vendor a, +.product-single__sku a, +.product-single__cat a, +.product-single__tags a { + font-size:12px; + font-weight:500 +} +.selectorVariants .selector-wrapper { + display:none +} +.group-quantity .productWishList { + margin-left:10px +} +.group-quantity .productWishList .btnProductWishlist { + background-color:#f6f6f6; + border:1px solid #ebebeb; + height:40px; + line-height:37px; + padding:0 15px; + display:inline-block; + border-radius:3px +} +.group-quantity .productWishList .btnProductWishlist .wishlist-text { + font-size:10px; + font-weight:700; + text-transform:uppercase +} +.group-quantity .productWishList .btnProductWishlist i { + color:#222; + vertical-align:text-bottom; + margin-right:3px; + font-size:13px +} +.group-quantity .productWishList .btnProductWishlist:hover, +.group-quantity .productWishList .btnProductWishlist.whislist-added { + border-color:#0d7a52; + background-color:#0d7a52; + color:white +} +.group-quantity .productWishList .btnProductWishlist:hover i, +.group-quantity .productWishList .btnProductWishlist.whislist-added i { + color:white +} +.group-single__sku .label-sku { + font-weight:bold; + color:#222; + font-size:13px; + text-transform:uppercase +} +.product-single__socials { + font-weight:700; + color:#444 +} +.product-single__socials a:hover { + color:#0d7a52 +} +.product-single__info .productWishList .btnProductWishlist.swym-button { + width:50px; + height:50px; + line-height:47px; + background:#f0f0f0 +} +.product-single__info .productWishList .btnProductWishlist.swym-button:hover { + background:#0d7a52 +} +.product-single__info .productWishList .btnProductWishlist.swym-button.swym-added { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + pointer-events:none; + background:#0d7a52 +} +.product-single__info .productWishList .btnProductWishlist.swym-button.swym-added:after { + color:#fff !important +} +.product-single__info .productWishList .btnProductWishlist.swym-button.disabled .fa_wishlist { + background-position:-20px -111px +} +.product-single__info .swym-add-to-wishlist-view-product:after { + color:initial +} +.product-single__info .swym-button-bar { + display:none +} +@media (max-width: 375px) { + .product-single__info .productWishList .btnProductWishlist.swym-button { + width:40px; + height:40px; + line-height:36px + } +} +.group-reviews .reviews_rating { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:11px; + color:#222; + text-transform:uppercase; + margin-right:13px +} +.group-reviews .spr-badge { + display:inline-block +} +.group-reviews .spr-badge .spr-badge-caption { + text-decoration:none; + font-size:10px; + color:#afafaf; + font-weight:500; + text-transform:uppercase +} +.group-reviews .spr-badge .spr-icon { + color:#eeb012 +} +.group-reviews .spr-badge .spr-icon.spr-icon-star-empty { + color:#dbdbdb +} +.group-reviews .label-review { + font-size:12px; + color:#666766; + font-weight:bold; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +.group-reviews .spr-badge-starrating .spr-icon { + font-size:12px +} +.group-reviews .write-reviews { + margin-left:15px +} +.group-reviews .write-reviews .icon-write-review { + display:inline-block; + width:18px; + height:16px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-autodaily.png?v=16023748939694869452) no-repeat; + background-position:-72px 0px; + margin-top:-2px +} +.group-reviews .spr-starrating { + min-width:134px; + display:inline-block +} +.product-single__options .product__available { + font-size:12px; + color:#444; + font-weight:700 +} +.product-single__options .product__available i, +.product-single__options .product__available span:not(.available) { + color:#0d7a52 +} +.product-single__tabs .block_nav { + position:relative; + margin-bottom:-12px +} +.product-single__tabs .block_nav:before { + content:""; + position:absolute; + top:50%; + left:0; + width:100%; + height:1px; + background-color:#ebebeb +} +.product-single__tabs .nav-tabs { + position:relative; + background-color:white; + border-bottom:none; + padding:0 20px +} +.product-single__tabs .nav-tabs>li:not(:last-child) { + position:relative; + margin-right:49px +} +.product-single__tabs .nav-tabs>li:not(:last-child):after { + content:""; + position:absolute; + top:50%; + right:-30px; + width:10px; + height:1px; + background-color:#c0c0c0 +} +.product-single__tabs .nav-tabs>li a { + font-size:1.8rem; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + color:#c4c4c4; + display:block; + text-transform:uppercase; + white-space:nowrap +} +.product-single__tabs .nav-tabs>li a.active, +.product-single__tabs .nav-tabs>li a:hover { + color:#222 +} +.product-single__tabs #proTabs1 { + font-size:1.4rem; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + color:#222; + line-height:24px +} +.product-single__tabs #proTabs1 ul { + padding-left:15px +} +.product-single__tabs #proTabs1 img { + margin:40px 0 +} +.product-single__tabs .spr-form-input a { + color:#fddc43 +} +.product-single__tabs .spr-form-input a:hover, +.product-single__tabs .spr-form-input a:focus { + color:#fddc43 +} +.product-single__tabs .tab-content { + padding:50px 55px; + border:1px solid #ebebeb; + border-top:none +} +@media (max-width: 1199px) { + .product-single__tabs .nav-tabs { + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex; + -webkit-flex-wrap:nowrap; + -moz-flex-wrap:nowrap; + -ms-flex-wrap:nowrap; + flex-wrap:nowrap; + overflow-x:scroll; + width:80% + } +} +@media (max-width: 500px) { + .product-single__tabs .tab-content { + padding:50px 20px + } +} +.carousel-item.active-next { + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex +} +.product-single__shortdes { + margin-top:10px; + margin-bottom:45px; + font-size:1.4rem +} +.product-form__item--quantity .js-qty { + width:110px; + border:1px solid #ebebeb; + position:relative; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:1.4rem; + color:#444 +} +.product-form__item--quantity .js-qty .js-qty__num { + height:48px; + font-size:13px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + color:#222; + text-align:center; + border:none; + background-color:#fff; + padding:0 +} +.product-form__item--quantity .js-qty .js-qty__adjust { + position:absolute; + padding:0; + text-align:center; + width:26px; + height:48px; + line-height:48px; + color:#bfbfbf; + font-size:1.6rem; + background:#fff; + border:none; + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + -webkit-align-items:none; + -moz-align-items:none; + -ms-align-items:none; + align-items:none; + cursor:pointer +} +.product-form__item--quantity .js-qty .js-qty__adjust:hover { + outline:none; + color:#0d7a52 +} +.product-form__item--quantity .js-qty .js-qty__adjust .icon { + background:transparent; + display:none +} +.product-form__item--quantity .js-qty .js-qty__adjust.js-qty__adjust--plus { + right:0; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + border-left:1px solid #ebebeb +} +.product-form__item--quantity .js-qty .js-qty__adjust.js-qty__adjust--minus { + left:0; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + border-right:1px solid #ebebeb +} +.product-form__item--quantity .quick_view_qty { + width:110px; + border:1px solid #ebebeb; + position:relative; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:1.4rem; + color:#444; + margin:0; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px; + overflow:hidden +} +.product-form__item--quantity .quick_view_qty .quantity-selector { + height:38px; + font-size:14px; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + color:#444; + text-align:center; + border:none; + background-color:#f6f6f6; + padding:0 +} +.product-form__item--quantity .quick_view_qty .quantity-selector::-webkit-outer-spin-button, +.product-form__item--quantity .quick_view_qty .quantity-selector::-webkit-inner-spin-button { + -webkit-appearance:none; + margin:0 +} +.product-form__item--quantity .quick_view_qty .quantity-selector[type=number] { + -moz-appearance:textfield +} +.product-form__item--quantity .quick_view_qty .quick_view-qty { + position:absolute; + padding:0; + text-align:center; + width:26px; + height:38px; + line-height:38px; + color:#b4b4b4; + font-size:1.6rem; + background:#fff; + border:none; + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + -webkit-align-items:none; + -moz-align-items:none; + -ms-align-items:none; + align-items:none; + cursor:pointer +} +.product-form__item--quantity .quick_view_qty .quick_view-qty:hover { + outline:none; + color:#0d7a52 +} +.product-form__item--quantity .quick_view_qty .quick_view-qty .icon { + background:transparent; + display:none +} +.product-form__item--quantity .quick_view_qty .quick_view-qty .fallback-text { + color:#b4b4b4 +} +.product-form__item--quantity .quick_view_qty .quick_view-qty.quick_view-qty-plus { + right:0; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + border-left:1px solid #ebebeb +} +.product-form__item--quantity .quick_view_qty .quick_view-qty.quick_view-qty-minus { + left:0; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + border-right:1px solid #ebebeb +} +@media (max-width: 375px) { + .product-form__item--quantity .js-qty .js-qty__adjust { + height:40px; + line-height:40px + } + .product-form__item--quantity .js-qty .js-qty__num { + height:40px + } +} +#shopify-section-nov-sidebar-detail .productlist__sidebar .title-block { + margin-bottom:17px +} +#shopify-section-nov-sidebar-detail .productlist__sidebar .item-product { + margin-bottom:17px +} +#shopify-section-nov-sidebar-detail .productlist__sidebar .item-product .product__info .product__review { + margin-top:4px +} +#shopify-section-nov-sidebar-detail .productlist__sidebar .item-product .product__info .product__title { + margin-bottom:3px +} +#shopify-product-reviews .spr-review-header .spr-icon-star:before { + color:#ffd201 +} +.proFeaturedImage { + border:1px solid #e8e8e8 +} +.productbuttons a { + min-width:100px; + height:40px; + line-height:36px; + text-align:center; + border:1px solid #ebebeb; + background-color:#f6f6f6; + -webkit-border-radius:50px; + -moz-border-radius:50px; + -ms-border-radius:50px; + -o-border-radius:50px; + border-radius:50px +} +.productbuttons a:hover { + border-color:#0d7a52 +} +.productbuttons a:not(:last-child) { + margin-right:10px +} +.productbuttons a.share-facebook { + color:#39599f !important +} +.productbuttons a.share-facebook .share-title { + color:#39599f !important +} +.productbuttons a.share-twitter { + color:#45b0e3 !important +} +.productbuttons a.share-twitter .share-title { + color:#45b0e3 !important +} +.productbuttons a.share-pinterest { + color:#ff4a4a !important +} +.productbuttons a.share-pinterest .share-title { + color:#ff4a4a !important +} +.productbuttons .share-title { + text-transform:uppercase; + font-size:10px; + font-weight:700; + margin-left:5px +} +.productbuttons i { + font-size:14px; + vertical-align:middle +} +@media (max-width: 991px) { + .productbuttons>div:not(:last-child) { + margin-right:15px + } +} +@media (max-width: 400px) { + .productbuttons { + overflow-x:scroll + } + .productbuttons>div { + white-space:nowrap + } +} +.TopContent .product-form__item--quantity { + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex +} +.thumb_right .nov-thumb_vertical { + margin:-6.5px +} +.thumb_right .nov-thumb_vertical .thumbItem { + padding:6.5px +} +@media (min-width: 1200px) { + .thumb_right .block_accordion { + max-width:calc(100% - 115px) + } +} +@media (min-width: 992px) { + .thumb_right #productThumbs { + width:100px; + min-width:100px; + margin-left:15px + } + .thumb_right .info_content { + padding-left:25px + } +} +@media (max-width: 1199px) { + .thumb_right #productThumbs { + margin-top:0 + } +} +@media (max-width: 991px) { + .thumb_right #productThumbs { + margin-top:15px + } +} +.thumb_bottom #productThumbs { + margin-top:10px +} +.thumb_bottom .thumblist { + margin:-10px; + overflow:hidden +} +.thumb_bottom .thumblist .owl-carousel { + padding:10px +} +.thumb_bottom .thumblist .owl-stage-outer { + overflow:inherit +} +.thumb_bottom .product-single__price { + font-size:3rem +} +.thumb_bottom .product-single__price #ComparePrice-nov-product-template { + padding-left:25px +} +.thumb_bottom .block_sticky { + border:none +} +.thumb_bottom .block_sticky .product-single__price { + padding:0; + background-color:initial; + border-bottom:none +} +.thumb_bottom .block_sticky .product-form-nov-product-template { + padding:15px 0 30px +} +.thumb_none h1.product-single__title { + font-size:2.4rem +} +.thumb_none .proFeaturedImage { + visibility:hidden; + position:absolute; + width:0 +} +.thumb_none #productThumbs { + margin:-30px 0; + overflow:hidden +} +.thumb_none #productThumbs .thumblist { + padding:30px 0 +} +.thumb_none #productThumbs .thumblist .owl-stage-outer { + overflow:initial +} +.thumb_none .thumbItem a { + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex +} +.thumb_none .thumbItem:hover a, +.thumb_none .thumbItem.active a { + border-color:transparent +} +.thumb_none .owl-item.center a { + -webkit-box-shadow:0 0 20px rgba(0,0,0,0.2); + -moz-box-shadow:0 0 20px rgba(0,0,0,0.2); + -ms-box-shadow:0 0 20px rgba(0,0,0,0.2); + -o-box-shadow:0 0 20px rgba(0,0,0,0.2); + box-shadow:0 0 20px rgba(0,0,0,0.2) +} +@media (max-width: 400px) { + .thumb_none .group-quantity .productWishList { + margin-left:0; + margin-top:10px + } +} +.tabdesc .product-single__price { + font-size:3rem +} +.tabdesc .product-single__price #ComparePrice-nov-product-template { + padding-left:25px +} +.variant_img .img-variant { + display:inline-block !important +} +.variant_drop .selectorVariants .swatch { + display:none +} +.variant_drop .selectorVariants .selector-wrapper { + display:block; + margin-bottom:10px +} +.variant_drop .selectorVariants .selector-wrapper label { + font-size:10px; + font-weight:700; + color:#444 +} +.variant_drop .selectorVariants .selector-wrapper select { + max-width:240px; + height:46px; + font-size:1.4rem; + font-weight:500; + padding:0 20px; + border-color:#e4e4e4; + color:#666; + appearance:none; + -webkit-appearance:none; + -moz-appearance:none; + position:relative; + background-color:#f4f4f4; + background-image:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-dropdown.png?v=13197681595295195825); + background-repeat:no-repeat; + background-position:right 15px center +} +.lang-rtl .variant_drop .selectorVariants .selector-wrapper select { + background-position:left 15px center +} +.thumb_vertical .thumbItem a { + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex +} +.thumb_vertical .thumbItem a:hover, +.thumb_vertical .thumbItem a:active { + border-color:#e8e8e8 +} +.thumb_vertical .product-single__price { + font-size:3rem +} +.thumb_vertical .product-single__price #ComparePrice-nov-product-template { + padding-left:25px +} +.thumb_vertical .TopContent { + margin-bottom:115px +} +.step_buy .selectorVariants .selector-wrapper select { + max-width:initial +} +.step_buy .product-single__price { + font-size:3rem +} +.step_buy .product-single__price #ComparePrice-nov-product-template { + padding-left:25px +} +.thumb_all .thumblist { + margin-left:-5px; + margin-right:-5px +} +.thumb_all .thumblist .thumbItem { + padding-left:5px; + padding-right:5px; + width:20% +} +.thumb_all .thumblist .thumbItem img { + width:100% +} +.thumb_all .product-single__price { + font-size:3rem +} +.thumb_all .product-single__price #ComparePrice-nov-product-template { + padding-left:25px +} +.thumb_grid .thumblist { + margin-left:-5px; + margin-right:-5px +} +.thumb_grid .thumblist .thumbItem { + padding-left:5px; + padding-right:5px; + display:none +} +.thumb_grid .thumblist .thumbItem.show { + display:block +} +.thumb_grid .thumblist .thumbItem img { + width:100% +} +.thumb_grid .product-single__price { + font-size:3rem +} +.thumb_grid .product-single__price #ComparePrice-nov-product-template { + padding-left:25px +} +.block_accordion { + font-size:1.4rem +} +.block_accordion .btn-link { + font-size:1.8rem; + font-weight:700; + color:#909090; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + text-transform:uppercase; + border-bottom:1px solid #e8e8e8; + padding-bottom:15px; + margin-bottom:15px; + text-decoration:none; + cursor:pointer; + position:relative +} +.block_accordion .btn-link:after { + content:'\f278'; + position:absolute; + font-family:"Material-Design-Iconic-Font"; + top:0; + right:0; + font-size:20px; + color:#9a9a9a +} +.block_accordion .btn-link[aria-expanded="true"] { + color:#222 +} +.block_accordion .btn-link[aria-expanded="true"]:after { + content:"\f273" +} +.block_accordion ul { + padding-left:15px +} +.block_accordion .collapse { + margin-bottom:20px; + border-bottom:1px solid #e8e8e8; + padding-bottom:20px +} +.block_accordion .collapse .block { + margin-top:35px; + margin-bottom:20px +} +.block_accordion .collapse #new_comment_form { + margin-bottom:60px +} +.block_accordion .product-manufacturer { + margin-bottom:25px +} +.block_accordion .block_custom strong { + font-size:1.4rem; + display:inline-block; + margin-top:15px +} +.block_accordion .block_custom p { + margin-bottom:10px +} +.block_accordion .block_img img { + cursor:pointer +} +.block_accordion #ImageModal { + padding-right:0 !important +} +.block_accordion #ImageModal .modal-dialog { + max-width:1170px +} +.block_accordion #ImageModal .modal-dialog .modal-content { + border-radius:0 +} +.block_step { + border-left:1px dashed #ccc +} +.block_step .block { + margin-left:-11px +} +.block_step .block:not(:last-child) { + margin-bottom:30px +} +.block_step .block_heading .number { + background-color:#0d7a52; + color:white; + border:none; + line-height:23px +} +.block_step .number { + width:22px; + height:22px; + min-width:22px; + text-align:center; + line-height:22px; + -webkit-border-radius:100%; + -moz-border-radius:100%; + -ms-border-radius:100%; + -o-border-radius:100%; + border-radius:100%; + border:1px solid #e4e4e4; + margin-right:10px; + background-color:white; + font-size:12px +} +.block_step .heading, +.block_step .title { + font-weight:700; + color:#222; + text-transform:uppercase +} +.block_step .heading { + font-size:18px; + margin-top:-3px +} +.block_step .title { + font-size:14px; + margin-bottom:3px +} +#productThumbs .thumbItem { + position:relative +} +#productThumbs .owl-nav { + margin-top:0 +} +#productThumbs .owl-nav .owl-prev, +#productThumbs .owl-nav .owl-next { + margin:0; + background-color:#78b144; + color:#fff; + position:absolute; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +#productThumbs .owl-nav .owl-prev:not(.disabled):hover, +#productThumbs .owl-nav .owl-next:not(.disabled):hover { + background-color:#0d7a52 +} +#productThumbs .owl-nav .owl-next { + right:-30px +} +#productThumbs .owl-nav .owl-prev { + left:-30px +} +#productThumbs:hover .owl-next { + right:0 +} +#productThumbs:hover .owl-prev { + left:0 +} +@media (max-width: 1199px) { + #productThumbs .thumbItem img { + width:100% + } +} +.thumbItem a { + border:1px solid #e8e8e8; + display:block +} +.thumbItem:hover a, +.thumbItem.active a { + border:1px solid #0d7a52 +} +.product-single__thumbnail-image { + max-width:100%; + display:block +} +.product-featured-img { + display:block; + margin:0 auto; + position:absolute; + top:0; + width:100% +} +.no-js .product-featured-img { + position:relative +} +.product-form__item label { + font-size:12px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:700; + color:#666766; + margin-bottom:0; + text-transform:uppercase +} +.product-form--hide-variant-labels .product-form__item label { + display:none +} +.product-form__variants { + display:none +} +.product-form__input { + display:block; + width:100% +} +.product-form__item--submit .product-form__cart-submit { + padding:0 5px; + height:48px; + line-height:48px; + width:100%; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:12px; + font-weight:700; + text-transform:uppercase; + color:white; + background-color:#0d7a52; + position:relative; + -webkit-border-radius:50px; + -moz-border-radius:50px; + -ms-border-radius:50px; + -o-border-radius:50px; + border-radius:50px; + overflow:hidden; + border:none +} +.product-form__item--submit .product-form__cart-submit #AddToCartText { + position:relative +} +.product-form__item--submit .product-form__cart-submit:before { + content:""; + position:absolute; + width:100%; + height:0; + background-color:#78b144; + top:0; + left:0; + -webkit-transition:all 0.2s linear; + -moz-transition:all 0.2s linear; + -ms-transition:all 0.2s linear; + -o-transition:all 0.2s linear; + transition:all 0.2s linear +} +.product-form__item--submit .product-form__cart-submit:hover:before { + height:100% +} +.product-form__item--checkout .shopify-payment-button__button { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + white-space:normal; + height:48px; + line-height:48px; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + background-color:#222; + padding:0; + text-transform:uppercase; + font-size:11px; + font-weight:800; + -webkit-border-radius:50px; + -moz-border-radius:50px; + -ms-border-radius:50px; + -o-border-radius:50px; + border-radius:50px +} +.product-form__item--checkout .shopify-payment-button__button:hover { + background-color:#78b144 !important; + color:#fff +} +.product-single__description { + margin-top:20px +} +.product-single__photo { + margin:0 auto; + min-height:1px; + width:100%; + height:100%; + position:relative +} +.ProductRelated.block_margin { + margin:-30px -25px -65px +} +.ProductRelated.block_margin .block_padding { + padding:30px 25px 65px +} +.ProductRelated .title_block { + font-size:2.2rem; + text-transform:uppercase +} +.ProductRelated .owl-nav .owl-prev, +.ProductRelated .owl-nav .owl-next { + font-size:3.2rem; + position:absolute; + cursor:pointer; + color:#222; + text-align:center; + z-index:9; + top:-70px +} +.ProductRelated .owl-nav .owl-prev:hover, +.ProductRelated .owl-nav .owl-next:hover { + color:#0d7a52 +} +.ProductRelated .owl-nav .owl-prev { + right:17px +} +.ProductRelated .owl-nav .owl-next { + right:0 +} +.ProductRelated .owl-dots { + text-align:center +} +.ProductRelated .owl-dots .owl-dot { + display:inline-block; + width:20px; + height:20px; + margin-left:5px; + margin-right:5px; + -webkit-border-radius:50%; + -moz-border-radius:50%; + -ms-border-radius:50%; + -o-border-radius:50%; + border-radius:50%; + background:rgba(34,34,34,0.1); + vertical-align:top +} +.lang-rtl .ProductRelated .owl-dots .owl-dot { + margin-left:5px; + margin-right:5px +} +.ProductRelated .owl-dots .owl-dot.active, +.ProductRelated .owl-dots .owl-dot:hover { + background:rgba(34,34,34,0.2) +} +.ProductRelated .product__review { + display:none +} +.ProductRelated .block__content { + padding-top:35px; + position:relative +} +@media (max-width: 575px) { + .ProductRelated.block_margin { + margin:-30px -15px -65px + } + .ProductRelated.block_margin .block_padding { + padding:30px 15px 65px + } +} +.cart-section .title-block { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + position:relative; + font-size:1.6rem; + font-weight:900; + color:#222; + margin-bottom:30px; + text-transform:uppercase +} +.cart-section .cart { + margin-bottom:100px +} +.cart-section .cart .cart__layout_left { + margin-bottom:115px +} +.cart-section .cart .cart__layout_left .cart__header { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:10px; + font-weight:bold; + color:#222; + text-transform:uppercase; + padding:15.5px 0; + border:1px solid #eaeaea; + background:#f2f2f2 +} +.cart-section .cart .cart__layout_left .cart__body { + border:1px solid #eaeaea +} +.cart-section .cart .cart__layout_left .cart__body .cart-flex { + padding:30px 0 +} +.cart-section .cart .cart__layout_left .cart__body .cart-flex:not(:last-child) { + border-bottom:1px solid #eaeaea +} +.cart-section .cart .cart__layout_left .cart__body .cart__remove-wrapper .cart__remove i { + font-size:14px; + font-weight:400 +} +.cart-section .cart .cart__layout_left .cart__body .cart__remove-wrapper .cart__remove:hover i, +.cart-section .cart .cart__layout_left .cart__body .cart__remove-wrapper .cart__remove:focus i { + color:#0d7a52 +} +.cart-section .cart .cart__layout_left .cart__body .cart__image-wrapper .cart__image { + border:1px solid #eaeaea +} +.cart-section .cart .cart__layout_left .cart__body .cart__image-wrapper .cart__meta { + padding-left:20px +} +.cart-section .cart .cart__layout_left .cart__body .cart__image-wrapper .cart__meta .list-view-item__title { + margin-bottom:5px; + padding-right:10px +} +.cart-section .cart .cart__layout_left .cart__body .cart__image-wrapper .cart__meta .list-view-item__title a { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + font-weight:600; + color:#222 +} +.cart-section .cart .cart__layout_left .cart__body .cart__image-wrapper .cart__meta .list-view-item__title a:hover { + color:#0d7a52 +} +.cart-section .cart .cart__layout_left .cart__body .cart__image-wrapper .cart__meta .cart__meta-text { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:10px; + font-weight:bold; + color:#909090; + text-transform:uppercase +} +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .cart__qty { + border:1px solid #e0e0e0; + max-width:89px; + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex +} +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .cart__qty::-webkit-outer-spin-button, +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .cart__qty::-webkit-inner-spin-button { + -webkit-appearance:none; + margin:0 +} +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .cart__qty[type=number] { + -moz-appearance:textfield +} +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .cart__qty-input { + min-width:49px !important; + height:36px !important; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:13px; + color:#444; + text-align:center; + background-color:#f9f9f9; + padding:0; + border:none +} +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .cart__qty-input::-webkit-outer-spin-button, +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .cart__qty-input::-webkit-inner-spin-button { + -webkit-appearance:none; + margin:0 +} +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .cart__qty-input[type=number] { + -moz-appearance:textfield +} +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .js-qty__adjust { + font-weight:400; + color:#b4b4b4; + font-size:1.6rem; + border:none; + min-width:18px; + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + background:#fff; + padding:0; + cursor:pointer +} +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper [type=reset], +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper [type=submit], +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper button, +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper html [type=button] { + -webkit-appearance:button +} +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .icon-minus, +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .icon-plus { + display:none +} +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .js-qty__adjust--minus { + border-right:1px solid #ebebeb +} +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .js-qty__adjust--plus { + border-left:1px solid #ebebeb +} +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper input, +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper select, +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper textarea { + display:block; + width:100%; + border:1px solid #e3e0d3; + background-color:#fff; + color:#162950; + max-width:100%; + line-height:1.2; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + padding:13px 15px +} +.cart-section .cart .cart__layout_left .cart__body .cart__update-wrapper .js-qty { + border:1px solid #e0e0e0; + max-width:89px; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex +} +.cart-section .cart .cart__layout_left .cart__body .cart__price-wrapper { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:12px; + font-weight:800; + color:#222 +} +.cart-section .cart .cart__layout_left .cart__body .total .money { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.4rem; + font-weight:800; + color:#222 +} +.cart-section .cart .cart__layout_left .button_cart { + margin-top:30px; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:space-between; + -moz-justify-content:space-between; + -ms-justify-content:space-between; + justify-content:space-between; + -ms-flex-pack:space-between +} +.cart-section .cart .cart__layout_left .button_cart .btn { + width:100%; + height:46px; + line-height:46px; + padding:0; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:10px; + letter-spacing:0.2px; + color:#222 +} +.cart-section .cart .cart__layout_left .button_cart .btn--small-wide { + margin-right:30px; + background:#222; + color:#fff; + border:1px solid #222 +} +.cart-section .cart .cart__layout_left .button_cart .btn--small-wide:hover { + background:#0d7a52; + color:#222; + border:1px solid #0d7a52 +} +.cart-section .cart .cart__layout_left .button_cart .cart__continue--large { + background:#fff; + border:1px solid #222 +} +.cart-section .cart .cart__layout_left .button_cart .cart__continue--large:hover { + background:#222; + color:#fff; + border:1px solid #222 +} +.cart-section .cart .cart__layout_right { + border:1px solid #eaeaea +} +.cart-section .cart .cart__layout_right .cart__heading { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:10px; + font-weight:bold; + color:#222; + text-transform:uppercase; + padding:16px 20px; + border-bottom:1px solid #eaeaea +} +.cart-section .cart .cart__layout_right .grid { + padding:20px; + background:#f2f2f2 +} +.cart-section .cart .cart__layout_right .grid .grid__item .cart__total { + margin-top:3px +} +.cart-section .cart .cart__layout_right .grid .grid__item .cart__total .cart__subtotal-title { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.4rem; + font-weight:bold; + color:#222; + text-transform:uppercase +} +.cart-section .cart .cart__layout_right .grid .grid__item .cart__total .cart__subtotal span { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:2.2rem; + font-weight:800; + color:#222 +} +.cart-section .cart .cart__layout_right .grid .grid__item .cart__shipping { + padding:13px 0 44px +} +.cart-section .cart .cart__layout_right .grid .grid__item .cart__shipping .cart__shipping-title { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.4rem; + font-weight:bold; + color:#222; + text-transform:uppercase; + white-space:nowrap +} +.cart-section .cart .cart__layout_right .grid .grid__item .cart__shipping .cart__shipping-sub { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + font-weight:500; + color:#222; + text-align:right; + padding-left:10px +} +.lang-rtl .cart-section .cart .cart__layout_right .grid .grid__item .cart__shipping .cart__shipping-sub { + text-align:left +} +.cart-section .cart .cart__layout_right .grid .grid__item #threshold_bar_popup { + margin-bottom:0 +} +.cart-section .cart .cart__layout_right .grid .grid__item #threshold_bar_popup .threshold_bar { + margin-bottom:27px; + margin-left:38px; + -webkit-border-radius:0 20px 20px 0; + -moz-border-radius:0 20px 20px 0; + -ms-border-radius:0 20px 20px 0; + -o-border-radius:0 20px 20px 0; + border-radius:0 20px 20px 0 +} +.cart-section .cart .cart__layout_right .grid .grid__item #threshold_bar_popup .threshold_bar>span { + height:15px +} +.cart-section .cart .cart__layout_right .grid .grid__item #threshold_bar_popup .threshold_spend { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:900; + font-size:12px; + color:#222; + text-transform:uppercase; + letter-spacing:0.25px; + margin-bottom:2px +} +.cart-section .cart .cart__layout_right .grid .grid__item #threshold_bar_popup .threshold_it { + position:relative +} +.cart-section .cart .cart__layout_right .grid .grid__item #threshold_bar_popup .threshold_it .ic_threshold_bar { + display:inline-block; + background:#30b94d; + -webkit-border-radius:100%; + -moz-border-radius:100%; + -ms-border-radius:100%; + -o-border-radius:100%; + border-radius:100%; + width:40px; + height:40px; + position:absolute; + top:-12px; + left:0; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center +} +.cart-section .cart .cart__layout_right .grid .grid__item #threshold_bar_popup .threshold_it .ic_threshold_bar i { + font-size:2.3rem; + font-weight:400; + color:#fff +} +.cart-section .cart .cart__layout_right .grid .grid__item .cart-notice-total { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:12px; + font-weight:400; + color:#222; + line-height:22px +} +.cart-section .cart .cart__layout_right .grid .grid__item .cart-notice-total span.money { + font-weight:900; + color:#30b94d +} +.cart-section .cart .cart__layout_right .grid .cart-note .cart-note_label { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:12px; + color:#222; + text-transform:uppercase; + margin:30px 0 15px +} +.cart-section .cart .cart__layout_right .grid .cart-note textarea::-webkit-input-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:10px; + color:#c4c4c4; + text-transform:uppercase +} +.cart-section .cart .cart__layout_right .grid .cart-note textarea:-moz-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:10px; + color:#c4c4c4; + text-transform:uppercase +} +.cart-section .cart .cart__layout_right .grid .cart-note textarea::-moz-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:10px; + color:#c4c4c4; + text-transform:uppercase +} +.cart-section .cart .cart__layout_right .grid .cart-note textarea:-ms-input-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:10px; + color:#c4c4c4; + text-transform:uppercase +} +@media (max-width: 1199px) { + .cart-section .product-related-inner { + margin-left:-7.5px; + margin-right:-7.5px + } + .cart-section .product-related-inner [class*='col'] { + padding-left:7.5px; + padding-right:7.5px + } +} +.cart__footer .cart-note__input { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.4rem; + color:#222; + font-weight:400 +} +.cart__footer .cart-note__input::-webkit-input-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.4rem; + color:#222; + font-weight:400 +} +.cart__footer .cart-note__input:-moz-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.4rem; + color:#222; + font-weight:400 +} +.cart__footer .cart-note__input::-moz-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.4rem; + color:#222; + font-weight:400 +} +.cart__footer .cart-note__input:-ms-input-placeholder { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.4rem; + color:#222; + font-weight:400 +} +.cart__footer .cart__subtotal-title { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.6rem; + color:#444; + font-weight:700 +} +.cart__footer .cart__subtotal { + font-size:22px; + font-weight:700; + padding-left:55px; + color:#0d7a52 +} +.additional-checkout-buttons { + margin-top:10px +} +.additional-checkout-buttons input[type="image"] { + padding:0; + border:0; + background:transparent +} +.template-blog .title_block { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:2.4rem; + color:#222; + text-transform:none; + margin-bottom:40px +} +.template-blog .article--listing .article__title { + margin-bottom:10px +} +.template-blog .article--listing .article__title a { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + color:#444; + font-size:1.8rem +} +.template-blog .article--listing .article__title a:hover { + color:#0d7a52 +} +.template-blog .article--listing .article__excerpt { + font-size:13px; + color:#222; + font-weight:400; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + margin:25px 0 24px +} +.template-blog .article--listing .article__readmore { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + background:#f2f2f2; + color:#444; + padding:14.5px 45px; + font-size:11px; + font-weight:bold; + -webkit-border-radius:40px; + -moz-border-radius:40px; + -ms-border-radius:40px; + -o-border-radius:40px; + border-radius:40px +} +.template-blog .article--listing .article__readmore:hover { + color:#fff; + background:#0d7a52 +} +.template-blog .article--listing .article__info>span { + position:relative +} +.template-blog .article--listing .article__info>span:not(:last-child) { + padding-right:12px; + margin-right:10px +} +.template-blog .article--listing .article__info>span:not(:last-child):after { + content:''; + display:block; + width:1px; + height:9px; + background:#d3d3d3; + position:absolute; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + right:0 +} +.template-blog .article--listing .article__image { + margin-bottom:24px +} +.template-blog .blog--grid-view .article--listing .article__info { + border-bottom:1px solid #ececec; + padding:0 0 14px 0 +} +.template-blog .blog--list-view .article--listing { + border-bottom:1px dashed #d9d9d9; + padding-bottom:30px; + margin-bottom:30px +} +.template-blog .blog--list-view .article--listing:last-child { + border:none +} +.template-blog .blog--list-view .article--listing .article__excerpt { + margin:13px 0 32px +} +.template-blog .blog--list-view .article--listing .article__title { + margin-bottom:5px +} +.template-blog .blog--list-view .media-image { + margin-right:30px; + max-width:100%; + -webkit-box-flex:0 0 42.53%; + -moz-box-flex:0 0 42.53%; + -webkit-flex:0 0 42.53%; + -ms-flex:0 0 42.53%; + flex:0 0 42.53% +} +.template-blog .blog--list-view .title_block { + margin-top:0 +} +.template-blog .blog--column-view { + margin-bottom:20px +} +.template-blog .blog--column-view .block_content { + -webkit-box-shadow:0 0 10px rgba(34,34,34,0.15); + -moz-box-shadow:0 0 10px rgba(34,34,34,0.15); + -ms-box-shadow:0 0 10px rgba(34,34,34,0.15); + -o-box-shadow:0 0 10px rgba(34,34,34,0.15); + box-shadow:0 0 10px rgba(34,34,34,0.15) +} +.template-blog .blog--column-view .article--listing .article__info { + border-top:1px solid #ececec; + padding:15px 0; + margin-top:43px +} +.template-blog .blog--column-view .article--listing .article__excerpt { + margin:19px 0 32px +} +.template-blog .blog--column-view .article__title, +.template-blog .blog--column-view .article__excerpt { + padding:0 15px +} +.template-blog .blog--column-view .article__author, +.template-blog .blog--column-view .article__countcomment, +.template-blog .blog--column-view .article__date { + font-size:11px +} +.template-blog .nov-pagination:before { + display:none +} +.template-blog .nov-pagination .pagination__viewing { + display:none +} +@media (max-width: 1199px) { + .template-blog .blog--list-view .media-image { + margin-right:20px; + max-width:100%; + -webkit-box-flex:0 0 44%; + -moz-box-flex:0 0 44%; + -webkit-flex:0 0 44%; + -ms-flex:0 0 44%; + flex:0 0 44% + } + .template-blog .blog--list-view .article--listing .article__excerpt { + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-line-clamp:2; + overflow:hidden; + margin:13px 0 24px + } +} +@media (max-width: 991px) { + .template-blog .blog--list-view .article--listing { + display:block + } + .template-blog .blog--list-view .media-image { + -webkit-box-flex:0 0 100%; + -moz-box-flex:0 0 100%; + -webkit-flex:0 0 100%; + -ms-flex:0 0 100%; + flex:0 0 100%; + margin-right:0; + margin-bottom:15px + } +} +@media (max-width: 375px) { + .template-blog .article--listing .article__info>span:not(:last-child) { + padding-right:7px; + margin-right:5px + } + .template-blog .article--listing .article__excerpt { + margin:15px 0 24px + } + .template-blog .blog--column-view .article__author, + .template-blog .blog--column-view .article__countcomment, + .template-blog .blog--column-view .article__date { + font-size:9px + } +} +.blog_detail { + margin-bottom:50px +} +.blog_detail .blog__title { + font-size:2rem; + color:#fff; + margin-bottom:35px; + font-weight:700; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +.blog_detail .post .article__title { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:1.8rem; + color:#222; + margin:24px 0 27px +} +.blog_detail .rte .post-title { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:1.4rem; + color:#222; + margin-bottom:17px +} +.blog_detail .rte .post-title strong { + font-weight:bold; + color:#222 +} +.blog_detail .rte .articleContent .scrollable-wrapper { + margin-bottom:27px +} +.blog_detail .rte .articleContent p { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:1.4rem; + color:#222 +} +.blog_detail .article__info .blog_share { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + margin-left:auto +} +@media (max-width: 991px) { + .blog_detail .articleContent img { + height:185px + } +} +@media (max-width: 575px) { + .blog_detail .article__info { + display:block !important + } + .blog_detail .article__info .blog_cs { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + padding:11px 0; + border-bottom:1px dotted #c6c6c6 + } + .blog_detail .article__info .blog_share { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center + } + .blog_detail .articleContent img { + height:110px + } +} +.article__author, +.article__countcomment, +.article__date { + display:inline-block; + color:#c8c8c8; + font-size:10px; + text-transform:uppercase +} +.article__author i, +.article__countcomment i, +.article__date i { + margin-right:7px; + font-size:15px; + vertical-align:text-bottom +} +@media (max-width: 375px) { + .article__author, + .article__countcomment, + .article__date { + font-size:9px + } +} +.article__tags { + margin-bottom:15px +} +.article__tags--list { + font-style:italic +} +#shopify-section-article-template .article__info { + border-top:1px dotted #c6c6c6; + border-bottom:1px dotted #c6c6c6; + margin-bottom:40px +} +#shopify-section-article-template .article__info .article__author, +#shopify-section-article-template .article__info .article__countcomment { + margin-left:20px +} +#shopify-section-article-template .article__info .article__author, +#shopify-section-article-template .article__info .article__countcomment, +#shopify-section-article-template .article__info .article__date { + color:#909090 +} +#shopify-section-article-template .article__info .article__share, +#shopify-section-article-template .article__info .article__print { + padding:7.5px 0 +} +#shopify-section-article-template .article__info .article__share:hover, +#shopify-section-article-template .article__info .article__print:hover { + background:transparent +} +#shopify-section-article-template .article__info .article__print { + padding-left:30px +} +#shopify-section-article-template .article__info .article__share .dropdown-menu { + top:8px !important; + left:0 +} +@media (max-width: 991px) { + #shopify-section-article-template .article__info .article__print { + padding-left:18px + } + #shopify-section-article-template .article__info .article__author, + #shopify-section-article-template .article__info .article__countcomment { + margin-left:10px + } +} +@media (max-width: 575px) { + #shopify-section-article-template .article__info .article__print { + padding-left:40px + } +} +.BlogRelated { + padding-bottom:26px +} +.BlogRelated .title_block { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:2.4rem; + color:#222; + margin-bottom:3rem; + text-transform:none +} +.BlogRelated .article--listing .article__title { + margin:11px 0 +} +.BlogRelated .article--listing .article__title a { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + color:#222; + font-weight:600; + margin-bottom:8px +} +.BlogRelated .article--listing .article__excerpt { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + font-weight:400; + color:#222; + border-top:0; + padding:0; + margin:0 +} +.BlogRelated .article__image img { + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0 +} +.sidebar .title-block { + border-bottom:1px solid #e5e5e5; + padding-bottom:12px +} +.sidebar .title-block span { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-weight:bold; + text-transform:uppercase; + font-size:1.8rem; + padding:12px 0 15px; + position:relative +} +.sidebar .title-block span:after { + content:''; + display:block; + width:100%; + height:3px; + background:#0d7a52; + position:absolute; + left:0; + bottom:0 +} +.sidebar .sidebar-block:not(:last-child) { + margin-bottom:36px +} +.sidebar .product__review .spr-badge-caption { + display:none +} +.sidebar__list { + list-style:none; + margin-bottom:55px +} +.sidebar__list li { + margin-bottom:10px +} +.categories__sidebar .block__content { + margin-top:33px +} +.categories__sidebar .block__content>.cateTitle { + padding:9px 0 7px 0; + border-bottom:1px solid #e4e9eb +} +.categories__sidebar .block__content>.cateTitle:last-child { + border:none +} +.categories__sidebar .block__content>.cateTitle>a { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + color:#444; + font-weight:bold +} +.categories__sidebar .block__content>.cateTitle>a:hover { + color:#0d7a52 +} +.categories__sidebar .block__content .hasSubCategory { + position:relative +} +.categories__sidebar .block__content .hasSubCategory.level1 .arrow { + position:absolute; + right:0; + top:0; + width:15px; + height:15px; + margin-top:9px; + color:#505050; + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px +} +.categories__sidebar .block__content .hasSubCategory.level1 .arrow:after { + content:"\f273"; + background:#cadae2; + font-family:'Material-Design-Iconic-Font'; + width:15px; + height:15px; + min-width:15px; + padding:1px 4px; + color:#fff; + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px +} +.categories__sidebar .block__content .hasSubCategory.level1 .arrow:hover { + cursor:pointer +} +.categories__sidebar .block__content .hasSubCategory.level1 .arrow:hover:after { + background:#0d7a52 +} +.categories__sidebar .block__content .hasSubCategory.level1 .arrow.collapsed:after { + content:"\f278" +} +.categories__sidebar .block__content .hasSubCategory.level2 .arrow { + background:none; + margin-top:10px +} +.categories__sidebar .block__content .hasSubCategory.level2 .arrow.collapsed { + background:none; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + margin-top:2px +} +.categories__sidebar .block__content .hasSubCategory.level2 .arrow.collapsed:hover { + background:none +} +.categories__sidebar .block__content .hasSubCategory.level2 .arrow:after { + background:#fff; + color:#898989 +} +.categories__sidebar .block__content .hasSubCategory.level2 .arrow:hover:after { + background:none; + color:#0d7a52 +} +.categories__sidebar .block__content .hasSubCategory:first-child .arrow { + top:0 +} +.categories__sidebar .block__content .subCategory { + margin-top:8px +} +.categories__sidebar .block__content .subCategory .cateTitle { + padding:3.5px 0 +} +.categories__sidebar .block__content .subCategory .cateItem { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-size:13px; + font-weight:400 +} +.categories__sidebar .block__content .subCategory .cateItem:before { + content:""; + display:inline-block; + width:4px; + height:4px; + background:#6c6c6c; + -webkit-transform:rotate(45deg); + -ms-transform:rotate(45deg); + transform:rotate(45deg); + margin-right:25px; + margin-bottom:2px +} +.categories__sidebar .block__content .subCategory .cateItem:hover { + color:#0d7a52 +} +.categories__sidebar .block__content .level2>.subCategory { + padding-left:35px +} +.categories__sidebar .block__content .level2>.subCategory .cateItem::before { + display:none +} +.productlist__sidebar .item-product { + background:none; + border:none; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + padding:0 19px +} +.productlist__sidebar .item-product:last-child { + margin-bottom:30px !important +} +.productlist__sidebar .item-product .thumbnail-container { + overflow:hidden; + min-width:100px +} +.productlist__sidebar .item-product .thumbnail-container img { + border:1px solid #878787; + -webkit-border-radius:4px; + -moz-border-radius:4px; + -ms-border-radius:4px; + -o-border-radius:4px; + border-radius:4px +} +.productlist__sidebar .item-product .product__info { + margin-left:10px; + padding:0 +} +.productlist__sidebar .item-product .product__info .product__title { + font-size:13px +} +.productlist__sidebar .item-product .product__info .group-reviews { + margin-top:0 +} +.productlist__sidebar .item-product .product__info .group-reviews .detail-reviews { + margin-bottom:5px +} +.productlist__sidebar .item-product .product__info .product__price { + font-size:1.5rem; + -webkit-justify-content:normal; + -moz-justify-content:normal; + -ms-justify-content:normal; + justify-content:normal; + -ms-flex-pack:normal +} +.productlist__sidebar .item-product .product__info .product__price s.product-price__price { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#505050; + font-size:1.3rem; + font-weight:400; + margin-left:10px +} +.productlist__sidebar .item-product:hover { + -webkit-box-shadow:none; + -moz-box-shadow:none; + -ms-box-shadow:none; + -o-box-shadow:none; + box-shadow:none +} +.productlist__sidebar .item-product:hover .thumbnail-container img { + margin-bottom:0 +} +.recentpost__sidebar { + padding:7px 0 0 !important; + background:transparent !important +} +.recentpost__sidebar .title-block span { + margin:0 !important +} +.recentpost__sidebar .block__content { + margin-top:11px +} +.recentpost__sidebar .post_groups { + padding:22px 0 12px +} +.recentpost__sidebar .post_groups:not(:last-child) { + border-bottom:1px dashed #d9d9d9; + padding:22px 0 26px +} +.recentpost__sidebar .post-item .post__title { + margin-bottom:5px +} +.recentpost__sidebar .post-item .post__title a { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.3rem; + color:#222; + font-weight:600 +} +.recentpost__sidebar .post-item .post__title a:hover { + color:#0d7a52 +} +.recentpost__sidebar .post-item .post__info { + font-size:12px; + color:#909090 +} +.recentpost__sidebar .post-item .post__info i { + margin-right:9px; + font-size:13px; + vertical-align:middle +} +.recentpost__sidebar .post-item .post__info span:not(:last-child) { + margin-right:15px +} +.recentpost__sidebar .post-item .post__date { + font-size:10px; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + color:#c6c6c6; + text-transform:uppercase +} +.recentpost__sidebar .post-item .post__excerpt { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.3rem; + font-weight:400 +} +.recentpost__sidebar .post-item .read_more { + margin-top:10px +} +.recentpost__sidebar .post-item .read_more a { + font-size:11px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#fff; + font-weight:500; + text-transform:uppercase; + padding:5px 10px; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px; + background:#878787 +} +.recentpost__sidebar .post-item .read_more a:hover { + color:#fff; + background:#0d7a52 +} +.recentpost__sidebar .post-item:not(:last-child) { + margin-bottom:23px; + padding-bottom:27px; + border-bottom:1px dashed #262427 +} +.recentpost__sidebar .post__image { + width:100%; + -webkit-box-flex:0 0 37.04%; + -moz-box-flex:0 0 37.04%; + -webkit-flex:0 0 37.04%; + -ms-flex:0 0 37.04%; + flex:0 0 37.04%; + margin-right:17px +} +@media (max-width: 991px) { + .recentpost__sidebar .post__image { + -webkit-box-flex:0 0 48%; + -moz-box-flex:0 0 48%; + -webkit-flex:0 0 48%; + -ms-flex:0 0 48%; + flex:0 0 48% + } +} +.blogtags__sidebar .title-block, +.producttags__sidebar .title-block { + margin-bottom:30px +} +.blogtags__sidebar ul li, +.producttags__sidebar ul li { + display:inline-block; + padding:5px 10px; + text-align:center; + border:1px solid #eaeaea; + background:#fff; + margin-right:6px; + margin-bottom:9px +} +.blogtags__sidebar ul li a, +.producttags__sidebar ul li a { + color:#222; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:12px; + font-weight:400 +} +.blogtags__sidebar ul li:hover, +.producttags__sidebar ul li:hover { + background:#e4e4e4; + border-color:transparent +} +@media (max-width: 1199px) { + .sidebar .sidebar-block { + margin-bottom:25px + } + .categories__sidebar .block__content { + margin-top:15px + } +} +.categories__sidebar .title-block { + font-size:1.4rem; + font-weight:700; + color:#222; + text-transform:uppercase +} +.categories__sidebar a { + font-size:1.4rem; + font-weight:600; + text-transform:capitalize +} +.count_all { + margin-left:auto; + margin-right:6px; + min-width:18px; + height:18px; + background-color:#efefef; + color:#b2b2b2; + font-size:11px; + font-weight:600; + text-align:center; + line-height:18px +} +.lang-rtl .count_all { + margin-left:6px; + margin-right:auto +} +.sidebar-article .categories__sidebar { + background:#f1f1f1 +} +.sidebar-article .categories__sidebar .title-block { + padding:12px 20px +} +.sidebar-article .categories__sidebar .block__content { + padding-right:20px; + padding-bottom:11px; + margin-top:24px +} +.sidebar-article .categories__sidebar .block__content>.cateTitle { + padding:9px 0 6px; + padding-left:20px; + padding-right:0 +} +.lang-rtl .sidebar-article .categories__sidebar .block__content>.cateTitle { + padding-left:0; + padding-right:20px +} +.sidebar-article .categories__sidebar .block__content>.cateTitle:not(:last-child) { + border-bottom:1px solid #fff +} +.sidebar-article .categories__sidebar .block__content .hasSubCategory.level2 .arrow:after { + background:#f1f1f1 +} +.sidebar-filter { + position:fixed; + top:0; + background-color:white; + height:100vh; + overflow-y:scroll; + width:270px; + z-index:999; + padding-bottom:50px; + left:-270px; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden; + -webkit-transition:all 0.35s linear; + -moz-transition:all 0.35s linear; + -ms-transition:all 0.35s linear; + -o-transition:all 0.35s linear; + transition:all 0.35s linear +} +.sidebar-filter::-webkit-scrollbar-track { + background-color:#eaeaea; + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px +} +.sidebar-filter::-webkit-scrollbar { + width:2px; + background-color:#eaeaea; + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px +} +.sidebar-filter::-webkit-scrollbar-thumb { + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px; + background-color:#ccc +} +.sidebar-filter.active { + left:0; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible +} +.sidebar-filter .close-filter { + position:absolute; + top:40px; + right:15px; + color:#222; + font-size:16px; + cursor:pointer +} +.sidebar-filter .close-filter i { + -webkit-transition:all 0.3s linear; + -moz-transition:all 0.3s linear; + -ms-transition:all 0.3s linear; + -o-transition:all 0.3s linear; + transition:all 0.3s linear +} +.sidebar-filter .close-filter:hover { + color:#0d7a52 +} +.sidebar-filter .close-filter:hover i { + -webkit-transform:rotate(180deg); + -ms-transform:rotate(180deg); + transform:rotate(180deg) +} +.sidebar-filter .categories__sidebar { + padding-left:40px; + padding-right:15px; + margin-bottom:35px; + border-bottom:1px solid #ededed; + padding-bottom:35px +} +.lang-rtl .sidebar-filter .categories__sidebar { + padding-left:15px; + padding-right:40px +} +.sidebar-filter .categories__sidebar .title-block { + position:relative +} +.sidebar-filter .categories__sidebar .title-block:before { + content:"\f24e"; + font-family:"Material-Design-Iconic-Font"; + position:absolute; + left:-20px; + top:0; + font-size:12px +} +.sidebar-collection .categories__sidebar { + padding-left:40px; + padding-right:14px; + border-bottom:1px solid #ededed; + padding-bottom:35px +} +.lang-rtl .sidebar-collection .categories__sidebar { + padding-left:14px; + padding-right:40px +} +.sidebar-collection .categories__sidebar .title-block { + position:relative; + border-bottom:none +} +.sidebar-collection .categories__sidebar .title-block span:after { + display:none +} +.sidebar-collection .categories__sidebar .title-block:before { + content:"\f24e"; + font-family:"Material-Design-Iconic-Font"; + position:absolute; + left:-20px; + top:0; + font-size:12px +} +.sidebar-collection .collection_vn { + margin-bottom:72px +} +.sidebar-collection .close-filter { + display:none +} +@media (min-width: 992px) { + .sidebar-collection #shopify-section-nov-sidebar { + border:1px solid #ededed; + border-radius:10px; + padding-bottom:30px + } +} +.list-filter-selected { + border-bottom:1px solid #ededed; + padding:40px 20px; + margin-bottom:35px +} +.list-filter-selected .filter-item_title a { + display:inline-block; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:12px; + font-weight:600; + color:#909090; + text-transform:uppercase +} +.list-filter-selected .filter-item_title a i { + font-size:14px; + color:#222; + margin-right:12px +} +.list-filter-selected .filter-item_title a:hover { + color:#0d7a52 +} +.list-filter { + margin-top:35px +} +.list-filter .filter-item { + padding-left:40px; + padding-right:14px +} +.lang-rtl .list-filter .filter-item { + padding-left:14px; + padding-right:40px +} +.list-filter .filter-item:not(:last-child) { + margin-bottom:35px; + border-bottom:1px solid #ededed; + padding-bottom:35px +} +.list-filter .filter-item .filter-item_title { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-size:14px; + font-weight:bold; + text-transform:uppercase; + position:relative; + margin-bottom:25px +} +.list-filter .filter-item .filter-item_title:before { + content:"\f24e"; + font-family:"Material-Design-Iconic-Font"; + position:absolute; + left:-20px; + top:0; + font-size:12px +} +.list-filter .filter-item .filter-item_title span { + display:block +} +.list-filter .filter-item .filter-item_title i.icon-collapse { + position:absolute; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + right:10px +} +.list-filter .filter-item .filter-item_title i.icon-collapse:before { + content:'\f107'; + display:block; + font-family:'fontello'; + font-weight:bold; + font-size:1.4rem; + color:#505050 +} +.list-filter .filter-item .filter-item_title i.icon-collapse:hover:before { + color:#fff +} +.list-filter .filter-item .custom-checkbox { + background:#fff; + -webkit-border-radius:1px; + -moz-border-radius:1px; + -ms-border-radius:1px; + -o-border-radius:1px; + border-radius:1px; + width:16px; + height:16px; + border:1px solid #dbdbdb; + position:relative; + display:inline-block; + vertical-align:middle; + margin-right:15px +} +.list-filter .filter-item .filter-item_content { + padding:8px 0 0 +} +.list-filter .filter-item .filter-item_content .list-unstyled li { + cursor:pointer; + font-size:14px; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + text-transform:capitalize +} +.list-filter .filter-item .filter-item_content .list-unstyled li:hover { + color:black +} +.list-filter .filter-item .filter-item_content .list-unstyled li:not(:last-child) { + margin-bottom:11px +} +.list-filter .filter-item .filter-item_content .list-unstyled li.active .custom-checkbox { + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px; + background:black +} +.list-filter .filter-item.filter-price .filter-item_content { + padding-left:8px; + padding-right:15px +} +.lang-rtl .list-filter .filter-item.filter-price .filter-item_content { + padding-left:15px; + padding-right:8px +} +.list-filter .filter-item.filter-price .ui-slider-horizontal { + height:9px; + border:none; + background:#e5e5e5; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0 +} +.list-filter .filter-item.filter-price .ui-slider-horizontal .ui-slider-range { + background:black; + border-color:#0d7a52 +} +.list-filter .filter-item.filter-price .ui-slider-horizontal .ui-slider-handle { + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px; + width:17px; + height:17px; + background:#fff; + border:1px solid #dbdbdb; + top:-5px; + cursor:grab +} +.list-filter .filter-item.filter-price .price-input { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:12px; + margin-top:21px; + margin-left:-8px; + text-transform:uppercase +} +.list-filter .filter-item.filter-color .list-inline-item { + margin-right:0; + margin-bottom:9px; + cursor:pointer +} +.list-filter .filter-item.filter-color .list-inline-item[data-value="white"] .custom-checkbox { + border:1px solid #d7d7d7 +} +.list-filter .filter-item.filter-color .list-inline-item .custom-checkbox { + width:30px; + height:30px; + margin-right:6px; + border:none +} +.list-filter .filter-item.filter-color .list-inline-item .custom-checkbox:before { + display:none +} +.list-filter .filter-item.filter-color .list-inline-item .custom-checkbox:hover { + border:1px solid black; + -webkit-box-shadow:0 0 0 1px #fff inset; + -moz-box-shadow:0 0 0 1px #fff inset; + -ms-box-shadow:0 0 0 1px #fff inset; + -o-box-shadow:0 0 0 1px #fff inset; + box-shadow:0 0 0 1px #fff inset +} +.list-filter .filter-item.filter-color .list-inline-item.active .custom-checkbox { + border:1px solid black; + -webkit-box-shadow:0 0 0 1px #fff inset; + -moz-box-shadow:0 0 0 1px #fff inset; + -ms-box-shadow:0 0 0 1px #fff inset; + -o-box-shadow:0 0 0 1px #fff inset; + box-shadow:0 0 0 1px #fff inset +} +.list-filter .filter-item.filter-size .list-inline li { + min-width:30px; + height:30px; + line-height:30px; + text-align:center; + border:1px solid #ebebeb; + cursor:pointer; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:14px; + font-weight:500; + margin-right:6px; + background:#fff; + margin-bottom:10px; + padding:0 7px +} +.list-filter .filter-item.filter-size .list-inline li:hover, +.list-filter .filter-item.filter-size .list-inline li.active { + border-color:black +} +.list-filter .filter-item.filter-size .list-inline li .filter-option-value { + display:inline-block +} +.list-filter .filter-item.filter-size .filter-item_content { + padding:15px 0 0 +} +.list-filter .filter-item.filter-tags .filter-item_title:before { + content:"\f187" +} +.template-collection .sortPagiBar:before { + display:none +} +.template-collection .filter_button { + font-size:1.4rem; + font-weight:700; + color:#222; + text-transform:uppercase; + position:relative; + padding-right:15px; + margin-right:15px; + cursor:pointer; + white-space:nowrap +} +.template-collection .filter_button:not(.h_sidebar):after { + content:""; + position:absolute; + top:5px; + right:0; + width:1px; + height:9px; + background-color:#b2b2b2 +} +.template-collection .filter_button i { + font-size:12px; + margin-right:8px +} +@media (max-width: 767px) { + .template-collection .filter_button { + margin-bottom:25px; + display:inline-block + } + .template-collection .filter_button:after { + display:none + } +} +.template-collection .nov-pagination:before, +.template-collection .sortPagiBar .showing-total, +.template-collection .nov-pagination .pagination__viewing { + display:none +} +.template-collection .pagination { + width:100%; + padding:0; + -webkit-justify-content:center !important; + -moz-justify-content:center !important; + -ms-justify-content:center !important; + justify-content:center !important; + -ms-flex-pack:center !important +} +.template-collection .pagination__viewing { + padding-right:20px +} +.collection_vn { + margin-bottom:50px +} +@media (max-width: 767px) { + .collection_vn { + margin-bottom:0 + } +} +.collection_title { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:700; + color:#222; + font-size:2.4rem; + text-transform:uppercase; + margin-bottom:35px +} +.collection_description { + background:#f3f3f3; + padding:30px 30px 7px; + -webkit-border-radius:4px; + -moz-border-radius:4px; + -ms-border-radius:4px; + -o-border-radius:4px; + border-radius:4px; + margin-top:36px +} +.collection_description strong { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.4rem; + font-weight:600; + color:#222; + margin-bottom:6px; + display:block +} +.collection_description p { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + font-weight:400; + color:#222; + margin-bottom:18px +} +@media (max-width: 991px) { + .collection_description { + padding:20px 20px 7px; + margin:20px 0 40px + } +} +.sortPagiBar { + position:relative; + margin-bottom:60px +} +.sortPagiBar:before { + content:""; + width:100%; + height:1px; + background:#e7e7e7; + position:absolute; + top:50%; + left:0 +} +.sortPagiBar .gridlist-toggle { + background:#fff; + z-index:1; + margin-right:14px; + border:1px solid #e4e4e4; + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex +} +.sortPagiBar .gridlist-toggle a { + display:inline-block; + width:45px; + height:45px; + line-height:46px; + background:white; + color:#222; + font-size:14px; + text-align:center +} +.sortPagiBar .gridlist-toggle a.active, +.sortPagiBar .gridlist-toggle a:hover { + background:#e4e4e4 +} +.sortPagiBar .gridlist-toggle a:not(:last-child) { + border-right:1px solid #e4e4e4 +} +@media (max-width: 767px) { + .sortPagiBar .gridlist-toggle #grid-4, + .sortPagiBar .gridlist-toggle #grid-3 { + display:none + } +} +.sortPagiBar .showing-total { + font-size:12px; + font-weight:500; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + color:#909090; + text-transform:uppercase; + background:#fff; + z-index:1; + padding-right:10px +} +.sortPagiBar .filters-toolbar__item { + padding-left:7px; + z-index:9; + background:#fff; + position:relative; + margin-left:auto +} +.sortPagiBar .filters-toolbar__item .btn { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:12px; + font-weight:600; + color:#666; + text-transform:uppercase; + padding:14px 0 10px; + padding-left:30px; + padding-right:55px; + height:46px; + border:none; + background:#f4f4f4; + border:1px solid #e4e4e4; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + position:relative; + white-space:nowrap +} +.lang-rtl .sortPagiBar .filters-toolbar__item .btn { + padding-left:55px; + padding-right:30px +} +.sortPagiBar .filters-toolbar__item .btn:hover { + color:#0d7a52; + border:1px solid #0d7a52 +} +.sortPagiBar .filters-toolbar__item .dropdown-toggle:after { + display:none +} +.sortPagiBar .filters-toolbar__item .dropdown-toggle:before { + content:"\f2f2"; + font-family:'Material-Design-Iconic-Font'; + line-height:0; + font-size:19px; + font-weight:bold; + position:absolute; + top:50%; + color:#909090; + right:15px +} +.sortPagiBar .filters-toolbar__item .dropdown-menu { + min-width:160px; + padding:5px 0; + z-index:999 +} +.sortPagiBar .filters-toolbar__item .dropdown-menu .dropdown-item { + font-size:13px; + color:#666; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400 +} +.sortPagiBar .filters-toolbar__item .dropdown-menu .dropdown-item:hover, +.sortPagiBar .filters-toolbar__item .dropdown-menu .dropdown-item.active { + cursor:pointer; + color:#0d7a52; + background:#fff +} +@media (max-width: 1199px) { + .sortPagiBar { + margin:0 0 40px 0 + } +} +@media (max-width: 767px) { + .sortPagiBar { + margin:25px 0 30px + } + .sortPagiBar .filters-toolbar__item { + padding-left:0 + } +} +.nov-pagination { + margin:16px 0 80px; + position:relative +} +.nov-pagination:before { + content:""; + position:absolute; + width:100%; + height:1px; + background:#e7e7e7; + top:50%; + left:0; + z-index:2 +} +@media (max-width: 767px) { + .nov-pagination { + margin:16px 0 40px + } +} +.pagination__viewing { + font-size:11px; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + color:#909090; + text-transform:uppercase; + background:#fff; + z-index:2; + padding-right:8px; + margin-right:auto +} +@media (max-width: 991px) { + .pagination__viewing { + padding-right:15px + } +} +@media (max-width: 480px) { + .pagination__viewing { + display:none + } +} +.pagination { + background:#fff; + text-align:center; + list-style:none; + z-index:2; + padding-left:10px +} +.pagination li { + display:inline-block +} +.pagination li:not(:last-child) { + margin-right:5px +} +.pagination__text>a, +.pagination__text>span { + width:40px; + height:40px; + line-height:40px; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + color:#222; + font-size:13px; + font-weight:bold; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + display:inline-block; + border:1px solid #e4e4e4 +} +.pagination__text.active>a, +.pagination__text.active>span, +.pagination__text:hover>a, +.pagination__text:hover>span { + background:#e4e4e4 +} +.pagination__text.active:hover { + cursor:not-allowed +} +.pagination__btn { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + color:#909090; + font-weight:500; + font-size:11px; + text-transform:uppercase; + height:40px; + line-height:40px; + min-width:100px; + padding:0 5px; + background:#fff; + border:1px solid #e4e4e4 +} +.pagination__btn .zmdi-chevron-left { + margin-right:6px +} +.pagination__btn .zmdi-chevron-right { + margin-left:6px +} +.pagination__btn:hover { + border:1px solid #0d7a52; + color:#0d7a52 +} +.pagination__btn.disabled:hover { + cursor:not-allowed +} +.article__comments { + margin:10px 0 40px +} +.article__comments .title-block { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:2.4rem; + color:#222; + margin-bottom:30px +} +.article__comments .comments { + list-style:none; + margin-top:20px +} +.article__comments h5 { + border-bottom:1px solid #eaeaea; + padding-bottom:6px; + margin-bottom:8px +} +.comment { + margin-bottom:20px +} +.comment:last-child { + margin-bottom:0 +} +.comment__content { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + margin-bottom:5px; + font-size:12px; + line-height:2rem +} +.comment__meta-item { + font-size:1.4rem +} +.comment__meta-item.date { + font-size:11px; + color:#909090; + font-weight:400 +} +.comment-form input, +.comment-form select, +.comment-form textarea { + border:1px solid #dfdfdf; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:12px; + color:#fff; + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px +} +.comment-form input::-webkit-input-placeholder, +.comment-form select::-webkit-input-placeholder, +.comment-form textarea::-webkit-input-placeholder { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:11px; + color:#bdbdbd +} +.comment-form input:-moz-placeholder, +.comment-form select:-moz-placeholder, +.comment-form textarea:-moz-placeholder { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:11px; + color:#bdbdbd +} +.comment-form input::-moz-placeholder, +.comment-form select::-moz-placeholder, +.comment-form textarea::-moz-placeholder { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:11px; + color:#bdbdbd +} +.comment-form input:-ms-input-placeholder, +.comment-form select:-ms-input-placeholder, +.comment-form textarea:-ms-input-placeholder { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:11px; + color:#bdbdbd +} +.btn--share { + display:block +} +.btn--share .icon { + vertical-align:middle; + width:16px; + height:16px; + margin-right:4px +} +.article__share .dropdown-menu { + min-width:125px; + padding:10px; + top:15px !important; + left:-30px !important +} +.article__share .dropdown-menu i { + min-width:20px; + margin-right:4px; + vertical-align:top +} +.article__share .dropdown-menu span { + vertical-align:top +} +.article__share .dropdown-menu a { + cursor:pointer +} +.article__share .dropdown-menu a:hover { + color:#0d7a52 +} +.article__share .dropdown-menu a:not(:last-child) { + margin-bottom:10px +} +.article__share, +.article__print { + padding:12.5px 30px; + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px; + background:#fff; + margin:1px 0 +} +.article__share a, +.article__print a { + cursor:pointer; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +.article__share a i, +.article__print a i { + margin-right:15px; + color:#0d7a52; + font-size:1.3rem +} +.article__share a span, +.article__print a span { + font-size:11px; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-weight:bold; + text-transform:uppercase +} +.article__share a span:hover, +.article__print a span:hover { + color:#0d7a52 +} +.article__share .dropdown-toggle::after, +.article__print .dropdown-toggle::after { + display:none +} +.article__share:hover, +.article__print:hover { + background:#eee +} +@media (max-width: 375px) { + .article__share, + .article__print { + padding:10px 15px + } +} +.icon-facebook { + fill:#39599f +} +.icon-twitter { + fill:#45b0e3 +} +.icon-pinterest { + fill:#ff4a4a +} +.share-title { + display:inline-block; + vertical-align:middle; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:12px; + color:#666766; + font-weight:700 +} +.share-title:hover { + color:#0d7a52 +} +.overlay { + position:fixed; + width:100%; + height:100%; + top:0; + left:0; + z-index:10000; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden; + -webkit-transition:opacity 0 0.5s,visibility 0 0.5s; + -moz-transition:opacity 0 0.5s,visibility 0 0.5s; + -ms-transition:opacity 0 0.5s,visibility 0 0.5s; + -o-transition:opacity 0 0.5s,visibility 0 0.5s; + transition:opacity 0 0.5s,visibility 0 0.5s +} +.overlay.style-dark-bg { + background-color:rgba(34,34,34,0.6) !important +} +.overlay.style-light-bg { + background-color:#fff !important +} +.overlay.overlay-search { + display:table; + table-layout:fixed; + width:100%; + height:100%; + text-align:center +} +.overlay.overlay-search .search-container form { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + -webkit-transform:translate(-50%, -50%); + -ms-transform:translate(-50%, -50%); + transform:translate(-50%, -50%); + -webkit-transition:-webkit-transform 0.2s,opacity 0.2s; + transition:transform 0.2s,opacity 0.2s; + display:inline-block; + width:100%; + max-width:600px; + max-width:60vw; + position:absolute; + top:50%; + left:50% +} +.overlay.overlay-search .search-container form input { + display:inline-block; + margin:0px; + width:100%; + font-size:28px; + font-size:3vh; + padding:.8em 0; + padding-left:1.5em; + padding-right:3em; + border:none; + border-bottom:1px solid #d0d0d0; + color:#222; + background-color:transparent; + border-radius:2px; + outline:none +} +.lang-rtl .overlay.overlay-search .search-container form input { + padding-left:3em; + padding-right:1.5em +} +.overlay.overlay-search .search-container form input::-webkit-input-placeholder { + color:#cfcfcf +} +.overlay.overlay-search .search-container form input:-moz-placeholder { + color:#cfcfcf +} +.overlay.overlay-search .search-container form input::-moz-placeholder { + color:#cfcfcf +} +.overlay.overlay-search .search-container form input:-ms-input-placeholder { + color:#cfcfcf +} +.overlay.overlay-search .search-container form .search__des { + color:#343434; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + -webkit-transform:translateY(-40px); + -ms-transform:translateY(-40px); + transform:translateY(-40px); + -webkit-transition:transform 0.5s,opacity 0.5s; + -moz-transition:transform 0.5s,opacity 0.5s; + -ms-transition:transform 0.5s,opacity 0.5s; + -o-transition:transform 0.5s,opacity 0.5s; + transition:transform 0.5s,opacity 0.5s; + -webkit-transition-delay:0.1s; + -moz-transition-delay:0.1s; + -ms-transition-delay:0.1s; + -o-transition-delay:0.1s; + transition-delay:0.1s +} +.overlay.overlay-search .search-container form .search__des i { + font-size:72px +} +.overlay.overlay-search .search-container form .search__des h2 { + font-size:36px; + margin-top:25px; + margin-bottom:20px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold +} +.overlay.overlay-search .search-container form .search__des div { + font-size:11px; + font-weight:500; + text-transform:uppercase; + width:100%; + max-width:440px; + margin:0 auto; + margin-bottom:85px +} +.overlay.overlay-search .search-container form .search-container-inner { + position:relative; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + -webkit-transform:translateY(-40px); + -ms-transform:translateY(-40px); + transform:translateY(-40px); + -webkit-transition:transform 0.3s,opacity 0.3s; + -moz-transition:transform 0.3s,opacity 0.3s; + -ms-transition:transform 0.3s,opacity 0.3s; + -o-transition:transform 0.3s,opacity 0.3s; + transition:transform 0.3s,opacity 0.3s; + -webkit-transition-delay:0.5s; + -moz-transition-delay:0.5s; + -ms-transition-delay:0.5s; + -o-transition-delay:0.5s; + transition-delay:0.5s +} +.overlay.overlay-search .close-search { + color:#343434; + position:absolute; + top:50px; + right:50px; + font-size:36px; + cursor:pointer +} +.overlay.overlay-search .search-bar__submit { + font-size:28px; + color:#dfdfdf; + position:absolute; + top:50%; + right:0.8em; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%) +} +.overlay.open { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible; + -webkit-transition:opacity 0.5s; + -moz-transition:opacity 0.5s; + -ms-transition:opacity 0.5s; + -o-transition:opacity 0.5s; + transition:opacity 0.5s +} +.overlay.open .search-container form .search__des, +.overlay.open .search-container form .search-container-inner { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0) +} +.search-results { + background:#fff; + -webkit-box-shadow:0 0 10px rgba(0,0,0,0.15); + -moz-box-shadow:0 0 10px rgba(0,0,0,0.15); + -ms-box-shadow:0 0 10px rgba(0,0,0,0.15); + -o-box-shadow:0 0 10px rgba(0,0,0,0.15); + box-shadow:0 0 10px rgba(0,0,0,0.15); + z-index:9999; + padding:15px 0; + width:100%; + min-width:300px; + -webkit-border-radius:4px; + -moz-border-radius:4px; + -ms-border-radius:4px; + -o-border-radius:4px; + border-radius:4px; + overflow:hidden; + text-align:left +} +.lang-rtl .search-results { + text-align:right +} +.search-results ul { + list-style-type:none; + padding:0 +} +.search-results ul.has-scroll { + max-height:500px; + overflow-y:scroll +} +.search-results li { + padding:10px 20px; + border-top:1px solid #e9e9e9 +} +.search-results li:first-child { + border-top:none +} +.search-results li:last-child { + padding:20px 20px 5px +} +.search-results li .title { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:12px; + color:#222; + font-weight:500; + overflow:hidden; + line-height:20px; + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-line-clamp:2; + overflow:hidden; + margin-bottom:10px +} +.search-results li .title:hover { + color:#0d7a52 +} +.search-results li .price { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-size:13px; + font-weight:bold +} +.search-results .thumbnail img { + margin-right:20px; + -webkit-border-radius:4px; + -moz-border-radius:4px; + -ms-border-radius:4px; + -o-border-radius:4px; + border-radius:4px; + border:1px solid #e9e9e9 +} +.search-results .see_all { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:10px; + color:#222; + text-transform:uppercase; + font-weight:bold; + padding:10px 0 0 +} +.search-results .see_all:hover { + color:#0d7a52 +} +@media (max-width: 568px) { + .search-results { + display:none !important + } +} +.site-header__search .search-header__submit { + position:absolute; + top:2px; + right:2px; + -webkit-border-radius:30px; + -moz-border-radius:30px; + -ms-border-radius:30px; + -o-border-radius:30px; + border-radius:30px; + border:none; + z-index:9; + color:white; + cursor:pointer; + width:41px; + height:41px; + background-color:#ff9c00 +} +.site-header__search .search-header__submit:hover { + background-color:#f09300 +} +.site-header__search .search-header__submit i { + font-size:14px +} +.site-header__search .site_header__search .search-header__input { + border:1px solid #e9e9e9; + padding-left:20px; + padding-right:65px; + height:45px; + font-size:12px; + -webkit-border-radius:30px; + -moz-border-radius:30px; + -ms-border-radius:30px; + -o-border-radius:30px; + border-radius:30px; + width:100% +} +.lang-rtl .site-header__search .site_header__search .search-header__input { + padding-left:65px; + padding-right:20px +} +.site-header__search .site_header__search .search-header__input::-webkit-input-placeholder { + font-size:1rem; + text-transform:uppercase; + font-weight:700; + color:#c4d5c8; + letter-spacing:1px +} +.site-header__search .site_header__search .search-header__input:-moz-placeholder { + font-size:1rem; + text-transform:uppercase; + font-weight:700; + color:#c4d5c8; + letter-spacing:1px +} +.site-header__search .site_header__search .search-header__input::-moz-placeholder { + font-size:1rem; + text-transform:uppercase; + font-weight:700; + color:#c4d5c8; + letter-spacing:1px +} +.site-header__search .site_header__search .search-header__input:-ms-input-placeholder { + font-size:1rem; + text-transform:uppercase; + font-weight:700; + color:#c4d5c8; + letter-spacing:1px +} +.site-header__search .site_header__search .search-header__input:hover, +.site-header__search .site_header__search .search-header__input:focus { + background:#fff; + -webkit-box-shadow:none; + -moz-box-shadow:none; + -ms-box-shadow:none; + -o-box-shadow:none; + box-shadow:none; + outline:none +} +.nov-owl-carousel .owl-nav [class*='owl-'] { + background:none; + padding:0; + margin:0; + color:#78b144 +} +.nov-owl-carousel .owl-nav [class*='owl-']:hover { + background:none +} +.nov-owl-carousel .owl-nav [class*='owl-'].disabled { + display:none +} +.nov-owl-carousel .owl-nav [class*='owl-'].owl-prev { + left:-59px +} +.nov-owl-carousel .owl-nav [class*='owl-'].owl-next { + right:-59px +} +.nov-owl-carousel .owl-nav .owl-prev, +.nov-owl-carousel .owl-nav .owl-next { + cursor:pointer; + position:absolute; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + z-index:9 +} +.nov-owl-carousel .owl-nav .owl-prev i, +.nov-owl-carousel .owl-nav .owl-next i { + font-size:4.5rem; + font-weight:400; + color:#78b144 +} +.nov-owl-carousel .owl-nav .owl-prev:hover i, +.nov-owl-carousel .owl-nav .owl-next:hover i { + color:#0d7a52 +} +@media (max-width: 767px) { + .nov-owl-carousel .owl-nav { + display:none + } +} +.block_margin { + margin:-15px +} +.block_margin .block_padding { + position:static; + padding:15px; + overflow:hidden +} +.block_margin .slick-list { + overflow:initial; + position:relative; + z-index:9 +} +.block_margin .slick-list .slick-slide { + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden +} +.block_margin .slick-list .slick-slide.slick-active { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible +} +.block_margin .owl-carousel .owl-stage-outer { + overflow:initial +} +.item-product .thumbnail-container { + position:relative; + overflow:hidden +} +.item-product .thumbnail-container.has-multiimage img:not(.product__thumbnail-second) { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:initial; + -webkit-transition:all 0.6s linear; + -moz-transition:all 0.6s linear; + -ms-transition:all 0.6s linear; + -o-transition:all 0.6s linear; + transition:all 0.6s linear +} +.item-product .thumbnail-container .product__thumbnail-second { + position:absolute; + top:0px; + left:50%; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden; + -webkit-transition:all 500ms; + -moz-transition:all 500ms; + -ms-transition:all 500ms; + -o-transition:all 500ms; + transition:all 500ms; + -webkit-transform:translate(-50%, 30px); + -ms-transform:translate(-50%, 30px); + transform:translate(-50%, 30px) +} +.item-product .thumbnail-container .badge_sale .badge--sale-rt { + position:absolute; + top:10px; + left:4px; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:10px; + text-transform:uppercase; + color:#fff; + background:#8dca57; + padding:5.5px 13px; + max-width:44px; + border-radius:20px +} +.item-product .thumbnail-container .badge_sale .badge--sale-pt { + position:absolute; + top:10px; + right:4px; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:10px; + text-transform:uppercase; + color:#fff; + background:#fe4848; + max-width:44px; + padding:5.5px 13px; + border-radius:20px +} +.item-product .product__info { + position:relative +} +.item-product .product__info .product__title { + margin-top:15px; + margin-bottom:5px; + font-weight:500; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +.item-product .product__info .product__title a { + color:#444 +} +.item-product .product__info .product__title a:hover { + color:#0d7a52 !important +} +.item-product .product__info .product__price { + color:#222; + font-weight:700; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +.item-product .product__info .product__price s.product-price__price { + color:#d5d5d5; + font-size:1.3rem; + margin-left:10px +} +.item-product .product__info .product__review { + margin-bottom:10px +} +.item-product .product__info .product__review .spr-badge-caption { + margin-left:6px; + font-size:11px; + color:#c6c6c6; + display:none +} +.item-product .product__info .product__review .spr-starrating { + margin-right:0 +} +.item-product .product__info .product__review .spr-starrating .spr-icon { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + padding:1px; + width:initial +} +.item-product .product__info .product__review .spr-starrating .spr-icon:before { + font-family:"FontAwesome"; + font-size:12px; + content:"\f005" +} +.item-product .product__info .product__review .spr-starrating .spr-icon-star:before { + color:#f7bc3d +} +.item-product .product__info .product__review .spr-starrating .spr-icon-star-empty:before { + color:#dbdbdb +} +.item-product .product__available { + text-transform:uppercase; + font-size:11px; + font-weight:500 +} +.item-product .product__available i { + margin-right:10px; + font-size:1.4rem +} +.item-product .product__available.in-stock { + color:#5fbb52 +} +.item-product .formAddToCart .btnAddToCart { + -webkit-transition:all 0.3s ease-in-out; + -moz-transition:all 0.3s ease-in-out; + -ms-transition:all 0.3s ease-in-out; + -o-transition:all 0.3s ease-in-out; + transition:all 0.3s ease-in-out; + text-transform:uppercase; + text-align:center; + background-color:#f0f0f0; + -webkit-border-radius:30px; + -moz-border-radius:30px; + -ms-border-radius:30px; + -o-border-radius:30px; + border-radius:30px; + color:#222; + padding:0 5px; + width:90%; + max-width:160px; + font-weight:700; + margin:auto; + height:40px; + line-height:40px; + border:none +} +.item-product .formAddToCart .btnAddToCart span { + text-transform:uppercase; + font-size:1rem +} +.item-product .formAddToCart .btnAddToCart i { + margin-right:7px; + font-size:15px; + vertical-align:text-top +} +.item-product .formAddToCart .btnAddToCart:hover { + color:white; + background:#0d7a52; + -webkit-box-shadow:0 0 5px 0 rgba(0,0,0,0.2); + -moz-box-shadow:0 0 5px 0 rgba(0,0,0,0.2); + -ms-box-shadow:0 0 5px 0 rgba(0,0,0,0.2); + -o-box-shadow:0 0 5px 0 rgba(0,0,0,0.2); + box-shadow:0 0 5px 0 rgba(0,0,0,0.2) +} +.item-product .formAddToCart .btnAddToCart:hover .icon-cart-product { + background-position:-10px 0 +} +.item-product .formAddToCart .btnAddToCart .icon-cart-product { + width:10px; + height:12px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-cart-product.png?v=10465186762471102076) +} +.item-product .formAddToCart .btnAddToCart .loading { + display:none +} +.item-product .formAddToCart .btnAddToCart.btn-loading .loading { + display:inline-block +} +.item-product .productQuickView { + -webkit-transition:all 0.32s linear; + -moz-transition:all 0.32s linear; + -ms-transition:all 0.32s linear; + -o-transition:all 0.32s linear; + transition:all 0.32s linear +} +.item-product .productQuickView:hover .btnProductQuickview { + color:#0d7a52 +} +.item-product .productWishList { + -webkit-transition:all 0.25s linear; + -moz-transition:all 0.25s linear; + -ms-transition:all 0.25s linear; + -o-transition:all 0.25s linear; + transition:all 0.25s linear +} +.item-product .productWishList span { + display:none +} +.item-product .productWishList:hover .btnProductWishlist { + color:#0d7a52 +} +.item-product .productWishList, +.item-product .productQuickView { + -webkit-transform:translateY(40px); + -ms-transform:translateY(40px); + transform:translateY(40px); + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden +} +.item-product .productWishList .btn, +.item-product .productQuickView .btn { + width:40px; + height:40px; + -webkit-border-radius:50%; + -moz-border-radius:50%; + -ms-border-radius:50%; + -o-border-radius:50%; + border-radius:50%; + color:#727272; + font-size:19px; + text-align:center; + line-height:40px; + padding:0; + background-color:white; + -webkit-box-shadow:0 3px 4px rgba(0,0,0,0.1); + -moz-box-shadow:0 3px 4px rgba(0,0,0,0.1); + -ms-box-shadow:0 3px 4px rgba(0,0,0,0.1); + -o-box-shadow:0 3px 4px rgba(0,0,0,0.1); + box-shadow:0 3px 4px rgba(0,0,0,0.1) +} +.item-product .productWishList .btn:hover, +.item-product .productQuickView .btn:hover { + background-color:#0d7a52; + color:white +} +.item-product .productWishList .btnProductWishlist { + margin-left:10px +} +.item-product .productWishList .btnProductWishlist.whislist-added { + color:white; + background-color:#0d7a52 +} +.item-product:hover .thumbnail-container { + z-index:9 +} +.item-product:hover .thumbnail-container.has-multiimage .product__thumbnail-second { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:initial; + -webkit-transform:translate(-50%, 0); + -ms-transform:translate(-50%, 0); + transform:translate(-50%, 0) +} +.item-product:hover .productWishList, +.item-product:hover .productQuickView { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0); + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:initial +} +.lang-rtl .item-product:hover .productWishList, +.lang-rtl .item-product:hover .productQuickView { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) +} +.grid--view-items .item-product { + background:#fff; + margin-bottom:25px; + border:1px solid #eaeaea; + -webkit-border-radius:10px; + -moz-border-radius:10px; + -ms-border-radius:10px; + -o-border-radius:10px; + border-radius:10px +} +@media (max-width: 767px) { + .grid--view-items .item-product { + margin-bottom:50px + } +} +.grid--view-items .item-product .thumbnail-container { + border-radius:10px 10px 0 0 +} +.grid--view-items .item-product .thumbnail-container .group-buttons { + position:absolute; + bottom:5px; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%); + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex +} +.lang-rtl .grid--view-items .item-product .thumbnail-container .group-buttons { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.grid--view-items .item-product .btnAddToCart { + margin-top:25px; + margin-bottom:-20px; + -webkit-transition:all 0.2s linear; + -moz-transition:all 0.2s linear; + -ms-transition:all 0.2s linear; + -o-transition:all 0.2s linear; + transition:all 0.2s linear +} +.grid--view-items .item-product .btnAddToCart:focus { + outline:none +} +.grid--view-items .item-product .btnAddToCart:disabled { + cursor:not-allowed; + opacity:0.65 !important +} +.grid--view-items .item-product:hover { + -webkit-box-shadow:5px 5px 10px rgba(0,0,0,0.1); + -moz-box-shadow:5px 5px 10px rgba(0,0,0,0.1); + -ms-box-shadow:5px 5px 10px rgba(0,0,0,0.1); + -o-box-shadow:5px 5px 10px rgba(0,0,0,0.1); + box-shadow:5px 5px 10px rgba(0,0,0,0.1) +} +.list--view-items .item-product { + margin-bottom:29px; + -webkit-border-radius:10px; + -moz-border-radius:10px; + -ms-border-radius:10px; + -o-border-radius:10px; + border-radius:10px; + -webkit-box-shadow:5px 5px 10px rgba(0,0,0,0.1); + -moz-box-shadow:5px 5px 10px rgba(0,0,0,0.1); + -ms-box-shadow:5px 5px 10px rgba(0,0,0,0.1); + -o-box-shadow:5px 5px 10px rgba(0,0,0,0.1); + box-shadow:5px 5px 10px rgba(0,0,0,0.1) +} +.list--view-items .item-product .thumbnail-container { + width:170px; + min-width:170px; + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex +} +.list--view-items .item-product .product__info { + padding-right:10px +} +.list--view-items .item-product .product__info .product__title { + margin-top:0; + font-size:1.2rem +} +.list--view-items .item-product .formAddToCart .btnAddToCart { + width:30px; + height:30px; + line-height:30px; + padding:0 +} +.list--view-items .item-product .formAddToCart .btnAddToCart i { + margin-right:0 +} +.list--view-items .item-product .productWishList, +.list--view-items .item-product .productQuickView { + margin-left:5px +} +.list--view-items .item-product .productWishList .btn, +.list--view-items .item-product .productQuickView .btn { + width:30px; + height:30px; + line-height:30px; + -webkit-box-shadow:none; + -moz-box-shadow:none; + -ms-box-shadow:none; + -o-box-shadow:none; + box-shadow:none; + background-color:#f0f0f0; + font-size:15px +} +.list--view-items .item-product .productWishList .btn:hover, +.list--view-items .item-product .productQuickView .btn:hover { + background-color:#0d7a52 +} +.list--view-items .item-product .productWishList .btnProductWishlist { + margin-left:0 +} +.list--view-items .item-product .productWishList .btnProductWishlist.whislist-added { + background-color:#0d7a52 +} +.list--view-items .item-product .group-btn { + max-height:0; + overflow:hidden; + -webkit-transition:all 0.5s; + -moz-transition:all 0.5s; + -ms-transition:all 0.5s; + -o-transition:all 0.5s; + transition:all 0.5s +} +.list--view-items .item-product:hover .group-btn { + max-height:150px +} +@media (max-width: 1199px) { + .list--view-items .item-product .product__info .product__title { + margin-bottom:5px; + padding-top:0 + } + .list--view-items .item-product .thumbnail-container .badge_sale .badge--sale-rt, + .list--view-items .item-product .thumbnail-container .badge_sale .badge--sale-pt { + padding:5.5px 5px + } +} +@media (max-width: 575px) { + .list--view-items .item-product { + margin-bottom:15px + } + .list--view-items .item-product .product__info { + margin-left:15px + } +} +.countdownfree { + text-align:center; + -webkit-transition:all 0.3s linear; + -moz-transition:all 0.3s linear; + -ms-transition:all 0.3s linear; + -o-transition:all 0.3s linear; + transition:all 0.3s linear; + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + padding-bottom:5px +} +.countdownfree .item-time { + -webkit-box-shadow:3px 3px 0 #93cf5d; + -moz-box-shadow:3px 3px 0 #93cf5d; + -ms-box-shadow:3px 3px 0 #93cf5d; + -o-box-shadow:3px 3px 0 #93cf5d; + box-shadow:3px 3px 0 #93cf5d; + width:50px; + height:50px; + border-radius:5px; + background:white; + padding:8px 0 +} +.countdownfree .item-time:not(:last-child) { + margin-right:10px +} +.countdownfree .name-time { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + display:block; + font-size:1rem; + color:#909090; + line-height:1 +} +.countdownfree .data-time { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.3rem; + font-weight:900; + margin-bottom:5px; + color:#000000; + display:inline-block; + min-width:25px; + vertical-align:top; + position:relative; + padding-bottom:1px +} +.countdownfree .data-time:before { + content:""; + position:absolute; + bottom:0; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%); + background:#bee997; + width:17px; + height:1px +} +.lang-rtl .countdownfree .data-time:before { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.countdownfree .data-time span { + z-index:2; + position:relative +} +@media (max-width: 1199px) { + .countdownfree { + position:static; + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0); + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex + } + .countdownfree .item-time { + width:40px; + height:40px; + padding:5px 0 + } + .countdownfree .item-time:not(:last-child) { + margin-bottom:0; + margin-right:5px + } + .countdownfree .data-time { + font-size:1.1rem; + font-weight:800 + } +} +@media (max-width: 575px) { + .countdownfree .item-time { + padding:5px 0; + height:auto + } + .countdownfree .item-time:not(:last-child) { + margin-right:5px + } +} +.productWishList .whislist-added { + color:#0d7a52 +} +.section-collection-tabs .nav-tabs { + border:none; + padding:0 +} +.section-collection-tabs .nav-tabs .nav-item { + position:relative; + margin-bottom:0 +} +.section-collection-tabs .nav-tabs .nav-link { + border:none; + background:transparent; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + border:none; + text-align:center; + position:relative; + white-space:nowrap +} +@media (max-width: 1199px) { + .section-collection-tabs .nav-tabs { + overflow-x:scroll; + -webkit-flex-wrap:nowrap; + -moz-flex-wrap:nowrap; + -ms-flex-wrap:nowrap; + flex-wrap:nowrap; + padding-bottom:10px + } +} +.section-collection-tabs .style-1 .nav-item:not(:last-child) { + margin-right:4rem +} +.section-collection-tabs .style-1 .nav-link { + color:#222; + padding:0; + padding-bottom:15px +} +.section-collection-tabs .style-1 .nav-link:before { + content:""; + position:absolute; + bottom:-2px; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%); + width:0; + height:3px; + background:#78b144; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +.lang-rtl .section-collection-tabs .style-1 .nav-link:before { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.section-collection-tabs .style-1 .nav-link .b_img { + min-height:31px; + line-height:31px; + margin-bottom:10px; + display:block +} +.section-collection-tabs .style-1 .nav-link:hover, +.section-collection-tabs .style-1 .nav-link.active { + color:#78b144 +} +.section-collection-tabs .style-1 .nav-link:hover:before, +.section-collection-tabs .style-1 .nav-link.active:before { + width:100% +} +.section-collection-tabs .style-2 .nav-item:not(:last-child) { + margin-right:1rem +} +.section-collection-tabs .style-2 .nav-link { + color:white; + font-weight:700; + font-size:1.2rem; + -webkit-border-radius:30px; + -moz-border-radius:30px; + -ms-border-radius:30px; + -o-border-radius:30px; + border-radius:30px; + text-transform:uppercase; + background-color:#78b144; + height:45px; + line-height:45px; + min-width:150px; + padding:0 5px +} +.section-collection-tabs .style-2 .nav-link:hover, +.section-collection-tabs .style-2 .nav-link.active { + background-color:#0d7a52 +} +.section-collection-tabs .style-2 .nav-link:hover:before, +.section-collection-tabs .style-2 .nav-link.active:before { + width:100% +} +.section-collection-tabs .style-2 .slick-slider .slick-arrow { + top:-90px; + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0) +} +.section-collection-tabs .style-2 .slick-slider .slick-arrow.arrow-next { + right:15px +} +.section-collection-tabs .style-2 .slick-slider .slick-arrow.arrow-prev { + left:initial; + right:50px +} +.section-collection-tabs .slick-slide>div:hover, +.section-collection-tabs .products-grid>.block:hover { + position:relative; + z-index:99 +} +.section-collection-tabs .s-c-t a { + display:inline-block; + color:#c3c3c3; + font-size:20px +} +.section-collection-tabs .s-c-t a.active { + color:#222 +} +.section-collection-tabs .view_all a { + display:none; + height:46px; + line-height:46px; + padding:0 5px; + min-width:150px +} +.section-collection-tabs .view_all a.act { + display:block +} +.section-collection-tabs .type-grid .block { + -webkit-transition:all 0.5s; + -moz-transition:all 0.5s; + -ms-transition:all 0.5s; + -o-transition:all 0.5s; + transition:all 0.5s +} +.section-collection-tabs .type-grid.view_4 .block { + -webkit-box-flex:0 0 25%; + -moz-box-flex:0 0 25%; + -webkit-flex:0 0 25%; + -ms-flex:0 0 25%; + flex:0 0 25%; + max-width:25% +} +.section-collection-tabs .type-grid.view_3 .block { + -webkit-box-flex:0 0 33.33333%; + -moz-box-flex:0 0 33.33333%; + -webkit-flex:0 0 33.33333%; + -ms-flex:0 0 33.33333%; + flex:0 0 33.33333%; + max-width:33.333333% +} +.section-collection-tabs .type-grid.view_2 .block { + -webkit-box-flex:0 0 50%; + -moz-box-flex:0 0 50%; + -webkit-flex:0 0 50%; + -ms-flex:0 0 50%; + flex:0 0 50%; + max-width:50% +} +.section-collection-tabs .collection-carousel.slick-dotted { + padding-bottom:30px +} +.section-collection-tabs .collection-carousel .slick-dots { + bottom:0; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%) +} +.lang-rtl .section-collection-tabs .collection-carousel .slick-dots { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.section-collection-tabs .product-tabs-content { + position:relative +} +.section-collection-tabs .product-tabs-content .tab-content { + display:none +} +.section-collection-tabs .product-tabs-content .tab-content.active { + display:block +} +.section-collection-tabs .product-tabs-content>.tab-pane { + display:block +} +.section-collection-tabs .product__thumbnail-second { + width:100% +} +.section-collection-tabs .grid--view-items .item-product { + overflow:initial +} +.section-collection-tabs .grid--view-items .item-product .thumbnail-container { + overflow:hidden; + border-radius:20px 20px 0 0 +} +.section-collection-tabs .grid--view-items .item-product .product__info { + padding-bottom:0 +} +.section-collection-tabs .grid--view-items .item-product .btnAddToCart { + margin-top:35px; + margin-bottom:-20px +} +@media (min-width: 768px) { + .section-collection-tabs .style-1 .block_nav { + border-bottom:1px solid #eeeeee + } +} +@media (max-width: 991px) { + .section-collection-tabs .title_block { + text-align:center + } +} +@media (max-width: 767px) { + .section-collection-tabs { + overflow:hidden + } + .section-collection-tabs .grid--view-items .item-product { + margin-bottom:10px + } +} +.section-group-product-tabs .nav-tabs { + border:none; + padding:0; + list-style-type:none; + width:35%; + position:relative; + z-index:99 +} +.section-group-product-tabs .nav-tabs .nav-item { + position:relative; + margin-bottom:0 +} +.section-group-product-tabs .nav-tabs .nav-item:not(:last-child) .nav-link { + border-bottom:1px solid white +} +.section-group-product-tabs .nav-tabs .nav-link { + border:none; + background:transparent; + color:#666666; + font-size:1.1rem; + padding:11px 23px; + text-transform:uppercase; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease; + border:none; + white-space:nowrap; + background-color:#e8f2f7; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0 +} +.section-group-product-tabs .nav-tabs .nav-link:hover, +.section-group-product-tabs .nav-tabs .nav-link.active { + background-color:#cee3ee +} +@media (max-width: 1199px) and (min-width: 992px) { + .section-group-product-tabs .nav-tabs .nav-link { + font-size:1rem; + padding:11px 15px + } +} +@media (max-width: 991px) { + .section-group-product-tabs .nav-tabs .nav-link { + padding:12px 15px + } +} +.section-group-product-tabs .slick-slide>div:hover, +.section-group-product-tabs .products-grid>.block:hover { + position:relative; + z-index:99 +} +.section-group-product-tabs .product-tabs-content { + width:65%; + margin-left:-1px; + margin-top:1px +} +.section-group-product-tabs .product-tabs-content .slick-list, +.section-group-product-tabs .product-tabs-content .slick-slider { + position:static +} +.section-group-product-tabs .product-tabs-content .slick-slider .slick-arrow { + top:0; + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0) +} +.section-group-product-tabs .product-tabs-content .slick-slider .slick-arrow.arrow-next { + right:15px +} +.section-group-product-tabs .product-tabs-content .slick-slider .slick-arrow.arrow-prev { + left:initial; + right:50px +} +.section-group-product-tabs .product-tabs-content .tab-content { + display:none +} +.section-group-product-tabs .product-tabs-content .tab-content.active { + display:block +} +.section-group-product-tabs .product-tabs-content>.tab-pane { + display:block +} +.section-group-product-tabs .grid--view-items .item { + width:100% +} +.section-group-product-tabs .grid--view-items .item-product { + width:calc(100% + 1px) +} +.section-group-product-tabs .grid--view-items .item-product .product__info { + padding-bottom:15px +} +.section-group-product-tabs .grid--view-items .item-product .thumbnail-container { + text-align:center +} +.section-group-product-tabs .grid--view-items .item-product .thumbnail-container img { + max-width:133px +} +.section-group-product-tabs .grid--view-items .item-product .product__review { + display:none +} +.section-group-product-tabs .grid--view-items .item-product .product__thumbnail-second { + width:100% +} +@media (max-width: 1199px) and (min-width: 992px) { + .section-group-product-tabs .item-product .product__info .product__title { + margin-top:12px; + font-size:1.2rem + } +} +@media (max-width: 480px) { + .section-group-product-tabs .nav-tabs { + width:40% + } + .section-group-product-tabs .product-tabs-content { + width:60% + } +} +.section-product-slider { + position:relative; + z-index:9 +} +.section-product-slider .slick-slide>div:hover { + position:relative; + z-index:99 +} +.section-product-slider .slick-dots { + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%); + bottom:-40px +} +.lang-rtl .section-product-slider .slick-dots { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.section-product-slider .slick-dots li { + width:13px; + height:13px; + margin:0 2.5px +} +.section-product-slider .slick-dots li button:before { + width:13px; + height:13px; + background-color:#bbbbbb +} +.section-product-slider .slick-dots li:hover button:before, +.section-product-slider .slick-dots li.slick-active button:before { + -webkit-box-shadow:0 0 0 2px #0d7a52; + -moz-box-shadow:0 0 0 2px #0d7a52; + -ms-box-shadow:0 0 0 2px #0d7a52; + -o-box-shadow:0 0 0 2px #0d7a52; + box-shadow:0 0 0 2px #0d7a52; + background-color:white +} +.section-product-slider .show_all { + margin-top:30px +} +.section-product-slider .show_all .btn { + min-width:230px; + height:50px; + line-height:50px; + background:#fff; + font-size:12px; + text-transform:uppercase; + font-weight:400; + color:#909090; + -webkit-border-radius:30px; + -moz-border-radius:30px; + -ms-border-radius:30px; + -o-border-radius:30px; + border-radius:30px; + padding:0 5px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +.section-product-slider .show_all .btn:hover { + background-color:#000; + color:#fff +} +@media (max-width: 1199px) { + .section-product-slider .slick-dots { + display:none !important + } +} +@media (max-width: 575px) { + .section-product-slider .grid--view-items { + margin-left:-5px; + margin-right:-5px + } + .section-product-slider .grid--view-items .item { + padding-left:5px; + padding-right:5px + } +} +.section-product-grid { + overflow:hidden +} +@media (min-width: 500px) { + .section-product-grid .full_width { + padding-left:30px; + padding-right:30px + } +} +@media (max-width: 499px) { + .section-product-grid .full_width { + padding-left:15px; + padding-right:15px + } +} +.section-product-grid .grid--view-items>div:hover { + position:relative; + z-index:99 +} +.section-product-grid-special { + overflow:hidden +} +.section-product-grid-special .block_center>div:hover { + position:relative; + z-index:99 +} +.section-product-grid-special .block_center .product__title { + font-size:1.8rem; + font-weight:600; + margin-top:25px +} +.section-product-grid-special .block_center .product__info .product__price { + font-size:2.4rem +} +.section-product-grid-special .block_center .product__info s.product-price__price { + font-size:1.8rem; + text-decoration-color:#0d7a52 +} +.section-product-grid-special .block_left>.item-product:hover, +.section-product-grid-special .block_right>.item-product:hover { + position:relative; + z-index:99 +} +@media (max-width: 767px) { + .section-product-grid-special .block_left, + .section-product-grid-special .block_right { + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex + } + .section-product-grid-special .block_left .item-product, + .section-product-grid-special .block_right .item-product { + width:50%; + padding:0 7.5px + } +} +.section-product-grid-special .view_all { + min-width:170px; + margin:auto; + margin-top:30px +} +.section-product-list-special { + overflow:hidden +} +@media (min-width: 768px) { + .section-product-list-special .title_block { + max-width:690px; + padding-right:190px + } +} +.section-product-list-special .block_left>div:hover { + position:relative; + z-index:99 +} +.section-product-list-special .block_left .product__title { + font-size:1.5rem; + font-weight:600; + margin-top:25px +} +.section-product-list-special .view_all { + min-width:170px; + position:absolute +} +@media (min-width: 768px) { + .section-product-list-special .view_all { + top:-76px; + right:15px + } +} +@media (max-width: 767px) { + .section-product-list-special .view_all { + top:initial; + bottom:-50px; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%) + } + .lang-rtl .section-product-list-special .view_all { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) + } +} +.section-product-list-special .list--view-items:hover { + position:relative; + z-index:9 +} +@media (max-width: 991px) { + .section-product-list-special .list--view-items .item-product .thumbnail-container { + min-width:30% + } +} +.section-group-list-product .item-product { + -webkit-align-items:start !important; + -moz-align-items:start !important; + -ms-align-items:start !important; + align-items:start !important +} +.section-group-list-product .badge_sale { + display:none +} +.section-group-list-product .group-btn { + display:none !important +} +.section-group-list-product .slick-arrow { + top:-55px; + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0) +} +.section-group-list-product .slick-arrow.arrow-prev { + left:initial; + right:50px +} +.section-group-list-product .slick-arrow.arrow-next { + right:15px +} +.section-product-collection .title_block { + text-transform:uppercase; + font-size:30px; + margin-bottom:30px +} +.section-product-collection .type-1 .b_content { + background-color:rgba(255,255,255,0.9); + -webkit-box-shadow:0 0 10px rgba(0,0,0,0.1); + -moz-box-shadow:0 0 10px rgba(0,0,0,0.1); + -ms-box-shadow:0 0 10px rgba(0,0,0,0.1); + -o-box-shadow:0 0 10px rgba(0,0,0,0.1); + box-shadow:0 0 10px rgba(0,0,0,0.1) +} +.section-product-collection .type-2 { + position:relative +} +.section-product-collection .type-2 .b_content { + position:absolute; + background-color:rgba(255,255,255,0.5); + top:70px; + left:70px; + width:calc(100% - 140px) +} +@media (max-width: 1199px) { + .section-product-collection .type-2 .b_content { + top:30px; + left:30px; + width:calc(100% - 60px) + } +} +.section-product-collection .b_content a { + font-size:11px; + font-weight:600; + text-transform:uppercase +} +.section-product-collection .b_content a:not(:last-child) { + margin-bottom:15px +} +.section-group-element .block_deal .countdownfree { + position:absolute; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%); + bottom:0 +} +.lang-rtl .section-group-element .block_deal .countdownfree { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.section-group-element .block_deal .item-product { + -webkit-border-radius:10px; + -moz-border-radius:10px; + -ms-border-radius:10px; + -o-border-radius:10px; + border-radius:10px; + -webkit-box-shadow:5px 5px 15px rgba(0,0,0,0.1); + -moz-box-shadow:5px 5px 15px rgba(0,0,0,0.1); + -ms-box-shadow:5px 5px 15px rgba(0,0,0,0.1); + -o-box-shadow:5px 5px 15px rgba(0,0,0,0.1); + box-shadow:5px 5px 15px rgba(0,0,0,0.1); + overflow:hidden +} +.section-group-element .block_deal .item-product .thumbnail-container .group-buttons { + width:100%; + position:absolute; + bottom:70px +} +.section-group-element .block_deal .slick-dots { + bottom:50px; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%) +} +.lang-rtl .section-group-element .block_deal .slick-dots { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.section-group-element .product-slider .item-product { + border:1px solid #eeeeee; + overflow:hidden; + -webkit-box-shadow:none; + -moz-box-shadow:none; + -ms-box-shadow:none; + -o-box-shadow:none; + box-shadow:none +} +.section-group-element .product-slider .slick-arrow { + top:-75px; + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0) +} +.section-group-element .product-slider .slick-arrow.arrow-prev { + left:initial; + right:50px +} +.section-group-element .product-slider .slick-arrow.arrow-next { + right:15px +} +.section-product-deal { + overflow:hidden +} +.section-product-deal .item-product { + -webkit-box-shadow:6px 6px 12px rgba(0,0,0,0.1); + -moz-box-shadow:6px 6px 12px rgba(0,0,0,0.1); + -ms-box-shadow:6px 6px 12px rgba(0,0,0,0.1); + -o-box-shadow:6px 6px 12px rgba(0,0,0,0.1); + box-shadow:6px 6px 12px rgba(0,0,0,0.1); + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px; + overflow:hidden; + background-color:white +} +.section-product-deal .item-product .thumbnail-container a { + position:relative +} +.section-product-deal .item-product .productWishList, +.section-product-deal .item-product .productQuickView { + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0); + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible +} +.section-product-deal .item-product .productWishList .btn, +.section-product-deal .item-product .productQuickView .btn { + background-color:#f0f0f0; + margin-left:5px; + -webkit-box-shadow:none; + -moz-box-shadow:none; + -ms-box-shadow:none; + -o-box-shadow:none; + box-shadow:none +} +.section-product-deal .item-product .productWishList .btn:hover, +.section-product-deal .item-product .productQuickView .btn:hover { + background-color:#0d7a52 +} +.section-product-deal .item-product .product__info .product__title a { + font-size:1.4rem +} +.section-product-deal .item-product .product__info .product__price { + margin-bottom:15px +} +.section-product-deal .item-product .product__info .product-price__price { + font-size:1.8rem; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#ff9c00; + font-weight:800 +} +.section-product-deal .item-product .product__info s.product-price__price { + font-size:1.8rem; + color:#e2e2e2; + margin-left:20px +} +.section-product-deal .item-product .product__info .desc { + font-size:1.2rem +} +.section-product-deal .item-product .formAddToCart .btnAddToCart { + width:130px +} +.section-product-deal .slick-dotted { + padding-bottom:70px +} +.section-product-deal .slick-dotted .slick-dots { + bottom:0; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%) +} +.lang-rtl .section-product-deal .slick-dotted .slick-dots { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.section-product-deal .countdownfree { + position:absolute; + left:25px; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + z-index:99; + display:block +} +.section-product-deal .countdownfree .item-time:not(:last-child) { + margin-bottom:10px +} +@media (max-width: 1199px) { + .section-product-deal .thumbnail-container { + text-align:center + } + .section-product-deal .thumbnail-container a { + max-width:65%; + margin:auto + } +} +@media (max-width: 991px) { + .section-product-deal .item-product { + padding:15px + } + .section-product-deal .countdownfree { + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center + } +} +@media (max-width: 767px) { + .section-product-deal .product__info { + text-align:center + } + .section-product-deal .group-buttons { + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center + } +} +.section-testimonials { + overflow:hidden +} +.section-testimonials .testimonials-slider .content-info { + text-align:center +} +.section-testimonials .testimonials-slider .testimonial_part { + width:80px; + height:80px; + border-radius:50%; + margin:auto; + overflow:hidden; + border:4px solid white +} +.section-testimonials .testimonials-slider .slick-arrow { + top:45% +} +.section-testimonials .testimonials-slider .slick-arrow.arrow-prev { + left:20px; + right:initial +} +.section-testimonials .testimonials-slider .slick-arrow.arrow-next { + right:20px +} +.section-testimonials .testimonials-slider .slick-dots { + bottom:0; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%) +} +.lang-rtl .section-testimonials .testimonials-slider .slick-dots { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.section-testimonials .testimonials-slider .testimonial-item__name { + font-size:1.4rem; + color:#222; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + text-transform:capitalize +} +.section-testimonials .testimonials-slider .testimonial-item__info { + font-size:1.1rem; + color:#a2a2a2; + text-transform:uppercase; + margin-top:5px +} +.section-testimonials .testimonials-slider .testimonial-item__text { + margin-top:15px; + font-size:1.2rem; + padding:0 20px +} +@media (max-width: 1199px) { + .section-testimonials .testimonials-slider .testimonial-item__text { + padding:0 10px + } +} +.section-policy { + overflow:hidden +} +.section-policy .b_icon { + width:85px; + height:85px; + min-width:85px; + text-align:center; + line-height:85px +} +.section-policy .b_icon img { + margin-top:-5px; + -webkit-transition:all 0.5s; + -moz-transition:all 0.5s; + -ms-transition:all 0.5s; + -o-transition:all 0.5s; + transition:all 0.5s +} +.section-policy .title-policy { + font-size:1.4rem; + font-weight:700; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + text-transform:uppercase; + margin-bottom:8px +} +.section-policy .desc-policy { + font-size:1.2rem +} +.section-policy .nov-policy-item:hover img { + -webkit-transform:rotateY(-360deg); + -ms-transform:rotateY(-360deg); + transform:rotateY(-360deg) +} +.nov-sh-image-1 { + position:relative; + overflow:hidden +} +.nov-sh-image-1:after { + content:""; + display:inline-block; + width:150%; + height:80%; + position:absolute; + top:-75%; + right:32%; + background:rgba(255,255,255,0.15); + -webkit-transform:skewY(-50deg); + -ms-transform:skewY(-50deg); + transform:skewY(-50deg); + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +.lang-rtl .nov-sh-image-1:after { + -webkit-transform:skewY(50deg); + -ms-transform:skewY(50deg); + transform:skewY(50deg) +} +.nov-sh-image-1:hover:after { + top:120%; + right:-75%; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +.nov-sh-image-2 { + overflow:hidden +} +.nov-sh-image-2 img { + -webkit-transition:all 2s ease-out; + -moz-transition:all 2s ease-out; + -ms-transition:all 2s ease-out; + -o-transition:all 2s ease-out; + transition:all 2s ease-out +} +.nov-sh-image-2:hover img { + -webkit-transform:scale(1.05, 1.05); + -ms-transform:scale(1.05, 1.05); + transform:scale(1.05, 1.05) +} +.section-gallery-image { + overflow:hidden +} +.section-gallery-image .gallery-image__caption { + position:absolute; + z-index:2 +} +.section-gallery-image .gallery-image__caption .gallery-image-btn { + font-size:1.1rem; + font-weight:600; + text-transform:uppercase; + color:white; + background:black; + padding:13px 49px 9px; + margin-top:5rem +} +.section-gallery-image .gallery-image__caption .gallery-image-btn:hover { + background:#0d7a52 +} +.section-gallery-image .gallery-image__caption.style-1 { + width:38% +} +.section-gallery-image .gallery-image__caption.style-1 .gallery-image__text { + font-size:3.6rem; + font-weight:700; + color:black; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + display:block; + text-transform:uppercase +} +.section-gallery-image .gallery-image__caption.style-1 .gallery-image__text2 { + font-size:1.2rem; + font-weight:600; + text-transform:uppercase; + line-height:2 +} +.section-gallery-image .gallery-image__caption.style-2 { + width:38%; + font-weight:700; + color:black; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + display:block; + text-transform:uppercase; + line-height:1 +} +.section-gallery-image .gallery-image__caption.style-2 .gallery-image__text { + font-size:2.4rem; + margin-bottom:10px +} +.section-gallery-image .gallery-image__caption.style-2 .gallery-image__text2 { + font-size:7.2rem +} +.section-gallery-image .gallery-image__caption.style-2 .gallery-image-btn { + margin-top:3.5rem +} +@media (max-width: 1199px) { + .section-gallery-image .gallery-image__caption.style-2 .gallery-image__text { + font-size:2rem + } + .section-gallery-image .gallery-image__caption.style-2 .gallery-image__text2 { + font-size:6.2rem + } +} +@media (max-width: 991px) { + .section-gallery-image .gallery-image__caption .gallery-image-btn { + margin-top:2rem + } +} +@media (max-width: 767px) { + .section-gallery-image .gallery-image__caption .gallery-image-btn { + padding:10px 25px 8px; + margin-top:10px !important + } + .section-gallery-image .gallery-image__caption.style-1 { + width:60% + } + .section-gallery-image .gallery-image__caption.style-1 .gallery-image__text { + font-size:1.6rem + } + .section-gallery-image .gallery-image__caption.style-1 .gallery-image__text2 { + font-size:10px; + line-height:initial + } + .section-gallery-image .gallery-image__caption.style-2 { + width:62% + } + .section-gallery-image .gallery-image__caption.style-2 .gallery-image__text { + font-size:1.6rem + } + .section-gallery-image .gallery-image__caption.style-2 .gallery-image__text2 { + font-size:3.2rem + } +} +.section_img_group { + overflow:hidden +} +.section_img_group .gallery-image__item a, +.section_img_group .gallery-image__item img { + width:100% +} +.section_img_group .title-block { + position:absolute; + bottom:20px; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%); + font-weight:bold; + letter-spacing:1px +} +.lang-rtl .section_img_group .title-block { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.section_img_group .title-block a { + color:#a7a7a7; + font-size:13px; + display:block +} +.section_img_group .title-block a:hover { + color:#0d7a52 +} +.section-img-text { + overflow:hidden +} +.section-img-text .block_text { + position:relative +} +.section-img-text .block_text.block_right { + text-align:right +} +.lang-rtl .section-img-text .block_text.block_right { + text-align:left +} +.section-img-text .title { + font-size:1.6rem; + text-transform:uppercase; + font-weight:800; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#78b144; + line-height:1; + margin-top:10px +} +.section-img-text .block_section { + position:relative; + overflow:hidden +} +.section-img-text .block_section:before { + content:""; + position:absolute; + width:100%; + height:100%; + background-repeat:no-repeat; + background-position:center; + top:0; + left:0 +} +.image-slider-section .carousel-3d-container { + overflow:initial !important +} +.image-slider-section .carousel-3d-slide { + border:10px solid white !important; + -webkit-box-shadow:0 0 10px rgba(0,0,0,0.2); + -moz-box-shadow:0 0 10px rgba(0,0,0,0.2); + -ms-box-shadow:0 0 10px rgba(0,0,0,0.2); + -o-box-shadow:0 0 10px rgba(0,0,0,0.2); + box-shadow:0 0 10px rgba(0,0,0,0.2) +} +.image-slider-section .carousel-3d-slide:not(.current) a { + pointer-events:none +} +.image-slider-section .btn_nav { + width:13px; + height:13px; + border-radius:50%; + background-color:#bbbbbb; + cursor:pointer; + display:inline-block +} +.image-slider-section .btn_nav:not(:last-child) { + margin-right:3px +} +.image-slider-section .btn_nav.active, +.image-slider-section .btn_nav:hover { + background-color:white; + -webkit-box-shadow:0 0 0 2px #0d7a52; + -moz-box-shadow:0 0 0 2px #0d7a52; + -ms-box-shadow:0 0 0 2px #0d7a52; + -o-box-shadow:0 0 0 2px #0d7a52; + box-shadow:0 0 0 2px #0d7a52 +} +.image-slider-section .nov-owl-carousel .image-slider__item { + overflow:hidden +} +.image-slider-section .nov-owl-carousel .image-slider__item img { + -webkit-transition:all 2s ease-out; + -moz-transition:all 2s ease-out; + -ms-transition:all 2s ease-out; + -o-transition:all 2s ease-out; + transition:all 2s ease-out +} +.image-slider-section .nov-owl-carousel .image-slider__item:hover img { + -webkit-transform:scale(1.05, 1.05); + -ms-transform:scale(1.05, 1.05); + transform:scale(1.05, 1.05) +} +.image-slider-section .nov-owl-carousel .owl-dots { + position:absolute; + bottom:20px; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%) +} +.lang-rtl .image-slider-section .nov-owl-carousel .owl-dots { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.image-slider-section .nov-owl-carousel .owl-dots .owl-dot span { + width:17px; + height:17px; + background-color:white; + margin:5px +} +.image-slider-section .nov-owl-carousel .owl-dots .owl-dot:hover span, +.image-slider-section .nov-owl-carousel .owl-dots .owl-dot.active span { + -webkit-box-shadow:0 0 0 2px #0d7a52; + -moz-box-shadow:0 0 0 2px #0d7a52; + -ms-box-shadow:0 0 0 2px #0d7a52; + -o-box-shadow:0 0 0 2px #0d7a52; + box-shadow:0 0 0 2px #0d7a52; + background-color:transparent +} +@media (max-width: 1199px) { + .image-slider-section .carousel-3d-container { + max-height:321px + } + .image-slider-section .carousel-3d-container .carousel-3d-slide, + .image-slider-section .carousel-3d-container .carousel-3d-slider { + max-width:450px; + max-height:321px + } +} +@media (max-width: 991px) { + .image-slider-section { + overflow:hidden + } + .image-slider-section .carousel-3d-container { + max-height:287px + } + .image-slider-section .carousel-3d-container .carousel-3d-slide, + .image-slider-section .carousel-3d-container .carousel-3d-slider { + max-width:390px; + max-height:287px + } +} +@media (max-width: 767px) { + .image-slider-section .carousel-3d-container { + max-height:287px + } + .image-slider-section .carousel-3d-container .carousel-3d-slide, + .image-slider-section .carousel-3d-container .carousel-3d-slider { + max-width:390px; + max-height:287px + } +} +@media (max-width: 500px) { + .image-slider-section .carousel-3d-container { + max-height:200px + } + .image-slider-section .carousel-3d-container .carousel-3d-slide, + .image-slider-section .carousel-3d-container .carousel-3d-slider { + max-width:270px; + max-height:200px + } +} +.section_img_product .gallery-image__item { + position:relative; + overflow:hidden +} +.section_img_product .gallery-image__item img { + -webkit-transition:all 1s ease; + -moz-transition:all 1s ease; + -ms-transition:all 1s ease; + -o-transition:all 1s ease; + transition:all 1s ease +} +.section_img_product .gallery-image__item:hover img { + -webkit-transform:scale(1.05, 1.05); + -ms-transform:scale(1.05, 1.05); + transform:scale(1.05, 1.05) +} +.section_img_product .block_info { + position:absolute; + bottom:20px; + width:100%; + left:0; + padding:0 30px +} +.section_img_product .title-block { + font-size:1.4rem; + font-weight:700; + text-transform:uppercase; + color:black +} +.section_img_product .title-block a { + color:black +} +.section_img_product .title-block a:hover { + color:#0d7a52 +} +.section_img_product .price-block { + font-weight:700; + color:#222 +} +.section_img_product .buy_now { + font-size:10px; + font-weight:700; + color:#b6b6b6; + position:relative; + text-transform:uppercase +} +.section_img_product .buy_now:after { + content:"\f2f6"; + font-family:"Material-Design-Iconic-Font"; + font-size:18px; + color:#0d7a52; + vertical-align:middle; + margin-left:5px +} +.section_img_product .buy_now:hover { + color:#0d7a52 +} +@media (max-width: 1199px) { + .section_img_product .title-block { + font-size:1.2rem + } + .section_img_product .block_info { + padding:0 15px + } +} +@media (max-width: 991px) { + .section_img_product .block_info { + bottom:0 + } +} +.section-product-img-slider .price { + font-size:3rem; + font-weight:700; + color:#222; + border-bottom:1px solid black +} +.section-product-img-slider .sub_title { + font-size:1.4rem; + font-weight:700; + color:#222; + text-transform:uppercase +} +.section-product-img-slider .des { + font-size:1.4rem +} +.section-product-img-slider .cate { + font-size:1.4rem; + font-weight:700; + color:#d4d4d4; + text-transform:uppercase +} +.section-product-img-slider .name { + font-size:2.4rem; + font-weight:700; + color:#222; + text-transform:uppercase +} +.section-product-img-slider .link { + font-size:1.2rem; + font-weight:700; + color:white; + height:48px; + line-height:48px; + width:100%; + background:black; + text-transform:uppercase; + padding:0 5px; + text-align:center +} +.section-product-img-slider .link:hover { + background-color:#0d7a52 +} +.section-product-img-slider img { + -moz-animation:ImgAnimate 3s infinite linear 0.2s; + -o-animation:ImgAnimate 3s infinite linear 0.2s; + -webkit-animation:ImgAnimate 3s infinite linear 0.2s; + animation:ImgAnimate 3s infinite linear 0.2s +} +.section-product-img-slider .slick-slider .slick-dots { + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%); + bottom:0 +} +.lang-rtl .section-product-img-slider .slick-slider .slick-dots { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.section-product-img-slider .slick-slider .slick-dots li { + margin:0 2px +} +.section-product-img-slider .slick-slider .slick-dots li button:before { + width:17px; + height:17px; + background-color:#bbbbbb +} +.section-product-img-slider .slick-slider .slick-dots li:hover button:before, +.section-product-img-slider .slick-slider .slick-dots li.slick-active button:before { + background-color:white; + -webkit-box-shadow:0 0 0 2px #0d7a52; + -moz-box-shadow:0 0 0 2px #0d7a52; + -ms-box-shadow:0 0 0 2px #0d7a52; + -o-box-shadow:0 0 0 2px #0d7a52; + box-shadow:0 0 0 2px #0d7a52 +} +@-webkit-keyframes ImgAnimate { + 0% { + -webkit-transform:rotate(0) translate(-10px) rotate(0); + -moz-transform:rotate(0) translate(-10px) rotate(0); + -ms-transform:rotate(0) translate(-10px) rotate(0); + -o-transform:rotate(0) translate(-10px) rotate(0); + transform:rotate(0) translate(-10px) rotate(0) + } + 100% { + -webkit-transform:rotate(360deg) translate(-10px) rotate(-360deg); + -moz-transform:rotate(360deg) translate(-10px) rotate(-360deg); + -ms-transform:rotate(360deg) translate(-10px) rotate(-360deg); + -o-transform:rotate(360deg) translate(-10px) rotate(-360deg); + transform:rotate(360deg) translate(-10px) rotate(-360deg) + } +} +@-moz-keyframes ImgAnimate { + 0% { + -webkit-transform:rotate(0) translate(-10px) rotate(0); + -moz-transform:rotate(0) translate(-10px) rotate(0); + -ms-transform:rotate(0) translate(-10px) rotate(0); + -o-transform:rotate(0) translate(-10px) rotate(0); + transform:rotate(0) translate(-10px) rotate(0) + } + 100% { + -webkit-transform:rotate(360deg) translate(-10px) rotate(-360deg); + -moz-transform:rotate(360deg) translate(-10px) rotate(-360deg); + -ms-transform:rotate(360deg) translate(-10px) rotate(-360deg); + -o-transform:rotate(360deg) translate(-10px) rotate(-360deg); + transform:rotate(360deg) translate(-10px) rotate(-360deg) + } +} +@-ms-keyframes ImgAnimate { + 0% { + -webkit-transform:rotate(0) translate(-10px) rotate(0); + -moz-transform:rotate(0) translate(-10px) rotate(0); + -ms-transform:rotate(0) translate(-10px) rotate(0); + -o-transform:rotate(0) translate(-10px) rotate(0); + transform:rotate(0) translate(-10px) rotate(0) + } + 100% { + -webkit-transform:rotate(360deg) translate(-10px) rotate(-360deg); + -moz-transform:rotate(360deg) translate(-10px) rotate(-360deg); + -ms-transform:rotate(360deg) translate(-10px) rotate(-360deg); + -o-transform:rotate(360deg) translate(-10px) rotate(-360deg); + transform:rotate(360deg) translate(-10px) rotate(-360deg) + } +} +@keyframes ImgAnimate { + 0% { + -webkit-transform:rotate(0) translate(-10px) rotate(0); + -moz-transform:rotate(0) translate(-10px) rotate(0); + -ms-transform:rotate(0) translate(-10px) rotate(0); + -o-transform:rotate(0) translate(-10px) rotate(0); + transform:rotate(0) translate(-10px) rotate(0) + } + 100% { + -webkit-transform:rotate(360deg) translate(-10px) rotate(-360deg); + -moz-transform:rotate(360deg) translate(-10px) rotate(-360deg); + -ms-transform:rotate(360deg) translate(-10px) rotate(-360deg); + -o-transform:rotate(360deg) translate(-10px) rotate(-360deg); + transform:rotate(360deg) translate(-10px) rotate(-360deg) + } +} +.section_video_text .title { + font-weight:600; + text-transform:uppercase +} +.section_video_text .block_video .block_content { + border:10px solid white; + -webkit-box-shadow:5px 5px 10px rgba(0,0,0,0.15); + -moz-box-shadow:5px 5px 10px rgba(0,0,0,0.15); + -ms-box-shadow:5px 5px 10px rgba(0,0,0,0.15); + -o-box-shadow:5px 5px 10px rgba(0,0,0,0.15); + box-shadow:5px 5px 10px rgba(0,0,0,0.15) +} +.section_video_text .block_social ul li:not(:last-child) { + margin-left:0; + margin-right:2px +} +.lang-rtl .section_video_text .block_social ul li:not(:last-child) { + margin-left:2px; + margin-right:0 +} +.section_video_text .block_social ul li a i { + text-align:center; + width:24px; + height:24px; + line-height:26px; + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease; + font-size:1.3rem; + background-color:black; + color:white +} +.section_video_text .block_social ul li a:hover i { + background-color:#0d7a52 +} +.section-image-parallax { + overflow:hidden +} +.section-image-parallax .gallery-image__item { + overflow:hidden; + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex +} +.section-image-parallax a { + overflow:hidden; + position:relative +} +.section-image-parallax img { + -webkit-transform:scale(1.3, 1.3); + -ms-transform:scale(1.3, 1.3); + transform:scale(1.3, 1.3); + -webkit-transition:all 0.8s; + -moz-transition:all 0.8s; + -ms-transition:all 0.8s; + -o-transition:all 0.8s; + transition:all 0.8s +} +.section-image-parallax .gallery-image__caption { + text-align:center; + position:absolute; + width:560px; + top:50%; + left:17%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%) +} +.section-image-parallax .gallery-image__caption .title { + font-size:2.6rem; + font-weight:700; + color:#222; + text-transform:uppercase +} +.section-image-parallax .gallery-image__caption .des { + font-size:1.6rem; + font-weight:500 +} +.section-image-parallax .gallery-image__caption .gallery-image-button { + font-size:1.1rem; + font-weight:600; + text-transform:uppercase; + color:white; + background-color:black; + padding:11px 46px; + letter-spacing:0.5px +} +.section-image-parallax .gallery-image__caption .gallery-image-button:hover { + background-color:#0d7a52 +} +@media (max-width: 1199px) { + .section-image-parallax .gallery-image__caption { + left:5% + } +} +@media (max-width: 991px) { + .section-image-parallax .gallery-image__caption { + width:395px + } + .section-image-parallax .gallery-image__caption .title { + font-size:1.8rem + } + .section-image-parallax .gallery-image__caption .des { + font-size:1.3rem + } +} +@media (max-width: 575px) { + .section-image-parallax .gallery-image__caption { + width:100%; + left:0 + } +} +-webkit-keyframes zoom from { + transform:scale(0) +} +-webkit-keyframes zoom to { + transform:scale(1) +} +@keyframes zoom { + from { + transform:scale(0.1) + } + to { + transform:scale(1) + } +} +.collection-grid { + overflow:hidden +} +.template-collection .page-width { + overflow:hidden +} +.collection-view-items #grid-4 { + font-size:20px; + line-height:47px +} +.collection-view-items .nov-wrapper-product { + -webkit-transition:ease-in-out all 0.4s; + -moz-transition:ease-in-out all 0.4s; + -ms-transition:ease-in-out all 0.4s; + -o-transition:ease-in-out all 0.4s; + transition:ease-in-out all 0.4s +} +.collection-view-items.view_4 .nov-wrapper-product { + -webkit-box-flex:0 0 25%; + -moz-box-flex:0 0 25%; + -webkit-flex:0 0 25%; + -ms-flex:0 0 25%; + flex:0 0 25%; + max-width:25% +} +.collection-view-items.view_3 .nov-wrapper-product { + -webkit-box-flex:0 0 33.33333%; + -moz-box-flex:0 0 33.33333%; + -webkit-flex:0 0 33.33333%; + -ms-flex:0 0 33.33333%; + flex:0 0 33.33333%; + max-width:33.333333% +} +.collection-view-items.view_2 .nov-wrapper-product { + -webkit-box-flex:0 0 50%; + -moz-box-flex:0 0 50%; + -webkit-flex:0 0 50%; + -ms-flex:0 0 50%; + flex:0 0 50%; + max-width:50% +} +.collection-view-items.list .nov-wrapper-product { + -webkit-box-flex:0 0 100%; + -moz-box-flex:0 0 100%; + -webkit-flex:0 0 100%; + -ms-flex:0 0 100%; + flex:0 0 100%; + max-width:100% +} +.collection-view-items.list .nov-wrapper-product .item-product { + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex; + padding:20px; + border:1px solid #f1f1f1 +} +.collection-view-items.list .nov-wrapper-product .item-product:before { + display:none +} +.collection-view-items.list .nov-wrapper-product .item-product:hover { + border-color:transparent; + -webkit-box-shadow:0 0 20px rgba(0,0,0,0.2); + -moz-box-shadow:0 0 20px rgba(0,0,0,0.2); + -ms-box-shadow:0 0 20px rgba(0,0,0,0.2); + -o-box-shadow:0 0 20px rgba(0,0,0,0.2); + box-shadow:0 0 20px rgba(0,0,0,0.2) +} +.collection-view-items.list .nov-wrapper-product .item-product:hover .product__price { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1 +} +.collection-view-items.list .nov-wrapper-product .item-product .btnAddToCart, +.collection-view-items.list .nov-wrapper-product .item-product .productWishList, +.collection-view-items.list .nov-wrapper-product .item-product .productQuickView { + position:static; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0); + width:initial; + visibility:visible; + margin-right:5px +} +.collection-view-items.list .nov-wrapper-product .item-product .btnAddToCart { + height:42px; + padding:0 15px; + line-height:42px; + margin-top:0 +} +.collection-view-items.list .nov-wrapper-product .item-product .btnProductWishlist { + height:42px; + line-height:42px; + width:initial; + border:none; + background-color:#f0f0f0; + color:#222; + border-radius:30px; + font-size:1rem; + font-weight:700; + margin-top:0; + padding:0 15px; + margin-left:0; + -webkit-box-shadow:none; + -moz-box-shadow:none; + -ms-box-shadow:none; + -o-box-shadow:none; + box-shadow:none +} +.collection-view-items.list .nov-wrapper-product .item-product .btnProductWishlist:hover, +.collection-view-items.list .nov-wrapper-product .item-product .btnProductWishlist.whislist-added { + color:white; + background-color:#0d7a52 +} +.collection-view-items.list .nov-wrapper-product .item-product .btnProductWishlist i { + display:none +} +.collection-view-items.list .nov-wrapper-product .item-product .btnProductWishlist span { + display:inline-block +} +.collection-view-items.list .nov-wrapper-product .item-product .btnProductQuickview { + width:42px; + height:42px; + border:none; + background-color:#f0f0f0; + color:#222; + border-radius:50%; + font-weight:600; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-box-shadow:none; + -moz-box-shadow:none; + -ms-box-shadow:none; + -o-box-shadow:none; + box-shadow:none +} +.collection-view-items.list .nov-wrapper-product .item-product .btnProductQuickview:hover { + color:white; + background-color:#0d7a52 +} +.collection-view-items.list .nov-wrapper-product .item-product .product__info .product__title { + font-size:1.6rem +} +.collection-view-items.list .nov-wrapper-product .item-product .product__available i { + margin-right:4px +} +.collection-view-items.list .nov-wrapper-product .item-product .desc { + font-size:1.4rem; + margin-top:15px; + margin-bottom:25px +} +.collection-view-items.list .nov-wrapper-product .item-product .cate { + font-size:1.2rem; + font-weight:600; + text-transform:uppercase; + color:#cdcdcd +} +.collection-view-items.list .nov-wrapper-product .thumbnail-container { + max-width:270px +} +.collection-view-items.list .nov-wrapper-product .thumbnail-container .group-buttons { + display:none !important +} +.collection-view-items.list .nov-wrapper-product .product__info { + width:calc(100% - 270px); + padding-left:30px; + padding-top:35px +} +.collection-view-items.list .nov-wrapper-product .group_buttons_bottom { + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex +} +@media (max-width: 767px) and (min-width: 568px) { + .collection-view-items.list .nov-wrapper-product .thumbnail-container { + max-width:155px + } + .collection-view-items.list .nov-wrapper-product .product__info { + width:calc(100% - 155px); + padding-top:0 + } +} +@media (max-width: 567px) { + .collection-view-items.list .nov-wrapper-product .item-product { + display:block; + padding:10px + } + .collection-view-items.list .nov-wrapper-product .item-product .btnProductWishlist, + .collection-view-items.list .nov-wrapper-product .item-product .btnAddToCart { + width:110px + } + .collection-view-items.list .nov-wrapper-product .thumbnail-container { + max-width:initial + } + .collection-view-items.list .nov-wrapper-product .product__info { + width:initial; + padding-left:0 + } +} +.collection-view-items:not(.list) .product__info { + text-align:center +} +.collection-view-items:not(.list) .group_buttons_bottom .btnProductQuickview, +.collection-view-items:not(.list) .group_buttons_bottom .btnProductWishlist, +.collection-view-items:not(.list) .available_product, +.collection-view-items:not(.list) .desc, +.collection-view-items:not(.list) .cate { + display:none !important +} +@media (max-width: 767px) { + .collection-view-items .nov-wrapper-product { + padding-left:7.5px; + padding-right:7.5px; + margin-bottom:15px !important + } + .collection-view-items .nov-wrapper-product .item-product { + margin-bottom:0 + } +} +.manufacture-section .nov-manufacture .block_content { + border-top:1px solid #f2f2f2; + padding-top:52px +} +.manufacture-section .nov-manufacture .block_content .owl-carousel .owl-stage-outer { + min-height:67px +} +.manufacture-section .nov-manufacture .nov-slick-carousel { + margin:0 +} +.manufacture-section .nov-manufacture .manufacture__item { + text-align:center +} +.manufacture-section .nov-manufacture .manufacture__item .manufacture__image { + width:auto; + display:inline-block; + vertical-align:middle; + -webkit-border-radius:8px; + -moz-border-radius:8px; + -ms-border-radius:8px; + -o-border-radius:8px; + border-radius:8px +} +@media (max-width: 767px) { + .manufacture-section .distance { + padding-bottom:40px !important + } +} +.section-custom { + position:relative; + z-index:1 +} +.section-custom .custom-content { + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center +} +.section-custom .custom_text .h3 { + font-size:3.6rem; + font-weight:700; + color:#222; + text-transform:uppercase; + margin-bottom:30px +} +.section-link-list .section-content { + border-bottom:1px solid #efefef; + padding-bottom:95px +} +@media (max-width: 767px) { + .section-link-list .section-content { + padding-bottom:50px + } +} +.section-link-list .b_img { + min-width:86px +} +.section-link-list .b_img.h_imgh { + position:relative +} +.section-link-list .b_img.h_imgh .image { + -webkit-transition:all 0.5s; + -moz-transition:all 0.5s; + -ms-transition:all 0.5s; + -o-transition:all 0.5s; + transition:all 0.5s +} +.section-link-list .b_img.h_imgh .img_h { + position:absolute; + top:50%; + left:50%; + -webkit-transform:translate(-50%, -50%) scale(0.5, 0.5); + -ms-transform:translate(-50%, -50%) scale(0.5, 0.5); + transform:translate(-50%, -50%) scale(0.5, 0.5); + visibility:hidden; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + -webkit-transition:all 0.5s; + -moz-transition:all 0.5s; + -ms-transition:all 0.5s; + -o-transition:all 0.5s; + transition:all 0.5s +} +.section-link-list .b_img:not(.h_imgh):hover .image { + animation:AnimationLac 1.3s ease-in-out +} +.section-link-list .name_link { + font-size:1.1rem; + font-weight:600; + text-transform:uppercase; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +.section-link-list .name_link:hover { + color:#0d7a52 !important +} +.section-link-list .desc { + font-size:1rem +} +.section-link-list .block_content:hover .name_link { + color:#0d7a52 +} +.section-link-list .block_content:hover .h_imgh .image { + visibility:hidden; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + -webkit-transform:scale(0.5, 0.5); + -ms-transform:scale(0.5, 0.5); + transform:scale(0.5, 0.5) +} +.section-link-list .block_content:hover .h_imgh .img_h { + visibility:visible; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + -webkit-transform:translate(-50%, -50%) scale(1, 1); + -ms-transform:translate(-50%, -50%) scale(1, 1); + transform:translate(-50%, -50%) scale(1, 1) +} +@-webkit-keyframes AnimationLac { + 20% { + -webkit-transform:translateX(8px); + -ms-transform:translateX(8px); + transform:translateX(8px) + } + .lang-rtl 20% { + -webkit-transform:translateX(-8px); + -ms-transform:translateX(-8px); + transform:translateX(-8px) + } + 40% { + -webkit-transform:translateX(-6px); + -ms-transform:translateX(-6px); + transform:translateX(-6px) + } + .lang-rtl 40% { + -webkit-transform:translateX(6px); + -ms-transform:translateX(6px); + transform:translateX(6px) + } + 60% { + -webkit-transform:translateX(4px); + -ms-transform:translateX(4px); + transform:translateX(4px) + } + .lang-rtl 60% { + -webkit-transform:translateX(-4px); + -ms-transform:translateX(-4px); + transform:translateX(-4px) + } + 80% { + -webkit-transform:translateX(-2px); + -ms-transform:translateX(-2px); + transform:translateX(-2px) + } + .lang-rtl 80% { + -webkit-transform:translateX(2px); + -ms-transform:translateX(2px); + transform:translateX(2px) + } + 100% { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) + } + .lang-rtl 100% { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) + } +} +@-moz-keyframes AnimationLac { + 20% { + -webkit-transform:translateX(8px); + -ms-transform:translateX(8px); + transform:translateX(8px) + } + .lang-rtl 20% { + -webkit-transform:translateX(-8px); + -ms-transform:translateX(-8px); + transform:translateX(-8px) + } + 40% { + -webkit-transform:translateX(-6px); + -ms-transform:translateX(-6px); + transform:translateX(-6px) + } + .lang-rtl 40% { + -webkit-transform:translateX(6px); + -ms-transform:translateX(6px); + transform:translateX(6px) + } + 60% { + -webkit-transform:translateX(4px); + -ms-transform:translateX(4px); + transform:translateX(4px) + } + .lang-rtl 60% { + -webkit-transform:translateX(-4px); + -ms-transform:translateX(-4px); + transform:translateX(-4px) + } + 80% { + -webkit-transform:translateX(-2px); + -ms-transform:translateX(-2px); + transform:translateX(-2px) + } + .lang-rtl 80% { + -webkit-transform:translateX(2px); + -ms-transform:translateX(2px); + transform:translateX(2px) + } + 100% { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) + } + .lang-rtl 100% { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) + } +} +@-ms-keyframes AnimationLac { + 20% { + -webkit-transform:translateX(8px); + -ms-transform:translateX(8px); + transform:translateX(8px) + } + .lang-rtl 20% { + -webkit-transform:translateX(-8px); + -ms-transform:translateX(-8px); + transform:translateX(-8px) + } + 40% { + -webkit-transform:translateX(-6px); + -ms-transform:translateX(-6px); + transform:translateX(-6px) + } + .lang-rtl 40% { + -webkit-transform:translateX(6px); + -ms-transform:translateX(6px); + transform:translateX(6px) + } + 60% { + -webkit-transform:translateX(4px); + -ms-transform:translateX(4px); + transform:translateX(4px) + } + .lang-rtl 60% { + -webkit-transform:translateX(-4px); + -ms-transform:translateX(-4px); + transform:translateX(-4px) + } + 80% { + -webkit-transform:translateX(-2px); + -ms-transform:translateX(-2px); + transform:translateX(-2px) + } + .lang-rtl 80% { + -webkit-transform:translateX(2px); + -ms-transform:translateX(2px); + transform:translateX(2px) + } + 100% { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) + } + .lang-rtl 100% { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) + } +} +@keyframes AnimationLac { + 20% { + -webkit-transform:translateX(8px); + -ms-transform:translateX(8px); + transform:translateX(8px) + } + .lang-rtl 20% { + -webkit-transform:translateX(-8px); + -ms-transform:translateX(-8px); + transform:translateX(-8px) + } + 40% { + -webkit-transform:translateX(-6px); + -ms-transform:translateX(-6px); + transform:translateX(-6px) + } + .lang-rtl 40% { + -webkit-transform:translateX(6px); + -ms-transform:translateX(6px); + transform:translateX(6px) + } + 60% { + -webkit-transform:translateX(4px); + -ms-transform:translateX(4px); + transform:translateX(4px) + } + .lang-rtl 60% { + -webkit-transform:translateX(-4px); + -ms-transform:translateX(-4px); + transform:translateX(-4px) + } + 80% { + -webkit-transform:translateX(-2px); + -ms-transform:translateX(-2px); + transform:translateX(-2px) + } + .lang-rtl 80% { + -webkit-transform:translateX(2px); + -ms-transform:translateX(2px); + transform:translateX(2px) + } + 100% { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) + } + .lang-rtl 100% { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) + } +} +.section-collectin-list-link .title-block { + font-size:2.6rem; + font-weight:700; + color:#222; + text-transform:uppercase; + position:relative; + z-index:9 +} +.section-collectin-list-link .block { + max-width:200px; + position:relative +} +.section-collectin-list-link .block:before, +.section-collectin-list-link .block:after { + content:""; + position:absolute; + top:-20px; + left:-30px; + width:0; + height:0; + -webkit-transition:all 0.4s; + -moz-transition:all 0.4s; + -ms-transition:all 0.4s; + -o-transition:all 0.4s; + transition:all 0.4s +} +.section-collectin-list-link .block:after { + background-color:#081629 +} +.section-collectin-list-link .block:hover:before, +.section-collectin-list-link .block:hover:after { + width:calc(100% + 60px); + height:calc(100% + 55px) +} +.section-collectin-list-link .block:hover .title-block, +.section-collectin-list-link .block:hover .view_all, +.section-collectin-list-link .block:hover .view_all:before, +.section-collectin-list-link .block:hover .site-linklist-item a { + color:white +} +.section-collectin-list-link .block:hover .view_all { + border-color:white +} +.section-collectin-list-link .block:hover .view_all:hover { + color:#0d7a52 +} +.section-collectin-list-link .block:hover .view_all:hover:before { + color:#0d7a52 +} +.section-collectin-list-link .block:hover .site-linklist-item a:hover { + color:#0d7a52 +} +.section-collectin-list-link .view_all { + font-size:10px; + font-weight:700; + color:#909090; + position:relative; + border-bottom:1px solid black; + padding-bottom:15px; + text-transform:uppercase; + z-index:9 +} +.section-collectin-list-link .view_all:before { + content:"\f301"; + font-family:"Material-Design-Iconic-Font"; + position:absolute; + top:-1px; + right:0; + color:#222; + font-size:1.2rem +} +.section-collectin-list-link .site-_linklist { + position:relative; + z-index:9 +} +.section-collectin-list-link .site-linklist-item:not(:last-child) { + margin-bottom:10px +} +.section-collectin-list-link .site-linklist-item a { + font-size:1.2rem; + text-transform:uppercase; + font-weight:600 +} +.section-lookbook .full_width { + overflow:hidden +} +.section-product-lookbook .block_product>div:hover { + position:relative; + z-index:9 +} +@media (max-width: 767px) { + .section-product-lookbook .distance { + overflow:hidden; + padding-left:15px; + padding-right:15px + } +} +.nov-lookbook .item-lookbook { + -webkit-border-radius:50%; + -moz-border-radius:50%; + -ms-border-radius:50%; + -o-border-radius:50%; + border-radius:50%; + padding:10px; + position:absolute +} +.nov-lookbook .item-lookbook .number-lookbook { + width:59px; + height:59px; + border:1px solid white; + display:inline-block; + border-radius:50%; + line-height:64px; + position:relative; + text-align:center +} +.nov-lookbook .item-lookbook .number-lookbook:before, +.nov-lookbook .item-lookbook .number-lookbook:after { + content:''; + width:120%; + height:120%; + border-radius:50%; + position:absolute; + left:-10%; + top:-10%; + border:1px solid white; + animation:Animationlookbook 1.2s linear infinite +} +.nov-lookbook .item-lookbook .number-lookbook:before { + animation-delay:0.6s +} +.nov-lookbook .item-lookbook .number-lookbook span { + width:39px; + height:39px; + line-height:39px; + -webkit-border-radius:50%; + -moz-border-radius:50%; + -ms-border-radius:50%; + -o-border-radius:50%; + border-radius:50%; + text-align:center; + color:#909090; + position:relative; + display:inline-block; + z-index:1; + background-color:white; + font-size:26px; + font-weight:300 +} +.nov-lookbook .item-lookbook .content-lookbook { + padding:10px; + z-index:1; + text-align:center; + -webkit-box-shadow:0px 0px 15px 0px rgba(50,50,50,0.15); + -moz-box-shadow:0px 0px 15px 0px rgba(50,50,50,0.15); + -ms-box-shadow:0px 0px 15px 0px rgba(50,50,50,0.15); + -o-box-shadow:0px 0px 15px 0px rgba(50,50,50,0.15); + box-shadow:0px 0px 15px 0px rgba(50,50,50,0.15); + width:160px; + background:#fff; + position:absolute +} +@media (min-width: 768px) { + .nov-lookbook .item-lookbook .content-lookbook { + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden; + -webkit-transition:all 0.3s; + -moz-transition:all 0.3s; + -ms-transition:all 0.3s; + -o-transition:all 0.3s; + transition:all 0.3s; + -webkit-transform:translateY(30px); + -ms-transform:translateY(30px); + transform:translateY(30px) + } +} +.nov-lookbook .item-lookbook .content-lookbook .item-thumb img { + display:inline-block +} +.nov-lookbook .item-lookbook .content-lookbook .item-title a { + color:#222; + font-weight:600; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.2rem +} +.nov-lookbook .item-lookbook .content-lookbook .item-title a:hover { + color:#0d7a52 +} +.nov-lookbook .item-lookbook .content-lookbook .rating { + margin-top:5px; + margin-bottom:5px +} +.nov-lookbook .item-lookbook .content-lookbook .rating .star-rating { + margin:0 auto; + width:65px +} +.nov-lookbook .item-lookbook .content-lookbook .rating .review-count { + display:none +} +.nov-lookbook .item-lookbook .content-lookbook .price { + padding-top:5px; + color:#222; + font-weight:bold; + font-size:13px +} +.nov-lookbook .item-lookbook .content-lookbook.topright { + bottom:45px; + left:70px +} +.nov-lookbook .item-lookbook .content-lookbook.topleft { + bottom:45px; + right:70px +} +.nov-lookbook .item-lookbook .content-lookbook.bottomright { + top:45px; + left:70px +} +.nov-lookbook .item-lookbook .content-lookbook.bottomleft { + top:45px; + right:70px +} +@media (max-width: 1199px) { + .nov-lookbook .item-lookbook .content-lookbook.topright { + bottom:-15px; + left:45px + } + .nov-lookbook .item-lookbook .content-lookbook.topleft { + bottom:-15px; + right:45px + } + .nov-lookbook .item-lookbook .content-lookbook.bottomright { + top:-15px; + left:45px + } + .nov-lookbook .item-lookbook .content-lookbook.bottomleft { + top:-15px; + right:45px + } +} +@media (max-width: 991px) { + .nov-lookbook .item-lookbook .content-lookbook { + width:150px + } + .nov-lookbook .item-lookbook .content-lookbook .item-thumb img { + max-height:100px; + width:auto + } +} +.nov-lookbook .item-lookbook:hover { + cursor:pointer +} +.nov-lookbook .item-lookbook:hover .content-lookbook { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible; + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0); + z-index:999 +} +@media (max-width: 1199px) { + .nov-lookbook .item-lookbook { + padding:5px + } + .nov-lookbook .item-lookbook .number-lookbook { + width:35px; + height:35px; + line-height:42px + } + .nov-lookbook .item-lookbook .number-lookbook span { + width:25px; + height:25px; + line-height:27px + } + .nov-lookbook .item-lookbook .content-lookbook { + width:200px; + padding:10px + } + .nov-lookbook .item-lookbook .content-lookbook .item-thumb { + max-width:60px; + margin-right:10px + } + .nov-lookbook .item-lookbook .content-lookbook .content-lookbook-bottom { + text-align:left + } + .lang-rtl .nov-lookbook .item-lookbook .content-lookbook .content-lookbook-bottom { + text-align:right + } +} +@media (max-width: 767px) { + .nov-lookbook .item-lookbook { + position:static; + width:100%; + height:100% + } + .nov-lookbook .item-lookbook .number-lookbook { + width:100%; + height:34px; + line-height:34px; + border-radius:3px; + margin-bottom:10px; + border:none; + display:none + } + .nov-lookbook .item-lookbook .content-lookbook { + position:static; + display:flex; + width:100% + } + .nov-lookbook .item-lookbook .item-thumb { + margin-right:15px + } + .nov-lookbook .item-lookbook .content-lookbook-bottom { + text-align:left + } + .lang-rtl .nov-lookbook .item-lookbook .content-lookbook-bottom { + text-align:right + } +} +.nov-lookbook .info-lookbooks .title-lookbook { + font-size:2rem; + font-weight:600; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + margin-top:27px; + margin-bottom:10px +} +.nov-lookbook .info-lookbooks .description-lookbook { + font-size:1.4rem +} +.nov-lookbook .owl-dots { + position:absolute; + bottom:20px; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%) +} +.lang-rtl .nov-lookbook .owl-dots { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.nov-lookbook .owl-dots .owl-dot.active span, +.nov-lookbook .owl-dots .owl-dot:hover span { + background-color:black +} +.nov-lookbook .owl-dots .owl-dot span { + width:22px; + height:22px; + margin:0 5px; + background-color:white +} +@media (max-width: 767px) { + .nov-lookbook .owl-dots { + display:none !important + } +} +.nov-lookbook .owl-nav [class*='owl-'].owl-prev { + left:20px +} +.nov-lookbook .owl-nav [class*='owl-'].owl-next { + right:20px +} +@media (max-width: 767px) { + .nov-lookbook .nov-content-lookbook img { + margin-bottom:15px + } +} +@-webkit-keyframes Animationlookbook { + 0% { + width:100%; + height:100%; + left:0; + top:0; + opacity:0.8 + } + 100% { + width:160%; + height:160%; + left:-30%; + top:-30%; + opacity:0.3 + } +} +@-moz-keyframes Animationlookbook { + 0% { + width:100%; + height:100%; + left:0; + top:0; + opacity:0.8 + } + 100% { + width:160%; + height:160%; + left:-30%; + top:-30%; + opacity:0.3 + } +} +@-ms-keyframes Animationlookbook { + 0% { + width:100%; + height:100%; + left:0; + top:0; + opacity:0.8 + } + 100% { + width:160%; + height:160%; + left:-30%; + top:-30%; + opacity:0.3 + } +} +@keyframes Animationlookbook { + 0% { + width:100%; + height:100%; + left:0; + top:0; + opacity:0.8 + } + 100% { + width:160%; + height:160%; + left:-30%; + top:-30%; + opacity:0.3 + } +} +.section-slideshow .main-slider { + position:relative; + width:100%; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden; + margin-bottom:0 +} +.section-slideshow .main-slider.slick-initialized { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible +} +.section-slideshow .slick-slide { + position:relative; + -webkit-backface-visibility:hidden; + backface-visibility:hidden +} +.section-slideshow .slick-slide>a { + cursor:default +} +.section-slideshow .slick-slide figure { + position:relative; + height:100%; + margin:0 +} +.section-slideshow .slick-slide .slide-image { + background-size:cover; + background-position:center; + -webkit-transition:all 0.8s ease; + -moz-transition:all 0.8s ease; + -ms-transition:all 0.8s ease; + -o-transition:all 0.8s ease; + transition:all 0.8s ease +} +.section-slideshow .slick-slide.slick-active { + z-index:1 +} +.section-slideshow .slick-slide.slick-active .content-caption { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + -webkit-transition:all 0.7s cubic-bezier(0.32, 0.34, 0, 1.62) 0.6s; + -moz-transition:all 0.7s cubic-bezier(0.32, 0.34, 0, 1.62) 0.6s; + -ms-transition:all 0.7s cubic-bezier(0.32, 0.34, 0, 1.62) 0.6s; + -o-transition:all 0.7s cubic-bezier(0.32, 0.34, 0, 1.62) 0.6s; + transition:all 0.7s cubic-bezier(0.32, 0.34, 0, 1.62) 0.6s; + margin-top:0 +} +.section-slideshow .content { + overflow:hidden +} +.section-slideshow .content-caption { + position:absolute; + width:100%; + z-index:1; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + -webkit-transition:all 0.3s ease; + -moz-transition:all 0.3s ease; + -ms-transition:all 0.3s ease; + -o-transition:all 0.3s ease; + transition:all 0.3s ease; + padding:0 20px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif +} +.section-slideshow .content-caption .caption-1 { + font-weight:700; + line-height:1; + text-transform:uppercase +} +.section-slideshow .content-caption .caption-2 { + font-weight:700; + line-height:1 +} +.section-slideshow .content-caption .caption-btn { + font-size:1.1rem; + font-weight:600; + letter-spacing:1px; + padding:13px 43px 11px; + text-transform:uppercase +} +.section-slideshow .content-caption .caption-btn:hover { + background-color:#0d7a52 !important +} +@media (max-width: 767px) { + .section-slideshow .content-caption .caption-btn { + padding:9px 20px 7px + } +} +.section-slideshow .slide-image img { + width:100% +} +.section-slideshow .slick-dots { + bottom:25px; + left:50%; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%); + width:inherit; + height:24px +} +.lang-rtl .section-slideshow .slick-dots { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.section-slideshow .slick-dots li { + margin:0 3px; + width:23px; + height:23px +} +.section-slideshow .slick-dots li button { + width:20px; + height:20px; + cursor:pointer; + display:inline-block; + padding:0; + position:relative; + outline:none; + background-color:#0d7a52; + font-size:0; + -webkit-transition:all 0.3s; + -moz-transition:all 0.3s; + -ms-transition:all 0.3s; + -o-transition:all 0.3s; + transition:all 0.3s +} +.section-slideshow .slick-dots li button:before { + display:none +} +.section-slideshow .slick-dots li:hover button, +.section-slideshow .slick-dots li.slick-active button { + background-color:transparent; + border:2px solid #ff9c00 +} +@media (max-width: 767px) { + .section-slideshow .slick-dots { + bottom:10px + } +} +.section-slideshow .slick-arrow { + text-align:center; + position:absolute; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + z-index:1; + cursor:pointer; + background:rgba(0,0,0,0.1); + width:60px; + height:80px; + text-align:center; + line-height:95px +} +.section-slideshow .slick-arrow:hover { + background:#0d7a52; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +.section-slideshow .slick-arrow.arrow-prev { + left:0; + right:initial; + -webkit-border-radius:0 9px 9px 0; + -moz-border-radius:0 9px 9px 0; + -ms-border-radius:0 9px 9px 0; + -o-border-radius:0 9px 9px 0; + border-radius:0 9px 9px 0 +} +.section-slideshow .slick-arrow.arrow-next { + right:0; + -webkit-border-radius:9px 0 0 9px; + -moz-border-radius:9px 0 0 9px; + -ms-border-radius:9px 0 0 9px; + -o-border-radius:9px 0 0 9px; + border-radius:9px 0 0 9px +} +.section-slideshow .slick-arrow i { + font-size:3.6rem; + color:#fff +} +@media (max-width: 991px) { + .section-slideshow .slick-arrow { + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden; + -webkit-transition:all 0.3s linear; + -moz-transition:all 0.3s linear; + -ms-transition:all 0.3s linear; + -o-transition:all 0.3s linear; + transition:all 0.3s linear + } + .section-slideshow:hover .slick-arrow { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:initial; + -webkit-transition:all 0.3s linear; + -moz-transition:all 0.3s linear; + -ms-transition:all 0.3s linear; + -o-transition:all 0.3s linear; + transition:all 0.3s linear + } +} +@media (max-width: 500px) { + .section-slideshow .slick-dots, + .section-slideshow .slick-arrow { + display:none !important + } + .section-slideshow .content-caption .caption-3 a:after { + margin-top:-1px + } +} +.section-slideshow-split .slick-vertical .slick-slide { + border:none; + display:-webkit-box; + display:-moz-box; + display:box; + display:-webkit-flex; + display:-moz-flex; + display:-ms-flexbox; + display:flex +} +.section-slideshow-split .nov-split-right { + -webkit-transform:rotate(-180deg); + -ms-transform:rotate(-180deg); + transform:rotate(-180deg) +} +.section-slideshow-split .nov-split-right .image-item { + -webkit-transform:rotate(180deg); + -ms-transform:rotate(180deg); + transform:rotate(180deg) +} +.nov-section-blog .article__list-image-container { + display:block; + overflow:hidden; + margin-bottom:20px; + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px +} +.nov-section-blog .article--listing:hover img { + -webkit-transform:scale(1.05, 1.05); + -ms-transform:scale(1.05, 1.05); + transform:scale(1.05, 1.05) +} +.nov-section-blog img { + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease +} +.nov-section-blog .article__title a { + color:#222; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:500 +} +.nov-section-blog .article__title a:hover { + color:#0d7a52 +} +.nov-section-blog .article_cs>span:not(:last-child) { + margin-right:25px +} +.nov-section-blog .article_cs i { + vertical-align:top +} +.nov-section-blog .article__excerpt { + margin-top:10px +} +.nov-section-blog .slick-slider .slick-arrow { + top:28% +} +.nov-section-blog .slick-slider .slick-arrow.arrow-prev { + left:0 +} +.nov-section-blog .slick-slider .slick-arrow.arrow-next { + right:0 +} +.nov-section-blog .nov-slick-carousel .slick-dots { + right:10px; + top:-65px; + bottom:initial +} +@media (max-width: 991px) { + .nov-section-blog .nov-slick-carousel .slick-dots { + display:none !important + } +} +.nov-section-blog .view_all a { + padding:7px 24px 5px; + font-size:1.1rem; + border:1px solid #e4e4e4; + text-transform:uppercase; + -webkit-border-radius:30px; + -moz-border-radius:30px; + -ms-border-radius:30px; + -o-border-radius:30px; + border-radius:30px; + margin-top:18px +} +.nov-section-blog .view_all a:hover { + color:white; + background-color:#0d7a52; + border-color:#0d7a52 +} +.section-maps .map-section { + padding-top:17px +} +.section-maps .h4 { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:30px; + color:#222 +} +.section-maps .h4 span { + position:relative; + padding-bottom:23px; + margin-bottom:20px; + display:inline-block +} +.section-maps .h4 span:before { + content:""; + position:absolute; + left:0; + bottom:0; + width:80%; + height:1px; + background:#222 +} +.section-maps .map-section__background-wrapper { + position:relative; + height:380px; + margin-right:10px +} +.map-section { + position:relative; + width:100%; + overflow:hidden; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-flex-wrap:wrap; + -moz-flex-wrap:wrap; + -ms-flex-wrap:wrap; + flex-wrap:wrap; + -webkit-flex-direction:row; + -moz-flex-direction:row; + -ms-flex-direction:row; + flex-direction:row +} +.map-section--load-error { + height:auto +} +.map-section__wrapper { + height:100%; + flex-shrink:0; + flex-grow:1; + -webkit-flex-basis:100%; + -moz-flex-basis:100%; + -ms-flex-basis:100%; + flex-basis:100%; + -webkit-flex-wrap:wrap; + -moz-flex-wrap:wrap; + -ms-flex-wrap:wrap; + flex-wrap:wrap; + -webkit-flex-direction:row; + -moz-flex-direction:row; + -ms-flex-direction:row; + flex-direction:row +} +.map-section__overlay { + position:absolute; + top:0; + right:0; + bottom:0; + left:0; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + z-index:2 +} +.map-section__error { + position:relative; + z-index:3 +} +@media (min-width: 768px) { + .map-section__error { + position:absolute; + margin:0 2rem; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%) + } +} +.map-section__content-wrapper { + position:relative; + text-align:center; + height:100%; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-flex-basis:100%; + -moz-flex-basis:100%; + -ms-flex-basis:100%; + flex-basis:100%; + flex-grow:0 +} +@media (min-width: 768px) { + .map-section__content-wrapper { + -webkit-flex-basis:50%; + -moz-flex-basis:50%; + -ms-flex-basis:50%; + flex-basis:50% + } +} +@media (min-width: 1200px) { + .map-section__content-wrapper { + -webkit-flex-basis:33%; + -moz-flex-basis:33%; + -ms-flex-basis:33%; + flex-basis:33% + } +} +.map-section__content { + position:relative; + display:inline-block; + background-color:#fff; + padding:50px 0; + width:100%; + text-align:center; + z-index:3; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-flex-wrap:wrap; + -moz-flex-wrap:wrap; + -ms-flex-wrap:wrap; + flex-wrap:wrap; + -webkit-align-content:center; + -moz-align-content:center; + -ms-align-content:center; + align-content:center +} +.map-section__content>* { + width:100% +} +@media (min-width: 768px) { + .map-section__content { + background-color:#fff; + min-height:382px + } + .ie9 .map-section__content { + top:10% + } +} +.map-section--load-error .map-section__content { + position:static; + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0) +} +.map-section__content .map_section__directions-btn { + padding:10px 50px; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:12px +} +.map-section__content .map_section__directions-btn:hover, +.map-section__content .map_section__directions-btn:focus { + color:#fff; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +.map-section__link { + display:block; + position:absolute; + top:0; + left:50%; + max-width:none; + width:100%; + height:100%; + z-index:2; + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%) +} +.lang-rtl .map-section__link { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) +} +.map-section__container { + max-width:none; + width:100%; + height:55vh; + left:0; + z-index:3 +} +@media (min-width: 768px) { + .map-section__container { + position:absolute; + height:100%; + top:0; + width:100% + } +} +.map-section__background-wrapper { + overflow:hidden; + position:relative; + -webkit-flex-basis:100%; + -moz-flex-basis:100%; + -ms-flex-basis:100%; + flex-basis:100%; + position:absolute; + left:0; + top:0; + width:100%; + height:100% +} +.ie9 .map-section__background-wrapper { + width:100%; + height:500px +} +.map-section--onboarding .map-section__background-wrapper { + min-height:55vh +} +.map-section__image { + width:100%; + height:100%; + position:relative; + top:0; + left:0; + background-size:cover; + background-position:center +} +@media (min-width: 768px) { + .map-section__image { + position:absolute + } +} +.map-section--display-map .map-section__image { + display:none !important +} +.map-section--load-error .map-section__image { + display:block !important +} +.modal-dialog-centered { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + min-height:calc(100% - (2.5rem * 2)) +} +.modal-backdrop { + background:rgba(0,0,0,0.7) +} +.modal-backdrop.show { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1 +} +.modal .modal-header { + padding:0; + border-bottom:none; + position:relative; + z-index:9 +} +.modal .modal-header button { + background:#0d7a52; + position:absolute; + right:0; + top:0px; + z-index:99; + padding:0; + margin:0 +} +.modal .modal-header button span { + -webkit-transition:all 0.35s linear; + -moz-transition:all 0.35s linear; + -ms-transition:all 0.35s linear; + -o-transition:all 0.35s linear; + transition:all 0.35s linear; + display:inline-block +} +.modal .modal-header button i { + color:#fff; + font-size:13px; + font-weight:500; + width:22px +} +.modal .modal-header button:hover { + outline:none +} +.modal .modal-header button:hover span { + -webkit-transform:rotate(180deg); + -ms-transform:rotate(180deg); + transform:rotate(180deg) +} +.modal .modal-header .close { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1 +} +.modal .modal-header .close:not(:disabled):not(.disabled):focus, +.modal .modal-header .close:not(:disabled):not(.disabled):hover { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1 +} +#popup-subscribe { + overflow-y:auto +} +#popup-subscribe .title_block { + font-size:2.4rem; + text-transform:uppercase; + margin-bottom:11px; + font-weight:700 +} +#popup-subscribe .modal-dialog { + max-width:830px +} +@media (max-width: 991px) { + #popup-subscribe .modal-dialog { + max-width:100%; + padding:0 15px + } +} +#popup-subscribe .modal-dialog .modal-content { + border-radius:0; + background:white +} +#popup-subscribe .modal-dialog .modal-content { + -webkit-flex-direction:initial; + -moz-flex-direction:initial; + -ms-flex-direction:initial; + flex-direction:initial +} +#popup-subscribe .modal-dialog .modal-content .modal-header { + position:static +} +#popup-subscribe .modal-dialog .modal-content .modal-header .close { + background:none; + top:10px; + right:10px; + -webkit-transition:all 0.3s linear; + -moz-transition:all 0.3s linear; + -ms-transition:all 0.3s linear; + -o-transition:all 0.3s linear; + transition:all 0.3s linear +} +#popup-subscribe .modal-dialog .modal-content .modal-header .close i { + color:#010101; + font-size:15px +} +#popup-subscribe .modal-dialog .modal-content .modal-header .close:hover { + -webkit-transform:rotate(180deg); + -ms-transform:rotate(180deg); + transform:rotate(180deg); + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +#popup-subscribe .modal-dialog .modal-content p { + margin-bottom:25px +} +#popup-subscribe .subscribe_form { + margin:0 20px 10px +} +#popup-subscribe .subscribe_form input { + font-size:12px; + font-weight:400; + height:50px; + outline:none; + border:none; + padding:0 20px; + border:3px solid #f2f2f2; + text-align:center; + border-radius:0 +} +#popup-subscribe .subscribe_form input::-webkit-input-placeholder { + color:#b7b7b7; + font-size:10px; + font-weight:700; + text-transform:uppercase +} +#popup-subscribe .subscribe_form input:-moz-placeholder { + color:#b7b7b7; + font-size:10px; + font-weight:700; + text-transform:uppercase +} +#popup-subscribe .subscribe_form input::-moz-placeholder { + color:#b7b7b7; + font-size:10px; + font-weight:700; + text-transform:uppercase +} +#popup-subscribe .subscribe_form input:-ms-input-placeholder { + color:#b7b7b7; + font-size:10px; + font-weight:700; + text-transform:uppercase +} +#popup-subscribe .subscribe_form button { + width:100%; + height:48px; + line-height:48px; + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px; + padding:0 21px; + outline:none; + position:relative; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + border:none; + background-color:#222; + -webkit-transition:all 0.3s ease; + -moz-transition:all 0.3s ease; + -ms-transition:all 0.3s ease; + -o-transition:all 0.3s ease; + transition:all 0.3s ease; + border-radius:0 +} +#popup-subscribe .subscribe_form button .icon-subscribe { + display:block; + width:34px; + height:16px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-autodaily.png?v=16023748939694869452) no-repeat; + background-position:-69px 0 +} +#popup-subscribe .subscribe_form button:hover { + -webkit-transition:all 0.3s ease; + -moz-transition:all 0.3s ease; + -ms-transition:all 0.3s ease; + -o-transition:all 0.3s ease; + transition:all 0.3s ease; + background:#0d7a52 +} +#popup-subscribe .subscribe_form .social-icons { + margin-top:10px +} +#popup-subscribe .subscribe_form .social-icons li a i { + min-width:40px; + min-height:40px; + font-size:2rem +} +#popup-subscribe .subscribe_form .checkbox { + margin-top:100px +} +#popup-subscribe .subscribe_form .checkbox span#text { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + color:#909090; + font-weight:600; + text-transform:uppercase +} +#popup-subscribe .subscribe_form .checkbox .custom-checkbox { + margin-right:15px +} +#popup-subscribe .subscribe_form .checkbox .custom-checkbox input { + width:16px; + height:16px; + line-height:16px +} +#popup-subscribe .subscribe_form .checkbox label { + cursor:pointer +} +@media (max-width: 767px) { + #popup-subscribe .modal-body { + margin-top:30px + } + #popup-subscribe .subscribe_form .checkbox { + margin-top:40px + } +} +#popupAlert .modal-content { + background-color:#dff0d8; + padding:15px; + -webkit-border-radius:5px; + -moz-border-radius:5px; + -ms-border-radius:5px; + -o-border-radius:5px; + border-radius:5px +} +#popup-quickview { + font-size:12px +} +#popup-quickview .modal-body { + padding:0 +} +#popup-quickview.modal .modal-header button { + width:initial; + height:initial; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + top:-15px; + background:transparent +} +#popup-quickview .modal-dialog .modal-content { + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0 +} +#popup-quickview .proBoxInfo { + max-height:430px; + overflow-y:auto; + padding:0 30px +} +#popup-quickview .proBoxInfo::-webkit-scrollbar-track { + background-color:#eaeaea; + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px +} +#popup-quickview .proBoxInfo::-webkit-scrollbar { + width:3px; + background-color:#eaeaea; + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px +} +#popup-quickview .proBoxInfo::-webkit-scrollbar-thumb { + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px; + background-color:#0d7a52 +} +#popup-quickview .proThumbnails .slick-list { + height:429px !important +} +#popup-quickview .proThumbnails .thumbItem { + width:429px !important +} +#popup-quickview .proThumbnails .thumbItem a { + border:none +} +#popup-quickview .proThumbnails .thumbItem a:hover { + border:none +} +#popup-quickview .quickviewName { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:1.8rem; + color:#222; + font-weight:bold; + margin:30px 0 15px +} +#popup-quickview .product-single__price { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:2rem; + font-weight:800; + color:#0d7a52; + margin:10px 0 30px +} +#popup-quickview .priceProduct.pricePrimary { + margin-right:20px +} +#popup-quickview .priceProduct.priceCompare { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#e0e0e0; + font-size:1.4rem; + font-weight:800; + text-decoration:line-through +} +#popup-quickview label { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:10px; + font-weight:bold; + text-transform:uppercase; + color:#444; + margin:0 +} +#popup-quickview .quickviewAvailability { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + color:#6bb853; + font-size:10px; + text-transform:uppercase; + margin-bottom:15px +} +#popup-quickview .quickviewAvailability label { + margin-right:42px +} +#popup-quickview .quickViewVendor { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + color:#222; + font-size:11px; + text-transform:uppercase; + margin-bottom:30px +} +#popup-quickview .quickViewVendor label { + margin-right:67px +} +#popup-quickview .proQuantity { + margin-right:20px +} +#popup-quickview .proQuantity label { + margin-bottom:15px +} +#popup-quickview .js-qty { + width:110px; + border:1px solid #ebebeb; + position:relative; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:1.4rem; + color:#444; + margin-bottom:30px +} +#popup-quickview .js-qty .js-qty__num { + height:40px; + font-size:13px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + color:#222; + text-align:center; + border:none; + background-color:#fff; + padding:0 +} +#popup-quickview .js-qty .js-qty__adjust { + position:absolute; + padding:0; + text-align:center; + width:26px; + height:40px; + line-height:40px; + color:#b4b4b4; + font-size:1.6rem; + background:#fff; + border:none; + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + -webkit-align-items:none; + -moz-align-items:none; + -ms-align-items:none; + align-items:none; + cursor:pointer +} +#popup-quickview .js-qty .js-qty__adjust:hover { + outline:none; + color:#0d7a52 +} +#popup-quickview .js-qty .js-qty__adjust .icon { + background:transparent; + display:none +} +#popup-quickview .js-qty .js-qty__adjust .fallback-text { + color:#b4b4b4 +} +#popup-quickview .js-qty .js-qty__adjust.js-qty__adjust--plus { + right:0; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + border-left:1px solid #ebebeb +} +#popup-quickview .js-qty .js-qty__adjust.js-qty__adjust--minus { + left:0; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + border-right:1px solid #ebebeb +} +#popup-quickview .quantity_items { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex +} +#popup-quickview .proShortDescription { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:13px; + color:#222; + font-weight:400; + line-height:20px; + margin:0 0 30px +} +#popup-quickview .formQuickview .proButton { + margin-bottom:20px +} +#popup-quickview .formQuickview .proButton.product-form__item--submit .product-form__cart-submit { + padding:0; + width:100%; + background:#000; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0 +} +#popup-quickview .formQuickview .proButton.product-form__item--submit .product-form__cart-submit i { + margin:0 +} +#popup-quickview .formQuickview .proButton.product-form__item--submit .product-form__cart-submit span { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:11px; + font-weight:800; + color:#fff; + text-transform:uppercase +} +#popup-quickview .formQuickview .proButton.product-form__item--submit .product-form__cart-submit:hover { + background:#0d7a52 +} +#popup-quickview .formQuickview .proButton.product-form__item--submit .product-form__cart-submit:hover span { + color:#fff +} +#popup-quickview .selector-wrapper { + display:none +} +#popup-quickview .slick-arrow { + margin:0; + padding:0; + background-color:transparent; + color:#878787; + position:absolute; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%) +} +#popup-quickview .slick-arrow:hover { + color:#0d7a52; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +#popup-quickview .slick-arrow i { + font-size:2.2rem; + font-weight:400; + color:#fff; + background:#474747; + width:37px; + height:50px; + line-height:50px; + text-align:center +} +#popup-quickview .slick-arrow i:hover { + background:#0d7a52 +} +#popup-quickview .slick-arrow.arrow-prev { + left:0; + right:initial +} +#popup-quickview .slick-arrow.arrow-prev i { + -webkit-border-radius:0 4px 4px 0; + -moz-border-radius:0 4px 4px 0; + -ms-border-radius:0 4px 4px 0; + -o-border-radius:0 4px 4px 0; + border-radius:0 4px 4px 0 +} +#popup-quickview .slick-arrow.arrow-next { + right:0 +} +#popup-quickview .slick-arrow.arrow-next i { + -webkit-border-radius:4px 0 0 4px; + -moz-border-radius:4px 0 0 4px; + -ms-border-radius:4px 0 0 4px; + -o-border-radius:4px 0 0 4px; + border-radius:4px 0 0 4px +} +#popup-quickview .swatch .header { + margin-right:0 +} +#popup-quickview .swatch .swatch-element { + padding:0 +} +#popup-quickview .swatch .swatch-element:not(.color) label { + margin-top:15px +} +@media (max-width: 991px) { + #popup-quickview .proShortDescription { + display:none + } + #popup-quickview .quantity_items { + margin-top:15px !important + } + #popup-quickview .quantity_items .product-form__item--submit .product-form__cart-submit { + height:42px; + line-height:42px; + min-width:145px + } + #popup-quickview .quantity_items .cart__qty .js-qty, + #popup-quickview .quantity_items .proQuantity .js-qty { + -webkit-border-radius:4px; + -moz-border-radius:4px; + -ms-border-radius:4px; + -o-border-radius:4px; + border-radius:4px + } + #popup-quickview .quantity_items .proQuantity { + margin-right:10px !important + } + #popup-quickview .product-single__price { + margin:0 + } +} +@media (min-width: 1200px) { + .col-pr-xl-6 { + -webkit-box-flex:0 0 51.808%; + -moz-box-flex:0 0 51.808%; + -webkit-flex:0 0 51.808%; + -ms-flex:0 0 51.808%; + flex:0 0 51.808%; + max-width:51.808% + } + .col-in-xl-6 { + -webkit-box-flex:0 0 48.192%; + -moz-box-flex:0 0 48.192%; + -webkit-flex:0 0 48.192%; + -ms-flex:0 0 48.192%; + flex:0 0 48.192%; + max-width:48.192% + } +} +.open_gl_quick_view #content_quickview { + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + max-width:830px; + margin:65px auto; + background:#fff; + position:relative; + -webkit-box-shadow:7px 7px 10px rgba(0,0,0,0.25); + -moz-box-shadow:7px 7px 10px rgba(0,0,0,0.25); + -ms-box-shadow:7px 7px 10px rgba(0,0,0,0.25); + -o-box-shadow:7px 7px 10px rgba(0,0,0,0.25); + box-shadow:7px 7px 10px rgba(0,0,0,0.25) +} +.open_gl_quick_view #content_quickview .product-single .product-single__photos #productThumbs .thumblist { + margin:0 +} +.open_gl_quick_view #content_quickview .product-single .product-single__photos #productThumbs .thumblist .owl-carousel { + padding:0 +} +.open_gl_quick_view #content_quickview .product-single .product-single__photos #productThumbs .thumblist .owl-carousel .owl-stage-outer { + overflow:hidden +} +.open_gl_quick_view #content_quickview .product-single .product-single__photos #productThumbs .thumblist .owl-carousel .owl-stage-outer .owl-item:not(.active) { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1 +} +.open_gl_quick_view #content_quickview .product-single .product-single__photos #productThumbs .thumblist .thumbItem a { + border:none !important +} +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-prev, +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-next { + margin:0; + padding:0; + background-color:transparent; + color:#878787; + position:absolute; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%) +} +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-prev:hover, +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-next:hover { + color:#0d7a52; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-prev i, +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-next i { + font-size:2rem; + font-weight:400; + color:#fff; + background:#474747; + width:37px; + height:50px; + line-height:50px; + text-align:center +} +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-prev i:hover, +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-next i:hover { + background:#0d7a52 +} +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-prev.owl-prev, +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-next.owl-prev { + left:0; + right:initial +} +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-prev.owl-prev i, +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-next.owl-prev i { + -webkit-border-radius:0 4px 4px 0; + -moz-border-radius:0 4px 4px 0; + -ms-border-radius:0 4px 4px 0; + -o-border-radius:0 4px 4px 0; + border-radius:0 4px 4px 0 +} +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-prev.owl-next, +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-next.owl-next { + right:0 +} +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-prev.owl-next i, +.open_gl_quick_view #content_quickview .product-single .product-single__photos .owl-next.owl-next i { + -webkit-border-radius:4px 0 0 4px; + -moz-border-radius:4px 0 0 4px; + -ms-border-radius:4px 0 0 4px; + -o-border-radius:4px 0 0 4px; + border-radius:4px 0 0 4px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info { + max-height:470px; + overflow-y:auto; + padding:41px 30px 49px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info::-webkit-scrollbar-track { + background-color:#eaeaea +} +.open_gl_quick_view #content_quickview .product-single .product-single__info::-webkit-scrollbar { + width:3px; + background-color:#eaeaea +} +.open_gl_quick_view #content_quickview .product-single .product-single__info::-webkit-scrollbar-thumb { + background-color:#0d7a52 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info::-webkit-scrollbar-track, +.open_gl_quick_view #content_quickview .product-single .product-single__info::-webkit-scrollbar, +.open_gl_quick_view #content_quickview .product-single .product-single__info::-webkit-scrollbar-thumb { + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden +} +.open_gl_quick_view #content_quickview .product-single .product-single__info:hover::-webkit-scrollbar-track, +.open_gl_quick_view #content_quickview .product-single .product-single__info:hover::-webkit-scrollbar, +.open_gl_quick_view #content_quickview .product-single .product-single__info:hover::-webkit-scrollbar-thumb { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:initial +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-single__title { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:1.8rem; + color:#222 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product__price { + margin-bottom:14px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-price__price { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#0d7a52; + font-size:2rem; + font-weight:800 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info s#ComparePrice-qv { + color:#e0e0e0; + font-size:1.4rem; + font-weight:800; + margin-left:10px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .group-reviews { + margin-bottom:25px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .group-reviews .spr-badge-starrating { + min-width:115px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .group-reviews .spr-badge-starrating .spr-icon { + font-size:11px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .group-reviews .spr-badge-starrating .spr-icon-star-empty:before { + color:#dbdbdb +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .available_product .product__available>span { + margin:0 6px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .available_product, +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-single__sku, +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-single__cat, +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-single__tags { + margin-bottom:6px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .available_product .label, +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-single__sku .label, +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-single__cat .label, +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-single__tags .label { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + color:#444; + letter-spacing:0.1px; + font-size:10px; + font-weight:bold; + text-transform:uppercase; + margin-right:52px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .group-single .label { + min-width:120px; + margin-right:0; + padding-right:5px; + display:inline-block +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .group-single .product-single__sku .label-sku { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + letter-spacing:0.1px; + font-size:13px; + font-weight:bold; + text-transform:uppercase; + margin-left:-5px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .group-single .product-single__cat, +.open_gl_quick_view #content_quickview .product-single .product-single__info .group-single .product-single__tags { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .group-single .product-single__cat a, +.open_gl_quick_view #content_quickview .product-single .product-single__info .group-single .product-single__tags a { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + letter-spacing:0.1px; + font-size:11px; + font-weight:400; + line-height:20px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .short-desc { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + letter-spacing:0.1px; + font-size:13px; + font-weight:400; + margin-top:18px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv { + margin-top:29px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .watch_availabel { + display:block +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .group-quantity { + margin:0 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .group-quantity .quantity-selector { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + color:#444; + letter-spacing:0.2px; + font-size:10px; + font-weight:bold +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .group-quantity .productWishList { + margin-left:0 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .group-quantity .productWishList .btnProductWishlist { + width:initial; + height:initial; + line-height:initial; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + background:transparent; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + border:none; + padding:0; + margin:15px 0 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .group-quantity .productWishList .btnProductWishlist i { + font-size:2rem; + font-weight:400; + color:#0d7a52; + margin-right:6px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .group-quantity .productWishList .btnProductWishlist .wishlist-text { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + letter-spacing:0.1px; + font-size:10px; + font-weight:bold +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .group-quantity .productWishList .btnProductWishlist:hover .wishlist-text, +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .group-quantity .productWishList .btnProductWishlist.whislist-added .wishlist-text { + color:#0d7a52 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .quick_view_qty { + width:110px; + border:1px solid #ebebeb; + position:relative; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:1.4rem; + color:#444; + margin:11px 0 30px; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .quick_view_qty .quantity-selector { + height:40px; + font-size:13px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + color:#222; + text-align:center; + border:none; + background-color:#ebebeb; + padding:0 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .quick_view_qty .quantity-selector::-webkit-outer-spin-button, +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .quick_view_qty .quantity-selector::-webkit-inner-spin-button { + -webkit-appearance:none; + margin:0 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .quick_view_qty .quantity-selector[type=number] { + -moz-appearance:textfield +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .quick_view_qty .quick_view-qty { + position:absolute; + padding:0; + text-align:center; + width:26px; + height:40px; + line-height:40px; + color:#b4b4b4; + font-size:1.6rem; + background:#fff; + border:none; + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + -webkit-align-items:none; + -moz-align-items:none; + -ms-align-items:none; + align-items:none; + cursor:pointer +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .quick_view_qty .quick_view-qty:hover { + outline:none; + color:#0d7a52 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .quick_view_qty .quick_view-qty .icon { + background:transparent; + display:none +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .quick_view_qty .quick_view-qty .fallback-text { + color:#b4b4b4 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .quick_view_qty .quick_view-qty.quick_view-qty-plus { + right:0; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + border-left:1px solid #ebebeb +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .quick_view_qty .quick_view-qty.quick_view-qty-minus { + left:0; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + border-right:1px solid #ebebeb +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form-qv .quantity_items { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form__item--submit { + margin-bottom:15px +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form__item--submit .btn.product-form__cart-submit { + padding:0; + width:100%; + border:1px solid #222; + background:transparent; + width:100%; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + height:48px; + line-height:48px; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + position:relative; + overflow:hidden +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form__item--submit .btn.product-form__cart-submit span#AddToCartText { + z-index:10; + position:relative; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-size:11px; + font-weight:800 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form__item--submit .btn.product-form__cart-submit:hover { + background:#0d7a52; + border-color:#0d7a52; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form__item--submit .btn.product-form__cart-submit:hover span#AddToCartText { + color:#fff +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form__item--checkout { + margin-right:0 +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form__item--checkout .shopify-payment-button__button { + background:#222; + border:1px solid #222; + width:100%; + min-height:48px; + padding:0; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#fff; + font-size:11px; + font-weight:800; + text-transform:uppercase; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease +} +.open_gl_quick_view #content_quickview .product-single .product-single__info .product-form__item--checkout .shopify-payment-button__button:hover { + background:#0d7a52; + border:1px solid #0d7a52; + color:#fff; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease +} +.open_gl_quick_view #content_quickview .product-single__price { + padding:17px 0 +} +.cart_popup_opened .product-related .popup__cart-product span.product-price__price { + color:#0d7a52 +} +.cart_popup_opened .product-related .popup__cart-product:hover { + -webkit-box-shadow:0 0 10px rgba(0,0,0,0.1); + -moz-box-shadow:0 0 10px rgba(0,0,0,0.1); + -ms-box-shadow:0 0 10px rgba(0,0,0,0.1); + -o-box-shadow:0 0 10px rgba(0,0,0,0.1); + box-shadow:0 0 10px rgba(0,0,0,0.1) +} +.cart_popup_opened .cart__popup { + -webkit-border-radius:5px; + -moz-border-radius:5px; + -ms-border-radius:5px; + -o-border-radius:5px; + border-radius:5px; + padding:20px; + max-width:760px; + margin:65px auto; + background:#f5f5f5; + position:relative; + -webkit-box-shadow:7px 7px 10px rgba(0,0,0,0.25); + -moz-box-shadow:7px 7px 10px rgba(0,0,0,0.25); + -ms-box-shadow:7px 7px 10px rgba(0,0,0,0.25); + -o-box-shadow:7px 7px 10px rgba(0,0,0,0.25); + box-shadow:7px 7px 10px rgba(0,0,0,0.25) +} +.cart_popup_opened .nov-content .cart-popup-heading { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + margin-bottom:20px +} +.cart_popup_opened .nov-content .cart-popup-heading .cart__popup-headingtitle { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:800; + font-size:1.4rem; + line-height:10px; + text-transform:uppercase; + color:#222; + position:relative; + padding-right:11px; + margin:0; + margin-left:0; + margin-right:11px +} +.lang-rtl .cart_popup_opened .nov-content .cart-popup-heading .cart__popup-headingtitle { + margin-left:11px; + margin-right:0 +} +.cart_popup_opened .nov-content .cart-popup-heading .cart__popup-headingtitle:after { + content:''; + display:block; + height:100%; + width:1px; + background:#c8c8c8; + position:absolute; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + right:0; + margin-left:11px +} +.cart_popup_opened .nov-content .cart-popup-heading span { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:10px; + text-transform:uppercase; + color:#909090 +} +.cart_popup_opened .nov-content .cart-message { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:11px; + color:#30b94d; + border:1px solid #a2e0af; + margin-bottom:22px; + background:#eef6f0; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-border-radius:2px; + -moz-border-radius:2px; + -ms-border-radius:2px; + -o-border-radius:2px; + border-radius:2px; + min-height:40px; + padding-left:21px +} +.cart_popup_opened .nov-content .cart-message i { + font-size:1.8rem; + color:#30b94d; + margin-right:11px +} +.cart_popup_opened .nov-content .cart-message strong { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:11px; + line-height:10px; + color:#30b94d; + margin-right:5px +} +.cart_popup_opened .nov-content .cart-message.removed { + border:1px solid #f3c4c4; + background:#f9ebeb; + color:#eb5454 +} +.cart_popup_opened .nov-content .cart-message.removed i { + color:#eb5454 +} +.cart_popup_opened .nov-content .cart-message.removed strong { + color:#eb5454 +} +.cart_popup_opened .nov-content .cart__popup_content .cart_items { + max-height:310px; + overflow-y:scroll; + margin:0 -10px +} +.cart_popup_opened .nov-content .cart__popup_content .cart_items::-webkit-scrollbar-track { + background-color:#eaeaea +} +.cart_popup_opened .nov-content .cart__popup_content .cart_items::-webkit-scrollbar { + width:3px; + background-color:#eaeaea +} +.cart_popup_opened .nov-content .cart__popup_content .cart_items::-webkit-scrollbar-thumb { + background-color:#0d7a52 +} +.cart_popup_opened .nov-content .cart__popup_content .cart_items::-webkit-scrollbar-track, +.cart_popup_opened .nov-content .cart__popup_content .cart_items::-webkit-scrollbar, +.cart_popup_opened .nov-content .cart__popup_content .cart_items::-webkit-scrollbar-thumb { + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden +} +.cart_popup_opened .nov-content .cart__popup_content .cart_items:hover::-webkit-scrollbar-track, +.cart_popup_opened .nov-content .cart__popup_content .cart_items:hover::-webkit-scrollbar, +.cart_popup_opened .nov-content .cart__popup_content .cart_items:hover::-webkit-scrollbar-thumb { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:initial +} +.cart_popup_opened .nov-content .cart__popup-item { + min-height:94px; + padding:11px 0; + padding-left:17px; + padding-right:27px; + background:#fff; + -webkit-box-shadow:5px 6px 8px 0px rgba(0,0,0,0.05); + -moz-box-shadow:5px 6px 8px 0px rgba(0,0,0,0.05); + -ms-box-shadow:5px 6px 8px 0px rgba(0,0,0,0.05); + -o-box-shadow:5px 6px 8px 0px rgba(0,0,0,0.05); + box-shadow:5px 6px 8px 0px rgba(0,0,0,0.05); + margin-bottom:5px; + margin:0 10px 5px; + text-align:left; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px +} +.lang-rtl .cart_popup_opened .nov-content .cart__popup-item { + padding-left:27px; + padding-right:17px +} +.lang-rtl .cart_popup_opened .nov-content .cart__popup-item { + text-align:right +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-remove { + margin-right:14px +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-remove i { + font-size:14px; + color:#909090 +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-remove i:hover { + color:#0d7a52 +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-thumb { + border:1px solid #eaeaea; + margin-right:30px; + min-width:60px; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px; + overflow:hidden +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup_grow { + min-width:247px; + max-width:247px; + padding-right:5px +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup_grow .cart__popup-title a { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:11px; + color:#222 +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup_grow .cart__popup-title a:hover { + color:#0d7a52 +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup_grow .cart__popup-variant .cart__meta-text { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:10px; + text-transform:uppercase; + color:#909090 +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-price { + min-width:110px; + max-width:110px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:800; + font-size:12px; + color:#222 +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-quantity .cart__popup-qty--input { + width:49px !important; + height:36px !important; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:13px; + color:#222; + text-align:center; + background-color:#f9f9f9; + padding:0; + border:none +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-quantity .cart__popup-qty--input::-webkit-outer-spin-button, +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-quantity .cart__popup-qty--input::-webkit-inner-spin-button { + -webkit-appearance:none; + margin:0 +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-quantity .cart__popup-qty--input[type=number] { + -moz-appearance:textfield +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-quantity .cart__popup-qty { + font-weight:400; + color:#b4b4b4; + font-size:1.6rem; + border:none; + min-width:18px; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-quantity .cart__popup-qty.cart__popup-qty--minus { + border-right:1px solid #ebebeb +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-quantity .cart__popup-qty.cart__popup-qty--plus { + border-left:1px solid #ebebeb +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-quantity .cart__popup-qty:hover { + color:#0d7a52 +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-quantity .quantity { + border:1px solid #e0e0e0; + max-width:89px +} +.cart_popup_opened .nov-content .cart__popup-item .cart__popup-total { + min-width:115px; + text-align:right; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:800; + font-size:1.4rem; + color:#222 +} +.lang-rtl .cart_popup_opened .nov-content .cart__popup-item .cart__popup-total { + text-align:left +} +.cart_popup_opened .nov-content .cart-notice-total { + padding:35px 0 2px +} +.cart_popup_opened .nov-content .cart-notice-total .col-left { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:800; + font-size:12px; + color:#222; + text-transform:uppercase +} +.cart_popup_opened .nov-content .cart-notice-total .col-left i { + font-size:1.5rem; + color:#30b94d; + margin-right:9px +} +.cart_popup_opened .nov-content .cart-notice-total .col-left .money { + color:#30b94d +} +.cart_popup_opened .nov-content .cart-notice-total .col-right { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:800; + font-size:1.4rem; + color:#222; + text-transform:uppercase +} +.cart_popup_opened .nov-content .cart-notice-total .col-right .cart__popup-stotal .money { + font-size:1.8rem; + color:#0d7a52; + margin-left:24px +} +.cart_popup_opened .nov-content .cart__popup-action { + margin-bottom:47px +} +.cart_popup_opened .nov-content .cart__popup-action .button { + width:100%; + min-height:46px; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + text-align:center; + position:relative; + overflow:hidden; + -webkit-border-radius:50px; + -moz-border-radius:50px; + -ms-border-radius:50px; + -o-border-radius:50px; + border-radius:50px +} +.cart_popup_opened .nov-content .cart__popup-action .button:after { + content:''; + position:absolute; + z-index:1; + width:0%; + height:100%; + top:0; + left:0; + background:#222; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease; + background:#0d7a52 +} +.cart_popup_opened .nov-content .cart__popup-action .button span { + z-index:10; + position:relative; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:10px; + color:#222; + text-transform:uppercase; + letter-spacing:0.2px +} +.cart_popup_opened .nov-content .cart__popup-action .button:hover { + background:#222; + border-color:#0d7a52 !important; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease +} +.cart_popup_opened .nov-content .cart__popup-action .button:hover span { + color:#fff +} +.cart_popup_opened .nov-content .cart__popup-action .button:hover:after { + width:100%; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease +} +.cart_popup_opened .nov-content .cart__popup-action .button:not(.checkout-button) { + border:1px solid #222 +} +.cart_popup_opened .nov-content .cart__popup-action .class_none_bundle { + background:#222; + margin-right:30px +} +.cart_popup_opened .nov-content .cart__popup-action .class_none_bundle span { + color:#fff +} +.cart_popup_opened .nov-content .cart__popup-action .class_none_bundle:hover { + background:#0d7a52; + border:1px solid #0d7a52 +} +@media (max-width: 767px) { + .cart_popup_opened .nov-content .cart__popup-item { + display:block !important; + position:relative; + padding-bottom:10px + } + .cart_popup_opened .nov-content .cart__popup-item .cart__popup-thumb { + display:inline-block; + min-width:95px + } + .cart_popup_opened .nov-content .cart__popup-item .cart__popup-remove { + position:absolute; + top:50px; + right:27%; + margin:0 + } + .cart_popup_opened .nov-content .cart__popup-item .cart__popup-remove i { + font-size:25px + } + .cart_popup_opened .nov-content .cart__popup-item .cart__popup-thumb, + .cart_popup_opened .nov-content .cart__popup-item .cart__popup-price, + .cart_popup_opened .nov-content .cart__popup-item .cart__popup-quantity, + .cart_popup_opened .nov-content .cart__popup-item .cart__popup-total { + text-align:left + } + .lang-rtl .cart_popup_opened .nov-content .cart__popup-item .cart__popup-thumb, + .lang-rtl .cart_popup_opened .nov-content .cart__popup-item .cart__popup-price, + .lang-rtl .cart_popup_opened .nov-content .cart__popup-item .cart__popup-quantity, + .lang-rtl .cart_popup_opened .nov-content .cart__popup-item .cart__popup-total { + text-align:right + } + .cart_popup_opened .nov-content .cart__popup-item .cart__popup-quantity, + .cart_popup_opened .nov-content .cart__popup-item .cart__popup-total { + padding-top:10px + } + .cart_popup_opened .nov-content button.nov-close { + font-size:20px + } +} +@media (max-width: 575px) { + .cart_popup_opened .nov-content .cart-notice-total { + display:block !important + } + .cart_popup_opened .nov-content .cart-notice-total .col-left { + font-size:10px + } + .cart_popup_opened .nov-content .cart-notice-total .col-right { + margin:10px 0 + } + .cart_popup_opened .nov-content .spacing-xs-10 { + margin:0 -5px !important + } + .cart_popup_opened .nov-content .spacing-xs-10.row [class^="col-"], + .cart_popup_opened .nov-content .spacing-xs-10.row [class*=" col-"], + .cart_popup_opened .nov-content .spacing-xs-10.row [class^="col"], + .cart_popup_opened .nov-content .spacing-xs-10.row [class*=" col"] { + padding:0 5px !important + } + .cart_popup_opened .nov-content .related_product .popup__cart-product .formAddToCart .btnAddToCart { + padding:10px 0 + } + .cart_popup_opened .nov-content .cart__popup-action .class_none_bundle { + margin-right:10px + } + .cart_popup_opened .nov-content .content_threshold.threshold_congrats { + margin-top:0 + } +} +.cart__popup-related-title { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:800; + font-size:1.4rem; + color:#222; + text-transform:uppercase; + margin-bottom:30px +} +.product-related .popup__cart-product { + text-align:center; + background:#fff; + padding:10px; + border:1px solid #eaeaea; + -webkit-transition:all 0.35s linear; + -moz-transition:all 0.35s linear; + -ms-transition:all 0.35s linear; + -o-transition:all 0.35s linear; + transition:all 0.35s linear; + -webkit-border-radius:10px; + -moz-border-radius:10px; + -ms-border-radius:10px; + -o-border-radius:10px; + border-radius:10px +} +.product-related .popup__cart-product .related_product-title { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:600; + font-size:11px; + color:#222; + margin:12px 10px 5px; + display:block +} +.product-related .popup__cart-product .related_product-title:hover { + color:#0d7a52 +} +.product-related .popup__cart-product .btnAddToCart { + font-size:10px; + margin-top:20px; + width:100%; + border-radius:0; + padding:0 5px; + height:40px; + line-height:40px; + -webkit-border-radius:30px; + -moz-border-radius:30px; + -ms-border-radius:30px; + -o-border-radius:30px; + border-radius:30px +} +.product-related .popup__cart-product .btnAddToCart span { + margin-left:5px +} +.product-related .popup__cart-product .product-price__price { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-size:11px; + font-weight:800; + margin-bottom:25px +} +.product-related .popup__cart-product s.product-price__price { + color:#d5d5d5; + margin-left:10px +} +#threshold_bar_popup { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:900; + font-size:10px; + color:#fff; + text-transform:uppercase; + margin-bottom:30px +} +.content_threshold.threshold_congrats { + margin-bottom:30px; + background:#30b94d; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:900; + font-size:10px; + color:#fff; + text-transform:uppercase; + min-height:22px; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + letter-spacing:0.25px; + padding:0 5px +} +.content_threshold.threshold_congrats i { + font-size:15px; + font-weight:400; + color:#fff; + margin-left:6px +} +.threshold_spend { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:900; + font-size:10px; + color:#222; + text-transform:uppercase; + letter-spacing:0.25px; + margin-bottom:16px +} +.threshold_spend .money { + color:#30b94d +} +.threshold_bar { + background:#dcdcdc; + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px; + overflow:hidden +} +.threshold_bar>span { + display:block; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px; + height:20px; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:10px; + font-weight:bold; + color:#fff; + background-size:30px 30px; + -moz-background-size:30px 30px; + -webkit-background-size:30px 30px; + -o-background-size:30px 30px; + max-width:100%; + background-color:#30b94d; + background-image:-moz-linear-gradient(-45deg, rgba(255,255,255,0.15) 0, rgba(255,255,255,0.15) 25%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, rgba(255,255,255,0) 75%, rgba(255,255,255,0) 100%); + background-image:-webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(255,255,255,0.2)), color-stop(25%, rgba(255,255,255,0.2)), color-stop(25%, rgba(255,255,255,0)), color-stop(50%, rgba(255,255,255,0)), color-stop(50%, rgba(255,255,255,0.2)), color-stop(75%, rgba(255,255,255,0.2)), color-stop(75%, rgba(255,255,255,0)), color-stop(100%, rgba(255,255,255,0))); + background-image:-webkit-linear-gradient(-45deg, rgba(255,255,255,0.3) 0, rgba(255,255,255,0.3) 25%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0.3) 75%, rgba(255,255,255,0) 75%, rgba(255,255,255,0) 100%); + background-image:-o-linear-gradient(-45deg, rgba(255,255,255,0.15) 0, rgba(255,255,255,0.15) 25%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, rgba(255,255,255,0) 75%, rgba(255,255,255,0) 100%); + background-image:-ms-linear-gradient(-45deg, rgba(255,255,255,0.15) 0, rgba(255,255,255,0.15) 25%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, rgba(255,255,255,0) 75%, rgba(255,255,255,0) 100%); + background-image:linear-gradient(135deg, rgba(255,255,255,0.15) 0, rgba(255,255,255,0.15) 25%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, rgba(255,255,255,0) 75%, rgba(255,255,255,0) 100%) +} +.threshold_bar.hide { + display:none +} +.threshold_bar .animate { + -webkit-transition:width .6s ease; + -o-transition:width .6s ease; + transition:width .6s ease; + animation:progress 5s linear infinite; + -moz-animation:progress 5s linear infinite; + -webkit-animation:progress 5s linear infinite; + -ms-animation:progress 5s linear infinite; + -o-animation:progress 5s linear infinite +} +.threshold_bar i { + font-size:1.5rem; + font-weight:400; + color:#fff; + margin-left:8px +} +.nov-move-horizontal .nov-with-anim { + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden; + -webkit-transition:all 0.35s linear; + -moz-transition:all 0.35s linear; + -ms-transition:all 0.35s linear; + -o-transition:all 0.35s linear; + transition:all 0.35s linear +} +.nov-move-horizontal.nov-ready .nov-with-anim { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:initial; + -webkit-transition:all 0.35s linear; + -moz-transition:all 0.35s linear; + -ms-transition:all 0.35s linear; + -o-transition:all 0.35s linear; + transition:all 0.35s linear +} +.open_quick_variants .popup-quick-view .product-single__price-qv { + padding:0 +} +.open_quick_variants #content_variants { + padding:30px; + max-width:370px; + margin:65px auto; + background:#fff; + position:relative; + -webkit-box-shadow:7px 7px 10px rgba(0,0,0,0.25); + -moz-box-shadow:7px 7px 10px rgba(0,0,0,0.25); + -ms-box-shadow:7px 7px 10px rgba(0,0,0,0.25); + -o-box-shadow:7px 7px 10px rgba(0,0,0,0.25); + box-shadow:7px 7px 10px rgba(0,0,0,0.25); + text-align:left +} +.lang-rtl .open_quick_variants #content_variants { + text-align:right +} +.open_quick_variants .product-single__info .product-form-qv .watch_availabel { + display:block +} +.open_quick_variants .product-single__info .product-form-qv .product-form__item label { + display:block; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:10px; + color:#444; + font-weight:bold; + text-transform:uppercase; + line-height:20px; + margin-bottom:8px +} +.open_quick_variants .product-single__info .product-form-qv .group-quantity { + margin:0 +} +.open_quick_variants .product-single__info .product-form-qv .js-qty { + width:110px; + border:1px solid #ebebeb; + position:relative; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + font-size:1.4rem; + color:#444; + margin-bottom:30px; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0 +} +.open_quick_variants .product-single__info .product-form-qv .js-qty .quantity-selector { + height:40px; + font-size:13px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:400; + color:#222; + text-align:center; + border:none; + background-color:#fff; + padding:0; + background-color:#f6f6f8 +} +.open_quick_variants .product-single__info .product-form-qv .js-qty .quantity-selector::-webkit-outer-spin-button, +.open_quick_variants .product-single__info .product-form-qv .js-qty .quantity-selector::-webkit-inner-spin-button { + -webkit-appearance:none; + margin:0 +} +.open_quick_variants .product-single__info .product-form-qv .js-qty .quantity-selector[type=number] { + -moz-appearance:textfield +} +.open_quick_variants .product-single__info .product-form-qv .js-qty .cart-qty { + position:absolute; + padding:0; + text-align:center; + width:26px; + height:40px; + line-height:40px; + color:#b4b4b4; + font-size:1.6rem; + background:#fff; + border:none; + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + -webkit-align-items:none; + -moz-align-items:none; + -ms-align-items:none; + align-items:none; + cursor:pointer +} +.open_quick_variants .product-single__info .product-form-qv .js-qty .cart-qty:hover { + outline:none; + color:#0d7a52 +} +.open_quick_variants .product-single__info .product-form-qv .js-qty .cart-qty .icon { + background:transparent; + display:none +} +.open_quick_variants .product-single__info .product-form-qv .js-qty .cart-qty .fallback-text { + color:#b4b4b4 +} +.open_quick_variants .product-single__info .product-form-qv .js-qty .cart-qty.cart-qty-plus { + right:0; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + border-left:1px solid #ebebeb +} +.open_quick_variants .product-single__info .product-form-qv .js-qty .cart-qty.cart-qty-minus { + left:0; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + border-right:1px solid #ebebeb +} +.open_quick_variants .product-single__info .product-form-qv .quantity_items { + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex +} +.open_quick_variants .product-single__info .product-form-qv .product-price__price { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-size:1.6rem; + font-weight:800 +} +.open_quick_variants .product-single__info .product-form-qv s#ComparePrice-qv { + color:#d5d5d5; + font-size:1.4rem; + font-weight:800; + margin-left:10px +} +.open_quick_variants .product-single__info .product-form-qv .product-form__item--submit .btn.product-form__cart-submit { + padding:0; + width:100%; + border:1px solid #222; + background:transparent; + width:100%; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + height:48px; + line-height:48px; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + position:relative; + overflow:hidden +} +.open_quick_variants .product-single__info .product-form-qv .product-form__item--submit .btn.product-form__cart-submit span#AddToCartText { + z-index:10; + position:relative; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#222; + font-size:11px; + font-weight:800 +} +.open_quick_variants .product-single__info .product-form-qv .product-form__item--submit .btn.product-form__cart-submit:after { + content:''; + position:absolute; + z-index:1; + width:0%; + height:100%; + top:0; + left:0; + background:#222; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease; + display:none +} +.open_quick_variants .product-single__info .product-form-qv .product-form__item--submit .btn.product-form__cart-submit:hover { + border-color:#0d7a52; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease +} +.open_quick_variants .product-single__info .product-form-qv .product-form__item--submit .btn.product-form__cart-submit:hover span#AddToCartText { + color:#fff +} +.open_quick_variants .product-single__info .product-form-qv .product-form__item--submit .btn.product-form__cart-submit:hover:after { + width:100%; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease +} +.open_quick_variants .product-single__info .product-form-qv .product-form__item-checkout .shopify-payment-button__button { + background:#222; + border:1px solid #222; + width:100%; + min-height:48px; + padding:0; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#fff; + font-size:11px; + font-weight:800; + text-transform:uppercase; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex; + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + -webkit-justify-content:center; + -moz-justify-content:center; + -ms-justify-content:center; + justify-content:center; + -ms-flex-pack:center; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease +} +.open_quick_variants .product-single__info .product-form-qv .product-form__item-checkout .shopify-payment-button__button:hover { + background:#0d7a52; + border:1px solid #0d7a52; + color:#fff; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -ms-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease +} +@-webkit-keyframes progress { + from { + background-position:0 0 + } + to { + background-position:-60px -60px + } +} +@-moz-keyframes progress { + from { + background-position:0 0 + } + to { + background-position:-60px -60px + } +} +@-ms-keyframes progress { + from { + background-position:0 0 + } + to { + background-position:-60px -60px + } +} +@-o-keyframes progress { + from { + background-position:0 0 + } + to { + background-position:-60px -60px + } +} +@keyframes progress { + from { + background-position:0 0 + } + to { + background-position:-60px -60px + } +} +#popup-Wishlist { + width:380px; + background:transparent; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + -webkit-box-shadow:10px 10px 13px 0 rgba(0,0,0,0.25); + -moz-box-shadow:10px 10px 13px 0 rgba(0,0,0,0.25); + -ms-box-shadow:10px 10px 13px 0 rgba(0,0,0,0.25); + -o-box-shadow:10px 10px 13px 0 rgba(0,0,0,0.25); + box-shadow:10px 10px 13px 0 rgba(0,0,0,0.25) +} +#popup-Wishlist.loading-modal { + display:block; + -webkit-transform:translateX(410px); + -ms-transform:translateX(410px); + transform:translateX(410px); + -webkit-transition:all 0.3s ease 2s; + -moz-transition:all 0.3s ease 2s; + -ms-transition:all 0.3s ease 2s; + -o-transition:all 0.3s ease 2s; + transition:all 0.3s ease 2s; + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden; + top:initial; + bottom:30px; + left:initial; + right:30px +} +.lang-rtl #popup-Wishlist.loading-modal { + -webkit-transform:translateX(-410px); + -ms-transform:translateX(-410px); + transform:translateX(-410px) +} +#popup-Wishlist .modal-header { + padding:9px 10px; + background:#0d7a52 +} +#popup-Wishlist .modal-header .message_title { + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:10px; + color:#fff; + text-transform:uppercase +} +#popup-Wishlist .modal-header .message_title i { + font-size:1.5rem; + font-weight:400; + color:#fff; + margin-right:12px +} +#popup-Wishlist .modal-header button { + width:initial; + height:initial; + position:relative; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0; + background:transparent; + padding:0; + margin:0; + text-shadow:none; + border:none; + cursor:pointer; + -webkit-transition:all 0.35s linear; + -moz-transition:all 0.35s linear; + -ms-transition:all 0.35s linear; + -o-transition:all 0.35s linear; + transition:all 0.35s linear +} +#popup-Wishlist .modal-header button i { + font-size:12px; + font-weight:400; + color:#fff +} +#popup-Wishlist .modal-header button:hover { + -webkit-transform:rotate(180deg); + -ms-transform:rotate(180deg); + transform:rotate(180deg); + -webkit-transition:all 0.35s linear; + -moz-transition:all 0.35s linear; + -ms-transition:all 0.35s linear; + -o-transition:all 0.35s linear; + transition:all 0.35s linear +} +#popup-Wishlist .modal-body { + padding:10px; + background:#fff +} +#popup-Wishlist .modal-body .wishlistImage { + margin-right:24px +} +#popup-Wishlist .modal-body .product-title { + padding-left:20px; + padding-right:33px; + font-size:12px; + color:#222 +} +.lang-rtl #popup-Wishlist .modal-body .product-title { + padding-left:33px; + padding-right:20px +} +#popup-Wishlist .modal-body .product-title a { + font-size:12px; + color:#222; + font-weight:500 +} +#popup-Wishlist .modal-body .product-title a:hover { + color:#0d7a52 +} +#popup-Wishlist .modal-body .actions .btn { + min-width:100px; + height:30px; + line-height:30px; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:10px; + text-transform:uppercase; + padding:0; + -webkit-border-radius:0; + -moz-border-radius:0; + -ms-border-radius:0; + -o-border-radius:0; + border-radius:0 +} +#popup-Wishlist .modal-body .actions .btn-wishlist { + color:#909090; + background:#f1f1f1 +} +#popup-Wishlist .modal-body .actions .btn-wishlist:hover { + background:#0d7a52; + color:#fff +} +#popup-Wishlist.novload .modal-body:after { + content:""; + position:absolute; + left:0; + bottom:0; + width:0; + height:3px; + background:#c4e8bf; + animation:novload 5s linear +} +@media (max-width: 400px) { + #popup-Wishlist.loading-modal { + width:290px; + bottom:85px; + right:15px + } + #popup-Wishlist.loading-modal .modal-body .product-title { + padding-left:15px; + padding-right:10px + } + .lang-rtl #popup-Wishlist.loading-modal .modal-body .product-title { + padding-left:10px; + padding-right:15px + } +} +@keyframes novload { + 0% { + width:0 + } + 100% { + width:100% + } +} +@-webkit-keyframes novload { + 0% { + width:0 + } + 100% { + width:100% + } +} +.nov-close { + font-size:1.8rem; + line-height:10px; + font-weight:400; + color:#b3b3b3; + -webkit-transform:rotate(0deg); + -ms-transform:rotate(0deg); + transform:rotate(0deg); + position:absolute; + top:10px; + right:10px; + -webkit-transition:all 0.35s linear; + -moz-transition:all 0.35s linear; + -ms-transition:all 0.35s linear; + -o-transition:all 0.35s linear; + transition:all 0.35s linear; + text-decoration:none +} +.nov-close:hover { + color:#0d7a52; + outline:none; + -webkit-transform:rotate(180deg); + -ms-transform:rotate(180deg); + transform:rotate(180deg); + -webkit-transition:all 0.35s linear; + -moz-transition:all 0.35s linear; + -ms-transition:all 0.35s linear; + -o-transition:all 0.35s linear; + transition:all 0.35s linear +} +.swatch { + -webkit-align-items:center; + -moz-align-items:center; + -ms-align-items:center; + align-items:center; + display:-webkit-box; + display:-moz-box; + display:-ms-flexbox; + display:-webkit-flex; + display:flex +} +.swatch .swatch-element { + position:relative; + display:inline-block; + margin-right:7px; + margin-bottom:4px +} +.swatch .swatch-element .crossed-out { + display:none +} +.swatch .swatch-element.soldout .crossed-out { + display:block; + cursor:no-drop +} +.swatch .swatch-element.color.white .color_bg { + border:1px solid #ebebeb +} +.swatch .swatch-element.color label:not(.color_bg) { + min-width:60px +} +.swatch input { + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + visibility:hidden; + height:0 +} +.swatch .header { + font-size:10px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + color:#444; + text-transform:uppercase; + margin-right:15px; + margin-top:10px; + margin-bottom:5px +} +.swatch label { + min-width:34px; + height:34px; + line-height:34px; + padding:0 10px; + text-align:center; + float:left; + color:#666; + font-size:12px; + text-transform:capitalize; + white-space:nowrap; + cursor:pointer; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + -webkit-transition:all 0.2s linear; + -moz-transition:all 0.2s linear; + -ms-transition:all 0.2s linear; + -o-transition:all 0.2s linear; + transition:all 0.2s linear; + margin-bottom:0; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px +} +.lang-rtl .swatch label { + float:right +} +.swatch label:not(.color_bg) { + background-color:transparent !important; + border:1px solid #ebebeb +} +.swatch label.color_bg .name_color { + display:none +} +.swatch label.color_img { + height:initial; + padding:0 +} +.swatch label.color_img .name_color { + display:none +} +.swatch input:checked+label:not(.color_bg), +.swatch label:not(.color_bg):hover { + background-color:#ebebeb !important +} +.swatch input:checked+label.color_img, +.swatch label.color_img:hover { + border-color:#424242 +} +.swatch input:checked+label.color_bg, +.swatch label.color_bg:hover { + border:1px solid black !important; + -webkit-box-shadow:0 0 0 1px #fff inset; + -moz-box-shadow:0 0 0 1px #fff inset; + -ms-box-shadow:0 0 0 1px #fff inset; + -o-box-shadow:0 0 0 1px #fff inset; + box-shadow:0 0 0 1px #fff inset +} +.swatch .crossed-out { + position:absolute; + width:100%; + height:100%; + left:0; + top:0 +} +.swatch .tooltip { + display:none +} +@media (max-width: 375px) { + .swatch .swatch-element:not(.color) label { + margin-top:0 + } + .swatch .header { + margin-top:0 + } +} +.sidebarmenu_title { + font-size:20px; + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + color:#fff; + margin-right:35px; + cursor:pointer; + padding:8px 0; + padding-left:15px; + padding-right:54px; + -webkit-border-radius:5px; + -moz-border-radius:5px; + -ms-border-radius:5px; + -o-border-radius:5px; + border-radius:5px; + background:#0d7a52 +} +.lang-rtl .sidebarmenu_title { + padding-left:54px; + padding-right:15px +} +.sidebarmenu_title i { + font-size:16px +} +.sidebarmenu_title:hover { + background:#78b144; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +.sidebarmenu_content { + width:284px; + position:fixed; + z-index:9999; + top:0; + left:-360px; + -webkit-box-shadow:5px 0 12px rgba(0,0,0,0.25); + -moz-box-shadow:5px 0 12px rgba(0,0,0,0.25); + -ms-box-shadow:5px 0 12px rgba(0,0,0,0.25); + -o-box-shadow:5px 0 12px rgba(0,0,0,0.25); + box-shadow:5px 0 12px rgba(0,0,0,0.25); + -webkit-transition:all 0.3s ease 0.15s; + -moz-transition:all 0.3s ease 0.15s; + -ms-transition:all 0.3s ease 0.15s; + -o-transition:all 0.3s ease 0.15s; + transition:all 0.3s ease 0.15s +} +.sidebarmenu_content a:hover { + text-decoration:none; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +.sidebarmenu_content .sidebarmenu_list_content { + padding:115px 30px 40px; + background:#fff; + overflow-y:auto; + height:100vh +} +.sidebarmenu_content .sidebarmenu_list_content::-webkit-scrollbar-track { + background-color:#eaeaea; + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px +} +.sidebarmenu_content .sidebarmenu_list_content::-webkit-scrollbar { + width:3px; + background-color:#eaeaea; + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px +} +.sidebarmenu_content .sidebarmenu_list_content::-webkit-scrollbar-thumb { + -webkit-border-radius:20px; + -moz-border-radius:20px; + -ms-border-radius:20px; + -o-border-radius:20px; + border-radius:20px; + background-color:#0d7a52 +} +.sidebarmenu_content .sidebarmenu_list_content .site-nav--has-dropdown:before { + display:none +} +.sidebarmenu_content .sidebarmenu_list_content>li { + position:relative +} +.sidebarmenu_content .sidebarmenu_list_content>li>a { + font-size:1.6rem; + color:#78b144; + font-weight:700; + text-transform:uppercase; + display:block; + padding:10px 0 +} +.sidebarmenu_content .sidebarmenu_list_content>li>a:hover { + color:#0d7a52; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +.sidebarmenu_content .sidebarmenu_list_content>li .show-sub { + width:15px; + height:15px; + line-height:15px; + text-align:center; + background:#cfcfcf; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px; + display:inline-block; + color:#fff; + font-size:15px; + position:absolute; + right:0; + top:17px; + cursor:pointer +} +.sidebarmenu_content .sidebarmenu_list_content>li .show-sub i { + vertical-align:bottom +} +.sidebarmenu_content .sidebarmenu_list_content>li .show-sub .zmdi-minus { + display:none +} +.sidebarmenu_content .sidebarmenu_list_content>li .show-sub.active { + background:#78b144 +} +.sidebarmenu_content .sidebarmenu_list_content>li .show-sub.active .zmdi-minus { + display:block +} +.sidebarmenu_content .sidebarmenu_list_content>li .show-sub.active .zmdi-plus { + display:none +} +.sidebarmenu_content .sidebarmenu_list_content>li .site-nav__dropdown { + position:static; + box-shadow:none; + visibility:visible; + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + border:none; + display:none; + -webkit-transition:none; + -moz-transition:none; + -ms-transition:none; + -o-transition:none; + transition:none +} +.sidebarmenu_content .sidebarmenu_list_content>li .site-nav__dropdown ul { + list-style-type:none +} +.sidebarmenu_content .sidebarmenu_list_content>li .site-nav__dropdown li { + border:none +} +.sidebarmenu_content .sidebarmenu_list_content>li .site-nav__dropdown .site-nav__link { + font-size:11px; + font-weight:500; + padding:10px 0; + display:block; + color:#909090; + text-transform:uppercase +} +.sidebarmenu_content .sidebarmenu_list_content>li .site-nav__dropdown .site-nav__link:hover { + color:#0d7a52; + background:none; + -webkit-transition:all 0.35s ease; + -moz-transition:all 0.35s ease; + -ms-transition:all 0.35s ease; + -o-transition:all 0.35s ease; + transition:all 0.35s ease +} +.sidebarmenu_content .sidebarmenu_list_content>li.site-nav--has-dropdown:first-child>.site-nav__dropdown { + display:block +} +.sidebarmenu_content.active { + left:0 +} +.sidebarmenu_content.active .btn_close_sidebar { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + visibility:visible +} +.section-newsletter .image_newletter { + margin-right:30px +} +.section-newsletter .title-block { + font-family:"Poppins","HelveticaNeue","Helvetica Neue",sans-serif; + font-weight:bold; + font-size:2.4rem; + text-transform:uppercase; + margin-bottom:5px +} +.section-newsletter .contact-form .password__input-group { + max-width:700px; + padding:0 15px; + margin:0 auto; + position:relative +} +.section-newsletter .contact-form .password__input-group i { + position:absolute; + top:51%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + left:30px; + font-size:16px; + color:#c6c6c6 +} +.section-newsletter .contact-form .password__input-group input { + width:100%; + height:50px; + border:2px solid #ededed; + font-size:12px; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + background:#fff; + color:#666; + z-index:initial; + -webkit-border-radius:3px; + -moz-border-radius:3px; + -ms-border-radius:3px; + -o-border-radius:3px; + border-radius:3px; + padding-left:35px; + padding-right:80px +} +.lang-rtl .section-newsletter .contact-form .password__input-group input { + padding-left:80px; + padding-right:35px +} +.section-newsletter .contact-form .password__input-group input::-webkit-input-placeholder { + color:#b7b7b7; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:10px; + font-weight:700; + text-transform:uppercase; + letter-spacing:0.5px +} +.section-newsletter .contact-form .password__input-group input:-moz-placeholder { + color:#b7b7b7; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:10px; + font-weight:700; + text-transform:uppercase; + letter-spacing:0.5px +} +.section-newsletter .contact-form .password__input-group input::-moz-placeholder { + color:#b7b7b7; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:10px; + font-weight:700; + text-transform:uppercase; + letter-spacing:0.5px +} +.section-newsletter .contact-form .password__input-group input:-ms-input-placeholder { + color:#b7b7b7; + font-family:"Roboto","HelveticaNeue","Helvetica Neue",sans-serif; + font-size:10px; + font-weight:700; + text-transform:uppercase; + letter-spacing:0.5px +} +.section-newsletter .contact-form .password__input-group button { + position:absolute; + right:15px; + top:50%; + -webkit-transform:translateY(-50%); + -ms-transform:translateY(-50%); + transform:translateY(-50%); + height:26px; + line-height:26px; + border:none; + border-left:1px solid #d7d7d7; + z-index:9; + color:#b7b7b7; + font-weight:700; + font-size:10px; + text-transform:uppercase; + padding:0 13px; + background-color:transparent +} +.section-newsletter .contact-form .password__input-group button:hover { + color:#0d7a52 +} +.section-contact-form { + overflow:hidden +} +.section-contact-form .formContactUs .contact_message .title_block { + font-weight:700; + text-transform:uppercase; + margin-top:0 +} +.section-contact-form .contact:not(:last-child) { + margin-bottom:10px +} +.section-contact-form .contact.phone { + font-size:2.2rem; + font-weight:700; + color:#222; + margin-bottom:5px +} +.section-contact-form .contact i { + vertical-align:middle +} +.section-contact-form .icon-contactphone { + min-width:18px; + height:18px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-contactphone.png?v=15582704188215453902); + margin-right:15px +} +.section-contact-form .icon-contactemail { + min-width:18px; + height:12px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-contactemail.png?v=14463078514888600009); + margin-right:15px +} +.section-contact-form .icon-contactaddress { + min-width:18px; + height:19px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-contactaddress.png?v=9092205836566255422); + margin-right:15px +} +.section-contact-form .icon-contactopen { + min-width:18px; + height:15px; + background:url(//cdn.shopify.com/s/files/1/0523/8728/3107/t/2/assets/icon-openhour.png?v=1775090920484513369); + margin-right:15px +} +.text-left { + text-align:left +} +.lang-rtl .text-left { + text-align:right +} +.text-right { + text-align:right +} +.lang-rtl .text-right { + text-align:left +} +.tab-content .loading { + display:block; + max-width:100%; + min-height:300px; + padding:0; + position:relative; + width:100%; + background:url(loading_option.svg) no-repeat center center/120px auto +} +.csstransforms { + padding:0 !important +} +.shopify-payment-button__more-options.shopify-payment-button__button--hidden { + display:none !important +} +.modal-content .modal-body { + max-height:100%; + overflow-y:initial +} +#preview-bar-iframe { + display:none +} +@keyframes nov-slide { + 0% { + -webkit-transform:scale(1, 1); + -ms-transform:scale(1, 1); + transform:scale(1, 1) + } + 50% { + filter:alpha(opacity=30); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + -webkit-opacity:0.3; + -moz-opacity:0.3; + -ms-opacity:0.3; + -o-opacity:0.3; + opacity:0.3; + -webkit-transform:scale(2, 2); + -ms-transform:scale(2, 2); + transform:scale(2, 2) + } + 100% { + -webkit-transform:scale(1, 1); + -ms-transform:scale(1, 1); + transform:scale(1, 1) + } +} +@-webkit-keyframes nov-slide { + 0% { + -webkit-transform:scale(1, 1); + -ms-transform:scale(1, 1); + transform:scale(1, 1) + } + 50% { + filter:alpha(opacity=30); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + -webkit-opacity:0.3; + -moz-opacity:0.3; + -ms-opacity:0.3; + -o-opacity:0.3; + opacity:0.3; + -webkit-transform:scale(2, 2); + -ms-transform:scale(2, 2); + transform:scale(2, 2) + } + 100% { + -webkit-transform:scale(1, 1); + -ms-transform:scale(1, 1); + transform:scale(1, 1) + } +} +@keyframes down { + from { + -webkit-transform:translateY(-100%); + -ms-transform:translateY(-100%); + transform:translateY(-100%) + } + to { + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0) + } +} +@keyframes slider-right { + from { + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%) + } + .lang-rtl from { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) + } + to { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) + } + .lang-rtl to { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) + } +} +@keyframes slider-left { + from { + -webkit-transform:translateX(50%); + -ms-transform:translateX(50%); + transform:translateX(50%) + } + .lang-rtl from { + -webkit-transform:translateX(-50%); + -ms-transform:translateX(-50%); + transform:translateX(-50%) + } + to { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) + } + .lang-rtl to { + -webkit-transform:translateX(0); + -ms-transform:translateX(0); + transform:translateX(0) + } +} +@keyframes opacity { + from { + filter:alpha(opacity=0); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-opacity:0; + -moz-opacity:0; + -ms-opacity:0; + -o-opacity:0; + opacity:0; + -webkit-transform:translateY(30px); + -ms-transform:translateY(30px); + transform:translateY(30px) + } + to { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1; + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0) + } +} +@-webkit-keyframes zoomOut { + 0% { + opacity:0; + -webkit-transform:scale(0.6) + } + 100% { + opacity:1; + -webkit-transform:scale(1) + } +} +@-moz-keyframes zoomOut { + 0% { + opacity:0; + -moz-transform:scale(0.6) + } + 100% { + opacity:1; + -moz-transform:scale(1) + } +} +@-o-keyframes zoomOut { + 0% { + opacity:0; + -o-transform:scale(0.6) + } + 100% { + opacity:1; + -o-transform:scale(1) + } +} +@keyframes zoomOut { + 0% { + opacity:0; + transform:scale(0.6) + } + 100% { + opacity:1; + transform:scale(1) + } +} +@-webkit-keyframes Opacity { + 0% { + filter:alpha(opacity=30); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + -webkit-opacity:0.3; + -moz-opacity:0.3; + -ms-opacity:0.3; + -o-opacity:0.3; + opacity:0.3 + } + 100% { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1 + } +} +@-moz-keyframes Opacity { + 0% { + filter:alpha(opacity=30); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + -webkit-opacity:0.3; + -moz-opacity:0.3; + -ms-opacity:0.3; + -o-opacity:0.3; + opacity:0.3 + } + 100% { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1 + } +} +@-ms-keyframes Opacity { + 0% { + filter:alpha(opacity=30); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + -webkit-opacity:0.3; + -moz-opacity:0.3; + -ms-opacity:0.3; + -o-opacity:0.3; + opacity:0.3 + } + 100% { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1 + } +} +@keyframes Opacity { + 0% { + filter:alpha(opacity=30); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + -webkit-opacity:0.3; + -moz-opacity:0.3; + -ms-opacity:0.3; + -o-opacity:0.3; + opacity:0.3 + } + 100% { + filter:alpha(opacity=100); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; + -webkit-opacity:1; + -moz-opacity:1; + -ms-opacity:1; + -o-opacity:1; + opacity:1 + } +} +@-webkit-keyframes move { + 0% { + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0) + } + 100% { + -webkit-transform:translateY(-30px); + -ms-transform:translateY(-30px); + transform:translateY(-30px) + } +} +@-moz-keyframes move { + 0% { + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0) + } + 100% { + -webkit-transform:translateY(-30px); + -ms-transform:translateY(-30px); + transform:translateY(-30px) + } +} +@-ms-keyframes move { + 0% { + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0) + } + 100% { + -webkit-transform:translateY(-30px); + -ms-transform:translateY(-30px); + transform:translateY(-30px) + } +} +@keyframes move { + 0% { + -webkit-transform:translateY(0); + -ms-transform:translateY(0); + transform:translateY(0) + } + 100% { + -webkit-transform:translateY(-30px); + -ms-transform:translateY(-30px); + transform:translateY(-30px) + } +} diff --git a/src/WebApp/AspnetRunBasics/wwwroot/js/shopscript.js b/src/WebApp/AspnetRunBasics/wwwroot/js/shopscript.js new file mode 100644 index 00000000..b8d510ee --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/js/shopscript.js @@ -0,0 +1,250 @@ +$(document).on('click', '.plus, .minus', function () { + var $qty = $(this).closest('.cart__qty').find('.cart__qty-input'), + currentVal = parseFloat($qty.val()), + max = parseFloat($qty.attr('max')), + min = parseFloat($qty.attr('min')), + step = $qty.attr('step'); + + if (!currentVal || currentVal === '' || currentVal === 'NaN') currentVal = 0; + if (max === '' || max === 'NaN') max = ''; + if (min === '' || min === 'NaN') min = 0; + if (step === 'any' || step === '' || step === undefined || parseFloat(step) === 'NaN') step = 1; + + if ($(this).is('.plus')) { + if (max && (currentVal >= max)) { + $qty.val(max); + } else { + $qty.val((currentVal + parseFloat(step))); + } + } else { + if (min && (currentVal <= min)) { + $qty.val(min); + } else if (currentVal > 0) { + $qty.val((currentVal - parseFloat(step))); + } + } + $qty.trigger('change'); +}); + + +$(".btn-mobile_vertical_menu").click(function () { + $("#_mobile_vertical_menu").addClass('active'); + $("#_mobile_sidebarmenu_content").addClass('active'); + $(".sidebar-overlay").addClass('act'); +}); + + + +function topFunction() { + document.body.scrollTop = 0; // For Safari + document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera +} + + +$("#back_top").click(function () { + topFunction(); + return !1 +}); + + +$('#cart_block').on("click", function (e) { + document.getElementById('cart-info').style = 'display:block'; + e.stopPropagation(); +}); + +$(document).on('click', function (event) { + if ($(event.target).is('#cart_block #cart-info') == !1) { + document.getElementById('cart-info').style = 'display:none'; + } +}); + + + $('#show-megamenu').on("click", function () { + if ($('.canvas-menu').hasClass('active')) { + $('.canvas-menu').removeClass('active'); + $('body').removeClass('canvasmenu-right'); + $(this).removeClass('close'); + } else { + $('.canvas-menu').addClass('active'); + $('body').addClass('canvasmenu-right'); + $(this).addClass('close'); + } + return false; + }); + + + $('.canvas-header-box .close-box, .canvas-overlay').on("click", function () { + $('.canvas-menu').removeClass('active'); + $('body').removeClass('canvasmenu-right'); + return false; + }); + + // vertical dropdown + if ($(document).width() <= 1199 && $(document).width() >= 992) { + $(".vertical_dropdown").removeClass('active'); + $("#_desktop_vertical_menu").css('display', 'none') + } + if ($(document).width() >= 992) { + $('.vertical_dropdown').click(function () { + if ($(this).hasClass('active')) { + $(this).removeClass('active'); + document.getElementById('_desktop_vertical_menu').style = "display:none"; + } + else { + $(this).addClass('active') + document.getElementById('_desktop_vertical_menu').style = "display:block"; + if ($(document).width() < 992) { + $(".sidebar-overlay").addClass('act'); + } + } + }); + } + + if ($(document).width() < 992) { + $(".vertical_dropdown").removeClass('active'); + $('.vertical_dropdown').click(function () { + $("#_desktop_vertical_menu").addClass('active'); + $(".sidebar-overlay").addClass('act'); + }); + } + + var show_more = $(".vertical_menu").data('count_showmore'); + var show_more_lg = $(".vertical_menu").data('count_showmore_lg') - 1; + var textshowmore = $(".vertical_menu").data('textshowmore'); + var textless = $(".vertical_menu").data('textless'); + $('.vertical_menu>ul>li:last-child').addClass('last'); + if ($('.vertical_menu>ul>li').length > show_more) { + $(".vertical_menu .show_more").removeClass('hidden'); + } + if ($(document).width() < 1200) { + $('#_desktop_vertical_menu .site-nav>li:gt(' + show_more_lg + ')').addClass('hide'); + if ($('.vertical_menu>ul>li').length > show_more_lg + 1) { + $(".vertical_menu .show_more").removeClass('hidden hide'); + } + }; + $('.show_more').click(function () { + $('.vertical_menu>ul>li:last-child').removeClass('last'); + if ($(this).hasClass('active')) { + $(this).removeClass('active'); + $(this).text(textshowmore) + } else { + $(this).addClass('active'); + $(this).text(textless) + } + if ($('.vertical_menu>ul>li').hasClass('hide')) { + $('.vertical_menu>ul>li.hide').slideToggle(300); + } + }); + + $(".sidebar-overlay").click(function () { + $(this).removeClass('act'); + $("#_mobile_vertical_menu").removeClass('active'); + $(".btn_active").css('opacity', '1'); + $('.vertical_dropdown').removeClass('active'); + $("#_desktop_vertical_menu").removeClass('active'); + $('.sidebar-filter').removeClass('active'); + }); + + + $(function () { + // Current Ajax request. + var currentAjaxRequest = null; + // Grabbing all search forms on the page, and adding a .search-results list to each. + var searchForms = $('form[action="/search"]').css('position', 'relative').each(function () { + // Grabbing text input. + var input = $(this).find('input[name="q"]'); + // Adding a list for showing search results. + var offSet = input.position().top + input.innerHeight(); + $('
    ').css({ 'position': 'absolute', 'left': '0px', 'top': offSet }).appendTo($(this)).hide(); + // Listening to keyup and change on the text field within these search forms. + input.attr('autocomplete', 'off').bind('keyup change', function () { + // What's the search term? + var term = $(this).val(); + // What's the search form? + var form = $(this).closest('form'); + // What's the search URL? + var searchURL = '/search?type=product&q=' + term; + // What's the search results list? + var resultsList = form.find('.search-results'); + // If that's a new term and it contains at least 3 characters. + if (term.length > 3 && term != $(this).attr('data-old-term')) { + // Saving old query. + $(this).attr('data-old-term', term); + // Killing any Ajax request that's currently being processed. + if (currentAjaxRequest != null) currentAjaxRequest.abort(); + // Pulling results. + currentAjaxRequest = $.getJSON(searchURL + '&view=json', function (data) { + // Reset results. + resultsList.empty(); + // If we have no results. + if (data.results_count == 0) { + // resultsList.html('
  • No results.
  • '); + // resultsList.fadeIn(200); + resultsList.hide(); + } else { + // If we have results. + $.each(data.results, function (index, item) { + var link = $('').attr('href', item.url); + link.append('
    '); + link.append('
    ' + item.title + '
    ' + item.price + '
    '); + // link.append('
    ' + item.price + '
    '); + link.wrap('
  • '); + resultsList.append(link.parent()); + }); + // The Ajax request will return at the most 10 results. + // If there are more than 10, let's link to the search results page. + if (data.results_count > 10) { + resultsList.append('
  • See all results (' + data.results_count + ')
  • '); + } + resultsList.fadeIn(200); + } + }); + } + }); + }); + // Clicking outside makes the results disappear. + $('body').bind('click', function () { + $('.search-results').hide(); + }); + }); + + //Plus & Minus for Quantity product + $(document).ready(function () { + var quantity = 1; + + $('.quantity-right-plus').click(function (e) { + e.preventDefault(); + var quantity = parseInt($('#quantity').val()); + $('#quantity').val(quantity + 1); + }); + + $('.quantity-left-minus').click(function (e) { + e.preventDefault(); + var quantity = parseInt($('#quantity').val()); + if (quantity > 1) { + $('#quantity').val(quantity - 1); + } + }); + + }); + + // Example starter JavaScript for disabling form submissions if there are invalid fields + (function () { + 'use strict'; + + window.addEventListener('load', function () { + // Fetch all the forms we want to apply custom Bootstrap validation styles to + var forms = document.getElementsByClassName('needs-validation'); + + // Loop over them and prevent submission + var validation = Array.prototype.filter.call(forms, function (form) { + form.addEventListener('submit', function (event) { + if (form.checkValidity() === false) { + event.preventDefault(); + event.stopPropagation(); + } + form.classList.add('was-validated'); + }, false); + }); + }, false); + })(); \ No newline at end of file diff --git a/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.css b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.css new file mode 100644 index 00000000..468530f7 --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.css @@ -0,0 +1,3872 @@ +/*! + * Bootstrap Grid v4.6.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +html { + box-sizing: border-box; + -ms-overflow-style: scrollbar; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +.container, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; + } +} + +.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%; +} + +.row-cols-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.row-cols-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.row-cols-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.row-cols-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.row-cols-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; +} + +.row-cols-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.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%; + } + .row-cols-sm-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-sm-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-sm-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-sm-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-sm-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-sm-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .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%; + } + .row-cols-md-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-md-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-md-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-md-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-md-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-md-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .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%; + } + .row-cols-lg-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-lg-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-lg-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-lg-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-lg-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-lg-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .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%; + } + .row-cols-xl-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-xl-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-xl-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-xl-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-xl-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-xl-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .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/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.css.map b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.css.map new file mode 100644 index 00000000..34902baf --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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EKp0BM;IAAwB,iBADZ;IACY,QADZ;ELw0BlB;EKv0BM;IAAwB,iBADZ;IACY,QADZ;EL20BlB;EK10BM;IAAwB,kBADZ;IACY,SADZ;EL80BlB;EK70BM;IAAwB,kBADZ;IACY,SADZ;ELi1BlB;EKh1BM;IAAwB,kBADZ;IACY,SADZ;ELo1BlB;EK50BU;IHhBV,cAA4B;EF+1B5B;EK/0BU;IHhBV,sBAA8C;EFk2B9C;EKl1BU;IHhBV,uBAA8C;EFq2B9C;EKr1BU;IHhBV,gBAA8C;EFw2B9C;EKx1BU;IHhBV,uBAA8C;EF22B9C;EK31BU;IHhBV,uBAA8C;EF82B9C;EK91BU;IHhBV,gBAA8C;EFi3B9C;EKj2BU;IHhBV,uBAA8C;EFo3B9C;EKp2BU;IHhBV,uBAA8C;EFu3B9C;EKv2BU;IHhBV,gBAA8C;EF03B9C;EK12BU;IHhBV,uBAA8C;EF63B9C;EK72BU;IHhBV,uBAA8C;EFg4B9C;AACF;;AM76BM;EAAwB,wBAA0B;ANi7BxD;;AMj7BM;EAAwB,0BAA0B;ANq7BxD;;AMr7BM;EAAwB,gCAA0B;ANy7BxD;;AMz7BM;EAAwB,yBAA0B;AN67BxD;;AM77BM;EAAwB,yBAA0B;ANi8BxD;;AMj8BM;EAAwB,6BAA0B;ANq8BxD;;AMr8BM;EAAwB,8BAA0B;ANy8BxD;;AMz8BM;EAAwB,+BAA0B;EAA1B,wBAA0B;AN68BxD;;AM78BM;EAAwB,sCAA0B;EAA1B,+BAA0B;ANi9BxD;;AGh6BI;EGjDE;IAAwB,wBAA0B;ENs9BtD;EMt9BI;IAAwB,0BAA0B;ENy9BtD;EMz9BI;IAAwB,gCAA0B;EN49BtD;EM59BI;IAAwB,yBAA0B;EN+9BtD;EM/9BI;IAAwB,yBAA0B;ENk+BtD;EMl+BI;IAAwB,6BAA0B;ENq+BtD;EMr+BI;IAAwB,8BAA0B;ENw+BtD;EMx+BI;IAAwB,+BAA0B;IAA1B,wBAA0B;EN2+BtD;EM3+BI;IAAwB,sCAA0B;IAA1B,+BAA0B;EN8+BtD;AACF;;AG97BI;EGjDE;IAAwB,wBAA0B;ENo/BtD;EMp/BI;IAAwB,0BAA0B;ENu/BtD;EMv/BI;IAAwB,gCAA0B;EN0/BtD;EM1/BI;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hD;;AQpsDQ;EAAgC,yBAA4B;ARwsDpE;;AQvsDQ;;EAEE,6BAAoC;AR0sD9C;;AQxsDQ;;EAEE,+BAAwC;AR2sDlD;;AQzsDQ;;EAEE,gCAA0C;AR4sDpD;;AQ1sDQ;;EAEE,8BAAsC;AR6sDhD;;AQ5tDQ;EAAgC,uBAA4B;ARguDpE;;AQ/tDQ;;EAEE,2BAAoC;ARkuD9C;;AQhuDQ;;EAEE,6BAAwC;ARmuDlD;;AQjuDQ;;EAEE,8BAA0C;ARouDpD;;AQluDQ;;EAEE,4BAAsC;ARquDhD;;AQpvDQ;EAAgC,yBAA4B;ARwvDpE;;AQvvDQ;;EAEE,6BAAoC;AR0vD9C;;AQxvDQ;;EAEE,+BAAwC;AR2vDlD;;AQzvDQ;;EAEE,gCAA0C;AR4vDpD;;AQ1vDQ;;EAEE,8BAAsC;AR6vDhD;;AQ5wDQ;EAAgC,uBAA4B;ARgxDpE;;AQ/wDQ;;EAEE,2BAAoC;ARkxD9C;;AQhxDQ;;EAEE,6BAAwC;ARmxDlD;;AQjxDQ;;EAEE,8BAA0C;ARoxDpD;;AQlxDQ;;EAEE,4BAAsC;ARqxDhD;;AQpyDQ;EAAgC,qBAA4B;ARwyDpE;;AQvyDQ;;EAEE,yBAAoC;AR0yD9C;;AQxyDQ;;EAEE,2BAAwC;AR2yDlD;;AQzyDQ;;EAEE,4BAA0C;AR4yDpD;;AQ1yDQ;;EAEE,0BAAsC;AR6yDhD;;AQ5zDQ;EAAgC,2BAA4B;ARg0DpE;;AQ/zDQ;;EAEE,+BAAoC;ARk0D9C;;AQh0DQ;;EAEE,iCAAwC;ARm0DlD;;AQj0DQ;;EAEE,kCAA0C;ARo0DpD;;AQl0DQ;;EAEE,gCAAsC;ARq0DhD;;AQp1DQ;EAAgC,0BAA4B;ARw1DpE;;AQv1DQ;;EAEE,8BAAoC;AR01D9C;;AQx1DQ;;EAEE,gCAAwC;AR21DlD;;AQz1DQ;;EAEE,iCAA0C;AR41DpD;;AQ11DQ;;EAEE,+BAAsC;AR61DhD;;AQ52DQ;EAAgC,wBAA4B;ARg3DpE;;AQ/2DQ;;EAEE,4BAAoC;ARk3D9C;;AQh3DQ;;EAEE,8BAAwC;ARm3DlD;;AQj3DQ;;EAEE,+BAA0C;ARo3DpD;;AQl3DQ;;EAEE,6BAAsC;ARq3DhD;;AQp4DQ;EAAgC,0BAA4B;ARw4DpE;;AQv4DQ;;EAEE,8BAAoC;AR04D9C;;AQx4DQ;;EAEE,gCAAwC;AR24DlD;;AQz4DQ;;EAEE,iCAA0C;AR44DpD;;AQ14DQ;;EAEE,+BAAsC;AR64DhD;;AQ55DQ;EAAgC,wBAA4B;ARg6DpE;;AQ/5DQ;;EAEE,4BAAoC;ARk6D9C;;AQh6DQ;;EAEE,8BAAwC;ARm6DlD;;AQj6DQ;;EAEE,+BAA0C;ARo6DpD;;AQl6DQ;;EAEE,6BAAsC;ARq6DhD;;AQ75DQ;EAAwB,2BAA2B;ARi6D3D;;AQh6DQ;;EAEE,+BAA+B;ARm6DzC;;AQj6DQ;;EAEE,iCAAiC;ARo6D3C;;AQl6DQ;;EAEE,kCAAkC;ARq6D5C;;AQn6DQ;;EAEE,gCAAgC;ARs6D1C;;AQr7DQ;EAAwB,0BAA2B;ARy7D3D;;AQx7DQ;;EAEE,8BAA+B;AR27DzC;;AQz7DQ;;EAEE,gCAAiC;AR47D3C;;AQ17DQ;;EAEE,iCAAkC;AR67D5C;;AQ37DQ;;EAEE,+BAAgC;AR87D1C;;AQ78DQ;EAAwB,wBAA2B;ARi9D3D;;AQh9DQ;;EAEE,4BAA+B;ARm9DzC;;AQj9DQ;;EAEE,8BAAiC;ARo9D3C;;AQl9DQ;;EAEE,+BAAkC;ARq9D5C;;AQn9DQ;;EAEE,6BAAgC;ARs9D1C;;AQr+DQ;EAAwB,0BAA2B;ARy+D3D;;AQx+DQ;;EAEE,8BAA+B;AR2+DzC;;AQz+DQ;;EAEE,gCAAiC;AR4+D3C;;AQ1+DQ;;EAEE,iCAAkC;AR6+D5C;;AQ3+DQ;;EAEE,+BAAgC;AR8+D1C;;AQ7/DQ;EAAwB,wBAA2B;ARigE3D;;AQhgEQ;;EAEE,4BAA+B;ARmgEzC;;AQjgEQ;;EAEE,8BAAiC;ARogE3C;;AQlgEQ;;EAEE,+BAAkC;ARqgE5C;;AQngEQ;;EAEE,6BAAgC;ARsgE1C;;AQhgEI;EAAmB,uBAAuB;ARogE9C;;AQngEI;;EAEE,2BAA2B;ARsgEjC;;AQpgEI;;EAEE,6BAA6B;ARugEnC;;AQrgEI;;EAEE,8BAA8B;ARwgEpC;;AQtgEI;;EAEE,4BAA4B;ARygElC;;AGlhEI;EKlDI;IAAgC,oBAA4B;ERykElE;EQxkEM;;IAEE,wBAAoC;ER0kE5C;EQxkEM;;IAEE,0BAAwC;ER0kEhD;EQxkEM;;IAEE,2BAA0C;ER0kElD;EQxkEM;;IAEE,yBAAsC;ER0kE9C;EQzlEM;IAAgC,0BAA4B;ER4lElE;EQ3lEM;;IAEE,8BAAoC;ER6lE5C;EQ3lEM;;IAEE,gCAAwC;ER6lEhD;EQ3lEM;;IAEE,iCAA0C;ER6lElD;EQ3lEM;;IAEE,+BAAsC;ER6lE9C;EQ5mEM;IAAgC,yBAA4B;ER+mElE;EQ9mEM;;IAEE,6BAAoC;ERgnE5C;EQ9mEM;;IAEE,+BAAwC;ERgnEhD;EQ9mEM;;IAEE,gCAA0C;ERgnElD;EQ9mEM;;IAEE,8BAAsC;ERgnE9C;EQ/nEM;IAAgC,uBAA4B;ERkoElE;EQjoEM;;IAEE,2BAAoC;ERmoE5C;EQjoEM;;IAEE,6BAAwC;ERmoEhD;EQjoEM;;IAEE,8BAA0C;ERmoElD;EQjoEM;;IAEE,4BAAsC;ERmoE9C;EQlpEM;IAAgC,yBAA4B;ERqpElE;EQppEM;;IAEE,6BAAoC;ERspE5C;EQppEM;;IAEE,+BAAwC;ERspEhD;EQppEM;;IAEE,gCAA0C;ERspElD;EQppEM;;IAEE,8BAAsC;ERspE9C;EQrqEM;IAAgC,uBAA4B;ERwqElE;EQvqEM;;IAEE,2BAAoC;ERyqE5C;EQvqEM;;IAEE,6BAAwC;ERyqEhD;EQvqEM;;IAEE,8BAA0C;ERyqElD;EQvqEM;;IAEE,4BAAsC;ERyqE9C;EQxrEM;IAAgC,qBAA4B;ER2rElE;EQ1rEM;;IAEE,yBAAoC;ER4rE5C;EQ1rEM;;IAEE,2BAAwC;ER4rEhD;EQ1rEM;;IAEE,4BAA0C;ER4rElD;EQ1rEM;;IAEE,0BAAsC;ER4rE9C;EQ3sEM;IAAgC,2BAA4B;ER8sElE;EQ7sEM;;IAEE,+BAAoC;ER+sE5C;EQ7sEM;;IAEE,iCAAwC;ER+sEhD;EQ7sEM;;IAEE,kCAA0C;ER+sElD;EQ7sEM;;IAEE,gCAAsC;ER+sE9C;EQ9tEM;IAAgC,0BAA4B;ERiuElE;EQhuEM;;IAEE,8BAAoC;ERkuE5C;EQhuEM;;IAEE,gCAAwC;ERkuEhD;EQhuEM;;IAEE,iCAA0C;ERkuElD;EQhuEM;;IAEE,+BAAsC;ERkuE9C;EQjvEM;IAAgC,wBAA4B;ERovElE;EQnvEM;;IAEE,4BAAoC;ERqvE5C;EQnvEM;;IAEE,8BAAwC;ERqvEhD;EQnvEM;;IAEE,+BAA0C;ERqvElD;EQnvEM;;IAEE,6BAAsC;ERqvE9C;EQpwEM;IAAgC,0BAA4B;ERuwElE;EQtwEM;;IAEE,8BAAoC;ERwwE5C;EQtwEM;;IAEE,gCAAwC;ERwwEhD;EQtwEM;;IAEE,iCAA0C;ERwwElD;EQtwEM;;IAEE,+BAAsC;ERwwE9C;EQvxEM;IAAgC,wBAA4B;ER0xElE;EQzxEM;;IAEE,4BAAoC;ER2xE5C;EQzxEM;;IAEE,8BAAwC;ER2xEhD;EQzxEM;;IAEE,+BAA0C;ER2xElD;EQzxEM;;IAEE,6BAAsC;ER2xE9C;EQnxEM;IAAwB,2BAA2B;ERsxEzD;EQrxEM;;IAEE,+BAA+B;ERuxEvC;EQrxEM;;IAEE,iCAAiC;ERuxEzC;EQrxEM;;IAEE,kCAAkC;ERuxE1C;EQrxEM;;IAEE,gCAAgC;ERuxExC;EQtyEM;IAAwB,0BAA2B;ERyyEzD;EQxyEM;;IAEE,8BAA+B;ER0yEvC;EQxyEM;;IAEE,gCAAiC;ER0yEzC;EQxyEM;;IAEE,iCAAkC;ER0yE1C;EQxyEM;;IAEE,+BAAgC;ER0yExC;EQzzEM;IAAwB,wBAA2B;ER4zEzD;EQ3zEM;;IAEE,4BAA+B;ER6zEvC;EQ3zEM;;IAEE,8BAAiC;ER6zEzC;EQ3zEM;;IAEE,+BAAkC;ER6zE1C;EQ3zEM;;IAEE,6BAAgC;ER6zExC;EQ50EM;IAAwB,0BAA2B;ER+0EzD;EQ90EM;;IAEE,8BAA+B;ERg1EvC;EQ90EM;;IAEE,gCAAiC;ERg1EzC;EQ90EM;;IAEE,iCAAkC;ERg1E1C;EQ90EM;;IAEE,+BAAgC;ERg1ExC;EQ/1EM;IAAwB,wBAA2B;ERk2EzD;EQj2EM;;IAEE,4BAA+B;ERm2EvC;EQj2EM;;IAEE,8BAAiC;ERm2EzC;EQj2EM;;IAEE,+BAAkC;ERm2E1C;EQj2EM;;IAEE,6BAAgC;ERm2ExC;EQ71EE;IAAmB,uBAAuB;ERg2E5C;EQ/1EE;;IAEE,2BAA2B;ERi2E/B;EQ/1EE;;IAEE,6BAA6B;ERi2EjC;EQ/1EE;;IAEE,8BAA8B;ERi2ElC;EQ/1EE;;IAEE,4BAA4B;ERi2EhC;AACF;;AG32EI;EKlDI;IAAgC,oBAA4B;ERk6ElE;EQj6EM;;IAEE,wBAAoC;ERm6E5C;EQj6EM;;IAEE,0BAAwC;ERm6EhD;EQj6EM;;IAEE,2BAA0C;ERm6ElD;EQj6EM;;IAEE,yBAAsC;ERm6E9C;EQl7EM;IAAgC,0BAA4B;ERq7ElE;EQp7EM;;IAEE,8BAAoC;ERs7E5C;EQp7EM;;IAEE,gCAAwC;ERs7EhD;EQp7EM;;IAEE,iCAA0C;ERs7ElD;EQp7EM;;IAEE,+BAAsC;ERs7E9C;EQr8EM;IAAgC,yBAA4B;ERw8ElE;EQv8EM;;IAEE,6BAAoC;ERy8E5C;EQv8EM;;IAEE,+BAAwC;ERy8EhD;EQv8EM;;IAEE,gCAA0C;ERy8ElD;EQv8EM;;IAEE,8BAAsC;ERy8E9C;EQx9EM;IAAgC,uBAA4B;ER29ElE;EQ19EM;;IAEE,2BAAoC;ER49E5C;EQ19EM;;IAEE,6BAAwC;ER49EhD;EQ19EM;;IAEE,8BAA0C;ER49ElD;EQ19EM;;IAEE,4BAAsC;ER49E9C;EQ3+EM;IAAgC,yBAA4B;ER8+ElE;EQ7+EM;;IAEE,6BAAoC;ER++E5C;EQ7+EM;;IAEE,+BAAwC;ER++EhD;EQ7+EM;;IAEE,gCAA0C;ER++ElD;EQ7+EM;;IAEE,8BAAsC;ER++E9C;EQ9/EM;IAAgC,uBAA4B;ERigFlE;EQhgFM;;IAEE,2BAAoC;ERkgF5C;EQhgFM;;IAEE,6BAAwC;ERkgFhD;EQhgFM;;IAEE,8BAA0C;ERkgFlD;EQhgFM;;IAEE,4BAAsC;ERkgF9C;EQjhFM;IAAgC,qBAA4B;ERohFlE;EQnhFM;;IAEE,yBAAoC;ERqhF5C;EQnhFM;;IAEE,2BAAwC;ERqhFhD;EQnhFM;;IAEE,4BAA0C;ERqhFlD;EQnhFM;;IAEE,0BAAsC;ERqhF9C;EQpiFM;IAAgC,2BAA4B;ERuiFlE;EQtiFM;;IAEE,+BAAoC;ERwiF5C;EQtiFM;;IAEE,iCAAwC;ERwiFhD;EQtiFM;;IAEE,kCAA0C;ERwiFlD;EQtiFM;;IAEE,gCAAsC;ERwiF9C;EQvjFM;IAAgC,0BAA4B;ER0jFlE;EQzjFM;;IAEE,8BAAoC;ER2jF5C;EQzjFM;;IAEE,gCAAwC;ER2jFhD;EQzjFM;;IAEE,iCAA0C;ER2jFlD;EQzjFM;;IAEE,+BAAsC;ER2jF9C;EQ1kFM;IAAgC,wBAA4B;ER6kFlE;EQ5kFM;;IAEE,4BAAoC;ER8kF5C;EQ5kFM;;IAEE,8BAAwC;ER8kFhD;EQ5kFM;;IAEE,+BAA0C;ER8kFlD;EQ5kFM;;IAEE,6BAAsC;ER8kF9C;EQ7lFM;IAAgC,0BAA4B;ERgmFlE;EQ/lFM;;IAEE,8BAAoC;ERimF5C;EQ/lFM;;IAEE,gCAAwC;ERimFhD;EQ/lFM;;IAEE,iCAA0C;ERimFlD;EQ/lFM;;IAEE,+BAAsC;ERimF9C;EQhnFM;IAAgC,wBAA4B;ERmnFlE;EQlnFM;;IAEE,4BAAoC;ERonF5C;EQlnFM;;IAEE,8BAAwC;ERonFhD;EQlnFM;;IAEE,+BAA0C;ERonFlD;EQlnFM;;IAEE,6BAAsC;ERonF9C;EQ5mFM;IAAwB,2BAA2B;ER+mFzD;EQ9mFM;;IAEE,+BAA+B;ERgnFvC;EQ9mFM;;IAEE,iCAAiC;ERgnFzC;EQ9mFM;;IAEE,kCAAkC;ERgnF1C;EQ9mFM;;IAEE,gCAAgC;ERgnFxC;EQ/nFM;IAAwB,0BAA2B;ERkoFzD;EQjoFM;;IAEE,8BAA+B;ERmoFvC;EQjoFM;;IAEE,gCAAiC;ERmoFzC;EQjoFM;;IAEE,iCAAkC;ERmoF1C;EQjoFM;;IAEE,+BAAgC;ERmoFxC;EQlpFM;IAAwB,wBAA2B;ERqpFzD;EQppFM;;IAEE,4BAA+B;ERspFvC;EQppFM;;IAEE,8BAAiC;ERspFzC;EQppFM;;IAEE,+BAAkC;ERspF1C;EQppFM;;IAEE,6BAAgC;ERspFxC;EQrqFM;IAAwB,0BAA2B;ERwqFzD;EQvqFM;;IAEE,8BAA+B;ERyqFvC;EQvqFM;;IAEE,gCAAiC;ERyqFzC;EQvqFM;;IAEE,iCAAkC;ERyqF1C;EQvqFM;;IAEE,+BAAgC;ERyqFxC;EQxrFM;IAAwB,wBAA2B;ER2rFzD;EQ1rFM;;IAEE,4BAA+B;ER4rFvC;EQ1rFM;;IAEE,8BAAiC;ER4rFzC;EQ1rFM;;IAEE,+BAAkC;ER4rF1C;EQ1rFM;;IAEE,6BAAgC;ER4rFxC;EQtrFE;IAAmB,uBAAuB;ERyrF5C;EQxrFE;;IAEE,2BAA2B;ER0rF/B;EQxrFE;;IAEE,6BAA6B;ER0rFjC;EQxrFE;;IAEE,8BAA8B;ER0rFlC;EQxrFE;;IAEE,4BAA4B;ER0rFhC;AACF;;AGpsFI;EKlDI;IAAgC,oBAA4B;ER2vFlE;EQ1vFM;;IAEE,wBAAoC;ER4vF5C;EQ1vFM;;IAEE,0BAAwC;ER4vFhD;EQ1vFM;;IAEE,2BAA0C;ER4vFlD;EQ1vFM;;IAEE,yBAAsC;ER4vF9C;EQ3wFM;IAAgC,0BAA4B;ER8wFlE;EQ7wFM;;IAEE,8BAAoC;ER+wF5C;EQ7wFM;;IAEE,gCAAwC;ER+wFhD;EQ7wFM;;IAEE,iCAA0C;ER+wFlD;EQ7wFM;;IAEE,+BAAsC;ER+wF9C;EQ9xFM;IAAgC,yBAA4B;ERiyFlE;EQhyFM;;IAEE,6BAAoC;ERkyF5C;EQhyFM;;IAEE,+BAAwC;ERkyFhD;EQhyFM;;IAEE,gCAA0C;ERkyFlD;EQhyFM;;IAEE,8BAAsC;ERkyF9C;EQjzFM;IAAgC,uBAA4B;ERozFlE;EQnzFM;;IAEE,2BAAoC;ERqzF5C;EQnzFM;;IAEE,6BAAwC;ERqzFhD;EQnzFM;;IAEE,8BAA0C;ERqzFlD;EQnzFM;;IAEE,4BAAsC;ERqzF9C;EQp0FM;IAAgC,yBAA4B;ERu0FlE;EQt0FM;;IAEE,6BAAoC;ERw0F5C;EQt0FM;;IAEE,+BAAwC;ERw0FhD;EQt0FM;;IAEE,gCAA0C;ERw0FlD;EQt0FM;;IAEE,8BAAsC;ERw0F9C;EQv1FM;IAAgC,uBAA4B;ER01FlE;EQz1FM;;IAEE,2BAAoC;ER21F5C;EQz1FM;;IAEE,6BAAwC;ER21FhD;EQz1FM;;IAEE,8BAA0C;ER21FlD;EQz1FM;;IAEE,4BAAsC;ER21F9C;EQ12FM;IAAgC,qBAA4B;ER62FlE;EQ52FM;;IAEE,yBAAoC;ER82F5C;EQ52FM;;IAEE,2BAAwC;ER82FhD;EQ52FM;;IAEE,4BAA0C;ER82FlD;EQ52FM;;IAEE,0BAAsC;ER82F9C;EQ73FM;IAAgC,2BAA4B;ERg4FlE;EQ/3FM;;IAEE,+BAAoC;ERi4F5C;EQ/3FM;;IAEE,iCAAwC;ERi4FhD;EQ/3FM;;IAEE,kCAA0C;ERi4FlD;EQ/3FM;;IAEE,gCAAsC;ERi4F9C;EQh5FM;IAAgC,0BAA4B;ERm5FlE;EQl5FM;;IAEE,8BAAoC;ERo5F5C;EQl5FM;;IAEE,gCAAwC;ERo5FhD;EQl5FM;;IAEE,iCAA0C;ERo5FlD;EQl5FM;;IAEE,+BAAsC;ERo5F9C;EQn6FM;IAAgC,wBAA4B;ERs6FlE;EQr6FM;;IAEE,4BAAoC;ERu6F5C;EQr6FM;;IAEE,8BAAwC;ERu6FhD;EQr6FM;;IAEE,+BAA0C;ERu6FlD;EQr6FM;;IAEE,6BAAsC;ERu6F9C;EQt7FM;IAAgC,0BAA4B;ERy7FlE;EQx7FM;;IAEE,8BAAoC;ER07F5C;EQx7FM;;IAEE,gCAAwC;ER07FhD;EQx7FM;;IAEE,iCAA0C;ER07FlD;EQx7FM;;IAEE,+BAAsC;ER07F9C;EQz8FM;IAAgC,wBAA4B;ER48FlE;EQ38FM;;IAEE,4BAAoC;ER68F5C;EQ38FM;;IAEE,8BAAwC;ER68FhD;EQ38FM;;IAEE,+BAA0C;ER68FlD;EQ38FM;;IAEE,6BAAsC;ER68F9C;EQr8FM;IAAwB,2BAA2B;ERw8FzD;EQv8FM;;IAEE,+BAA+B;ERy8FvC;EQv8FM;;IAEE,iCAAiC;ERy8FzC;EQv8FM;;IAEE,kCAAkC;ERy8F1C;EQv8FM;;IAEE,gCAAgC;ERy8FxC;EQx9FM;IAAwB,0BAA2B;ER29FzD;EQ19FM;;IAEE,8BAA+B;ER49FvC;EQ19FM;;IAEE,gCAAiC;ER49FzC;EQ19FM;;IAEE,iCAAkC;ER49F1C;EQ19FM;;IAEE,+BAAgC;ER49FxC;EQ3+FM;IAAwB,wBAA2B;ER8+FzD;EQ7+FM;;IAEE,4BAA+B;ER++FvC;EQ7+FM;;IAEE,8BAAiC;ER++FzC;EQ7+FM;;IAEE,+BAAkC;ER++F1C;EQ7+FM;;IAEE,6BAAgC;ER++FxC;EQ9/FM;IAAwB,0BAA2B;ERigGzD;EQhgGM;;IAEE,8BAA+B;ERkgGvC;EQhgGM;;IAEE,gCAAiC;ERkgGzC;EQhgGM;;IAEE,iCAAkC;ERkgG1C;EQhgGM;;IAEE,+BAAgC;ERkgGxC;EQjhGM;IAAwB,wBAA2B;ERohGzD;EQnhGM;;IAEE,4BAA+B;ERqhGvC;EQnhGM;;IAEE,8BAAiC;ERqhGzC;EQnhGM;;IAEE,+BAAkC;ERqhG1C;EQnhGM;;IAEE,6BAAgC;ERqhGxC;EQ/gGE;IAAmB,uBAAuB;ERkhG5C;EQjhGE;;IAEE,2BAA2B;ERmhG/B;EQjhGE;;IAEE,6BAA6B;ERmhGjC;EQjhGE;;IAEE,8BAA8B;ERmhGlC;EQjhGE;;IAEE,4BAA4B;ERmhGhC;AACF;;AG7hGI;EKlDI;IAAgC,oBAA4B;ERolGlE;EQnlGM;;IAEE,wBAAoC;ERqlG5C;EQnlGM;;IAEE,0BAAwC;ERqlGhD;EQnlGM;;IAEE,2BAA0C;ERqlGlD;EQnlGM;;IAEE,yBAAsC;ERqlG9C;EQpmGM;IAAgC,0BAA4B;ERumGlE;EQtmGM;;IAEE,8BAAoC;ERwmG5C;EQtmGM;;IAEE,gCAAwC;ERwmGhD;EQtmGM;;IAEE,iCAA0C;ERwmGlD;EQtmGM;;IAEE,+BAAsC;ERwmG9C;EQvnGM;IAAgC,yBAA4B;ER0nGlE;EQznGM;;IAEE,6BAAoC;ER2nG5C;EQznGM;;IAEE,+BAAwC;ER2nGhD;EQznGM;;IAEE,gCAA0C;ER2nGlD;EQznGM;;IAEE,8BAAsC;ER2nG9C;EQ1oGM;IAAgC,uBAA4B;ER6oGlE;EQ5oGM;;IAEE,2BAAoC;ER8oG5C;EQ5oGM;;IAEE,6BAAwC;ER8oGhD;EQ5oGM;;IAEE,8BAA0C;ER8oGlD;EQ5oGM;;IAEE,4BAAsC;ER8oG9C;EQ7pGM;IAAgC,yBAA4B;ERgqGlE;EQ/pGM;;IAEE,6BAAoC;ERiqG5C;EQ/pGM;;IAEE,+BAAwC;ERiqGhD;EQ/pGM;;IAEE,gCAA0C;ERiqGlD;EQ/pGM;;IAEE,8BAAsC;ERiqG9C;EQhrGM;IAAgC,uBAA4B;ERmrGlE;EQlrGM;;IAEE,2BAAoC;ERorG5C;EQlrGM;;IAEE,6BAAwC;ERorGhD;EQlrGM;;IAEE,8BAA0C;ERorGlD;EQlrGM;;IAEE,4BAAsC;ERorG9C;EQnsGM;IAAgC,qBAA4B;ERssGlE;EQrsGM;;IAEE,yBAAoC;ERusG5C;EQrsGM;;IAEE,2BAAwC;ERusGhD;EQrsGM;;IAEE,4BAA0C;ERusGlD;EQrsGM;;IAEE,0BAAsC;ERusG9C;EQttGM;IAAgC,2BAA4B;ERytGlE;EQxtGM;;IAEE,+BAAoC;ER0tG5C;EQxtGM;;IAEE,iCAAwC;ER0tGhD;EQxtGM;;IAEE,kCAA0C;ER0tGlD;EQxtGM;;IAEE,gCAAsC;ER0tG9C;EQzuGM;IAAgC,0BAA4B;ER4uGlE;EQ3uGM;;IAEE,8BAAoC;ER6uG5C;EQ3uGM;;IAEE,gCAAwC;ER6uGhD;EQ3uGM;;IAEE,iCAA0C;ER6uGlD;EQ3uGM;;IAEE,+BAAsC;ER6uG9C;EQ5vGM;IAAgC,wBAA4B;ER+vGlE;EQ9vGM;;IAEE,4BAAoC;ERgwG5C;EQ9vGM;;IAEE,8BAAwC;ERgwGhD;EQ9vGM;;IAEE,+BAA0C;ERgwGlD;EQ9vGM;;IAEE,6BAAsC;ERgwG9C;EQ/wGM;IAAgC,0BAA4B;ERkxGlE;EQjxGM;;IAEE,8BAAoC;ERmxG5C;EQjxGM;;IAEE,gCAAwC;ERmxGhD;EQjxGM;;IAEE,iCAA0C;ERmxGlD;EQjxGM;;IAEE,+BAAsC;ERmxG9C;EQlyGM;IAAgC,wBAA4B;ERqyGlE;EQpyGM;;IAEE,4BAAoC;ERsyG5C;EQpyGM;;IAEE,8BAAwC;ERsyGhD;EQpyGM;;IAEE,+BAA0C;ERsyGlD;EQpyGM;;IAEE,6BAAsC;ERsyG9C;EQ9xGM;IAAwB,2BAA2B;ERiyGzD;EQhyGM;;IAEE,+BAA+B;ERkyGvC;EQhyGM;;IAEE,iCAAiC;ERkyGzC;EQhyGM;;IAEE,kCAAkC;ERkyG1C;EQhyGM;;IAEE,gCAAgC;ERkyGxC;EQjzGM;IAAwB,0BAA2B;ERozGzD;EQnzGM;;IAEE,8BAA+B;ERqzGvC;EQnzGM;;IAEE,gCAAiC;ERqzGzC;EQnzGM;;IAEE,iCAAkC;ERqzG1C;EQnzGM;;IAEE,+BAAgC;ERqzGxC;EQp0GM;IAAwB,wBAA2B;ERu0GzD;EQt0GM;;IAEE,4BAA+B;ERw0GvC;EQt0GM;;IAEE,8BAAiC;ERw0GzC;EQt0GM;;IAEE,+BAAkC;ERw0G1C;EQt0GM;;IAEE,6BAAgC;ERw0GxC;EQv1GM;IAAwB,0BAA2B;ER01GzD;EQz1GM;;IAEE,8BAA+B;ER21GvC;EQz1GM;;IAEE,gCAAiC;ER21GzC;EQz1GM;;IAEE,iCAAkC;ER21G1C;EQz1GM;;IAEE,+BAAgC;ER21GxC;EQ12GM;IAAwB,wBAA2B;ER62GzD;EQ52GM;;IAEE,4BAA+B;ER82GvC;EQ52GM;;IAEE,8BAAiC;ER82GzC;EQ52GM;;IAEE,+BAAkC;ER82G1C;EQ52GM;;IAEE,6BAAgC;ER82GxC;EQx2GE;IAAmB,uBAAuB;ER22G5C;EQ12GE;;IAEE,2BAA2B;ER42G/B;EQ12GE;;IAEE,6BAA6B;ER42GjC;EQ12GE;;IAEE,8BAA8B;ER42GlC;EQ12GE;;IAEE,4BAA4B;ER42GhC;AACF","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/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/deprecate\";\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.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/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.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\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, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\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.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\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 .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\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 .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\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 .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\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 .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\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 // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain 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@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// 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 @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\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-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\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\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\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$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$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$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// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !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$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$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$grid-row-columns: 6 !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$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\", \"Liberation 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$table-th-font-weight: null !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\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$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\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: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !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$custom-control-cursor: null !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-label-color: null !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: null !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: null !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: url(\"data:image/svg+xml,\") !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: url(\"data:image/svg+xml,\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: null !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: url(\"data:image/svg+xml,\") !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: subtract($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: url(\"data:image/svg+xml,\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) right $custom-select-padding-x center / $custom-select-bg-size no-repeat !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $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: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n\n$form-validation-states: () !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-nav-scroll-max-height: 75vh !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: url(\"data:image/svg+xml,\") !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: url(\"data:image/svg+xml,\") !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-x: 0 !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: subtract($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-200 !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-500 !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$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !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$pagination-border-radius-sm: $border-radius-sm !default;\n$pagination-border-radius-lg: $border-radius-lg !default;\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: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: 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-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !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// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !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-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $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$modal-scale-transform: scale(1.02) !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-font-size: null !default;\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: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !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$user-selects: all, auto, none !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 @if $columns > 0 {\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 }\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\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\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 @if $columns > 0 {\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","// 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/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.min.css b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.min.css new file mode 100644 index 00000000..f0a3258f --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap Grid v4.6.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.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%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.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%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.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%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.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%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.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%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.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/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.min.css.map b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.min.css.map new file mode 100644 index 00000000..12e4889f --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-grid.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/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/deprecate\";\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.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/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.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\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, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\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.row-cols-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\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 .row-cols-sm-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\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 .row-cols-md-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\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 .row-cols-lg-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\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 .row-cols-xl-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\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 // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain 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@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// 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 @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\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-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\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\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\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 @if $columns > 0 {\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 }\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\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\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 @if $columns > 0 {\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","// 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/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-reboot.css b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-reboot.css new file mode 100644 index 00000000..60414967 --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-reboot.css @@ -0,0 +1,325 @@ +/*! + * Bootstrap Reboot v4.6.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * 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", "Liberation 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:not(:focus-visible) { + 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([class]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +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; + -ms-overflow-style: scrollbar; +} + +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; + text-align: -webkit-match-parent; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +[role="button"] { + cursor: pointer; +} + +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; +} + +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/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-reboot.css.map b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/bootstrap-reboot.css.map new file mode 100644 index 00000000..42a71d21 --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/css/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.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/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.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/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\", \"Liberation 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:not(:focus-visible) {\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([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\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 -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\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 text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\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\n[role=\"button\"] {\n cursor: pointer;\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\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 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// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\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// 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([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\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 // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\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\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\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-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\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// Set the cursor for non-`

    ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",customClass:"",sanitize:!0,sanitizeFn:null,whiteList:Qt,popperConfig:null},Zt={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},te=function(){function t(t,e){if("undefined"==typeof It)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=i.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(i.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),i.default.removeData(this.element,this.constructor.DATA_KEY),i.default(this.element).off(this.constructor.EVENT_KEY),i.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&i.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===i.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=i.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){i.default(this.element).trigger(e);var n=l.findShadowRoot(this.element),o=i.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!o)return;var r=this.getTipElement(),a=l.getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&i.default(r).addClass("fade");var s="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,u=this._getAttachment(s);this.addAttachmentClass(u);var f=this._getContainer();i.default(r).data(this.constructor.DATA_KEY,this),i.default.contains(this.element.ownerDocument.documentElement,this.tip)||i.default(r).appendTo(f),i.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new It(this.element,r,this._getPopperConfig(u)),i.default(r).addClass("show"),i.default(r).addClass(this.config.customClass),"ontouchstart"in document.documentElement&&i.default(document.body).children().on("mouseover",null,i.default.noop);var d=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,i.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(i.default(this.tip).hasClass("fade")){var c=l.getTransitionDurationFromElement(this.tip);i.default(this.tip).one(l.TRANSITION_END,d).emulateTransitionEnd(c)}else d()}},e.hide=function(t){var e=this,n=this.getTipElement(),o=i.default.Event(this.constructor.Event.HIDE),r=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),i.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(i.default(this.element).trigger(o),!o.isDefaultPrevented()){if(i.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&i.default(document.body).children().off("mouseover",null,i.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,i.default(this.tip).hasClass("fade")){var a=l.getTransitionDurationFromElement(n);i.default(n).one(l.TRANSITION_END,r).emulateTransitionEnd(a)}else r();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(i.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),i.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Vt(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?i.default(e).parent().is(t)||t.empty().append(e):t.text(i.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return a({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=a({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:l.isElement(this.config.container)?i.default(this.config.container):i.default(document).find(this.config.container)},e._getAttachment=function(t){return $t[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)i.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,o="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;i.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(o,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},i.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=a({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),i.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=i.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==Kt.indexOf(t)&&delete e[t]})),"number"==typeof(t=a({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l.typeCheckConfig(Yt,t,this.constructor.DefaultType),t.sanitize&&(t.template=Vt(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr("class").match(Xt);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(i.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.tooltip"),r="object"==typeof e&&e;if((o||!/dispose|hide/.test(e))&&(o||(o=new t(this,r),n.data("bs.tooltip",o)),"string"==typeof e)){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return Jt}},{key:"NAME",get:function(){return Yt}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Zt}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Gt}}]),t}();i.default.fn[Yt]=te._jQueryInterface,i.default.fn[Yt].Constructor=te,i.default.fn[Yt].noConflict=function(){return i.default.fn[Yt]=zt,te._jQueryInterface};var ee="popover",ne=i.default.fn[ee],ie=new RegExp("(^|\\s)bs-popover\\S+","g"),oe=a({},te.Default,{placement:"right",trigger:"click",content:"",template:''}),re=a({},te.DefaultType,{content:"(string|element|function)"}),ae={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},se=function(t){var e,n;function o(){return t.apply(this,arguments)||this}n=t,(e=o).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=o.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},a.setContent=function(){var t=i.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr("class").match(ie);null!==e&&e.length>0&&t.removeClass(e.join(""))},o._jQueryInterface=function(t){return this.each((function(){var e=i.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),i.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},r(o,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return oe}},{key:"NAME",get:function(){return ee}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return ae}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return re}}]),o}(te);i.default.fn[ee]=se._jQueryInterface,i.default.fn[ee].Constructor=se,i.default.fn[ee].noConflict=function(){return i.default.fn[ee]=ne,se._jQueryInterface};var le="scrollspy",ue=i.default.fn[le],fe={offset:10,method:"auto",target:""},de={offset:"number",method:"string",target:"(string|element)"},ce=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,i.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,o="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,r=l.getSelectorFromElement(t);if(r&&(e=document.querySelector(r)),e){var a=e.getBoundingClientRect();if(a.width||a.height)return[i.default(e)[n]().top+o,r]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){i.default.removeData(this._element,"bs.scrollspy"),i.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=a({},fe,"object"==typeof t&&t?t:{})).target&&l.isElement(t.target)){var e=i.default(t.target).attr("id");e||(e=l.getUID(le),i.default(t.target).attr("id",e)),t.target="#"+e}return l.typeCheckConfig(le,t,de),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active":".active";n=(n=i.default.makeArray(i.default(o).find(a)))[n.length-1]}var s=i.default.Event("hide.bs.tab",{relatedTarget:this._element}),u=i.default.Event("show.bs.tab",{relatedTarget:n});if(n&&i.default(n).trigger(s),i.default(this._element).trigger(u),!u.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(e=document.querySelector(r)),this._activate(this._element,o);var f=function(){var e=i.default.Event("hidden.bs.tab",{relatedTarget:t._element}),o=i.default.Event("shown.bs.tab",{relatedTarget:n});i.default(n).trigger(e),i.default(t._element).trigger(o)};e?this._activate(e,e.parentNode,f):f()}}},e.dispose=function(){i.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var o=this,r=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?i.default(e).children(".active"):i.default(e).find("> li > .active"))[0],a=n&&r&&i.default(r).hasClass("fade"),s=function(){return o._transitionComplete(t,r,n)};if(r&&a){var u=l.getTransitionDurationFromElement(r);i.default(r).removeClass("show").one(l.TRANSITION_END,s).emulateTransitionEnd(u)}else s()},e._transitionComplete=function(t,e,n){if(e){i.default(e).removeClass("active");var o=i.default(e.parentNode).find("> .dropdown-menu .active")[0];o&&i.default(o).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(i.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),l.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&i.default(t.parentNode).hasClass("dropdown-menu")){var r=i.default(t).closest(".dropdown")[0];if(r){var a=[].slice.call(r.querySelectorAll(".dropdown-toggle"));i.default(a).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.tab");if(o||(o=new t(this),n.data("bs.tab",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}}]),t}();i.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),pe._jQueryInterface.call(i.default(this),"show")})),i.default.fn.tab=pe._jQueryInterface,i.default.fn.tab.Constructor=pe,i.default.fn.tab.noConflict=function(){return i.default.fn.tab=he,pe._jQueryInterface};var me=i.default.fn.toast,ge={animation:"boolean",autohide:"boolean",delay:"number"},ve={animation:!0,autohide:!0,delay:500},_e=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=i.default.Event("show.bs.toast");if(i.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),i.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),l.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var o=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,n).emulateTransitionEnd(o)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=i.default.Event("hide.bs.toast");i.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),i.default(this._element).off("click.dismiss.bs.toast"),i.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=a({},ve,i.default(this._element).data(),"object"==typeof t&&t?t:{}),l.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;i.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),i.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.toast");if(o||(o=new t(this,"object"==typeof e&&e),n.data("bs.toast",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e](this)}}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"DefaultType",get:function(){return ge}},{key:"Default",get:function(){return ve}}]),t}();i.default.fn.toast=_e._jQueryInterface,i.default.fn.toast.Constructor=_e,i.default.fn.toast.noConflict=function(){return i.default.fn.toast=me,_e._jQueryInterface},t.Alert=d,t.Button=h,t.Carousel=y,t.Collapse=S,t.Dropdown=Ft,t.Modal=qt,t.Popover=se,t.Scrollspy=ce,t.Tab=pe,t.Toast=_e,t.Tooltip=te,t.Util=l,Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.bundle.min.js.map b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.bundle.min.js.map new file mode 100644 index 00000000..7fcd06e5 --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.bundle.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["transitionEndEmulator","duration","_this","this","called","$","one","Util","TRANSITION_END","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","_","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","fn","jquery","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","JQUERY_NO_CONFLICT","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","Event","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","Button","shouldAvoidTriggerChange","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","focus","hasAttribute","setAttribute","toggleClass","avoidTriggerChange","button","initialButton","inputBtn","tagName","window","buttons","slice","querySelectorAll","i","len","length","add","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_extends","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","e","move","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","elementInterval","parseInt","defaultInterval","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","CLASS_NAME_ACTIVE","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","CLASS_NAME_COLLAPSE","getBoundingClientRect","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","currentTarget","$trigger","selectors","$target","isBrowser","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","side","undefined","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","classCallCheck","instance","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","key","protoProps","staticProps","assign","source","getClientRect","offsets","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","forEach","console","warn","enabled","update","isDestroyed","arrowStyles","attributes","flipped","options","positionFixed","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toCheck","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","setupEventListeners","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","x-placement","applyStyle","onLoad","modifierOptions","Popper","requestAnimationFrame","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","boundary","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","referenceElement","_getPopperConfig","noop","hideEvent","stopPropagation","constructor","_getPlacement","$parentDropdown","_getOffset","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","EVENT_CLICK_DATA_API","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","isModalOverflowing","scrollHeight","modalTransitionDuration","modalBody","ELEMENT_NODE","appendChild","_enforceFocus","shownEvent","transitionComplete","_this5","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this9","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","paddingLeft","paddingRight","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","calculatedMargin","elements","margin","scrollDiv","scrollbarWidth","_this11","uriAttrs","DefaultWhitelist","*","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","_loop","elName","attributeList","whitelistedAttributes","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","container","fallbackPlacement","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","DATA_KEY","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","CLASS_PREFIX","setElementContent","CLASS_NAME_FADE","content","text","empty","append","_handlePopperPlacementChange","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","$tip","tabClass","join","popperData","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","parents","SELECTOR_NAV_LINKS","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","$this","autohide","Toast","_clearTimeout","_close"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (_) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(CLASS_NAME_SHOW)\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, event => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(EVENT_CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n EVENT_CLICK_DATA_API,\n SELECTOR_DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\nconst SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n this.shouldAvoidTriggerChange = false\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(SELECTOR_DATA_TOGGLES)[0]\n\n if (rootElement) {\n const input = this._element.querySelector(SELECTOR_INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n if (!this.shouldAvoidTriggerChange) {\n $(input).trigger('change')\n }\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config, avoidTriggerChange) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $element.data(DATA_KEY, data)\n }\n\n data.shouldAvoidTriggerChange = avoidTriggerChange\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n let button = event.target\n const initialButton = button\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(SELECTOR_INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {\n Button._jQueryInterface.call($(button), 'toggle', initialButton.tagName === 'INPUT')\n }\n }\n })\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n const $element = $(this._element)\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($element.is(':visible') && $element.css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element).on(EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(EVENT_MOUSEENTER, event => this.pause(event))\n .on(EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))\n .on(EVENT_DRAG_START, e => e.preventDefault())\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, event => start(event))\n $(this._element).on(EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n $(this._element).on(EVENT_TOUCHSTART, event => start(event))\n $(this._element).on(EVENT_TOUCHMOVE, event => move(event))\n $(this._element).on(EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) :\n []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))\n const slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))\n $(indicators).removeClass(CLASS_NAME_ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n if (!element) {\n return\n }\n\n const elementInterval = parseInt(element.getAttribute('data-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n const slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(CLASS_NAME_ACTIVE)\n\n $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n $(nextElement).addClass(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst DIMENSION_WIDTH = 'width'\nconst DIMENSION_HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(EVENT_SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSE)\n .addClass(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = $.Event(EVENT_HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(CLASS_NAME_COLLAPSING)\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(CLASS_NAME_COLLAPSE)\n .trigger(EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n const children = [].slice.call(parent.querySelectorAll(selector))\n\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$element.data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
    \n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
    \n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
    \n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
    \n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
    \n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
    \n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
    \n * It will read the variation of the `placement` property.
    \n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
    \n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
    \n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
    \n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
    \n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
    \n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
    \n * These can be overridden using the `options` argument of Popper.js.
    \n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
    \n * By default, it is set to no-op.
    \n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
    \n * By default, it is set to no-op.
    \n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
    \n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Totally disable Popper for Dropdowns in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU)\n }\n }\n\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (!isActive || (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n .filter(item => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(SELECTOR_DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n $(this._element).one(EVENT_MOUSEUP_DISMISS, event => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(EVENT_FOCUSIN)\n\n $(this._element).removeClass(CLASS_NAME_SHOW)\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, event => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n $(document).off(EVENT_FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.isDefaultPrevented()) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n $(this._element).off(Util.TRANSITION_END)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n .emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, event => this.handleUpdate(event))\n } else {\n $(window).off(EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(EVENT_SHOW, showEvent => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(EVENT_HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '
    ' +\n '
    ' +\n '
    ',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_ARROW = '.arrow'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(CLASS_NAME_SHOW)\n $(tip).addClass(this.config.customClass)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(eventIn, this.config.selector, event => this._enter(event))\n .on(eventOut, this.config.selector, event => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '
    ' +\n '
    ' +\n '

    ' +\n '
    '\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent($tip.find(SELECTOR_CONTENT), content)\n\n $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN)\n .find(SELECTOR_DROPDOWN_TOGGLE)\n .addClass(CLASS_NAME_ACTIVE)\n $link.addClass(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE)\n // Set triggered links parents as active\n // With both
    ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",customClass:"",sanitize:!0,sanitizeFn:null,whiteList:Q,popperConfig:null},$={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},J=function(){function t(t,e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=o.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(o.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),o.default.removeData(this.element,this.constructor.DATA_KEY),o.default(this.element).off(this.constructor.EVENT_KEY),o.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&o.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===o.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=o.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){o.default(this.element).trigger(e);var n=d.findShadowRoot(this.element),i=o.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var s=this.getTipElement(),l=d.getUID(this.constructor.NAME);s.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&o.default(s).addClass("fade");var r="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,u=this._getAttachment(r);this.addAttachmentClass(u);var f=this._getContainer();o.default(s).data(this.constructor.DATA_KEY,this),o.default.contains(this.element.ownerDocument.documentElement,this.tip)||o.default(s).appendTo(f),o.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new a.default(this.element,s,this._getPopperConfig(u)),o.default(s).addClass("show"),o.default(s).addClass(this.config.customClass),"ontouchstart"in document.documentElement&&o.default(document.body).children().on("mouseover",null,o.default.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,o.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(o.default(this.tip).hasClass("fade")){var h=d.getTransitionDurationFromElement(this.tip);o.default(this.tip).one(d.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(t){var e=this,n=this.getTipElement(),i=o.default.Event(this.constructor.Event.HIDE),a=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),o.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(o.default(this.element).trigger(i),!i.isDefaultPrevented()){if(o.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,o.default(this.tip).hasClass("fade")){var s=d.getTransitionDurationFromElement(n);o.default(n).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(o.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),o.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=U(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?o.default(e).parent().is(t)||t.empty().append(e):t.text(o.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return r({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:d.isElement(this.config.container)?o.default(this.config.container):o.default(document).find(this.config.container)},e._getAttachment=function(t){return X[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)o.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;o.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},o.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),o.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=o.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==z.indexOf(t)&&delete e[t]})),"number"==typeof(t=r({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),d.typeCheckConfig(M,t,this.constructor.DefaultType),t.sanitize&&(t.template=U(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(V);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(o.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tooltip"),a="object"==typeof e&&e;if((i||!/dispose|hide/.test(e))&&(i||(i=new t(this,a),n.data("bs.tooltip",i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return Y}},{key:"NAME",get:function(){return M}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return $}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return K}}]),t}();o.default.fn[M]=J._jQueryInterface,o.default.fn[M].Constructor=J,o.default.fn[M].noConflict=function(){return o.default.fn[M]=W,J._jQueryInterface};var G="popover",Z=o.default.fn[G],tt=new RegExp("(^|\\s)bs-popover\\S+","g"),et=r({},J.Default,{placement:"right",trigger:"click",content:"",template:''}),nt=r({},J.DefaultType,{content:"(string|element|function)"}),it={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},ot=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=i.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},a.setContent=function(){var t=o.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(tt);null!==e&&e.length>0&&t.removeClass(e.join(""))},i._jQueryInterface=function(t){return this.each((function(){var e=o.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new i(this,n),o.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},l(i,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return et}},{key:"NAME",get:function(){return G}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return it}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return nt}}]),i}(J);o.default.fn[G]=ot._jQueryInterface,o.default.fn[G].Constructor=ot,o.default.fn[G].noConflict=function(){return o.default.fn[G]=Z,ot._jQueryInterface};var at="scrollspy",st=o.default.fn[at],lt={offset:10,method:"auto",target:""},rt={offset:"number",method:"string",target:"(string|element)"},ut=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,o.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,a=d.getSelectorFromElement(t);if(a&&(e=document.querySelector(a)),e){var s=e.getBoundingClientRect();if(s.width||s.height)return[o.default(e)[n]().top+i,a]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){o.default.removeData(this._element,"bs.scrollspy"),o.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=r({},lt,"object"==typeof t&&t?t:{})).target&&d.isElement(t.target)){var e=o.default(t.target).attr("id");e||(e=d.getUID(at),o.default(t.target).attr("id",e)),t.target="#"+e}return d.typeCheckConfig(at,t,rt),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active":".active";n=(n=o.default.makeArray(o.default(i).find(s)))[n.length-1]}var l=o.default.Event("hide.bs.tab",{relatedTarget:this._element}),r=o.default.Event("show.bs.tab",{relatedTarget:n});if(n&&o.default(n).trigger(l),o.default(this._element).trigger(r),!r.isDefaultPrevented()&&!l.isDefaultPrevented()){a&&(e=document.querySelector(a)),this._activate(this._element,i);var u=function(){var e=o.default.Event("hidden.bs.tab",{relatedTarget:t._element}),i=o.default.Event("shown.bs.tab",{relatedTarget:n});o.default(n).trigger(e),o.default(t._element).trigger(i)};e?this._activate(e,e.parentNode,u):u()}}},e.dispose=function(){o.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var i=this,a=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?o.default(e).children(".active"):o.default(e).find("> li > .active"))[0],s=n&&a&&o.default(a).hasClass("fade"),l=function(){return i._transitionComplete(t,a,n)};if(a&&s){var r=d.getTransitionDurationFromElement(a);o.default(a).removeClass("show").one(d.TRANSITION_END,l).emulateTransitionEnd(r)}else l()},e._transitionComplete=function(t,e,n){if(e){o.default(e).removeClass("active");var i=o.default(e.parentNode).find("> .dropdown-menu .active")[0];i&&o.default(i).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(o.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),d.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&o.default(t.parentNode).hasClass("dropdown-menu")){var a=o.default(t).closest(".dropdown")[0];if(a){var s=[].slice.call(a.querySelectorAll(".dropdown-toggle"));o.default(s).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tab");if(i||(i=new t(this),n.data("bs.tab",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.6.0"}}]),t}();o.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ft._jQueryInterface.call(o.default(this),"show")})),o.default.fn.tab=ft._jQueryInterface,o.default.fn.tab.Constructor=ft,o.default.fn.tab.noConflict=function(){return o.default.fn.tab=dt,ft._jQueryInterface};var ct=o.default.fn.toast,ht={animation:"boolean",autohide:"boolean",delay:"number"},gt={animation:!0,autohide:!0,delay:500},mt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=o.default.Event("show.bs.toast");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),o.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),d.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var i=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=o.default.Event("hide.bs.toast");o.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),o.default(this._element).off("click.dismiss.bs.toast"),o.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=r({},gt,o.default(this._element).data(),"object"==typeof t&&t?t:{}),d.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;o.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),o.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.toast");if(i||(i=new t(this,"object"==typeof e&&e),n.data("bs.toast",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](this)}}))},l(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"DefaultType",get:function(){return ht}},{key:"Default",get:function(){return gt}}]),t}();o.default.fn.toast=mt._jQueryInterface,o.default.fn.toast.Constructor=mt,o.default.fn.toast.noConflict=function(){return o.default.fn.toast=ct,mt._jQueryInterface},t.Alert=h,t.Button=m,t.Carousel=w,t.Collapse=D,t.Dropdown=x,t.Modal=q,t.Popover=ot,t.Scrollspy=ut,t.Tab=ft,t.Toast=mt,t.Tooltip=J,t.Util=d,Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.min.js.map b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.min.js.map new file mode 100644 index 00000000..16db0811 --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/twitter-bootstrap/js/bootstrap.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["transitionEndEmulator","duration","_this","this","called","$","one","Util","TRANSITION_END","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","_","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","fn","jquery","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","JQUERY_NO_CONFLICT","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","Event","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","Button","shouldAvoidTriggerChange","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","focus","hasAttribute","setAttribute","toggleClass","avoidTriggerChange","button","initialButton","inputBtn","tagName","window","buttons","slice","querySelectorAll","i","len","length","add","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_extends","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","e","move","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","elementInterval","parseInt","defaultInterval","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","CLASS_NAME_ACTIVE","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","CLASS_NAME_COLLAPSE","getBoundingClientRect","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","currentTarget","$trigger","selectors","$target","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","offset","flip","boundary","reference","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","EVENT_CLICK_DATA_API","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","_this5","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this9","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","paddingLeft","paddingRight","rect","round","left","right","innerWidth","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_this11","uriAttrs","DefaultWhitelist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","keys","_loop","el","elName","nodeName","attributeList","attributes","whitelistedAttributes","concat","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","fallbackPlacement","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","DATA_KEY","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","CLASS_PREFIX","setElementContent","CLASS_NAME_FADE","content","text","empty","append","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","find","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","key","$tip","tabClass","join","popperData","instance","popper","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","parents","SELECTOR_NAV_LINKS","node","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","$this","autohide","Toast","_clearTimeout","_close"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (_) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(CLASS_NAME_SHOW)\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, event => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(EVENT_CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n EVENT_CLICK_DATA_API,\n SELECTOR_DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\nconst SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n this.shouldAvoidTriggerChange = false\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(SELECTOR_DATA_TOGGLES)[0]\n\n if (rootElement) {\n const input = this._element.querySelector(SELECTOR_INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n if (!this.shouldAvoidTriggerChange) {\n $(input).trigger('change')\n }\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config, avoidTriggerChange) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $element.data(DATA_KEY, data)\n }\n\n data.shouldAvoidTriggerChange = avoidTriggerChange\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n let button = event.target\n const initialButton = button\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(SELECTOR_INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {\n Button._jQueryInterface.call($(button), 'toggle', initialButton.tagName === 'INPUT')\n }\n }\n })\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n const $element = $(this._element)\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($element.is(':visible') && $element.css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element).on(EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(EVENT_MOUSEENTER, event => this.pause(event))\n .on(EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))\n .on(EVENT_DRAG_START, e => e.preventDefault())\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, event => start(event))\n $(this._element).on(EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n $(this._element).on(EVENT_TOUCHSTART, event => start(event))\n $(this._element).on(EVENT_TOUCHMOVE, event => move(event))\n $(this._element).on(EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) :\n []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))\n const slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))\n $(indicators).removeClass(CLASS_NAME_ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n if (!element) {\n return\n }\n\n const elementInterval = parseInt(element.getAttribute('data-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n const slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(CLASS_NAME_ACTIVE)\n\n $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n $(nextElement).addClass(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst DIMENSION_WIDTH = 'width'\nconst DIMENSION_HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(EVENT_SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSE)\n .addClass(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = $.Event(EVENT_HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(CLASS_NAME_COLLAPSING)\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(CLASS_NAME_COLLAPSE)\n .trigger(EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n const children = [].slice.call(parent.querySelectorAll(selector))\n\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$element.data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Totally disable Popper for Dropdowns in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU)\n }\n }\n\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (!isActive || (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n .filter(item => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(SELECTOR_DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n $(this._element).one(EVENT_MOUSEUP_DISMISS, event => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(EVENT_FOCUSIN)\n\n $(this._element).removeClass(CLASS_NAME_SHOW)\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, event => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n $(document).off(EVENT_FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.isDefaultPrevented()) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n $(this._element).off(Util.TRANSITION_END)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n .emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, event => this.handleUpdate(event))\n } else {\n $(window).off(EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(EVENT_SHOW, showEvent => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(EVENT_HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '
    ' +\n '
    ' +\n '
    ',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_ARROW = '.arrow'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(CLASS_NAME_SHOW)\n $(tip).addClass(this.config.customClass)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(eventIn, this.config.selector, event => this._enter(event))\n .on(eventOut, this.config.selector, event => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '
    ' +\n '
    ' +\n '

    ' +\n '
    '\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent($tip.find(SELECTOR_CONTENT), content)\n\n $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN)\n .find(SELECTOR_DROPDOWN_TOGGLE)\n .addClass(CLASS_NAME_ACTIVE)\n $link.addClass(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE)\n // Set triggered links parents as active\n // With both
    + + + } + diff --git a/src/WebApp/AspnetRunBasics/Pages/Shared/_Layout.cshtml b/src/WebApp/AspnetRunBasics/Pages/Shared/_Layout.cshtml index c9a386a5..e6f500b5 100644 --- a/src/WebApp/AspnetRunBasics/Pages/Shared/_Layout.cshtml +++ b/src/WebApp/AspnetRunBasics/Pages/Shared/_Layout.cshtml @@ -184,7 +184,7 @@
    - 7 + @{}
    @@ -193,39 +193,19 @@
    -
    + +
    + @await Component.InvokeAsync("RemoveToCartComponets") +
    +
    Spend $58.00 for free shipping
    71%
    -
    +
    diff --git a/src/WebApp/AspnetRunBasics/Pages/ProductDetail.cshtml b/src/WebApp/AspnetRunBasics/Pages/ProductDetail.cshtml index 9e06905f..d26625f8 100644 --- a/src/WebApp/AspnetRunBasics/Pages/ProductDetail.cshtml +++ b/src/WebApp/AspnetRunBasics/Pages/ProductDetail.cshtml @@ -18,97 +18,229 @@
    -
    -
    - - +< class="container"> + +
    +
    +
    +
    +
    +
    +
    +
    + + + Ziamond Ralo Stud Farrings + + +
    +
    + +
    +
    + +
    +
    - -
    -
    -
    -

    @Model.Product.Price $

    -

    @(Model.Product.Price + 120) $

    -
    -
    - -
    -
    - -
    -
    - + +
    + +
    +
    +

    @Model.Product.Name

    +
    +
    + + +
    +
    + + + + + + + + + + +
    +
    +
    +
    + Available: +
    + + In stock + + +
    +
    +

    + Category: + + @Model.Product.Category +

    +
    + @Model.Product.Summary +
    +
    - -
    - +
    + +

    + + Regular price + + @Model.Product.Price + Sale + + + +

    + +
    +
    + +
    + + Quantity: +
    + +
    + + + +
    +
    +
    +
    + +
    + +
    + + +
    +
    +
    + + + + + +
    - - Add To Cart - - - -
    -
      -

    • Fast delivery
    • -

    • Secure payment
    • -

    • +33 1 22 54 65 60
    • -
    -
    - 3 reviews - - - - - - (4/5) - View all reviews +
    + + + +
    +
    +
    -
    - Download DataSheet + + + +
    + +
    +
    + @Model.Product.Description +
    +
    + +
    +
    + +
    +
    +
    -
    - -
    -
    -
    Description
    -
    -

    - @Model.Product.Summary -

    -

    - @Model.Product.Description -

    -
    -
    -
    -
    -
    +@section Scripts +{ + > + +} + diff --git a/src/WebApp/AspnetRunBasics/Pages/ProductDetail.cshtml.cs b/src/WebApp/AspnetRunBasics/Pages/ProductDetail.cshtml.cs index b9cee0df..2bbba4af 100644 --- a/src/WebApp/AspnetRunBasics/Pages/ProductDetail.cshtml.cs +++ b/src/WebApp/AspnetRunBasics/Pages/ProductDetail.cshtml.cs @@ -20,9 +20,6 @@ public ProductDetailModel(ICatalogApi catalogApi, IBasketApi basketApi) public CatalogModel Product { get; set; } - [BindProperty] - public string Color { get; set; } - [BindProperty] public int Quantity { get; set; } @@ -53,8 +50,7 @@ public async Task OnPostAddToCartAsync(string productId) ProductId = productId, ProductName = product.Name, Price = product.Price, - Quantity = Quantity, - Color = Color + Quantity = Quantity }); var basketUpdated = await _basketApi.UpdateBasket(basket); diff --git a/src/WebApp/AspnetRunBasics/Pages/Shared/Components/RemoveToCartComponets/_RemoteToCartPartial.cshtml b/src/WebApp/AspnetRunBasics/Pages/Shared/Components/RemoveToCartComponets/_RemoteToCartPartial.cshtml index a4d880f6..2b14dd5f 100644 --- a/src/WebApp/AspnetRunBasics/Pages/Shared/Components/RemoveToCartComponets/_RemoteToCartPartial.cshtml +++ b/src/WebApp/AspnetRunBasics/Pages/Shared/Components/RemoveToCartComponets/_RemoteToCartPartial.cshtml @@ -12,7 +12,7 @@ @Model.Items[i].ProductName
    @Model.Items[i].Price @Model.Items[i].Quantity - +
    diff --git a/src/WebApp/AspnetRunBasics/Pages/Shared/_Layout.cshtml b/src/WebApp/AspnetRunBasics/Pages/Shared/_Layout.cshtml index e6f500b5..a5519f8e 100644 --- a/src/WebApp/AspnetRunBasics/Pages/Shared/_Layout.cshtml +++ b/src/WebApp/AspnetRunBasics/Pages/Shared/_Layout.cshtml @@ -448,10 +448,29 @@ - + + @**@ + @RenderSection("Scripts", required: false) diff --git a/src/WebApp/AspnetRunBasics/Pages/Shared/_ProductItemPartial.cshtml b/src/WebApp/AspnetRunBasics/Pages/Shared/_ProductItemPartial.cshtml index 63ece66e..640b0e48 100644 --- a/src/WebApp/AspnetRunBasics/Pages/Shared/_ProductItemPartial.cshtml +++ b/src/WebApp/AspnetRunBasics/Pages/Shared/_ProductItemPartial.cshtml @@ -32,7 +32,7 @@
    - diff --git a/src/WebApp/AspnetRunBasics/Startup.cs b/src/WebApp/AspnetRunBasics/Startup.cs index 19d5c1e2..89a30b24 100644 --- a/src/WebApp/AspnetRunBasics/Startup.cs +++ b/src/WebApp/AspnetRunBasics/Startup.cs @@ -74,7 +74,13 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) name: "Admin", areaName: "Admin", pattern: "Admin/{controller=Home}/{action=Index}/{id?}" - ); + ); + + endpoints.MapControllerRoute( + name: "default", + pattern: "{controller=Home}/{action=Index}/{id?}" + ); + endpoints.MapRazorPages(); }); } diff --git a/src/WebApp/AspnetRunBasics/libman.json b/src/WebApp/AspnetRunBasics/libman.json index d6a55dfe..075e9143 100644 --- a/src/WebApp/AspnetRunBasics/libman.json +++ b/src/WebApp/AspnetRunBasics/libman.json @@ -5,6 +5,10 @@ { "library": "twitter-bootstrap@4.6.0", "destination": "wwwroot/twitter-bootstrap/" + }, + { + "library": "jquery@3.5.1", + "destination": "wwwroot/jquery/" } ] } \ No newline at end of file diff --git a/src/WebApp/AspnetRunBasics/wwwroot/jquery/jquery.js b/src/WebApp/AspnetRunBasics/wwwroot/jquery/jquery.js new file mode 100644 index 00000000..50937333 --- /dev/null +++ b/src/WebApp/AspnetRunBasics/wwwroot/jquery/jquery.js @@ -0,0 +1,10872 @@ +/*! + * jQuery JavaScript Library v3.5.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2020-05-04T22:49Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.5.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.5 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2020-03-14 + */ +( function( window ) { +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ( {} ).hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[ i ] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + + // Can't trust NodeList.length + while ( ( target[ j++ ] = els[ i++ ] ) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && + + // Support: IE 8 only + // Exclude object elements + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split( "|" ), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[ i ] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( ( cur = cur.nextSibling ) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return ( name === "input" || name === "button" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert( function( el ) { + el.className = "i"; + return !el.getAttribute( "className" ); + } ); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find[ "TAG" ] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll( "[name=d]" ).length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); + } + + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { + + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + } ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); + } : + function( a, b ) { + if ( b ) { + while ( ( b = b.parentNode ) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( ( cur = cur.parentNode ) ) { + ap.unshift( cur ); + } + cur = b; + while ( ( cur = cur.parentNode ) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[ i ] === bp[ i ] ) { + i++; + } + + return i ? + + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[ i ], bp[ i ] ) : + + // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + /* eslint-disable max-len */ + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + /* eslint-enable max-len */ + + }; + }, + + "CHILD": function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + "not": markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element (issue #299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + "has": markFunction( function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + } ), + + "contains": markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); + }, + + "selected": function( elem ) { + + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos[ "empty" ]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo( function() { + return [ 0 ]; + } ), + + "last": createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + "even": createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "odd": createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rcombinators.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = uniqueCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert( function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + } ); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert( function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + } ); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; + } + } ); +} + +return Sizzle; + +} )( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px"; + tr.style.height = "1px"; + trChild.style.height = "9px"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = parseInt( trStyle.height ) > 3; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( + dataPriv.get( cur, "events" ) || Object.create( null ) + )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script + if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "