Browse Source

project synch

pull/1994/head
MARM\beglin 2 years ago
parent
commit
eabadd61d6
226 changed files with 48545 additions and 66 deletions
  1. +39
    -0
      src/Web/WebUI/Controllers/ProductController.cs
  2. +1
    -1
      src/Web/WebUI/Startup.cs
  3. +30
    -0
      src/Web/WebUI/ViewComponents/Favs.cs
  4. +1426
    -0
      src/Web/WebUI/Views/Product/Index.cshtml
  5. +32
    -0
      src/Web/WebUI/Views/Product/_pagination.cshtml
  6. +64
    -0
      src/Web/WebUI/Views/Product/_product.cshtml
  7. +78
    -9
      src/Web/WebUI/Views/Shared/Components/Cart/Default.cshtml
  8. +16
    -0
      src/Web/WebUI/Views/Shared/Components/Favs/Default.cshtml
  9. +802
    -30
      src/Web/WebUI/Views/Shared/_Layout.cshtml
  10. +138
    -0
      src/Web/WebUI/Views/Shared/_Layout_backup.cshtml
  11. +104
    -26
      src/Web/WebUI/Views/Shared/_LoginPartial.cshtml
  12. +3137
    -0
      src/Web/WebUI/wwwroot/css/animate.css
  13. +57
    -0
      src/Web/WebUI/wwwroot/css/backtotop.css
  14. +11584
    -0
      src/Web/WebUI/wwwroot/css/bootstrap.css
  15. +1
    -0
      src/Web/WebUI/wwwroot/css/default.css
  16. +364
    -0
      src/Web/WebUI/wwwroot/css/flaticon.css
  17. +41
    -0
      src/Web/WebUI/wwwroot/css/flaticon/flaticon.css
  18. +9
    -0
      src/Web/WebUI/wwwroot/css/flaticon/flaticon.css.map
  19. BIN
      src/Web/WebUI/wwwroot/css/flaticon/flaticon.eot
  20. +502
    -0
      src/Web/WebUI/wwwroot/css/flaticon/flaticon.html
  21. +49
    -0
      src/Web/WebUI/wwwroot/css/flaticon/flaticon.scss
  22. +30
    -0
      src/Web/WebUI/wwwroot/css/flaticon/flaticon.svg
  23. BIN
      src/Web/WebUI/wwwroot/css/flaticon/flaticon.ttf
  24. BIN
      src/Web/WebUI/wwwroot/css/flaticon/flaticon.woff
  25. BIN
      src/Web/WebUI/wwwroot/css/flaticon/flaticon.woff2
  26. +5
    -0
      src/Web/WebUI/wwwroot/css/font-awesome-pro.css
  27. +351
    -0
      src/Web/WebUI/wwwroot/css/magnific-popup.css
  28. +156
    -0
      src/Web/WebUI/wwwroot/css/meanmenu.css
  29. +181
    -0
      src/Web/WebUI/wwwroot/css/nice-select.css
  30. +6
    -0
      src/Web/WebUI/wwwroot/css/owl-carousel.css
  31. +39
    -0
      src/Web/WebUI/wwwroot/css/preloader.css
  32. +6894
    -0
      src/Web/WebUI/wwwroot/css/style.css
  33. +1
    -0
      src/Web/WebUI/wwwroot/css/style.css.map
  34. +541
    -0
      src/Web/WebUI/wwwroot/css/swiper-bundle.css
  35. +1311
    -0
      src/Web/WebUI/wwwroot/css/ui-range-slider.css
  36. BIN
      src/Web/WebUI/wwwroot/img/about/ab-01.jpg
  37. BIN
      src/Web/WebUI/wwwroot/img/about/ab-02.jpg
  38. BIN
      src/Web/WebUI/wwwroot/img/about/about-b.png
  39. BIN
      src/Web/WebUI/wwwroot/img/about/c-icon-01.png
  40. BIN
      src/Web/WebUI/wwwroot/img/author/author-sm-1.jpeg
  41. BIN
      src/Web/WebUI/wwwroot/img/banner/404.png
  42. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-1.jpg
  43. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-10.jpg
  44. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-11.jpg
  45. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-12.jpg
  46. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-13.jpg
  47. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-14.jpg
  48. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-15.jpg
  49. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-16.jpg
  50. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-17.jpg
  51. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-18.jpg
  52. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-19.jpg
  53. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-2.jpg
  54. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-3.jpg
  55. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-4.jpg
  56. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-5.jpg
  57. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-6.jpg
  58. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-7.jpg
  59. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-8.jpg
  60. BIN
      src/Web/WebUI/wwwroot/img/banner/banner-9.jpg
  61. BIN
      src/Web/WebUI/wwwroot/img/banner/page-banner-1.jpg
  62. BIN
      src/Web/WebUI/wwwroot/img/banner/page-banner-2.jpg
  63. BIN
      src/Web/WebUI/wwwroot/img/banner/page-banner-3.jpg
  64. BIN
      src/Web/WebUI/wwwroot/img/banner/page-banner-4.jpg
  65. BIN
      src/Web/WebUI/wwwroot/img/banner/sl-banner-sm.png
  66. BIN
      src/Web/WebUI/wwwroot/img/banner/sl-banner.jpg
  67. BIN
      src/Web/WebUI/wwwroot/img/bg/about-bg.png
  68. BIN
      src/Web/WebUI/wwwroot/img/bg/img-4.png
  69. BIN
      src/Web/WebUI/wwwroot/img/bg/img-5.png
  70. BIN
      src/Web/WebUI/wwwroot/img/bg/menu-item.jpg
  71. BIN
      src/Web/WebUI/wwwroot/img/blog/blog-thumb.jpg
  72. BIN
      src/Web/WebUI/wwwroot/img/blog/incen.jpg
  73. BIN
      src/Web/WebUI/wwwroot/img/blog/news-author.jpg
  74. BIN
      src/Web/WebUI/wwwroot/img/blog/p-author-1.jpg
  75. BIN
      src/Web/WebUI/wwwroot/img/blog/p-author-2.jpg
  76. BIN
      src/Web/WebUI/wwwroot/img/blog/p-author-3.jpg
  77. BIN
      src/Web/WebUI/wwwroot/img/blog/sm-b-1.jpg
  78. BIN
      src/Web/WebUI/wwwroot/img/blog/sm-b-2.jpg
  79. BIN
      src/Web/WebUI/wwwroot/img/blog/sm-b-3.jpg
  80. BIN
      src/Web/WebUI/wwwroot/img/blog/sm-b-4.jpg
  81. BIN
      src/Web/WebUI/wwwroot/img/blog/sm-b-5.jpg
  82. BIN
      src/Web/WebUI/wwwroot/img/blog/sm-b-6.jpg
  83. BIN
      src/Web/WebUI/wwwroot/img/blog/sm-b2-1.jpg
  84. BIN
      src/Web/WebUI/wwwroot/img/blog/sm-b2-2.jpg
  85. BIN
      src/Web/WebUI/wwwroot/img/blog/sm-b2-3.jpg
  86. BIN
      src/Web/WebUI/wwwroot/img/blog/sm-b2-4.jpg
  87. BIN
      src/Web/WebUI/wwwroot/img/blog/sm-b2-5.jpg
  88. BIN
      src/Web/WebUI/wwwroot/img/blog/sm-b2-6.jpg
  89. BIN
      src/Web/WebUI/wwwroot/img/blog/sponsor-3.jpg
  90. BIN
      src/Web/WebUI/wwwroot/img/brand/app_android.png
  91. BIN
      src/Web/WebUI/wwwroot/img/brand/app_ios.png
  92. BIN
      src/Web/WebUI/wwwroot/img/brand/brand-1.jpg
  93. BIN
      src/Web/WebUI/wwwroot/img/brand/brand-2.jpg
  94. BIN
      src/Web/WebUI/wwwroot/img/brand/brand-3.jpg
  95. BIN
      src/Web/WebUI/wwwroot/img/brand/brand-4.jpg
  96. BIN
      src/Web/WebUI/wwwroot/img/brand/brand-5.jpg
  97. BIN
      src/Web/WebUI/wwwroot/img/brand/brand-6.jpg
  98. BIN
      src/Web/WebUI/wwwroot/img/cart/20.jpg
  99. BIN
      src/Web/WebUI/wwwroot/img/cart/shop-p-10.jpg
  100. BIN
      src/Web/WebUI/wwwroot/img/cart/shop-p-11.jpg

+ 39
- 0
src/Web/WebUI/Controllers/ProductController.cs View File

@ -0,0 +1,39 @@

namespace WebUI.Controllers
{
public class ProductController : Controller
{
private ICatalogService _catalogSvc;
public ProductController(ICatalogService catalogSvc) =>
_catalogSvc = catalogSvc;
public async Task<IActionResult> Index(int? BrandFilterApplied, int? TypesFilterApplied, int? page, [FromQuery] string errorMsg)
{
var itemsPage = 9;
var catalog = await _catalogSvc.GetCatalogItems(page ?? 0, itemsPage, BrandFilterApplied, TypesFilterApplied);
var vm = new IndexViewModel()
{
CatalogItems = catalog.Data,
Brands = await _catalogSvc.GetBrands(),
Types = await _catalogSvc.GetTypes(),
BrandFilterApplied = BrandFilterApplied ?? 0,
TypesFilterApplied = TypesFilterApplied ?? 0,
PaginationInfo = new PaginationInfo()
{
ActualPage = page ?? 0,
ItemsPerPage = catalog.Data.Count,
TotalItems = catalog.Count,
TotalPages = (int)Math.Ceiling(((decimal)catalog.Count / itemsPage))
}
};
vm.PaginationInfo.Next = (vm.PaginationInfo.ActualPage == vm.PaginationInfo.TotalPages - 1) ? "is-disabled" : "";
vm.PaginationInfo.Previous = (vm.PaginationInfo.ActualPage == 0) ? "is-disabled" : "";
ViewBag.BasketInoperativeMsg = errorMsg;
return View(vm);
}
}
}

+ 1
- 1
src/Web/WebUI/Startup.cs View File

@ -61,7 +61,7 @@ public class Startup
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute("default", "{controller=Catalog}/{action=Index}/{id?}");
endpoints.MapControllerRoute("default", "{controller=Product}/{action=Index}/{id?}");
endpoints.MapControllerRoute("defaultError", "{controller=Error}/{action=Error}");
endpoints.MapControllers();
endpoints.MapHealthChecks("/liveness", new HealthCheckOptions


+ 30
- 0
src/Web/WebUI/ViewComponents/Favs.cs View File

@ -0,0 +1,30 @@
namespace Microsoft.eShopOnContainers.WebUI.ViewComponents;
public class Favs : ViewComponent
{
private readonly IBasketService _cartSvc;
public Favs(IBasketService cartSvc) => _cartSvc = cartSvc;
public async Task<IViewComponentResult> InvokeAsync(ApplicationUser user)
{
var vm = new CartComponentViewModel();
try
{
var itemsInCart = await ItemsInCartAsync(user);
vm.ItemsCount = itemsInCart;
return View(vm);
}
catch
{
ViewBag.IsBasketInoperative = true;
}
return View(vm);
}
private async Task<int> ItemsInCartAsync(ApplicationUser user)
{
var basket = await _cartSvc.GetBasket(user);
return basket.Items.Count;
}
}

+ 1426
- 0
src/Web/WebUI/Views/Product/Index.cshtml
File diff suppressed because it is too large
View File


+ 32
- 0
src/Web/WebUI/Views/Product/_pagination.cshtml View File

@ -0,0 +1,32 @@
@model Microsoft.eShopOnContainers.WebUI.ViewModels.Pagination.PaginationInfo
<div class="esh-pager">
<div class="container">
<article class="esh-pager-wrapper row">
<nav>
<a class="esh-pager-item esh-pager-item--navigable @Model.Previous"
id="Previous"
asp-controller="Catalog"
asp-action="Index"
asp-route-page="@(Model.ActualPage -1)"
aria-label="Previous">
Previous
</a>
<span class="esh-pager-item">
Showing @Model.ItemsPerPage of @Model.TotalItems products - Page @(Model.ActualPage + 1) - @Model.TotalPages
</span>
<a class="esh-pager-item esh-pager-item--navigable @Model.Next"
id="Next"
asp-controller="Catalog"
asp-action="Index"
asp-route-page="@(Model.ActualPage + 1)"
aria-label="Next">
Next
</a>
</nav>
</article>
</div>
</div>

+ 64
- 0
src/Web/WebUI/Views/Product/_product.cshtml View File

@ -0,0 +1,64 @@
@model CatalogItem
<form asp-controller="Cart" asp-action="AddToCart">
@*<img class="esh-catalog-thumbnail" src="@Model.PictureUri" />
<input class="esh-catalog-button @((!User.Identity.IsAuthenticated) ? "is-disabled" : "")" type="submit" value="[ ADD TO CART ]" />
<div class="esh-catalog-name">
<span>@Model.Name</span>
</div>
<div class="esh-catalog-price">
<span>@Model.Price.ToString("N2")</span>
</div>*@
<input type="hidden" asp-for="@Model.Id" name="id" />
<div class="product__item product__item-d">
<div class="product__thumb fix">
<div class="product-image w-img">
<a href="product-details.html">
<img src="@Model.PictureUri" alt="product">
</a>
</div>
<div class="product-action">
<a href="#" class="icon-box icon-box-1" data-bs-toggle="modal" data-bs-target="#productModalId">
<i class="fal fa-eye"></i>
<i class="fal fa-eye"></i>
</a>
<a href="#" class="icon-box icon-box-1">
<i class="fal fa-heart"></i>
<i class="fal fa-heart"></i>
</a>
<a href="#" class="icon-box icon-box-1">
<i class="fal fa-layer-group"></i>
<i class="fal fa-layer-group"></i>
</a>
</div>
</div>
<div class="product__content-3">
<h6><a href="product-details.html">@Model.Name</a></h6>
<div class="rating mb-5">
<ul>
<li><a href="#"><i class="fal fa-star"></i></a></li>
<li><a href="#"><i class="fal fa-star"></i></a></li>
<li><a href="#"><i class="fal fa-star"></i></a></li>
<li><a href="#"><i class="fal fa-star"></i></a></li>
<li><a href="#"><i class="fal fa-star"></i></a></li>
</ul>
<span>@Model.Id review(s)</span>
</div>
<div class="price mb-10">
<span>@Model.Price.ToString("N2")</span>
</div>
</div>
<div class="product__add-cart-s text-center">
<button type="submit" class="cart-btn d-flex mb-10 align-items-center justify-content-center w-100 @((!User.Identity.IsAuthenticated) ? "is-disabled" : "")">
Add to Cart
</button>
<button type="button" class="wc-checkout d-flex align-items-center justify-content-center w-100" data-bs-toggle="modal" data-bs-target="#productModalId">
Quick View
</button>
</div>
</div>
</form>

+ 78
- 9
src/Web/WebUI/Views/Shared/Components/Cart/Default.cshtml View File

@ -4,18 +4,18 @@
ViewData["Title"] = "My Cart";
}
<a class="esh-basketstatus @Model.Disabled"
asp-area=""
asp-controller="Cart"
asp-action="Index">
@*<a class="esh-basketstatus @Model.Disabled"
asp-area=""
asp-controller="Cart"
asp-action="Index">
@if (ViewBag.IsBasketInoperative == true)
{
<div class="esh-basketstatus-image">
<img src="~/images/cart-inoperative.png" />
<img src="~/images/cart-inoperative.png" />
</div>
<div class="esh-basketstatus-badge-inoperative">
X
</div>
X
</div>
}
else
{
@ -25,8 +25,77 @@
<div class="esh-basketstatus-badge">
@Model.ItemsCount
</div>
}
</a>
}
</a>*@
<div class="block-cart action">
<a class="icon-link @Model.Disabled"
asp-area=""
asp-controller="Cart"
asp-action="Index">
<i class="flaticon-shopping-bag"></i>
@if (ViewBag.IsBasketInoperative == true)
{
<div class="esh-basketstatus-image">
<img src="~/images/cart-inoperative.png" />
</div>
<div class="esh-basketstatus-badge-inoperative">
X
</div>
}
else
{
<span class="count">@Model.ItemsCount</span>
<span class="text">
<span class="sub">Your Cart:</span>
0.00
</span>
}
</a>
<div class="cart">
<div class="cart__mini">
<ul>
<li>
<div class="cart__title">
<h4>Your Cart</h4>
<span>(@Model.ItemsCount Item in Cart)</span>
</div>
</li>
<li>
<div class="cart__item d-flex justify-content-between align-items-center">
<div class="cart__inner d-flex">
<div class="cart__thumb">
<a href="product-details.html">
<img src="assets/img/cart/20.jpg" alt="">
</a>
</div>
<div class="cart__details">
<h6><a href="product-details.html"> Samsung C49J89: Ł875, Debenhams Plus </a></h6>
<div class="cart__price">
<span>$255.00</span>
</div>
</div>
</div>
<div class="cart__del">
<a href="#"><i class="fal fa-times"></i></a>
</div>
</div>
</li>
<li>
<div class="cart__sub d-flex justify-content-between align-items-center">
<h6>Subtotal</h6>
<span class="cart__sub-total">$255.00</span>
</div>
</li>
<li>
<a href="cart.html" class="wc-cart mb-10">View cart</a>
<a href="checkout.html" class="wc-checkout">Checkout</a>
</li>
</ul>
</div>
</div>
</div>


+ 16
- 0
src/Web/WebUI/Views/Shared/Components/Favs/Default.cshtml View File

@ -0,0 +1,16 @@
@model Microsoft.eShopOnContainers.WebUI.ViewModels.CartViewModels.CartComponentViewModel
@{
ViewData["Title"] = "My Favorites";
}
<div class="block-wishlist action">
<a class="icon-link" href="wishlist.html">
<i class="flaticon-heart"></i>
<span class="count">0</span>
<span class="text">
<span class="sub">Favorite</span>
My Wishlist </span>
</a>
</div>

+ 802
- 30
src/Web/WebUI/Views/Shared/_Layout.cshtml View File

@ -3,10 +3,28 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - Microsoft.eShopOnContainers.WebMVC</title>
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>@ViewData["Title"] - Lomay Express</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Place favicon.ico in the root directory -->
<link rel="shortcut icon" type="image/x-icon" href="assets/img/favicon.png">
<environment names="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/preloader.css">
<link rel="stylesheet" href="~/css/bootstrap.css">
<link rel="stylesheet" href="~/css/meanmenu.css">
<link rel="stylesheet" href="~/css/animate.css">
<link rel="stylesheet" href="~/css/owl-carousel.css">
<link rel="stylesheet" href="~/css/swiper-bundle.css">
<link rel="stylesheet" href="~/css/backtotop.css">
<link rel="stylesheet" href="~/css/ui-range-slider.css">
<link rel="stylesheet" href="~/css/magnific-popup.css">
<link rel="stylesheet" href="~/css/nice-select.css">
<link rel="stylesheet" href="~/flaticon/flaticon.css">
<link rel="stylesheet" href="~/css/font-awesome-pro.css">
<link rel="stylesheet" href="~/css/default.css">
<link rel="stylesheet" href="~/css/style.css">
<link rel="stylesheet" href="~/css/app.css" />
<link rel="stylesheet" href="~/css/app.component.css" />
<link rel="stylesheet" href="~/css/shared/components/header/header.css" />
@ -29,48 +47,802 @@
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
<link rel="stylesheet" href="~/css/override.css" type="text/css" />
</environment>
</head>
<body>
<header class="esh-app-header">
<div class="container">
<article class="row">
<section class="col-lg-7 col-md-6 col-12">
<!-- preloader start -->
<div id="loading">
<div id="loading-center">
<div id="loading-center-absolute">
<svg viewBox="0 0 58 58" id="mustard" class="product">
<g>
<path style="fill:#ED7161;" d="M39.869,58H18.131C16.954,58,16,57.046,16,55.869V12.621C16,11.726,16.726,11,17.621,11h22.757
C41.274,11,42,11.726,42,12.621v43.248C42,57.046,41.046,58,39.869,58z" />
<polygon style="fill:#D13834;" points="35,11 23,11 27.615,0 30.385,0 " />
<rect x="16" y="16" style="fill:#D75A4A;" width="26" height="2" />
<rect x="20" y="11" style="fill:#D75A4A;" width="2" height="6" />
<rect x="25" y="11" style="fill:#D75A4A;" width="2" height="6" />
<rect x="30" y="11" style="fill:#D75A4A;" width="2" height="6" />
<rect x="36" y="11" style="fill:#D75A4A;" width="2" height="6" />
<circle style="fill:#D13834;" cx="29" cy="36" r="10" />
</g>
</svg>
<svg viewBox="0 0 49.818 49.818" id="meat" class="product">
<g>
<path style="fill:#994530;" d="M0.953,38.891c0,0,3.184,6.921,11.405,9.64c1.827,0.604,3.751,0.751,5.667,0.922
c7.866,0.703,26.714-0.971,31.066-18.976c1.367-5.656,0.76-11.612-1.429-17.003C44.51,5.711,37.447-4.233,22.831,2.427
c-8.328,3.795-7.696,10.279-5.913,14.787c2.157,5.456-2.243,11.081-8.06,10.316C1.669,26.584-1.825,30.904,0.953,38.891z" />
<g>
<path style="fill:#D75A4A;" d="M4.69,37.18c0.402,0.785,3.058,5.552,9.111,7.554c1.335,0.441,2.863,0.577,4.482,0.72l0.282,0.025
c0.818,0.073,1.698,0.11,2.617,0.11c18.18,0,22.854-11.218,24.02-16.041c1.134-4.693,0.706-9.703-1.235-14.488
C41.049,7.874,36.856,4.229,31.506,4.229c-2.21,0-4.683,0.615-7.349,1.83c-2.992,1.364-6.676,3.921-4.13,10.36
c1.284,3.25,0.912,6.746-1.023,9.591c-2.17,3.191-6.002,4.901-9.895,4.39c-0.493-0.065-0.966-0.099-1.404-0.099
c-1.077,0-2.502,0.198-3.173,1.143C3.765,32.524,3.823,34.609,4.69,37.18z" />
<path style="fill:#C64940;" d="M21.184,46.589c-0.948,0-1.858-0.038-2.706-0.114l-0.283-0.025
c-1.674-0.147-3.257-0.287-4.706-0.767c-6.376-2.108-9.188-7.073-9.688-8.047l-0.058-0.137c-0.984-2.917-0.993-5.273-0.026-6.635
c0.912-1.285,2.89-1.807,5.524-1.456c3.537,0.466,6.959-1.054,8.936-3.961c1.746-2.565,2.082-5.723,0.921-8.661
c-3.189-8.065,2.707-10.754,4.645-11.638c9.68-4.407,16.81-1.155,21.152,9.535c2.021,4.981,2.464,10.202,1.28,15.099
C44.953,34.836,40.073,46.589,21.184,46.589z M5.613,36.787c0.401,0.758,2.936,5.155,8.503,6.997
c1.229,0.406,2.699,0.536,4.256,0.673l0.284,0.025c0.788,0.07,1.639,0.106,2.527,0.106c17.469,0,21.938-10.683,23.048-15.276
c1.084-4.487,0.672-9.286-1.19-13.877C40.29,8.663,36.409,5.229,31.506,5.229c-2.067,0-4.4,0.585-6.934,1.74
c-3.02,1.376-5.81,3.532-3.615,9.083c1.408,3.563,0.998,7.398-1.126,10.521c-2.404,3.534-6.563,5.386-10.852,4.818
c-1.793-0.236-3.197,0.019-3.632,0.632C4.912,32.636,4.756,34.207,5.613,36.787z" />
</g>
<g>
<circle style="fill:#E6E6E6;" cx="32.455" cy="12.779" r="4" />
<path style="fill:#7A3726;" d="M32.455,17.779c-2.757,0-5-2.243-5-5s2.243-5,5-5s5,2.243,5,5S35.212,17.779,32.455,17.779z
M32.455,9.779c-1.654,0-3,1.346-3,3s1.346,3,3,3s3-1.346,3-3S34.109,9.779,32.455,9.779z" />
</g>
<path style="fill:#C64940;" d="M25.617,45.684l-1.941-0.479c0.435-1.761-1.063-3.216-3.446-4.859
c-2.875-1.984-4.817-5.117-5.327-8.595c-0.186-1.266-0.425-2.285-0.428-2.295l1.922-0.548c0.01,0.028,1.09,3.104,3.978,4.314
c2.094,0.877,4.667,0.598,7.648-0.832c11.578-5.554,17.102-2.646,17.332-2.52l-0.967,1.752c-0.04-0.021-4.97-2.48-15.5,2.57
c-3.53,1.694-6.662,1.984-9.312,0.863c-0.801-0.339-1.49-0.779-2.078-1.265c0.769,1.974,2.11,3.695,3.867,4.907
C23.149,39.931,26.472,42.222,25.617,45.684z" />
<path style="fill:#C64940;" d="M27.074,27.586c-5.37,0-7.605-3.694-7.633-3.74l1.727-1.01l-0.863,0.505l0.859-0.511
c0.108,0.179,2.714,4.335,9.738,2.105c1.54-0.794,12.038-6.002,15.619-2.289l-1.439,1.389c-1.979-2.052-9.229,0.576-13.332,2.714
l-0.154,0.064C29.892,27.364,28.389,27.586,27.074,27.586z" />
</g>
</svg>
<svg viewBox="0 0 49 49" id="soda" class="product">
<g>
<path style="fill:#E22F37;" d="M9.5,27V5.918c0-1.362,0.829-2.587,2.094-3.093l0,0C12.642,2.406,13.5,1.14,13.5,0.011L13.5,0v0
l11,0l11,0v0v0.011c0,1.129,0.858,2.395,1.906,2.814l0,0c1.265,0.506,2.094,1.73,2.094,3.093V27v-5v21.082
c0,1.362-0.829,2.587-2.094,3.093h0c-1.048,0.419-1.906,1.686-1.906,2.814V49l0,0h-11h-11l0,0l0-0.011
c0-1.129-0.858-2.395-1.906-2.814h0c-1.265-0.506-2.094-1.73-2.094-3.093V22" />
<path style="fill:#F75B57;" d="M18.5,7h-5c-0.553,0-1-0.447-1-1s0.447-1,1-1h5c0.553,0,1,0.447,1,1S19.053,7,18.5,7z" />
<path style="fill:#F75B57;" d="M35.5,7h-13c-0.553,0-1-0.447-1-1s0.447-1,1-1h13c0.553,0,1,0.447,1,1S36.053,7,35.5,7z" />
<path style="fill:#994530;" d="M18.5,45h-5c-0.553,0-1-0.447-1-1s0.447-1,1-1h5c0.553,0,1,0.447,1,1S19.053,45,18.5,45z" />
<path style="fill:#994530;" d="M35.5,45h-13c-0.553,0-1-0.447-1-1s0.447-1,1-1h13c0.553,0,1,0.447,1,1S36.053,45,35.5,45z" />
<polygon style="fill:#E6E6E6;" points="39.5,32 9.5,42 9.5,20 39.5,10 " />
<polygon style="fill:#F9D70B;" points="39.5,28 9.5,38 9.5,24 39.5,14 " />
</g>
</svg>
<div class="cart-container">
<svg viewBox="0 0 512 512" id="cart">
<circle cx="376.8" cy="440" r="55" />
<circle cx="192" cy="440" r="55" />
<polygon points="128,0 0.8,0 0.8,32 104.8,32 136.8,124.8 170.4,124.8 " />
<polygon style="fill:#ED7161;" points="250.4,49.6 224,124.8 411.2,124.8 " />
<polygon style="fill:#ee5a46;" points="411.2,124.8 224,124.8 170.4,124.8 136.8,124.8 68,124.8 141.6,361.6 427.2,361.6
511.2,124.8 " />
<g>
<rect x="166.4" y="185.6" style="fill:#FFFFFF;" width="255.2" height="16" />
<rect x="166.4" y="237.6" style="fill:#FFFFFF;" width="166.4" height="16" />
</g>
</svg>
</div>
</div>
</div>
</div>
<!-- preloader end -->
<!-- back to top start -->
<div class="progress-wrap">
<svg class="progress-circle svg-content" width="100%" height="100%" viewBox="-1 -1 102 102">
<path d="M50,1 a49,49 0 0,1 0,98 a49,49 0 0,1 0,-98" />
</svg>
</div>
<!-- back to top end -->
<!-- header-start -->
<header class="header d-blue-bg">
<div class="header-top">
<div class="container">
<div class="header-inner">
<div class="row align-items-center">
<div class="col-xl-6 col-lg-7">
<div class="header-inner-start">
<div class="header__currency border-right">
<div class="s-name">
<span>Language: </span>
</div>
<select>
<option>English</option>
<option>Deutsch</option>
<option>Français</option>
<option>Espanol</option>
</select>
</div>
<div class="header__lang border-right">
<div class="s-name">
<span>Currency: </span>
</div>
<select>
<option> USD</option>
<option>EUR</option>
<option>INR</option>
<option>BDT</option>
<option>BGD</option>
</select>
</div>
<div class="support d-none d-sm-block">
<p>Need Help? <a href="tel:+001123456789">+001 123 456 789</a></p>
</div>
</div>
</div>
<div class="col-xl-6 col-lg-5 d-none d-lg-block">
<div class="header-inner-end text-md-end">
<div class="ovic-menu-wrapper">
<ul>
<li><a href="about.html">About Us</a></li>
<li><a href="contact.html">Order Tracking</a></li>
<li><a href="contact.html">Contact Us</a></li>
<li><a href="faq.html">FAQs</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="header-mid">
<div class="container">
<div class="heade-mid-inner">
<div class="row align-items-center">
<div class="col-xl-3 col-lg-3 col-md-4 col-sm-4">
<div class="header__info">
<div class="logo">
<a class="navbar-brand" routerLink="catalog">
<a asp-area="" asp-controller="Catalog" asp-action="Index">
<img src="img/logo/logo-white.png" alt="logo">
</a>
</a>
@*<a href="index.html" class="logo-image"><img src="assets/img/logo/logo1.svg" alt="logo"></a>*@
</div>
</div>
</div>
<div class="col-xl-5 col-lg-4 d-none d-lg-block">
<div class="header__search">
<form action="#">
<div class="header__search-box">
<input class="search-input" type="text" placeholder="I'm shopping for...">
<button class="button" type="submit"><i class="far fa-search"></i></button>
</div>
<div class="header__search-cat">
<select>
<option>All Categories</option>
<option>Best Seller Products</option>
<option>Top 10 Offers</option>
<option>New Arrivals</option>
<option>Phones &amp; Tablets</option>
<option>Electronics &amp; Digital</option>
<option>Fashion &amp; Clothings</option>
<option>Jewelry &amp; Watches</option>
<option>Health &amp; Beauty</option>
<option>Sound &amp; Speakers</option>
<option>TV &amp; Audio</option>
<option>Computers</option>
</select>
</div>
</form>
</div>
</div>
<div class="col-xl-4 col-lg-5 col-md-8 col-sm-8">
@await Html.PartialAsync("_LoginPartial")
</div>
</div>
</div>
</div>
</div>
<div class="header__bottom">
<div class="container">
<div class="row g-0 align-items-center">
<div class="col-lg-3">
<div class="cat__menu-wrapper side-border d-none d-lg-block">
<div class="cat-toggle">
<button type="button" class="cat-toggle-btn cat-toggle-btn-1"><i class="fal fa-bars"></i> Shop by department</button>
<div class="cat__menu">
<nav id="mobile-menu" style="display: block;">
<ul>
<li>
<a href="product.html">All Categories <i class="far fa-angle-down"></i></a>
<ul class="mega-menu">
<li>
<a href="product.html">Shop Pages</a>
<ul class="mega-item">
<li><a href="product-details.html">Standard SHop Page</a></li>
<li><a href="product-details.html">Shop Right Sidebar</a></li>
<li><a href="product-details.html">Shop Left Sidebar</a></li>
<li><a href="product-details.html">Shop 3 Column</a></li>
<li><a href="product-details.html">Shop 4 Column</a></li>
</ul>
</li>
<li>
<a href="product.html">Product Pages</a>
<ul class="mega-item">
<li><a href="product-details.html">Product Details</a></li>
<li><a href="product-details.html">Product V2</a></li>
<li><a href="product-details.html">Product V3</a></li>
<li><a href="product-details.html">Varriable Product</a></li>
<li><a href="product-details.html">External Product</a></li>
</ul>
</li>
<li>
<a href="product.html">Other Pages</a>
<ul class="mega-item">
<li><a href="product-details.html">wishlist</a></li>
<li><a href="product-details.html">Shopping Cart</a></li>
<li><a href="product-details.html">Checkout</a></li>
<li><a href="product-details.html">Login</a></li>
<li><a href="product-details.html">Register</a></li>
</ul>
</li>
<li>
<a href="product.html">Phone &amp; Tablets</a>
<ul class="mega-item">
<li><a href="product-details.html">Catagory 1</a></li>
<li><a href="product-details.html">Catagory 2</a></li>
<li><a href="product-details.html">Catagory 3</a></li>
</ul>
</li>
<li>
<a href="product.html">Phone &amp; Tablets</a>
<ul class="mega-item">
<li><a href="product-details.html">Catagory 1</a></li>
<li><a href="product-details.html">Catagory 2</a></li>
<li><a href="product-details.html">Catagory 3</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a href="product.html">Phone and Electronics <i class="far fa-angle-down"></i></a>
<ul class="mega-menu mega-menu-2">
<li>
<a href="product.html">Shop Pages</a>
<ul class="mega-item">
<li><a href="product-details.html">Standard SHop Page</a></li>
<li><a href="product-details.html">Shop Right Sidebar</a></li>
<li><a href="product-details.html">Shop Left Sidebar</a></li>
<li><a href="product-details.html">Shop 3 Column</a></li>
<li><a href="product-details.html">Shop 4 Column</a></li>
</ul>
</li>
<li>
<a href="product.html">Product Pages</a>
<ul class="mega-item">
<li><a href="product-details.html">Product Details</a></li>
<li><a href="product-details.html">Product V2</a></li>
<li><a href="product-details.html">Product V3</a></li>
<li><a href="product-details.html">Varriable Product</a></li>
<li><a href="product-details.html">External Product</a></li>
</ul>
</li>
<li>
<a href="product.html">Other Pages</a>
<ul class="mega-item">
<li><a href="product-details.html">wishlist</a></li>
<li><a href="product-details.html">Shopping Cart</a></li>
<li><a href="product-details.html">Checkout</a></li>
<li><a href="product-details.html">Login</a></li>
<li><a href="product-details.html">Register</a></li>
</ul>
</li>
<li>
<a href="product.html">Phone &amp; Tablets</a>
<ul class="mega-item">
<li><a href="product-details.html">Catagory 1</a></li>
<li><a href="product-details.html">Catagory 2</a></li>
<li><a href="product-details.html">Catagory 3</a></li>
</ul>
</li>
<li>
<a href="product.html">Phone &amp; Tablets</a>
<ul class="mega-item">
<li><a href="product-details.html">Catagory 1</a></li>
<li><a href="product-details.html">Catagory 2</a></li>
<li><a href="product-details.html">Catagory 3</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a href="product.html">
Best Seller Products
<span class="cat-label">hot!</span>
<i class="far fa-angle-down"></i>
</a>
<ul class="mega-menu">
<li>
<a href="product.html">Shop Pages</a>
<ul class="mega-item">
<li><a href="product-details.html">Standard SHop Page</a></li>
<li><a href="product-details.html">Shop Right Sidebar</a></li>
<li><a href="product-details.html">Shop Left Sidebar</a></li>
<li><a href="product-details.html">Shop 3 Column</a></li>
<li><a href="product-details.html">Shop 4 Column</a></li>
</ul>
</li>
<li>
<a href="product.html">Product Pages</a>
<ul class="mega-item">
<li><a href="product-details.html">Product Details</a></li>
<li><a href="product-details.html">Product V2</a></li>
<li><a href="product-details.html">Product V3</a></li>
<li><a href="product-details.html">Varriable Product</a></li>
<li><a href="product-details.html">External Product</a></li>
</ul>
</li>
<li>
<a href="product.html">Other Pages</a>
<ul class="mega-item">
<li><a href="product-details.html">wishlist</a></li>
<li><a href="product-details.html">Shopping Cart</a></li>
<li><a href="product-details.html">Checkout</a></li>
<li><a href="product-details.html">Login</a></li>
<li><a href="product-details.html">Register</a></li>
</ul>
</li>
<li>
<a href="product.html">Phone &amp; Tablets</a>
<ul class="mega-item">
<li><a href="product-details.html">Catagory 1</a></li>
<li><a href="product-details.html">Catagory 2</a></li>
<li><a href="product-details.html">Catagory 3</a></li>
</ul>
</li>
<li>
<a href="product.html">Phone &amp; Tablets</a>
<ul class="mega-item">
<li><a href="product-details.html">Catagory 1</a></li>
<li><a href="product-details.html">Catagory 2</a></li>
<li><a href="product-details.html">Catagory 3</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a href="product.html">
Top 10 Offers
<span class="cat-label green">new!</span>
</a>
</li>
<li>
<a href="product.html">New Arrivals <i class="far fa-angle-down"></i></a>
<ul class="submenu">
<li><a href="product.html">Home Appliances</a></li>
<li>
<a href="product.html">Technology</a>
<ul class="submenu">
<li><a href="product.html">Storage Devices</a></li>
<li><a href="product.html">Monitors</a></li>
<li><a href="product.html">Laptops</a></li>
</ul>
</li>
<li><a href="product.html">Office Equipments</a></li>
</ul>
</li>
<li><a href="product.html">TV &amp; Audio</a></li>
<li><a href="product.html">Electronics &amp; Digital</a></li>
<li class="d-laptop-none"><a href="product.html">Fashion &amp; Clothings</a></li>
<li class="d-laptop-none"><a href="product.html">Jewelry &amp; Watches</a></li>
<li><a href="product.html">Health &amp; Beauty</a></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-6 col-3">
<div class="header__bottom-left d-flex d-xl-block align-items-center">
<div class="side-menu d-lg-none mr-20">
<button type="button" class="side-menu-btn offcanvas-toggle-btn"><i class="fas fa-bars"></i></button>
</div>
<div class="main-menu d-none d-lg-block">
<nav>
<ul>
<li>
<a href="index.html">Home <i class="far fa-angle-down"></i></a>
<ul class="megamenu-1">
<li>
<a href="index.html">Home Pages</a>
<ul class="mega-item">
<li><a href="index.html">Home One</a></li>
<li><a href="index-2.html">Home Two</a></li>
<li><a href="index-3.html">Home Three</a></li>
<li><a href="product-details.html">Shop Right Sidebar</a></li>
<li><a href="product-details.html">Shop Left Sidebar</a></li>
<li><a href="product-details.html">Shop 3 Column</a></li>
<li><a href="product-details.html">Shop 4 Column</a></li>
</ul>
</li>
<li>
<a href="product.html">Product Pages</a>
<ul class="mega-item">
<li><a href="product-details.html">Product Details</a></li>
<li><a href="product-details.html">Product V2</a></li>
<li><a href="product-details.html">Product V3</a></li>
<li><a href="product-details.html">Varriable Product</a></li>
<li><a href="product-details.html">External Product</a></li>
</ul>
</li>
<li>
<a href="product.html">Other Pages</a>
<ul class="mega-item">
<li><a href="product-details.html">wishlist</a></li>
<li><a href="product-details.html">Shopping Cart</a></li>
<li><a href="product-details.html">Checkout</a></li>
<li><a href="product-details.html">Login</a></li>
<li><a href="product-details.html">Register</a></li>
</ul>
</li>
<li>
<a href="product.html">Phone &amp; Tablets</a>
<ul class="mega-item">
<li><a href="product-details.html">Catagory 1</a></li>
<li><a href="product-details.html">Catagory 2</a></li>
<li><a href="product-details.html">Catagory 3</a></li>
<li><a href="product-details.html">Catagory 4</a></li>
</ul>
</li>
<li>
<a href="product.html">Phone &amp; Tablets</a>
<ul class="mega-item">
<li><a href="product-details.html">Catagory 1</a></li>
<li><a href="product-details.html">Catagory 2</a></li>
<li><a href="product-details.html">Catagory 3</a></li>
<li><a href="product-details.html">Catagory 4</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="about.html">About Us</a></li>
<li class="has-mega">
<a href="shop.html" class="active">Shop <i class="far fa-angle-down"></i></a>
<div class="mega-menu">
<div class="container container-mega">
<ul>
<li>
<ul>
<li class="title"><a href="shop.html">SHOP LAYOUT</a></li>
<li><a href="shop.html">Pagination</a></li>
<li><a href="shop.html">Ajax Load More</a></li>
<li><a href="shop.html">Infinite Scroll</a></li>
<li><a href="shop.html">Sidebar Right</a></li>
<li><a href="shop.html">Sidebar Left</a></li>
</ul>
</li>
<li>
<ul>
<li class="title"><a href="shop.html">SHOP PAGES</a></li>
<li><a href="shop.html">List View</a></li>
<li><a href="shop.html">Small Products</a></li>
<li><a href="shop.html">Large Products</a></li>
<li><a href="shop.html">Shop — 3 Items</a></li>
<li><a href="shop.html">Shop — 4 Items</a></li>
<li><a href="shop.html">Shop — 5 Items</a></li>
</ul>
</li>
<li>
<ul>
<li class="title"><a href="shop.html">PRODUCT LAYOUT</a></li>
<li><a href="shop.html">Description Sticky</a></li>
<li><a href="shop.html">Product Carousel</a></li>
<li><a href="shop.html">Gallery Modern</a></li>
<li><a href="shop.html">Thumbnail Left</a></li>
<li><a href="shop.html">Thumbnail Right</a></li>
<li><a href="shop.html">Thumbnail Botttom</a></li>
</ul>
</li>
<li>
<ul>
<li class="title"><a href="shop.html">Basketball</a></li>
<li><a href="shop.html">East Hampton Fleece</a></li>
<li><a href="shop.html">Faxon Canvas Low</a></li>
<li><a href="shop.html">Habitasse Dictumst</a></li>
<li><a href="shop.html">Kaoreet Lobortis</a></li>
<li><a href="shop.html">NikeCourt Zoom</a></li>
<li><a href="shop.html">NikeCourts Air Zoom</a></li>
</ul>
</li>
<li>
<ul>
<li class="title"><a href="shop.html">Basketball</a></li>
<li><a href="shop.html">East Hampton Fleece</a></li>
<li><a href="shop.html">Faxon Canvas Low</a></li>
<li><a href="shop.html">Habitasse Dictumst</a></li>
<li><a href="shop.html">Kaoreet Lobortis</a></li>
<li><a href="shop.html">NikeCourt Zoom</a></li>
<li><a href="shop.html">NikeCourts Air Zoom</a></li>
</ul>
</li>
<li class="mega-image hover-effect" style="background-image: url(assets/img/bg/menu-item.jpg);">
<ul>
<li>
<a href="shop.html">
<h4>Top Cameras <br> Bestseller Products</h4>
<h5>4K</h5>
<h6>Sale Up To <span>60% Off</span></h6>
</a>
</li>
</ul>
</li>
</ul>
</div>
<div class="offer mt-40">
<p><b>30% OFF</b> the shipping of your first order with the code: <b>DUKA-SALE30</b></p>
</div>
</div>
</li>
<li>
<a href="blog.html">Blog <i class="far fa-angle-down"></i></a>
<ul class="submenu">
<li><a href="blog.html">Blog</a></li>
<li><a href="blog-details.html">Blog Details</a></li>
</ul>
</li>
<li>
<a href="about.html">pages <i class="far fa-angle-down"></i></a>
<ul class="submenu">
<li><a href="my-account.html">My Account</a></li>
<li><a href="product-details.html">Product Details</a></li>
<li><a href="faq.html">Faq Pages</a></li>
<li><a href="cart.html">Cart</a></li>
<li><a href="wishlist.html">Wishlist</a></li>
<li><a href="checkout.html">Checkout</a></li>
<li><a href="404.html">404 Error</a></li>
</ul>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6 col-9">
<div class="shopeing-text text-sm-end">
<p>Spend $120 more and get free shipping!</p>
</div>
</div>
</div>
</div>
</div>
</header>
<!-- header-end -->
<!-- offcanvas area start -->
<div class="offcanvas__area">
<div class="offcanvas__wrapper">
<div class="offcanvas__close">
<button class="offcanvas__close-btn" id="offcanvas__close-btn">
<i class="fal fa-times"></i>
</button>
</div>
<div class="offcanvas__content">
<div class="offcanvas__logo mb-40">
<a class="navbar-brand" routerLink="catalog">
<a asp-area="" asp-controller="Catalog" asp-action="Index">
<img src="~/images/brand.png" />
<img src="img/logo/logo-white.png" alt="logo">
</a>
</a>
</section>
@await Html.PartialAsync("_LoginPartial")
</article>
</div>
<div class="offcanvas__search mb-25">
<form action="#">
<input type="text" placeholder="What are you searching for?">
<button type="submit"><i class="far fa-search"></i></button>
</form>
</div>
<div class="mobile-menu fix"></div>
<div class="offcanvas__action">
</div>
</div>
</div>
</header>
</div>
<!-- offcanvas area end -->
<div class="body-overlay"></div>
<!-- offcanvas area end -->
@RenderBody()
<footer class="esh-app-footer">
<div class="container">
<article class="row">
<section class="col-sm-6">
<img class="esh-app-footer-brand" src="~/images/brand_dark.png" />
</section>
<!-- footer-start -->
<footer>
<div class="fotter-area d-dark-bg">
<div class="footer__top pt-80 pb-15">
<div class="container">
<div class="row">
<div class="col-xl-5 col-lg-4 order-last-md">
<div class="row">
<div class="col-xl-6 col-lg-6 col-md-6 col-sm-6 col-6">
<div class="footer__widget">
<div class="footer__widget-title">
<h4>Customer Care</h4>
</div>
<div class="footer__widget-content">
<div class="footer__link">
<ul>
<li><a href="faq.html">New Customers</a></li>
<li><a href="faq.html">How to use Account</a></li>
<li><a href="faq.html">Placing an Order</a></li>
<li><a href="faq.html">Payment Methods</a></li>
<li><a href="faq.html">Delivery &amp; Dispatch</a></li>
<li><a href="faq.html">Problems with Order</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="col-xl-6 col-lg-6 col-md-6 col-sm-6 col-6">
<div class="footer__widget">
<div class="footer__widget-title">
<h4>Customer Service</h4>
</div>
<div class="footer__widget-content">
<div class="footer__link">
<ul>
<li><a href="faq.html">Help Center</a></li>
<li><a href="faq.html">Contact Us</a></li>
<li><a href="faq.html">Report Abuse</a></li>
<li><a href="faq.html">Submit a Dispute</a></li>
<li><a href="faq.html">Policies &amp; Rules</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-7 col-lg-8 order-first-md">
<div class="footer__top-left">
<div class="row">
<section class="col-sm-6">
<img class="esh-app-footer-text hidden-xs" src="~/images/main_footer_text.png" width="335" height="26" alt="footer text image" />
</section>
<div class="col-xl-7 col-lg-6 col-md-6 col-sm-6">
<div class="row">
</article>
<div class="col-xl-6 col-lg-6 col-md-6 col-sm-6">
<div class="footer__widget">
<div class="footer__widget-title">
<h4>My Account</h4>
</div>
<div class="footer__widget-content">
<div class="footer__link">
<ul>
<li><a href="faq.html">Product Support</a></li>
<li><a href="checkout.html">Checkout</a></li>
<li><a href="cart.html">Shopping Cart</a></li>
<li><a href="wishlist.html">Wishlist</a></li>
<li><a href="faq.html">Terms &amp; Conditions &amp;</a></li>
<li><a href="faq.html">Redeem Voucher</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="col-xl-6 col-lg-6 col-md-6 col-sm-6">
<div class="footer__widget">
<div class="footer__widget-title">
<h4>Quick Links</h4>
</div>
<div class="footer__widget-content">
<div class="footer__link">
<ul>
<li><a href="contact.html">Store Location</a></li>
<li><a href="my-account.html">My account</a></li>
<li><a href="contact.html">Order Tracking</a></li>
<li><a href="faq.html">FAQs</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div><div class="col-xl-5 col-lg-6 col-md-6 col-sm-6">
<div class="footer__widget">
<div class="footer__widget-title mb-20">
<h4>About The Store</h4>
</div>
<div class="footer__widget-content">
<p class="footer-text mb-35">Our mission statement is to provide the absolute best customer experience available in the Electronic industry without exception.</p>
<div class="footer__hotline d-flex align-items-center mb-10">
<div class="icon mr-15">
<i class="fal fa-headset"></i>
</div>
<div class="text">
<h4>Got Question? Call us 24/7!</h4>
<span><a href="tel:100-123-456-7890">(+100) 123 456 7890</a></span>
</div>
</div>
<div class="footer__info">
<ul>
<li>
<span>Add: <a target="_blank" href="https://goo.gl/maps/c82DDZ8ALvL878Bv8">Walls Street 68, Mahattan, New York, USA</a></span>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer__bottom">
<div class="container">
<div class="footer__bottom-content pt-55 pb-45">
<div class="row">
<div class="col-xl-12">
<div class="footer__links text-center mb-25">
<p>
<a href="faq.html">Online Shopping</a>
<a href="faq.html">Promotions</a>
<a href="faq.html">My Orders</a>
<a href="faq.html">Help</a>
<a href="faq.html">Customer Service</a>
<a href="faq.html">Support</a>
<a href="faq.html">Most Populars</a>
<a href="faq.html">New Arrivals</a>
<a href="faq.html">Special Products </a>
<a href="faq.html">Manufacturers</a>
<br>
<a href="faq.html">Garden Equipments</a>
<a href="faq.html">Powers And Hand Tools </a>
<a href="faq.html">Utensil &amp; Gadget </a>
<a href="faq.html">Printers</a>
<a href="faq.html">Projectors</a>
<a href="faq.html">Scanners</a>
<a href="faq.html">Store</a>
<a href="faq.html">Business</a>
</p>
</div>
<div class="payment-image text-center mb-25">
<a href="contact.html"><img src="assets/img/payment/payment.png" alt=""></a>
</div>
<div class="copy-right-area text-center">
<p>Copyright © <span>DukaMarket.</span> All Rights Reserved. Powered by <a href="#"><span class="main-color">Theme_Pure.</span></a></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</footer>
<!-- footer-end -->
<environment names="Development">
<script src="~/lib/jquery/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
<script src="~/js/vendor/jquery.js"></script>
<script src="~/js/vendor/waypoints.js"></script>
<script src="~/js/bootstrap-bundle.js"></script>
<script src="~/js/meanmenu.js"></script>
<script src="~/js/swiper-bundle.js"></script>
<script src="~/js/tweenmax.js"></script>
<script src="~/js/owl-carousel.js"></script>
<script src="~/js/magnific-popup.js"></script>
<script src="~/js/parallax.js"></script>
<script src="~/js/backtotop.js"></script>
<script src="~/js/nice-select.js"></script>
<script src="~/js/countdown.min.js"></script>
<script src="~/js/counterup.js"></script>
<script src="~/js/ui-slider-range.js"></script>
<script src="~/js/wow.js"></script>
<script src="~/js/isotope-pkgd.js"></script>
<script src="~/js/imagesloaded-pkgd.js"></script>
<script src="~/js/ajax-form.js"></script>
<script src="~/js/main.js"></script>
</environment>
<environment names="Staging,Production">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"
@ -95,7 +867,7 @@
if ('@User.Identity.IsAuthenticated' === 'True') {
var timerId;
stablishConnection((conn) => registerNotificationHandlers(conn));
stablishConnection((conn) => registerNotificationHandlers(conn));
}
function stablishConnection(cb) {
@ -106,12 +878,12 @@
}
})
.withAutomaticReconnect()
.build();
connection.start().then(function () {
.build();
connection.start().then(function() {
console.log('User Registered to Signalr Hub');
cb(connection);
});
});
}
function registerNotificationHandlers(connection) {
@ -129,7 +901,7 @@
function refreshOrderList() {
clearTimeout(timerId);
timerId = setTimeout(function () {
timerId = setTimeout(function() {
window.location.reload();
}, 1000);
}


+ 138
- 0
src/Web/WebUI/Views/Shared/_Layout_backup.cshtml View File

@ -0,0 +1,138 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - Microsoft.eShopOnContainers.WebMVC</title>
<environment names="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/app.css" />
<link rel="stylesheet" href="~/css/app.component.css" />
<link rel="stylesheet" href="~/css/shared/components/header/header.css" />
<link rel="stylesheet" href="~/css/shared/components/identity/identity.css" />
<link rel="stylesheet" href="~/css/shared/components/pager/pager.css" />
<link rel="stylesheet" href="~/css/basket/basket.component.css" />
<link rel="stylesheet" href="~/css/basket/basket-status/basket-status.component.css" />
<link rel="stylesheet" href="~/css/catalog/catalog.component.css" />
<link rel="stylesheet" href="~/css/orders/orders.component.css" />
<link rel="stylesheet" href="~/css/orders/orders-detail/orders-detail.component.css" />
<link rel="stylesheet" href="~/css/orders/orders-new/orders-new.component.css" />
<link rel="stylesheet" href="~/css/override.css" type="text/css" />
<link rel="stylesheet" href="~/css/site.min.css" type="text/css" />
</environment>
<environment names="Staging,Production">
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
<link rel="stylesheet" href="~/css/override.css" type="text/css" />
</environment>
</head>
<body>
<header class="esh-app-header">
<div class="container">
<article class="row">
<section class="col-lg-7 col-md-6 col-12">
<a class="navbar-brand" routerLink="catalog">
<a asp-area="" asp-controller="Catalog" asp-action="Index">
<img src="~/images/brand.png" />
</a>
</a>
</section>
@await Html.PartialAsync("_LoginPartial")
</article>
</div>
</header>
@RenderBody()
<footer class="esh-app-footer">
<div class="container">
<article class="row">
<section class="col-sm-6">
<img class="esh-app-footer-brand" src="~/images/brand_dark.png" />
</section>
<section class="col-sm-6">
<img class="esh-app-footer-text hidden-xs" src="~/images/main_footer_text.png" width="335" height="26" alt="footer text image" />
</section>
</article>
</div>
</footer>
<environment names="Development">
<script src="~/lib/jquery/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
</environment>
<environment names="Staging,Production">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"
asp-fallback-src="~/lib/jquery/jquery.min.js"
asp-fallback-test="window.jQuery">
</script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal">
</script>
<script src="~/js/site.min.js" asp-append-version="true"></script>
</environment>
@RenderSection("scripts", required: false)
@using Microsoft.AspNetCore.Authentication;
@using Microsoft.Extensions.Options
@inject IOptions<AppSettings> settings
<script type="text/javascript">
if ('@User.Identity.IsAuthenticated' === 'True') {
var timerId;
stablishConnection((conn) => registerNotificationHandlers(conn));
}
function stablishConnection(cb) {
let connection = new signalR.HubConnectionBuilder()
.withUrl('@settings.Value.SignalrHubUrl/hub/notificationhub', {
accessTokenFactory: () => {
return "Authorization", getToken();
}
})
.withAutomaticReconnect()
.build();
connection.start().then(function () {
console.log('User Registered to Signalr Hub');
cb(connection);
});
}
function registerNotificationHandlers(connection) {
connection.on("UpdatedOrderState", (message) => {
toastr.success('Updated to status: ' + message.status, 'Order Id: ' + message.orderId);
if (window.location.pathname.split("/").pop() === 'Order') {
refreshOrderList();
}
});
}
function getToken() {
return '@Context.GetTokenAsync("access_token").Result';
}
function refreshOrderList() {
clearTimeout(timerId);
timerId = setTimeout(function () {
window.location.reload();
}, 1000);
}
</script>
</body>
</html>

+ 104
- 26
src/Web/WebUI/Views/Shared/_LoginPartial.cshtml View File

@ -7,44 +7,122 @@
@*@if (Context.User.Identity.IsAuthenticated)*@
@if (User.FindFirst(x => x.Type == "preferred_username") != null)
{
<section class="col-lg-4 col-md-5 col-xs-12">
<div class="esh-identity">
<form asp-area="" asp-controller="Account" asp-action="SignOut" method="post" id="logoutForm" class="navbar-right">
<section class="esh-identity-section">
<div class="header-action">
<form asp-area="" asp-controller="Account" asp-action="SignOut" method="post" id="logoutForm" class="navbar-right">
<div class="block-userlink">
<div class="block-userlink esh-identity-section">
<a class="icon-link" asp-area="" asp-controller="Account" asp-action="Profile">
<i class="flaticon-user"></i>
<span class="text">
<span class="sub esh-identity-name">@User.FindFirst(x => x.Type == "preferred_username").Value </span>
<div class="esh-identity-name">@User.FindFirst(x => x.Type == "preferred_username").Value</div>
<img class="esh-identity-image" src="~/images/arrow-down.png">
</section>
<a class="icon-link"
asp-controller="Order"
asp-action="Index">
<section class="esh-identity-drop">
<div class="esh-identity-name esh-identity-name--upper">My orders</div>
<img class="esh-identity-image" src="~/images/my_orders.png">
</a>
<a class="esh-identity-item"
asp-controller="Order"
asp-action="Index">
<a class="icon-link"
href="javascript:document.getElementById('logoutForm').submit()">
<div class="esh-identity-name esh-identity-name--upper">My orders</div>
<img class="esh-identity-image" src="~/images/my_orders.png">
<div class="esh-identity-name esh-identity-name--upper">Log Out</div>
<img class="esh-identity-image" src="~/images/logout.png">
</a>
</span>
</a>
<a class="esh-identity-item"
href="javascript:document.getElementById('logoutForm').submit()">
<div class="esh-identity-name esh-identity-name--upper">Log Out</div>
<img class="esh-identity-image" src="~/images/logout.png">
</a>
</section>
</form>
</div>
</section>
<section class="col-lg-1 col-xs-12">
</div>
</div>
</form>
@await Component.InvokeAsync("Favs", new { user = UserManager.Parse(User) })
@await Component.InvokeAsync("Cart", new { user = UserManager.Parse(User) })
</section>
</div>
}
else
{
<section class="col-lg-4 col-md-5 col-xs-12">
<div class="header-action">
<div class="block-userlink">
<a class="icon-link" asp-area="" asp-controller="Account" asp-action="SignIn" class="esh-identity-name esh-identity-name--upper">
<i class="flaticon-user"></i>
<span class="text">
<span class="sub">Login </span>
</span>
</a>
</div>
<div class="block-wishlist action">
<a class="icon-link" href="wishlist.html">
<i class="flaticon-heart"></i>
<span class="count">0</span>
<span class="text">
<span class="sub">Favorite</span>
My Wishlist
</span>
</a>
</div>
<div class="block-cart action">
<a class="icon-link" href="cart.html">
<i class="flaticon-shopping-bag"></i>
<span class="count">1</span>
<span class="text">
<span class="sub">Your Cart:</span>
0.00
</span>
</a>
<div class="cart">
<div class="cart__mini">
<ul>
<li>
<div class="cart__title">
<h4>Your Cart</h4>
<span>(1 Item in Cart)</span>
</div>
</li>
<li>
<div class="cart__item d-flex justify-content-between align-items-center">
<div class="cart__inner d-flex">
<div class="cart__thumb">
<a href="product-details.html">
<img src="assets/img/cart/20.jpg" alt="">
</a>
</div>
<div class="cart__details">
<h6><a href="product-details.html"> Samsung C49J89: £875, Debenhams Plus </a></h6>
<div class="cart__price">
<span>$255.00</span>
</div>
</div>
</div>
<div class="cart__del">
<a href="#"><i class="fal fa-times"></i></a>
</div>
</div>
</li>
<li>
<div class="cart__sub d-flex justify-content-between align-items-center">
<h6>Subtotal</h6>
<span class="cart__sub-total">$255.00</span>
</div>
</li>
<li>
<a href="cart.html" class="wc-cart mb-10">View cart</a>
<a href="checkout.html" class="wc-checkout">Checkout</a>
</li>
</ul>
</div>
</div>
</div>
</div>
@*<section class="col-lg-4 col-md-5 col-xs-12">
<div class="esh-identity">
<section class="esh-identity-section">
<div class="esh-identity-item">
@ -59,5 +137,5 @@ else
<section class="col-lg-1 col-xs-12">
</section>
</section>*@
}

+ 3137
- 0
src/Web/WebUI/wwwroot/css/animate.css
File diff suppressed because it is too large
View File


+ 57
- 0
src/Web/WebUI/wwwroot/css/backtotop.css View File

@ -0,0 +1,57 @@
.progress-wrap {
position: fixed;
right: 50px;
bottom: 50px;
height: 46px;
width: 46px;
cursor: pointer;
display: block;
border-radius: 50px;
box-shadow: inset 0 0 0 2px rgba(95, 58, 252,0.2);
z-index: 99;
opacity: 0;
visibility: hidden;
transform: translateY(15px);
-webkit-transition: all 200ms linear;
transition: all 200ms linear;
}
.progress-wrap.active-progress {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.progress-wrap::after {
position: absolute;
content: '\f176';
font-family: "Font Awesome 5 Pro";
text-align: center;
line-height: 46px;
font-size: 20px;
color: #2c3941;
left: 0;
top: 0;
height: 46px;
width: 46px;
cursor: pointer;
display: block;
z-index: 1;
-webkit-transition: all 200ms linear;
transition: all 200ms linear;
}
.progress-wrap svg path {
fill: none;
}
.progress-wrap svg.progress-circle path {
stroke: #2c3941;
stroke-width: 4;
box-sizing:border-box;
-webkit-transition: all 200ms linear;
transition: all 200ms linear;
}

+ 11584
- 0
src/Web/WebUI/wwwroot/css/bootstrap.css
File diff suppressed because it is too large
View File


+ 1
- 0
src/Web/WebUI/wwwroot/css/default.css
File diff suppressed because it is too large
View File


+ 364
- 0
src/Web/WebUI/wwwroot/css/flaticon.css View File

@ -0,0 +1,364 @@
@font-face {
font-family: "flaticon";
src: url("../fonts/flaticon.ttf?cac2b5da11e51f90b9907eb436fb24aa") format("truetype"),
url("../fonts/flaticon.woff?cac2b5da11e51f90b9907eb436fb24aa") format("woff"),
url("../fonts/flaticon.woff2?cac2b5da11e51f90b9907eb436fb24aa") format("woff2"),
url("../fonts/flaticon.eot?cac2b5da11e51f90b9907eb436fb24aa#iefix") format("embedded-opentype"),
url("../fonts/") format("svg");
}
i[class^="flaticon-"]:before, i[class*=" flaticon-"]:before {
font-family: flaticon !important;
font-style: normal;
font-weight: normal !important;
font-variant: normal;
text-transform: none;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.flaticon-search:before {
content: "\f101";
}
.flaticon-phone-call:before {
content: "\f102";
}
.flaticon-menu:before {
content: "\f103";
}
.flaticon-idea:before {
content: "\f104";
}
.flaticon-puzzle:before {
content: "\f105";
}
.flaticon-web-development:before {
content: "\f106";
}
.flaticon-vector:before {
content: "\f107";
}
.flaticon-interact:before {
content: "\f108";
}
.flaticon-play:before {
content: "\f109";
}
.flaticon-mobile-marketing:before {
content: "\f10a";
}
.flaticon-design:before {
content: "\f10b";
}
.flaticon-click:before {
content: "\f10c";
}
.flaticon-click-1:before {
content: "\f10d";
}
.flaticon-content:before {
content: "\f10e";
}
.flaticon-quote:before {
content: "\f10f";
}
.flaticon-facebook:before {
content: "\f110";
}
.flaticon-twitter:before {
content: "\f111";
}
.flaticon-instagram:before {
content: "\f112";
}
.flaticon-linkedin:before {
content: "\f113";
}
.flaticon-skype:before {
content: "\f114";
}
.flaticon-folder:before {
content: "\f115";
}
.flaticon-growth:before {
content: "\f116";
}
.flaticon-businessman:before {
content: "\f117";
}
.flaticon-layers:before {
content: "\f118";
}
.flaticon-actor:before {
content: "\f119";
}
.flaticon-best-product:before {
content: "\f11a";
}
.flaticon-trophy:before {
content: "\f11b";
}
.flaticon-paper-plane:before {
content: "\f11c";
}
.flaticon-email:before {
content: "\f11d";
}
.flaticon-telephone:before {
content: "\f11e";
}
.flaticon-mail-inbox-app:before {
content: "\f11f";
}
.flaticon-maps-and-flags:before {
content: "\f120";
}
.flaticon-idea-1:before {
content: "\f121";
}
.flaticon-credibility:before {
content: "\f122";
}
.flaticon-play-button:before {
content: "\f123";
}
.flaticon-financial-report:before {
content: "\f124";
}
.flaticon-bank:before {
content: "\f125";
}
.flaticon-ngo:before {
content: "\f126";
}
.flaticon-solidarity:before {
content: "\f127";
}
.flaticon-loan:before {
content: "\f128";
}
.flaticon-medical-care:before {
content: "\f129";
}
.flaticon-phone:before {
content: "\f12a";
}
.flaticon-call-center:before {
content: "\f12b";
}
.flaticon-awards:before {
content: "\f12c";
}
.flaticon-home:before {
content: "\f12d";
}
.flaticon-construction:before {
content: "\f12e";
}
.flaticon-building:before {
content: "\f12f";
}
.flaticon-list:before {
content: "\f130";
}
.flaticon-newspaper:before {
content: "\f131";
}
.flaticon-old-phone:before {
content: "\f132";
}
.flaticon-plan:before {
content: "\f133";
}
.flaticon-construction-1:before {
content: "\f134";
}
.flaticon-repair:before {
content: "\f135";
}
.flaticon-pencil:before {
content: "\f136";
}
.flaticon-compass:before {
content: "\f137";
}
.flaticon-solar-energy:before {
content: "\f138";
}
.flaticon-wrench:before {
content: "\f139";
}
.flaticon-eye:before {
content: "\f13a";
}
.flaticon-straight-quotes:before {
content: "\f13b";
}
.flaticon-translate:before {
content: "\f13c";
}
.flaticon-online-booking:before {
content: "\f13d";
}
.flaticon-calendar:before {
content: "\f13e";
}
.flaticon-restaurant:before {
content: "\f13f";
}
.flaticon-lotus:before {
content: "\f140";
}
.flaticon-casino-roulette:before {
content: "\f141";
}
.flaticon-meeting-room:before {
content: "\f142";
}
.flaticon-swimming:before {
content: "\f143";
}
.flaticon-left-quote:before {
content: "\f144";
}
.flaticon-play-button-1:before {
content: "\f145";
}
.flaticon-filter:before {
content: "\f146";
}
.flaticon-clock:before {
content: "\f147";
}
.flaticon-bungalow:before {
content: "\f148";
}
.flaticon-plane-tickets:before {
content: "\f149";
}
.flaticon-food-donation:before {
content: "\f14a";
}
.flaticon-medical-kit:before {
content: "\f14b";
}
.flaticon-destination:before {
content: "\f14c";
}
.flaticon-verified:before {
content: "\f14d";
}
.flaticon-low-price:before {
content: "\f14e";
}
.flaticon-customer-support:before {
content: "\f14f";
}
.flaticon-implementation:before {
content: "\f150";
}
.flaticon-implement:before {
content: "\f151";
}
.flaticon-tap:before {
content: "\f152";
}
.flaticon-layers-1:before {
content: "\f153";
}
.flaticon-shopping-cart:before {
content: "\f154";
}
.flaticon-email-1:before {
content: "\f155";
}
.flaticon-user:before {
content: "\f156";
}
.flaticon-list-interface-symbol:before {
content: "\f157";
}
.flaticon-online-course:before {
content: "\f158";
}
.flaticon-teacher:before {
content: "\f159";
}
.flaticon-responsive:before {
content: "\f15a";
}
.flaticon-view:before {
content: "\f15b";
}
.flaticon-online-course-1:before {
content: "\f15c";
}
.flaticon-video-tutorial:before {
content: "\f15d";
}
.flaticon-high-five:before {
content: "\f15e";
}
.flaticon-teacher-1:before {
content: "\f15f";
}
.flaticon-signal-status:before {
content: "\f160";
}
.flaticon-business:before {
content: "\f161";
}
.flaticon-lifestyle:before {
content: "\f162";
}
.flaticon-photography:before {
content: "\f163";
}
.flaticon-cms:before {
content: "\f164";
}
.flaticon-improvement:before {
content: "\f165";
}
.flaticon-gym-machine:before {
content: "\f166";
}
.flaticon-cloud-computing:before {
content: "\f167";
}
.flaticon-side-up:before {
content: "\f168";
}
.flaticon-domain:before {
content: "\f169";
}
.flaticon-call-center-1:before {
content: "\f16a";
}
.flaticon-cloud-backup-up-arrow:before {
content: "\f16b";
}
.flaticon-rocket-1:before {
content: "\f16c";
}
.flaticon-planning:before {
content: "\f16d";
}
.flaticon-start-up:before {
content: "\f16e";
}
.flaticon-branding:before {
content: "\f16f";
}
.flaticon-vector-1:before {
content: "\f170";
}
.flaticon-web-development-1:before {
content: "\f171";
}
.flaticon-bullhorn:before {
content: "\f172";
}
.flaticon-writing:before {
content: "\f173";
}

+ 41
- 0
src/Web/WebUI/wwwroot/css/flaticon/flaticon.css View File

@ -0,0 +1,41 @@
@charset "UTF-8";
@font-face {
font-family: "flaticon";
src: url("./flaticon.ttf?845a83d3775f78f799f148d44e25858f") format("truetype"), url("./flaticon.woff?845a83d3775f78f799f148d44e25858f") format("woff"), url("./flaticon.woff2?845a83d3775f78f799f148d44e25858f") format("woff2"), url("./flaticon.eot?845a83d3775f78f799f148d44e25858f#iefix") format("embedded-opentype"), url("./flaticon.svg?845a83d3775f78f799f148d44e25858f#flaticon") format("svg");
}
i[class^="flaticon-"]:before, i[class*=" flaticon-"]:before {
font-family: flaticon !important;
font-style: normal;
font-weight: normal !important;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.flaticon-user:before {
content: "";
}
.flaticon-heart:before {
content: "";
}
.flaticon-shopping-bag:before {
content: "";
}
.flaticon-apple-black-logo:before {
content: "";
}
.flaticon-playstore:before {
content: "";
}
.flaticon-24-hours-support:before {
content: "";
}
/*# sourceMappingURL=flaticon.css.map */

+ 9
- 0
src/Web/WebUI/wwwroot/css/flaticon/flaticon.css.map View File

@ -0,0 +1,9 @@
{
"version": 3,
"mappings": ";AAEA,UAAU;EACN,WAAW,EAHC,UAAU;EAItB,GAAG,EAAE,sDAAsD,CAAC,kBAAkB,EAClF,uDAAuD,CAAC,cAAc,EACtE,wDAAwD,CAAC,eAAe,EACxE,4DAA4D,CAAC,2BAA2B,EACxF,+DAA+D,CAAC,aAAa;;;AAG7E,AAAA,CAAC,CAAA,AAAA,KAAC,EAAO,WAAW,AAAlB,CAAmB,OAAO,EAAE,CAAC,CAAA,AAAA,KAAC,EAAO,YAAY,AAAnB,CAAoB,OAAO,CAAC;EACxD,WAAW,EAAE,mBAAmB;EAChC,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,iBAAiB;EAC9B,YAAY,EAAE,MAAM;EACpB,cAAc,EAAE,IAAI;EACpB,WAAW,EAAE,CAAC;EACd,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;CACrC;;AAWD,AAAA,cAAc,AAAA,OAAO,CAAC;EAClB,OAAO,EATC,IAAO;CAUlB;;AACD,AAAA,eAAe,AAAA,OAAO,CAAC;EACnB,OAAO,EAXE,IAAO;CAYnB;;AACD,AAAA,sBAAsB,AAAA,OAAO,CAAC;EAC1B,OAAO,EAbS,IAAO;CAc1B;;AACD,AAAA,0BAA0B,AAAA,OAAO,CAAC;EAC9B,OAAO,EAfa,IAAO;CAgB9B;;AACD,AAAA,mBAAmB,AAAA,OAAO,CAAC;EACvB,OAAO,EAjBM,IAAO;CAkBvB;;AACD,AAAA,0BAA0B,AAAA,OAAO,CAAC;EAC9B,OAAO,EAnBa,IAAO;CAoB9B",
"sources": [
"flaticon.scss"
],
"names": [],
"file": "flaticon.css"
}

BIN
src/Web/WebUI/wwwroot/css/flaticon/flaticon.eot View File


+ 502
- 0
src/Web/WebUI/wwwroot/css/flaticon/flaticon.html View File

@ -0,0 +1,502 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Flaticon Webfont</title>
<link rel="stylesheet" type="text/css" href="flaticon.css"/>
<meta charset="UTF-8">
<style>
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
body {
font-family: Helvetica, Arial, sans-serif;
font-size: 16px;
color: #5f7d95;
}
a {
color: #4AD295;
font-weight: bold;
text-decoration: none;
}
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0;
}
[class^="flaticon-"]:before, [class*=" flaticon-"]:before, [class^="flaticon-"]:after, [class*=" flaticon-"]:after {
font-family: Flaticon;
font-size: 30px;
font-style: normal;
margin-left: 20px;
color: #333;
}
.wrapper {
max-width: 600px;
margin: auto;
padding: 0 1em;
}
.title {
margin-bottom: 24px;
text-transform: uppercase;
font-weight: bold;
}
header {
text-align: center;
padding: 24px;
}
header .logo {
width: 210px;
height: auto;
border: none;
display: inline-block;
}
header strong {
font-size: 28px;
font-weight: 500;
vertical-align: middle;
}
.demo {
margin: 2em auto;
line-height: 1.25em;
}
.demo ul li {
margin-bottom: 12px;
}
.demo ul li code {
background-color: #1D262D;
border-radius: 3px;
padding: 12px;
display: inline-block;
color: #fff;
font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;
font-weight: lighter;
margin-top: 12px;
font-size: 13px;
word-break: break-all;
}
.demo ul li code .red {
color: #EC3A3B;
}
.demo ul li code .green {
color: #4AD295;
}
.demo ul li code .yellow {
color: #FFEEB6;
}
.demo ul li code .blue {
color: #2C8CF4;
}
.demo ul li code .purple {
color: #4949E7;
}
.demo ul li code .dots {
margin-top: 0.5em;
display: block;
}
#glyphs {
border-bottom: 1px solid #E3E9ED;
padding: 2em 0;
text-align: center;
}
.glyph {
display: inline-block;
width: 9em;
margin: 1em;
text-align: center;
vertical-align: top;
background: #FFF;
}
.glyph .flaticon {
padding: 10px;
display: block;
font-family: "Flaticon";
font-size: 64px;
line-height: 1;
}
.glyph .flaticon:before {
font-size: 64px;
color: #5f7d95;
margin-left: 0;
}
.class-name {
font-size: 0.65em;
background-color: #E3E9ED;
color: #869FB2;
border-radius: 4px 4px 0 0;
padding: 0.5em;
font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;
}
.author-name {
font-size: 0.6em;
background-color: #EFF3F6;
border-top: 0;
border-radius: 0 0 4px 4px;
padding: 0.5em;
}
.author-name a {
color: #1D262D;
}
.class-name:last-child {
font-size: 10px;
color: #888;
}
.class-name:last-child a {
font-size: 10px;
color: #555;
}
.glyph > input {
display: block;
width: 100px;
margin: 5px auto;
text-align: center;
font-size: 12px;
cursor: text;
}
.glyph > input.icon-input {
font-family: "Flaticon";
font-size: 16px;
margin-bottom: 10px;
}
.attribution .title {
margin-top: 2em;
}
.attribution textarea {
background-color: #F8FAFB;
color: #1D262D;
padding: 1em;
border: none;
box-shadow: none;
border: 1px solid #E3E9ED;
border-radius: 4px;
resize: none;
width: 100%;
height: 150px;
font-size: 0.8em;
font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;
-webkit-appearance: none;
}
.attribution textarea:hover {
border-color: #CFD9E0;
}
.attribution textarea:focus {
border-color: #4AD295;
}
.iconsuse {
margin: 2em auto;
text-align: center;
max-width: 1200px;
}
.iconsuse:after {
content: '';
display: table;
clear: both;
}
.iconsuse .image {
float: left;
width: 25%;
padding: 0 1em;
}
.iconsuse .image p {
margin-bottom: 1em;
}
.iconsuse .image span {
display: block;
font-size: 0.65em;
background-color: #222;
color: #fff;
border-radius: 4px;
padding: 0.5em;
color: #FFFF99;
margin-top: 1em;
font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;
}
.flaticon:before {
color: #5f7d95;
}
#footer {
text-align: center;
background-color: #1D262D;
color: #869FB2;
padding: 12px;
font-size: 14px;
}
#footer a {
font-weight: normal;
}
@media (max-width: 960px) {
.iconsuse .image {
width: 50%;
}
}
.preview {
width: 100px;
display: inline-block;
margin: 10px;
}
.preview .inner {
display: inline-block;
width: 100%;
text-align: center;
background: #f5f5f5;
-webkit-border-radius: 3px 3px 0 0;
-moz-border-radius: 3px 3px 0 0;
border-radius: 3px 3px 0 0;
}
.preview .inner {
line-height: 85px;
font-size: 40px;
color: #333;
}
.label {
display: inline-block;
width: 100%;
box-sizing: border-box;
padding: 5px;
font-size: 10px;
font-family: Monaco, monospace;
color: #666;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
background: #ddd;
-webkit-border-radius: 0 0 3px 3px;
-moz-border-radius: 0 0 3px 3px;
border-radius: 0 0 3px 3px;
color: #666;
}
</style>
</head>
<body>
<header>
<a href="https://www.flaticon.com/" target="_blank" class="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 394.3 76.5">
<path d="M156.6,69.4H145.3V7.1h11.3Z" style="fill:#0e2a47"/>
<path d="M206.2,69.4h-11V64.8a15.4,15.4,0,0,1-12.6,5.7c-11.6,0-20.3-9.5-20.3-22.1s8.8-22.1,20.3-22.1a15.4,15.4,0,0,1,12.6,5.8V27.5h11Zm-32.4-21c0,6.4,4.2,11.6,10.8,11.6s10.8-4.9,10.8-11.6-4.4-11.6-10.8-11.6S173.9,42,173.9,48.4Z"
style="fill:#0e2a47"/>
<path d="M262.5,13.7a7.2,7.2,0,0,1-14.4,0,7.2,7.2,0,1,1,14.4,0ZM261,69.4H249.6v-42H261Z"
style="fill:#0e2a47"/>
<path id="_Trazado_" data-name="&lt;Trazado&gt;"
d="M139.6,17.8a16.6,16.6,0,0,0-8-1.4c-3.2.4-4.9,2-4.9,5.9v5.1h13V37.5h-13v32H115.4v-32h-7.8v-10h7.8V22.2c0-9.9,5.2-16.3,15-16.3a23.4,23.4,0,0,1,9.3,1.8Z"
style="fill:#0e2a47"/>
<path d="M235.1,60c-3.5,0-6.3-1.9-6.3-7.1V37.5H244v-10H228.8V15H217.5V27.5h-5.7v10h5.7V53.7c0,10.9,5.3,16.8,15.7,16.8A22.9,22.9,0,0,0,244,68l-4.3-9.1A12.3,12.3,0,0,1,235.1,60Z"
style="fill:#0e2a47"/>
<path d="M348.9,48.4c0,12.6-9.7,22.1-22.7,22.1s-22.7-9.4-22.7-22.1,9.6-22.1,22.7-22.1S348.9,35.8,348.9,48.4Zm-33.9,0c0,6.8,4.8,11.6,11.1,11.6s11.2-4.8,11.2-11.6-4.8-11.6-11.2-11.6S315.1,41.6,315.1,48.4Z"
style="fill:#0e2a47"/>
<path d="M394.3,42.7V69.4H382.9V46.3c0-6.1-3-9.4-8.2-9.4s-8.9,3.2-8.9,9.5v23H354.6v-42h11v4.9c3-4.5,7.6-6.1,12.3-6.1C387.5,26.3,394.3,33,394.3,42.7Z"
style="fill:#0e2a47"/>
<path d="M298,55.7h0a12.4,12.4,0,0,1-8.2,4.2h-.9l-1.8-.2a10,10,0,0,1-7.4-5.6,13.2,13.2,0,0,1-1.2-5.8,13,13,0,0,1,1.3-5.9,10.1,10.1,0,0,1,7.5-5.5h2.4a11.7,11.7,0,0,1,8.3,4.2l5.5-9.6a19.9,19.9,0,0,0-8.1-4.3,23.4,23.4,0,0,0-6.1-.8,25.2,25.2,0,0,0-7.5,1.1,20.9,20.9,0,0,0-8,4.6,21.9,21.9,0,0,0-6.8,16.4,21.9,21.9,0,0,0,6.7,16.3,20.9,20.9,0,0,0,8,4.6,25.2,25.2,0,0,0,7.7,1.2,23.6,23.6,0,0,0,6.2-.8,20,20,0,0,0,8.1-4.4Z"
style="fill:#0e2a47"/>
<path d="M46.3,26.5H26.9L20.8,16H52.4L61.6,0H9.4A9.3,9.3,0,0,0,1.3,4.7a9.3,9.3,0,0,0,0,9.4L34.6,71.8a9.4,9.4,0,0,0,16.2,0l1.1-1.9L36.6,43.3Z"
style="fill:#4ad295"/>
<path d="M84.2,4.7A9.3,9.3,0,0,0,76.1,0H73.8l-25,43.3,9.2,16L84.2,14A9.3,9.3,0,0,0,84.2,4.7Z"
style="fill:#4ad295"/>
</svg>
</a>
</header>
<section class="demo wrapper">
<p class="title">Webfont Instructions</p>
<ul>
<li>
<span class="num">1. </span>Copy the "Fonts" files and CSS files to your website CSS folder.
</li>
<li>
<span class="num">2. </span>Add the CSS link to your website source code on header.
<code class="big">
&lt;<span class="red">head</span>&gt;
<br/><span class="dots">...</span>
<br/>&lt;<span class="red">link</span> <span class="green">rel</span>=<span
class="yellow">"stylesheet"</span> <span class="green">type</span>=<span
class="yellow">"text/css"</span> <span class="green">href</span>=<span class="yellow">"your_website_domain/css_root/flaticon.css"</span>&gt;
<br/><span class="dots">...</span>
<br/>&lt;/<span class="red">head</span>&gt;
</code>
</li>
<li>
<p>
<span class="num">3. </span>Use the icon class on <code>"<span class="blue">display</span>:<span
class="purple"> inline</span>"</code> elements:
<br/>
Use example: <code>&lt;<span class="red">i</span> <span class="green">class</span>=<span class="yellow">&quot;flaticon-airplane49&quot;</span>&gt;&lt;/<span
class="red">i</span>&gt;</code> or <code>&lt;<span class="red">span</span> <span
class="green">class</span>=<span class="yellow">&quot;flaticon-airplane49&quot;</span>&gt;&lt;/<span
class="red">span</span>&gt;</code>
</li>
</ul>
</section>
<section id="glyphs">
<div class="glyph">
<i class="flaticon flaticon-user"></i>
<div class="class-name">.flaticon-user</div>
<div class="author-name">Author: <a data-file="user" href="http://www.freepik.com">Freepik</a> </div>
</div>
<div class="glyph">
<i class="flaticon flaticon-heart"></i>
<div class="class-name">.flaticon-heart</div>
<div class="author-name">Author: <a data-file="heart" href="http://www.freepik.com">Freepik</a> </div>
</div>
<div class="glyph">
<i class="flaticon flaticon-shopping-bag"></i>
<div class="class-name">.flaticon-shopping-bag</div>
<div class="author-name">Author: <a data-file="shopping-bag" href="https://www.flaticon.com/authors/kmg-design">kmg design</a> </div>
</div>
<div class="glyph">
<i class="flaticon flaticon-apple-black-logo"></i>
<div class="class-name">.flaticon-apple-black-logo</div>
<div class="author-name">Author: <a data-file="apple-black-logo" href="http://www.freepik.com">Freepik</a> </div>
</div>
<div class="glyph">
<i class="flaticon flaticon-playstore"></i>
<div class="class-name">.flaticon-playstore</div>
<div class="author-name">Author: <a data-file="playstore" href="http://www.freepik.com">Freepik</a> </div>
</div>
<div class="glyph">
<i class="flaticon flaticon-24-hours-support"></i>
<div class="class-name">.flaticon-24-hours-support</div>
<div class="author-name">Author: <a data-file="24-hours-support" href="http://www.freepik.com">Freepik</a> </div>
</div>
</section>
<section class="attribution wrapper" style="text-align:center;">
<div class="title">License and attribution:</div><div class="attrDiv">Font generated by <a href="https://www.flaticon.com">flaticon.com</a>. <div><p>Under <a href="http://creativecommons.org/licenses/by/3.0/">CC</a>: <a data-file="24-hours-support" href="http://www.freepik.com">Freepik</a>, <a data-file="shopping-bag" href="https://www.flaticon.com/authors/kmg-design">kmg design</a></p> </div>
</div>
<div class="title">Copy the Attribution License:</div>
<textarea onclick="this.focus();this.select();">Font generated by &lt;a href=&quot;https://www.flaticon.com&quot;&gt;flaticon.com&lt;/a&gt;. <p>Under <a href="http://creativecommons.org/licenses/by/3.0/">CC</a>: <a data-file="24-hours-support" href="http://www.freepik.com">Freepik</a>, <a data-file="shopping-bag" href="https://www.flaticon.com/authors/kmg-design">kmg design</a></p>
</textarea>
</section>
<section class="iconsuse">
<div class="title">Examples:</div>
<div class="image">
<p>
<i class="flaticon flaticon-user"></i>
<span>&lt;i class=&quot;flaticon-user&quot;&gt;&lt;/i&gt;</span>
</p>
</div>
<div class="image">
<p>
<i class="flaticon flaticon-heart"></i>
<span>&lt;i class=&quot;flaticon-heart&quot;&gt;&lt;/i&gt;</span>
</p>
</div>
<div class="image">
<p>
<i class="flaticon flaticon-shopping-bag"></i>
<span>&lt;i class=&quot;flaticon-shopping-bag&quot;&gt;&lt;/i&gt;</span>
</p>
</div>
<div class="image">
<p>
<i class="flaticon flaticon-apple-black-logo"></i>
<span>&lt;i class=&quot;flaticon-apple-black-logo&quot;&gt;&lt;/i&gt;</span>
</p>
</div>
<div class="image">

+ 49
- 0
src/Web/WebUI/wwwroot/css/flaticon/flaticon.scss View File

@ -0,0 +1,49 @@
$flaticon-font: "flaticon";
@font-face {
font-family: $flaticon-font;
src: url("./flaticon.ttf?845a83d3775f78f799f148d44e25858f") format("truetype"),
url("./flaticon.woff?845a83d3775f78f799f148d44e25858f") format("woff"),
url("./flaticon.woff2?845a83d3775f78f799f148d44e25858f") format("woff2"),
url("./flaticon.eot?845a83d3775f78f799f148d44e25858f#iefix") format("embedded-opentype"),
url("./flaticon.svg?845a83d3775f78f799f148d44e25858f#flaticon") format("svg");
}
i[class^="flaticon-"]:before, i[class*=" flaticon-"]:before {
font-family: flaticon !important;
font-style: normal;
font-weight: normal !important;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
$flaticon-map: (
"user": "\f101",
"heart": "\f102",
"shopping-bag": "\f103",
"apple-black-logo": "\f104",
"playstore": "\f105",
"24-hours-support": "\f106",
);
.flaticon-user:before {
content: map-get($flaticon-map, "user");
}
.flaticon-heart:before {
content: map-get($flaticon-map, "heart");
}
.flaticon-shopping-bag:before {
content: map-get($flaticon-map, "shopping-bag");
}
.flaticon-apple-black-logo:before {
content: map-get($flaticon-map, "apple-black-logo");
}
.flaticon-playstore:before {
content: map-get($flaticon-map, "playstore");
}
.flaticon-24-hours-support:before {
content: map-get($flaticon-map, "24-hours-support");
}

+ 30
- 0
src/Web/WebUI/wwwroot/css/flaticon/flaticon.svg
File diff suppressed because it is too large
View File


BIN
src/Web/WebUI/wwwroot/css/flaticon/flaticon.ttf View File


BIN
src/Web/WebUI/wwwroot/css/flaticon/flaticon.woff View File


BIN
src/Web/WebUI/wwwroot/css/flaticon/flaticon.woff2 View File


+ 5
- 0
src/Web/WebUI/wwwroot/css/font-awesome-pro.css
File diff suppressed because it is too large
View File


+ 351
- 0
src/Web/WebUI/wwwroot/css/magnific-popup.css View File

@ -0,0 +1,351 @@
/* Magnific Popup CSS */
.mfp-bg {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1042;
overflow: hidden;
position: fixed;
background: #0b0b0b;
opacity: 0.8; }
.mfp-wrap {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1043;
position: fixed;
outline: none !important;
-webkit-backface-visibility: hidden; }
.mfp-container {
text-align: center;
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
padding: 0 8px;
box-sizing: border-box; }
.mfp-container:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle; }
.mfp-align-top .mfp-container:before {
display: none; }
.mfp-content {
position: relative;
display: inline-block;
vertical-align: middle;
margin: 0 auto;
text-align: left;
z-index: 1045; }
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
width: 100%;
cursor: auto; }
.mfp-ajax-cur {
cursor: progress; }
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
cursor: -moz-zoom-out;
cursor: -webkit-zoom-out;
cursor: zoom-out; }
.mfp-zoom {
cursor: pointer;
cursor: -webkit-zoom-in;
cursor: -moz-zoom-in;
cursor: zoom-in; }
.mfp-auto-cursor .mfp-content {
cursor: auto; }
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none; }
.mfp-loading.mfp-figure {
display: none; }
.mfp-hide {
display: none !important; }
.mfp-preloader {
color: #CCC;
position: absolute;
top: 50%;
width: auto;
text-align: center;
margin-top: -0.8em;
left: 8px;
right: 8px;
z-index: 1044; }
.mfp-preloader a {
color: #CCC; }
.mfp-preloader a:hover {
color: #FFF; }
.mfp-s-ready .mfp-preloader {
display: none; }
.mfp-s-error .mfp-content {
display: none; }
button.mfp-close,
button.mfp-arrow {
overflow: visible;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
display: block;
outline: none;
padding: 0;
z-index: 1046;
box-shadow: none;
touch-action: manipulation; }
button::-moz-focus-inner {
padding: 0;
border: 0; }
.mfp-close {
width: 44px;
height: 44px;
line-height: 44px;
position: absolute;
right: 0;
top: 0;
text-decoration: none;
text-align: center;
opacity: 0.65;
padding: 0 0 18px 10px;
color: #FFF;
font-style: normal;
font-size: 28px;
font-family: Arial, Baskerville, monospace; }
.mfp-close:hover,
.mfp-close:focus {
opacity: 1; }
.mfp-close:active {
top: 1px; }
.mfp-close-btn-in .mfp-close {
color: #333; }
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
color: #FFF;
right: -6px;
text-align: right;
padding-right: 6px;
width: 100%; }
.mfp-counter {
position: absolute;
top: 0;
right: 0;
color: #CCC;
font-size: 12px;
line-height: 18px;
white-space: nowrap; }
.mfp-arrow {
position: absolute;
opacity: 0.65;
margin: 0;
top: 50%;
margin-top: -55px;
padding: 0;
width: 90px;
height: 110px;
-webkit-tap-highlight-color: transparent; }
.mfp-arrow:active {
margin-top: -54px; }
.mfp-arrow:hover,
.mfp-arrow:focus {
opacity: 1; }
.mfp-arrow:before,
.mfp-arrow:after {
content: '';
display: block;
width: 0;
height: 0;
position: absolute;
left: 0;
top: 0;
margin-top: 35px;
margin-left: 35px;
border: medium inset transparent; }
.mfp-arrow:after {
border-top-width: 13px;
border-bottom-width: 13px;
top: 8px; }
.mfp-arrow:before {
border-top-width: 21px;
border-bottom-width: 21px;
opacity: 0.7; }
.mfp-arrow-left {
left: 0; }
.mfp-arrow-left:after {
border-right: 17px solid #FFF;
margin-left: 31px; }
.mfp-arrow-left:before {
margin-left: 25px;
border-right: 27px solid #3F3F3F; }
.mfp-arrow-right {
right: 0; }
.mfp-arrow-right:after {
border-left: 17px solid #FFF;
margin-left: 39px; }
.mfp-arrow-right:before {
border-left: 27px solid #3F3F3F; }
.mfp-iframe-holder {
padding-top: 40px;
padding-bottom: 40px; }
.mfp-iframe-holder .mfp-content {
line-height: 0;
width: 100%;
max-width: 900px; }
.mfp-iframe-holder .mfp-close {
top: -40px; }
.mfp-iframe-scaler {
width: 100%;
height: 0;
overflow: hidden;
padding-top: 56.25%; }
.mfp-iframe-scaler iframe {
position: absolute;
display: block;
top: 0;
left: 0;
width: 100%;
height: 100%;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: #000; }
/* Main image in popup */
img.mfp-img {
width: auto;
max-width: 100%;
height: auto;
display: block;
line-height: 0;
box-sizing: border-box;
padding: 40px 0 40px;
margin: 0 auto; }
/* The shadow behind the image */
.mfp-figure {
line-height: 0; }
.mfp-figure:after {
content: '';
position: absolute;
left: 0;
top: 40px;
bottom: 40px;
display: block;
right: 0;
width: auto;
height: auto;
z-index: -1;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: #444; }
.mfp-figure small {
color: #BDBDBD;
display: block;
font-size: 12px;
line-height: 14px; }
.mfp-figure figure {
margin: 0; }
.mfp-bottom-bar {
margin-top: -36px;
position: absolute;
top: 100%;
left: 0;
width: 100%;
cursor: auto; }
.mfp-title {
text-align: left;
line-height: 18px;
color: #F3F3F3;
word-wrap: break-word;
padding-right: 36px; }
.mfp-image-holder .mfp-content {
max-width: 100%; }
.mfp-gallery .mfp-image-holder .mfp-figure {
cursor: pointer; }
@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
/**
* Remove all paddings around the image on small screen
*/
.mfp-img-mobile .mfp-image-holder {
padding-left: 0;
padding-right: 0; }
.mfp-img-mobile img.mfp-img {
padding: 0; }
.mfp-img-mobile .mfp-figure:after {
top: 0;
bottom: 0; }
.mfp-img-mobile .mfp-figure small {
display: inline;
margin-left: 5px; }
.mfp-img-mobile .mfp-bottom-bar {
background: rgba(0, 0, 0, 0.6);
bottom: 0;
margin: 0;
top: auto;
padding: 3px 5px;
position: fixed;
box-sizing: border-box; }
.mfp-img-mobile .mfp-bottom-bar:empty {
padding: 0; }
.mfp-img-mobile .mfp-counter {
right: 5px;
top: 3px; }
.mfp-img-mobile .mfp-close {
top: 0;
right: 0;
width: 35px;
height: 35px;
line-height: 35px;
background: rgba(0, 0, 0, 0.6);
position: fixed;
text-align: center;
padding: 0; } }
@media all and (max-width: 900px) {
.mfp-arrow {
-webkit-transform: scale(0.75);
transform: scale(0.75); }
.mfp-arrow-left {
-webkit-transform-origin: 0;
transform-origin: 0; }
.mfp-arrow-right {
-webkit-transform-origin: 100%;
transform-origin: 100%; }
.mfp-container {
padding-left: 6px;
padding-right: 6px; } }

+ 156
- 0
src/Web/WebUI/wwwroot/css/meanmenu.css View File

@ -0,0 +1,156 @@
/*! #######################################################################
MeanMenu 2.0.7
--------
To be used with jquery.meanmenu.js by Chris Wharton (http://www.meanthemes.com/plugins/meanmenu/)
####################################################################### */
/* hide the link until viewport size is reached */
a.meanmenu-reveal {
display: none;
}
/* when under viewport size, .mean-container is added to body */
.mean-container .mean-bar {
float: left;
width: 100%;
position: relative;
background: #070337;
padding: 4px 0;
min-height: 42px;
z-index: 999999;
}
.mean-container a.meanmenu-reveal {
width: 22px;
height: 22px;
padding: 13px 13px 11px 13px;
position: absolute;
top: 0;
right: 0;
cursor: pointer;
color: #fff;
text-decoration: none;
font-size: 16px;
text-indent: -9999em;
line-height: 22px;
font-size: 1px;
display: block;
font-family: Arial, Helvetica, sans-serif;
font-weight: 700;
}
.mean-container a.meanmenu-reveal span {
display: block;
background: #fff;
height: 3px;
margin-top: 3px;
}
.mean-container .mean-nav {
float: left;
width: 100%;
background: #070337;
margin-top: 44px;
}
.mean-container .mean-nav ul {
padding: 0;
margin: 0;
width: 100%;
list-style-type: none;
}
.mean-container .mean-nav ul li {
position: relative;
float: left;
width: 100%;
}
.mean-container .mean-nav ul li a {
display: block;
float: left;
width: 90%;
padding: 10px 5%;
margin: 0;
text-align: left;
color: #fff;
border-top: 1px solid #e0e3ed;
text-decoration: none;
text-transform: uppercase;
}
.mean-container .mean-nav ul li li a {
width: 80%;
padding: 10px 10%;
text-shadow: none !important;
visibility: visible;
}
.mean-container .mean-nav ul li.mean-last a {
border-bottom: none;
margin-bottom: 0;
}
.mean-container .mean-nav ul li li li a {
width: 70%;
padding: 10px 15%;
}
.mean-container .mean-nav ul li li li li a {
width: 60%;
padding: 10px 20%;
}
.mean-container .mean-nav ul li li li li li a {
width: 50%;
padding: 10px 25%;
}
.mean-container .mean-nav ul li a.mean-expand {
margin-top: 1px;
width: 26px;
height: 32px;
text-align: center;
position: absolute;
right: 0;
top: 0;
z-index: 2;
font-weight: 700;
background: transparent;
border: none !important;
font-size: 14px;
}
.mean-container .mean-push {
float: left;
width: 100%;
padding: 0;
margin: 0;
clear: both;
}
.mean-nav .wrapper {
width: 100%;
padding: 0;
margin: 0;
}
/* Fix for box sizing on Foundation Framework etc. */
.mean-container .mean-bar, .mean-container .mean-bar * {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
.mean-remove {
display: none !important;
}

+ 181
- 0
src/Web/WebUI/wwwroot/css/nice-select.css View File

@ -0,0 +1,181 @@
.nice-select {
-webkit-tap-highlight-color: transparent;
background-color: #fff;
border-radius: 5px;
border: solid 1px #e8e8e8;
box-sizing: border-box;
clear: both;
cursor: pointer;
display: block;
float: left;
font-family: inherit;
font-size: 14px;
font-weight: normal;
height: 42px;
line-height: 40px;
outline: none;
padding-left: 18px;
padding-right: 30px;
position: relative;
text-align: left !important;
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
white-space: nowrap;
width: auto;
}
.nice-select:hover {
border-color: #dbdbdb;
}
.nice-select:active,
.nice-select.open,
.nice-select:focus {
border-color: #999;
}
.nice-select:after {
border-bottom: 2px solid #999;
border-right: 2px solid #999;
content: '';
display: block;
height: 5px;
margin-top: -4px;
pointer-events: none;
position: absolute;
right: 12px;
top: 50%;
-webkit-transform-origin: 66% 66%;
-ms-transform-origin: 66% 66%;
transform-origin: 66% 66%;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
-webkit-transition: all 0.15s ease-in-out;
transition: all 0.15s ease-in-out;
width: 5px;
}
.nice-select.open:after {
-webkit-transform: rotate(-135deg);
-ms-transform: rotate(-135deg);
transform: rotate(-135deg);
}
.nice-select.open .list {
opacity: 1;
pointer-events: auto;
-webkit-transform: scale(1) translateY(0);
-ms-transform: scale(1) translateY(0);
transform: scale(1) translateY(0);
}
.nice-select.disabled {
border-color: #ededed;
color: #999;
pointer-events: none;
}
.nice-select.disabled:after {
border-color: #cccccc;
}
.nice-select.wide {
width: 100%;
}
.nice-select.wide .list {
left: 0 !important;
right: 0 !important;
}
.nice-select.right {
float: right;
}
.nice-select.right .list {
left: auto;
right: 0;
}
.nice-select.small {
font-size: 12px;
height: 36px;
line-height: 34px;
}
.nice-select.small:after {
height: 4px;
width: 4px;
}
.nice-select.small .option {
line-height: 34px;
min-height: 34px;
}
.nice-select .list {
background-color: #fff;
border-radius: 5px;
box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
box-sizing: border-box;
margin-top: 4px;
opacity: 0;
overflow: hidden;
padding: 0;
pointer-events: none;
position: absolute;
top: 100%;
left: 0;
-webkit-transform-origin: 50% 0;
-ms-transform-origin: 50% 0;
transform-origin: 50% 0;
-webkit-transform: scale(0.75) translateY(-21px);
-ms-transform: scale(0.75) translateY(-21px);
transform: scale(0.75) translateY(-21px);
-webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
z-index: 9;
}
.nice-select .option {
cursor: pointer;
font-weight: 400;
line-height: 40px;
list-style: none;
min-height: 40px;
outline: none;
padding-left: 18px;
padding-right: 29px;
text-align: left;
-webkit-transition: all 0.2s;
transition: all 0.2s;
}
.nice-select .option.selected {
font-weight: bold;
}
.nice-select .option.disabled {
background-color: transparent;
color: #999;
cursor: default;
}
.no-csspointerevents .nice-select .list {
display: none;
}
.no-csspointerevents .nice-select.open .list {
display: block;
}

+ 6
- 0
src/Web/WebUI/wwwroot/css/owl-carousel.css View File

@ -0,0 +1,6 @@
/**
* Owl Carousel v2.2.1
* Copyright 2013-2017 David Deutsch
* Licensed under ()
*/
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}

+ 39
- 0
src/Web/WebUI/wwwroot/css/preloader.css View File

@ -0,0 +1,39 @@
#loading{
background-color: #fff;
height: 100%;
width: 100%;
position: fixed;
z-index: 9999999999;
margin-top: 0px;
top: 0px;
}
#loading-center{
width: 100%;
height: 100%;
position: relative;
}
#loading-center-absolute {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.cart-container {
width: 900px;
margin: auto;
}
#cart {
width: 150px;
display:inline-block;
}
.product {
width: 60px;
position: absolute;
left: 50%;
opacity: 0;
transform: scale(2);
}

+ 6894
- 0
src/Web/WebUI/wwwroot/css/style.css
File diff suppressed because it is too large
View File


+ 1
- 0
src/Web/WebUI/wwwroot/css/style.css.map
File diff suppressed because it is too large
View File


+ 541
- 0
src/Web/WebUI/wwwroot/css/swiper-bundle.css View File

@ -0,0 +1,541 @@
/**
* Swiper 6.5.0
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
* Copyright 2014-2021 Vladimir Kharlampidi
*
* Released under the MIT License
*
* Released on: March 5, 2021
*/
@font-face {
font-family: 'swiper-icons';
src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA') format('woff');
font-weight: 400;
font-style: normal;
}
:root {
--swiper-theme-color: #007aff;
}
.swiper-container {
margin-left: auto;
margin-right: auto;
position: relative;
overflow: hidden;
list-style: none;
padding: 0;
/* Fix of Webkit flickering */
z-index: 1;
}
.swiper-container-vertical > .swiper-wrapper {
flex-direction: column;
}
.swiper-wrapper {
position: relative;
width: 100%;
height: 100%;
z-index: 1;
display: flex;
transition-property: transform;
box-sizing: content-box;
}
.swiper-container-android .swiper-slide,
.swiper-wrapper {
transform: translate3d(0px, 0, 0);
}
.swiper-container-multirow > .swiper-wrapper {
flex-wrap: wrap;
}
.swiper-container-multirow-column > .swiper-wrapper {
flex-wrap: wrap;
flex-direction: column;
}
.swiper-container-free-mode > .swiper-wrapper {
transition-timing-function: ease-out;
margin: 0 auto;
}
.swiper-container-pointer-events {
touch-action: pan-y;
}
.swiper-container-pointer-events.swiper-container-vertical {
touch-action: pan-x;
}
.swiper-slide {
flex-shrink: 0;
width: 100%;
height: 100%;
position: relative;
transition-property: transform;
}
.swiper-slide-invisible-blank {
visibility: hidden;
}
/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
height: auto;
}
.swiper-container-autoheight .swiper-wrapper {
align-items: flex-start;
transition-property: transform, height;
}
/* 3D Effects */
.swiper-container-3d {
perspective: 1200px;
}
.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
transform-style: preserve-3d;
}
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 10;
}
.swiper-container-3d .swiper-slide-shadow-left {
background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-right {
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-top {
background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-bottom {
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
overflow: auto;
scrollbar-width: none;
/* For Firefox */
-ms-overflow-style: none;
/* For Internet Explorer and Edge */
}
.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
display: none;
}
.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: start start;
}
.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
scroll-snap-type: x mandatory;
}
.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
scroll-snap-type: y mandatory;
}
:root {
--swiper-navigation-size: 44px;
/*
--swiper-navigation-color: var(--swiper-theme-color);
*/
}
.swiper-button-prev,
.swiper-button-next {
position: absolute;
top: 50%;
z-index: 10;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
opacity: 0.7;
cursor: auto;
pointer-events: none;
}
.swiper-button-prev:after,
.swiper-button-next:after {
font-family: swiper-icons;
text-transform: none !important;
letter-spacing: 0;
text-transform: none;
font-variant: initial;
line-height: 1;
}
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
left: 10px;
right: auto;
}
.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
content: 'prev';
}
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
right: 10px;
left: auto;
}
.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
content: 'next';
}
.swiper-button-prev.swiper-button-white,
.swiper-button-next.swiper-button-white {
--swiper-navigation-color: #ffffff;
}
.swiper-button-prev.swiper-button-black,
.swiper-button-next.swiper-button-black {
--swiper-navigation-color: #000000;
}
.swiper-button-lock {
display: none;
}
:root {
/*
--swiper-pagination-color: var(--swiper-theme-color);
*/
}
.swiper-pagination {
position: absolute;
text-align: center;
transition: 300ms opacity;
transform: translate3d(0, 0, 0);
z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
opacity: 0;
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
bottom: 10px;
left: 0;
width: 100%;
}
/* Bullets */
.swiper-pagination-bullets-dynamic {
overflow: hidden;
font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transform: scale(0.33);
position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
transform: scale(0.33);
}
.swiper-pagination-bullet {
width: 8px;
height: 8px;
display: inline-block;
border-radius: 50%;
background: #000;
opacity: 0.2;
}
button.swiper-pagination-bullet {
border: none;
margin: 0;
padding: 0;
box-shadow: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
cursor: pointer;
}
.swiper-pagination-bullet-active {
opacity: 1;
background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-container-vertical > .swiper-pagination-bullets {
right: 10px;
top: 50%;
transform: translate3d(0px, -50%, 0);
}
.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
margin: 6px 0;
display: block;
}
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
top: 50%;
transform: translateY(-50%);
width: 8px;
}
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
display: inline-block;
transition: 200ms transform, 200ms top;
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
margin: 0 4px;
}
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
left: 50%;
transform: translateX(-50%);
white-space: nowrap;
}
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: 200ms transform, 200ms left;
}
.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: 200ms transform, 200ms right;
}
/* Progress */
.swiper-pagination-progressbar {
background: rgba(0, 0, 0, 0.25);
position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
background: var(--swiper-pagination-color, var(--swiper-theme-color));
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transform: scale(0);
transform-origin: left top;
}
.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
transform-origin: right top;
}
.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
width: 100%;
height: 4px;
left: 0;
top: 0;
}
.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
width: 4px;
height: 100%;
left: 0;
top: 0;
}
.swiper-pagination-white {
--swiper-pagination-color: #ffffff;
}
.swiper-pagination-black {
--swiper-pagination-color: #000000;
}
.swiper-pagination-lock {
display: none;
}
/* Scrollbar */
.swiper-scrollbar {
border-radius: 10px;
position: relative;
-ms-touch-action: none;
background: rgba(0, 0, 0, 0.1);
}
.swiper-container-horizontal > .swiper-scrollbar {
position: absolute;
left: 1%;
bottom: 3px;
z-index: 50;
height: 5px;
width: 98%;
}
.swiper-container-vertical > .swiper-scrollbar {
position: absolute;
right: 3px;
top: 1%;
z-index: 50;
width: 5px;
height: 98%;
}
.swiper-scrollbar-drag {
height: 100%;
width: 100%;
position: relative;
background: rgba(0, 0, 0, 0.5);
border-radius: 10px;
left: 0;
top: 0;
}
.swiper-scrollbar-cursor-drag {
cursor: move;
}
.swiper-scrollbar-lock {
display: none;
}
.swiper-zoom-container {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
.swiper-slide-zoomed {
cursor: move;
}
/* Preloader */
:root {
/*
--swiper-preloader-color: var(--swiper-theme-color);
*/
}
.swiper-lazy-preloader {
width: 42px;
height: 42px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -21px;
margin-top: -21px;
z-index: 10;
transform-origin: 50%;
animation: swiper-preloader-spin 1s infinite linear;
box-sizing: border-box;
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
border-radius: 50%;
border-top-color: transparent;
}
.swiper-lazy-preloader-white {
--swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
--swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
100% {
transform: rotate(360deg);
}
}
/* a11y */
.swiper-container .swiper-notification {
position: absolute;
left: 0;
top: 0;
pointer-events: none;
opacity: 0;
z-index: -1000;
}
.swiper-container-fade.swiper-container-free-mode .swiper-slide {
transition-timing-function: ease-out;
}
.swiper-container-fade .swiper-slide {
pointer-events: none;
transition-property: opacity;
}
.swiper-container-fade .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-container-cube {
overflow: visible;
}
.swiper-container-cube .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
visibility: hidden;
transform-origin: 0 0;
width: 100%;
height: 100%;
}
.swiper-container-cube .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-container-cube.swiper-container-rtl .swiper-slide {
transform-origin: 100% 0;
}
.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
pointer-events: auto;
visibility: visible;
}
.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.swiper-container-cube .swiper-cube-shadow {
position: absolute;
left: 0;
bottom: 0px;
width: 100%;
height: 100%;
opacity: 0.6;
z-index: 0;
}
.swiper-container-cube .swiper-cube-shadow:before {
content: '';
background: #000;
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
-webkit-filter: blur(50px);
filter: blur(50px);
}
.swiper-container-flip {
overflow: visible;
}
.swiper-container-flip .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
}
.swiper-container-flip .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}

+ 1311
- 0
src/Web/WebUI/wwwroot/css/ui-range-slider.css
File diff suppressed because it is too large
View File


BIN
src/Web/WebUI/wwwroot/img/about/ab-01.jpg View File

Before After
Width: 690  |  Height: 400  |  Size: 3.6 KiB

BIN
src/Web/WebUI/wwwroot/img/about/ab-02.jpg View File

Before After
Width: 690  |  Height: 400  |  Size: 3.6 KiB

BIN
src/Web/WebUI/wwwroot/img/about/about-b.png View File

Before After
Width: 690  |  Height: 498  |  Size: 41 KiB

BIN
src/Web/WebUI/wwwroot/img/about/c-icon-01.png View File

Before After
Width: 24  |  Height: 33  |  Size: 164 B

BIN
src/Web/WebUI/wwwroot/img/author/author-sm-1.jpeg View File

Before After
Width: 60  |  Height: 60  |  Size: 297 B

BIN
src/Web/WebUI/wwwroot/img/banner/404.png View File

Before After
Width: 566  |  Height: 490  |  Size: 136 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-1.jpg View File

Before After
Width: 450  |  Height: 200  |  Size: 2.1 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-10.jpg View File

Before After
Width: 350  |  Height: 200  |  Size: 1.5 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-11.jpg View File

Before After
Width: 350  |  Height: 200  |  Size: 1.5 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-12.jpg View File

Before After
Width: 350  |  Height: 200  |  Size: 1.5 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-13.jpg View File

Before After
Width: 350  |  Height: 200  |  Size: 1.5 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-14.jpg View File

Before After
Width: 564  |  Height: 200  |  Size: 2.8 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-15.jpg View File

Before After
Width: 564  |  Height: 200  |  Size: 2.8 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-16.jpg View File

Before After
Width: 564  |  Height: 200  |  Size: 2.8 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-17.jpg View File

Before After
Width: 338  |  Height: 240  |  Size: 1.6 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-18.jpg View File

Before After
Width: 338  |  Height: 240  |  Size: 1.6 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-19.jpg View File

Before After
Width: 338  |  Height: 500  |  Size: 1.6 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-2.jpg View File

Before After
Width: 450  |  Height: 200  |  Size: 2.1 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-3.jpg View File

Before After
Width: 450  |  Height: 200  |  Size: 2.1 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-4.jpg View File

Before After
Width: 690  |  Height: 200  |  Size: 3.4 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-5.jpg View File

Before After
Width: 690  |  Height: 200  |  Size: 3.4 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-6.jpg View File

Before After
Width: 450  |  Height: 450  |  Size: 2.4 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-7.jpg View File

Before After
Width: 450  |  Height: 210  |  Size: 2.2 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-8.jpg View File

Before After
Width: 450  |  Height: 210  |  Size: 2.2 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/banner-9.jpg View File

Before After
Width: 450  |  Height: 450  |  Size: 2.4 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/page-banner-1.jpg View File

Before After
Width: 1920  |  Height: 600  |  Size: 13 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/page-banner-2.jpg View File

Before After
Width: 1920  |  Height: 600  |  Size: 13 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/page-banner-3.jpg View File

Before After
Width: 1920  |  Height: 600  |  Size: 13 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/page-banner-4.jpg View File

Before After
Width: 1920  |  Height: 360  |  Size: 13 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/sl-banner-sm.png View File

Before After
Width: 479  |  Height: 185  |  Size: 13 KiB

BIN
src/Web/WebUI/wwwroot/img/banner/sl-banner.jpg View File

Before After
Width: 1080  |  Height: 230  |  Size: 5.9 KiB

BIN
src/Web/WebUI/wwwroot/img/bg/about-bg.png View File

Before After
Width: 1410  |  Height: 576  |  Size: 3.8 KiB

BIN
src/Web/WebUI/wwwroot/img/bg/img-4.png View File

Before After
Width: 550  |  Height: 310  |  Size: 2.7 KiB

BIN
src/Web/WebUI/wwwroot/img/bg/img-5.png View File

Before After
Width: 550  |  Height: 310  |  Size: 2.7 KiB

BIN
src/Web/WebUI/wwwroot/img/bg/menu-item.jpg View File

Before After
Width: 390  |  Height: 292  |  Size: 2.1 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/blog-thumb.jpg View File

Before After
Width: 850  |  Height: 450  |  Size: 4.4 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/incen.jpg View File

Before After
Width: 465  |  Height: 290  |  Size: 2.5 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/news-author.jpg View File

Before After
Width: 300  |  Height: 280  |  Size: 1.4 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/p-author-1.jpg View File

Before After
Width: 100  |  Height: 100  |  Size: 391 B

BIN
src/Web/WebUI/wwwroot/img/blog/p-author-2.jpg View File

Before After
Width: 100  |  Height: 100  |  Size: 391 B

BIN
src/Web/WebUI/wwwroot/img/blog/p-author-3.jpg View File

Before After
Width: 100  |  Height: 100  |  Size: 391 B

BIN
src/Web/WebUI/wwwroot/img/blog/sm-b-1.jpg View File

Before After
Width: 272  |  Height: 170  |  Size: 1.1 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/sm-b-2.jpg View File

Before After
Width: 272  |  Height: 170  |  Size: 1.1 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/sm-b-3.jpg View File

Before After
Width: 272  |  Height: 170  |  Size: 1.1 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/sm-b-4.jpg View File

Before After
Width: 272  |  Height: 170  |  Size: 1.1 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/sm-b-5.jpg View File

Before After
Width: 272  |  Height: 170  |  Size: 1.1 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/sm-b-6.jpg View File

Before After
Width: 272  |  Height: 170  |  Size: 1.1 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/sm-b2-1.jpg View File

Before After
Width: 505  |  Height: 316  |  Size: 2.6 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/sm-b2-2.jpg View File

Before After
Width: 505  |  Height: 316  |  Size: 2.6 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/sm-b2-3.jpg View File

Before After
Width: 505  |  Height: 316  |  Size: 2.6 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/sm-b2-4.jpg View File

Before After
Width: 505  |  Height: 316  |  Size: 2.6 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/sm-b2-5.jpg View File

Before After
Width: 505  |  Height: 316  |  Size: 2.6 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/sm-b2-6.jpg View File

Before After
Width: 505  |  Height: 316  |  Size: 2.6 KiB

BIN
src/Web/WebUI/wwwroot/img/blog/sponsor-3.jpg View File

Before After
Width: 286  |  Height: 241  |  Size: 1.3 KiB

BIN
src/Web/WebUI/wwwroot/img/brand/app_android.png View File

Before After
Width: 181  |  Height: 45  |  Size: 3.9 KiB

BIN
src/Web/WebUI/wwwroot/img/brand/app_ios.png View File

Before After
Width: 181  |  Height: 45  |  Size: 3.7 KiB

BIN
src/Web/WebUI/wwwroot/img/brand/brand-1.jpg View File

Before After
Width: 170  |  Height: 40  |  Size: 8.4 KiB

BIN
src/Web/WebUI/wwwroot/img/brand/brand-2.jpg View File

Before After
Width: 170  |  Height: 40  |  Size: 6.4 KiB

BIN
src/Web/WebUI/wwwroot/img/brand/brand-3.jpg View File

Before After
Width: 170  |  Height: 40  |  Size: 6.5 KiB

BIN
src/Web/WebUI/wwwroot/img/brand/brand-4.jpg View File

Before After
Width: 170  |  Height: 40  |  Size: 8.2 KiB

BIN
src/Web/WebUI/wwwroot/img/brand/brand-5.jpg View File

Before After
Width: 170  |  Height: 40  |  Size: 7.6 KiB

BIN
src/Web/WebUI/wwwroot/img/brand/brand-6.jpg View File

Before After
Width: 170  |  Height: 40  |  Size: 9.4 KiB

BIN
src/Web/WebUI/wwwroot/img/cart/20.jpg View File

Before After
Width: 800  |  Height: 800  |  Size: 3.7 KiB

BIN
src/Web/WebUI/wwwroot/img/cart/shop-p-10.jpg View File

Before After
Width: 327  |  Height: 327  |  Size: 1.2 KiB

BIN
src/Web/WebUI/wwwroot/img/cart/shop-p-11.jpg View File

Before After
Width: 327  |  Height: 327  |  Size: 1.2 KiB

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save