diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9491a2f --- /dev/null +++ b/.gitignore @@ -0,0 +1,363 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Oo]ut/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd \ No newline at end of file diff --git a/AppLibs/AppLibs/AppLibs.csproj b/AppLibs/AppLibs/AppLibs.csproj new file mode 100644 index 0000000..c9c51e6 --- /dev/null +++ b/AppLibs/AppLibs/AppLibs.csproj @@ -0,0 +1,240 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + PreserveNewest + Always + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + true + PreserveNewest + + + + + + + + + + + + + diff --git a/AppLibs/AppLibs/Libs/CertificateStore.cs b/AppLibs/AppLibs/Libs/CertificateStore.cs new file mode 100644 index 0000000..98dc891 --- /dev/null +++ b/AppLibs/AppLibs/Libs/CertificateStore.cs @@ -0,0 +1,11 @@ +namespace AppLibs.Libs +{ + public class CertificateStore + { + public static string GetHTTPSCertificate(string name) + { + var str = Path.GetFullPath(name); + return str; + } + } +} diff --git a/AppLibs/AppLibs/Libs/ControllerExtensions.cs b/AppLibs/AppLibs/Libs/ControllerExtensions.cs new file mode 100644 index 0000000..654bc41 --- /dev/null +++ b/AppLibs/AppLibs/Libs/ControllerExtensions.cs @@ -0,0 +1,157 @@ +using Microsoft.AspNetCore.Mvc.Rendering; +using Microsoft.AspNetCore.Mvc.ViewEngines; +using Microsoft.AspNetCore.Mvc.ViewFeatures; +using Microsoft.AspNetCore.Mvc; +using System.Text.RegularExpressions; +using Newtonsoft.Json; +using Microsoft.AspNetCore.Http; +using AppLibs.Libs.Pages; +using System.Security.Cryptography; + +namespace AppLibs.Libs +{ + public static class ControllerExtensions + { + public static string AbsoluteContent(this IUrlHelper url, string contentPath) + { + HttpRequest request = url.ActionContext.HttpContext.Request; + return new Uri(new Uri(request.Scheme + "://" + request.Host.Value), url.Content(contentPath)).ToString(); + } + + private static async Task RenderLayoutAsync(Controller c, IPage a, string layN) + { + string nLay = ""; + switch (layN) + { + case "None": + return; + case "": + nLay = "_LayoutAsync"; + break; + default: + nLay = "_Layout" + layN; + break; + } + var t3 = ControllerExtensions.RenderViewAsync(c, nLay, null, true); + var t4 = ControllerExtensions.RenderSectionScript(c, nLay); + await Task.WhenAll(t3, t4); + a.Content = t3.Result; + a.Scripts = t4.Result; + } + public static async Task ViewAsync(this Controller controller) + { + string vr = controller.HttpContext.Request.Query["vr"].ToString(); + string layName = GetViewData(controller, "LayoutName", ""); + if (layName == "") { + layName = "Async"; + controller.ViewData["LayoutName"] = layName; + }; + switch (vr) + { + case "cAsync": + APage a = new APage(); + var t1 = ControllerExtensions.RenderViewAsync(controller, true); + var t2 = ControllerExtensions.RenderSectionScript(controller); + await Task.WhenAll(t1, t2); + a.Title = GetViewData(controller, "Title"); + a.PageId = GetViewData(controller, "PageID"); + a.FlexPageId = GetViewData(controller, "FlexPage", "None"); + a.LayoutName = layName; + a.Content = t1.Result; + a.Scripts = t2.Result; + return a.Json(); + case "lAsync": + APageLayout a1 = new APageLayout(); + var t = ControllerExtensions.RenderLayoutAsync(controller, a1, layName); + await t; + return a1.Json(); + default: + return await Task.FromResult(controller.View()); + } + } + private static T GetViewData(Controller controller, string key, T defaultValue = default!) + { + if (!controller.ViewData.ContainsKey(key)) + return defaultValue; + + object? rawValue = controller.ViewData[key]; + if (rawValue == null) + return defaultValue; + + try + { + // Trả lại trực tiếp nếu đã đúng kiểu + if (rawValue is T tVal) + return tVal; + + // Ép kiểu từ chuỗi + string? strValue = rawValue.ToString(); + if (string.IsNullOrWhiteSpace(strValue)) + return defaultValue; + + if (typeof(T).IsEnum) + { + return (T)Enum.Parse(typeof(T), strValue, ignoreCase: true); + } + + object? converted = Convert.ChangeType(strValue, typeof(T)); + return converted is T result ? result : defaultValue; + } + catch + { + return defaultValue; + } + } + + public static async Task RenderSectionScript(this Controller controller) + { + controller.ViewData["Layout"] = "SectionScript"; + return await RenderViewAsync(controller); + } + + public static async Task RenderSectionScript(this Controller controller, string viewName) + { + controller.ViewData["Layout"] = "SectionScript"; + return await RenderViewAsync(controller, viewName, null); + } + + public static async Task RenderViewAsync(this Controller controller, bool partial = false) + { + return await RenderViewAsync(controller, null, partial); + } + + public static async Task RenderViewAsync(this Controller controller, object? model, bool partial = false) + { + return await RenderViewAsync(controller, controller.ControllerContext.ActionDescriptor.ActionName, model, partial); + } + + public static async Task RenderViewAsync(this Controller controller, string viewName, object? model, bool partial = false) + { + + controller.ViewData.Model = model; + + using (var writer = new StringWriter()) + { + IViewEngine? viewEngine = controller.HttpContext.RequestServices.GetService(typeof(ICompositeViewEngine)) as ICompositeViewEngine; + ViewEngineResult viewResult = viewEngine == null ? throw new ArgumentNullException("View Engigne Result not null") : viewEngine.FindView(controller.ControllerContext, viewName, !partial); + + if (viewResult.Success == false) + { + return $"A view with the name {viewName} could not be found"; + } + + + ViewContext viewContext = new ViewContext( + controller.ControllerContext, + viewResult.View, + controller.ViewData, + controller.TempData, + writer, + new HtmlHelperOptions() + ); + await viewResult.View.RenderAsync(viewContext); + return Regex.Replace(writer.ToString(), @"(?>[^\S ]\s*| \s{2,})", "").Trim(); + } + } + } +} diff --git a/AppLibs/AppLibs/Libs/Crypt/Adler32.cs b/AppLibs/AppLibs/Libs/Crypt/Adler32.cs new file mode 100644 index 0000000..d53d5e7 --- /dev/null +++ b/AppLibs/AppLibs/Libs/Crypt/Adler32.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AppLibs.Libs.Crypt +{ + public class Adler32 + { + private const uint MOD_ADLER = 65521; + public uint ComputeHash(byte[] data) + { + + uint a = 1, b = 0; + + foreach (var c in data) + { + a = (a + c) % MOD_ADLER; + b = (b + a) % MOD_ADLER; + } + + return (b << 16) | a; + } + } +} diff --git a/AppLibs/AppLibs/Libs/Crypt/CRC32.cs b/AppLibs/AppLibs/Libs/Crypt/CRC32.cs new file mode 100644 index 0000000..559a08c --- /dev/null +++ b/AppLibs/AppLibs/Libs/Crypt/CRC32.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AppLibs.Libs.Crypt +{ + public class CRC32 + { + private readonly uint[] ChecksumTable; + private readonly uint Polynomial = 0xEDB88320; + + public CRC32() + { + ChecksumTable = new uint[0x100]; + + for (uint index = 0; index < 0x100; ++index) + { + uint item = index; + for (int bit = 0; bit < 8; ++bit) + item = ((item & 1) != 0) ? (Polynomial ^ (item >> 1)) : (item >> 1); + ChecksumTable[index] = item; + } + } + + public byte[] ComputeHash(Stream stream) + { + uint result = 0xFFFFFFFF; + + int current; + while ((current = stream.ReadByte()) != -1) + result = ChecksumTable[(result & 0xFF) ^ (byte)current] ^ (result >> 8); + + byte[] hash = BitConverter.GetBytes(~result); + Array.Reverse(hash); + return hash; + } + + public byte[] ComputeHash(byte[] data) + { + using (MemoryStream stream = new MemoryStream(data)) + return ComputeHash(stream); + } + + public string HashToString(byte[] data) + { + var hash = this.ComputeHash(data); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < hash.Length; i++) + { + sb.Append(hash[i].ToString("X2")); + } + return sb.ToString(); + } + } +} diff --git a/AppLibs/AppLibs/Libs/Crypt/CRC64.cs b/AppLibs/AppLibs/Libs/Crypt/CRC64.cs new file mode 100644 index 0000000..c6bd9d2 --- /dev/null +++ b/AppLibs/AppLibs/Libs/Crypt/CRC64.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AppLibs.Libs.Crypt +{ + public class CRC64 + { + private const ulong Polynomial = 0xC96C5795D7870F42; + private readonly ulong[] _table = new ulong[256]; + + public CRC64() + { + for (ulong i = 0; i < 256; i++) + { + ulong crc = i; + for (int j = 0; j < 8; j++) + { + if ((crc & 1) == 1) + { + crc = (crc >> 1) ^ Polynomial; + } + else + { + crc >>= 1; + } + } + _table[i] = crc; + } + } + + public ulong ComputeHash(byte[] buffer) + { + ulong crc = 0xFFFFFFFFFFFFFFFF; + foreach (byte b in buffer) + { + byte tableIndex = (byte)((crc ^ b) & 0xFF); + crc = _table[tableIndex] ^ (crc >> 8); + } + return ~crc; + } + public string HashToString(byte[] data) + { + var hash = this.ComputeHash(data); + return hash.ToString("X2"); + } + } +} diff --git a/AppLibs/AppLibs/Libs/LayoutAttribute.cs b/AppLibs/AppLibs/Libs/LayoutAttribute.cs new file mode 100644 index 0000000..c9a50cb --- /dev/null +++ b/AppLibs/AppLibs/Libs/LayoutAttribute.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Filters; + +namespace AppLibs.Libs +{ + public enum LayoutOptions + { + Default, + None, + Custom + } + public class LayoutAttribute : Attribute, IActionFilter + { + + private string _layoutName; + + public LayoutAttribute():this(LayoutOptions.Default) + { + } + + public LayoutAttribute(LayoutOptions option, string layoutName = "") + { + switch (option) + { + case LayoutOptions.Default: + _layoutName = "Async"; + break; + case LayoutOptions.Custom: + _layoutName = layoutName; + break; + case LayoutOptions.None: + _layoutName = "None"; + break; + } + } + + void IActionFilter.OnActionExecuted(ActionExecutedContext context) + { + + } + + void IActionFilter.OnActionExecuting(ActionExecutingContext context) + { + Controller? controller = context.Controller as Controller; + if (controller != null) + { + controller.ViewData["LayoutName"] = this._layoutName; + } + } + } +} diff --git a/AppLibs/AppLibs/Libs/NavItem.cs b/AppLibs/AppLibs/Libs/NavItem.cs new file mode 100644 index 0000000..393b2f1 --- /dev/null +++ b/AppLibs/AppLibs/Libs/NavItem.cs @@ -0,0 +1,44 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AppLibs.Libs +{ + public class NavItem + { + [JsonProperty(PropertyName = "id")] + public string ID { set; get; } + + [JsonProperty(PropertyName = "name")] + public string Name { set; get; } + + [JsonProperty(PropertyName = "group")] + public bool IsGroup { set; get; } + + [JsonProperty(PropertyName = "icon")] + public string Icon { set; get; } + + [JsonProperty(PropertyName = "url")] + public string Url { set; get; } + [JsonProperty(PropertyName = "flexPage")] + public bool IsFlexPage { set; get; } + + [JsonProperty(PropertyName = "sub-item")] + public List SubItem { set; get; } + + public NavItem() + { + Icon = ""; + ID = ""; + Name = ""; + IsGroup = false; + IsFlexPage = false; + Url = ""; + SubItem = new List(); + } + + } +} diff --git a/AppLibs/AppLibs/Libs/PageInforAttribute.cs b/AppLibs/AppLibs/Libs/PageInforAttribute.cs new file mode 100644 index 0000000..ce2c4aa --- /dev/null +++ b/AppLibs/AppLibs/Libs/PageInforAttribute.cs @@ -0,0 +1,38 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Filters; + +namespace AppLibs.Libs +{ + public class PageInforAttribute : Attribute, IActionFilter + { + private string _pageID; + private string _pageName; + private string _flexPage; + + public PageInforAttribute(string pageID, string pageName) + { + this._pageID = pageID; + this._pageName = pageName; + } + + public PageInforAttribute(string pageID, string pageName, string flexPage) : this(pageID, pageName) + { + this._flexPage = flexPage; + + } + public void OnActionExecuted(ActionExecutedContext context) + { + } + + public void OnActionExecuting(ActionExecutingContext context) + { + Controller? controller = context.Controller as Controller; + if (controller != null) + { + controller.ViewData["PageID"] = this._pageID; + controller.ViewData["Title"] = this._pageName; + controller.ViewData["FlexPage"] = this._flexPage; + } + } + } +} diff --git a/AppLibs/AppLibs/Libs/Pages/APage.cs b/AppLibs/AppLibs/Libs/Pages/APage.cs new file mode 100644 index 0000000..5df4682 --- /dev/null +++ b/AppLibs/AppLibs/Libs/Pages/APage.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AppLibs.Libs.Pages +{ + public class APage: APageLayout + { + public string Title { get; set; } = ""; + + public string LayoutName { set; get; } + public string PageId { set; get; } = ""; + + public string FlexPageId { set; get; } = "None"; + + public override string PageType { get { return "Page"; } } + } +} diff --git a/AppLibs/AppLibs/Libs/Pages/APageLayout.cs b/AppLibs/AppLibs/Libs/Pages/APageLayout.cs new file mode 100644 index 0000000..7f26bd8 --- /dev/null +++ b/AppLibs/AppLibs/Libs/Pages/APageLayout.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; + +namespace AppLibs.Libs.Pages +{ + public class APageLayout : IPage + { + public virtual string PageType { get { return "LayoutPage"; } } + + public string Content { get; set; } = ""; + public string Scripts { get; set; } = ""; + + public IActionResult Json() + { + return new ContentResult() { Content = JsonConvert.SerializeObject(this), ContentType = "application/json" }; + } + } +} diff --git a/AppLibs/AppLibs/Libs/Pages/IPage.cs b/AppLibs/AppLibs/Libs/Pages/IPage.cs new file mode 100644 index 0000000..073c47c --- /dev/null +++ b/AppLibs/AppLibs/Libs/Pages/IPage.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; + +namespace AppLibs.Libs.Pages +{ + public interface IPage + { + public string PageType { get; } + public string Content { set; get; } + public string Scripts { set; get; } + public IActionResult Json(); + } +} diff --git a/AppLibs/AppLibs/Libs/WSNavigation.cs b/AppLibs/AppLibs/Libs/WSNavigation.cs new file mode 100644 index 0000000..425f878 --- /dev/null +++ b/AppLibs/AppLibs/Libs/WSNavigation.cs @@ -0,0 +1,48 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AppLibs.Libs +{ + public class WSNavigation + { + private static List list; + + private static Task t; + + public static void LoadJson() + { + t = Task.Run(() => LoadNavItem()); + } + + static async Task LoadNavItem() + { + list = new List(); + using (var reader = new StreamReader(Path.GetFullPath("Json/navlist.json"))) + { + string json = await reader.ReadToEndAsync(); + list = JsonConvert.DeserializeObject>(json); + } + } + public static List GetListMenu() + { + if (t != null) + { + if (t.IsCompleted) + { + return list; + } + else + { + t.Wait(); + } + return list; + } + return new List(); + + } + } +} diff --git a/AppLibs/AppLibs/wwwroot/css/atg-font/atg-admin-font.css b/AppLibs/AppLibs/wwwroot/css/atg-font/atg-admin-font.css new file mode 100644 index 0000000..728b6ee --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/css/atg-font/atg-admin-font.css @@ -0,0 +1,253 @@ +@font-face { + font-family: 'atg-admin-font'; + font-style: normal; + font-display: block; + font-weight: 400; + src: url("../../font/atgfont-Regular.woff") format('woff'), url("../../font/atgfont-Regular.woff2") format('woff2') +} + +.atg { + font-family: atg-admin-font; + font-weight: 400; + text-rendering: auto; + color: inherit; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.a-1x { + font-size: 1em +} + +.a-2x { + font-size: 2em +} + +.a-3x { + font-size: 3em +} + +.a-4x { + font-size: 4em +} + +.a-5x { + font-size: 5em +} + +.a-6x { + font-size: 6em +} + +.a-7x { + font-size: 7em +} + +.a-8x { + font-size: 8em +} + +.a-9x { + font-size: 9em +} + +.a-10x { + font-size: 10em +} + +.atg-message:before { + content: "\a001" +} + +.atg-email:before { + content: "\a002" +} + +.atg-check-sqare:before { + content: "\a003" +} + +.atg-calendar:before { + content: "\a004" +} + +.atg-notification:before { + content: "\a005" +} + +.atg-search:before { + content: "\a006" +} + +.atg-star:before { + content: "\a007" +} + +.atg-setting:before { + content: "\a008" +} + +.atg-user:before { + content: "\a009" +} + +.atg-user-1:before { + content: "\a00a" +} + +.atg-package:before { + content: "\a00b" +} + +.atg-print:before { + content: "\a00c" +} + +.atg-layout:before { + content: "\a00d" +} + +.atg-grid:before { + content: "\a00e" +} + +.atg-grid:before { + content: "\a00e" +} + +.atg-document:before { + content: "\a00f" +} + +.atg-instagram:before { + content: "\a010" +} + +.atg-tweeter:before { + content: "\a011" +} + +.atg-facebook:before { + content: "\a012" +} + +.atg-google-plus:before { + content: "\a013" +} + +.atg-phone:before { + content: "\a014" +} + +.atg-location:before { + content: "\a015" +} + +.atg-heart:before { + content: "\a016" +} + +.atg-more:before { + content: "\a017" +} + +.atg-home:before{ + content: "\a018" +} + +.atg-circle:before{ + content: "\a019" +} +.atg-down:before { + content: "\a01a" +} + +.a-down-thick:before { + content: "\a01a" +} + +.atg-x:before { + content: "\a01b" +} + +.atg-book:before { + content: "\a01c" +} + +.atg-catalogue:before { + content: "\a01d" +} + +.atg-product:before{ + content: "\a01e" +} + +.atg-plus:before{ + content: "\a01f" +} + +.atg-embeded:before { + content: "\a020" +} + +.atg-upload:before { + content: "\a021" +} + +.atg-download:before { + content: "\a022" +} + +.atg-moveto:before { + content: "\a023" +} + + +.atg-copy:before { + content: "\a024" +} + + +.atg-pencil:before { + content: "\a025" +} + + +.atg-rename:before { + content: "\a026" +} + +.atg-delete:before { + content: "\a027" +} + +.atg-menu:before { + content: "\a029" +} + +.atg-dot:before { + content: "\a02a" +} + +.atg-storage:before { + content: "\a02b" +} + +.atg-storage-setting:before { + content: "\a02c" +} + +.atg-storage-add:before { + content: "\a02d" +} + +.atg-tick:before{ + content: "\a02e" +} + +.atg-less:before{ + content: "\a02f" +} +.atg-minus:before { + content: "\a031" +} \ No newline at end of file diff --git a/AppLibs/AppLibs/wwwroot/css/atg-font/atg-font.css b/AppLibs/AppLibs/wwwroot/css/atg-font/atg-font.css new file mode 100644 index 0000000..f06c25f --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/css/atg-font/atg-font.css @@ -0,0 +1,195 @@ +@font-face { + font-family: 'ATG-Icon'; + font-display: block; + src: url("../../font/ATGIcon-Regular.woff") format('woff')/*, url("../font/atg-admin-font.woff2") format('woff2')*/ +} + +.atg { + display: flex; + align-items: center; + font-family: ATG-Icon; + font-weight: 400; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-style: normal; + line-height: 1; +} + +.a-1x { + font-size: 1em +} + +.a-2x { + font-size: 2em +} + +.a-3x { + font-size: 3em +} + +.a-4x { + font-size: 4em +} + +.a-5x { + font-size: 5em +} + +.a-6x { + font-size: 6em +} + +.a-7x { + font-size: 7em +} + +.a-8x { + font-size: 8em +} + +.a-9x { + font-size: 9em +} + +.a-10x { + font-size: 10em +} + +.a-s-lightbulb-gear:before{ + content: '\effff' +} + +.a-lightbulb-gear:before{ + content: '\f0001' +} + +.a-target:before{ + content: '\f0002' +} + +.a-stragery:before{ + content: '\f0003' +} + +.a-focus:before{ + content: '\f0004' +} + +.a-cup:before{ + content: '\f0005' +} + +.a-handshake:before{ + content: '\f0006' +} + +.a-clock:before { + content: '\f0007' +} + +.a-clock-thin::before { + content: '\f0008' +} + +.a-phone:before { + content: '\f0009' +} + +.a-phone1:before { + content: '\f000a' +} + +.a-less:before { + content: '\f000B' +} + +.a-more:before { + content: '\f000C' +} + +.a-up:before { + content: '\f000D' +} + +.a-down:before { + content: '\f000E' +} + +.a-down-thick:before { + content: '\f000F' +} + +.a-less-thick:before { + content: '\f0010' +} + +.a-more-thick:before { + content: '\f0011' +} + +.a-up-thick:before { + content: '\f0012' +} + +.a-shape-down:before { + content: '\f0013' +} + +.a-shape-less:before { + content: '\f0014' +} + +.a-shape-more:before { + content: '\f0015' +} + +.a-shape-up:before { + content: '\f0016' +} + +.a-arrow-right-thick:before { + content: '\f0017' +} + +.a-arrow-right-thin:before { + content: '\f0018' +} + +.a-location1:before { + content: '\f0019' +} + +.a-location2:before{ + content: '\f0020' +} + +.a-email1:before{ + content: '\f0021' +} + +.a-email2:before { + content: '\f0022' +} +.a-twitter:before { + content: '\f0023' +} + +.a-google-plus:before { + content: '\f0024' +} + +.a-facebook:before { + content: '\f0025' +} + +.a-linkedin:before { + content: '\f0026' +} +.a-youtube:before { + content: '\f0027' +} + +.a-bag:before { + content: '\f0028' +} diff --git a/AppLibs/AppLibs/wwwroot/css/atg-lib/atg-core-min.css b/AppLibs/AppLibs/wwwroot/css/atg-lib/atg-core-min.css new file mode 100644 index 0000000..fbb9b04 --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/css/atg-lib/atg-core-min.css @@ -0,0 +1 @@ +:root{--vh: 100%;--margin-base: 25px;}.main-scrollbar.iOS {overflow:visible !important; height: auto !important} [data-scrollbar], .mini-scrollbar {overflow: hidden;height: 100vh;height: calc(var(--vh, 1vh) * 100);width: 100% }.noselect {-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none }a{text-decoration: none }button, input, textarea {font-family: Quicksand,'Segoe UI', Arial !important;cursor: pointer }.bg-white{background: white }html {-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;-webkit-tap-highlight-color: transparent;-ms-overflow-style: none;scrollbar-width: none;font-family: Quicksand,'Segoe UI', Arial;color: #333;}body {-ms-overflow-style: none;scrollbar-width: none;overflow: hidden;margin: 0;font-size: 1rem;font-weight: 400;line-height: 1.5;text-align: left;background-color: #fff;}htm::-webkit-scrollbar, body::-webkit-scrollbar {display: none;}button, div, i, img, header, footer, main, content, section{display: block;position:relative;}input, textarea, button {border: none;outline: none;transition: all .3s ease-in-out }*, ::after, ::before {box-sizing: border-box;}ol, ul {margin: 0;padding: 0;list-style: none;}h1, h2, h3, h4, h5, h6, p {display: block;position: relative;margin: 0;}.text-justify {text-align: justify }.text-center {text-align: center }.h-100vh {min-height: 100vh;}.h-100 {height: 100%;}.w-100{width: 100%;}.cfull {width: 100% !important;}.chf {width: 96% !important;margin-right: auto;margin-left: auto;}.con-60 {max-width: 60%;margin-right: auto;margin-left: auto;}.c, [class^=cf-] {width: 100%;margin-right: auto;margin-left: auto;}@media (min-width:576px) {.c, .cf-s {width: 100%;}}@media (min-width:768px) {.c, .cf-l {max-width: 720px;}.r-s {margin: 0 20px !important;}}@media (min-width:992px) {.c, .cf-m {max-width: 960px;}}@media (min-width:1200px) {.c, .cf-x {max-width: 1180px;}}@media (min-width:1400px){.c, .cf-xl {max-width: 1360px;}}@media (min-width:1900px) {.c, .cf-xs {max-width: 1660px;}}.r, .r-s, .r-n-g, .r-d {display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;}.r {margin-right: var(--margin-base);margin-left: var(--margin-base);}.r-s{margin: 0 45px;}.r-n-g {margin-right: 0;margin-left: 0;}.r > .c, .r > [class^=c-] {padding-right: 0;padding-left: 0;}.r-n-g > [class^=c-], .r > [class^=c-] {position: relative;width: 100%;min-height: 1px;}.c-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-n {display: none !important;}.d-b {display: block !important;}.d-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.m-0 {margin: 0 !important;}.mt-0{margin-top: 0 !important;}.mr-0{margin-right: 0 !important;}.mb-0{margin-bottom: 0 !important;}.ml-0{margin-left: 0 !important;}.m-1 {margin: .25rem !important;}.mt-1{margin-top: .25rem !important;}.mr-1{margin-right: .25rem !important;}.mb-1{margin-bottom: .25rem !important;}.ml-1{margin-left: .25rem !important;}.m-2 {margin: .5rem !important;}.mt-2{margin-top: .5rem !important;}.mr-2{margin-right: .5rem !important;}.mb-2{margin-bottom: .5rem !important;}.ml-2{margin-left: .5rem !important;}.m-3 {margin: 1rem !important;}.mt-3{margin-top: 1rem !important;}.mr-3{margin-right: 1rem !important;}.mb-3{margin-bottom: 1rem !important;}.ml-3{margin-left: 1rem !important;}.m-4 {margin: 1.5rem !important;}.mt-4{margin-top: 1.5rem !important;}.mr-4{margin-right: 1.5rem !important;}.mb-4{margin-bottom: 1.5rem !important;}.ml-4{margin-left: 1.5rem !important;}.m-5 {margin: 3rem !important;}.mt-5{margin-top: 3rem !important;}.mr-5{margin-right: 3rem !important;}.mb-5{margin-bottom: 3rem !important;}.ml-5{margin-left: 3rem !important;}.p-0 {padding: 0 !important;}.pt-0{padding-top: 0 !important;}.pr-0{padding-right: 0 !important;}.pb-0{padding-bottom: 0 !important;}.pl-0{padding-left: 0 !important;}.p-1 {padding: .25rem !important;}.pt-1{padding-top: .25rem !important;}.pr-1{padding-right: .25rem !important;}.pb-1{padding-bottom: .25rem !important;}.pl-1{padding-left: .25rem !important;}.p-2 {padding: .5rem !important;}.pt-2{padding-top: .5rem !important;}.pr-2{padding-right: .5rem !important;}.pb-2{padding-bottom: .5rem !important;}.pl-2{padding-left: .5rem !important;}.p-3 {padding: 1rem !important;}.pt-3{padding-top: 1rem !important;}.pr-3{padding-right: 1rem !important;}.pb-3{padding-bottom: 1rem !important;}.pl-3{padding-left: 1rem !important;}.p-4 {padding: 1.5rem !important;}.pt-4{padding-top: 1.5rem !important;}.pr-4{padding-right: 1.5rem !important;}.pb-4{padding-bottom: 1.5rem !important;}.pl-4{padding-left: 1.5rem !important;}.p-5 {padding: 3rem !important;}.pt-5{padding-top: 3rem !important;}.pr-5{padding-right: 3rem !important;}.pb-5{padding-bottom: 3rem !important;}.pl-5{padding-left: 3rem !important;}.m-auto {margin: auto !important;}.mt-auto{margin-top: auto !important;}.mr-auto{margin-right: auto !important;}.mb-auto{margin-bottom: auto !important;}.ml-auto{margin-left: auto !important;}.gap-0 {gap: 0 !important;}.gap-1 {gap: 0.25rem !important;}.gap-2 {gap: 0.5rem !important;}.gap-3 {gap: 1rem !important;}.gap-4 {gap: 1.5rem !important;}.gap-5 {gap: 3rem !important;}@media (min-width:576px) {.c-s-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-s-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-s-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-s-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-s-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-s-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-s-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-s-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-s-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-s-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-s-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-s-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-s-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-s-n {display: none !important;}.d-s-b {display: block !important;}.d-s-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-s-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-s-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-s-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-s-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-s-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-s-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-s-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-s-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-s-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-s-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-s-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-s-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-s-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-s-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-s-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-s-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-s-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-s-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-s-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-s-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-s-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-s-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-s-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-m-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-m-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-m-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-m-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-m-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-m-stretch {-ms-flex-item-align: stretch !important;align-items: stretch !important;}.gap-s-0 {gap: 0 !important;}.gap-s-1 {gap: 0.25rem !important;}.gap-s-2 {gap: 0.5rem !important;}.gap-s-3 {gap: 1rem !important;}.gap-s-4 {gap: 1.5rem !important;}.gap-s-5 {gap: 3rem !important;}}@media (min-width:768px) {.c-m-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-m-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-m-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-m-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-m-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-m-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-m-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-m-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-m-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-m-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-m-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-m-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-m-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-m-n {display: none !important;}.d-m-b {display: block !important;}.d-m-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-m-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-m-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-m-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-m-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-m-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-m-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-m-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-m-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-m-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-m-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-m-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-m-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-m-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-m-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-m-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-m-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-m-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-m-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-m-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-m-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-m-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-m-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-m-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-m-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-m-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-m-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-m-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-m-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-m-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.mr-m-0{margin-right: 0!important }.ml-m-0{margin-left: 0!important }.mt-m-0 {margin-top: 0 !important }.pl-m-5{padding-left: 3rem !important;}.pr-m-5 {padding-right: 3rem !important;}.gap-m-0 {gap: 0 !important;}.gap-m-1 {gap: 0.25rem !important;}.gap-m-2 {gap: 0.5rem !important;}.gap-m-3 {gap: 1rem !important;}.gap-m-4 {gap: 1.5rem !important;}.gap-m-5 {gap: 3rem !important;}}@media (min-width:992px) {.c-l-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-l-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-l-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-l-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-l-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-l-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-l-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-l-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-l-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-l-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-l-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-l-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-l-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-l-n {display: none !important;}.d-l-b {display: block !important;}.d-l-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-l-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-l-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-l-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-l-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-l-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-l-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-l-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-l-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-l-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-l-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-l-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-l-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-l-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-l-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-l-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-l-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-l-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-l-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-l-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-l-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-l-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-l-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-l-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-l-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-l-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-l-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-l-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-l-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-l-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.pr-l-5 {padding-right: 3rem !important;}.pl-l-5 {padding-left: 3rem !important;}.gap-l-0 {gap: 0 !important;}.gap-l-1 {gap: 0.25rem !important;}.gap-l-2 {gap: 0.5rem !important;}.gap-l-3 {gap: 1rem !important;}.gap-l-4 {gap: 1.5rem !important;}.gap-l-5 {gap: 3rem !important;}}@media (min-width:1200px) {.c-x-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-x-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-x-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-x-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-x-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-x-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-x-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-x-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-x-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-x-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-x-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-x-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-x-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-x-n {display: none !important;}.d-x-b {display: block !important;}.d-x-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-x-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-x-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-x-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-x-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-x-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-x-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-x-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-x-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-x-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-x-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-x-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-x-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-x-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-x-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-x-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-x-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-x-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-x-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-x-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-x-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-x-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-x-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-x-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-x-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-x-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-x-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-x-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-x-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-x-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.ml-x-auto {margin-left: auto !important;}.mb-x-0{margin-bottom: 0 !important;}}@media (min-width:1400px) {.c-xm-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-xm-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-xm-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-xm-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-xm-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-xm-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-xm-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-xm-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-xm-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-xm-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-xm-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-xm-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-xm-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-xm-n {display: none !important;}.d-xm-b {display: block !important;}.d-xm-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-xm-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-xm-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-xm-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-xm-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-xm-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-xm-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-xm-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-xm-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-xm-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-xm-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-xm-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-xm-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-xm-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-xm-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-xm-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-xm-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-xm-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-xm-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-xm-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-xm-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-xm-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-xm-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-xm-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-xm-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-xm-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-xm-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-xm-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-xm-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-xm-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.ml-xm-auto {margin-left: auto !important;}.ml-xm-5 {margin-left: 3rem !important;}.mb-xm-0 {margin-bottom: 0 !important;}}@media (min-width:1900px) {.c-sx-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-sx-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-sx-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-sx-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-sx-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-sx-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-sx-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-sx-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-sx-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-sx-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-sx-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-sx-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-sx-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-sx-n {display: none !important;}.d-sx-b {display: block !important;}.d-sx-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-sx-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}}html {font-size: 12px }@media (min-width: 768px) {html {font-size: 14px;}}@media (min-width: 1200px) {html {font-size: 16px;}}h1 {font-size: 2.3rem }h2 {font-size: 1.9rem }h3 {font-size: 1.4rem }.light .border-b {border-bottom: 1px solid #41475435;}.dark .border-b {border-bottom: 1px solid #dee2e6;}.filter {position: absolute;width: 100%;height: 100%;z-index: 1 }:root {--blue: #20304f;--indigo: #6610f2;--purple: #6f42c1;--pink: #d63384;--red: #dc3545;--orange: #fd7e14;--yellow: #ffc107;--green: #80ba26;--teal: #20c997;--cyan: #0dcaf0;--white: #fff;--dark2-rgb: 42, 64, 104;--dark: #162440;--dark-rgb: 22, 36, 64;--dark1: #20304F;--dark1-rgb: 32, 48, 79;--gray: #6c757d;--gray-dark: #343a40;--gray-100: #f8f9fa;--gray-200: #e9ecef;--gray-300: #dee2e6;--gray-400: #ced4da;--gray-500: #adb5bd;--gray-600: #6c757d;--gray-700: #495057;--gray-800: #343a40;--gray-900: #212529;--primary: #f3525a;--secondary: #20304f;--success: #198754;--info: #0dcaf0;--warning: #ffc107;--danger: #dc3545;--light: #f8f9fa;--btn-font-weight: 500;--margin-gap: 3px;--border-radius: 5px;--light-bg: #F9F9FA;--margin-row: calc(var(--margin-base) - var(--margin-gap));--footer-color: #FFFFFFCC;--footer-border-color: #ffffff99;--input-padding: 7px;}.m-gap {margin: 0 var(--margin-gap);}.p-gap {padding: 0 var(--margin-gap);}.r-d {margin-right: var(--margin-row);margin-left: var(--margin-row);}.primary-color {color: var(--primary) }.bg-dark {background-color: var(--dark) }.bg-dark1 {background-color: var(--dark1) }.bg-dark2 {background-color: rgb(var(--dark2-rgb)) }.bg-white {background-color: white }.bg-primary {background-color: var(--primary) }.bg-light {background-color: var(--light-bg) }.text-white {color: #fff;}[data-scrollbar], [scrollbar], scrollbar {display: block;position: relative }[data-scrollbar] .scrollbar-track {z-index: 2000 !important }[data-scrollbar] .scroll-content, [scrollbar] .scroll-content, scrollbar .scroll-content {-webkit-transform: translateZ(0);transform: translateZ(0) }[data-scrollbar].sticky .scrollbar-track, [scrollbar].sticky .scrollbar-track, scrollbar.sticky .scrollbar-track {background-color: transparent }[data-scrollbar] .scrollbar-track, [scrollbar] .scrollbar-track, scrollbar .scrollbar-track {position: absolute;opacity: 0;z-index: 1;transition: opacity .5s ease-out,background .5s ease-out;background: none;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none }[data-scrollbar] .scrollbar-track.show, [data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track.show, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track.show, scrollbar .scrollbar-track:hover {opacity: 1 }[data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track:hover {background: hsla(0,0%,87%,.75) }[data-scrollbar] .scrollbar-track-x, [scrollbar] .scrollbar-track-x, scrollbar .scrollbar-track-x {bottom: 0;left: 0;width: 100%;height: 8px }[data-scrollbar] .scrollbar-track-y, [scrollbar] .scrollbar-track-y, scrollbar .scrollbar-track-y {top: 4px;right: 0;width: 4px;height: 100% }[data-scrollbar] .scrollbar-thumb, [scrollbar] .scrollbar-thumb, scrollbar .scrollbar-thumb {position: absolute;top: 0;left: 0;width: 2px;height: 2px;background: rgba(0,0,0,.5);border-radius: 4px }[data-scrollbar] .overscroll-glow, [scrollbar] .overscroll-glow, scrollbar .overscroll-glow {position: absolute;top: 0;left: 0;width: 100%;height: 100% }.header {position: absolute;top: 0;left: 0;right: 0;z-index: 101 }.f-header {box-shadow: 0 2px 3px rgba(96, 96, 96, 0.1);z-index: 2;width: 100%;background-color: #fff;position: absolute;top: -100px;transition: top .3s ease-in }.f-header .nav-link {padding-top: 1.8rem;padding-bottom: 1.8rem;}.f-header.show {top: 0 }.row1 .nav-item {font-weight: 500;}.row1 .atg {font-size: 1rem }.row2 {margin-top: 10px;}.c-logo img {height: 40px }.logo-light {display: none }.logo-dark {display: block }.hp .header {background-color: transparent;}.hp .logo-light {display: none }.hp .logo-dark {display: block }.navbar-nav .nav-item {display: flex;flex-direction: column }.navbar-nav.nav-item .dropdown::after, .navbar-nav .nav-link::after, .navbar-nav .nav-item .dropdown::before, .navbar-nav .nav-link::before {content: '';display: block;position: absolute;height: 0;width: 0;left: 50%;right: 50%;bottom: 0;background: var(--red) }.navbar-nav .dropdown::after, .navbar-nav .nav-link::after, .navbar-nav .nav-link.active::after {border-top-left-radius: 3px;border-bottom-left-radius: 3px;transition: left .35s ease-out, width .35s ease-out }.navbar-nav .dropdown::before, .navbar-nav .nav-link::before, .navbar-nav .nav-link.active::before {border-top-right-radius: 3px;border-bottom-right-radius: 3px;transition: right .35s ease-out, width .35s ease-out }.navbar-nav .nav-item.active .dropdown::after, .navbar-nav .nav-link:hover::after, .navbar-nav .nav-link.active::after {left: 5%;right: 45%;width: 45%;height: 3px }.navbar-nav .nav-item.active .dropdown::before, .navbar-nav .nav-link:hover::before, .navbar-nav .nav-link.active::before {left: 45%;right: 5%;width: 50%;height: 3px }.nav-link {color: var(--dark);text-transform: uppercase;font-size: 1.1rem;font-weight: 600;padding: 1.5rem 1rem;}.navbar-nav .sub-item {visibility: hidden;height: 0;}.ico-menu {cursor: pointer;margin: 16px 0;background-color: var(--secondary);border: 1px solid rgba(255, 255,255,.3);border-radius: var(--border-radius);padding: .1rem .6rem }.ico-menu div {text-align: left;display: block;width: 35px;height: 2px;background: white;margin-bottom: 8px;}.ico-menu div span {position: absolute;transition: width .3s ease-in;left: 0;top: 0;height: 2px;background: var(--primary) }.ico-menu div:first-child {margin-top: 8px;}.h-menu .item {color: #fff;cursor: pointer;padding: 4px 14px }.lets-work {top: 50%;transform: translateY(-50%) }.lets-work h1 {font-size: 2.8rem;color: white }.ss-footer1 {background-image: url(/images/banner/f_img1.jpg);background-repeat: no-repeat;background-size: cover;background-position: center;height: 380px;}.ss-footer1 .filter {background-color: rgba(var(--dark-rgb), .4) }.ss-footer2 img {width: 210px }.ss-footer2 {color: #FFFFFFCC !important;}.ss-footer3, .ss-footer2 {color: white;font-size: .9rem }.m-footer a {margin: 0 10px;color: white;transition: color ease-in .3s }.m-footer a:hove r {color: var(--primary) }.m-footer .item {margin: 2px 0;display: flex;color: var(--footer-color);align-items: center;}.m-footer.social i {font-size: 1.5rem;color: var(--footer-color) }.m-footer .item:hover {color: #FFF !important }.m-footer .item:hover i {color: var(--primary) }.m-footer i {transition: color ease-in .3s;margin-right: 10px;color: var(--green);}footer input, footer button {vertical-align: middle;color: var(--footer-color);border: 2px solid var(--footer-border-color);border-radius: 0;background-color: transparent;line-height: 23px;border-right-width: 0;}.ss-footer2 .btn {padding: var(--input-padding) calc(var(--input-padding) * 4);background-color: var(--footer-border-color);color: var(--dark1);border-top-left-radius: 0;border-bottom-left-radius: 0;border-left: none;line-height: 30px;} \ No newline at end of file diff --git a/AppLibs/AppLibs/wwwroot/css/atg-lib/atg-core.css b/AppLibs/AppLibs/wwwroot/css/atg-lib/atg-core.css new file mode 100644 index 0000000..7b34fd4 --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/css/atg-lib/atg-core.css @@ -0,0 +1,2820 @@ +:root { + --vh: 100%; + --margin-base: 25px; +} + +[data-scrollbar], .mini-scrollbar { + overflow: hidden; + height: calc(var(--vh, 1vh) * 100); + width: 100% +} + +.main-scrollbar.iOS { + overflow: visible !important; + height: auto !important +} + +.noselect { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} + +a { + text-decoration: none +} + +button, input, textarea { + font-family: Quicksand,'Segoe UI', Arial !important; + cursor: pointer +} + +.bg-white { + background: white +} + +html { + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -webkit-tap-highlight-color: transparent; + font-family: Quicksand,'Segoe UI', Arial; + color: #333; +} + html:not(:has(.main-scrollbar.iOS)) { + -ms-overflow-style: none; + scrollbar-width: none; + } +body { + margin: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + text-align: left; + background-color: #fff; +} + + body:not(:has(.main-scrollbar.iOS)) { + -ms-overflow-style: none; + scrollbar-width: none; + overflow: hidden; + } + + html:not(:has(.main-scrollbar.iOS))::-webkit-scrollbar, body:not(:has(.main-scrollbar.iOS))::-webkit-scrollbar { + display: none; + } + +button, div, i, img, header, footer, main, content, section { + display: block; + position: relative; +} + +input, textarea, button { + border: none; + outline: none; + transition: all .3s ease-in-out +} + +*, ::after, ::before { + box-sizing: border-box; +} + +ol, ul { + margin: 0; + padding: 0; + list-style: none; +} + +h1, h2, h3, h4, h5, h6, p { + display: block; + position: relative; + margin: 0; +} + +.text-justify { + text-align: justify +} + +.text-center { + text-align: center +} + +.h-100vh { + min-height: 100vh; +} + +.h-100 { + height: 100%; +} + +.w-100 { + width: 100%; +} + +.cfull { + width: 100% !important; +} + +.chf { + width: 96% !important; + margin-right: auto; + margin-left: auto; +} + +.con-60 { + max-width: 60%; + margin-right: auto; + margin-left: auto; +} + +.c, [class^=cf-] { + width: 100%; + margin-right: auto; + margin-left: auto; +} + +@media (min-width:576px) { + .c, .cf-s { + width: 100%; + } +} + +@media (min-width:768px) { + .c, .cf-l { + max-width: 720px; + } + + .r-s { + margin: 0 20px !important; + } +} + +@media (min-width:992px) { + .c, .cf-m { + max-width: 960px; + } +} + +@media (min-width:1200px) { + .c, .cf-x { + max-width: 1180px; + } +} + +@media (min-width:1400px) { + .c, .cf-xl { + max-width: 1360px; + } +} + +@media (min-width:1900px) { + .c, .cf-xs { + max-width: 1660px; + } +} + +.r, .r-s, .r-n-g, .r-d { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} + +.r { + margin-right: var(--margin-base); + margin-left: var(--margin-base); +} + +.r-s { + margin: 0 45px; +} + +.r-n-g { + margin-right: 0; + margin-left: 0; +} + +.r > .c, .r > [class^=c-] { + padding-right: 0; + padding-left: 0; +} + +.r-n-g > [class^=c-], .r > [class^=c-] { + position: relative; + width: 100%; + min-height: 1px; +} + +.c-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; +} + +.c-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.c-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.c-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.c-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.c-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.c-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.c-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.c-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.c-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.c-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.c-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.c-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.d-n { + display: none !important; +} + +.d-b { + display: block !important; +} + +.d-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; +} + +.f-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.f-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.f-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.f-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.f-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.f-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.f-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.j-c-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.j-c-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.j-c-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.j-c-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.j-c-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.a-i-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.a-i-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.a-i-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; +} + +.a-i-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.a-i-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.a-c-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.a-c-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.a-c-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.a-c-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.a-c-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.a-c-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.a-s-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.a-s-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.a-s-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.a-s-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.a-s-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.a-s-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mr-0 { + margin-right: 0 !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.ml-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: .25rem !important; +} + +.mt-1 { + margin-top: .25rem !important; +} + +.mr-1 { + margin-right: .25rem !important; +} + +.mb-1 { + margin-bottom: .25rem !important; +} + +.ml-1 { + margin-left: .25rem !important; +} + +.m-2 { + margin: .5rem !important; +} + +.mt-2 { + margin-top: .5rem !important; +} + +.mr-2 { + margin-right: .5rem !important; +} + +.mb-2 { + margin-bottom: .5rem !important; +} + +.ml-2 { + margin-left: .5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mr-3 { + margin-right: 1rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.ml-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mr-4 { + margin-right: 1.5rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mr-5 { + margin-right: 3rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.ml-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pr-0 { + padding-right: 0 !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pl-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: .25rem !important; +} + +.pt-1 { + padding-top: .25rem !important; +} + +.pr-1 { + padding-right: .25rem !important; +} + +.pb-1 { + padding-bottom: .25rem !important; +} + +.pl-1 { + padding-left: .25rem !important; +} + +.p-2 { + padding: .5rem !important; +} + +.pt-2 { + padding-top: .5rem !important; +} + +.pr-2 { + padding-right: .5rem !important; +} + +.pb-2 { + padding-bottom: .5rem !important; +} + +.pl-2 { + padding-left: .5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pr-3 { + padding-right: 1rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pl-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pr-4 { + padding-right: 1.5rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pr-5 { + padding-right: 3rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.pl-5 { + padding-left: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.mr-auto { + margin-right: auto !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ml-auto { + margin-left: auto !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +@media (min-width:576px) { + .c-s-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-s-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-s-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-s-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-s-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-s-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-s-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-s-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-s-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-s-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-s-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-s-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-s-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-s-n { + display: none !important; + } + + .d-s-b { + display: block !important; + } + + .d-s-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-s-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-s-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-s-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-s-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-s-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-s-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-s-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-s-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-s-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-s-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-s-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-s-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-s-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-s-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-s-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-s-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-s-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-s-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-s-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-s-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-s-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-s-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-s-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-m-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-m-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-m-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-m-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-m-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-m-stretch { + -ms-flex-item-align: stretch !important; + align-items: stretch !important; + } + + .gap-s-0 { + gap: 0 !important; + } + + .gap-s-1 { + gap: 0.25rem !important; + } + + .gap-s-2 { + gap: 0.5rem !important; + } + + .gap-s-3 { + gap: 1rem !important; + } + + .gap-s-4 { + gap: 1.5rem !important; + } + + .gap-s-5 { + gap: 3rem !important; + } +} + +@media (min-width:768px) { + .c-m-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-m-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-m-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-m-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-m-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-m-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-m-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-m-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-m-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-m-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-m-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-m-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-m-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-m-n { + display: none !important; + } + + .d-m-b { + display: block !important; + } + + .d-m-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-m-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-m-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-m-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-m-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-m-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-m-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-m-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-m-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-m-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-m-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-m-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-m-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-m-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-m-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-m-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-m-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-m-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-m-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-m-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-m-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-m-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-m-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-m-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-m-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-m-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-m-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-m-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-m-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-m-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + + .mr-m-0 { + margin-right: 0 !important + } + + .ml-m-0 { + margin-left: 0 !important + } + + .mt-m-0 { + margin-top: 0 !important + } + + .pl-m-5 { + padding-left: 3rem !important; + } + + .pr-m-5 { + padding-right: 3rem !important; + } + + .gap-m-0 { + gap: 0 !important; + } + + .gap-m-1 { + gap: 0.25rem !important; + } + + .gap-m-2 { + gap: 0.5rem !important; + } + + .gap-m-3 { + gap: 1rem !important; + } + + .gap-m-4 { + gap: 1.5rem !important; + } + + .gap-m-5 { + gap: 3rem !important; + } +} + +@media (min-width:992px) { + .c-l-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-l-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-l-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-l-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-l-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-l-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-l-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-l-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-l-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-l-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-l-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-l-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-l-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-l-n { + display: none !important; + } + + .d-l-b { + display: block !important; + } + + .d-l-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-l-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-l-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-l-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-l-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-l-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-l-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-l-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-l-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-l-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-l-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-l-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-l-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-l-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-l-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-l-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-l-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-l-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-l-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-l-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-l-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-l-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-l-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-l-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-l-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-l-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-l-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-l-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-l-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-l-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + + .ml-l-2 { + margin-left: .5rem !important + } + + .ml-l-3 { + margin-left: 1rem !important + } + + .mr-l-3{ + margin-right: 1rem !important + } + + .mb-l-0{ + margin-bottom: 0!important; + } + + .pr-l-5 { + padding-right: 3rem !important; + } + + .pl-l-5 { + padding-left: 3rem !important; + } + + .gap-l-0 { + gap: 0 !important; + } + + .gap-l-1 { + gap: 0.25rem !important; + } + + .gap-l-2 { + gap: 0.5rem !important; + } + + .gap-l-3 { + gap: 1rem !important; + } + + .gap-l-4 { + gap: 1.5rem !important; + } + + .gap-l-5 { + gap: 3rem !important; + } +} + +@media (min-width:1200px) { + .c-x-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-x-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-x-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-x-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-x-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-x-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-x-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-x-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-x-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-x-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-x-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-x-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-x-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-x-n { + display: none !important; + } + + .d-x-b { + display: block !important; + } + + .d-x-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-x-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-x-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-x-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-x-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-x-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-x-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-x-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-x-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-x-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-x-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-x-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-x-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-x-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-x-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-x-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-x-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-x-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-x-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-x-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-x-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-x-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-x-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-x-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-x-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-x-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-x-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-x-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-x-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-x-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + + .ml-x-auto { + margin-left: auto !important; + } + + .ml-x-5{ + margin-left: 3rem !important + } + + .mr-x-5{ + margin-right: 3rem !important + } + + .mb-x-0 { + margin-bottom: 0 !important; + } +} + +@media (min-width:1400px) { + .c-xm-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-xm-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-xm-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-xm-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-xm-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-xm-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-xm-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-xm-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-xm-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-xm-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-xm-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-xm-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-xm-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-xm-n { + display: none !important; + } + + .d-xm-b { + display: block !important; + } + + .d-xm-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-xm-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-xm-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-xm-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-xm-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-xm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-xm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-xm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-xm-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-xm-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-xm-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-xm-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-xm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-xm-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-xm-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-xm-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-xm-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-xm-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-xm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-xm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-xm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-xm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-xm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-xm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-xm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-xm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-xm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-xm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-xm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-xm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + + .ml-xm-auto { + margin-left: auto !important; + } + + .ml-xm-5 { + margin-left: 3rem !important; + } + + .mb-xm-0 { + margin-bottom: 0 !important; + } +} + +@media (min-width:1900px) { + .c-sx-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-sx-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-sx-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-sx-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-sx-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-sx-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-sx-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-sx-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-sx-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-sx-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-sx-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-sx-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-sx-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-sx-n { + display: none !important; + } + + .d-sx-b { + display: block !important; + } + + .d-sx-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-sx-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } +} + +html { + font-size: 12px +} + +@media (min-width: 768px) { + html { + font-size: 14px; + } +} + +@media (min-width: 1200px) { + html { + font-size: 16px; + } +} + +h1 { + font-size: 3.8rem +} + +h2 { + font-size: 2.8rem +} + +h3 { + font-size: 1.4rem +} + +.light .border-b { + border-bottom: 1px solid #41475435; +} + +.dark .border-b { + border-bottom: 1px solid #dee2e6; +} + +.filter { + position: absolute; + width: 100%; + height: 100%; + z-index: 1 +} + +:root { + --blue: #20304f; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #d63384; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #80ba26; + --teal: #20c997; + --cyan: #0dcaf0; + --white: #fff; + --dark2-rgb: 42, 64, 104; + --dark: #162440; + --dark-rgb: 22, 36, 64; + --dark1: #20304F; + --dark1-rgb: 32, 48, 79; + --gray: #6c757d; + --gray-dark: #343a40; + --gray-100: #f8f9fa; + --gray-200: #e9ecef; + --gray-300: #dee2e6; + --gray-400: #ced4da; + --gray-500: #adb5bd; + --gray-600: #6c757d; + --gray-700: #495057; + --gray-800: #343a40; + --gray-900: #212529; + --primary: #f3525a; + --secondary: #20304f; + --success: #198754; + --info: #0dcaf0; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --btn-font-weight: 500; + --margin-gap: 3px; + --border-radius: 5px; + --light-bg: #F9F9FA; + --margin-row: calc(var(--margin-base) - var(--margin-gap)); + --footer-color: #FFFFFFCC; + --footer-border-color: #ffffff99; + --input-padding: 7px; +} + +.m-gap { + margin: 0 var(--margin-gap); +} + +.p-gap { + padding: 0 var(--margin-gap); +} + +.r-d { + margin-right: var(--margin-row); + margin-left: var(--margin-row); +} + +.primary-color { + color: var(--primary) +} + +.bg-dark { + background-color: var(--dark) +} + +.bg-dark1 { + background-color: var(--dark1) +} + +.bg-dark2 { + background-color: rgb(var(--dark2-rgb)) +} + +.bg-white { + background-color: white +} + +.bg-primary { + background-color: var(--primary) +} + +.bg-light { + background-color: var(--light-bg) +} + +.text-white { + color: #fff; +} + +[data-scrollbar], [scrollbar], scrollbar { + display: block; + position: relative +} + + [data-scrollbar] .scrollbar-track { + z-index: 2000 !important + } + + [data-scrollbar] .scroll-content, [scrollbar] .scroll-content, scrollbar .scroll-content { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + [data-scrollbar].sticky .scrollbar-track, [scrollbar].sticky .scrollbar-track, scrollbar.sticky .scrollbar-track { + background-color: transparent + } + + [data-scrollbar] .scrollbar-track, [scrollbar] .scrollbar-track, scrollbar .scrollbar-track { + position: absolute; + opacity: 0; + z-index: 1; + transition: opacity .5s ease-out,background .5s ease-out; + background: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none + } + + [data-scrollbar] .scrollbar-track.show, [data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track.show, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track.show, scrollbar .scrollbar-track:hover { + opacity: 1 + } + + [data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track:hover { + background: hsla(0,0%,87%,.75) + } + + [data-scrollbar] .scrollbar-track-x, [scrollbar] .scrollbar-track-x, scrollbar .scrollbar-track-x { + bottom: 0; + left: 4px; + width: calc(100%- 8px); + height: 4px + } + + [data-scrollbar] .scrollbar-track-y, [scrollbar] .scrollbar-track-y, scrollbar .scrollbar-track-y { + top: 4px; + right: 0; + width: 4px; + height: calc(100% - 8px); + } + + [data-scrollbar] .scrollbar-thumb, [scrollbar] .scrollbar-thumb, scrollbar .scrollbar-thumb { + position: absolute; + top: 0; + left: 0; + width: 2px; + height: 2px; + background: rgba(0,0,0,.5); + border-radius: 4px + } + + [data-scrollbar] .overscroll-glow, [scrollbar] .overscroll-glow, scrollbar .overscroll-glow { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } + +.header { + position: absolute; + top: 0; + left: 0; + right: 0; + z-index: 101 +} + +.f-header { + box-shadow: 0 2px 3px rgba(96, 96, 96, 0.1); + z-index: 2; + width: 100%; + background-color: #fff; + position: absolute; + top: -100px; + transition: top .3s ease-in +} + + .f-header .nav-link { + padding-top: 1.8rem; + padding-bottom: 1.8rem; + } + + .f-header.show { + top: 0 + } + +.row1 .nav-item { + font-weight: 500; +} + +.row1 .atg { + font-size: 1rem +} + +.row2 { + margin-top: 10px; +} + +.c-logo img { + height: 40px +} + +.logo-light { + display: none +} + +.logo-dark { + display: block +} + +.hp .header { + background-color: transparent; +} + +.hp .logo-light { + display: none +} + +.hp .logo-dark { + display: block +} + +.navbar-nav .nav-item { + display: flex; + flex-direction: column +} + + .navbar-nav.nav-item .dropdown::after, .navbar-nav .nav-link::after, .navbar-nav .nav-item .dropdown::before, .navbar-nav .nav-link::before { + content: ''; + display: block; + position: absolute; + height: 0; + width: 0; + left: 50%; + right: 50%; + bottom: 0; + background: var(--red) + } + +.navbar-nav .dropdown::after, .navbar-nav .nav-link::after, .navbar-nav .nav-link.active::after { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + transition: left .35s ease-out, width .35s ease-out +} + +.navbar-nav .dropdown::before, .navbar-nav .nav-link::before, .navbar-nav .nav-link.active::before { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + transition: right .35s ease-out, width .35s ease-out +} + +.navbar-nav .nav-item.active .dropdown::after, .navbar-nav .nav-link:hover::after, .navbar-nav .nav-link.active::after { + left: 5%; + right: 45%; + width: 45%; + height: 3px +} + +.navbar-nav .nav-item.active .dropdown::before, .navbar-nav .nav-link:hover::before, .navbar-nav .nav-link.active::before { + left: 45%; + right: 5%; + width: 50%; + height: 3px +} + +.nav-link { + color: var(--dark); + text-transform: uppercase; + font-size: 1.1rem; + font-weight: 600; + padding: 1.5rem 1rem; +} + +.navbar-nav .sub-item { + visibility: hidden; + height: 0; +} + +.ico-menu { + cursor: pointer; + margin: 16px 0; + background-color: var(--secondary); + border: 1px solid rgba(255, 255,255,.3); + border-radius: var(--border-radius); + padding: .1rem .6rem +} + + .ico-menu div { + text-align: left; + display: block; + width: 35px; + height: 2px; + background: white; + margin-bottom: 8px; + } + + .ico-menu div span { + position: absolute; + transition: width .3s ease-in; + left: 0; + top: 0; + height: 2px; + background: var(--primary) + } + + .ico-menu div:first-child { + margin-top: 8px; + } + +.h-menu .item { + color: #fff; + cursor: pointer; + padding: 4px 14px +} + +.lets-work { + top: 50%; + transform: translateY(-50%) +} + + .lets-work h1 { + font-size: 2.8rem; + color: white + } + +.ss-footer1 { + background-image: url(/images/banner/f_img1.jpg); + background-repeat: no-repeat; + background-size: cover; + background-position: center; + height: 380px; +} + + .ss-footer1 .filter { + background-color: rgba(var(--dark-rgb), .4) + } + +.ss-footer2 img { + width: 210px +} + +.ss-footer2 { + color: #FFFFFFCC !important; +} + +.ss-footer3, .ss-footer2 { + color: white; + font-size: .9rem +} + +.m-footer a { + margin: 0 10px; + color: white; + transition: color ease-in .3s +} + + .m-footer a:hove r { + color: var(--primary) + } + +.m-footer .item { + margin: 2px 0; + display: flex; + color: var(--footer-color); + align-items: center; +} + +.m-footer.social i { + font-size: 1.5rem; + color: var(--footer-color) +} + +.m-footer .item:hover { + color: #FFF !important +} + + .m-footer .item:hover i { + color: var(--primary) + } + +.m-footer i { + transition: color ease-in .3s; + margin-right: 10px; + color: var(--green); +} + +footer input, footer button { + vertical-align: middle; + color: var(--footer-color); + border: 2px solid var(--footer-border-color); + border-radius: 0; + background-color: transparent; + line-height: 23px; + border-right-width: 0; +} + +.ss-footer2 .btn { + padding: var(--input-padding) calc(var(--input-padding) * 4); + background-color: var(--footer-border-color); + color: var(--dark1); + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left: none; + line-height: 30px; +} \ No newline at end of file diff --git a/AppLibs/AppLibs/wwwroot/css/atg-lib/atg-upload.css b/AppLibs/AppLibs/wwwroot/css/atg-lib/atg-upload.css new file mode 100644 index 0000000..d1e88b0 --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/css/atg-lib/atg-upload.css @@ -0,0 +1,498 @@ +.u-overlay{ + position:absolute; + width: 100vw; + height: 100vh; + left: 0; + top: 0; + z-index: 10000; + background: rgba(0,0,0, .2); +} + +.u-scroll { + overflow: hidden; + width: 100%; + height: 100%; +} + + +@media (min-width: 768px){ + .nav-tupload .item .name { + display:block!important + } +} + +@media (min-width: 996px){ + .breadcrumb { + width: 60% !important + } +} + +@media (min-height: 800px) { + .u-container { + height: 100vh!important + } + + .u-wrapper { + margin: 0 !important; + height: 80vh !important + } +} + +.u-container { + width: 100%; + height: 100%; +} + +.u-n-wrapper { + box-shadow: 0 0 10px 0 rgb(0 0 0 / 15%); + width: 100%; + height: 800px; + overflow: hidden; + border-radius: 5px +} + +.u-wrapper { + border-radius: 5px; + overflow:hidden; + height: 800px; + width: 80vw; + margin: 150px 0; + background-color: #fff; + box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%); + transition: all 0.35s ease-in-out +} + +.container-tupload { + width: 100%; + background: #fff; + border-bottom: 1px solid #edebe9; +} + +.nav-tupload .item{ + padding: 12px 10px; + transition: all .3s ease-in-out +} + +.nav-tupload .item span{ + color: #333; + line-height: 22px; +} + .nav-tupload .item .name { + display: none + } +.nav-tupload .item .atg{ + color: #154ab9 +} + .nav-tupload .item .atg:last-child { + color: #232323 !important + } + +.nav-tupload .item:hover{ + background-color: rgb(243, 242, 241) +} +[data-dropdown] .sub-item { + border-radius: 5px; + overflow: hidden; + position: fixed; + background: #fff; + width: 180px; + z-index: 10001; + box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%); + height: 0; + transition: height 0.3s ease-out +} + + [data-dropdown] .sub-item.show { + height: auto; + } +[data-dropdown].active > .dropdown { + background: rgb(222 222 222) +} +[data-dropdown] .sub-item .item { + transition: .3s all ease-in-out; + padding: 10px 15px; + color: #333 +} + + [data-dropdown] .sub-item .item:hover { + background-color: rgb(243, 242, 241) + } + +.bt-close { + padding: 12px 25px; + background: #7367f0; + color: #fff; + transition: .3s all ease-in-out +} + + .bt-close:hover { + background: #8d1a1e + } + +.u-c-file{ + height: calc(100% - 54px); + width: 100%; + overflow-x: hidden; +} + +.u-row{ + width: 100%; + padding: 25px 25px 0 25px; +} + +.breadcrumb{ + width: 80% +} + +.breadcrumb .dropdown, +.breadcrumb .item, +.breadcrumb .sep { + flex: 0 0 auto; + padding: 5px 8px; + color: #333; + transition: .3s all ease-in-out; + white-space: nowrap; +} + + .breadcrumb .item.ellipsis { + max-width: 160px; + } + + .breadcrumb .item:hover { + background: #f3f2f1; + } + + + +.breadcrumb > .item:last-child{ + font-weight: 600; + cursor: default !important; + background: #fff !important; + text-overflow: inherit !important; + max-width: max-content !important; + overflow: visible !important +} + +.breadcrumb > .citem[data-dropdown] > .sub-item{ + top: 28px; + min-width: 160px !important +} + .breadcrumb > .citem[data-dropdown] > .sub-item > .item { + padding:10px; + font-size: .8rem + } + +.modal { + visibility: hidden; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 0; + overflow: auto; + opacity: 1; + background-color: rgba(0,0,0,0.2); + transition: all 0.25s ease-in-out +} + .modal.show { + visibility: visible; + opacity: 1; + height: 100%; + } + +.modal-content { + border-radius: 5px; + overflow: hidden; + visibility: hidden; + height: 0; + margin: 0 auto; + padding: 25px; + background: #fff; + border: 1px solid #edebe9; + width: 80%; + box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%); + transition: height 0.3s ease-in-out +} + + +.modal-content.show{ + visibility: visible; + height: auto +} + +.grid-folder > .grid-sizer, +.grid-folder > .grid-item, +.grid-file > .grid-sizer, +.grid-file > .grid-item{ + width: 100%; +} + +.grid-folder > .grid-item { + padding: 15px 5px +} +.grid-file > .grid-item { + padding: 6px +} + +@media (min-width:300px) { + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 50% !important; + } +} + +@media (min-width:600px) { + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 33.33% !important; + } +} + +@media (min-width:992px) { + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 25% !important; + } +} + +@media (min-width: 1400px){ + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 16.66% !important; + } +} +@media (min-width: 1920px) { + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 12.56% !important; + } +} + +.conFile { + position: relative; + padding: 4px; + background: #fff; + border-radius: 5px; + -webkit-box-shadow: 0 1px 3px 1px rgb(1 1 0 / 5%); + box-shadow: 0 1px 3px 1px rgb(1 1 0 / 5%); + transition: all .3s ease-in-out; + cursor:pointer +} + +.conFile:hover{ + border: solid 1px rgba(0,0,0, .15) +} + +.imagePreview { + overflow: hidden; + transition: all .3s ease-in-out; + border-radius: 5px +} + +.conFile img, .imagePreview { + width: 100% +} + +.conFolder{ + padding-top: 15px; + transition: background .3s ease-in-out +} + + .conFolder:hover { + background: #F3F2F1 + } + + .conFolder:hover .btCon, .btCon:hover, .conFolder.active .btCon { + display: flex + } + + .conFolder.active { + background: #EDEBE9; + } + +.conFolder.active .btSelect{ + background:#7367f0; + border: 1px solid #fff; +} +.btCon:hover .atg { + display:block; + color: #333 +} + +.conFolder.active .atg{ + display: block; + color: #fff +} + +.folder-front { + position: absolute; + left: 0; + bottom: 0; + z-index: 2; +} + +.have-file { + box-shadow: 0 1px 3px 2px rgb(1 1 0 / 20%); + position: absolute; + top: 12%; + left: 5%; + right: 5%; + bottom: 10%; + background-color: white; + z-index: 1; +} + + +.btCon { + display: none; + position: absolute; + width: 35px; + height: 35px; + right: 0; + top: 0; + z-index:2; +} + +.btSelect{ + border: #333 1px solid; + width: 18px; + height: 18px; + background: #fff; + border-radius: 50%; +} + +.btSelect .atg{ + display: none; + font-size: 9px +} + +.folder { + width: 100%; + padding: 10% 15% 0 15%; + cursor:default +} +.conImg, .conImg img{ + width: 100% +} + +.conImg, .folderName{ + cursor: pointer +} + +.numF{ + color:#eeeeee; + font-size: .8rem; + position:absolute; + bottom: 8%; + left: 8%; + z-index: 4 +} + +.folderName { + margin-top: 20px; + margin-bottom: 10%; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + max-width: 95%; + text-align: center; + font-size: .8rem +} + +.con-slide-upload { + position: absolute; + background: #fff; + right: -350px; + top: 0; + bottom: 0; + width: 300px; + z-index: 15; + max-width: 100%; + box-shadow: 0 0 10px 0 rgb(0 0 0 / 15%); + transition: right .3s ease-in-out; +} + +.con-slide-upload.show{ + right: 0px; +} + +.slide-upload{ + padding-bottom: 25px +} + +.c-slide-header { + margin: 24px 20px +} + +.slide-upload .sl-close { + color: #201f1e; + font-size: 1rem; + cursor: pointer; + padding: 5px 10px; + transition: all .3s ease-in-out +} + + .slide-upload .sl-close:hover { + background-color: #edebe9 + } + +.slide-upload .header{ + margin: 34px 20px 20px +} + +.scroll-slide-upload{ + width: 100%; + height: calc(100% - 139px); + overflow: hidden; +} +.scroll-slide-upload .scroll-content{ + padding: 0 20px +} +.scroll-slide-upload .item:not(:first-child){ + margin-top: 20px +} + +.text-infor { + font-size: .75rem; + color: #17a2b8 +} + +.text-infor.ellipsis{ + max-width: 170px +} + + .c-text .atg { + font-size: 1rem; + color: #919899 + } + +.c-progress { + height: 2px; + position: relative; + background-color: #f4f4f4; +} + + .c-progress .value { + position: absolute; + top: 0; + bottom: 0; + transition: width 200ms cubic-bezier(.1,.9,.2,1); + transition: background-color .35s ease-in; + left: 0; + background-color: #0078d4; + } + +.upl-des { + font-size: .72rem; + color: #919899 +} \ No newline at end of file diff --git a/AppLibs/AppLibs/wwwroot/css/atg-lib/datepicker.css b/AppLibs/AppLibs/wwwroot/css/atg-lib/datepicker.css new file mode 100644 index 0000000..593ba9d --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/css/atg-lib/datepicker.css @@ -0,0 +1,778 @@ +.air-datepicker-cell.-year-.-other-decade-, .air-datepicker-cell.-day-.-other-month- { + color: var(--adp-color-other-month) +} + + .air-datepicker-cell.-year-.-other-decade-:hover, .air-datepicker-cell.-day-.-other-month-:hover { + color: var(--adp-color-other-month-hover) + } + +.-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-disabled-.-focus-.air-datepicker-cell.-day-.-other-month- { + color: var(--adp-color-other-month) +} + +.-selected-.air-datepicker-cell.-year-.-other-decade-, .-selected-.air-datepicker-cell.-day-.-other-month- { + color: #fff; + background: var(--adp-background-color-selected-other-month) +} + +.-selected-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-selected-.-focus-.air-datepicker-cell.-day-.-other-month- { + background: var(--adp-background-color-selected-other-month-focused) +} + +.-in-range-.air-datepicker-cell.-year-.-other-decade-, .-in-range-.air-datepicker-cell.-day-.-other-month- { + background-color: var(--adp-background-color-in-range); + color: var(--adp-color) +} + +.-in-range-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-in-range-.-focus-.air-datepicker-cell.-day-.-other-month- { + background-color: var(--adp-background-color-in-range-focused) +} + +.air-datepicker-cell.-year-.-other-decade-:empty, .air-datepicker-cell.-day-.-other-month-:empty { + background: none; + border: none +} + +.air-datepicker-cell { + border-radius: var(--adp-cell-border-radius); + box-sizing: border-box; + cursor: pointer; + display: flex; + position: relative; + align-items: center; + justify-content: center; + z-index: 1 +} + + .air-datepicker-cell.-focus- { + background: var(--adp-cell-background-color-hover) + } + + .air-datepicker-cell.-current- { + color: var(--adp-color-current-date) + } + + .air-datepicker-cell.-current-.-focus- { + color: var(--adp-color) + } + + .air-datepicker-cell.-current-.-in-range- { + color: var(--adp-color-current-date) + } + + .air-datepicker-cell.-disabled- { + cursor: default; + color: var(--adp-color-disabled) + } + + .air-datepicker-cell.-disabled-.-focus- { + color: var(--adp-color-disabled) + } + + .air-datepicker-cell.-disabled-.-in-range- { + color: var(--adp-color-disabled-in-range) + } + + .air-datepicker-cell.-disabled-.-current-.-focus- { + color: var(--adp-color-disabled) + } + + .air-datepicker-cell.-in-range- { + background: var(--adp-cell-background-color-in-range); + border-radius: 0 + } + + .air-datepicker-cell.-in-range-:hover { + background: var(--adp-cell-background-color-in-range-hover) + } + + .air-datepicker-cell.-range-from- { + border: 1px solid var(--adp-cell-border-color-in-range); + background-color: var(--adp-cell-background-color-in-range); + border-radius: var(--adp-cell-border-radius) 0 0 var(--adp-cell-border-radius) + } + + .air-datepicker-cell.-range-to- { + border: 1px solid var(--adp-cell-border-color-in-range); + background-color: var(--adp-cell-background-color-in-range); + border-radius: 0 var(--adp-cell-border-radius) var(--adp-cell-border-radius) 0 + } + + .air-datepicker-cell.-range-to-.-range-from- { + border-radius: var(--adp-cell-border-radius) + } + + .air-datepicker-cell.-selected- { + color: #fff; + border: none; + background: var(--adp-cell-background-color-selected) + } + + .air-datepicker-cell.-selected-.-current- { + color: #fff; + background: var(--adp-cell-background-color-selected) + } + + .air-datepicker-cell.-selected-.-focus- { + background: var(--adp-cell-background-color-selected-hover) + } + +.air-datepicker-body { + transition: all var(--adp-transition-duration) var(--adp-transition-ease) +} + + .air-datepicker-body.-hidden- { + display: none + } + +.air-datepicker-body--day-names { + display: grid; + grid-template-columns: repeat(7, var(--adp-day-cell-width)); + margin: 8px 0 3px +} + +.air-datepicker-body--day-name { + color: var(--adp-day-name-color); + display: flex; + align-items: center; + justify-content: center; + flex: 1; + text-align: center; + text-transform: uppercase; + font-size: .8em +} + + .air-datepicker-body--day-name.-clickable- { + cursor: pointer + } + + .air-datepicker-body--day-name.-clickable-:hover { + color: var(--adp-day-name-color-hover) + } + +.air-datepicker-body--cells { + display: grid +} + + .air-datepicker-body--cells.-days- { + grid-template-columns: repeat(7, var(--adp-day-cell-width)); + grid-auto-rows: var(--adp-day-cell-height) + } + + .air-datepicker-body--cells.-months- { + grid-template-columns: repeat(3, 1fr); + grid-auto-rows: var(--adp-month-cell-height) + } + + .air-datepicker-body--cells.-years- { + grid-template-columns: repeat(4, 1fr); + grid-auto-rows: var(--adp-year-cell-height) + } + +.air-datepicker-nav { + display: flex; + justify-content: space-between; + border-bottom: 1px solid var(--adp-border-color-inner); + min-height: var(--adp-nav-height); + padding: var(--adp-padding); + box-sizing: content-box +} + +.-only-timepicker- .air-datepicker-nav { + display: none +} + +.air-datepicker-nav--title, .air-datepicker-nav--action { + display: flex; + cursor: pointer; + align-items: center; + justify-content: center +} + +.air-datepicker-nav--action { + width: var(--adp-nav-action-size); + border-radius: var(--adp-border-radius); + -webkit-user-select: none; + -moz-user-select: none; + user-select: none +} + + .air-datepicker-nav--action:hover { + background: var(--adp-background-color-hover) + } + + .air-datepicker-nav--action:active { + background: var(--adp-background-color-active) + } + + .air-datepicker-nav--action.-disabled- { + visibility: hidden + } + + .air-datepicker-nav--action svg { + width: 32px; + height: 32px + } + + .air-datepicker-nav--action path { + fill: none; + stroke: var(--adp-nav-arrow-color); + stroke-width: 2px + } + +.air-datepicker-nav--title { + border-radius: var(--adp-border-radius); + padding: 0 8px +} + + .air-datepicker-nav--title i { + font-style: normal; + color: var(--adp-nav-color-secondary); + margin-left: .3em + } + + .air-datepicker-nav--title:hover { + background: var(--adp-background-color-hover) + } + + .air-datepicker-nav--title:active { + background: var(--adp-background-color-active) + } + + .air-datepicker-nav--title.-disabled- { + cursor: default; + background: none + } + +.air-datepicker-buttons { + display: grid; + grid-auto-columns: 1fr; + grid-auto-flow: column +} + +.air-datepicker-button { + display: inline-flex; + color: var(--adp-btn-color); + border-radius: var(--adp-btn-border-radius); + cursor: pointer; + height: var(--adp-btn-height); + border: none; + background: rgba(255,255,255,0) +} + + .air-datepicker-button:hover { + color: var(--adp-btn-color-hover); + background: var(--adp-btn-background-color-hover) + } + + .air-datepicker-button:focus { + color: var(--adp-btn-color-hover); + background: var(--adp-btn-background-color-hover); + outline: none + } + + .air-datepicker-button:active { + background: var(--adp-btn-background-color-active) + } + + .air-datepicker-button span { + outline: none; + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 100% + } + +.air-datepicker-time { + display: grid; + grid-template-columns: max-content 1fr; + grid-column-gap: 12px; + align-items: center; + position: relative; + padding: 0 var(--adp-time-padding-inner) +} + +.-only-timepicker- .air-datepicker-time { + border-top: none +} + +.air-datepicker-time--current { + display: flex; + align-items: center; + flex: 1; + font-size: 14px; + text-align: center +} + +.air-datepicker-time--current-colon { + margin: 0 2px 3px; + line-height: 1 +} + +.air-datepicker-time--current-hours, .air-datepicker-time--current-minutes { + line-height: 1; + font-size: 19px; + font-family: "Century Gothic",CenturyGothic,AppleGothic,sans-serif; + position: relative; + z-index: 1 +} + + .air-datepicker-time--current-hours:after, .air-datepicker-time--current-minutes:after { + content: ""; + background: var(--adp-background-color-hover); + border-radius: var(--adp-border-radius); + position: absolute; + left: -2px; + top: -3px; + right: -2px; + bottom: -2px; + z-index: -1; + opacity: 0 + } + + .air-datepicker-time--current-hours.-focus-:after, .air-datepicker-time--current-minutes.-focus-:after { + opacity: 1 + } + +.air-datepicker-time--current-ampm { + text-transform: uppercase; + align-self: flex-end; + color: var(--adp-time-day-period-color); + margin-left: 6px; + font-size: 11px; + margin-bottom: 1px +} + +.air-datepicker-time--row { + display: flex; + align-items: center; + font-size: 11px; + height: 17px; + background: linear-gradient(to right, var(--adp-time-track-color), var(--adp-time-track-color)) left 50%/100% var(--adp-time-track-height) no-repeat +} + + .air-datepicker-time--row:first-child { + margin-bottom: 4px + } + + .air-datepicker-time--row input[type=range] { + background: none; + cursor: pointer; + flex: 1; + height: 100%; + width: 100%; + padding: 0; + margin: 0; + -webkit-appearance: none + } + + .air-datepicker-time--row input[type=range]::-webkit-slider-thumb { + -webkit-appearance: none + } + + .air-datepicker-time--row input[type=range]::-ms-tooltip { + display: none + } + + .air-datepicker-time--row input[type=range]:hover::-webkit-slider-thumb { + border-color: var(--adp-time-track-color-hover) + } + + .air-datepicker-time--row input[type=range]:hover::-moz-range-thumb { + border-color: var(--adp-time-track-color-hover) + } + + .air-datepicker-time--row input[type=range]:hover::-ms-thumb { + border-color: var(--adp-time-track-color-hover) + } + + .air-datepicker-time--row input[type=range]:focus { + outline: none + } + + .air-datepicker-time--row input[type=range]:focus::-webkit-slider-thumb { + background: var(--adp-cell-background-color-selected); + border-color: var(--adp-cell-background-color-selected) + } + + .air-datepicker-time--row input[type=range]:focus::-moz-range-thumb { + background: var(--adp-cell-background-color-selected); + border-color: var(--adp-cell-background-color-selected) + } + + .air-datepicker-time--row input[type=range]:focus::-ms-thumb { + background: var(--adp-cell-background-color-selected); + border-color: var(--adp-cell-background-color-selected) + } + + .air-datepicker-time--row input[type=range]::-webkit-slider-thumb { + box-sizing: border-box; + height: 12px; + width: 12px; + border-radius: 3px; + border: 1px solid var(--adp-time-track-color); + background: #fff; + cursor: pointer; + -webkit-transition: background var(--adp-transition-duration); + transition: background var(--adp-transition-duration) + } + + .air-datepicker-time--row input[type=range]::-moz-range-thumb { + box-sizing: border-box; + height: 12px; + width: 12px; + border-radius: 3px; + border: 1px solid var(--adp-time-track-color); + background: #fff; + cursor: pointer; + -moz-transition: background var(--adp-transition-duration); + transition: background var(--adp-transition-duration) + } + + .air-datepicker-time--row input[type=range]::-ms-thumb { + box-sizing: border-box; + height: 12px; + width: 12px; + border-radius: 3px; + border: 1px solid var(--adp-time-track-color); + background: #fff; + cursor: pointer; + -ms-transition: background var(--adp-transition-duration); + transition: background var(--adp-transition-duration) + } + + .air-datepicker-time--row input[type=range]::-webkit-slider-thumb { + margin-top: calc(var(--adp-time-thumb-size)/2*-1) + } + + .air-datepicker-time--row input[type=range]::-webkit-slider-runnable-track { + border: none; + height: var(--adp-time-track-height); + cursor: pointer; + color: rgba(0,0,0,0); + background: rgba(0,0,0,0) + } + + .air-datepicker-time--row input[type=range]::-moz-range-track { + border: none; + height: var(--adp-time-track-height); + cursor: pointer; + color: rgba(0,0,0,0); + background: rgba(0,0,0,0) + } + + .air-datepicker-time--row input[type=range]::-ms-track { + border: none; + height: var(--adp-time-track-height); + cursor: pointer; + color: rgba(0,0,0,0); + background: rgba(0,0,0,0) + } + + .air-datepicker-time--row input[type=range]::-ms-fill-lower { + background: rgba(0,0,0,0) + } + + .air-datepicker-time--row input[type=range]::-ms-fill-upper { + background: rgba(0,0,0,0) + } + +.air-datepicker { + --adp-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --adp-font-size: 14px; + --adp-width: 246px; + --adp-z-index: 100; + --adp-padding: 4px; + --adp-grid-areas: "nav" "body" "timepicker" "buttons"; + --adp-transition-duration: .3s; + --adp-transition-ease: ease-out; + --adp-transition-offset: 8px; + --adp-background-color: #fff; + --adp-background-color-hover: #f0f0f0; + --adp-background-color-active: #eaeaea; + --adp-background-color-in-range: rgba(92, 196, 239, .1); + --adp-background-color-in-range-focused: rgba(92, 196, 239, .2); + --adp-background-color-selected-other-month-focused: #8ad5f4; + --adp-background-color-selected-other-month: #a2ddf6; + --adp-color: #4a4a4a; + --adp-color-secondary: #9c9c9c; + --adp-accent-color: #4eb5e6; + --adp-color-current-date: var(--adp-accent-color); + --adp-color-other-month: #dedede; + --adp-color-disabled: #aeaeae; + --adp-color-disabled-in-range: #939393; + --adp-color-other-month-hover: #c5c5c5; + --adp-border-color: #dbdbdb; + --adp-border-color-inner: #efefef; + --adp-border-radius: 4px; + --adp-border-color-inline: #d7d7d7; + --adp-nav-height: 32px; + --adp-nav-arrow-color: var(--adp-color-secondary); + --adp-nav-action-size: 32px; + --adp-nav-color-secondary: var(--adp-color-secondary); + --adp-day-name-color: #ff9a19; + --adp-day-name-color-hover: #8ad5f4; + --adp-day-cell-width: 1fr; + --adp-day-cell-height: 32px; + --adp-month-cell-height: 42px; + --adp-year-cell-height: 56px; + --adp-pointer-size: 10px; + --adp-poiner-border-radius: 2px; + --adp-pointer-offset: 14px; + --adp-cell-border-radius: 4px; + --adp-cell-background-color-hover: var(--adp-background-color-hover); + --adp-cell-background-color-selected: #5cc4ef; + --adp-cell-background-color-selected-hover: #45bced; + --adp-cell-background-color-in-range: rgba(92, 196, 239, 0.1); + --adp-cell-background-color-in-range-hover: rgba(92, 196, 239, 0.2); + --adp-cell-border-color-in-range: var(--adp-cell-background-color-selected); + --adp-btn-height: 32px; + --adp-btn-color: var(--adp-accent-color); + --adp-btn-color-hover: var(--adp-color); + --adp-btn-border-radius: var(--adp-border-radius); + --adp-btn-background-color-hover: var(--adp-background-color-hover); + --adp-btn-background-color-active: var(--adp-background-color-active); + --adp-time-track-height: 1px; + --adp-time-track-color: #dedede; + --adp-time-track-color-hover: #b1b1b1; + --adp-time-thumb-size: 12px; + --adp-time-padding-inner: 10px; + --adp-time-day-period-color: var(--adp-color-secondary); + --adp-mobile-font-size: 16px; + --adp-mobile-nav-height: 40px; + --adp-mobile-width: 320px; + --adp-mobile-day-cell-height: 38px; + --adp-mobile-month-cell-height: 48px; + --adp-mobile-year-cell-height: 64px +} + +.air-datepicker-overlay { + --adp-overlay-background-color: rgba(0, 0, 0, .3); + --adp-overlay-transition-duration: .3s; + --adp-overlay-transition-ease: ease-out; + --adp-overlay-z-index: 99 +} + +.air-datepicker { + background: var(--adp-background-color); + border: 1px solid var(--adp-border-color); + box-shadow: 0 4px 12px rgba(0,0,0,.15); + border-radius: var(--adp-border-radius); + box-sizing: content-box; + display: grid; + grid-template-columns: 1fr; + grid-template-rows: repeat(4, max-content); + grid-template-areas: var(--adp-grid-areas); + font-family: var(--adp-font-family),sans-serif; + font-size: var(--adp-font-size); + color: var(--adp-color); + width: var(--adp-width); + position: absolute; + transition: opacity var(--adp-transition-duration) var(--adp-transition-ease),transform var(--adp-transition-duration) var(--adp-transition-ease); + z-index: var(--adp-z-index) +} + + .air-datepicker:not(.-custom-position-) { + opacity: 0 + } + + .air-datepicker.-from-top- { + transform: translateY(calc(var(--adp-transition-offset) * -1)) + } + + .air-datepicker.-from-right- { + transform: translateX(var(--adp-transition-offset)) + } + + .air-datepicker.-from-bottom- { + transform: translateY(var(--adp-transition-offset)) + } + + .air-datepicker.-from-left- { + transform: translateX(calc(var(--adp-transition-offset) * -1)) + } + + .air-datepicker.-active-:not(.-custom-position-) { + transform: translate(0, 0); + opacity: 1 + } + + .air-datepicker.-active-.-custom-position- { + transition: none + } + + .air-datepicker.-inline- { + border-color: var(--adp-border-color-inline); + box-shadow: none; + position: static; + left: auto; + right: auto; + opacity: 1; + transform: none + } + + .air-datepicker.-inline- .air-datepicker--pointer { + display: none + } + + .air-datepicker.-is-mobile- { + --adp-font-size: var(--adp-mobile-font-size); + --adp-day-cell-height: var(--adp-mobile-day-cell-height); + --adp-month-cell-height: var(--adp-mobile-month-cell-height); + --adp-year-cell-height: var(--adp-mobile-year-cell-height); + --adp-nav-height: var(--adp-mobile-nav-height); + --adp-nav-action-size: var(--adp-mobile-nav-height); + position: fixed; + width: var(--adp-mobile-width); + border: none + } + + .air-datepicker.-is-mobile- * { + -webkit-tap-highlight-color: rgba(0,0,0,0) + } + + .air-datepicker.-is-mobile- .air-datepicker--pointer { + display: none + } + + .air-datepicker.-is-mobile-:not(.-custom-position-) { + transform: translate(-50%, calc(-50% + var(--adp-transition-offset))) + } + + .air-datepicker.-is-mobile-.-active-:not(.-custom-position-) { + transform: translate(-50%, -50%) + } + + .air-datepicker.-custom-position- { + transition: none + } + +.air-datepicker-global-container { + position: absolute; + left: 0; + top: 0 +} + +.air-datepicker--pointer { + --pointer-half-size: calc(var(--adp-pointer-size) / 2); + position: absolute; + width: var(--adp-pointer-size); + height: var(--adp-pointer-size); + z-index: -1 +} + + .air-datepicker--pointer:after { + content: ""; + position: absolute; + background: #fff; + border-top: 1px solid var(--adp-border-color-inline); + border-right: 1px solid var(--adp-border-color-inline); + border-top-right-radius: var(--adp-poiner-border-radius); + width: var(--adp-pointer-size); + height: var(--adp-pointer-size); + box-sizing: border-box + } + +.-top-left- .air-datepicker--pointer, .-top-center- .air-datepicker--pointer, .-top-right- .air-datepicker--pointer, [data-popper-placement^=top] .air-datepicker--pointer { + top: calc(100% - var(--pointer-half-size) + 1px) +} + + .-top-left- .air-datepicker--pointer:after, .-top-center- .air-datepicker--pointer:after, .-top-right- .air-datepicker--pointer:after, [data-popper-placement^=top] .air-datepicker--pointer:after { + transform: rotate(135deg) + } + +.-right-top- .air-datepicker--pointer, .-right-center- .air-datepicker--pointer, .-right-bottom- .air-datepicker--pointer, [data-popper-placement^=right] .air-datepicker--pointer { + right: calc(100% - var(--pointer-half-size) + 1px) +} + + .-right-top- .air-datepicker--pointer:after, .-right-center- .air-datepicker--pointer:after, .-right-bottom- .air-datepicker--pointer:after, [data-popper-placement^=right] .air-datepicker--pointer:after { + transform: rotate(225deg) + } + +.-bottom-left- .air-datepicker--pointer, .-bottom-center- .air-datepicker--pointer, .-bottom-right- .air-datepicker--pointer, [data-popper-placement^=bottom] .air-datepicker--pointer { + bottom: calc(100% - var(--pointer-half-size) + 1px) +} + + .-bottom-left- .air-datepicker--pointer:after, .-bottom-center- .air-datepicker--pointer:after, .-bottom-right- .air-datepicker--pointer:after, [data-popper-placement^=bottom] .air-datepicker--pointer:after { + transform: rotate(315deg) + } + +.-left-top- .air-datepicker--pointer, .-left-center- .air-datepicker--pointer, .-left-bottom- .air-datepicker--pointer, [data-popper-placement^=left] .air-datepicker--pointer { + left: calc(100% - var(--pointer-half-size) + 1px) +} + + .-left-top- .air-datepicker--pointer:after, .-left-center- .air-datepicker--pointer:after, .-left-bottom- .air-datepicker--pointer:after, [data-popper-placement^=left] .air-datepicker--pointer:after { + transform: rotate(45deg) + } + +.-top-left- .air-datepicker--pointer, .-bottom-left- .air-datepicker--pointer { + left: var(--adp-pointer-offset) +} + +.-top-right- .air-datepicker--pointer, .-bottom-right- .air-datepicker--pointer { + right: var(--adp-pointer-offset) +} + +.-top-center- .air-datepicker--pointer, .-bottom-center- .air-datepicker--pointer { + left: calc(50% - var(--adp-pointer-size)/2) +} + +.-left-top- .air-datepicker--pointer, .-right-top- .air-datepicker--pointer { + top: var(--adp-pointer-offset) +} + +.-left-bottom- .air-datepicker--pointer, .-right-bottom- .air-datepicker--pointer { + bottom: var(--adp-pointer-offset) +} + +.-left-center- .air-datepicker--pointer, .-right-center- .air-datepicker--pointer { + top: calc(50% - var(--adp-pointer-size)/2) +} + +.air-datepicker--navigation { + grid-area: nav +} + +.air-datepicker--content { + box-sizing: content-box; + padding: var(--adp-padding); + grid-area: body +} + +.-only-timepicker- .air-datepicker--content { + display: none +} + +.air-datepicker--time { + grid-area: timepicker +} + +.air-datepicker--buttons { + grid-area: buttons +} + +.air-datepicker--buttons, .air-datepicker--time { + padding: var(--adp-padding); + border-top: 1px solid var(--adp-border-color-inner) +} + +.air-datepicker-overlay { + position: fixed; + background: var(--adp-overlay-background-color); + left: 0; + top: 0; + width: 0; + height: 0; + opacity: 0; + transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),left 0s,height 0s,width 0s; + transition-delay: 0s,var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration); + z-index: var(--adp-overlay-z-index) +} + + .air-datepicker-overlay.-active- { + opacity: 1; + width: 100%; + height: 100%; + transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),height 0s,width 0s + } diff --git a/AppLibs/AppLibs/wwwroot/css/atg-lib/swiper-bundle.min.css b/AppLibs/AppLibs/wwwroot/css/atg-lib/swiper-bundle.min.css new file mode 100644 index 0000000..1481352 --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/css/atg-lib/swiper-bundle.min.css @@ -0,0 +1,13 @@ +/** + * Swiper 11.1.0 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2024 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: March 28, 2024 + */ + +@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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.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%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.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(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(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-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-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>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-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-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden} \ No newline at end of file diff --git a/AppLibs/AppLibs/wwwroot/css/atg-lib/waves.min.css b/AppLibs/AppLibs/wwwroot/css/atg-lib/waves.min.css new file mode 100644 index 0000000..8dd7658 --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/css/atg-lib/waves.min.css @@ -0,0 +1,7 @@ +/*! + * Waves v0.7.6 + * http://fian.my.id/Waves + * + * Copyright 2014-2018 Alfiana E. Sibuea and other contributors + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background:rgba(0,0,0,.2);background:-webkit-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-o-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;-o-transition-property:-o-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);-moz-transform:scale(0) translate(0,0);-ms-transform:scale(0) translate(0,0);-o-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.4);background:-webkit-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%)}.waves-effect.waves-classic .waves-ripple{background:rgba(0,0,0,.2)}.waves-effect.waves-classic.waves-light .waves-ripple{background:rgba(255,255,255,.4)}.waves-notransition{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.waves-button,.waves-button-input,.waves-button:hover,.waves-button:visited{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;color:inherit;background-color:rgba(0,0,0,0);font-size:1em;line-height:1em;text-align:center;text-decoration:none;z-index:1}.waves-button{padding:.85em 1.1em;border-radius:.2em}.waves-button-input{margin:0;padding:.85em 1.1em}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);-webkit-transition:all .3s;-moz-transition:all .3s;-o-transition:all .3s;transition:all .3s}.waves-float:active{-webkit-box-shadow:0 8px 20px 1px rgba(0,0,0,.3);box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.waves-block{display:block} \ No newline at end of file diff --git a/AppLibs/AppLibs/wwwroot/css/atg-ui/atg-gui.css b/AppLibs/AppLibs/wwwroot/css/atg-ui/atg-gui.css new file mode 100644 index 0000000..b9226ef --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/css/atg-ui/atg-gui.css @@ -0,0 +1,380 @@ +/*Scrollbar*/ +[data-scrollbar], [scrollbar], scrollbar { + display: block; + position: relative +} + +/*Overlay*/ +.c-overlay { + position: fixed; + z-index: 12; + top: 0; + left: 0; + bottom: 0; + right: 0; + opacity: 0; + transition: all ease-in-out .4s; + background: rgb(86 83 96 / 0.32) +} + + .c-overlay.show { + opacity: 1 + } + +.form-group { + margin-bottom: 10px; + padding: 0 20px +} + + .form-group label { + font-size: .8rem; + margin-bottom: 5px + } + + .form-group .invalid, .form-group .invalid:focus { + border-color: #ea5455; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ea5455'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23ea5455' stroke='none'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-size: 20px; + background-position: right 0.4rem center + } + + .form-group input:disabled { + background-color: #efefef + } + + .form-group > .input-custom { + border: 1px solid #d8d6de; + border-radius: .357rem; + -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out + } + + .form-group > .input-custom input { + border: none !important + } + + .form-group > .input-custom:focus-within .input-append.right, .form-group > .input-custom:focus-within .input-append.left { + border-color: #7367f0 + } + + .form-group .minus, .form-group .plus { + cursor: pointer + } + + .form-group > .input-custom .input-append { + padding: .438rem 1rem; + margin-bottom: 0; + text-align: center; + background-color: #fff; + border-radius: .357rem; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out + } + + .form-group > .input-custom .input-append.right { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left: 1px solid #d8d6de + } + + .form-group > .input-custom .input-append.left { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: 1px solid #d8d6de + } + + .form-group input, .form-group .aselect, .form-group textarea { + font-size: .85rem; + width: 100%; + cursor: text; + padding: 8px 25px 8px 15px; + height: 38px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #d8d6de; + border-radius: .357rem; + -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out + } + + .form-group textarea { + height: auto !important; + resize: none + } + +.custom-checkbox { + min-height: 18px; + padding-left: 25px; + margin-right: 20px; +} + + .custom-checkbox input[type=checkbox]:checked ~ .a-checkbox-label:before { + box-shadow: 0 2px 4px 0 rgba(115,103,240,.4) !important; + border-color: #7367f0; + background-color: #7367f0; + } + +input[type=checkbox] { + width: 18px; + height: 18px; + top: 50%; + transform: translateY(-50%); + padding: 0; + left: 0; + margin: 0; + position: absolute; + z-index: -1; + opacity: 0 +} + +.a-checkbox-label { + position: static; + display: block; + margin: 0 !important +} + + .a-checkbox-label::before { + background-color: #fff; + border: 1px solid #d8d6de; + top: 50%; + transform: translateY(-50%); + } + + .a-checkbox-label::before, .a-checkbox-label::after { + position: absolute; + display: block; + content: ''; + left: 0; + border-radius: 3px; + width: 18px; + height: 18px + } + + .a-checkbox-label::after { + background: no-repeat 50%/50% 50%; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); + background-size: 57%; + } + +/*ASelect*/ +.con-aselect .hide { + overflow: hidden; + height: 0px !important +} + + .con-aselect .hide select:empty { + display: none; + } + +.aselect { + background: #fff !important; + cursor: pointer !important +} + + .aselect .icon { + position: absolute; + right: 8px; + top: 50%; + transform: translateY(-50%); + transition: .3s all ease-in-out; + color: #6e6b7b + } + + +.con-aselect.active > .aselect > .icon { + transform: translateY(-50%) rotate(180deg) +} + + +.a-s-sub { + margin-top: 10px; + max-height: 250px +} + + .a-s-sub .a-search { + padding: 10px + } + + .a-s-sub .noitem { + font-size: .85rem; + padding: 10px 15px + } + + .a-s-sub .a-search input:focus { + border-color: #6e6b7b + } + + .a-s-sub .a-option { + font-size: .85rem; + padding: 10px 15px; + cursor: default; + transition: all .3s ease-in-out + } + + .a-s-sub .a-option-group { + padding: 10px 15px; + font-weight: 600; + cursor: default + } + +.a-option-group ~ .a-option { + padding-left: 25px !important +} + +.a-s-sub .a-option:hover { + color: #7367f0; + background: #eeedfd +} + +.a-s-sub .a-option.active { + color: white; + background: #7367f0 +} + +.invalid-feedback { + display: none; + font-size: .85rem; + color: #ea5455; +} +/*From Dropdonw*/ + + +/*Text*/ +.dt, .dd { + padding: 0 20px; + font-size: .85rem; + line-height: 1.45 +} + +.dd { + color: #6e6b7b +} + +.dt { + font-weight: 500; + color: #6e6b7b +} +/*Table*/ +.c-table { + width: 100% +} + +.c-ta-c { + box-shadow: 0 0px 20px 0px rgb(0 0 0 / 15%); + border-radius: 10px; +} +/*@media not all and (min-resolution:.001dpcm) { + @supports (-webkit-appearance:none) { + .c-ta-c { + -webkit-mask-image: -webkit-radial-gradient(white, black); + } + } +}*/ +.c-ta-scroll { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + overflow: hidden; + height: auto !important; + width: 100%; + border-radius: 10px; +} + +.a-table { + border-radius: 10px; + width: 100%; + border-collapse: collapse; + color: #6e6b7b +} + + + .a-table th { + color: #fff; + background-color: #36304a; + padding: 20px 10px 20px; + font-size: .85rem; + text-transform: capitalize; + letter-spacing: .5px + } + + .a-table th:first-child, .a-table td:first-child { + padding-left: 25px !important + } + + + .a-table tbody tr:nth-child(even) { + background: #f8f6ff + } + + .a-table td { + color: #808080; + padding: 16px 10px 16px 10px; + } +/*Paging*/ +.paging { + margin: 15px 0 +} + + .paging .item { + height: 32px; + width: 32px; + color: #6e6b7b; + border-radius: 50%; + background-color: #f3f2f7; + transition: all .3s ease-in-out + } + + .paging .item.active { + font-weight: 400; + color: #fff; + background-color: #7367f0 !important + } + +.c-page-link { + height: 32px; + border-radius: 32px; + background-color: #f3f2f7; +} + +.paging .item:hover { + color: #fff; + background-color: #7367f0 !important +} + +.item-less { + margin-right: 10px +} + +.item-more { + margin-left: 10px +} + +.c-table .inpNum { + width: 40px; + padding: 8px 10px; + margin: 15px 8px +} + +/*A Overlay*/ +.c-aoverlay { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 12; + opacity: 0; + visibility: hidden; + transition: all ease-out .5s +} + + .c-aoverlay.show { + opacity: 1; + visibility: visible; + background: rgb(86 83 96 / 0.32) + } diff --git a/AppLibs/AppLibs/wwwroot/css/atg-ui/table.css b/AppLibs/AppLibs/wwwroot/css/atg-ui/table.css new file mode 100644 index 0000000..d2c1d99 --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/css/atg-ui/table.css @@ -0,0 +1,171 @@ +/*Table*/ + +.abs-pContainer { + user-select: none; + width: 100%; +/* box-shadow: 0 0px 20px 0px rgb(0 0 0 / 15%); +*/ border-radius: 10px; +} + .abs-pContainer [data-scrollbar]{ + height: 100%!important; + } + /*@media not all and (min-resolution:.001dpcm) { + @supports (-webkit-appearance:none) { + .c-ta-c { + -webkit-mask-image: -webkit-radial-gradient(white, black); + } + } +}*/ + .atable-scroll { + width: 100% !important + } + +.abs-scrollbar { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -webkit-transform: translate3d(0, 0, 0); + height: auto !important; + width: 100%; + border-radius: 10px; +} + +.abs-table { + width: 100%; + border-collapse: collapse; +} +.abs-pContainer .scrollbar-thumb { + background: #ccc !important +} +.abs-table { + border-radius: 10px; + color: #6e6b7b +} +.abs-table th { + color: #fff; + background-color: #36304a; + padding: 20px 10px 20px; + font-size: .9rem; + font-weight: 500; + text-transform: capitalize; + letter-spacing: .5px + } + + .abs-table th:first-child, [data-style="default"] .abs-table td:first-child { + padding-left: 25px !important + } + + + .abs-table tbody tr:nth-child(even) { + background: #f8f6ff + } + + .abs-table td { + font-size: .82rem; + text-align: center; + font-weight: 400; + color: #808080; + padding: 8px 15px + } + +.abs-container { + box-shadow: 0 0px 20px 0px rgb(0 0 0 / 15%); + border-radius: 10px; + border: 1px solid #ccc +} +.abs-table { + border-collapse: separate; + border-spacing: 0; +} +.abs-table th:first-child { + padding-left: 25px !important +} + +.abs-table tbody tr:hover td { + background-color: #EBEBEB +} + .abs-table tbody tr.active td { + background-color: rgba(0, 92, 153,.1); + border-top: 1px solid rgba(0, 92, 153,.1); + border-bottom: 1px solid rgba(0, 92, 153,.1); + font-weight: 600; + color: #005c99 + } + + .abs-table tbody tr:hover td:first-child, .abs-table tbody tr.active td:first-child { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; + } + .abs-table tbody tr.active td:first-child { + border-left: 1px solid rgba(0, 92, 153,.1); + } + + .abs-table tbody tr.active td:last-child { + border-right: 1px solid rgba(0, 92, 153,.1); + } + + .abs-table tbody tr:hover td:last-child, .abs-table tbody tr.active td:last-child { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; + } + + + .abs-table tr td:first-child { + padding-left: 15px !important + } + +.paging .btn-primary { + width: 22px; + height: 22px; + color: #005c99; + font-weight: 600; +} + + +.con-paging{ + font-size:.82rem +} + +.paging { + margin: 15px 0 +} + + .paging .item { + height: 30px; + width: 30px; + color: #6e6b7b; + border-radius: 50%; + background-color: #f3f2f7; + text-align: center; + transition: all .3s ease-in-out + } + + .paging .item.active { + font-weight: 400; + color: #fff; + background-color: #7367f0 !important + } + +.c-page-link { + height: 30px; + border-radius: 32px; + background-color: #f3f2f7; +} + +.paging .item:hover { + color: #fff; + background-color: #7367f0 !important +} + +.item-less { + margin-right: 5px +} + +.item-more { + margin-left: 5px +} + +.con-paging .inpNum { + width: 40px; + padding: 8px 10px; + margin: 15px 8px +} diff --git a/AppLibs/AppLibs/wwwroot/font/ATGIcon-Regular.woff b/AppLibs/AppLibs/wwwroot/font/ATGIcon-Regular.woff new file mode 100644 index 0000000..49888a9 Binary files /dev/null and b/AppLibs/AppLibs/wwwroot/font/ATGIcon-Regular.woff differ diff --git a/AppLibs/AppLibs/wwwroot/font/Branch.woff b/AppLibs/AppLibs/wwwroot/font/Branch.woff new file mode 100644 index 0000000..560a05a Binary files /dev/null and b/AppLibs/AppLibs/wwwroot/font/Branch.woff differ diff --git a/AppLibs/AppLibs/wwwroot/font/atg-admin-font.fcp b/AppLibs/AppLibs/wwwroot/font/atg-admin-font.fcp new file mode 100644 index 0000000..66a9769 Binary files /dev/null and b/AppLibs/AppLibs/wwwroot/font/atg-admin-font.fcp differ diff --git a/AppLibs/AppLibs/wwwroot/font/atgfont-Regular(1).woff b/AppLibs/AppLibs/wwwroot/font/atgfont-Regular(1).woff new file mode 100644 index 0000000..23b9010 Binary files /dev/null and b/AppLibs/AppLibs/wwwroot/font/atgfont-Regular(1).woff differ diff --git a/AppLibs/AppLibs/wwwroot/font/atgfont-Regular(1).woff2 b/AppLibs/AppLibs/wwwroot/font/atgfont-Regular(1).woff2 new file mode 100644 index 0000000..e34d70b Binary files /dev/null and b/AppLibs/AppLibs/wwwroot/font/atgfont-Regular(1).woff2 differ diff --git a/AppLibs/AppLibs/wwwroot/js/ext_libs/js-datepicker.js b/AppLibs/AppLibs/wwwroot/js/ext_libs/js-datepicker.js new file mode 100644 index 0000000..21247a0 --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/js/ext_libs/js-datepicker.js @@ -0,0 +1,15 @@ +!function (e, t) { "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.AirDatepicker = t() : e.AirDatepicker = t() }(this, (function () { return function () { "use strict"; var e = { d: function (t, i) { for (var s in i) e.o(i, s) && !e.o(t, s) && Object.defineProperty(t, s, { enumerable: !0, get: i[s] }) }, o: function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) } }, t = {}; e.d(t, { default: function () { return R } }); var i = { days: "days", months: "months", years: "years", day: "day", month: "month", year: "year", eventChangeViewDate: "changeViewDate", eventChangeCurrentView: "changeCurrentView", eventChangeFocusDate: "changeFocusDate", eventChangeSelectedDate: "changeSelectedDate", eventChangeTime: "changeTime", eventChangeLastSelectedDate: "changeLastSelectedDate", actionSelectDate: "selectDate", actionUnselectDate: "unselectDate", cssClassWeekend: "-weekend-" }, s = { classes: "", inline: !1, locale: { days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"], daysShort: ["Вос", "Пон", "Вто", "Сре", "Чет", "Пят", "Суб"], daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"], months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], today: "Сегодня", clear: "Очистить", dateFormat: "dd.MM.yyyy", timeFormat: "HH:mm", firstDay: 1 }, startDate: new Date, firstDay: "", weekends: [6, 0], dateFormat: "", altField: "", altFieldDateFormat: "T", toggleSelected: !0, keyboardNav: !0, selectedDates: !1, container: "", isMobile: !1, visible: !1, position: "bottom left", offset: 12, view: i.days, minView: i.days, showOtherMonths: !0, selectOtherMonths: !0, moveToOtherMonthsOnSelect: !0, showOtherYears: !0, selectOtherYears: !0, moveToOtherYearsOnSelect: !0, minDate: "", maxDate: "", disableNavWhenOutOfRange: !0, multipleDates: !1, multipleDatesSeparator: ", ", range: !1, dynamicRange: !0, buttons: !1, monthsField: "monthsShort", showEvent: "focus", autoClose: !1, fixedHeight: !1, prevHtml: '', nextHtml: '', navTitles: { days: "MMMM, yyyy", months: "yyyy", years: "yyyy1 - yyyy2" }, timepicker: !1, onlyTimepicker: !1, dateTimeSeparator: " ", timeFormat: "", minHours: 0, maxHours: 24, minMinutes: 0, maxMinutes: 59, hoursStep: 1, minutesStep: 1, onSelect: !1, onChangeViewDate: !1, onChangeView: !1, onRenderCell: !1, onShow: !1, onHide: !1, onClickDayName: !1 }; function a(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : document; return "string" == typeof e ? t.querySelector(e) : e } function n() { let { tagName: e = "div", className: t = "", innerHtml: i = "", id: s = "", attrs: a = {} } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, n = document.createElement(e); return t && n.classList.add(...t.split(" ")), s && (n.id = s), i && (n.innerHTML = i), a && r(n, a), n } function r(e, t) { for (let [i, s] of Object.entries(t)) void 0 !== s && e.setAttribute(i, s); return e } function o(e) { return new Date(e.getFullYear(), e.getMonth() + 1, 0).getDate() } function h(e) { let t = e.getHours(), { hours: i, dayPeriod: s } = l(t); return { year: e.getFullYear(), month: e.getMonth(), fullMonth: e.getMonth() + 1 < 10 ? "0" + (e.getMonth() + 1) : e.getMonth() + 1, date: e.getDate(), fullDate: e.getDate() < 10 ? "0" + e.getDate() : e.getDate(), day: e.getDay(), hours: t, fullHours: d(t), hours12: i, dayPeriod: s, fullHours12: d(i), minutes: e.getMinutes(), fullMinutes: e.getMinutes() < 10 ? "0" + e.getMinutes() : e.getMinutes() } } function l(e) { return { dayPeriod: e > 11 ? "pm" : "am", hours: e % 12 == 0 ? 12 : e % 12 } } function d(e) { return e < 10 ? "0" + e : e } function c(e) { let t = 10 * Math.floor(e.getFullYear() / 10); return [t, t + 9] } function u() { let e = []; for (var t = arguments.length, i = new Array(t), s = 0; s < t; s++)i[s] = arguments[s]; return i.forEach((t => { if ("object" == typeof t) for (let i in t) t[i] && e.push(i); else t && e.push(t) })), e.join(" ") } function p(e, t) { let s = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : i.days; if (!e || !t) return !1; let a = h(e), n = h(t); return { [i.days]: a.date === n.date && a.month === n.month && a.year === n.year, [i.months]: a.month === n.month && a.year === n.year, [i.years]: a.year === n.year }[s] } function m(e, t, i) { let s = g(e, !1).getTime(), a = g(t, !1).getTime(); return i ? s >= a : s > a } function v(e, t) { return !m(e, t, !0) } function g(e) { let t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], i = new Date(e.getTime()); return "boolean" != typeof t || t || function (e) { e.setHours(0, 0, 0, 0) }(i), i } function D(e, t, i) { e.length ? e.forEach((e => { e.addEventListener(t, i) })) : e.addEventListener(t, i) } function y(e, t) { return !(!e || e === document || e instanceof DocumentFragment) && (e.matches(t) ? e : y(e.parentNode, t)) } function f(e, t, i) { return e > i ? i : e < t ? t : e } function w(e) { for (var t = arguments.length, i = new Array(t > 1 ? t - 1 : 0), s = 1; s < t; s++)i[s - 1] = arguments[s]; return i.filter((e => e)).forEach((t => { for (let [i, s] of Object.entries(t)) if (void 0 !== s && "[object Object]" === s.toString()) { let t = void 0 !== e[i] ? e[i].toString() : void 0, a = s.toString(), n = Array.isArray(s) ? [] : {}; e[i] = e[i] ? t !== a ? n : e[i] : n, w(e[i], s) } else e[i] = s })), e } function b(e) { let t = e; return e instanceof Date || ("string" == typeof e && /^\d{4}-\d{2}-\d{2}$/.test(e) && (e += "T00:00:00"), t = new Date(e)), isNaN(t.getTime()) && (console.log(`Unable to convert value "${e}" to Date object`), t = !1), t } function k(e) { let t = "\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;"; return new RegExp("(^|>|" + t + ")(" + e + ")($|<|" + t + ")", "g") } function $(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } class C { constructor() { let { type: e, date: t, dp: i, opts: s, body: a } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; $(this, "focus", (() => { this.$cell.classList.add("-focus-"), this.focused = !0 })), $(this, "removeFocus", (() => { this.$cell.classList.remove("-focus-"), this.focused = !1 })), $(this, "select", (() => { this.$cell.classList.add("-selected-"), this.selected = !0 })), $(this, "removeSelect", (() => { this.$cell.classList.remove("-selected-", "-range-from-", "-range-to-"), this.selected = !1 })), $(this, "onChangeSelectedDate", (() => { this.isDisabled || (this._handleSelectedStatus(), this.opts.range && this._handleRangeStatus()) })), $(this, "onChangeFocusDate", (e => { if (!e) return void (this.focused && this.removeFocus()); let t = p(e, this.date, this.type); t ? this.focus() : !t && this.focused && this.removeFocus(), this.opts.range && this._handleRangeStatus() })), $(this, "render", (() => (this.$cell.innerHTML = this._getHtml(), this._handleClasses(), this.$cell))), this.type = e, this.singleType = this.type.slice(0, -1), this.date = t, this.dp = i, this.opts = s, this.body = a, this.customData = !1, this.init() } init() { var e; let { onRenderCell: t } = this.opts; t && (this.customData = t({ date: this.date, cellType: this.singleType, datepicker: this.dp })), this._createElement(), this._bindDatepickerEvents(), null !== (e = this.customData) && void 0 !== e && e.disabled && this.dp.disableDate(this.date) } _bindDatepickerEvents() { this.dp.on(i.eventChangeSelectedDate, this.onChangeSelectedDate), this.dp.on(i.eventChangeFocusDate, this.onChangeFocusDate) } unbindDatepickerEvents() { this.dp.off(i.eventChangeSelectedDate, this.onChangeSelectedDate), this.dp.off(i.eventChangeFocusDate, this.onChangeFocusDate) } _createElement() { var e; let { year: t, month: i, date: s } = h(this.date), a = (null === (e = this.customData) || void 0 === e ? void 0 : e.attrs) || {}; this.$cell = n({ attrs: { "data-year": t, "data-month": i, "data-date": s, ...a } }), this.$cell.adpCell = this } _getClassName() { var e; let t = new Date, { selectOtherMonths: s, selectOtherYears: a } = this.opts, { minDate: n, maxDate: r, isDateDisabled: o } = this.dp, { day: l } = h(this.date), d = this._isOutOfMinMaxRange(), c = o(this.date), m = u("air-datepicker-cell", `-${this.singleType}-`, { "-current-": p(t, this.date, this.type), "-min-date-": n && p(n, this.date, this.type), "-max-date-": r && p(r, this.date, this.type) }), v = ""; switch (this.type) { case i.days: v = u({ "-weekend-": this.dp.isWeekend(l), "-other-month-": this.isOtherMonth, "-disabled-": this.isOtherMonth && !s || d || c }); break; case i.months: v = u({ "-disabled-": d }); break; case i.years: v = u({ "-other-decade-": this.isOtherDecade, "-disabled-": d || this.isOtherDecade && !a }) }return u(m, v, null === (e = this.customData) || void 0 === e ? void 0 : e.classes).split(" ") } _getHtml() { var e; let { year: t, month: s, date: a } = h(this.date), { showOtherMonths: n, showOtherYears: r } = this.opts; if (null !== (e = this.customData) && void 0 !== e && e.html) return this.customData.html; switch (this.type) { case i.days: return !n && this.isOtherMonth ? "" : a; case i.months: return this.dp.locale[this.opts.monthsField][s]; case i.years: return !r && this.isOtherDecade ? "" : t } } _isOutOfMinMaxRange() { let { minDate: e, maxDate: t } = this.dp, { type: s, date: a } = this, { month: n, year: r, date: o } = h(a), l = s === i.days, d = s === i.years, c = !!e && new Date(r, d ? e.getMonth() : n, l ? o : e.getDate()), u = !!t && new Date(r, d ? t.getMonth() : n, l ? o : t.getDate()); return e && t ? v(c, e) || m(u, t) : e ? v(c, e) : t ? m(u, t) : void 0 } destroy() { this.unbindDatepickerEvents() } _handleRangeStatus() { const { selectedDates: e, focusDate: t, rangeDateTo: i, rangeDateFrom: s } = this.dp, a = e.length; if (!a) return; let n = s, r = i; if (1 === a && t) { const i = m(t, e[0]); n = i ? e[0] : t, r = i ? t : e[0] } let o = u({ "-in-range-": n && r && (h = this.date, l = n, d = r, m(h, l) && v(h, d)), "-range-from-": n && p(this.date, n, this.type), "-range-to-": r && p(this.date, r, this.type) }); var h, l, d; this.$cell.classList.remove("-range-from-", "-range-to-", "-in-range-"), o && this.$cell.classList.add(...o.split(" ")) } _handleSelectedStatus() { let e = this.dp._checkIfDateIsSelected(this.date, this.type); e ? this.select() : !e && this.selected && this.removeSelect() } _handleInitialFocusStatus() { p(this.dp.focusDate, this.date, this.type) && this.focus() } _handleClasses() { this.$cell.setAttribute("class", ""), this._handleInitialFocusStatus(), this.dp.hasSelectedDates && (this._handleSelectedStatus(), this.dp.opts.range && this._handleRangeStatus()), this.$cell.classList.add(...this._getClassName()) } get isDisabled() { return this.$cell.matches(".-disabled-") } get isOtherMonth() { return this.dp.isOtherMonth(this.date) } get isOtherDecade() { return this.dp.isOtherDecade(this.date) } } function _(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } let M = { [i.days]: `
`, [i.months]: `
`, [i.years]: `
` }; const S = ".air-datepicker-cell"; class T { constructor(e) { let { dp: t, type: s, opts: a } = e; _(this, "handleClick", (e => { let t = e.target.closest(S).adpCell; if (t.isDisabled) return; if (!this.dp.isMinViewReached) return void this.dp.down(); let i = this.dp._checkIfDateIsSelected(t.date, t.type); i ? this.dp._handleAlreadySelectedDates(i, t.date) : this.dp.selectDate(t.date) })), _(this, "handleDayNameClick", (e => { let t = e.target.getAttribute("data-day-index"); this.opts.onClickDayName({ dayIndex: Number(t), datepicker: this.dp }) })), _(this, "onChangeCurrentView", (e => { e !== this.type ? this.hide() : (this.show(), this.render()) })), _(this, "onMouseOverCell", (e => { let t = y(e.target, S); this.dp.setFocusDate(!!t && t.adpCell.date) })), _(this, "onMouseOutCell", (() => { this.dp.setFocusDate(!1) })), _(this, "onClickBody", (e => { let { onClickDayName: t } = this.opts, i = e.target; i.closest(S) && this.handleClick(e), t && i.closest(".air-datepicker-body--day-name") && this.handleDayNameClick(e) })), _(this, "onMouseDown", (e => { this.pressed = !0; let t = y(e.target, S), i = t && t.adpCell; p(i.date, this.dp.rangeDateFrom) && (this.rangeFromFocused = !0), p(i.date, this.dp.rangeDateTo) && (this.rangeToFocused = !0) })), _(this, "onMouseMove", (e => { if (!this.pressed || !this.dp.isMinViewReached) return; e.preventDefault(); let t = y(e.target, S), i = t && t.adpCell, { selectedDates: s, rangeDateTo: a, rangeDateFrom: n } = this.dp; if (!i || i.isDisabled) return; let { date: r } = i; if (2 === s.length) { if (this.rangeFromFocused && !m(r, a)) { let { hours: e, minutes: t } = h(n); r.setHours(e), r.setMinutes(t), this.dp.rangeDateFrom = r, this.dp.replaceDate(n, r) } if (this.rangeToFocused && !v(r, n)) { let { hours: e, minutes: t } = h(a); r.setHours(e), r.setMinutes(t), this.dp.rangeDateTo = r, this.dp.replaceDate(a, r) } } })), _(this, "onMouseUp", (() => { this.pressed = !1, this.rangeFromFocused = !1, this.rangeToFocused = !1 })), _(this, "onChangeViewDate", ((e, t) => { if (!this.isVisible) return; let s = c(e), a = c(t); switch (this.dp.currentView) { case i.days: if (p(e, t, i.months)) return; break; case i.months: if (p(e, t, i.years)) return; break; case i.years: if (s[0] === a[0] && s[1] === a[1]) return }this.render() })), _(this, "render", (() => { this.destroyCells(), this._generateCells(), this.cells.forEach((e => { this.$cells.appendChild(e.render()) })) })), this.dp = t, this.type = s, this.opts = a, this.cells = [], this.$el = "", this.pressed = !1, this.isVisible = !0, this.init() } init() { this._buildBaseHtml(), this.type === i.days && this.renderDayNames(), this.render(), this._bindEvents(), this._bindDatepickerEvents() } _bindEvents() { let { range: e, dynamicRange: t } = this.opts; D(this.$el, "mouseover", this.onMouseOverCell), D(this.$el, "mouseout", this.onMouseOutCell), D(this.$el, "click", this.onClickBody), e && t && (D(this.$el, "mousedown", this.onMouseDown), D(this.$el, "mousemove", this.onMouseMove), D(window.document, "mouseup", this.onMouseUp)) } _bindDatepickerEvents() { this.dp.on(i.eventChangeViewDate, this.onChangeViewDate), this.dp.on(i.eventChangeCurrentView, this.onChangeCurrentView) } _buildBaseHtml() { this.$el = n({ className: `air-datepicker-body -${this.type}-`, innerHtml: M[this.type] }), this.$names = a(".air-datepicker-body--day-names", this.$el), this.$cells = a(".air-datepicker-body--cells", this.$el) } _getDayNamesHtml() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.dp.locale.firstDay, t = "", s = this.dp.isWeekend, { onClickDayName: a } = this.opts, n = e, r = 0; for (; r < 7;) { let e = n % 7; t += `
${this.dp.locale.daysMin[e]}
`, r++, n++ } return t } renderDayNames() { this.$names.innerHTML = this._getDayNamesHtml() } _generateCell(e) { let { type: t, dp: i, opts: s } = this; return new C({ type: t, dp: i, opts: s, date: e, body: this }) } _generateCells() { T.getDatesFunction(this.type)(this.dp, (e => { this.cells.push(this._generateCell(e)) })) } show() { this.isVisible = !0, this.$el.classList.remove("-hidden-") } hide() { this.isVisible = !1, this.$el.classList.add("-hidden-") } destroyCells() { this.cells.forEach((e => e.destroy())), this.cells = [], this.$cells.innerHTML = "" } destroy() { this.destroyCells(), this.dp.off(i.eventChangeViewDate, this.onChangeViewDate), this.dp.off(i.eventChangeCurrentView, this.onChangeCurrentView) } static getDaysDates(e, t) { let { viewDate: i, opts: { fixedHeight: s }, locale: { firstDay: a } } = e, n = o(i), { year: r, month: l } = h(i), d = new Date(r, l, 1), c = new Date(r, l, n), u = d.getDay() - a, p = 6 - c.getDay() + a; u = u < 0 ? u + 7 : u, p = p > 6 ? p - 7 : p; let m = function (e, t) { let { year: i, month: s, date: a } = h(e); return new Date(i, s, a - t) }(d, u), v = n + u + p, g = m.getDate(), { year: D, month: y } = h(m), f = 0; s && (v = 42); const w = []; for (; f < v;) { let e = new Date(D, y, g + f); t && t(e), w.push(e), f++ } return w } static getMonthsDates(e, t) { let { year: i } = e.parsedViewDate, s = 0, a = []; for (; s < 12;) { const e = new Date(i, s); a.push(e), t && t(e), s++ } return a } static getYearsDates(e, t) { let i = c(e.viewDate), s = i[0] - 1, a = i[1] + 1, n = s, r = []; for (; n <= a;) { const e = new Date(n, 0); r.push(e), t && t(e), n++ } return r } static getDatesFunction() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : i.days; return { [i.days]: T.getDaysDates, [i.months]: T.getMonthsDates, [i.years]: T.getYearsDates }[e] } } function F(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } class V { constructor(e) { let { dp: t, opts: i } = e; F(this, "onClickNav", (e => { let t = y(e.target, ".air-datepicker-nav--action"); if (!t) return; let i = t.dataset.action; this.dp[i]() })), F(this, "onChangeViewDate", (() => { this.render(), this._resetNavStatus(), this.handleNavStatus() })), F(this, "onChangeCurrentView", (() => { this.render(), this._resetNavStatus(), this.handleNavStatus() })), F(this, "onClickNavTitle", (() => { this.dp.isFinalView || this.dp.up() })), F(this, "update", (() => { let { prevHtml: e, nextHtml: t } = this.opts; this.$prev.innerHTML = e, this.$next.innerHTML = t, this._resetNavStatus(), this.render(), this.handleNavStatus() })), F(this, "renderDelay", (() => { setTimeout(this.render) })), F(this, "render", (() => { this.$title.innerHTML = this._getTitle(), function (e, t) { for (let i in t) t[i] ? e.classList.add(i) : e.classList.remove(i) }(this.$title, { "-disabled-": this.dp.isFinalView }) })), this.dp = t, this.opts = i, this.init() } init() { this._createElement(), this._buildBaseHtml(), this._defineDOM(), this.render(), this.handleNavStatus(), this._bindEvents(), this._bindDatepickerEvents() } _defineDOM() { this.$title = a(".air-datepicker-nav--title", this.$el), this.$prev = a('[data-action="prev"]', this.$el), this.$next = a('[data-action="next"]', this.$el) } _bindEvents() { this.$el.addEventListener("click", this.onClickNav), this.$title.addEventListener("click", this.onClickNavTitle) } _bindDatepickerEvents() { this.dp.on(i.eventChangeViewDate, this.onChangeViewDate), this.dp.on(i.eventChangeCurrentView, this.onChangeCurrentView), this.isNavIsFunction && (this.dp.on(i.eventChangeSelectedDate, this.renderDelay), this.dp.opts.timepicker && this.dp.on(i.eventChangeTime, this.render)) } destroy() { this.dp.off(i.eventChangeViewDate, this.onChangeViewDate), this.dp.off(i.eventChangeCurrentView, this.onChangeCurrentView), this.isNavIsFunction && (this.dp.off(i.eventChangeSelectedDate, this.renderDelay), this.dp.opts.timepicker && this.dp.off(i.eventChangeTime, this.render)) } _createElement() { this.$el = n({ tagName: "nav", className: "air-datepicker-nav" }) } _getTitle() { let { dp: e, opts: t } = this, i = t.navTitles[e.currentView]; return "function" == typeof i ? i(e) : e.formatDate(e.viewDate, i) } handleNavStatus() { let { disableNavWhenOutOfRange: e } = this.opts, { minDate: t, maxDate: s } = this.dp; if (!t && !s || !e) return; let { year: a, month: n } = this.dp.parsedViewDate, r = !!t && h(t), o = !!s && h(s); switch (this.dp.currentView) { case i.days: t && r.month >= n && r.year >= a && this._disableNav("prev"), s && o.month <= n && o.year <= a && this._disableNav("next"); break; case i.months: t && r.year >= a && this._disableNav("prev"), s && o.year <= a && this._disableNav("next"); break; case i.years: { let e = c(this.dp.viewDate); t && r.year >= e[0] && this._disableNav("prev"), s && o.year <= e[1] && this._disableNav("next"); break } } } _disableNav(e) { a('[data-action="' + e + '"]', this.$el).classList.add("-disabled-") } _resetNavStatus() { !function (e) { for (var t = arguments.length, i = new Array(t > 1 ? t - 1 : 0), s = 1; s < t; s++)i[s - 1] = arguments[s]; e.length ? e.forEach((e => { e.classList.remove(...i) })) : e.classList.remove(...i) }(this.$el.querySelectorAll(".air-datepicker-nav--action"), "-disabled-") } _buildBaseHtml() { let { prevHtml: e, nextHtml: t } = this.opts; this.$el.innerHTML = `
${e}
${t}
` } get isNavIsFunction() { let { navTitles: e } = this.opts; return Object.keys(e).find((t => "function" == typeof e[t])) } } var x = { today: { content: e => e.locale.today, onClick: e => e.setViewDate(new Date) }, clear: { content: e => e.locale.clear, onClick: e => e.clear() } }; class H { constructor(e) { let { dp: t, opts: i } = e; this.dp = t, this.opts = i, this.init() } init() { this.createElement(), this.render() } createElement() { this.$el = n({ className: "air-datepicker-buttons" }) } destroy() { this.$el.parentNode.removeChild(this.$el) } clearHtml() { return this.$el.innerHTML = "", this } generateButtons() { let { buttons: e } = this.opts; Array.isArray(e) || (e = [e]), e.forEach((e => { let t = e; "string" == typeof e && x[e] && (t = x[e]); let i = this.createButton(t); t.onClick && this.attachEventToButton(i, t.onClick), this.$el.appendChild(i) })) } attachEventToButton(e, t) { e.addEventListener("click", (() => { t(this.dp) })) } createButton(e) { let { content: t, className: i, tagName: s = "button", attrs: a = {} } = e; return n({ tagName: s, innerHtml: `${"function" == typeof t ? t(this.dp) : t}`, className: u("air-datepicker-button", i), attrs: a }) } render() { this.generateButtons() } } function E(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } class L { constructor() { let { opts: e, dp: t } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; E(this, "toggleTimepickerIsActive", (e => { this.dp.timepickerIsActive = e })), E(this, "onChangeSelectedDate", (e => { let { date: t, updateTime: i = !1 } = e; t && (this.setMinMaxTime(t), this.setCurrentTime(!!i && t), this.addTimeToDate(t)) })), E(this, "onChangeLastSelectedDate", (e => { e && (this.setTime(e), this.render()) })), E(this, "onChangeInputRange", (e => { let t = e.target; this[t.getAttribute("name")] = t.value, this.updateText(), this.dp.trigger(i.eventChangeTime, { hours: this.hours, minutes: this.minutes }) })), E(this, "onMouseEnterLeave", (e => { let t = e.target.getAttribute("name"), i = this.$minutesText; "hours" === t && (i = this.$hoursText), i.classList.toggle("-focus-") })), E(this, "onFocus", (() => { this.toggleTimepickerIsActive(!0) })), E(this, "onBlur", (() => { this.toggleTimepickerIsActive(!1) })), this.opts = e, this.dp = t; let { timeFormat: s } = this.dp.locale; s && (s.match(k("h")) || s.match(k("hh"))) && (this.ampm = !0), this.init() } init() { this.setTime(this.dp.lastSelectedDate || this.dp.viewDate), this.createElement(), this.buildHtml(), this.defineDOM(), this.render(), this.bindDatepickerEvents(), this.bindDOMEvents() } bindDatepickerEvents() { this.dp.on(i.eventChangeSelectedDate, this.onChangeSelectedDate), this.dp.on(i.eventChangeLastSelectedDate, this.onChangeLastSelectedDate) } bindDOMEvents() { let e = "input"; navigator.userAgent.match(/trident/gi) && (e = "change"), D(this.$ranges, e, this.onChangeInputRange), D(this.$ranges, "mouseenter", this.onMouseEnterLeave), D(this.$ranges, "mouseleave", this.onMouseEnterLeave), D(this.$ranges, "focus", this.onFocus), D(this.$ranges, "mousedown", this.onFocus), D(this.$ranges, "blur", this.onBlur) } createElement() { this.$el = n({ className: u("air-datepicker-time", { "-am-pm-": this.dp.ampm }) }) } destroy() { this.dp.off(i.eventChangeSelectedDate, this.onChangeSelectedDate), this.dp.off(i.eventChangeLastSelectedDate, this.onChangeLastSelectedDate), this.$el.parentNode.removeChild(this.$el) } buildHtml() { let { ampm: e, hours: t, displayHours: i, minutes: s, minHours: a, minMinutes: n, maxHours: r, maxMinutes: o, dayPeriod: h, opts: { hoursStep: l, minutesStep: c } } = this; this.$el.innerHTML = `
${d(i)} : ${d(s)} ` + (e ? `${h}` : "") + '
' + `
` + `
` } defineDOM() { let e = e => a(e, this.$el); this.$ranges = this.$el.querySelectorAll('[type="range"]'), this.$hours = e('[name="hours"]'), this.$minutes = e('[name="minutes"]'), this.$hoursText = e(".air-datepicker-time--current-hours"), this.$minutesText = e(".air-datepicker-time--current-minutes"), this.$ampm = e(".air-datepicker-time--current-ampm") } setTime(e) { this.setMinMaxTime(e), this.setCurrentTime(e) } addTimeToDate(e) { e && (e.setHours(this.hours), e.setMinutes(this.minutes)) } setMinMaxTime(e) { if (this.setMinMaxTimeFromOptions(), e) { let { minDate: t, maxDate: i } = this.dp; t && p(e, t) && this.setMinTimeFromMinDate(t), i && p(e, i) && this.setMaxTimeFromMaxDate(i) } } setCurrentTime(e) { let { hours: t, minutes: i } = e ? h(e) : this; this.hours = f(t, this.minHours, this.maxHours), this.minutes = f(i, this.minMinutes, this.maxMinutes) } setMinMaxTimeFromOptions() { let { minHours: e, minMinutes: t, maxHours: i, maxMinutes: s } = this.opts; this.minHours = f(e, 0, 23), this.minMinutes = f(t, 0, 59), this.maxHours = f(i, 0, 23), this.maxMinutes = f(s, 0, 59) } setMinTimeFromMinDate(e) { let { lastSelectedDate: t } = this.dp; this.minHours = e.getHours(), t && t.getHours() > e.getHours() ? this.minMinutes = this.opts.minMinutes : this.minMinutes = e.getMinutes() } setMaxTimeFromMaxDate(e) { let { lastSelectedDate: t } = this.dp; this.maxHours = e.getHours(), t && t.getHours() < e.getHours() ? this.maxMinutes = this.opts.maxMinutes : this.maxMinutes = e.getMinutes() } updateSliders() { r(this.$hours, { min: this.minHours, max: this.maxHours }).value = this.hours, r(this.$minutes, { min: this.minMinutes, max: this.maxMinutes }).value = this.minutes } updateText() { this.$hoursText.innerHTML = d(this.displayHours), this.$minutesText.innerHTML = d(this.minutes), this.ampm && (this.$ampm.innerHTML = this.dayPeriod) } set hours(e) { this._hours = e; let { hours: t, dayPeriod: i } = l(e); this.displayHours = this.ampm ? t : e, this.dayPeriod = i } get hours() { return this._hours } render() { this.updateSliders(), this.updateText() } } function O(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } class A { constructor(e) { let { dp: t, opts: i } = e; O(this, "pressedKeys", new Set), O(this, "hotKeys", new Map([[[["Control", "ArrowRight"], ["Control", "ArrowUp"]], e => e.month++], [[["Control", "ArrowLeft"], ["Control", "ArrowDown"]], e => e.month--], [[["Shift", "ArrowRight"], ["Shift", "ArrowUp"]], e => e.year++], [[["Shift", "ArrowLeft"], ["Shift", "ArrowDown"]], e => e.year--], [[["Alt", "ArrowRight"], ["Alt", "ArrowUp"]], e => e.year += 10], [[["Alt", "ArrowLeft"], ["Alt", "ArrowDown"]], e => e.year -= 10], [["Control", "Shift", "ArrowUp"], (e, t) => t.up()]])), O(this, "handleHotKey", (e => { let t = this.hotKeys.get(e), i = h(this.getInitialFocusDate()); t(i, this.dp); let { year: s, month: a, date: n } = i, r = o(new Date(s, a)); r < n && (n = r); let l = this.dp.getClampedDate(new Date(s, a, n)); this.dp.setFocusDate(l, { viewDateTransition: !0 }) })), O(this, "isHotKeyPressed", (() => { let e = !1, t = this.pressedKeys.size, i = e => this.pressedKeys.has(e); for (let [s] of this.hotKeys) { if (e) break; if (Array.isArray(s[0])) s.forEach((a => { e || t !== a.length || (e = a.every(i) && s) })); else { if (t !== s.length) continue; e = s.every(i) && s } } return e })), O(this, "isArrow", (e => e >= 37 && e <= 40)), O(this, "onKeyDown", (e => { let { key: t, which: i } = e, { dp: s, dp: { focusDate: a }, opts: n } = this; this.registerKey(t); let r = this.isHotKeyPressed(); if (r) return e.preventDefault(), void this.handleHotKey(r); if (this.isArrow(i)) return e.preventDefault(), void this.focusNextCell(t); if ("Enter" === t) { if (s.currentView !== n.minView) return void s.down(); if (a) { let e = s._checkIfDateIsSelected(a); return void (e ? s._handleAlreadySelectedDates(e, a) : s.selectDate(a)) } } "Escape" === t && this.dp.hide() })), O(this, "onKeyUp", (e => { this.removeKey(e.key) })), this.dp = t, this.opts = i, this.init() } init() { this.bindKeyboardEvents() } bindKeyboardEvents() { let { $el: e } = this.dp; e.addEventListener("keydown", this.onKeyDown), e.addEventListener("keyup", this.onKeyUp) } destroy() { let { $el: e } = this.dp; e.removeEventListener("keydown", this.onKeyDown), e.removeEventListener("keyup", this.onKeyUp), this.hotKeys = null, this.pressedKeys = null } getInitialFocusDate() { let { focusDate: e, currentView: t, selectedDates: s, parsedViewDate: { year: a, month: n } } = this.dp, r = e || s[s.length - 1]; if (!r) switch (t) { case i.days: r = new Date(a, n, (new Date).getDate()); break; case i.months: r = new Date(a, n, 1); break; case i.years: r = new Date(a, 0, 1) }return r } focusNextCell(e) { let t = this.getInitialFocusDate(), { currentView: s } = this.dp, { days: a, months: n, years: r } = i, o = h(t), l = o.year, d = o.month, c = o.date; switch (e) { case "ArrowLeft": s === a && (c -= 1), s === n && (d -= 1), s === r && (l -= 1); break; case "ArrowUp": s === a && (c -= 7), s === n && (d -= 3), s === r && (l -= 4); break; case "ArrowRight": s === a && (c += 1), s === n && (d += 1), s === r && (l += 1); break; case "ArrowDown": s === a && (c += 7), s === n && (d += 3), s === r && (l += 4) }let u = this.dp.getClampedDate(new Date(l, d, c)); this.dp.setFocusDate(u, { viewDateTransition: !0 }) } registerKey(e) { this.pressedKeys.add(e) } removeKey(e) { this.pressedKeys.delete(e) } } let N = { on(e, t) { this.__events || (this.__events = {}), this.__events[e] ? this.__events[e].push(t) : this.__events[e] = [t] }, off(e, t) { this.__events && this.__events[e] && (this.__events[e] = this.__events[e].filter((e => e !== t))) }, removeAllEvents() { this.__events = {} }, trigger(e) { for (var t = arguments.length, i = new Array(t > 1 ? t - 1 : 0), s = 1; s < t; s++)i[s - 1] = arguments[s]; this.__events && this.__events[e] && this.__events[e].forEach((e => { e(...i) })) } }; function I(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } let P = "", j = "", B = !1; class R { static buildGlobalContainer(e) { B = !0, P = n({ className: e, id: e }), a("body").appendChild(P) } constructor(e, t) { var r = this; if (I(this, "viewIndexes", [i.days, i.months, i.years]), I(this, "next", (() => { let { year: e, month: t } = this.parsedViewDate; switch (this.currentView) { case i.days: this.setViewDate(new Date(e, t + 1, 1)); break; case i.months: this.setViewDate(new Date(e + 1, t, 1)); break; case i.years: this.setViewDate(new Date(e + 10, 0, 1)) } })), I(this, "prev", (() => { let { year: e, month: t } = this.parsedViewDate; switch (this.currentView) { case i.days: this.setViewDate(new Date(e, t - 1, 1)); break; case i.months: this.setViewDate(new Date(e - 1, t, 1)); break; case i.years: this.setViewDate(new Date(e - 10, 0, 1)) } })), I(this, "_finishHide", (() => { this.hideAnimation = !1, this._destroyComponents(), this.$container.removeChild(this.$datepicker) })), I(this, "setPosition", (function (e) { let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; if ("function" == typeof (e = e || r.opts.position)) return void (r.customHide = e({ $datepicker: r.$datepicker, $target: r.$el, $pointer: r.$pointer, isViewChange: t, done: r._finishHide })); let i, s, { isMobile: a } = r.opts, n = r.$el.getBoundingClientRect(), o = r.$el.getBoundingClientRect(), h = r.$datepicker.offsetParent, l = r.$el.offsetParent, d = r.$datepicker.getBoundingClientRect(), c = e.split(" "), u = window.scrollY, p = window.scrollX, m = r.opts.offset, v = c[0], g = c[1]; if (a) r.$datepicker.style.cssText = "left: 50%; top: 50%"; else { if (h === l && h !== document.body && (o = { top: r.$el.offsetTop, left: r.$el.offsetLeft, width: n.width, height: r.$el.offsetHeight }, u = 0, p = 0), h !== l && h !== document.body) { let e = h.getBoundingClientRect(); o = { top: n.top - e.top, left: n.left - e.left, width: n.width, height: n.height }, u = 0, p = 0 } switch (v) { case "top": i = o.top - d.height - m; break; case "right": s = o.left + o.width + m; break; case "bottom": i = o.top + o.height + m; break; case "left": s = o.left - d.width - m }switch (g) { case "top": i = o.top; break; case "right": s = o.left + o.width - d.width; break; case "bottom": i = o.top + o.height - d.height; break; case "left": s = o.left; break; case "center": /left|right/.test(v) ? i = o.top + o.height / 2 - d.height / 2 : s = o.left + o.width / 2 - d.width / 2 }r.$datepicker.style.cssText = `left: ${s + p}px; top: ${i + u}px` } })), I(this, "_setInputValue", (() => { let { opts: e, $altField: t, locale: { dateFormat: i } } = this, { altFieldDateFormat: s, altField: a } = e; a && t && (t.value = this._getInputValue(s)), this.$el.value = this._getInputValue(i) })), I(this, "_getInputValue", (e => { let { selectedDates: t, opts: i } = this, { multipleDates: s, multipleDatesSeparator: a } = i; if (!t.length) return ""; let n = "function" == typeof e, r = n ? e(s ? t : t[0]) : t.map((t => this.formatDate(t, e))); return r = n ? r : r.join(a), r })), I(this, "_checkIfDateIsSelected", (function (e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : i.days, s = !1; return r.selectedDates.some((i => { let a = p(e, i, t); return s = a && i, a })), s })), I(this, "_scheduleCallAfterTransition", (e => { this._cancelScheduledCall(), e && e(!1), this._onTransitionEnd = () => { e && e(!0) }, this.$datepicker.addEventListener("transitionend", this._onTransitionEnd, { once: !0 }) })), I(this, "_cancelScheduledCall", (() => { this.$datepicker.removeEventListener("transitionend", this._onTransitionEnd) })), I(this, "setViewDate", (e => { if (!((e = b(e)) instanceof Date)) return; if (p(e, this.viewDate)) return; let t = this.viewDate; this.viewDate = e; let { onChangeViewDate: s } = this.opts; if (s) { let { month: e, year: t } = this.parsedViewDate; s({ month: e, year: t, decade: this.curDecade }) } this.trigger(i.eventChangeViewDate, e, t) })), I(this, "setFocusDate", (function (e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; (!e || (e = b(e)) instanceof Date) && (r.focusDate = e, r.trigger(i.eventChangeFocusDate, e, t)) })), I(this, "setCurrentView", (function (e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; if (r.viewIndexes.includes(e)) { if (r.currentView = e, r.elIsInput && r.visible && r.setPosition(void 0, !0), r.trigger(i.eventChangeCurrentView, e), !r.views[e]) { let t = r.views[e] = new T({ dp: r, opts: r.opts, type: e }); r.shouldUpdateDOM && r.$content.appendChild(t.$el) } r.opts.onChangeView && !t.silent && r.opts.onChangeView(e) } })), I(this, "_updateLastSelectedDate", (e => { this.lastSelectedDate = e, this.trigger(i.eventChangeLastSelectedDate, e) })), I(this, "destroy", (() => { let { showEvent: e, isMobile: t } = this.opts, i = this.$datepicker.parentNode; i && i.removeChild(this.$datepicker), this.$el.removeEventListener(e, this._onFocus), this.$el.removeEventListener("blur", this._onBlur), window.removeEventListener("resize", this._onResize), t && this._removeMobileAttributes(), this.keyboardNav && this.keyboardNav.destroy(), this.views = null, this.nav = null, this.$datepicker = null, this.opts = null, this.$customContainer = null, this.viewDate = null, this.focusDate = null, this.selectedDates = null, this.rangeDateFrom = null, this.rangeDateTo = null })), I(this, "update", (function () { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, s = w({}, r.opts), { silent: a } = t; w(r.opts, e); let { timepicker: n, buttons: o, range: h, selectedDates: l, isMobile: d } = r.opts, c = r.visible || r.treatAsInline; r._createMinMaxDates(), r._limitViewDateByMaxMinDates(), r._handleLocale(), l && (r.selectedDates = [], r.selectDate(l, { silent: a })), e.view && r.setCurrentView(e.view, { silent: a }), r._setInputValue(), s.range && !h ? (r.rangeDateTo = !1, r.rangeDateFrom = !1) : !s.range && h && r.selectedDates.length && (r.rangeDateFrom = r.selectedDates[0], r.rangeDateTo = r.selectedDates[1]), s.timepicker && !n ? (c && r.timepicker.destroy(), r.timepicker = !1, r.$timepicker.parentNode.removeChild(r.$timepicker)) : !s.timepicker && n && r._addTimepicker(), !s.buttons && o ? r._addButtons() : s.buttons && !o ? (r.buttons.destroy(), r.$buttons.parentNode.removeChild(r.$buttons)) : c && s.buttons && o && r.buttons.clearHtml().render(), !s.isMobile && d ? (r.treatAsInline || j || r._createMobileOverlay(), r._addMobileAttributes(), r.visible && r._showMobileOverlay()) : s.isMobile && !d && (r._removeMobileAttributes(), r.visible && (j.classList.remove("-active-"), "function" != typeof r.opts.position && r.setPosition())), c && (r.nav.update(), r.views[r.currentView].render(), r.currentView === i.days && r.views[r.currentView].renderDayNames()) })), I(this, "disableDate", ((e, t) => { (Array.isArray(e) ? e : [e]).forEach((e => { let i = b(e); if (!i) return; let s = t ? "delete" : "add"; this.disabledDates[s](this.formatDate(i, "yyyy-MM-dd")); let a = this.getCell(i, this.currentViewSingular); a && a.adpCell.render() }), []) })), I(this, "enableDate", (e => { this.disableDate(e, !0) })), I(this, "isDateDisabled", (e => { let t = b(e); return this.disabledDates.has(this.formatDate(t, "yyyy-MM-dd")) })), I(this, "isOtherMonth", (e => { let { month: t } = h(e); return t !== this.parsedViewDate.month })), I(this, "isOtherYear", (e => { let { year: t } = h(e); return t !== this.parsedViewDate.year })), I(this, "isOtherDecade", (e => { let { year: t } = h(e), [i, s] = c(this.viewDate); return t < i || t > s })), I(this, "_onChangeSelectedDate", (e => { let { silent: t } = e; setTimeout((() => { this._setInputValue(), this.opts.onSelect && !t && this._triggerOnSelect() })) })), I(this, "_onChangeFocusedDate", (function (e) { let { viewDateTransition: t } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; if (!e) return; let i = !1; t && (i = r.isOtherMonth(e) || r.isOtherYear(e) || r.isOtherDecade(e)), i && r.setViewDate(e), r.opts.onFocus && r.opts.onFocus({ datepicker: r, date: e }) })), I(this, "_onChangeTime", (e => { let { hours: t, minutes: i } = e, s = new Date, { lastSelectedDate: a, opts: { onSelect: n } } = this, r = a; a || (r = s); let o = this.getCell(r, this.currentViewSingular), h = o && o.adpCell; h && h.isDisabled || (r.setHours(t), r.setMinutes(i), a ? (this._setInputValue(), n && this._triggerOnSelect()) : this.selectDate(r)) })), I(this, "_onFocus", (e => { this.visible || this.show() })), I(this, "_onBlur", (e => { this.inFocus || !this.visible || this.opts.isMobile || this.hide() })), I(this, "_onMouseDown", (e => { this.inFocus = !0 })), I(this, "_onMouseUp", (e => { this.inFocus = !1, this.$el.focus() })), I(this, "_onResize", (() => { this.visible && "function" != typeof this.opts.position && this.setPosition() })), I(this, "_onClickOverlay", (() => { this.visible && this.hide() })), I(this, "getViewDates", (function () { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : i.days; return T.getDatesFunction(e)(r) })), I(this, "isWeekend", (e => this.opts.weekends.includes(e))), I(this, "getClampedDate", (e => { let { minDate: t, maxDate: i } = this, s = e; return i && m(e, i) ? s = i : t && v(e, t) && (s = t), s })), this.$el = a(e), !this.$el) return; this.$datepicker = n({ className: "air-datepicker" }), this.opts = w({}, s, t), this.$customContainer = !!this.opts.container && a(this.opts.container), this.$altField = a(this.opts.altField || !1); let { view: o, startDate: l } = this.opts; l || (this.opts.startDate = new Date), "INPUT" === this.$el.nodeName && (this.elIsInput = !0), this.inited = !1, this.visible = !1, this.viewDate = b(this.opts.startDate), this.focusDate = !1, this.initialReadonly = this.$el.getAttribute("readonly"), this.customHide = !1, this.currentView = o, this.selectedDates = [], this.disabledDates = new Set, this.views = {}, this.keys = [], this.rangeDateFrom = "", this.rangeDateTo = "", this.timepickerIsActive = !1, this.treatAsInline = this.opts.inline || !this.elIsInput, this.init() } init() { let { opts: e, treatAsInline: t, opts: { inline: i, isMobile: s, selectedDates: n, keyboardNav: r, onlyTimepicker: o } } = this, h = a("body"); (!B || B && P && !h.contains(P)) && !i && this.elIsInput && !this.$customContainer && R.buildGlobalContainer(R.defaultGlobalContainerId), !s || j || t || this._createMobileOverlay(), this._handleLocale(), this._bindSubEvents(), this._createMinMaxDates(), this._limitViewDateByMaxMinDates(), this.elIsInput && (i || this._bindEvents(), r && !o && (this.keyboardNav = new A({ dp: this, opts: e }))), n && this.selectDate(n, { silent: !0 }), this.opts.visible && !t && this.show(), s && !t && this.$el.setAttribute("readonly", !0), t && this._createComponents() } _createMobileOverlay() { j = n({ className: "air-datepicker-overlay" }), P.appendChild(j) } _createComponents() { let { opts: e, treatAsInline: t, opts: { inline: i, buttons: s, timepicker: a, position: n, classes: r, onlyTimepicker: o, isMobile: h } } = this; this._buildBaseHtml(), this.elIsInput && (i || this._setPositionClasses(n)), !i && this.elIsInput || this.$datepicker.classList.add("-inline-"), r && this.$datepicker.classList.add(...r.split(" ")), o && this.$datepicker.classList.add("-only-timepicker-"), h && !t && this._addMobileAttributes(), this.views[this.currentView] = new T({ dp: this, type: this.currentView, opts: e }), this.nav = new V({ dp: this, opts: e }), a && this._addTimepicker(), s && this._addButtons(), this.$content.appendChild(this.views[this.currentView].$el), this.$nav.appendChild(this.nav.$el) } _destroyComponents() { for (let e in this.views) this.views[e].destroy(); this.views = {}, this.nav.destroy(), this.timepicker && this.timepicker.destroy() } _addMobileAttributes() { j.addEventListener("click", this._onClickOverlay), this.$datepicker.classList.add("-is-mobile-"), this.$el.setAttribute("readonly", !0) } _removeMobileAttributes() { j.removeEventListener("click", this._onClickOverlay), this.$datepicker.classList.remove("-is-mobile-"), this.initialReadonly || "" === this.initialReadonly || this.$el.removeAttribute("readonly") } _createMinMaxDates() { let { minDate: e, maxDate: t } = this.opts; this.minDate = !!e && b(e), this.maxDate = !!t && b(t) } _addTimepicker() { this.$timepicker = n({ className: "air-datepicker--time" }), this.$datepicker.appendChild(this.$timepicker), this.timepicker = new L({ dp: this, opts: this.opts }), this.$timepicker.appendChild(this.timepicker.$el) } _addButtons() { this.$buttons = n({ className: "air-datepicker--buttons" }), this.$datepicker.appendChild(this.$buttons), this.buttons = new H({ dp: this, opts: this.opts }), this.$buttons.appendChild(this.buttons.$el) } _bindSubEvents() { this.on(i.eventChangeSelectedDate, this._onChangeSelectedDate), this.on(i.eventChangeFocusDate, this._onChangeFocusedDate), this.on(i.eventChangeTime, this._onChangeTime) } _buildBaseHtml() { let { inline: e } = this.opts; var t, i; this.elIsInput ? e ? (t = this.$datepicker, (i = this.$el).parentNode.insertBefore(t, i.nextSibling)) : this.$container.appendChild(this.$datepicker) : this.$el.appendChild(this.$datepicker), this.$datepicker.innerHTML = '
', this.$content = a(".air-datepicker--content", this.$datepicker), this.$pointer = a(".air-datepicker--pointer", this.$datepicker), this.$nav = a(".air-datepicker--navigation", this.$datepicker) } _handleLocale() { let { locale: e, dateFormat: t, firstDay: i, timepicker: s, onlyTimepicker: a, timeFormat: n, dateTimeSeparator: r } = this.opts; var o; this.locale = (o = e, JSON.parse(JSON.stringify(o))), t && (this.locale.dateFormat = t), void 0 !== n && "" !== n && (this.locale.timeFormat = n); let { timeFormat: h } = this.locale; if ("" !== i && (this.locale.firstDay = i), s && "function" != typeof t) { let e = h ? r : ""; this.locale.dateFormat = [this.locale.dateFormat, h || ""].join(e) } a && "function" != typeof t && (this.locale.dateFormat = this.locale.timeFormat) } _setPositionClasses(e) { if ("function" == typeof e) return void this.$datepicker.classList.add("-custom-position-"); let t = (e = e.split(" "))[0], i = `air-datepicker -${t}-${e[1]}- -from-${t}-`; this.$datepicker.classList.add(...i.split(" ")) } _bindEvents() { this.$el.addEventListener(this.opts.showEvent, this._onFocus), this.$el.addEventListener("blur", this._onBlur), this.$datepicker.addEventListener("mousedown", this._onMouseDown), this.$datepicker.addEventListener("mouseup", this._onMouseUp), window.addEventListener("resize", this._onResize) } _limitViewDateByMaxMinDates() { let { viewDate: e, minDate: t, maxDate: i } = this; i && m(e, i) && this.setViewDate(i), t && v(e, t) && this.setViewDate(t) } formatDate() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.viewDate, t = arguments.length > 1 ? arguments[1] : void 0; if (e = b(e), !(e instanceof Date)) return; let i = t, s = this.locale, a = h(e), n = a.dayPeriod, r = c(e), o = R.replacer, l = { T: e.getTime(), m: a.minutes, mm: a.fullMinutes, h: a.hours12, hh: a.fullHours12, H: a.hours, HH: a.fullHours, aa: n, AA: n.toUpperCase(), E: s.daysShort[a.day], EEEE: s.days[a.day], d: a.date, dd: a.fullDate, M: a.month + 1, MM: a.fullMonth, MMM: s.monthsShort[a.month], MMMM: s.months[a.month], yy: a.year.toString().slice(-2), yyyy: a.year, yyyy1: r[0], yyyy2: r[1] }; for (let [e, t] of Object.entries(l)) i = o(i, k(e), t); return i } down(e) { this._handleUpDownActions(e, "down") } up(e) { this._handleUpDownActions(e, "up") } selectDate(e) { let t, s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, { currentView: a, parsedViewDate: n, selectedDates: r } = this, { updateTime: o } = s, { moveToOtherMonthsOnSelect: h, moveToOtherYearsOnSelect: l, multipleDates: d, range: c, autoClose: u, onBeforeSelect: p } = this.opts, v = r.length; if (Array.isArray(e)) return e.forEach((e => { this.selectDate(e, s) })), new Promise((e => { setTimeout(e) })); if ((e = b(e)) instanceof Date) { if (p && !p({ date: e, datepicker: this })) return Promise.resolve(); if (a === i.days && e.getMonth() !== n.month && h && (t = new Date(e.getFullYear(), e.getMonth(), 1)), a === i.years && e.getFullYear() !== n.year && l && (t = new Date(e.getFullYear(), 0, 1)), t && this.setViewDate(t), d && !c) { if (v === d) return; this._checkIfDateIsSelected(e) || r.push(e) } else if (c) switch (v) { case 1: r.push(e), this.rangeDateTo || (this.rangeDateTo = e), m(this.rangeDateFrom, this.rangeDateTo) && (this.rangeDateTo = this.rangeDateFrom, this.rangeDateFrom = e), this.selectedDates = [this.rangeDateFrom, this.rangeDateTo]; break; case 2: this.selectedDates = [e], this.rangeDateFrom = e, this.rangeDateTo = ""; break; default: this.selectedDates = [e], this.rangeDateFrom = e } else this.selectedDates = [e]; return this.trigger(i.eventChangeSelectedDate, { action: i.actionSelectDate, silent: null == s ? void 0 : s.silent, date: e, updateTime: o }), this._updateLastSelectedDate(e), u && !this.timepickerIsActive && this.visible && (d || c ? c && 1 === v && this.hide() : this.hide()), new Promise((e => { setTimeout(e) })) } } unselectDate(e) { let t = this.selectedDates, s = this; if ((e = b(e)) instanceof Date) return t.some(((a, n) => { if (p(a, e)) return t.splice(n, 1), s.selectedDates.length ? s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length - 1]) : (s.rangeDateFrom = "", s.rangeDateTo = "", s._updateLastSelectedDate(!1)), this.trigger(i.eventChangeSelectedDate, { action: i.actionUnselectDate, date: e }), !0 })) } replaceDate(e, t) { let s = this.selectedDates.find((t => p(t, e, this.currentView))), a = this.selectedDates.indexOf(s); a < 0 || p(this.selectedDates[a], t, this.currentView) || (this.selectedDates[a] = t, this.trigger(i.eventChangeSelectedDate, { action: i.actionSelectDate, date: t, updateTime: !0 }), this._updateLastSelectedDate(t)) } clear() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; return this.selectedDates = [], this.rangeDateFrom = !1, this.rangeDateTo = !1, this.lastSelectedDate = !1, this.trigger(i.eventChangeSelectedDate, { action: i.actionUnselectDate, silent: e.silent }), new Promise((e => { setTimeout(e) })) } show() { let { onShow: e, isMobile: t } = this.opts; this._cancelScheduledCall(), this.visible || this.hideAnimation || this._createComponents(), this.setPosition(this.opts.position), this.$datepicker.classList.add("-active-"), this.visible = !0, e && this._scheduleCallAfterTransition(e), t && this._showMobileOverlay() } hide() { let { onHide: e, isMobile: t } = this.opts, i = this._hasTransition(); this.visible = !1, this.hideAnimation = !0, this.$datepicker.classList.remove("-active-"), this.customHide && this.customHide(), this.elIsInput && this.$el.blur(), this._scheduleCallAfterTransition((t => { !this.customHide && (t && i || !t && !i) && this._finishHide(), e && e(t) })), t && j.classList.remove("-active-") } _triggerOnSelect() { let e = [], t = [], { selectedDates: i, locale: s, opts: { onSelect: a, multipleDates: n, range: r } } = this, o = n || r, h = "function" == typeof s.dateFormat; i.length && (e = i.map(g), t = h ? n ? s.dateFormat(e) : e.map((e => s.dateFormat(e))) : e.map((e => this.formatDate(e, s.dateFormat)))), a({ date: o ? e : e[0], formattedDate: o ? t : t[0], datepicker: this }) } _handleAlreadySelectedDates(e, t) { let { selectedDates: i, rangeDateFrom: s, rangeDateTo: a } = this, { range: n, toggleSelected: r } = this.opts, o = i.length, h = "function" == typeof r ? r({ datepicker: this, date: t }) : r, l = Boolean(n && 1 === o && e), d = l ? g(t) : t; n && !h && (2 !== o && this.selectDate(d), 2 === o && p(s, a)) || (h ? this.unselectDate(d) : this._updateLastSelectedDate(l ? d : e)) } _handleUpDownActions(e, t) { if (!((e = b(e || this.focusDate || this.viewDate)) instanceof Date)) return; let i = "up" === t ? this.viewIndex + 1 : this.viewIndex - 1; i > 2 && (i = 2), i < 0 && (i = 0), this.setViewDate(new Date(e.getFullYear(), e.getMonth(), 1)), this.setCurrentView(this.viewIndexes[i]) } getCell(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : i.day; if (!((e = b(e)) instanceof Date)) return; let { year: s, month: a, date: n } = h(e), r = `[data-year="${s}"]`, o = `[data-month="${a}"]`, l = { [i.day]: `${r}${o}[data-date="${n}"]`, [i.month]: `${r}${o}`, [i.year]: `${r}` }; return this.views[this.currentView] ? this.views[this.currentView].$el.querySelector(l[t]) : void 0 } _showMobileOverlay() { j.classList.add("-active-") } _hasTransition() { return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce(((e, t) => parseFloat(t) + e), 0) > 0 } get shouldUpdateDOM() { return this.visible || this.treatAsInline } get parsedViewDate() { return h(this.viewDate) } get currentViewSingular() { return this.currentView.slice(0, -1) } get curDecade() { return c(this.viewDate) } get viewIndex() { return this.viewIndexes.indexOf(this.currentView) } get isFinalView() { return this.currentView === i.years } get hasSelectedDates() { return this.selectedDates.length > 0 } get isMinViewReached() { return this.currentView === this.opts.minView || this.currentView === i.days } get $container() { return this.$customContainer || P } static replacer(e, t, i) { return e.replace(t, (function (e, t, s, a) { return t + i + a })) } } var K; return I(R, "defaults", s), I(R, "version", "3.5.0"), I(R, "defaultGlobalContainerId", "air-datepicker-global-container"), K = R.prototype, Object.assign(K, N), t.default }() })); +var _default = { + days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], + months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + today: 'Today', + clear: 'Clear', + dateFormat: 'MM/dd/yyyy', + timeFormat: 'hh:mm aa', + firstDay: 0 +}; +window.langEng = _default +window.AScript.set("js-datepicker", true); \ No newline at end of file diff --git a/AppLibs/AppLibs/wwwroot/js/ext_libs/js-masonry.min.js b/AppLibs/AppLibs/wwwroot/js/ext_libs/js-masonry.min.js new file mode 100644 index 0000000..3d7deca --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/js/ext_libs/js-masonry.min.js @@ -0,0 +1,2 @@ +!function (t, e) { "function" == typeof define && define.amd ? define("jquery-bridget/jquery-bridget", ["jquery"], function (i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("jquery")) : t.jQueryBridget = e(t, t.jQuery) }(window, function (t, e) { "use strict"; function i(i, r, a) { function h(t, e, n) { var o, r = "$()." + i + '("' + e + '")'; return t.each(function (t, h) { var u = a.data(h, i); if (!u) return void s(i + " not initialized. Cannot call methods, i.e. " + r); var d = u[e]; if (!d || "_" == e.charAt(0)) return void s(r + " is not a valid method"); var l = d.apply(u, n); o = void 0 === o ? l : o }), void 0 !== o ? o : t } function u(t, e) { t.each(function (t, n) { var o = a.data(n, i); o ? (o.option(e), o._init()) : (o = new r(n, e), a.data(n, i, o)) }) } a = a || e || t.jQuery, a && (r.prototype.option || (r.prototype.option = function (t) { a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t)) }), a.fn[i] = function (t) { if ("string" == typeof t) { var e = o.call(arguments, 1); return h(this, t, e) } return u(this, t), this }, n(a)) } function n(t) { !t || t && t.bridget || (t.bridget = i) } var o = Array.prototype.slice, r = t.console, s = "undefined" == typeof r ? function () { } : function (t) { r.error(t) }; return n(e || t.jQuery), i }), function (t, e) { "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e() }("undefined" != typeof window ? window : this, function () { function t() { } var e = t.prototype; return e.on = function (t, e) { if (t && e) { var i = this._events = this._events || {}, n = i[t] = i[t] || []; return -1 == n.indexOf(e) && n.push(e), this } }, e.once = function (t, e) { if (t && e) { this.on(t, e); var i = this._onceEvents = this._onceEvents || {}, n = i[t] = i[t] || {}; return n[e] = !0, this } }, e.off = function (t, e) { var i = this._events && this._events[t]; if (i && i.length) { var n = i.indexOf(e); return -1 != n && i.splice(n, 1), this } }, e.emitEvent = function (t, e) { var i = this._events && this._events[t]; if (i && i.length) { i = i.slice(0), e = e || []; for (var n = this._onceEvents && this._onceEvents[t], o = 0; o < i.length; o++) { var r = i[o], s = n && n[r]; s && (this.off(t, r), delete n[r]), r.apply(this, e) } return this } }, e.allOff = function () { delete this._events, delete this._onceEvents }, t }), function (t, e) { "function" == typeof define && define.amd ? define("get-size/get-size", e) : "object" == typeof module && module.exports ? module.exports = e() : t.getSize = e() }(window, function () { "use strict"; function t(t) { var e = parseFloat(t), i = -1 == t.indexOf("%") && !isNaN(e); return i && e } function e() { } function i() { for (var t = { width: 0, height: 0, innerWidth: 0, innerHeight: 0, outerWidth: 0, outerHeight: 0 }, e = 0; u > e; e++) { var i = h[e]; t[i] = 0 } return t } function n(t) { var e = getComputedStyle(t); return e || a("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), e } function o() { if (!d) { d = !0; var e = document.createElement("div"); e.style.width = "200px", e.style.padding = "1px 2px 3px 4px", e.style.borderStyle = "solid", e.style.borderWidth = "1px 2px 3px 4px", e.style.boxSizing = "border-box"; var i = document.body || document.documentElement; i.appendChild(e); var o = n(e); s = 200 == Math.round(t(o.width)), r.isBoxSizeOuter = s, i.removeChild(e) } } function r(e) { if (o(), "string" == typeof e && (e = document.querySelector(e)), e && "object" == typeof e && e.nodeType) { var r = n(e); if ("none" == r.display) return i(); var a = {}; a.width = e.offsetWidth, a.height = e.offsetHeight; for (var d = a.isBorderBox = "border-box" == r.boxSizing, l = 0; u > l; l++) { var c = h[l], f = r[c], m = parseFloat(f); a[c] = isNaN(m) ? 0 : m } var p = a.paddingLeft + a.paddingRight, g = a.paddingTop + a.paddingBottom, y = a.marginLeft + a.marginRight, v = a.marginTop + a.marginBottom, _ = a.borderLeftWidth + a.borderRightWidth, z = a.borderTopWidth + a.borderBottomWidth, E = d && s, b = t(r.width); b !== !1 && (a.width = b + (E ? 0 : p + _)); var x = t(r.height); return x !== !1 && (a.height = x + (E ? 0 : g + z)), a.innerWidth = a.width - (p + _), a.innerHeight = a.height - (g + z), a.outerWidth = a.width + y, a.outerHeight = a.height + v, a } } var s, a = "undefined" == typeof console ? e : function (t) { console.error(t) }, h = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"], u = h.length, d = !1; return r }), function (t, e) { "use strict"; "function" == typeof define && define.amd ? define("desandro-matches-selector/matches-selector", e) : "object" == typeof module && module.exports ? module.exports = e() : t.matchesSelector = e() }(window, function () { "use strict"; var t = function () { var t = window.Element.prototype; if (t.matches) return "matches"; if (t.matchesSelector) return "matchesSelector"; for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { var n = e[i], o = n + "MatchesSelector"; if (t[o]) return o } }(); return function (e, i) { return e[t](i) } }), function (t, e) { "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], function (i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("desandro-matches-selector")) : t.fizzyUIUtils = e(t, t.matchesSelector) }(window, function (t, e) { var i = {}; i.extend = function (t, e) { for (var i in e) t[i] = e[i]; return t }, i.modulo = function (t, e) { return (t % e + e) % e }; var n = Array.prototype.slice; i.makeArray = function (t) { if (Array.isArray(t)) return t; if (null === t || void 0 === t) return []; var e = "object" == typeof t && "number" == typeof t.length; return e ? n.call(t) : [t] }, i.removeFrom = function (t, e) { var i = t.indexOf(e); -1 != i && t.splice(i, 1) }, i.getParent = function (t, i) { for (; t.parentNode && t != document.body;)if (t = t.parentNode, e(t, i)) return t }, i.getQueryElement = function (t) { return "string" == typeof t ? document.querySelector(t) : t }, i.handleEvent = function (t) { var e = "on" + t.type; this[e] && this[e](t) }, i.filterFindElements = function (t, n) { t = i.makeArray(t); var o = []; return t.forEach(function (t) { if (t instanceof HTMLElement) { if (!n) return void o.push(t); e(t, n) && o.push(t); for (var i = t.querySelectorAll(n), r = 0; r < i.length; r++)o.push(i[r]) } }), o }, i.debounceMethod = function (t, e, i) { i = i || 100; var n = t.prototype[e], o = e + "Timeout"; t.prototype[e] = function () { var t = this[o]; clearTimeout(t); var e = arguments, r = this; this[o] = setTimeout(function () { n.apply(r, e), delete r[o] }, i) } }, i.docReady = function (t) { var e = document.readyState; "complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t) }, i.toDashed = function (t) { return t.replace(/(.)([A-Z])/g, function (t, e, i) { return e + "-" + i }).toLowerCase() }; var o = t.console; return i.htmlInit = function (e, n) { i.docReady(function () { var r = i.toDashed(n), s = "data-" + r, a = document.querySelectorAll("[" + s + "]"), h = document.querySelectorAll(".js-" + r), u = i.makeArray(a).concat(i.makeArray(h)), d = s + "-options", l = t.jQuery; u.forEach(function (t) { var i, r = t.getAttribute(s) || t.getAttribute(d); try { i = r && JSON.parse(r) } catch (a) { return void (o && o.error("Error parsing " + s + " on " + t.className + ": " + a)) } var h = new e(t, i); l && l.data(t, n, h) }) }) }, i }), function (t, e) { "function" == typeof define && define.amd ? define("outlayer/item", ["ev-emitter/ev-emitter", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("ev-emitter"), require("get-size")) : (t.Outlayer = {}, t.Outlayer.Item = e(t.EvEmitter, t.getSize)) }(window, function (t, e) { "use strict"; function i(t) { for (var e in t) return !1; return e = null, !0 } function n(t, e) { t && (this.element = t, this.layout = e, this.position = { x: 0, y: 0 }, this._create()) } function o(t) { return t.replace(/([A-Z])/g, function (t) { return "-" + t.toLowerCase() }) } var r = document.documentElement.style, s = "string" == typeof r.transition ? "transition" : "WebkitTransition", a = "string" == typeof r.transform ? "transform" : "WebkitTransform", h = { WebkitTransition: "webkitTransitionEnd", transition: "transitionend" }[s], u = { transform: a, transition: s, transitionDuration: s + "Duration", transitionProperty: s + "Property", transitionDelay: s + "Delay" }, d = n.prototype = Object.create(t.prototype); d.constructor = n, d._create = function () { this._transn = { ingProperties: {}, clean: {}, onEnd: {} }, this.css({ position: "absolute" }) }, d.handleEvent = function (t) { var e = "on" + t.type; this[e] && this[e](t) }, d.getSize = function () { this.size = e(this.element) }, d.css = function (t) { var e = this.element.style; for (var i in t) { var n = u[i] || i; e[n] = t[i] } }, d.getPosition = function () { var t = getComputedStyle(this.element), e = this.layout._getOption("originLeft"), i = this.layout._getOption("originTop"), n = t[e ? "left" : "right"], o = t[i ? "top" : "bottom"], r = parseFloat(n), s = parseFloat(o), a = this.layout.size; -1 != n.indexOf("%") && (r = r / 100 * a.width), -1 != o.indexOf("%") && (s = s / 100 * a.height), r = isNaN(r) ? 0 : r, s = isNaN(s) ? 0 : s, r -= e ? a.paddingLeft : a.paddingRight, s -= i ? a.paddingTop : a.paddingBottom, this.position.x = r, this.position.y = s }, d.layoutPosition = function () { var t = this.layout.size, e = {}, i = this.layout._getOption("originLeft"), n = this.layout._getOption("originTop"), o = i ? "paddingLeft" : "paddingRight", r = i ? "left" : "right", s = i ? "right" : "left", a = this.position.x + t[o]; e[r] = this.getXValue(a), e[s] = ""; var h = n ? "paddingTop" : "paddingBottom", u = n ? "top" : "bottom", d = n ? "bottom" : "top", l = this.position.y + t[h]; e[u] = this.getYValue(l), e[d] = "", this.css(e), this.emitEvent("layout", [this]) }, d.getXValue = function (t) { var e = this.layout._getOption("horizontal"); return this.layout.options.percentPosition && !e ? t / this.layout.size.width * 100 + "%" : t + "px" }, d.getYValue = function (t) { var e = this.layout._getOption("horizontal"); return this.layout.options.percentPosition && e ? t / this.layout.size.height * 100 + "%" : t + "px" }, d._transitionTo = function (t, e) { this.getPosition(); var i = this.position.x, n = this.position.y, o = t == this.position.x && e == this.position.y; if (this.setPosition(t, e), o && !this.isTransitioning) return void this.layoutPosition(); var r = t - i, s = e - n, a = {}; a.transform = this.getTranslate(r, s), this.transition({ to: a, onTransitionEnd: { transform: this.layoutPosition }, isCleaning: !0 }) }, d.getTranslate = function (t, e) { var i = this.layout._getOption("originLeft"), n = this.layout._getOption("originTop"); return t = i ? t : -t, e = n ? e : -e, "translate3d(" + t + "px, " + e + "px, 0)" }, d.goTo = function (t, e) { this.setPosition(t, e), this.layoutPosition() }, d.moveTo = d._transitionTo, d.setPosition = function (t, e) { this.position.x = parseFloat(t), this.position.y = parseFloat(e) }, d._nonTransition = function (t) { this.css(t.to), t.isCleaning && this._removeStyles(t.to); for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this) }, d.transition = function (t) { if (!parseFloat(this.layout.options.transitionDuration)) return void this._nonTransition(t); var e = this._transn; for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; for (i in t.to) e.ingProperties[i] = !0, t.isCleaning && (e.clean[i] = !0); if (t.from) { this.css(t.from); var n = this.element.offsetHeight; n = null } this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0 }; var l = "opacity," + o(a); d.enableTransition = function () { if (!this.isTransitioning) { var t = this.layout.options.transitionDuration; t = "number" == typeof t ? t + "ms" : t, this.css({ transitionProperty: l, transitionDuration: t, transitionDelay: this.staggerDelay || 0 }), this.element.addEventListener(h, this, !1) } }, d.onwebkitTransitionEnd = function (t) { this.ontransitionend(t) }, d.onotransitionend = function (t) { this.ontransitionend(t) }; var c = { "-webkit-transform": "transform" }; d.ontransitionend = function (t) { if (t.target === this.element) { var e = this._transn, n = c[t.propertyName] || t.propertyName; if (delete e.ingProperties[n], i(e.ingProperties) && this.disableTransition(), n in e.clean && (this.element.style[t.propertyName] = "", delete e.clean[n]), n in e.onEnd) { var o = e.onEnd[n]; o.call(this), delete e.onEnd[n] } this.emitEvent("transitionEnd", [this]) } }, d.disableTransition = function () { this.removeTransitionStyles(), this.element.removeEventListener(h, this, !1), this.isTransitioning = !1 }, d._removeStyles = function (t) { var e = {}; for (var i in t) e[i] = ""; this.css(e) }; var f = { transitionProperty: "", transitionDuration: "", transitionDelay: "" }; return d.removeTransitionStyles = function () { this.css(f) }, d.stagger = function (t) { t = isNaN(t) ? 0 : t, this.staggerDelay = t + "ms" }, d.removeElem = function () { this.element.parentNode.removeChild(this.element), this.css({ display: "" }), this.emitEvent("remove", [this]) }, d.remove = function () { return s && parseFloat(this.layout.options.transitionDuration) ? (this.once("transitionEnd", function () { this.removeElem() }), void this.hide()) : void this.removeElem() }, d.reveal = function () { delete this.isHidden, this.css({ display: "" }); var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty("visibleStyle"); e[i] = this.onRevealTransitionEnd, this.transition({ from: t.hiddenStyle, to: t.visibleStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onRevealTransitionEnd = function () { this.isHidden || this.emitEvent("reveal") }, d.getHideRevealTransitionEndProperty = function (t) { var e = this.layout.options[t]; if (e.opacity) return "opacity"; for (var i in e) return i }, d.hide = function () { this.isHidden = !0, this.css({ display: "" }); var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty("hiddenStyle"); e[i] = this.onHideTransitionEnd, this.transition({ from: t.visibleStyle, to: t.hiddenStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onHideTransitionEnd = function () { this.isHidden && (this.css({ display: "none" }), this.emitEvent("hide")) }, d.destroy = function () { this.css({ position: "", left: "", right: "", top: "", bottom: "", transition: "", transform: "" }) }, n }), function (t, e) { "use strict"; "function" == typeof define && define.amd ? define("outlayer/outlayer", ["ev-emitter/ev-emitter", "get-size/get-size", "fizzy-ui-utils/utils", "./item"], function (i, n, o, r) { return e(t, i, n, o, r) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter"), require("get-size"), require("fizzy-ui-utils"), require("./item")) : t.Outlayer = e(t, t.EvEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item) }(window, function (t, e, i, n, o) { "use strict"; function r(t, e) { var i = n.getQueryElement(t); if (!i) return void (h && h.error("Bad element for " + this.constructor.namespace + ": " + (i || t))); this.element = i, u && (this.$element = u(this.element)), this.options = n.extend({}, this.constructor.defaults), this.option(e); var o = ++l; this.element.outlayerGUID = o, c[o] = this, this._create(); var r = this._getOption("initLayout"); r && this.layout() } function s(t) { function e() { t.apply(this, arguments) } return e.prototype = Object.create(t.prototype), e.prototype.constructor = e, e } function a(t) { if ("number" == typeof t) return t; var e = t.match(/(^\d*\.?\d*)(\w*)/), i = e && e[1], n = e && e[2]; if (!i.length) return 0; i = parseFloat(i); var o = m[n] || 1; return i * o } var h = t.console, u = t.jQuery, d = function () { }, l = 0, c = {}; r.namespace = "outlayer", r.Item = o, r.defaults = { containerStyle: { position: "relative" }, initLayout: !0, originLeft: !0, originTop: !0, resize: !0, resizeContainer: !0, transitionDuration: "0.4s", hiddenStyle: { opacity: 0, transform: "scale(0.001)" }, visibleStyle: { opacity: 1, transform: "scale(1)" } }; var f = r.prototype; n.extend(f, e.prototype), f.option = function (t) { n.extend(this.options, t) }, f._getOption = function (t) { var e = this.constructor.compatOptions[t]; return e && void 0 !== this.options[e] ? this.options[e] : this.options[t] }, r.compatOptions = { initLayout: "isInitLayout", horizontal: "isHorizontal", layoutInstant: "isLayoutInstant", originLeft: "isOriginLeft", originTop: "isOriginTop", resize: "isResizeBound", resizeContainer: "isResizingContainer" }, f._create = function () { this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), n.extend(this.element.style, this.options.containerStyle); var t = this._getOption("resize"); t && this.bindResize() }, f.reloadItems = function () { this.items = this._itemize(this.element.children) }, f._itemize = function (t) { for (var e = this._filterFindItemElements(t), i = this.constructor.Item, n = [], o = 0; o < e.length; o++) { var r = e[o], s = new i(r, this); n.push(s) } return n }, f._filterFindItemElements = function (t) { return n.filterFindElements(t, this.options.itemSelector) }, f.getItemElements = function () { return this.items.map(function (t) { return t.element }) }, f.layout = function () { this._resetLayout(), this._manageStamps(); var t = this._getOption("layoutInstant"), e = void 0 !== t ? t : !this._isLayoutInited; this.layoutItems(this.items, e), this._isLayoutInited = !0 }, f._init = f.layout, f._resetLayout = function () { this.getSize() }, f.getSize = function () { this.size = i(this.element) }, f._getMeasurement = function (t, e) { var n, o = this.options[t]; o ? ("string" == typeof o ? n = this.element.querySelector(o) : o instanceof HTMLElement && (n = o), this[t] = n ? i(n)[e] : o) : this[t] = 0 }, f.layoutItems = function (t, e) { t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout() }, f._getItemsForLayout = function (t) { return t.filter(function (t) { return !t.isIgnored }) }, f._layoutItems = function (t, e) { if (this._emitCompleteOnItems("layout", t), t && t.length) { var i = []; t.forEach(function (t) { var n = this._getItemLayoutPosition(t); n.item = t, n.isInstant = e || t.isLayoutInstant, i.push(n) }, this), this._processLayoutQueue(i) } }, f._getItemLayoutPosition = function () { return { x: 0, y: 0 } }, f._processLayoutQueue = function (t) { this.updateStagger(), t.forEach(function (t, e) { this._positionItem(t.item, t.x, t.y, t.isInstant, e) }, this) }, f.updateStagger = function () { var t = this.options.stagger; return null === t || void 0 === t ? void (this.stagger = 0) : (this.stagger = a(t), this.stagger) }, f._positionItem = function (t, e, i, n, o) { n ? t.goTo(e, i) : (t.stagger(o * this.stagger), t.moveTo(e, i)) }, f._postLayout = function () { this.resizeContainer() }, f.resizeContainer = function () { var t = this._getOption("resizeContainer"); if (t) { var e = this._getContainerSize(); e && (this._setContainerMeasure(e.width, !0), this._setContainerMeasure(e.height, !1)) } }, f._getContainerSize = d, f._setContainerMeasure = function (t, e) { if (void 0 !== t) { var i = this.size; i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), t = Math.max(t, 0), this.element.style[e ? "width" : "height"] = t + "px" } }, f._emitCompleteOnItems = function (t, e) { function i() { o.dispatchEvent(t + "Complete", null, [e]) } function n() { s++, s == r && i() } var o = this, r = e.length; if (!e || !r) return void i(); var s = 0; e.forEach(function (e) { e.once(t, n) }) }, f.dispatchEvent = function (t, e, i) { var n = e ? [e].concat(i) : i; if (this.emitEvent(t, n), u) if (this.$element = this.$element || u(this.element), e) { var o = u.Event(e); o.type = t, this.$element.trigger(o, i) } else this.$element.trigger(t, i) }, f.ignore = function (t) { var e = this.getItem(t); e && (e.isIgnored = !0) }, f.unignore = function (t) { var e = this.getItem(t); e && delete e.isIgnored }, f.stamp = function (t) { t = this._find(t), t && (this.stamps = this.stamps.concat(t), t.forEach(this.ignore, this)) }, f.unstamp = function (t) { t = this._find(t), t && t.forEach(function (t) { n.removeFrom(this.stamps, t), this.unignore(t) }, this) }, f._find = function (t) { return t ? ("string" == typeof t && (t = this.element.querySelectorAll(t)), t = n.makeArray(t)) : void 0 }, f._manageStamps = function () { this.stamps && this.stamps.length && (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this)) }, f._getBoundingRect = function () { var t = this.element.getBoundingClientRect(), e = this.size; this._boundingRect = { left: t.left + e.paddingLeft + e.borderLeftWidth, top: t.top + e.paddingTop + e.borderTopWidth, right: t.right - (e.paddingRight + e.borderRightWidth), bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth) } }, f._manageStamp = d, f._getElementOffset = function (t) { var e = t.getBoundingClientRect(), n = this._boundingRect, o = i(t), r = { left: e.left - n.left - o.marginLeft, top: e.top - n.top - o.marginTop, right: n.right - e.right - o.marginRight, bottom: n.bottom - e.bottom - o.marginBottom }; return r }, f.handleEvent = n.handleEvent, f.bindResize = function () { t.addEventListener("resize", this), this.isResizeBound = !0 }, f.unbindResize = function () { t.removeEventListener("resize", this), this.isResizeBound = !1 }, f.onresize = function () { this.resize() }, n.debounceMethod(r, "onresize", 100), f.resize = function () { this.isResizeBound && this.needsResizeLayout() && this.layout() }, f.needsResizeLayout = function () { var t = i(this.element), e = this.size && t; return e && t.innerWidth !== this.size.innerWidth }, f.addItems = function (t) { var e = this._itemize(t); return e.length && (this.items = this.items.concat(e)), e }, f.appended = function (t) { var e = this.addItems(t); e.length && (this.layoutItems(e, !0), this.reveal(e)) }, f.prepended = function (t) { var e = this._itemize(t); if (e.length) { var i = this.items.slice(0); this.items = e.concat(i), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i) } }, f.reveal = function (t) { if (this._emitCompleteOnItems("reveal", t), t && t.length) { var e = this.updateStagger(); t.forEach(function (t, i) { t.stagger(i * e), t.reveal() }) } }, f.hide = function (t) { if (this._emitCompleteOnItems("hide", t), t && t.length) { var e = this.updateStagger(); t.forEach(function (t, i) { t.stagger(i * e), t.hide() }) } }, f.revealItemElements = function (t) { var e = this.getItems(t); this.reveal(e) }, f.hideItemElements = function (t) { var e = this.getItems(t); this.hide(e) }, f.getItem = function (t) { for (var e = 0; e < this.items.length; e++) { var i = this.items[e]; if (i.element == t) return i } }, f.getItems = function (t) { t = n.makeArray(t); var e = []; return t.forEach(function (t) { var i = this.getItem(t); i && e.push(i) }, this), e }, f.remove = function (t) { var e = this.getItems(t); this._emitCompleteOnItems("remove", e), e && e.length && e.forEach(function (t) { t.remove(), n.removeFrom(this.items, t) }, this) }, f.destroy = function () { var t = this.element.style; t.height = "", t.position = "", t.width = "", this.items.forEach(function (t) { t.destroy() }), this.unbindResize(); var e = this.element.outlayerGUID; delete c[e], delete this.element.outlayerGUID, u && u.removeData(this.element, this.constructor.namespace) }, r.data = function (t) { t = n.getQueryElement(t); var e = t && t.outlayerGUID; return e && c[e] }, r.create = function (t, e) { var i = s(r); return i.defaults = n.extend({}, r.defaults), n.extend(i.defaults, e), i.compatOptions = n.extend({}, r.compatOptions), i.namespace = t, i.data = r.data, i.Item = s(o), n.htmlInit(i, t), u && u.bridget && u.bridget(t, i), i }; var m = { ms: 1, s: 1e3 }; return r.Item = o, r }), function (t, e) { "function" == typeof define && define.amd ? define(["outlayer/outlayer", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("outlayer"), require("get-size")) : t.Masonry = e(t.Outlayer, t.getSize) }(window, function (t, e) { var i = t.create("masonry"); i.compatOptions.fitWidth = "isFitWidth"; var n = i.prototype; return n._resetLayout = function () { this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(), this.colYs = []; for (var t = 0; t < this.cols; t++)this.colYs.push(0); this.maxY = 0, this.horizontalColIndex = 0 }, n.measureColumns = function () { if (this.getContainerWidth(), !this.columnWidth) { var t = this.items[0], i = t && t.element; this.columnWidth = i && e(i).outerWidth || this.containerWidth } var n = this.columnWidth += this.gutter, o = this.containerWidth + this.gutter, r = o / n, s = n - o % n, a = s && 1 > s ? "round" : "floor"; r = Math[a](r), this.cols = Math.max(r, 1) }, n.getContainerWidth = function () { var t = this._getOption("fitWidth"), i = t ? this.element.parentNode : this.element, n = e(i); this.containerWidth = n && n.innerWidth }, n._getItemLayoutPosition = function (t) { t.getSize(); var e = t.size.outerWidth % this.columnWidth, i = e && 1 > e ? "round" : "ceil", n = Math[i](t.size.outerWidth / this.columnWidth); n = Math.min(n, this.cols); for (var o = this.options.horizontalOrder ? "_getHorizontalColPosition" : "_getTopColPosition", r = this[o](n, t), s = { x: this.columnWidth * r.col, y: r.y }, a = r.y + t.size.outerHeight, h = n + r.col, u = r.col; h > u; u++)this.colYs[u] = a; return s }, n._getTopColPosition = function (t) { var e = this._getTopColGroup(t), i = Math.min.apply(Math, e); return { col: e.indexOf(i), y: i } }, n._getTopColGroup = function (t) { if (2 > t) return this.colYs; for (var e = [], i = this.cols + 1 - t, n = 0; i > n; n++)e[n] = this._getColGroupY(n, t); return e }, n._getColGroupY = function (t, e) { if (2 > e) return this.colYs[t]; var i = this.colYs.slice(t, t + e); return Math.max.apply(Math, i) }, n._getHorizontalColPosition = function (t, e) { var i = this.horizontalColIndex % this.cols, n = t > 1 && i + t > this.cols; i = n ? 0 : i; var o = e.size.outerWidth && e.size.outerHeight; return this.horizontalColIndex = o ? i + t : this.horizontalColIndex, { col: i, y: this._getColGroupY(i, t) } }, n._manageStamp = function (t) { var i = e(t), n = this._getElementOffset(t), o = this._getOption("originLeft"), r = o ? n.left : n.right, s = r + i.outerWidth, a = Math.floor(r / this.columnWidth); a = Math.max(0, a); var h = Math.floor(s / this.columnWidth); h -= s % this.columnWidth ? 0 : 1, h = Math.min(this.cols - 1, h); for (var u = this._getOption("originTop"), d = (u ? n.top : n.bottom) + i.outerHeight, l = a; h >= l; l++)this.colYs[l] = Math.max(d, this.colYs[l]) }, n._getContainerSize = function () { this.maxY = Math.max.apply(Math, this.colYs); var t = { height: this.maxY }; return this._getOption("fitWidth") && (t.width = this._getContainerFitWidth()), t }, n._getContainerFitWidth = function () { for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];)t++; return (this.cols - t) * this.columnWidth - this.gutter }, n.needsResizeLayout = function () { var t = this.containerWidth; return this.getContainerWidth(), t != this.containerWidth }, i }); +window.AScript.set("js-masonry.min", true); \ No newline at end of file diff --git a/AppLibs/AppLibs/wwwroot/js/ext_libs/js-overscroll.js b/AppLibs/AppLibs/wwwroot/js/ext_libs/js-overscroll.js new file mode 100644 index 0000000..730072a --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/js/ext_libs/js-overscroll.js @@ -0,0 +1,21 @@ +!function (t, e) { "object" == typeof exports && "object" == typeof module ? module.exports = e(require("smooth-scrollbar")) : "function" == typeof define && define.amd ? define(["smooth-scrollbar"], e) : "object" == typeof exports ? exports.OverscrollPlugin = e(require("smooth-scrollbar")) : t.OverscrollPlugin = e(t.Scrollbar) }(this, (function (t) { + return function (t) { var e = {}; function o(i) { if (e[i]) return e[i].exports; var r = e[i] = { i: i, l: !1, exports: {} }; return t[i].call(r.exports, r, r.exports, o), r.l = !0, r.exports } return o.m = t, o.c = e, o.d = function (t, e, i) { o.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: i }) }, o.r = function (t) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }) }, o.t = function (t, e) { if (1 & e && (t = o(t)), 8 & e) return t; if (4 & e && "object" == typeof t && t && t.__esModule) return t; var i = Object.create(null); if (o.r(i), Object.defineProperty(i, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t) for (var r in t) o.d(i, r, function (e) { return t[e] }.bind(null, r)); return i }, o.n = function (t) { var e = t && t.__esModule ? function () { return t.default } : function () { return t }; return o.d(e, "a", e), e }, o.o = function (t, e) { return Object.prototype.hasOwnProperty.call(t, e) }, o.p = "", o(o.s = 1) }([function (e, o) { e.exports = t }, function (t, e, o) { t.exports = o(2) }, function (t, e, o) { + "use strict"; o.r(e); + /*! ***************************************************************************** + Copyright (c) Microsoft Corporation. All rights reserved. + Licensed under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of the + License at http://www.apache.org/licenses/LICENSE-2.0 + + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED + WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, + MERCHANTABLITY OR NON-INFRINGEMENT. + + See the Apache Version 2.0 License for specific language governing permissions + and limitations under the License. + ***************************************************************************** */ + var i = function (t, e) { return (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e } || function (t, e) { for (var o in e) e.hasOwnProperty(o) && (t[o] = e[o]) })(t, e) }, r = function () { return (r = Object.assign || function (t) { for (var e, o = 1, i = arguments.length; o < i; o++)for (var r in e = arguments[o]) Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]); return t }).apply(this, arguments) }; function n(t) { var e = function (t) { return t.touches ? t.touches[t.touches.length - 1] : t }(t); return { x: e.clientX, y: e.clientY } } new WeakMap; var s = ["webkit", "moz", "ms", "o"], c = new RegExp("^-(?!(?:" + s.join("|") + ")-)"); function a(t, e) { e = function (t) { var e = {}; return Object.keys(t).forEach((function (o) { if (c.test(o)) { var i = t[o]; o = o.replace(/^-/, ""), e[o] = i, s.forEach((function (t) { e["-" + t + "-" + o] = i })) } else e[o] = t[o] })), e }(e), Object.keys(e).forEach((function (o) { var i = o.replace(/^-/, "").replace(/-([a-z])/g, (function (t, e) { return e.toUpperCase() })); t.style[i] = e[o] })) } var l = function () { function t(t) { this.velocityMultiplier = window.devicePixelRatio, this.updateTime = Date.now(), this.delta = { x: 0, y: 0 }, this.velocity = { x: 0, y: 0 }, this.lastPosition = { x: 0, y: 0 }, this.lastPosition = n(t) } return t.prototype.update = function (t) { var e = this.velocity, o = this.updateTime, i = this.lastPosition, r = Date.now(), s = n(t), c = { x: -(s.x - i.x), y: -(s.y - i.y) }, a = r - o || 16.7, l = c.x / a * 16.7, h = c.y / a * 16.7; e.x = l * this.velocityMultiplier, e.y = h * this.velocityMultiplier, this.delta = c, this.updateTime = r, this.lastPosition = s }, t }(); function h(t, e, o) { return Math.max(e, Math.min(o, t)) } !function () { function t() { this._touchList = {} } Object.defineProperty(t.prototype, "_primitiveValue", { get: function () { return { x: 0, y: 0 } }, enumerable: !0, configurable: !0 }), t.prototype.isActive = function () { return void 0 !== this._activeTouchID }, t.prototype.getDelta = function () { var t = this._getActiveTracker(); return t ? r({}, t.delta) : this._primitiveValue }, t.prototype.getVelocity = function () { var t = this._getActiveTracker(); return t ? r({}, t.velocity) : this._primitiveValue }, t.prototype.getEasingDistance = function (t) { var e = 1 - t, o = { x: 0, y: 0 }, i = this.getVelocity(); return Object.keys(i).forEach((function (t) { for (var r = Math.abs(i[t]) <= 10 ? 0 : i[t]; 0 !== r;)o[t] += r, r = r * e | 0 })), o }, t.prototype.track = function (t) { var e = this, o = t.targetTouches; return Array.from(o).forEach((function (t) { e._add(t) })), this._touchList }, t.prototype.update = function (t) { var e = this, o = t.touches, i = t.changedTouches; return Array.from(o).forEach((function (t) { e._renew(t) })), this._setActiveID(i), this._touchList }, t.prototype.release = function (t) { var e = this; delete this._activeTouchID, Array.from(t.changedTouches).forEach((function (t) { e._delete(t) })) }, t.prototype._add = function (t) { this._has(t) && this._delete(t); var e = new l(t); this._touchList[t.identifier] = e }, t.prototype._renew = function (t) { this._has(t) && this._touchList[t.identifier].update(t) }, t.prototype._delete = function (t) { delete this._touchList[t.identifier] }, t.prototype._has = function (t) { return this._touchList.hasOwnProperty(t.identifier) }, t.prototype._setActiveID = function (t) { this._activeTouchID = t[t.length - 1].identifier }, t.prototype._getActiveTracker = function () { return this._touchList[this._activeTouchID] } }(); var u, p = o(0), f = function () { function t(t) { this._scrollbar = t } return t.prototype.render = function (t) { var e = t.x, o = void 0 === e ? 0 : e, i = t.y, r = void 0 === i ? 0 : i, n = this._scrollbar, s = n.size, c = n.track, l = n.offset; if (a(n.contentEl, { "-transform": "translate3d(" + -(l.x + o) + "px, " + -(l.y + r) + "px, 0)" }), o) { c.xAxis.show(); var h = s.container.width / (s.container.width + Math.abs(o)); a(c.xAxis.thumb.element, { "-transform": "translate3d(" + c.xAxis.thumb.offset + "px, 0, 0) scale3d(" + h + ", 1, 1)", "-transform-origin": o < 0 ? "left" : "right" }) } r && (c.yAxis.show(), h = s.container.height / (s.container.height + Math.abs(r)), a(c.yAxis.thumb.element, { "-transform": "translate3d(0, " + c.yAxis.thumb.offset + "px, 0) scale3d(1, " + h + ", 1)", "-transform-origin": r < 0 ? "top" : "bottom" })), c.autoHideOnIdle() }, t }(), _ = function () { function t(t) { this._scrollbar = t, this._canvas = document.createElement("canvas"), this._ctx = this._canvas.getContext("2d"), a(this._canvas, { position: "absolute", top: 0, left: 0, width: "100%", height: "100%", display: "none" }) } return t.prototype.mount = function () { this._scrollbar.containerEl.appendChild(this._canvas) }, t.prototype.unmount = function () { this._canvas.parentNode && this._canvas.parentNode.removeChild(this._canvas) }, t.prototype.adjust = function () { var t = this._scrollbar.size, e = window.devicePixelRatio || 1, o = t.container.width * e, i = t.container.height * e; o === this._canvas.width && i === this._canvas.height || (this._canvas.width = o, this._canvas.height = i, this._ctx.scale(e, e)) }, t.prototype.recordTouch = function (t) { var e = t.touches[t.touches.length - 1]; this._touchX = e.clientX, this._touchY = e.clientY }, t.prototype.render = function (t, e) { var o = t.x, i = void 0 === o ? 0 : o, r = t.y, n = void 0 === r ? 0 : r; if (i || n) { a(this._canvas, { display: "block" }); var s = this._scrollbar.size; this._ctx.clearRect(0, 0, s.container.width, s.container.height), this._ctx.fillStyle = e, this._renderX(i), this._renderY(n) } else a(this._canvas, { display: "none" }) }, t.prototype._getMaxOverscroll = function () { var t = this._scrollbar.options.plugins.overscroll; return t && t.maxOverscroll ? t.maxOverscroll : 150 }, t.prototype._renderX = function (t) { var e = this._scrollbar.size, o = this._getMaxOverscroll(), i = e.container, r = i.width, n = i.height, s = this._ctx; s.save(), t > 0 && s.transform(-1, 0, 0, 1, r, 0); var c = h(Math.abs(t) / o, 0, .75), a = h(c, 0, .25) * r, l = Math.abs(t), u = this._touchY || n / 2; s.globalAlpha = c, s.beginPath(), s.moveTo(0, -a), s.quadraticCurveTo(l, u, 0, n + a), s.fill(), s.closePath(), s.restore() }, t.prototype._renderY = function (t) { var e = this._scrollbar.size, o = this._getMaxOverscroll(), i = e.container, r = i.width, n = i.height, s = this._ctx; s.save(), t > 0 && s.transform(1, 0, 0, -1, 0, n); var c = h(Math.abs(t) / o, 0, .75), a = h(c, 0, .25) * r, l = this._touchX || r / 2, u = Math.abs(t); s.globalAlpha = c, s.beginPath(), s.moveTo(-a, 0), s.quadraticCurveTo(l, u, r + a, 0), s.fill(), s.closePath(), s.restore() }, t }(); o.d(e, "OverscrollEffect", (function () { return u })), function (t) { t.BOUNCE = "bounce", t.GLOW = "glow" }(u || (u = {})); var d = /wheel|touch/, y = function (t) { function e() { var e = null !== t && t.apply(this, arguments) || this; return e._glow = new _(e.scrollbar), e._bounce = new f(e.scrollbar), e._wheelScrollBack = { x: !1, y: !1 }, e._lockWheel = { x: !1, y: !1 }, e._touching = !1, e._amplitude = { x: 0, y: 0 }, e._position = { x: 0, y: 0 }, e._releaseWheel = function (t, e, o) { var i; void 0 === e && (e = 0); return function () { for (var o = this, r = [], n = 0; n < arguments.length; n++)r[n] = arguments[n]; clearTimeout(i), i = setTimeout((function () { t.apply(o, r) }), e) } }((function () { e._lockWheel.x = !1, e._lockWheel.y = !1 }), 30), e } return function (t, e) { function o() { this.constructor = t } i(t, e), t.prototype = null === e ? Object.create(e) : (o.prototype = e.prototype, new o) }(e, t), Object.defineProperty(e.prototype, "_isWheelLocked", { get: function () { return this._lockWheel.x || this._lockWheel.y }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "_enabled", { get: function () { return !!this.options.effect }, enumerable: !0, configurable: !0 }), e.prototype.onInit = function () { var t = this._glow, e = this.options, o = this.scrollbar, i = e.effect; Object.defineProperty(e, "effect", { get: function () { return i }, set: function (e) { if (e) { if (e !== u.BOUNCE && e !== u.GLOW) throw new TypeError("unknow overscroll effect: " + e); i = e, o.options.continuousScrolling = !1, e === u.GLOW ? (t.mount(), t.adjust()) : t.unmount() } else i = void 0 } }), e.effect = i }, e.prototype.onUpdate = function () { this.options.effect === u.GLOW && this._glow.adjust() }, e.prototype.onRender = function (t) { if (this._enabled) { this.scrollbar.options.continuousScrolling && (this.scrollbar.options.continuousScrolling = !1); var e = t.x, o = t.y; !this._amplitude.x && this._willOverscroll("x", t.x) && (e = 0, this._absorbMomentum("x", t.x)), !this._amplitude.y && this._willOverscroll("y", t.y) && (o = 0, this._absorbMomentum("y", t.y)), this.scrollbar.setMomentum(e, o), this._render() } }, e.prototype.transformDelta = function (t, e) { if (this._lastEventType = e.type, !this._enabled || !d.test(e.type)) return t; this._isWheelLocked && /wheel/.test(e.type) && (this._releaseWheel(), this._willOverscroll("x", t.x) && (t.x = 0), this._willOverscroll("y", t.y) && (t.y = 0)); var o = t.x, i = t.y; switch (this._willOverscroll("x", t.x) && (o = 0, this._addAmplitude("x", t.x)), this._willOverscroll("y", t.y) && (i = 0, this._addAmplitude("y", t.y)), e.type) { case "touchstart": case "touchmove": this._touching = !0, this._glow.recordTouch(e); break; case "touchcancel": case "touchend": this._touching = !1 }return { x: o, y: i } }, e.prototype._willOverscroll = function (t, e) { if (!e) return !1; if (this._position[t]) return !0; var o = this.scrollbar.offset[t], i = this.scrollbar.limit[t]; return 0 !== i && h(o + e, 0, i) === o && (0 === o || o === i) }, e.prototype._absorbMomentum = function (t, e) { var o = this.options, i = this._lastEventType, r = this._amplitude; d.test(i) && (r[t] = h(e, -o.maxOverscroll, o.maxOverscroll)) }, e.prototype._addAmplitude = function (t, e) { var o = this.options, i = this.scrollbar, r = this._amplitude, n = this._position, s = r[t], c = e * s < 0, a = s + e * (1 - (c ? 0 : this._wheelScrollBack[t] ? 1 : Math.abs(s / o.maxOverscroll))); r[t] = 0 === i.offset[t] ? h(a, -o.maxOverscroll, 0) : h(a, 0, o.maxOverscroll), c && (n[t] = r[t]) }, e.prototype._render = function () { var t = this.options, e = this._amplitude, o = this._position; if (this._enabled && (e.x || e.y || o.x || o.y)) { var i = this._nextAmp("x"), n = this._nextAmp("y"); switch (e.x = i.amplitude, o.x = i.position, e.y = n.amplitude, o.y = n.position, t.effect) { case u.BOUNCE: this._bounce.render(o); break; case u.GLOW: this._glow.render(o, this.options.glowColor) }"function" == typeof t.onScroll && t.onScroll.call(this, r({}, o)) } }, e.prototype._nextAmp = function (t) { var e = this.options, o = this._amplitude, i = this._position, r = 1 - e.damping, n = o[t], s = i[t], c = this._touching ? n : n * r | 0, a = c - s, l = s + a - (a * r | 0); return !this._touching && Math.abs(l) < Math.abs(s) && (this._wheelScrollBack[t] = !0), this._wheelScrollBack[t] && Math.abs(l) <= 1 && (this._wheelScrollBack[t] = !1, this._lockWheel[t] = !0), { amplitude: c, position: l } }, e.pluginName = "overscroll", e.defaultOptions = { effect: u.BOUNCE, onScroll: void 0, damping: .2, maxOverscroll: 150, glowColor: "#87ceeb" }, e }(p.ScrollbarPlugin); e.default = y + }]).default +})); +window.AScript.set("js-overscroll", true); \ No newline at end of file diff --git a/AppLibs/AppLibs/wwwroot/js/ext_libs/js-scrollbar.js b/AppLibs/AppLibs/wwwroot/js/ext_libs/js-scrollbar.js new file mode 100644 index 0000000..ce539be --- /dev/null +++ b/AppLibs/AppLibs/wwwroot/js/ext_libs/js-scrollbar.js @@ -0,0 +1,2549 @@ +! function (t, e) { + "object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? exports.Scrollbar = e() : t.Scrollbar = e() +}(this, (function () { + return function (t) { + var e = {}; + + function n(r) { + if (e[r]) return e[r].exports; + var o = e[r] = { + i: r, + l: !1, + exports: {} + }; + return t[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports + } + return n.m = t, n.c = e, n.d = function (t, e, r) { + n.o(t, e) || Object.defineProperty(t, e, { + enumerable: !0, + get: r + }) + }, n.r = function (t) { + "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { + value: "Module" + }), Object.defineProperty(t, "__esModule", { + value: !0 + }) + }, n.t = function (t, e) { + if (1 & e && (t = n(t)), 8 & e) return t; + if (4 & e && "object" == typeof t && t && t.__esModule) return t; + var r = Object.create(null); + if (n.r(r), Object.defineProperty(r, "default", { + enumerable: !0, + value: t + }), 2 & e && "string" != typeof t) + for (var o in t) n.d(r, o, function (e) { + return t[e] + }.bind(null, o)); + return r + }, n.n = function (t) { + var e = t && t.__esModule ? function () { + return t.default + } : function () { + return t + }; + return n.d(e, "a", e), e + }, n.o = function (t, e) { + return Object.prototype.hasOwnProperty.call(t, e) + }, n.p = "", n(n.s = 65) + }([function (t, e, n) { + (function (e) { + var n = function (t) { + return t && t.Math == Math && t + }; + t.exports = n("object" == typeof globalThis && globalThis) || n("object" == typeof window && window) || n("object" == typeof self && self) || n("object" == typeof e && e) || Function("return this")() + }).call(this, n(68)) + }, function (t, e, n) { + var r = n(0), + o = n(50), + i = n(3), + u = n(29), + c = n(55), + a = n(75), + s = o("wks"), + f = r.Symbol, + l = a ? f : f && f.withoutSetter || u; + t.exports = function (t) { + return i(s, t) || (c && i(f, t) ? s[t] = f[t] : s[t] = l("Symbol." + t)), s[t] + } + }, function (t, e) { + t.exports = function (t) { + return "object" == typeof t ? null !== t : "function" == typeof t + } + }, function (t, e) { + var n = {}.hasOwnProperty; + t.exports = function (t, e) { + return n.call(t, e) + } + }, function (t, e) { + t.exports = function (t) { + try { + return !!t() + } catch (t) { + return !0 + } + } + }, function (t, e, n) { + var r = n(6), + o = n(45), + i = n(7), + u = n(25), + c = Object.defineProperty; + e.f = r ? c : function (t, e, n) { + if (i(t), e = u(e, !0), i(n), o) try { + return c(t, e, n) + } catch (t) { } + if ("get" in n || "set" in n) throw TypeError("Accessors not supported"); + return "value" in n && (t[e] = n.value), t + } + }, function (t, e, n) { + var r = n(4); + t.exports = !r((function () { + return 7 != Object.defineProperty({}, 1, { + get: function () { + return 7 + } + })[1] + })) + }, function (t, e, n) { + var r = n(2); + t.exports = function (t) { + if (!r(t)) throw TypeError(String(t) + " is not an object"); + return t + } + }, function (t, e, n) { + var r = n(6), + o = n(5), + i = n(14); + t.exports = r ? function (t, e, n) { + return o.f(t, e, i(1, n)) + } : function (t, e, n) { + return t[e] = n, t + } + }, function (t, e, n) { + var r, o, i, u = n(49), + c = n(0), + a = n(2), + s = n(8), + f = n(3), + l = n(27), + p = n(16), + h = c.WeakMap; + if (u) { + var d = new h, + v = d.get, + y = d.has, + m = d.set; + r = function (t, e) { + return m.call(d, t, e), e + }, o = function (t) { + return v.call(d, t) || {} + }, i = function (t) { + return y.call(d, t) + } + } else { + var g = l("state"); + p[g] = !0, r = function (t, e) { + return s(t, g, e), e + }, o = function (t) { + return f(t, g) ? t[g] : {} + }, i = function (t) { + return f(t, g) + } + } + t.exports = { + set: r, + get: o, + has: i, + enforce: function (t) { + return i(t) ? o(t) : r(t, {}) + }, + getterFor: function (t) { + return function (e) { + var n; + if (!a(e) || (n = o(e)).type !== t) throw TypeError("Incompatible receiver, " + t + " required"); + return n + } + } + } + }, function (t, e, n) { + var r = n(0); + t.exports = r + }, function (t, e, n) { + var r = n(0), + o = n(8), + i = n(3), + u = n(26), + c = n(47), + a = n(9), + s = a.get, + f = a.enforce, + l = String(String).split("String"); + (t.exports = function (t, e, n, c) { + var a = !!c && !!c.unsafe, + s = !!c && !!c.enumerable, + p = !!c && !!c.noTargetGet; + "function" == typeof n && ("string" != typeof e || i(n, "name") || o(n, "name", e), f(n).source = l.join("string" == typeof e ? e : "")), t !== r ? (a ? !p && t[e] && (s = !0) : delete t[e], s ? t[e] = n : o(t, e, n)) : s ? t[e] = n : u(e, n) + })(Function.prototype, "toString", (function () { + return "function" == typeof this && s(this).source || c(this) + })) + }, function (t, e) { + t.exports = {} + }, function (t, e, n) { + var r = n(0), + o = n(43).f, + i = n(8), + u = n(11), + c = n(26), + a = n(69), + s = n(53); + t.exports = function (t, e) { + var n, f, l, p, h, d = t.target, + v = t.global, + y = t.stat; + if (n = v ? r : y ? r[d] || c(d, {}) : (r[d] || {}).prototype) + for (f in e) { + if (p = e[f], l = t.noTargetGet ? (h = o(n, f)) && h.value : n[f], !s(v ? f : d + (y ? "." : "#") + f, t.forced) && void 0 !== l) { + if (typeof p == typeof l) continue; + a(p, l) + } (t.sham || l && l.sham) && i(p, "sham", !0), u(n, f, p, t) + } + } + }, function (t, e) { + t.exports = function (t, e) { + return { + enumerable: !(1 & t), + configurable: !(2 & t), + writable: !(4 & t), + value: e + } + } + }, function (t, e, n) { + var r = n(22), + o = n(24); + t.exports = function (t) { + return r(o(t)) + } + }, function (t, e) { + t.exports = {} + }, function (t, e, n) { + var r = n(31), + o = Math.min; + t.exports = function (t) { + return t > 0 ? o(r(t), 9007199254740991) : 0 + } + }, function (t, e, n) { + var r = n(16), + o = n(2), + i = n(3), + u = n(5).f, + c = n(29), + a = n(74), + s = c("meta"), + f = 0, + l = Object.isExtensible || function () { + return !0 + }, + p = function (t) { + u(t, s, { + value: { + objectID: "O" + ++f, + weakData: {} + } + }) + }, + h = t.exports = { + REQUIRED: !1, + fastKey: function (t, e) { + if (!o(t)) return "symbol" == typeof t ? t : ("string" == typeof t ? "S" : "P") + t; + if (!i(t, s)) { + if (!l(t)) return "F"; + if (!e) return "E"; + p(t) + } + return t[s].objectID + }, + getWeakData: function (t, e) { + if (!i(t, s)) { + if (!l(t)) return !0; + if (!e) return !1; + p(t) + } + return t[s].weakData + }, + onFreeze: function (t) { + return a && h.REQUIRED && l(t) && !i(t, s) && p(t), t + } + }; + r[s] = !0 + }, function (t, e, n) { + var r = n(76); + t.exports = function (t, e, n) { + if (r(t), void 0 === e) return t; + switch (n) { + case 0: + return function () { + return t.call(e) + }; + case 1: + return function (n) { + return t.call(e, n) + }; + case 2: + return function (n, r) { + return t.call(e, n, r) + }; + case 3: + return function (n, r, o) { + return t.call(e, n, r, o) + } + } + return function () { + return t.apply(e, arguments) + } + } + }, function (t, e, n) { + var r = n(24); + t.exports = function (t) { + return Object(r(t)) + } + }, function (t, e, n) { + "use strict"; + var r = n(13), + o = n(0), + i = n(53), + u = n(11), + c = n(18), + a = n(33), + s = n(35), + f = n(2), + l = n(4), + p = n(59), + h = n(36), + d = n(77); + t.exports = function (t, e, n) { + var v = -1 !== t.indexOf("Map"), + y = -1 !== t.indexOf("Weak"), + m = v ? "set" : "add", + g = o[t], + x = g && g.prototype, + b = g, + w = {}, + S = function (t) { + var e = x[t]; + u(x, t, "add" == t ? function (t) { + return e.call(this, 0 === t ? 0 : t), this + } : "delete" == t ? function (t) { + return !(y && !f(t)) && e.call(this, 0 === t ? 0 : t) + } : "get" == t ? function (t) { + return y && !f(t) ? void 0 : e.call(this, 0 === t ? 0 : t) + } : "has" == t ? function (t) { + return !(y && !f(t)) && e.call(this, 0 === t ? 0 : t) + } : function (t, n) { + return e.call(this, 0 === t ? 0 : t, n), this + }) + }; + if (i(t, "function" != typeof g || !(y || x.forEach && !l((function () { + (new g).entries().next() + }))))) b = n.getConstructor(e, t, v, m), c.REQUIRED = !0; + else if (i(t, !0)) { + var _ = new b, + E = _[m](y ? {} : -0, 1) != _, + O = l((function () { + _.has(1) + })), + T = p((function (t) { + new g(t) + })), + A = !y && l((function () { + for (var t = new g, e = 5; e--;) t[m](e, e); + return !t.has(-0) + })); + T || ((b = e((function (e, n) { + s(e, b, t); + var r = d(new g, e, b); + return null != n && a(n, r[m], r, v), r + }))).prototype = x, x.constructor = b), (O || A) && (S("delete"), S("has"), v && S("get")), (A || E) && S(m), y && x.clear && delete x.clear + } + return w[t] = b, r({ + global: !0, + forced: b != g + }, w), h(b, t), y || n.setStrong(b, t, v), b + } + }, function (t, e, n) { + var r = n(4), + o = n(23), + i = "".split; + t.exports = r((function () { + return !Object("z").propertyIsEnumerable(0) + })) ? function (t) { + return "String" == o(t) ? i.call(t, "") : Object(t) + } : Object + }, function (t, e) { + var n = {}.toString; + t.exports = function (t) { + return n.call(t).slice(8, -1) + } + }, function (t, e) { + t.exports = function (t) { + if (null == t) throw TypeError("Can't call method on " + t); + return t + } + }, function (t, e, n) { + var r = n(2); + t.exports = function (t, e) { + if (!r(t)) return t; + var n, o; + if (e && "function" == typeof (n = t.toString) && !r(o = n.call(t))) return o; + if ("function" == typeof (n = t.valueOf) && !r(o = n.call(t))) return o; + if (!e && "function" == typeof (n = t.toString) && !r(o = n.call(t))) return o; + throw TypeError("Can't convert object to primitive value") + } + }, function (t, e, n) { + var r = n(0), + o = n(8); + t.exports = function (t, e) { + try { + o(r, t, e) + } catch (n) { + r[t] = e + } + return e + } + }, function (t, e, n) { + var r = n(50), + o = n(29), + i = r("keys"); + t.exports = function (t) { + return i[t] || (i[t] = o(t)) + } + }, function (t, e) { + t.exports = !1 + }, function (t, e) { + var n = 0, + r = Math.random(); + t.exports = function (t) { + return "Symbol(" + String(void 0 === t ? "" : t) + ")_" + (++n + r).toString(36) + } + }, function (t, e, n) { + var r = n(10), + o = n(0), + i = function (t) { + return "function" == typeof t ? t : void 0 + }; + t.exports = function (t, e) { + return arguments.length < 2 ? i(r[t]) || i(o[t]) : r[t] && r[t][e] || o[t] && o[t][e] + } + }, function (t, e) { + var n = Math.ceil, + r = Math.floor; + t.exports = function (t) { + return isNaN(t = +t) ? 0 : (t > 0 ? r : n)(t) + } + }, function (t, e) { + t.exports = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"] + }, function (t, e, n) { + var r = n(7), + o = n(54), + i = n(17), + u = n(19), + c = n(56), + a = n(58), + s = function (t, e) { + this.stopped = t, this.result = e + }; + (t.exports = function (t, e, n, f, l) { + var p, h, d, v, y, m, g, x = u(e, n, f ? 2 : 1); + if (l) p = t; + else { + if ("function" != typeof (h = c(t))) throw TypeError("Target is not iterable"); + if (o(h)) { + for (d = 0, v = i(t.length); v > d; d++) + if ((y = f ? x(r(g = t[d])[0], g[1]) : x(t[d])) && y instanceof s) return y; + return new s(!1) + } + p = h.call(t) + } + for (m = p.next; !(g = m.call(p)).done;) + if ("object" == typeof (y = a(p, x, g.value, f)) && y && y instanceof s) return y; + return new s(!1) + }).stop = function (t) { + return new s(!0, t) + } + }, function (t, e, n) { + var r = {}; + r[n(1)("toStringTag")] = "z", t.exports = "[object z]" === String(r) + }, function (t, e) { + t.exports = function (t, e, n) { + if (!(t instanceof e)) throw TypeError("Incorrect " + (n ? n + " " : "") + "invocation"); + return t + } + }, function (t, e, n) { + var r = n(5).f, + o = n(3), + i = n(1)("toStringTag"); + t.exports = function (t, e, n) { + t && !o(t = n ? t : t.prototype, i) && r(t, i, { + configurable: !0, + value: e + }) + } + }, function (t, e, n) { + var r, o = n(7), + i = n(79), + u = n(32), + c = n(16), + a = n(80), + s = n(46), + f = n(27)("IE_PROTO"), + l = function () { }, + p = function (t) { + return " +
+ +
+
+
+ + + + diff --git a/ManagementApp/Views/Shared/_LayoutAsync.cshtml b/ManagementApp/Views/Shared/_LayoutAsync.cshtml new file mode 100644 index 0000000..f5cb009 --- /dev/null +++ b/ManagementApp/Views/Shared/_LayoutAsync.cshtml @@ -0,0 +1,93 @@ + + + +@section jsLib { + + + +} diff --git a/ManagementApp/Views/Shared/_PartialScript.cshtml b/ManagementApp/Views/Shared/_PartialScript.cshtml new file mode 100644 index 0000000..036e436 --- /dev/null +++ b/ManagementApp/Views/Shared/_PartialScript.cshtml @@ -0,0 +1,5 @@ +@RenderSection("jsLib", required: false) +@RenderSection("jsPage", required: false) +@{ + IgnoreBody(); +} diff --git a/ManagementApp/Views/Storage/Index.cshtml b/ManagementApp/Views/Storage/Index.cshtml new file mode 100644 index 0000000..005a2eb --- /dev/null +++ b/ManagementApp/Views/Storage/Index.cshtml @@ -0,0 +1,143 @@ +
+

Config Storage

+ +
+
+
+
+
+
+

Storage Initialization

+
+
+
+
+ +
+ +
+ + Gb +
+ +
+ +
+
+
+ +
+
+
+
+
+
+ + +
+
+
+
+
+
+
+
+

Storage Setting

+
+
+
Search Fillter
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+
+
Edit Storage Type
+ +
+ + +
+
+
+
+
+ + +
+
+
+
+
+
+
+
+
+
+
+

Your Storage

+
+
+ + +
+
+
+
+@section jsLib { + +} + diff --git a/ManagementApp/Views/Storage/Type.cshtml b/ManagementApp/Views/Storage/Type.cshtml new file mode 100644 index 0000000..0804e6d --- /dev/null +++ b/ManagementApp/Views/Storage/Type.cshtml @@ -0,0 +1,113 @@ +
+

Type Storage

+ +
+
+
+
+
+
+

Add Type Storage

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

Type Storage List

+
+
+
Search Fillter
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+
+
Edit Storage Type
+ +
+ + +
+
+
+
+
+ + +
+
+
+
+
+
+
+
+
+
+@section jsLib { + +} diff --git a/ManagementApp/Views/Storage/ValidationDomain.cshtml b/ManagementApp/Views/Storage/ValidationDomain.cshtml new file mode 100644 index 0000000..a86526d --- /dev/null +++ b/ManagementApp/Views/Storage/ValidationDomain.cshtml @@ -0,0 +1,142 @@ +
+

Type Storage

+ +
+
+
+
+
+
+

Add Validation Domain

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

Validation Domain List

+
+
+
Search Fillter
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+
+
Edit Validation Domain
+ +
+ + +
+
+
+
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + +
+
+
+
+
+
+
+
+
+
+@section jsLib { + +} diff --git a/ManagementApp/Views/_ViewImports.cshtml b/ManagementApp/Views/_ViewImports.cshtml new file mode 100644 index 0000000..a3ef2b1 --- /dev/null +++ b/ManagementApp/Views/_ViewImports.cshtml @@ -0,0 +1,4 @@ +@using ManagementApp +@using ManagementApp.Models +@using AppLibs.Libs; +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/ManagementApp/Views/_ViewStart.cshtml b/ManagementApp/Views/_ViewStart.cshtml new file mode 100644 index 0000000..2546863 --- /dev/null +++ b/ManagementApp/Views/_ViewStart.cshtml @@ -0,0 +1,11 @@ +@{ + switch (ViewData["Layout"]) + { + case null: + Layout = "_Layout"; + break; + case "SectionScript": + Layout = "_PartialScript"; + break; + } +} diff --git a/ManagementApp/appsettings.Development.json b/ManagementApp/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/ManagementApp/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/ManagementApp/appsettings.json b/ManagementApp/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/ManagementApp/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/ManagementApp/libman.json b/ManagementApp/libman.json new file mode 100644 index 0000000..2092467 --- /dev/null +++ b/ManagementApp/libman.json @@ -0,0 +1,30 @@ +{ + "version": "1.0", + "defaultProvider": "filesystem", + "libraries": [ + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\", + "destination": "wwwroot/font/" + }, + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\css\\atg-font\\", + "destination": "wwwroot/css/atg-font/" + }, + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\css\\atg-lib\\", + "destination": "wwwroot/css/atg-lib/" + }, + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\css\\atg-ui\\", + "destination": "wwwroot/css/atg-ui/" + }, + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\js\\ext_libs\\", + "destination": "wwwroot/js/ext_libs/" + }, + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\js\\libs\\", + "destination": "wwwroot/js/libs/" + } + ] +} \ No newline at end of file diff --git a/ManagementApp/wwwroot/css/atg-font/atg-admin-font.css b/ManagementApp/wwwroot/css/atg-font/atg-admin-font.css new file mode 100644 index 0000000..728b6ee --- /dev/null +++ b/ManagementApp/wwwroot/css/atg-font/atg-admin-font.css @@ -0,0 +1,253 @@ +@font-face { + font-family: 'atg-admin-font'; + font-style: normal; + font-display: block; + font-weight: 400; + src: url("../../font/atgfont-Regular.woff") format('woff'), url("../../font/atgfont-Regular.woff2") format('woff2') +} + +.atg { + font-family: atg-admin-font; + font-weight: 400; + text-rendering: auto; + color: inherit; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.a-1x { + font-size: 1em +} + +.a-2x { + font-size: 2em +} + +.a-3x { + font-size: 3em +} + +.a-4x { + font-size: 4em +} + +.a-5x { + font-size: 5em +} + +.a-6x { + font-size: 6em +} + +.a-7x { + font-size: 7em +} + +.a-8x { + font-size: 8em +} + +.a-9x { + font-size: 9em +} + +.a-10x { + font-size: 10em +} + +.atg-message:before { + content: "\a001" +} + +.atg-email:before { + content: "\a002" +} + +.atg-check-sqare:before { + content: "\a003" +} + +.atg-calendar:before { + content: "\a004" +} + +.atg-notification:before { + content: "\a005" +} + +.atg-search:before { + content: "\a006" +} + +.atg-star:before { + content: "\a007" +} + +.atg-setting:before { + content: "\a008" +} + +.atg-user:before { + content: "\a009" +} + +.atg-user-1:before { + content: "\a00a" +} + +.atg-package:before { + content: "\a00b" +} + +.atg-print:before { + content: "\a00c" +} + +.atg-layout:before { + content: "\a00d" +} + +.atg-grid:before { + content: "\a00e" +} + +.atg-grid:before { + content: "\a00e" +} + +.atg-document:before { + content: "\a00f" +} + +.atg-instagram:before { + content: "\a010" +} + +.atg-tweeter:before { + content: "\a011" +} + +.atg-facebook:before { + content: "\a012" +} + +.atg-google-plus:before { + content: "\a013" +} + +.atg-phone:before { + content: "\a014" +} + +.atg-location:before { + content: "\a015" +} + +.atg-heart:before { + content: "\a016" +} + +.atg-more:before { + content: "\a017" +} + +.atg-home:before{ + content: "\a018" +} + +.atg-circle:before{ + content: "\a019" +} +.atg-down:before { + content: "\a01a" +} + +.a-down-thick:before { + content: "\a01a" +} + +.atg-x:before { + content: "\a01b" +} + +.atg-book:before { + content: "\a01c" +} + +.atg-catalogue:before { + content: "\a01d" +} + +.atg-product:before{ + content: "\a01e" +} + +.atg-plus:before{ + content: "\a01f" +} + +.atg-embeded:before { + content: "\a020" +} + +.atg-upload:before { + content: "\a021" +} + +.atg-download:before { + content: "\a022" +} + +.atg-moveto:before { + content: "\a023" +} + + +.atg-copy:before { + content: "\a024" +} + + +.atg-pencil:before { + content: "\a025" +} + + +.atg-rename:before { + content: "\a026" +} + +.atg-delete:before { + content: "\a027" +} + +.atg-menu:before { + content: "\a029" +} + +.atg-dot:before { + content: "\a02a" +} + +.atg-storage:before { + content: "\a02b" +} + +.atg-storage-setting:before { + content: "\a02c" +} + +.atg-storage-add:before { + content: "\a02d" +} + +.atg-tick:before{ + content: "\a02e" +} + +.atg-less:before{ + content: "\a02f" +} +.atg-minus:before { + content: "\a031" +} \ No newline at end of file diff --git a/ManagementApp/wwwroot/css/atg-font/atg-font.css b/ManagementApp/wwwroot/css/atg-font/atg-font.css new file mode 100644 index 0000000..f06c25f --- /dev/null +++ b/ManagementApp/wwwroot/css/atg-font/atg-font.css @@ -0,0 +1,195 @@ +@font-face { + font-family: 'ATG-Icon'; + font-display: block; + src: url("../../font/ATGIcon-Regular.woff") format('woff')/*, url("../font/atg-admin-font.woff2") format('woff2')*/ +} + +.atg { + display: flex; + align-items: center; + font-family: ATG-Icon; + font-weight: 400; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-style: normal; + line-height: 1; +} + +.a-1x { + font-size: 1em +} + +.a-2x { + font-size: 2em +} + +.a-3x { + font-size: 3em +} + +.a-4x { + font-size: 4em +} + +.a-5x { + font-size: 5em +} + +.a-6x { + font-size: 6em +} + +.a-7x { + font-size: 7em +} + +.a-8x { + font-size: 8em +} + +.a-9x { + font-size: 9em +} + +.a-10x { + font-size: 10em +} + +.a-s-lightbulb-gear:before{ + content: '\effff' +} + +.a-lightbulb-gear:before{ + content: '\f0001' +} + +.a-target:before{ + content: '\f0002' +} + +.a-stragery:before{ + content: '\f0003' +} + +.a-focus:before{ + content: '\f0004' +} + +.a-cup:before{ + content: '\f0005' +} + +.a-handshake:before{ + content: '\f0006' +} + +.a-clock:before { + content: '\f0007' +} + +.a-clock-thin::before { + content: '\f0008' +} + +.a-phone:before { + content: '\f0009' +} + +.a-phone1:before { + content: '\f000a' +} + +.a-less:before { + content: '\f000B' +} + +.a-more:before { + content: '\f000C' +} + +.a-up:before { + content: '\f000D' +} + +.a-down:before { + content: '\f000E' +} + +.a-down-thick:before { + content: '\f000F' +} + +.a-less-thick:before { + content: '\f0010' +} + +.a-more-thick:before { + content: '\f0011' +} + +.a-up-thick:before { + content: '\f0012' +} + +.a-shape-down:before { + content: '\f0013' +} + +.a-shape-less:before { + content: '\f0014' +} + +.a-shape-more:before { + content: '\f0015' +} + +.a-shape-up:before { + content: '\f0016' +} + +.a-arrow-right-thick:before { + content: '\f0017' +} + +.a-arrow-right-thin:before { + content: '\f0018' +} + +.a-location1:before { + content: '\f0019' +} + +.a-location2:before{ + content: '\f0020' +} + +.a-email1:before{ + content: '\f0021' +} + +.a-email2:before { + content: '\f0022' +} +.a-twitter:before { + content: '\f0023' +} + +.a-google-plus:before { + content: '\f0024' +} + +.a-facebook:before { + content: '\f0025' +} + +.a-linkedin:before { + content: '\f0026' +} +.a-youtube:before { + content: '\f0027' +} + +.a-bag:before { + content: '\f0028' +} diff --git a/ManagementApp/wwwroot/css/atg-lib/atg-core-min.css b/ManagementApp/wwwroot/css/atg-lib/atg-core-min.css new file mode 100644 index 0000000..fbb9b04 --- /dev/null +++ b/ManagementApp/wwwroot/css/atg-lib/atg-core-min.css @@ -0,0 +1 @@ +:root{--vh: 100%;--margin-base: 25px;}.main-scrollbar.iOS {overflow:visible !important; height: auto !important} [data-scrollbar], .mini-scrollbar {overflow: hidden;height: 100vh;height: calc(var(--vh, 1vh) * 100);width: 100% }.noselect {-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none }a{text-decoration: none }button, input, textarea {font-family: Quicksand,'Segoe UI', Arial !important;cursor: pointer }.bg-white{background: white }html {-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;-webkit-tap-highlight-color: transparent;-ms-overflow-style: none;scrollbar-width: none;font-family: Quicksand,'Segoe UI', Arial;color: #333;}body {-ms-overflow-style: none;scrollbar-width: none;overflow: hidden;margin: 0;font-size: 1rem;font-weight: 400;line-height: 1.5;text-align: left;background-color: #fff;}htm::-webkit-scrollbar, body::-webkit-scrollbar {display: none;}button, div, i, img, header, footer, main, content, section{display: block;position:relative;}input, textarea, button {border: none;outline: none;transition: all .3s ease-in-out }*, ::after, ::before {box-sizing: border-box;}ol, ul {margin: 0;padding: 0;list-style: none;}h1, h2, h3, h4, h5, h6, p {display: block;position: relative;margin: 0;}.text-justify {text-align: justify }.text-center {text-align: center }.h-100vh {min-height: 100vh;}.h-100 {height: 100%;}.w-100{width: 100%;}.cfull {width: 100% !important;}.chf {width: 96% !important;margin-right: auto;margin-left: auto;}.con-60 {max-width: 60%;margin-right: auto;margin-left: auto;}.c, [class^=cf-] {width: 100%;margin-right: auto;margin-left: auto;}@media (min-width:576px) {.c, .cf-s {width: 100%;}}@media (min-width:768px) {.c, .cf-l {max-width: 720px;}.r-s {margin: 0 20px !important;}}@media (min-width:992px) {.c, .cf-m {max-width: 960px;}}@media (min-width:1200px) {.c, .cf-x {max-width: 1180px;}}@media (min-width:1400px){.c, .cf-xl {max-width: 1360px;}}@media (min-width:1900px) {.c, .cf-xs {max-width: 1660px;}}.r, .r-s, .r-n-g, .r-d {display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;}.r {margin-right: var(--margin-base);margin-left: var(--margin-base);}.r-s{margin: 0 45px;}.r-n-g {margin-right: 0;margin-left: 0;}.r > .c, .r > [class^=c-] {padding-right: 0;padding-left: 0;}.r-n-g > [class^=c-], .r > [class^=c-] {position: relative;width: 100%;min-height: 1px;}.c-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-n {display: none !important;}.d-b {display: block !important;}.d-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.m-0 {margin: 0 !important;}.mt-0{margin-top: 0 !important;}.mr-0{margin-right: 0 !important;}.mb-0{margin-bottom: 0 !important;}.ml-0{margin-left: 0 !important;}.m-1 {margin: .25rem !important;}.mt-1{margin-top: .25rem !important;}.mr-1{margin-right: .25rem !important;}.mb-1{margin-bottom: .25rem !important;}.ml-1{margin-left: .25rem !important;}.m-2 {margin: .5rem !important;}.mt-2{margin-top: .5rem !important;}.mr-2{margin-right: .5rem !important;}.mb-2{margin-bottom: .5rem !important;}.ml-2{margin-left: .5rem !important;}.m-3 {margin: 1rem !important;}.mt-3{margin-top: 1rem !important;}.mr-3{margin-right: 1rem !important;}.mb-3{margin-bottom: 1rem !important;}.ml-3{margin-left: 1rem !important;}.m-4 {margin: 1.5rem !important;}.mt-4{margin-top: 1.5rem !important;}.mr-4{margin-right: 1.5rem !important;}.mb-4{margin-bottom: 1.5rem !important;}.ml-4{margin-left: 1.5rem !important;}.m-5 {margin: 3rem !important;}.mt-5{margin-top: 3rem !important;}.mr-5{margin-right: 3rem !important;}.mb-5{margin-bottom: 3rem !important;}.ml-5{margin-left: 3rem !important;}.p-0 {padding: 0 !important;}.pt-0{padding-top: 0 !important;}.pr-0{padding-right: 0 !important;}.pb-0{padding-bottom: 0 !important;}.pl-0{padding-left: 0 !important;}.p-1 {padding: .25rem !important;}.pt-1{padding-top: .25rem !important;}.pr-1{padding-right: .25rem !important;}.pb-1{padding-bottom: .25rem !important;}.pl-1{padding-left: .25rem !important;}.p-2 {padding: .5rem !important;}.pt-2{padding-top: .5rem !important;}.pr-2{padding-right: .5rem !important;}.pb-2{padding-bottom: .5rem !important;}.pl-2{padding-left: .5rem !important;}.p-3 {padding: 1rem !important;}.pt-3{padding-top: 1rem !important;}.pr-3{padding-right: 1rem !important;}.pb-3{padding-bottom: 1rem !important;}.pl-3{padding-left: 1rem !important;}.p-4 {padding: 1.5rem !important;}.pt-4{padding-top: 1.5rem !important;}.pr-4{padding-right: 1.5rem !important;}.pb-4{padding-bottom: 1.5rem !important;}.pl-4{padding-left: 1.5rem !important;}.p-5 {padding: 3rem !important;}.pt-5{padding-top: 3rem !important;}.pr-5{padding-right: 3rem !important;}.pb-5{padding-bottom: 3rem !important;}.pl-5{padding-left: 3rem !important;}.m-auto {margin: auto !important;}.mt-auto{margin-top: auto !important;}.mr-auto{margin-right: auto !important;}.mb-auto{margin-bottom: auto !important;}.ml-auto{margin-left: auto !important;}.gap-0 {gap: 0 !important;}.gap-1 {gap: 0.25rem !important;}.gap-2 {gap: 0.5rem !important;}.gap-3 {gap: 1rem !important;}.gap-4 {gap: 1.5rem !important;}.gap-5 {gap: 3rem !important;}@media (min-width:576px) {.c-s-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-s-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-s-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-s-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-s-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-s-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-s-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-s-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-s-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-s-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-s-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-s-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-s-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-s-n {display: none !important;}.d-s-b {display: block !important;}.d-s-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-s-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-s-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-s-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-s-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-s-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-s-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-s-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-s-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-s-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-s-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-s-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-s-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-s-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-s-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-s-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-s-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-s-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-s-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-s-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-s-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-s-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-s-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-s-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-m-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-m-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-m-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-m-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-m-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-m-stretch {-ms-flex-item-align: stretch !important;align-items: stretch !important;}.gap-s-0 {gap: 0 !important;}.gap-s-1 {gap: 0.25rem !important;}.gap-s-2 {gap: 0.5rem !important;}.gap-s-3 {gap: 1rem !important;}.gap-s-4 {gap: 1.5rem !important;}.gap-s-5 {gap: 3rem !important;}}@media (min-width:768px) {.c-m-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-m-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-m-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-m-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-m-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-m-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-m-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-m-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-m-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-m-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-m-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-m-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-m-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-m-n {display: none !important;}.d-m-b {display: block !important;}.d-m-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-m-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-m-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-m-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-m-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-m-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-m-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-m-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-m-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-m-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-m-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-m-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-m-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-m-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-m-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-m-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-m-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-m-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-m-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-m-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-m-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-m-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-m-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-m-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-m-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-m-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-m-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-m-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-m-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-m-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.mr-m-0{margin-right: 0!important }.ml-m-0{margin-left: 0!important }.mt-m-0 {margin-top: 0 !important }.pl-m-5{padding-left: 3rem !important;}.pr-m-5 {padding-right: 3rem !important;}.gap-m-0 {gap: 0 !important;}.gap-m-1 {gap: 0.25rem !important;}.gap-m-2 {gap: 0.5rem !important;}.gap-m-3 {gap: 1rem !important;}.gap-m-4 {gap: 1.5rem !important;}.gap-m-5 {gap: 3rem !important;}}@media (min-width:992px) {.c-l-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-l-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-l-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-l-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-l-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-l-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-l-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-l-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-l-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-l-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-l-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-l-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-l-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-l-n {display: none !important;}.d-l-b {display: block !important;}.d-l-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-l-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-l-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-l-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-l-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-l-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-l-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-l-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-l-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-l-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-l-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-l-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-l-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-l-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-l-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-l-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-l-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-l-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-l-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-l-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-l-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-l-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-l-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-l-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-l-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-l-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-l-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-l-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-l-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-l-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.pr-l-5 {padding-right: 3rem !important;}.pl-l-5 {padding-left: 3rem !important;}.gap-l-0 {gap: 0 !important;}.gap-l-1 {gap: 0.25rem !important;}.gap-l-2 {gap: 0.5rem !important;}.gap-l-3 {gap: 1rem !important;}.gap-l-4 {gap: 1.5rem !important;}.gap-l-5 {gap: 3rem !important;}}@media (min-width:1200px) {.c-x-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-x-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-x-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-x-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-x-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-x-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-x-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-x-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-x-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-x-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-x-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-x-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-x-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-x-n {display: none !important;}.d-x-b {display: block !important;}.d-x-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-x-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-x-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-x-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-x-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-x-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-x-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-x-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-x-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-x-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-x-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-x-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-x-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-x-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-x-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-x-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-x-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-x-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-x-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-x-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-x-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-x-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-x-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-x-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-x-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-x-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-x-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-x-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-x-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-x-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.ml-x-auto {margin-left: auto !important;}.mb-x-0{margin-bottom: 0 !important;}}@media (min-width:1400px) {.c-xm-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-xm-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-xm-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-xm-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-xm-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-xm-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-xm-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-xm-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-xm-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-xm-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-xm-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-xm-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-xm-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-xm-n {display: none !important;}.d-xm-b {display: block !important;}.d-xm-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-xm-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-xm-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-xm-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-xm-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-xm-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-xm-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-xm-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-xm-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-xm-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-xm-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-xm-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-xm-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-xm-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-xm-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-xm-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-xm-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-xm-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-xm-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-xm-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-xm-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-xm-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-xm-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-xm-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-xm-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-xm-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-xm-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-xm-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-xm-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-xm-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.ml-xm-auto {margin-left: auto !important;}.ml-xm-5 {margin-left: 3rem !important;}.mb-xm-0 {margin-bottom: 0 !important;}}@media (min-width:1900px) {.c-sx-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-sx-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-sx-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-sx-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-sx-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-sx-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-sx-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-sx-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-sx-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-sx-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-sx-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-sx-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-sx-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-sx-n {display: none !important;}.d-sx-b {display: block !important;}.d-sx-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-sx-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}}html {font-size: 12px }@media (min-width: 768px) {html {font-size: 14px;}}@media (min-width: 1200px) {html {font-size: 16px;}}h1 {font-size: 2.3rem }h2 {font-size: 1.9rem }h3 {font-size: 1.4rem }.light .border-b {border-bottom: 1px solid #41475435;}.dark .border-b {border-bottom: 1px solid #dee2e6;}.filter {position: absolute;width: 100%;height: 100%;z-index: 1 }:root {--blue: #20304f;--indigo: #6610f2;--purple: #6f42c1;--pink: #d63384;--red: #dc3545;--orange: #fd7e14;--yellow: #ffc107;--green: #80ba26;--teal: #20c997;--cyan: #0dcaf0;--white: #fff;--dark2-rgb: 42, 64, 104;--dark: #162440;--dark-rgb: 22, 36, 64;--dark1: #20304F;--dark1-rgb: 32, 48, 79;--gray: #6c757d;--gray-dark: #343a40;--gray-100: #f8f9fa;--gray-200: #e9ecef;--gray-300: #dee2e6;--gray-400: #ced4da;--gray-500: #adb5bd;--gray-600: #6c757d;--gray-700: #495057;--gray-800: #343a40;--gray-900: #212529;--primary: #f3525a;--secondary: #20304f;--success: #198754;--info: #0dcaf0;--warning: #ffc107;--danger: #dc3545;--light: #f8f9fa;--btn-font-weight: 500;--margin-gap: 3px;--border-radius: 5px;--light-bg: #F9F9FA;--margin-row: calc(var(--margin-base) - var(--margin-gap));--footer-color: #FFFFFFCC;--footer-border-color: #ffffff99;--input-padding: 7px;}.m-gap {margin: 0 var(--margin-gap);}.p-gap {padding: 0 var(--margin-gap);}.r-d {margin-right: var(--margin-row);margin-left: var(--margin-row);}.primary-color {color: var(--primary) }.bg-dark {background-color: var(--dark) }.bg-dark1 {background-color: var(--dark1) }.bg-dark2 {background-color: rgb(var(--dark2-rgb)) }.bg-white {background-color: white }.bg-primary {background-color: var(--primary) }.bg-light {background-color: var(--light-bg) }.text-white {color: #fff;}[data-scrollbar], [scrollbar], scrollbar {display: block;position: relative }[data-scrollbar] .scrollbar-track {z-index: 2000 !important }[data-scrollbar] .scroll-content, [scrollbar] .scroll-content, scrollbar .scroll-content {-webkit-transform: translateZ(0);transform: translateZ(0) }[data-scrollbar].sticky .scrollbar-track, [scrollbar].sticky .scrollbar-track, scrollbar.sticky .scrollbar-track {background-color: transparent }[data-scrollbar] .scrollbar-track, [scrollbar] .scrollbar-track, scrollbar .scrollbar-track {position: absolute;opacity: 0;z-index: 1;transition: opacity .5s ease-out,background .5s ease-out;background: none;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none }[data-scrollbar] .scrollbar-track.show, [data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track.show, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track.show, scrollbar .scrollbar-track:hover {opacity: 1 }[data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track:hover {background: hsla(0,0%,87%,.75) }[data-scrollbar] .scrollbar-track-x, [scrollbar] .scrollbar-track-x, scrollbar .scrollbar-track-x {bottom: 0;left: 0;width: 100%;height: 8px }[data-scrollbar] .scrollbar-track-y, [scrollbar] .scrollbar-track-y, scrollbar .scrollbar-track-y {top: 4px;right: 0;width: 4px;height: 100% }[data-scrollbar] .scrollbar-thumb, [scrollbar] .scrollbar-thumb, scrollbar .scrollbar-thumb {position: absolute;top: 0;left: 0;width: 2px;height: 2px;background: rgba(0,0,0,.5);border-radius: 4px }[data-scrollbar] .overscroll-glow, [scrollbar] .overscroll-glow, scrollbar .overscroll-glow {position: absolute;top: 0;left: 0;width: 100%;height: 100% }.header {position: absolute;top: 0;left: 0;right: 0;z-index: 101 }.f-header {box-shadow: 0 2px 3px rgba(96, 96, 96, 0.1);z-index: 2;width: 100%;background-color: #fff;position: absolute;top: -100px;transition: top .3s ease-in }.f-header .nav-link {padding-top: 1.8rem;padding-bottom: 1.8rem;}.f-header.show {top: 0 }.row1 .nav-item {font-weight: 500;}.row1 .atg {font-size: 1rem }.row2 {margin-top: 10px;}.c-logo img {height: 40px }.logo-light {display: none }.logo-dark {display: block }.hp .header {background-color: transparent;}.hp .logo-light {display: none }.hp .logo-dark {display: block }.navbar-nav .nav-item {display: flex;flex-direction: column }.navbar-nav.nav-item .dropdown::after, .navbar-nav .nav-link::after, .navbar-nav .nav-item .dropdown::before, .navbar-nav .nav-link::before {content: '';display: block;position: absolute;height: 0;width: 0;left: 50%;right: 50%;bottom: 0;background: var(--red) }.navbar-nav .dropdown::after, .navbar-nav .nav-link::after, .navbar-nav .nav-link.active::after {border-top-left-radius: 3px;border-bottom-left-radius: 3px;transition: left .35s ease-out, width .35s ease-out }.navbar-nav .dropdown::before, .navbar-nav .nav-link::before, .navbar-nav .nav-link.active::before {border-top-right-radius: 3px;border-bottom-right-radius: 3px;transition: right .35s ease-out, width .35s ease-out }.navbar-nav .nav-item.active .dropdown::after, .navbar-nav .nav-link:hover::after, .navbar-nav .nav-link.active::after {left: 5%;right: 45%;width: 45%;height: 3px }.navbar-nav .nav-item.active .dropdown::before, .navbar-nav .nav-link:hover::before, .navbar-nav .nav-link.active::before {left: 45%;right: 5%;width: 50%;height: 3px }.nav-link {color: var(--dark);text-transform: uppercase;font-size: 1.1rem;font-weight: 600;padding: 1.5rem 1rem;}.navbar-nav .sub-item {visibility: hidden;height: 0;}.ico-menu {cursor: pointer;margin: 16px 0;background-color: var(--secondary);border: 1px solid rgba(255, 255,255,.3);border-radius: var(--border-radius);padding: .1rem .6rem }.ico-menu div {text-align: left;display: block;width: 35px;height: 2px;background: white;margin-bottom: 8px;}.ico-menu div span {position: absolute;transition: width .3s ease-in;left: 0;top: 0;height: 2px;background: var(--primary) }.ico-menu div:first-child {margin-top: 8px;}.h-menu .item {color: #fff;cursor: pointer;padding: 4px 14px }.lets-work {top: 50%;transform: translateY(-50%) }.lets-work h1 {font-size: 2.8rem;color: white }.ss-footer1 {background-image: url(/images/banner/f_img1.jpg);background-repeat: no-repeat;background-size: cover;background-position: center;height: 380px;}.ss-footer1 .filter {background-color: rgba(var(--dark-rgb), .4) }.ss-footer2 img {width: 210px }.ss-footer2 {color: #FFFFFFCC !important;}.ss-footer3, .ss-footer2 {color: white;font-size: .9rem }.m-footer a {margin: 0 10px;color: white;transition: color ease-in .3s }.m-footer a:hove r {color: var(--primary) }.m-footer .item {margin: 2px 0;display: flex;color: var(--footer-color);align-items: center;}.m-footer.social i {font-size: 1.5rem;color: var(--footer-color) }.m-footer .item:hover {color: #FFF !important }.m-footer .item:hover i {color: var(--primary) }.m-footer i {transition: color ease-in .3s;margin-right: 10px;color: var(--green);}footer input, footer button {vertical-align: middle;color: var(--footer-color);border: 2px solid var(--footer-border-color);border-radius: 0;background-color: transparent;line-height: 23px;border-right-width: 0;}.ss-footer2 .btn {padding: var(--input-padding) calc(var(--input-padding) * 4);background-color: var(--footer-border-color);color: var(--dark1);border-top-left-radius: 0;border-bottom-left-radius: 0;border-left: none;line-height: 30px;} \ No newline at end of file diff --git a/ManagementApp/wwwroot/css/atg-lib/atg-core.css b/ManagementApp/wwwroot/css/atg-lib/atg-core.css new file mode 100644 index 0000000..7b34fd4 --- /dev/null +++ b/ManagementApp/wwwroot/css/atg-lib/atg-core.css @@ -0,0 +1,2820 @@ +:root { + --vh: 100%; + --margin-base: 25px; +} + +[data-scrollbar], .mini-scrollbar { + overflow: hidden; + height: calc(var(--vh, 1vh) * 100); + width: 100% +} + +.main-scrollbar.iOS { + overflow: visible !important; + height: auto !important +} + +.noselect { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} + +a { + text-decoration: none +} + +button, input, textarea { + font-family: Quicksand,'Segoe UI', Arial !important; + cursor: pointer +} + +.bg-white { + background: white +} + +html { + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -webkit-tap-highlight-color: transparent; + font-family: Quicksand,'Segoe UI', Arial; + color: #333; +} + html:not(:has(.main-scrollbar.iOS)) { + -ms-overflow-style: none; + scrollbar-width: none; + } +body { + margin: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + text-align: left; + background-color: #fff; +} + + body:not(:has(.main-scrollbar.iOS)) { + -ms-overflow-style: none; + scrollbar-width: none; + overflow: hidden; + } + + html:not(:has(.main-scrollbar.iOS))::-webkit-scrollbar, body:not(:has(.main-scrollbar.iOS))::-webkit-scrollbar { + display: none; + } + +button, div, i, img, header, footer, main, content, section { + display: block; + position: relative; +} + +input, textarea, button { + border: none; + outline: none; + transition: all .3s ease-in-out +} + +*, ::after, ::before { + box-sizing: border-box; +} + +ol, ul { + margin: 0; + padding: 0; + list-style: none; +} + +h1, h2, h3, h4, h5, h6, p { + display: block; + position: relative; + margin: 0; +} + +.text-justify { + text-align: justify +} + +.text-center { + text-align: center +} + +.h-100vh { + min-height: 100vh; +} + +.h-100 { + height: 100%; +} + +.w-100 { + width: 100%; +} + +.cfull { + width: 100% !important; +} + +.chf { + width: 96% !important; + margin-right: auto; + margin-left: auto; +} + +.con-60 { + max-width: 60%; + margin-right: auto; + margin-left: auto; +} + +.c, [class^=cf-] { + width: 100%; + margin-right: auto; + margin-left: auto; +} + +@media (min-width:576px) { + .c, .cf-s { + width: 100%; + } +} + +@media (min-width:768px) { + .c, .cf-l { + max-width: 720px; + } + + .r-s { + margin: 0 20px !important; + } +} + +@media (min-width:992px) { + .c, .cf-m { + max-width: 960px; + } +} + +@media (min-width:1200px) { + .c, .cf-x { + max-width: 1180px; + } +} + +@media (min-width:1400px) { + .c, .cf-xl { + max-width: 1360px; + } +} + +@media (min-width:1900px) { + .c, .cf-xs { + max-width: 1660px; + } +} + +.r, .r-s, .r-n-g, .r-d { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} + +.r { + margin-right: var(--margin-base); + margin-left: var(--margin-base); +} + +.r-s { + margin: 0 45px; +} + +.r-n-g { + margin-right: 0; + margin-left: 0; +} + +.r > .c, .r > [class^=c-] { + padding-right: 0; + padding-left: 0; +} + +.r-n-g > [class^=c-], .r > [class^=c-] { + position: relative; + width: 100%; + min-height: 1px; +} + +.c-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; +} + +.c-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.c-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.c-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.c-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.c-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.c-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.c-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.c-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.c-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.c-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.c-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.c-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.d-n { + display: none !important; +} + +.d-b { + display: block !important; +} + +.d-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; +} + +.f-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.f-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.f-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.f-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.f-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.f-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.f-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.j-c-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.j-c-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.j-c-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.j-c-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.j-c-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.a-i-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.a-i-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.a-i-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; +} + +.a-i-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.a-i-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.a-c-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.a-c-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.a-c-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.a-c-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.a-c-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.a-c-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.a-s-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.a-s-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.a-s-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.a-s-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.a-s-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.a-s-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mr-0 { + margin-right: 0 !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.ml-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: .25rem !important; +} + +.mt-1 { + margin-top: .25rem !important; +} + +.mr-1 { + margin-right: .25rem !important; +} + +.mb-1 { + margin-bottom: .25rem !important; +} + +.ml-1 { + margin-left: .25rem !important; +} + +.m-2 { + margin: .5rem !important; +} + +.mt-2 { + margin-top: .5rem !important; +} + +.mr-2 { + margin-right: .5rem !important; +} + +.mb-2 { + margin-bottom: .5rem !important; +} + +.ml-2 { + margin-left: .5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mr-3 { + margin-right: 1rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.ml-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mr-4 { + margin-right: 1.5rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mr-5 { + margin-right: 3rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.ml-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pr-0 { + padding-right: 0 !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pl-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: .25rem !important; +} + +.pt-1 { + padding-top: .25rem !important; +} + +.pr-1 { + padding-right: .25rem !important; +} + +.pb-1 { + padding-bottom: .25rem !important; +} + +.pl-1 { + padding-left: .25rem !important; +} + +.p-2 { + padding: .5rem !important; +} + +.pt-2 { + padding-top: .5rem !important; +} + +.pr-2 { + padding-right: .5rem !important; +} + +.pb-2 { + padding-bottom: .5rem !important; +} + +.pl-2 { + padding-left: .5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pr-3 { + padding-right: 1rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pl-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pr-4 { + padding-right: 1.5rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pr-5 { + padding-right: 3rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.pl-5 { + padding-left: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.mr-auto { + margin-right: auto !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ml-auto { + margin-left: auto !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +@media (min-width:576px) { + .c-s-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-s-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-s-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-s-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-s-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-s-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-s-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-s-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-s-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-s-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-s-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-s-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-s-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-s-n { + display: none !important; + } + + .d-s-b { + display: block !important; + } + + .d-s-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-s-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-s-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-s-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-s-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-s-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-s-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-s-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-s-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-s-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-s-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-s-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-s-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-s-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-s-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-s-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-s-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-s-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-s-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-s-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-s-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-s-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-s-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-s-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-m-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-m-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-m-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-m-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-m-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-m-stretch { + -ms-flex-item-align: stretch !important; + align-items: stretch !important; + } + + .gap-s-0 { + gap: 0 !important; + } + + .gap-s-1 { + gap: 0.25rem !important; + } + + .gap-s-2 { + gap: 0.5rem !important; + } + + .gap-s-3 { + gap: 1rem !important; + } + + .gap-s-4 { + gap: 1.5rem !important; + } + + .gap-s-5 { + gap: 3rem !important; + } +} + +@media (min-width:768px) { + .c-m-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-m-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-m-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-m-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-m-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-m-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-m-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-m-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-m-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-m-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-m-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-m-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-m-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-m-n { + display: none !important; + } + + .d-m-b { + display: block !important; + } + + .d-m-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-m-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-m-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-m-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-m-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-m-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-m-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-m-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-m-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-m-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-m-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-m-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-m-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-m-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-m-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-m-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-m-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-m-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-m-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-m-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-m-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-m-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-m-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-m-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-m-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-m-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-m-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-m-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-m-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-m-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + + .mr-m-0 { + margin-right: 0 !important + } + + .ml-m-0 { + margin-left: 0 !important + } + + .mt-m-0 { + margin-top: 0 !important + } + + .pl-m-5 { + padding-left: 3rem !important; + } + + .pr-m-5 { + padding-right: 3rem !important; + } + + .gap-m-0 { + gap: 0 !important; + } + + .gap-m-1 { + gap: 0.25rem !important; + } + + .gap-m-2 { + gap: 0.5rem !important; + } + + .gap-m-3 { + gap: 1rem !important; + } + + .gap-m-4 { + gap: 1.5rem !important; + } + + .gap-m-5 { + gap: 3rem !important; + } +} + +@media (min-width:992px) { + .c-l-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-l-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-l-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-l-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-l-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-l-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-l-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-l-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-l-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-l-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-l-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-l-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-l-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-l-n { + display: none !important; + } + + .d-l-b { + display: block !important; + } + + .d-l-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-l-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-l-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-l-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-l-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-l-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-l-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-l-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-l-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-l-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-l-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-l-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-l-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-l-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-l-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-l-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-l-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-l-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-l-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-l-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-l-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-l-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-l-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-l-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-l-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-l-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-l-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-l-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-l-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-l-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + + .ml-l-2 { + margin-left: .5rem !important + } + + .ml-l-3 { + margin-left: 1rem !important + } + + .mr-l-3{ + margin-right: 1rem !important + } + + .mb-l-0{ + margin-bottom: 0!important; + } + + .pr-l-5 { + padding-right: 3rem !important; + } + + .pl-l-5 { + padding-left: 3rem !important; + } + + .gap-l-0 { + gap: 0 !important; + } + + .gap-l-1 { + gap: 0.25rem !important; + } + + .gap-l-2 { + gap: 0.5rem !important; + } + + .gap-l-3 { + gap: 1rem !important; + } + + .gap-l-4 { + gap: 1.5rem !important; + } + + .gap-l-5 { + gap: 3rem !important; + } +} + +@media (min-width:1200px) { + .c-x-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-x-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-x-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-x-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-x-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-x-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-x-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-x-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-x-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-x-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-x-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-x-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-x-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-x-n { + display: none !important; + } + + .d-x-b { + display: block !important; + } + + .d-x-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-x-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-x-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-x-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-x-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-x-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-x-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-x-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-x-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-x-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-x-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-x-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-x-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-x-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-x-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-x-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-x-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-x-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-x-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-x-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-x-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-x-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-x-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-x-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-x-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-x-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-x-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-x-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-x-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-x-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + + .ml-x-auto { + margin-left: auto !important; + } + + .ml-x-5{ + margin-left: 3rem !important + } + + .mr-x-5{ + margin-right: 3rem !important + } + + .mb-x-0 { + margin-bottom: 0 !important; + } +} + +@media (min-width:1400px) { + .c-xm-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-xm-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-xm-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-xm-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-xm-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-xm-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-xm-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-xm-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-xm-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-xm-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-xm-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-xm-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-xm-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-xm-n { + display: none !important; + } + + .d-xm-b { + display: block !important; + } + + .d-xm-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-xm-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-xm-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-xm-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-xm-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-xm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-xm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-xm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-xm-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-xm-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-xm-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-xm-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-xm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-xm-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-xm-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-xm-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-xm-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-xm-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-xm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-xm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-xm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-xm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-xm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-xm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-xm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-xm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-xm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-xm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-xm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-xm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + + .ml-xm-auto { + margin-left: auto !important; + } + + .ml-xm-5 { + margin-left: 3rem !important; + } + + .mb-xm-0 { + margin-bottom: 0 !important; + } +} + +@media (min-width:1900px) { + .c-sx-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-sx-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-sx-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-sx-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-sx-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-sx-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-sx-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-sx-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-sx-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-sx-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-sx-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-sx-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-sx-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-sx-n { + display: none !important; + } + + .d-sx-b { + display: block !important; + } + + .d-sx-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-sx-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } +} + +html { + font-size: 12px +} + +@media (min-width: 768px) { + html { + font-size: 14px; + } +} + +@media (min-width: 1200px) { + html { + font-size: 16px; + } +} + +h1 { + font-size: 3.8rem +} + +h2 { + font-size: 2.8rem +} + +h3 { + font-size: 1.4rem +} + +.light .border-b { + border-bottom: 1px solid #41475435; +} + +.dark .border-b { + border-bottom: 1px solid #dee2e6; +} + +.filter { + position: absolute; + width: 100%; + height: 100%; + z-index: 1 +} + +:root { + --blue: #20304f; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #d63384; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #80ba26; + --teal: #20c997; + --cyan: #0dcaf0; + --white: #fff; + --dark2-rgb: 42, 64, 104; + --dark: #162440; + --dark-rgb: 22, 36, 64; + --dark1: #20304F; + --dark1-rgb: 32, 48, 79; + --gray: #6c757d; + --gray-dark: #343a40; + --gray-100: #f8f9fa; + --gray-200: #e9ecef; + --gray-300: #dee2e6; + --gray-400: #ced4da; + --gray-500: #adb5bd; + --gray-600: #6c757d; + --gray-700: #495057; + --gray-800: #343a40; + --gray-900: #212529; + --primary: #f3525a; + --secondary: #20304f; + --success: #198754; + --info: #0dcaf0; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --btn-font-weight: 500; + --margin-gap: 3px; + --border-radius: 5px; + --light-bg: #F9F9FA; + --margin-row: calc(var(--margin-base) - var(--margin-gap)); + --footer-color: #FFFFFFCC; + --footer-border-color: #ffffff99; + --input-padding: 7px; +} + +.m-gap { + margin: 0 var(--margin-gap); +} + +.p-gap { + padding: 0 var(--margin-gap); +} + +.r-d { + margin-right: var(--margin-row); + margin-left: var(--margin-row); +} + +.primary-color { + color: var(--primary) +} + +.bg-dark { + background-color: var(--dark) +} + +.bg-dark1 { + background-color: var(--dark1) +} + +.bg-dark2 { + background-color: rgb(var(--dark2-rgb)) +} + +.bg-white { + background-color: white +} + +.bg-primary { + background-color: var(--primary) +} + +.bg-light { + background-color: var(--light-bg) +} + +.text-white { + color: #fff; +} + +[data-scrollbar], [scrollbar], scrollbar { + display: block; + position: relative +} + + [data-scrollbar] .scrollbar-track { + z-index: 2000 !important + } + + [data-scrollbar] .scroll-content, [scrollbar] .scroll-content, scrollbar .scroll-content { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + [data-scrollbar].sticky .scrollbar-track, [scrollbar].sticky .scrollbar-track, scrollbar.sticky .scrollbar-track { + background-color: transparent + } + + [data-scrollbar] .scrollbar-track, [scrollbar] .scrollbar-track, scrollbar .scrollbar-track { + position: absolute; + opacity: 0; + z-index: 1; + transition: opacity .5s ease-out,background .5s ease-out; + background: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none + } + + [data-scrollbar] .scrollbar-track.show, [data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track.show, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track.show, scrollbar .scrollbar-track:hover { + opacity: 1 + } + + [data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track:hover { + background: hsla(0,0%,87%,.75) + } + + [data-scrollbar] .scrollbar-track-x, [scrollbar] .scrollbar-track-x, scrollbar .scrollbar-track-x { + bottom: 0; + left: 4px; + width: calc(100%- 8px); + height: 4px + } + + [data-scrollbar] .scrollbar-track-y, [scrollbar] .scrollbar-track-y, scrollbar .scrollbar-track-y { + top: 4px; + right: 0; + width: 4px; + height: calc(100% - 8px); + } + + [data-scrollbar] .scrollbar-thumb, [scrollbar] .scrollbar-thumb, scrollbar .scrollbar-thumb { + position: absolute; + top: 0; + left: 0; + width: 2px; + height: 2px; + background: rgba(0,0,0,.5); + border-radius: 4px + } + + [data-scrollbar] .overscroll-glow, [scrollbar] .overscroll-glow, scrollbar .overscroll-glow { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } + +.header { + position: absolute; + top: 0; + left: 0; + right: 0; + z-index: 101 +} + +.f-header { + box-shadow: 0 2px 3px rgba(96, 96, 96, 0.1); + z-index: 2; + width: 100%; + background-color: #fff; + position: absolute; + top: -100px; + transition: top .3s ease-in +} + + .f-header .nav-link { + padding-top: 1.8rem; + padding-bottom: 1.8rem; + } + + .f-header.show { + top: 0 + } + +.row1 .nav-item { + font-weight: 500; +} + +.row1 .atg { + font-size: 1rem +} + +.row2 { + margin-top: 10px; +} + +.c-logo img { + height: 40px +} + +.logo-light { + display: none +} + +.logo-dark { + display: block +} + +.hp .header { + background-color: transparent; +} + +.hp .logo-light { + display: none +} + +.hp .logo-dark { + display: block +} + +.navbar-nav .nav-item { + display: flex; + flex-direction: column +} + + .navbar-nav.nav-item .dropdown::after, .navbar-nav .nav-link::after, .navbar-nav .nav-item .dropdown::before, .navbar-nav .nav-link::before { + content: ''; + display: block; + position: absolute; + height: 0; + width: 0; + left: 50%; + right: 50%; + bottom: 0; + background: var(--red) + } + +.navbar-nav .dropdown::after, .navbar-nav .nav-link::after, .navbar-nav .nav-link.active::after { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + transition: left .35s ease-out, width .35s ease-out +} + +.navbar-nav .dropdown::before, .navbar-nav .nav-link::before, .navbar-nav .nav-link.active::before { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + transition: right .35s ease-out, width .35s ease-out +} + +.navbar-nav .nav-item.active .dropdown::after, .navbar-nav .nav-link:hover::after, .navbar-nav .nav-link.active::after { + left: 5%; + right: 45%; + width: 45%; + height: 3px +} + +.navbar-nav .nav-item.active .dropdown::before, .navbar-nav .nav-link:hover::before, .navbar-nav .nav-link.active::before { + left: 45%; + right: 5%; + width: 50%; + height: 3px +} + +.nav-link { + color: var(--dark); + text-transform: uppercase; + font-size: 1.1rem; + font-weight: 600; + padding: 1.5rem 1rem; +} + +.navbar-nav .sub-item { + visibility: hidden; + height: 0; +} + +.ico-menu { + cursor: pointer; + margin: 16px 0; + background-color: var(--secondary); + border: 1px solid rgba(255, 255,255,.3); + border-radius: var(--border-radius); + padding: .1rem .6rem +} + + .ico-menu div { + text-align: left; + display: block; + width: 35px; + height: 2px; + background: white; + margin-bottom: 8px; + } + + .ico-menu div span { + position: absolute; + transition: width .3s ease-in; + left: 0; + top: 0; + height: 2px; + background: var(--primary) + } + + .ico-menu div:first-child { + margin-top: 8px; + } + +.h-menu .item { + color: #fff; + cursor: pointer; + padding: 4px 14px +} + +.lets-work { + top: 50%; + transform: translateY(-50%) +} + + .lets-work h1 { + font-size: 2.8rem; + color: white + } + +.ss-footer1 { + background-image: url(/images/banner/f_img1.jpg); + background-repeat: no-repeat; + background-size: cover; + background-position: center; + height: 380px; +} + + .ss-footer1 .filter { + background-color: rgba(var(--dark-rgb), .4) + } + +.ss-footer2 img { + width: 210px +} + +.ss-footer2 { + color: #FFFFFFCC !important; +} + +.ss-footer3, .ss-footer2 { + color: white; + font-size: .9rem +} + +.m-footer a { + margin: 0 10px; + color: white; + transition: color ease-in .3s +} + + .m-footer a:hove r { + color: var(--primary) + } + +.m-footer .item { + margin: 2px 0; + display: flex; + color: var(--footer-color); + align-items: center; +} + +.m-footer.social i { + font-size: 1.5rem; + color: var(--footer-color) +} + +.m-footer .item:hover { + color: #FFF !important +} + + .m-footer .item:hover i { + color: var(--primary) + } + +.m-footer i { + transition: color ease-in .3s; + margin-right: 10px; + color: var(--green); +} + +footer input, footer button { + vertical-align: middle; + color: var(--footer-color); + border: 2px solid var(--footer-border-color); + border-radius: 0; + background-color: transparent; + line-height: 23px; + border-right-width: 0; +} + +.ss-footer2 .btn { + padding: var(--input-padding) calc(var(--input-padding) * 4); + background-color: var(--footer-border-color); + color: var(--dark1); + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left: none; + line-height: 30px; +} \ No newline at end of file diff --git a/ManagementApp/wwwroot/css/atg-lib/atg-upload.css b/ManagementApp/wwwroot/css/atg-lib/atg-upload.css new file mode 100644 index 0000000..d1e88b0 --- /dev/null +++ b/ManagementApp/wwwroot/css/atg-lib/atg-upload.css @@ -0,0 +1,498 @@ +.u-overlay{ + position:absolute; + width: 100vw; + height: 100vh; + left: 0; + top: 0; + z-index: 10000; + background: rgba(0,0,0, .2); +} + +.u-scroll { + overflow: hidden; + width: 100%; + height: 100%; +} + + +@media (min-width: 768px){ + .nav-tupload .item .name { + display:block!important + } +} + +@media (min-width: 996px){ + .breadcrumb { + width: 60% !important + } +} + +@media (min-height: 800px) { + .u-container { + height: 100vh!important + } + + .u-wrapper { + margin: 0 !important; + height: 80vh !important + } +} + +.u-container { + width: 100%; + height: 100%; +} + +.u-n-wrapper { + box-shadow: 0 0 10px 0 rgb(0 0 0 / 15%); + width: 100%; + height: 800px; + overflow: hidden; + border-radius: 5px +} + +.u-wrapper { + border-radius: 5px; + overflow:hidden; + height: 800px; + width: 80vw; + margin: 150px 0; + background-color: #fff; + box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%); + transition: all 0.35s ease-in-out +} + +.container-tupload { + width: 100%; + background: #fff; + border-bottom: 1px solid #edebe9; +} + +.nav-tupload .item{ + padding: 12px 10px; + transition: all .3s ease-in-out +} + +.nav-tupload .item span{ + color: #333; + line-height: 22px; +} + .nav-tupload .item .name { + display: none + } +.nav-tupload .item .atg{ + color: #154ab9 +} + .nav-tupload .item .atg:last-child { + color: #232323 !important + } + +.nav-tupload .item:hover{ + background-color: rgb(243, 242, 241) +} +[data-dropdown] .sub-item { + border-radius: 5px; + overflow: hidden; + position: fixed; + background: #fff; + width: 180px; + z-index: 10001; + box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%); + height: 0; + transition: height 0.3s ease-out +} + + [data-dropdown] .sub-item.show { + height: auto; + } +[data-dropdown].active > .dropdown { + background: rgb(222 222 222) +} +[data-dropdown] .sub-item .item { + transition: .3s all ease-in-out; + padding: 10px 15px; + color: #333 +} + + [data-dropdown] .sub-item .item:hover { + background-color: rgb(243, 242, 241) + } + +.bt-close { + padding: 12px 25px; + background: #7367f0; + color: #fff; + transition: .3s all ease-in-out +} + + .bt-close:hover { + background: #8d1a1e + } + +.u-c-file{ + height: calc(100% - 54px); + width: 100%; + overflow-x: hidden; +} + +.u-row{ + width: 100%; + padding: 25px 25px 0 25px; +} + +.breadcrumb{ + width: 80% +} + +.breadcrumb .dropdown, +.breadcrumb .item, +.breadcrumb .sep { + flex: 0 0 auto; + padding: 5px 8px; + color: #333; + transition: .3s all ease-in-out; + white-space: nowrap; +} + + .breadcrumb .item.ellipsis { + max-width: 160px; + } + + .breadcrumb .item:hover { + background: #f3f2f1; + } + + + +.breadcrumb > .item:last-child{ + font-weight: 600; + cursor: default !important; + background: #fff !important; + text-overflow: inherit !important; + max-width: max-content !important; + overflow: visible !important +} + +.breadcrumb > .citem[data-dropdown] > .sub-item{ + top: 28px; + min-width: 160px !important +} + .breadcrumb > .citem[data-dropdown] > .sub-item > .item { + padding:10px; + font-size: .8rem + } + +.modal { + visibility: hidden; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 0; + overflow: auto; + opacity: 1; + background-color: rgba(0,0,0,0.2); + transition: all 0.25s ease-in-out +} + .modal.show { + visibility: visible; + opacity: 1; + height: 100%; + } + +.modal-content { + border-radius: 5px; + overflow: hidden; + visibility: hidden; + height: 0; + margin: 0 auto; + padding: 25px; + background: #fff; + border: 1px solid #edebe9; + width: 80%; + box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%); + transition: height 0.3s ease-in-out +} + + +.modal-content.show{ + visibility: visible; + height: auto +} + +.grid-folder > .grid-sizer, +.grid-folder > .grid-item, +.grid-file > .grid-sizer, +.grid-file > .grid-item{ + width: 100%; +} + +.grid-folder > .grid-item { + padding: 15px 5px +} +.grid-file > .grid-item { + padding: 6px +} + +@media (min-width:300px) { + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 50% !important; + } +} + +@media (min-width:600px) { + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 33.33% !important; + } +} + +@media (min-width:992px) { + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 25% !important; + } +} + +@media (min-width: 1400px){ + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 16.66% !important; + } +} +@media (min-width: 1920px) { + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 12.56% !important; + } +} + +.conFile { + position: relative; + padding: 4px; + background: #fff; + border-radius: 5px; + -webkit-box-shadow: 0 1px 3px 1px rgb(1 1 0 / 5%); + box-shadow: 0 1px 3px 1px rgb(1 1 0 / 5%); + transition: all .3s ease-in-out; + cursor:pointer +} + +.conFile:hover{ + border: solid 1px rgba(0,0,0, .15) +} + +.imagePreview { + overflow: hidden; + transition: all .3s ease-in-out; + border-radius: 5px +} + +.conFile img, .imagePreview { + width: 100% +} + +.conFolder{ + padding-top: 15px; + transition: background .3s ease-in-out +} + + .conFolder:hover { + background: #F3F2F1 + } + + .conFolder:hover .btCon, .btCon:hover, .conFolder.active .btCon { + display: flex + } + + .conFolder.active { + background: #EDEBE9; + } + +.conFolder.active .btSelect{ + background:#7367f0; + border: 1px solid #fff; +} +.btCon:hover .atg { + display:block; + color: #333 +} + +.conFolder.active .atg{ + display: block; + color: #fff +} + +.folder-front { + position: absolute; + left: 0; + bottom: 0; + z-index: 2; +} + +.have-file { + box-shadow: 0 1px 3px 2px rgb(1 1 0 / 20%); + position: absolute; + top: 12%; + left: 5%; + right: 5%; + bottom: 10%; + background-color: white; + z-index: 1; +} + + +.btCon { + display: none; + position: absolute; + width: 35px; + height: 35px; + right: 0; + top: 0; + z-index:2; +} + +.btSelect{ + border: #333 1px solid; + width: 18px; + height: 18px; + background: #fff; + border-radius: 50%; +} + +.btSelect .atg{ + display: none; + font-size: 9px +} + +.folder { + width: 100%; + padding: 10% 15% 0 15%; + cursor:default +} +.conImg, .conImg img{ + width: 100% +} + +.conImg, .folderName{ + cursor: pointer +} + +.numF{ + color:#eeeeee; + font-size: .8rem; + position:absolute; + bottom: 8%; + left: 8%; + z-index: 4 +} + +.folderName { + margin-top: 20px; + margin-bottom: 10%; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + max-width: 95%; + text-align: center; + font-size: .8rem +} + +.con-slide-upload { + position: absolute; + background: #fff; + right: -350px; + top: 0; + bottom: 0; + width: 300px; + z-index: 15; + max-width: 100%; + box-shadow: 0 0 10px 0 rgb(0 0 0 / 15%); + transition: right .3s ease-in-out; +} + +.con-slide-upload.show{ + right: 0px; +} + +.slide-upload{ + padding-bottom: 25px +} + +.c-slide-header { + margin: 24px 20px +} + +.slide-upload .sl-close { + color: #201f1e; + font-size: 1rem; + cursor: pointer; + padding: 5px 10px; + transition: all .3s ease-in-out +} + + .slide-upload .sl-close:hover { + background-color: #edebe9 + } + +.slide-upload .header{ + margin: 34px 20px 20px +} + +.scroll-slide-upload{ + width: 100%; + height: calc(100% - 139px); + overflow: hidden; +} +.scroll-slide-upload .scroll-content{ + padding: 0 20px +} +.scroll-slide-upload .item:not(:first-child){ + margin-top: 20px +} + +.text-infor { + font-size: .75rem; + color: #17a2b8 +} + +.text-infor.ellipsis{ + max-width: 170px +} + + .c-text .atg { + font-size: 1rem; + color: #919899 + } + +.c-progress { + height: 2px; + position: relative; + background-color: #f4f4f4; +} + + .c-progress .value { + position: absolute; + top: 0; + bottom: 0; + transition: width 200ms cubic-bezier(.1,.9,.2,1); + transition: background-color .35s ease-in; + left: 0; + background-color: #0078d4; + } + +.upl-des { + font-size: .72rem; + color: #919899 +} \ No newline at end of file diff --git a/ManagementApp/wwwroot/css/atg-lib/datepicker.css b/ManagementApp/wwwroot/css/atg-lib/datepicker.css new file mode 100644 index 0000000..593ba9d --- /dev/null +++ b/ManagementApp/wwwroot/css/atg-lib/datepicker.css @@ -0,0 +1,778 @@ +.air-datepicker-cell.-year-.-other-decade-, .air-datepicker-cell.-day-.-other-month- { + color: var(--adp-color-other-month) +} + + .air-datepicker-cell.-year-.-other-decade-:hover, .air-datepicker-cell.-day-.-other-month-:hover { + color: var(--adp-color-other-month-hover) + } + +.-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-disabled-.-focus-.air-datepicker-cell.-day-.-other-month- { + color: var(--adp-color-other-month) +} + +.-selected-.air-datepicker-cell.-year-.-other-decade-, .-selected-.air-datepicker-cell.-day-.-other-month- { + color: #fff; + background: var(--adp-background-color-selected-other-month) +} + +.-selected-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-selected-.-focus-.air-datepicker-cell.-day-.-other-month- { + background: var(--adp-background-color-selected-other-month-focused) +} + +.-in-range-.air-datepicker-cell.-year-.-other-decade-, .-in-range-.air-datepicker-cell.-day-.-other-month- { + background-color: var(--adp-background-color-in-range); + color: var(--adp-color) +} + +.-in-range-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-in-range-.-focus-.air-datepicker-cell.-day-.-other-month- { + background-color: var(--adp-background-color-in-range-focused) +} + +.air-datepicker-cell.-year-.-other-decade-:empty, .air-datepicker-cell.-day-.-other-month-:empty { + background: none; + border: none +} + +.air-datepicker-cell { + border-radius: var(--adp-cell-border-radius); + box-sizing: border-box; + cursor: pointer; + display: flex; + position: relative; + align-items: center; + justify-content: center; + z-index: 1 +} + + .air-datepicker-cell.-focus- { + background: var(--adp-cell-background-color-hover) + } + + .air-datepicker-cell.-current- { + color: var(--adp-color-current-date) + } + + .air-datepicker-cell.-current-.-focus- { + color: var(--adp-color) + } + + .air-datepicker-cell.-current-.-in-range- { + color: var(--adp-color-current-date) + } + + .air-datepicker-cell.-disabled- { + cursor: default; + color: var(--adp-color-disabled) + } + + .air-datepicker-cell.-disabled-.-focus- { + color: var(--adp-color-disabled) + } + + .air-datepicker-cell.-disabled-.-in-range- { + color: var(--adp-color-disabled-in-range) + } + + .air-datepicker-cell.-disabled-.-current-.-focus- { + color: var(--adp-color-disabled) + } + + .air-datepicker-cell.-in-range- { + background: var(--adp-cell-background-color-in-range); + border-radius: 0 + } + + .air-datepicker-cell.-in-range-:hover { + background: var(--adp-cell-background-color-in-range-hover) + } + + .air-datepicker-cell.-range-from- { + border: 1px solid var(--adp-cell-border-color-in-range); + background-color: var(--adp-cell-background-color-in-range); + border-radius: var(--adp-cell-border-radius) 0 0 var(--adp-cell-border-radius) + } + + .air-datepicker-cell.-range-to- { + border: 1px solid var(--adp-cell-border-color-in-range); + background-color: var(--adp-cell-background-color-in-range); + border-radius: 0 var(--adp-cell-border-radius) var(--adp-cell-border-radius) 0 + } + + .air-datepicker-cell.-range-to-.-range-from- { + border-radius: var(--adp-cell-border-radius) + } + + .air-datepicker-cell.-selected- { + color: #fff; + border: none; + background: var(--adp-cell-background-color-selected) + } + + .air-datepicker-cell.-selected-.-current- { + color: #fff; + background: var(--adp-cell-background-color-selected) + } + + .air-datepicker-cell.-selected-.-focus- { + background: var(--adp-cell-background-color-selected-hover) + } + +.air-datepicker-body { + transition: all var(--adp-transition-duration) var(--adp-transition-ease) +} + + .air-datepicker-body.-hidden- { + display: none + } + +.air-datepicker-body--day-names { + display: grid; + grid-template-columns: repeat(7, var(--adp-day-cell-width)); + margin: 8px 0 3px +} + +.air-datepicker-body--day-name { + color: var(--adp-day-name-color); + display: flex; + align-items: center; + justify-content: center; + flex: 1; + text-align: center; + text-transform: uppercase; + font-size: .8em +} + + .air-datepicker-body--day-name.-clickable- { + cursor: pointer + } + + .air-datepicker-body--day-name.-clickable-:hover { + color: var(--adp-day-name-color-hover) + } + +.air-datepicker-body--cells { + display: grid +} + + .air-datepicker-body--cells.-days- { + grid-template-columns: repeat(7, var(--adp-day-cell-width)); + grid-auto-rows: var(--adp-day-cell-height) + } + + .air-datepicker-body--cells.-months- { + grid-template-columns: repeat(3, 1fr); + grid-auto-rows: var(--adp-month-cell-height) + } + + .air-datepicker-body--cells.-years- { + grid-template-columns: repeat(4, 1fr); + grid-auto-rows: var(--adp-year-cell-height) + } + +.air-datepicker-nav { + display: flex; + justify-content: space-between; + border-bottom: 1px solid var(--adp-border-color-inner); + min-height: var(--adp-nav-height); + padding: var(--adp-padding); + box-sizing: content-box +} + +.-only-timepicker- .air-datepicker-nav { + display: none +} + +.air-datepicker-nav--title, .air-datepicker-nav--action { + display: flex; + cursor: pointer; + align-items: center; + justify-content: center +} + +.air-datepicker-nav--action { + width: var(--adp-nav-action-size); + border-radius: var(--adp-border-radius); + -webkit-user-select: none; + -moz-user-select: none; + user-select: none +} + + .air-datepicker-nav--action:hover { + background: var(--adp-background-color-hover) + } + + .air-datepicker-nav--action:active { + background: var(--adp-background-color-active) + } + + .air-datepicker-nav--action.-disabled- { + visibility: hidden + } + + .air-datepicker-nav--action svg { + width: 32px; + height: 32px + } + + .air-datepicker-nav--action path { + fill: none; + stroke: var(--adp-nav-arrow-color); + stroke-width: 2px + } + +.air-datepicker-nav--title { + border-radius: var(--adp-border-radius); + padding: 0 8px +} + + .air-datepicker-nav--title i { + font-style: normal; + color: var(--adp-nav-color-secondary); + margin-left: .3em + } + + .air-datepicker-nav--title:hover { + background: var(--adp-background-color-hover) + } + + .air-datepicker-nav--title:active { + background: var(--adp-background-color-active) + } + + .air-datepicker-nav--title.-disabled- { + cursor: default; + background: none + } + +.air-datepicker-buttons { + display: grid; + grid-auto-columns: 1fr; + grid-auto-flow: column +} + +.air-datepicker-button { + display: inline-flex; + color: var(--adp-btn-color); + border-radius: var(--adp-btn-border-radius); + cursor: pointer; + height: var(--adp-btn-height); + border: none; + background: rgba(255,255,255,0) +} + + .air-datepicker-button:hover { + color: var(--adp-btn-color-hover); + background: var(--adp-btn-background-color-hover) + } + + .air-datepicker-button:focus { + color: var(--adp-btn-color-hover); + background: var(--adp-btn-background-color-hover); + outline: none + } + + .air-datepicker-button:active { + background: var(--adp-btn-background-color-active) + } + + .air-datepicker-button span { + outline: none; + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 100% + } + +.air-datepicker-time { + display: grid; + grid-template-columns: max-content 1fr; + grid-column-gap: 12px; + align-items: center; + position: relative; + padding: 0 var(--adp-time-padding-inner) +} + +.-only-timepicker- .air-datepicker-time { + border-top: none +} + +.air-datepicker-time--current { + display: flex; + align-items: center; + flex: 1; + font-size: 14px; + text-align: center +} + +.air-datepicker-time--current-colon { + margin: 0 2px 3px; + line-height: 1 +} + +.air-datepicker-time--current-hours, .air-datepicker-time--current-minutes { + line-height: 1; + font-size: 19px; + font-family: "Century Gothic",CenturyGothic,AppleGothic,sans-serif; + position: relative; + z-index: 1 +} + + .air-datepicker-time--current-hours:after, .air-datepicker-time--current-minutes:after { + content: ""; + background: var(--adp-background-color-hover); + border-radius: var(--adp-border-radius); + position: absolute; + left: -2px; + top: -3px; + right: -2px; + bottom: -2px; + z-index: -1; + opacity: 0 + } + + .air-datepicker-time--current-hours.-focus-:after, .air-datepicker-time--current-minutes.-focus-:after { + opacity: 1 + } + +.air-datepicker-time--current-ampm { + text-transform: uppercase; + align-self: flex-end; + color: var(--adp-time-day-period-color); + margin-left: 6px; + font-size: 11px; + margin-bottom: 1px +} + +.air-datepicker-time--row { + display: flex; + align-items: center; + font-size: 11px; + height: 17px; + background: linear-gradient(to right, var(--adp-time-track-color), var(--adp-time-track-color)) left 50%/100% var(--adp-time-track-height) no-repeat +} + + .air-datepicker-time--row:first-child { + margin-bottom: 4px + } + + .air-datepicker-time--row input[type=range] { + background: none; + cursor: pointer; + flex: 1; + height: 100%; + width: 100%; + padding: 0; + margin: 0; + -webkit-appearance: none + } + + .air-datepicker-time--row input[type=range]::-webkit-slider-thumb { + -webkit-appearance: none + } + + .air-datepicker-time--row input[type=range]::-ms-tooltip { + display: none + } + + .air-datepicker-time--row input[type=range]:hover::-webkit-slider-thumb { + border-color: var(--adp-time-track-color-hover) + } + + .air-datepicker-time--row input[type=range]:hover::-moz-range-thumb { + border-color: var(--adp-time-track-color-hover) + } + + .air-datepicker-time--row input[type=range]:hover::-ms-thumb { + border-color: var(--adp-time-track-color-hover) + } + + .air-datepicker-time--row input[type=range]:focus { + outline: none + } + + .air-datepicker-time--row input[type=range]:focus::-webkit-slider-thumb { + background: var(--adp-cell-background-color-selected); + border-color: var(--adp-cell-background-color-selected) + } + + .air-datepicker-time--row input[type=range]:focus::-moz-range-thumb { + background: var(--adp-cell-background-color-selected); + border-color: var(--adp-cell-background-color-selected) + } + + .air-datepicker-time--row input[type=range]:focus::-ms-thumb { + background: var(--adp-cell-background-color-selected); + border-color: var(--adp-cell-background-color-selected) + } + + .air-datepicker-time--row input[type=range]::-webkit-slider-thumb { + box-sizing: border-box; + height: 12px; + width: 12px; + border-radius: 3px; + border: 1px solid var(--adp-time-track-color); + background: #fff; + cursor: pointer; + -webkit-transition: background var(--adp-transition-duration); + transition: background var(--adp-transition-duration) + } + + .air-datepicker-time--row input[type=range]::-moz-range-thumb { + box-sizing: border-box; + height: 12px; + width: 12px; + border-radius: 3px; + border: 1px solid var(--adp-time-track-color); + background: #fff; + cursor: pointer; + -moz-transition: background var(--adp-transition-duration); + transition: background var(--adp-transition-duration) + } + + .air-datepicker-time--row input[type=range]::-ms-thumb { + box-sizing: border-box; + height: 12px; + width: 12px; + border-radius: 3px; + border: 1px solid var(--adp-time-track-color); + background: #fff; + cursor: pointer; + -ms-transition: background var(--adp-transition-duration); + transition: background var(--adp-transition-duration) + } + + .air-datepicker-time--row input[type=range]::-webkit-slider-thumb { + margin-top: calc(var(--adp-time-thumb-size)/2*-1) + } + + .air-datepicker-time--row input[type=range]::-webkit-slider-runnable-track { + border: none; + height: var(--adp-time-track-height); + cursor: pointer; + color: rgba(0,0,0,0); + background: rgba(0,0,0,0) + } + + .air-datepicker-time--row input[type=range]::-moz-range-track { + border: none; + height: var(--adp-time-track-height); + cursor: pointer; + color: rgba(0,0,0,0); + background: rgba(0,0,0,0) + } + + .air-datepicker-time--row input[type=range]::-ms-track { + border: none; + height: var(--adp-time-track-height); + cursor: pointer; + color: rgba(0,0,0,0); + background: rgba(0,0,0,0) + } + + .air-datepicker-time--row input[type=range]::-ms-fill-lower { + background: rgba(0,0,0,0) + } + + .air-datepicker-time--row input[type=range]::-ms-fill-upper { + background: rgba(0,0,0,0) + } + +.air-datepicker { + --adp-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --adp-font-size: 14px; + --adp-width: 246px; + --adp-z-index: 100; + --adp-padding: 4px; + --adp-grid-areas: "nav" "body" "timepicker" "buttons"; + --adp-transition-duration: .3s; + --adp-transition-ease: ease-out; + --adp-transition-offset: 8px; + --adp-background-color: #fff; + --adp-background-color-hover: #f0f0f0; + --adp-background-color-active: #eaeaea; + --adp-background-color-in-range: rgba(92, 196, 239, .1); + --adp-background-color-in-range-focused: rgba(92, 196, 239, .2); + --adp-background-color-selected-other-month-focused: #8ad5f4; + --adp-background-color-selected-other-month: #a2ddf6; + --adp-color: #4a4a4a; + --adp-color-secondary: #9c9c9c; + --adp-accent-color: #4eb5e6; + --adp-color-current-date: var(--adp-accent-color); + --adp-color-other-month: #dedede; + --adp-color-disabled: #aeaeae; + --adp-color-disabled-in-range: #939393; + --adp-color-other-month-hover: #c5c5c5; + --adp-border-color: #dbdbdb; + --adp-border-color-inner: #efefef; + --adp-border-radius: 4px; + --adp-border-color-inline: #d7d7d7; + --adp-nav-height: 32px; + --adp-nav-arrow-color: var(--adp-color-secondary); + --adp-nav-action-size: 32px; + --adp-nav-color-secondary: var(--adp-color-secondary); + --adp-day-name-color: #ff9a19; + --adp-day-name-color-hover: #8ad5f4; + --adp-day-cell-width: 1fr; + --adp-day-cell-height: 32px; + --adp-month-cell-height: 42px; + --adp-year-cell-height: 56px; + --adp-pointer-size: 10px; + --adp-poiner-border-radius: 2px; + --adp-pointer-offset: 14px; + --adp-cell-border-radius: 4px; + --adp-cell-background-color-hover: var(--adp-background-color-hover); + --adp-cell-background-color-selected: #5cc4ef; + --adp-cell-background-color-selected-hover: #45bced; + --adp-cell-background-color-in-range: rgba(92, 196, 239, 0.1); + --adp-cell-background-color-in-range-hover: rgba(92, 196, 239, 0.2); + --adp-cell-border-color-in-range: var(--adp-cell-background-color-selected); + --adp-btn-height: 32px; + --adp-btn-color: var(--adp-accent-color); + --adp-btn-color-hover: var(--adp-color); + --adp-btn-border-radius: var(--adp-border-radius); + --adp-btn-background-color-hover: var(--adp-background-color-hover); + --adp-btn-background-color-active: var(--adp-background-color-active); + --adp-time-track-height: 1px; + --adp-time-track-color: #dedede; + --adp-time-track-color-hover: #b1b1b1; + --adp-time-thumb-size: 12px; + --adp-time-padding-inner: 10px; + --adp-time-day-period-color: var(--adp-color-secondary); + --adp-mobile-font-size: 16px; + --adp-mobile-nav-height: 40px; + --adp-mobile-width: 320px; + --adp-mobile-day-cell-height: 38px; + --adp-mobile-month-cell-height: 48px; + --adp-mobile-year-cell-height: 64px +} + +.air-datepicker-overlay { + --adp-overlay-background-color: rgba(0, 0, 0, .3); + --adp-overlay-transition-duration: .3s; + --adp-overlay-transition-ease: ease-out; + --adp-overlay-z-index: 99 +} + +.air-datepicker { + background: var(--adp-background-color); + border: 1px solid var(--adp-border-color); + box-shadow: 0 4px 12px rgba(0,0,0,.15); + border-radius: var(--adp-border-radius); + box-sizing: content-box; + display: grid; + grid-template-columns: 1fr; + grid-template-rows: repeat(4, max-content); + grid-template-areas: var(--adp-grid-areas); + font-family: var(--adp-font-family),sans-serif; + font-size: var(--adp-font-size); + color: var(--adp-color); + width: var(--adp-width); + position: absolute; + transition: opacity var(--adp-transition-duration) var(--adp-transition-ease),transform var(--adp-transition-duration) var(--adp-transition-ease); + z-index: var(--adp-z-index) +} + + .air-datepicker:not(.-custom-position-) { + opacity: 0 + } + + .air-datepicker.-from-top- { + transform: translateY(calc(var(--adp-transition-offset) * -1)) + } + + .air-datepicker.-from-right- { + transform: translateX(var(--adp-transition-offset)) + } + + .air-datepicker.-from-bottom- { + transform: translateY(var(--adp-transition-offset)) + } + + .air-datepicker.-from-left- { + transform: translateX(calc(var(--adp-transition-offset) * -1)) + } + + .air-datepicker.-active-:not(.-custom-position-) { + transform: translate(0, 0); + opacity: 1 + } + + .air-datepicker.-active-.-custom-position- { + transition: none + } + + .air-datepicker.-inline- { + border-color: var(--adp-border-color-inline); + box-shadow: none; + position: static; + left: auto; + right: auto; + opacity: 1; + transform: none + } + + .air-datepicker.-inline- .air-datepicker--pointer { + display: none + } + + .air-datepicker.-is-mobile- { + --adp-font-size: var(--adp-mobile-font-size); + --adp-day-cell-height: var(--adp-mobile-day-cell-height); + --adp-month-cell-height: var(--adp-mobile-month-cell-height); + --adp-year-cell-height: var(--adp-mobile-year-cell-height); + --adp-nav-height: var(--adp-mobile-nav-height); + --adp-nav-action-size: var(--adp-mobile-nav-height); + position: fixed; + width: var(--adp-mobile-width); + border: none + } + + .air-datepicker.-is-mobile- * { + -webkit-tap-highlight-color: rgba(0,0,0,0) + } + + .air-datepicker.-is-mobile- .air-datepicker--pointer { + display: none + } + + .air-datepicker.-is-mobile-:not(.-custom-position-) { + transform: translate(-50%, calc(-50% + var(--adp-transition-offset))) + } + + .air-datepicker.-is-mobile-.-active-:not(.-custom-position-) { + transform: translate(-50%, -50%) + } + + .air-datepicker.-custom-position- { + transition: none + } + +.air-datepicker-global-container { + position: absolute; + left: 0; + top: 0 +} + +.air-datepicker--pointer { + --pointer-half-size: calc(var(--adp-pointer-size) / 2); + position: absolute; + width: var(--adp-pointer-size); + height: var(--adp-pointer-size); + z-index: -1 +} + + .air-datepicker--pointer:after { + content: ""; + position: absolute; + background: #fff; + border-top: 1px solid var(--adp-border-color-inline); + border-right: 1px solid var(--adp-border-color-inline); + border-top-right-radius: var(--adp-poiner-border-radius); + width: var(--adp-pointer-size); + height: var(--adp-pointer-size); + box-sizing: border-box + } + +.-top-left- .air-datepicker--pointer, .-top-center- .air-datepicker--pointer, .-top-right- .air-datepicker--pointer, [data-popper-placement^=top] .air-datepicker--pointer { + top: calc(100% - var(--pointer-half-size) + 1px) +} + + .-top-left- .air-datepicker--pointer:after, .-top-center- .air-datepicker--pointer:after, .-top-right- .air-datepicker--pointer:after, [data-popper-placement^=top] .air-datepicker--pointer:after { + transform: rotate(135deg) + } + +.-right-top- .air-datepicker--pointer, .-right-center- .air-datepicker--pointer, .-right-bottom- .air-datepicker--pointer, [data-popper-placement^=right] .air-datepicker--pointer { + right: calc(100% - var(--pointer-half-size) + 1px) +} + + .-right-top- .air-datepicker--pointer:after, .-right-center- .air-datepicker--pointer:after, .-right-bottom- .air-datepicker--pointer:after, [data-popper-placement^=right] .air-datepicker--pointer:after { + transform: rotate(225deg) + } + +.-bottom-left- .air-datepicker--pointer, .-bottom-center- .air-datepicker--pointer, .-bottom-right- .air-datepicker--pointer, [data-popper-placement^=bottom] .air-datepicker--pointer { + bottom: calc(100% - var(--pointer-half-size) + 1px) +} + + .-bottom-left- .air-datepicker--pointer:after, .-bottom-center- .air-datepicker--pointer:after, .-bottom-right- .air-datepicker--pointer:after, [data-popper-placement^=bottom] .air-datepicker--pointer:after { + transform: rotate(315deg) + } + +.-left-top- .air-datepicker--pointer, .-left-center- .air-datepicker--pointer, .-left-bottom- .air-datepicker--pointer, [data-popper-placement^=left] .air-datepicker--pointer { + left: calc(100% - var(--pointer-half-size) + 1px) +} + + .-left-top- .air-datepicker--pointer:after, .-left-center- .air-datepicker--pointer:after, .-left-bottom- .air-datepicker--pointer:after, [data-popper-placement^=left] .air-datepicker--pointer:after { + transform: rotate(45deg) + } + +.-top-left- .air-datepicker--pointer, .-bottom-left- .air-datepicker--pointer { + left: var(--adp-pointer-offset) +} + +.-top-right- .air-datepicker--pointer, .-bottom-right- .air-datepicker--pointer { + right: var(--adp-pointer-offset) +} + +.-top-center- .air-datepicker--pointer, .-bottom-center- .air-datepicker--pointer { + left: calc(50% - var(--adp-pointer-size)/2) +} + +.-left-top- .air-datepicker--pointer, .-right-top- .air-datepicker--pointer { + top: var(--adp-pointer-offset) +} + +.-left-bottom- .air-datepicker--pointer, .-right-bottom- .air-datepicker--pointer { + bottom: var(--adp-pointer-offset) +} + +.-left-center- .air-datepicker--pointer, .-right-center- .air-datepicker--pointer { + top: calc(50% - var(--adp-pointer-size)/2) +} + +.air-datepicker--navigation { + grid-area: nav +} + +.air-datepicker--content { + box-sizing: content-box; + padding: var(--adp-padding); + grid-area: body +} + +.-only-timepicker- .air-datepicker--content { + display: none +} + +.air-datepicker--time { + grid-area: timepicker +} + +.air-datepicker--buttons { + grid-area: buttons +} + +.air-datepicker--buttons, .air-datepicker--time { + padding: var(--adp-padding); + border-top: 1px solid var(--adp-border-color-inner) +} + +.air-datepicker-overlay { + position: fixed; + background: var(--adp-overlay-background-color); + left: 0; + top: 0; + width: 0; + height: 0; + opacity: 0; + transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),left 0s,height 0s,width 0s; + transition-delay: 0s,var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration); + z-index: var(--adp-overlay-z-index) +} + + .air-datepicker-overlay.-active- { + opacity: 1; + width: 100%; + height: 100%; + transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),height 0s,width 0s + } diff --git a/ManagementApp/wwwroot/css/atg-lib/swiper-bundle.min.css b/ManagementApp/wwwroot/css/atg-lib/swiper-bundle.min.css new file mode 100644 index 0000000..1481352 --- /dev/null +++ b/ManagementApp/wwwroot/css/atg-lib/swiper-bundle.min.css @@ -0,0 +1,13 @@ +/** + * Swiper 11.1.0 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2024 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: March 28, 2024 + */ + +@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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.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%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.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(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(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-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-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>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-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-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden} \ No newline at end of file diff --git a/ManagementApp/wwwroot/css/atg-lib/waves.min.css b/ManagementApp/wwwroot/css/atg-lib/waves.min.css new file mode 100644 index 0000000..8dd7658 --- /dev/null +++ b/ManagementApp/wwwroot/css/atg-lib/waves.min.css @@ -0,0 +1,7 @@ +/*! + * Waves v0.7.6 + * http://fian.my.id/Waves + * + * Copyright 2014-2018 Alfiana E. Sibuea and other contributors + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background:rgba(0,0,0,.2);background:-webkit-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-o-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;-o-transition-property:-o-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);-moz-transform:scale(0) translate(0,0);-ms-transform:scale(0) translate(0,0);-o-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.4);background:-webkit-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%)}.waves-effect.waves-classic .waves-ripple{background:rgba(0,0,0,.2)}.waves-effect.waves-classic.waves-light .waves-ripple{background:rgba(255,255,255,.4)}.waves-notransition{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.waves-button,.waves-button-input,.waves-button:hover,.waves-button:visited{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;color:inherit;background-color:rgba(0,0,0,0);font-size:1em;line-height:1em;text-align:center;text-decoration:none;z-index:1}.waves-button{padding:.85em 1.1em;border-radius:.2em}.waves-button-input{margin:0;padding:.85em 1.1em}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);-webkit-transition:all .3s;-moz-transition:all .3s;-o-transition:all .3s;transition:all .3s}.waves-float:active{-webkit-box-shadow:0 8px 20px 1px rgba(0,0,0,.3);box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.waves-block{display:block} \ No newline at end of file diff --git a/ManagementApp/wwwroot/css/atg-ui/atg-gui.css b/ManagementApp/wwwroot/css/atg-ui/atg-gui.css new file mode 100644 index 0000000..b9226ef --- /dev/null +++ b/ManagementApp/wwwroot/css/atg-ui/atg-gui.css @@ -0,0 +1,380 @@ +/*Scrollbar*/ +[data-scrollbar], [scrollbar], scrollbar { + display: block; + position: relative +} + +/*Overlay*/ +.c-overlay { + position: fixed; + z-index: 12; + top: 0; + left: 0; + bottom: 0; + right: 0; + opacity: 0; + transition: all ease-in-out .4s; + background: rgb(86 83 96 / 0.32) +} + + .c-overlay.show { + opacity: 1 + } + +.form-group { + margin-bottom: 10px; + padding: 0 20px +} + + .form-group label { + font-size: .8rem; + margin-bottom: 5px + } + + .form-group .invalid, .form-group .invalid:focus { + border-color: #ea5455; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ea5455'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23ea5455' stroke='none'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-size: 20px; + background-position: right 0.4rem center + } + + .form-group input:disabled { + background-color: #efefef + } + + .form-group > .input-custom { + border: 1px solid #d8d6de; + border-radius: .357rem; + -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out + } + + .form-group > .input-custom input { + border: none !important + } + + .form-group > .input-custom:focus-within .input-append.right, .form-group > .input-custom:focus-within .input-append.left { + border-color: #7367f0 + } + + .form-group .minus, .form-group .plus { + cursor: pointer + } + + .form-group > .input-custom .input-append { + padding: .438rem 1rem; + margin-bottom: 0; + text-align: center; + background-color: #fff; + border-radius: .357rem; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out + } + + .form-group > .input-custom .input-append.right { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left: 1px solid #d8d6de + } + + .form-group > .input-custom .input-append.left { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: 1px solid #d8d6de + } + + .form-group input, .form-group .aselect, .form-group textarea { + font-size: .85rem; + width: 100%; + cursor: text; + padding: 8px 25px 8px 15px; + height: 38px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #d8d6de; + border-radius: .357rem; + -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out + } + + .form-group textarea { + height: auto !important; + resize: none + } + +.custom-checkbox { + min-height: 18px; + padding-left: 25px; + margin-right: 20px; +} + + .custom-checkbox input[type=checkbox]:checked ~ .a-checkbox-label:before { + box-shadow: 0 2px 4px 0 rgba(115,103,240,.4) !important; + border-color: #7367f0; + background-color: #7367f0; + } + +input[type=checkbox] { + width: 18px; + height: 18px; + top: 50%; + transform: translateY(-50%); + padding: 0; + left: 0; + margin: 0; + position: absolute; + z-index: -1; + opacity: 0 +} + +.a-checkbox-label { + position: static; + display: block; + margin: 0 !important +} + + .a-checkbox-label::before { + background-color: #fff; + border: 1px solid #d8d6de; + top: 50%; + transform: translateY(-50%); + } + + .a-checkbox-label::before, .a-checkbox-label::after { + position: absolute; + display: block; + content: ''; + left: 0; + border-radius: 3px; + width: 18px; + height: 18px + } + + .a-checkbox-label::after { + background: no-repeat 50%/50% 50%; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); + background-size: 57%; + } + +/*ASelect*/ +.con-aselect .hide { + overflow: hidden; + height: 0px !important +} + + .con-aselect .hide select:empty { + display: none; + } + +.aselect { + background: #fff !important; + cursor: pointer !important +} + + .aselect .icon { + position: absolute; + right: 8px; + top: 50%; + transform: translateY(-50%); + transition: .3s all ease-in-out; + color: #6e6b7b + } + + +.con-aselect.active > .aselect > .icon { + transform: translateY(-50%) rotate(180deg) +} + + +.a-s-sub { + margin-top: 10px; + max-height: 250px +} + + .a-s-sub .a-search { + padding: 10px + } + + .a-s-sub .noitem { + font-size: .85rem; + padding: 10px 15px + } + + .a-s-sub .a-search input:focus { + border-color: #6e6b7b + } + + .a-s-sub .a-option { + font-size: .85rem; + padding: 10px 15px; + cursor: default; + transition: all .3s ease-in-out + } + + .a-s-sub .a-option-group { + padding: 10px 15px; + font-weight: 600; + cursor: default + } + +.a-option-group ~ .a-option { + padding-left: 25px !important +} + +.a-s-sub .a-option:hover { + color: #7367f0; + background: #eeedfd +} + +.a-s-sub .a-option.active { + color: white; + background: #7367f0 +} + +.invalid-feedback { + display: none; + font-size: .85rem; + color: #ea5455; +} +/*From Dropdonw*/ + + +/*Text*/ +.dt, .dd { + padding: 0 20px; + font-size: .85rem; + line-height: 1.45 +} + +.dd { + color: #6e6b7b +} + +.dt { + font-weight: 500; + color: #6e6b7b +} +/*Table*/ +.c-table { + width: 100% +} + +.c-ta-c { + box-shadow: 0 0px 20px 0px rgb(0 0 0 / 15%); + border-radius: 10px; +} +/*@media not all and (min-resolution:.001dpcm) { + @supports (-webkit-appearance:none) { + .c-ta-c { + -webkit-mask-image: -webkit-radial-gradient(white, black); + } + } +}*/ +.c-ta-scroll { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + overflow: hidden; + height: auto !important; + width: 100%; + border-radius: 10px; +} + +.a-table { + border-radius: 10px; + width: 100%; + border-collapse: collapse; + color: #6e6b7b +} + + + .a-table th { + color: #fff; + background-color: #36304a; + padding: 20px 10px 20px; + font-size: .85rem; + text-transform: capitalize; + letter-spacing: .5px + } + + .a-table th:first-child, .a-table td:first-child { + padding-left: 25px !important + } + + + .a-table tbody tr:nth-child(even) { + background: #f8f6ff + } + + .a-table td { + color: #808080; + padding: 16px 10px 16px 10px; + } +/*Paging*/ +.paging { + margin: 15px 0 +} + + .paging .item { + height: 32px; + width: 32px; + color: #6e6b7b; + border-radius: 50%; + background-color: #f3f2f7; + transition: all .3s ease-in-out + } + + .paging .item.active { + font-weight: 400; + color: #fff; + background-color: #7367f0 !important + } + +.c-page-link { + height: 32px; + border-radius: 32px; + background-color: #f3f2f7; +} + +.paging .item:hover { + color: #fff; + background-color: #7367f0 !important +} + +.item-less { + margin-right: 10px +} + +.item-more { + margin-left: 10px +} + +.c-table .inpNum { + width: 40px; + padding: 8px 10px; + margin: 15px 8px +} + +/*A Overlay*/ +.c-aoverlay { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 12; + opacity: 0; + visibility: hidden; + transition: all ease-out .5s +} + + .c-aoverlay.show { + opacity: 1; + visibility: visible; + background: rgb(86 83 96 / 0.32) + } diff --git a/ManagementApp/wwwroot/css/atg-ui/table.css b/ManagementApp/wwwroot/css/atg-ui/table.css new file mode 100644 index 0000000..d2c1d99 --- /dev/null +++ b/ManagementApp/wwwroot/css/atg-ui/table.css @@ -0,0 +1,171 @@ +/*Table*/ + +.abs-pContainer { + user-select: none; + width: 100%; +/* box-shadow: 0 0px 20px 0px rgb(0 0 0 / 15%); +*/ border-radius: 10px; +} + .abs-pContainer [data-scrollbar]{ + height: 100%!important; + } + /*@media not all and (min-resolution:.001dpcm) { + @supports (-webkit-appearance:none) { + .c-ta-c { + -webkit-mask-image: -webkit-radial-gradient(white, black); + } + } +}*/ + .atable-scroll { + width: 100% !important + } + +.abs-scrollbar { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -webkit-transform: translate3d(0, 0, 0); + height: auto !important; + width: 100%; + border-radius: 10px; +} + +.abs-table { + width: 100%; + border-collapse: collapse; +} +.abs-pContainer .scrollbar-thumb { + background: #ccc !important +} +.abs-table { + border-radius: 10px; + color: #6e6b7b +} +.abs-table th { + color: #fff; + background-color: #36304a; + padding: 20px 10px 20px; + font-size: .9rem; + font-weight: 500; + text-transform: capitalize; + letter-spacing: .5px + } + + .abs-table th:first-child, [data-style="default"] .abs-table td:first-child { + padding-left: 25px !important + } + + + .abs-table tbody tr:nth-child(even) { + background: #f8f6ff + } + + .abs-table td { + font-size: .82rem; + text-align: center; + font-weight: 400; + color: #808080; + padding: 8px 15px + } + +.abs-container { + box-shadow: 0 0px 20px 0px rgb(0 0 0 / 15%); + border-radius: 10px; + border: 1px solid #ccc +} +.abs-table { + border-collapse: separate; + border-spacing: 0; +} +.abs-table th:first-child { + padding-left: 25px !important +} + +.abs-table tbody tr:hover td { + background-color: #EBEBEB +} + .abs-table tbody tr.active td { + background-color: rgba(0, 92, 153,.1); + border-top: 1px solid rgba(0, 92, 153,.1); + border-bottom: 1px solid rgba(0, 92, 153,.1); + font-weight: 600; + color: #005c99 + } + + .abs-table tbody tr:hover td:first-child, .abs-table tbody tr.active td:first-child { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; + } + .abs-table tbody tr.active td:first-child { + border-left: 1px solid rgba(0, 92, 153,.1); + } + + .abs-table tbody tr.active td:last-child { + border-right: 1px solid rgba(0, 92, 153,.1); + } + + .abs-table tbody tr:hover td:last-child, .abs-table tbody tr.active td:last-child { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; + } + + + .abs-table tr td:first-child { + padding-left: 15px !important + } + +.paging .btn-primary { + width: 22px; + height: 22px; + color: #005c99; + font-weight: 600; +} + + +.con-paging{ + font-size:.82rem +} + +.paging { + margin: 15px 0 +} + + .paging .item { + height: 30px; + width: 30px; + color: #6e6b7b; + border-radius: 50%; + background-color: #f3f2f7; + text-align: center; + transition: all .3s ease-in-out + } + + .paging .item.active { + font-weight: 400; + color: #fff; + background-color: #7367f0 !important + } + +.c-page-link { + height: 30px; + border-radius: 32px; + background-color: #f3f2f7; +} + +.paging .item:hover { + color: #fff; + background-color: #7367f0 !important +} + +.item-less { + margin-right: 5px +} + +.item-more { + margin-left: 5px +} + +.con-paging .inpNum { + width: 40px; + padding: 8px 10px; + margin: 15px 8px +} diff --git a/ManagementApp/wwwroot/css/site.css b/ManagementApp/wwwroot/css/site.css new file mode 100644 index 0000000..1f3f4d2 --- /dev/null +++ b/ManagementApp/wwwroot/css/site.css @@ -0,0 +1,1292 @@ +:root { + --slider-width: 480px; + --border-radius: 10px; + --btn-color-primary: #7F54B3; + --color-primary-1: #7367f0; + --color-primary: #7367CC; + --color-secondary: #545cd8; + --text-color-primary: #09205c; + --text-color-1: #5e5873; + --text-color-heading-1: #5d596c; + --text-disable: #a5a3ae +} +.pointer:hover{ + cursor: pointer +} +.mini-scrollbar{ + height: calc(100vh - 176px) +} + +.ellipsis { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden +} +html { + font-size: 18px; + font-weight: 500; +} +/*Control*/ +[data-dropdown]:not(.nav-i) .sub-item { + border-radius: var(--border-radius); + overflow: hidden; + position: fixed; + background: #fff; + opacity: .6; + z-index: 10001; + box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%); + height: 0; + transition: height .3s ease-out, opacity .3s ease-out +} + +[data-dropdown] .sub-item.show { + height: auto; + opacity: 1; +} +/*Overlay*/ +.c-overlay { + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + opacity: 0; + transition: all ease-in-out .4s; + background: rgb(86 83 96 / 0.32) +} + + .c-overlay.show { + opacity: 1 + } + +h1, h2, h3, h4, h5, h6 { + font-weight: 600; + color: #5e5873; + margin-bottom: 5px +} + +h5 { + font-size: .82rem +} + +h4 { + font-size: 1rem +} + +.font-small { + font-size: .75rem; + font-weight: 400 +} + + +header { + border-top-right-radius: var(--border-radius); + border-bottom-right-radius: var(--border-radius); + position: fixed; + width: 280px; + background: white; + -webkit-box-shadow: 0 0 15px 0 rgb(34 41 47 / 5%); + box-shadow: 0 0 15px 0 rgb(34 41 47 / 5%); + height: 100%; + color: #6e6b7b; + z-index: 2100; + left: -325px; + transition: left ease-in-out .3s; + max-width: 100% +} + + header.show { + left: 0 + } + +.hd-close { + position: absolute; + right: 15px; + top: 15px; + cursor: pointer +} + +.wiget .sub-item .atg { + color: #6e6b7b +} + +.wiget .sub-item a { + padding: 8px 10px +} + + +@media (min-width:576px) { + nav { + width: calc(100% - 70px) !important; + margin: 24px 35px 0 !important + } + + .main-wrapper { + padding: 120px 20px 0 !important + } + + nav .sub-item { + overflow: hidden !important; + position: fixed !important; + background: #fff !important; + box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%) !important; + height: 0 + } +} + +@media (min-width: 768px) { + nav .sub-item { + background: none !important; + box-shadow: none !important; + height: auto !important; + position: relative !important; + overflow: visible !important + } + + .wiget .sub-item .atg { + color: #fff + } +} + +@media (min-width:1200px) { + header { + left: 0 + } + + nav { + width: calc(100% - 350px) !important + } + + .main-wrapper { + margin-left: 280px + } +} + + + +nav { + position: fixed; + top: 0; + right: 0; + width: calc(100% - 24px); + margin: 24px 12px 0; + border-radius: var(--border-radius); + background: var(--color-primary); + color: white; + -webkit-box-shadow: 0 4px 24px 0 rgb(34 41 47 / 10%); + box-shadow: 0 4px 24px 0 rgb(34 41 47 / 10%); + z-index: 12; +} + +.nav-shadow { + background: -webkit-gradient(linear,left top,left bottom,color-stop(44%,hsla(0,0%,97.3%,.95)),color-stop(73%,hsla(0,0%,97.3%,.46)),to(hsla(0,0%,100%,0))); + background: linear-gradient( 180deg,hsla(0,0%,97.3%,.95) 44%,hsla(0,0%,97.3%,.46) 73%,hsla(0,0%,100%,0)); + left: 0; + padding-top: 2.2rem; + display: block; + width: 100%; + height: 102px; + position: fixed; + top: 0; + z-index: 11; +} + +.c-nav { + min-height: calc(100% - 3.35rem); + padding: .8rem 1rem; +} + +.c-logo { + padding: 15px 16px 0; + height: 100px +} + +.logo-name { + font-weight: 500; + font-size: 1.2rem; + color: var(--text-color-primary); +} + +.menu-content { + height: calc(100% - 172px) +} + +.m-footer { + border-top: 1px solid #eee; + font-weight: 500; + padding: 12px 16px; + font-size: 0.8rem; +} + +.nav-overlay { + margin-top: -.7rem; + background: -webkit-gradient(linear,left top,left bottom,color-stop(41%,#fff),color-stop(95%,hsla(0,0%,100%,.11)),to(hsla(0,0%,100%,0))); + background: linear-gradient(#fff 41%,hsla(0,0%,100%,.11) 95%,hsla(0,0%,100%,0)); + position: absolute; + z-index: 2; + height: 50px; + width: 100%; + pointer-events: none; + -webkit-filter: blur(5px); + filter: blur(5px) +} + +.nav-main { + padding-top: 8px; +} + +.nav-header { + margin: 20px 5px 10px 27px; + color: var(--color-primary); + line-height: 1.5; + font-size: .82rem; + font-weight: 600; + letter-spacing: .01rem +} + + +.nav-main .nav-i { + border-radius: var(--border-radius); + position:relative; + background-color: transparent; + color: #565360; + margin: .125rem 12px; + font-size: .85rem; + line-height: 24px; + padding: 10px 15px; + transition: margin ease-in-out .3s, background-color ease-in-out .3s, font-weight .3s ease-in-out +} + + .nav-main .nav-i:hover { + margin-left: 15px + } + +.nav-main > .nav-i:not(.has-sub):hover, .nav-main .sub-item > .nav-i:hover { + background-color: #f8f8f8 +} + + .nav-main .nav-i > .atg { + text-align: center; + font-size: 1.2rem + } +.nav-main .nav-i.has-sub { + padding: 0; + margin: 0 +} + .nav-main .sub-item .nav-i .atg { + text-align: center; + width: 22px; + font-size: .7rem; + line-height: 24px +} + +.nav-main .sub-item > .nav-i { + font-size: .8rem; + margin-left: 30px +} + +.nav-main .sub-item { + overflow: hidden; + height: 0; + background-color: transparent; + transition: height 0.3s ease-out; +} +.nav-main .nav-i.active .sub-item { + padding-bottom: 10px; +} + .nav-main .sub-item.show { + height: auto; + } +.nav-main > .nav-i.active > a { + font-weight: 500; + color: var(--text-color-heading-1); + background-color: #f8f8f8 !important +} +.nav-main .sub-item > .nav-i.active, .nav-main > .nav-i:not(.has-sub).active { + background-position: 50px; + background: linear-gradient( 118deg,#7367f0,rgba(115,103,240,.7)); + -webkit-box-shadow: -2px 3px 10px 1px rgb(115 103 240 / 60%); + box-shadow: -2px 3px 10px 1px rgb(115 103 240 / 60%); + color: #fff +} +.nav-main .sub-item > .nav-i.active, .nav-main > .nav-i.active > a { + border-radius: var(--border-radius); +} + +.more { + cursor:pointer +} + +.active .more span{ + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -ms-transform: rotate(90deg); + -o-transform: rotate(90deg); + transform: rotate(90deg); +} +.more span { + transition: all .3s ease-in; + transform: rotate(0) +} +.more { + position: absolute; + top: 50%; + transform: translateY(-50%); + + right: 15px; + font-size: .7rem; +} + + +.wiget { + font-size: 1.2rem +} + + .wiget a { + position: relative; + padding: 0 10px + } + + .wiget > a:first-child { + padding-left: 0 !important + } + + .wiget a:last-child { + padding-right: 0 !important + } + + .wiget .badge { + border-radius: 50%; + position: absolute; + width: 16px; + height: 16px; + font-size: .45rem; + text-align: center; + line-height: 16px; + font-weight: 600; + background: #ea5455; + color: white; + top: -6px; + right: 4px + } + + .wiget .atg { + color: white + } + +.avatar { + border-radius: 50%; + width: 40px; + height: 40px; + background-color: aliceblue; + overflow: hidden +} + +.c-user { + margin-right: 10px; + font-size: .7rem; + color: white +} + + .c-user span:first-child { + font-weight: 700; + font-size: .8rem + } + +.status { + position: absolute; + width: 11px; + height: 11px; + border: 1px solid white; + border-radius: 50%; + background-color: forestgreen; + z-index: 10; + right: 1px; + bottom: 1px +} + +.c-breadcrumbs { + margin: 0 15px 25px 15px; +} + + .c-breadcrumbs .title { + margin-right: 15px; + font-size: 1.2rem; + font-weight: 600 + } + +.breadcrumbs { + border-left: 1px solid #d6dce1 +} + + .breadcrumbs .icon { + font-size: 1.1rem; + color: #7367f0 + } + + .breadcrumbs .sperate { + line-height: 28px; + font-weight: 500 + } + + .breadcrumbs .item { + line-height: 30px; + margin: 0 10px; + color: #7367f0; + font-weight: 500 + } + + .breadcrumbs .item.active { + font-weight: 400; + color: #6e6b7b + } + +.main-wrapper { + padding-top:120px +} +.card-body .more { + padding: 5px; + right: 0 +} + +.card-body { + border-radius: var(--border-radius); + padding: 20px 20px; + margin: 0 15px 30px 15px; + background: white; + box-shadow: 0 4px 24px 0 rgb(34 41 47 / 10%); + height: calc(100% - 30px) +} + +.card-text { + font-size: .8rem; + margin-bottom: 5px +} + +/**/ +.wizard-nav { + padding: 0 20px 10px 20px; + border-bottom: 1px solid rgba(34,41,47,.08) +} + + .wizard-nav .item { + padding-bottom: 10px + } + + .wizard-nav .item .tab { + color: #b8c2cc; + background-color: rgba(115, 103, 240, 0.08); + border-radius: var(--border-radius); + width: 40px; + height: 40px; + font-weight: 600 + } + + .wizard-nav .item .tab-title { + margin: 0 10px; + font-size: .9rem; + color: #b8c2cc; + font-weight: 600 + } + + .wizard-nav .item .atg { + color: #b8c2cc; + margin-right: 10px + } + + .wizard-nav .item.active .tab { + box-shadow: rgb(105 108 255 / 40%) 0px 3px 6px 0px; + background-color: #7367f0; + color: #fff + } + + .wizard-nav .item.active .tab-title, .wizard-nav .item.active .atg { + color: #7367f0 + } + + .wizard-nav .item:first-child .atg { + display: none + } + + +/*AButton*/ +.loader, +.loader:after { + margin-right: 10px; + border-radius: 50%; + width: 20px; + height: 20px; +} + +.loader { + position: relative; + border-top: 2px solid rgba(255, 255, 255, 0.2); + border-right: 2px solid rgba(255, 255, 255, 0.2); + border-bottom: 2px solid rgba(255, 255, 255, 0.2); + border-left: 2px solid #ffffff; + -webkit-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + -webkit-animation: load8 1.1s infinite linear; + animation: load8 1.1s infinite linear; +} + +@-webkit-keyframes load8 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes load8 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +/*Form Input*/ +.btn { + cursor: pointer; + padding: 10px 20px; + border-radius: var(--border-radius); + font-weight: 400; + font-size: .9rem; + color: white; + transition: all .3s ease-in +} + +.btn-primary:hover { + -webkit-box-shadow: 0 8px 25px -8px #7367f0; + box-shadow: 0 8px 25px -8px #7367f0 +} + +.btn-secondary { + color: #a8aaae; + border-color: rgba(0, 0, 0, 0); + background: #f1f1f2; +} + + .btn-secondary:hover { + background: #eaebec !important; + color: #a8aaae !important; + } + +.btn-warning { + padding:10px 12px; + border-color: #ff9f43 !important; + background-color: #ff9f43 !important +} + + .btn-warning:hover { + box-shadow: 0 8px 25px -8px #ff9f43 + } + +.btn-danger { + padding: 10px 12px; + background-image: linear-gradient( 47deg,#ea5455,#f08182); + background-repeat: repeat +} + + .btn-danger:hover { + background-image: linear-gradient( 15deg,#ea5455,#f08182); + box-shadow: 0 8px 25px -8px #f08182 + } + +.btn.disabled { + background: rgb(64 55 142 / 0.80) !important +} + +.btn-primary { + border-color: #7367f0; + background-color: #7367f0; +} + +[data-style] .form-control { + padding: .438rem 1rem; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #d8d6de; + border-radius: var(--border-radius); +} +.form-group-con{ + margin: 0 -20px +} +[data-style] .form-control:focus, .form-group input:focus, .con-aselect.active .aselect, .form-group > .input-custom:focus-within { + background-color: #fff; + border-color: #7367f0; + -webkit-box-shadow: 0 3px 10px 0 rgb(34 41 47 / 10%); + box-shadow: 0 3px 10px 0 rgb(34 41 47 / 10%); +} + .form-group > .input-custom input:focus{ + box-shadow: none !important + } +.form-group label{ + margin-top: 10px; + margin-bottom: 5px +} + +.form-control:focus { + color: #6e6b7b; + outline: 0; +} + +.form-control:hover { + cursor: text; +} + +.form-control { + display: block; + width: 100%; + height: 2.714rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.45; + color: #6e6b7b; + -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; +} + +.form-header, .form-header-1 { + padding: 0 20px +} + +.form-header-1 { + margin-bottom: 30px +} + + .form-header-1 h4 { + margin-top: 25px; + font-weight: 600; + font-size: .9rem + } + + .form-header-1 .des { + color: #b9b9c3; + font-weight: 400; + font-size: .85rem + } + + +.form-group { + margin-bottom: 10px; + padding: 0 20px +} + + .form-group label { + font-size: .8rem; + margin-bottom: 5px + } + + .form-group .invalid, .form-group .invalid:focus { + border-color: #ea5455; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ea5455'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23ea5455' stroke='none'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-size: 20px; + background-position: right 0.4rem center + } + + .form-group input:disabled{ + background-color: #efefef + } + + .form-group > .input-custom { + display: inline-block; + min-height: 38px; + } + .input-custom input { + border-radius: 0 !important; + border: 1px solid #d8d6de; + border-left: none !important; + border-right: none !important; + } + .input-custom span.input-append { + border-radius: 0; + border: 1px solid #d8d6de; + border-right: none; + } + .input-custom > .input-append:hover { + background-color: #f4f3fe; + } + .input-custom:focus-within > .input-append { + transform: scale(1); + } + +.input-custom .input-append:focus + .input-append input, .input-custom:focus-within input { + border-color: var(--color-primary) +} + + .form-group .minus, .form-group .plus { + cursor: pointer + } + .input-custom > .input-append { + box-shadow: none !important; + border-radius: var(--border-radius); + transform: scale(1.001); + } + .input-custom .input-append { + padding: 6px 12px; + margin-bottom: 0; + font-size: .82rem !important; + font-weight: 500; + color: var(--color-primary); + text-align: center; + background-color: #fff; + border-color: var(--color-primary) !important; + transition: all .15s ease-in-out + } + + .input-custom > .input-append.right { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border: 1px solid; + } + + .input-custom > .input-append.left { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border: 1px solid; + } + +.input-custom .input-content { + border-top-left-radius: var(--border-radius); + border-bottom-left-radius: var(--border-radius); + border: 1px solid #d8d6de; + border-right: none !important; + transition:all .3s ease-in-out; +} +.input-custom.active .input-content{ + border-color: var(--color-primary); +} + +.amultitag { + transition: box-shadow .15s ease-in-out +} + .amultitag.active { + box-shadow: 0 3px 10px 0 rgb(34 41 47 / 10%); + } + + .form-group input, .form-group .aselect, .form-group textarea { + font-size: .75rem; + width: 100%; + padding: 8px 25px 8px 15px; + line-height: 18px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #d8d6de; + border-radius: var(--border-radius); + -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out + } + + .form-group textarea { + height: auto !important; + resize: none + } + +.custom-checkbox{ + min-height: 18px; + padding-left: 25px; + margin-right: 20px; +} + + .custom-checkbox input[type=checkbox]:checked ~ .a-checkbox-label:before { + box-shadow: 0 2px 4px 0 rgba(115,103,240,.4) !important; + border-color: #7367f0; + background-color: #7367f0; + } + +input[type=checkbox] { + width: 18px; + height: 18px; + top: 50%; + transform: translateY(-50%); + padding: 0; + left: 0; + margin: 0; + position: absolute; + z-index: -1; + opacity: 0 +} + +.a-checkbox-label { + position: static; + display:block; + margin: 0 !important +} + + .a-checkbox-label::before { + background-color: #fff; + border: 1px solid #d8d6de; + top: 50%; + transform: translateY(-50%); + } + + .a-checkbox-label::before, .a-checkbox-label::after { + position: absolute; + display: block; + content: ''; + left: 0; + border-radius: var(--border-radius); + width: 18px; + height: 18px + } + + .a-checkbox-label::after { + background: no-repeat 50%/50% 50%; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); + background-size: 57%; + } + +/*ASelect*/ +.lock{ + cursor: wait !important; +} +.con-aselect .hide { + overflow: hidden; + height: 0px !important +} + +.con-aselect .hide select:empty{ + display:none; +} + +.aselect { + background: #fff !important; + cursor: pointer +} + + .aselect .icon { + position: absolute; + right: 8px; + top: 50%; + transform: translateY(-50%); + transition: .3s all ease-in-out; + color: #6e6b7b + } + + +.con-aselect.active > .aselect > .icon { + transform: translateY(-50%) rotate(180deg) +} + + +.a-s-sub { + margin-top: 10px; + max-height: 250px +} + + .a-s-sub .a-search { + padding: 10px 10px 0 10px + } + + .a-s-sub .noitem { + font-size: .85rem; + padding: 10px 15px + } + + .a-s-sub .a-search input:focus { + border-color: #6e6b7b + } + + .a-s-sub .a-option { + border-radius: var(--border-radius); + font-size: .82rem; + margin: 1px 10px; + padding: 10px 15px; + cursor: default; + transition: all .3s ease-in-out + } + + .a-s-sub .a-option-group { + padding: 10px 15px; + font-weight: 600; + cursor: default + } + +.a-option-group ~ .a-option { + padding-left: 25px !important +} + +.a-s-sub .a-option:hover, .a-s-sub .a-option.hover { + color: #7367f0; + background: #eeedfd +} +.a-s-sub .a-option.active { + color: white; + background: #7367f0 +} + +.a-s-sub .sub-items{ + padding: 5px 0 +} + +.aselect[ismultiple]{ + padding: 3px 3px 6px 3px; +} +.aselect [item-multiple]{ + margin-right: 25px +} +.aselect [item-multiple] > input.item { + padding: 0; + border-radius: 0; + width: 60%; + color: #6e6b7b; + background-color: transparent; + border-color: transparent; + box-shadow: none; + cursor: text +} + +.aselect [item-multiple] > .item, .aselect[ismultiple] .text { + font-size: .75rem; + padding: 2px 4px 2px 8px; + margin: 5px 5px 0 5px +} + .aselect [item-multiple] > .item { + border-radius: var(--border-radius); + color: white; + background-color: var(--color-primary-1) + } + +.aselect [item-multiple] button{ + border-radius:50%; + width: 16px; + height: 16px; + line-height: 2; +} + +.invalid-feedback { + display: none; + font-size: .85rem; + color: #ea5455; +} +/*From Dropdonw*/ + +/*Loading*/ + +.loader, +.loader:after { + margin-right: 10px; + border-radius: 50%; + width: 20px; + height: 20px; +} + +.loader { + position: relative; + border-top: 2px solid rgba(255, 255, 255, 0.2); + border-right: 2px solid rgba(255, 255, 255, 0.2); + border-bottom: 2px solid rgba(255, 255, 255, 0.2); + border-left: 2px solid #ffffff; + -webkit-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + -webkit-animation: load8 1.1s infinite linear; + animation: load8 1.1s infinite linear; +} + +@-webkit-keyframes load8 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes load8 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +/*End Loading*/ + + +/*Text*/ +.dt, .dd { + padding: 0 20px; + font-size: .85rem; + line-height: 1.45 +} + +.dd { + color: #6e6b7b +} + +.dt { + font-weight: 500; + color: #6e6b7b +} +/*Table*/ +.c-table { + border-radius: var(--border-radius); + overflow:hidden; + width: 100% +} +.c-ta-c { + box-shadow: 0 0px 20px 0px rgb(0 0 0 / 15%); + border-radius: 10px; + +} +/*@media not all and (min-resolution:.001dpcm) { + @supports (-webkit-appearance:none) { + .c-ta-c { + -webkit-mask-image: -webkit-radial-gradient(white, black); + } + } +}*/ +.c-ta-scroll { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + overflow: hidden; + height: auto !important; + width: 100%; + border-radius: 10px; +} + +.a-table { + border-radius: 10px; + width: 100%; + border-collapse: collapse; + color: #6e6b7b +} + + + .a-table th { + color: #fff; + background-color: #36304a; + padding: 20px 10px 20px; + font-size: .85rem; + text-transform: capitalize; + letter-spacing: .5px + } + + .a-table th:first-child, .a-table td:first-child{ + padding-left: 25px !important + } + + + .a-table tbody tr:nth-child(even){ + background: #f8f6ff + } + + .a-table td { + color: #808080; + padding: 16px 10px 16px 10px; + } + +/*A Overlay*/ +.c-aoverlay { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2000; + opacity: 0; + visibility: hidden; + transition: all ease-out .5s +} + + .c-aoverlay.show { + opacity: 1; + visibility: visible; + background: rgb(86 83 96 / 0.32) + } +/*********** End Overlay **********/ + + +/*AModal*/ +.modal-scroll { + position: relative; + width: 100%; + height: 100%; + overflow: hidden; +} +.modal-con{ + margin:auto; +} +.modal-dialog { + position: relative; + background-color: white; + border-radius: var(--border-radius); + box-shadow: 0 .31rem 1.25rem 0 rgba(75, 70, 92, .4); + opacity: .6; + transition: all .3s ease-in-out +} +.modal-con.slider-right { + height: 100%; +} + + .modal-con.slider-right .btClose{ + display:flex; + align-items: center; + justify-content: center; + z-index: 1; + top: 15px; + right: 15px; + width: 25px; + height:25px; + } + + .modal-con.slider-right .modal-dialog { + width: var(--slider-width); + height: 100%; + margin-left: auto; + margin-right: calc(-1 * calc(var(--slider-width) + 10px)); + } + +.c-aoverlay.show .modal-con.slider-right .modal-dialog { + opacity: 1; + + margin-right: 0; +} + +.modal-con.default .modal-dialog { + margin: 0; + padding: 30px 25px; + transform: scale(.2); +} + +.c-aoverlay.show .modal-con.default .modal-dialog { + transform: scale(1); + opacity: 1; + margin: 150px auto; +} + + .modal-dialog .btClose { + position: absolute; + right: -10px; + top: -10px; + background-color: #fff; + border-radius: var(--border-radius); + opacity: 1; + padding: 5px; + box-shadow: 0 .125rem .25rem rgba(165, 163, 174, .3) + } + + .modal-dialog.middle { + position: absolute; + top: 50%; + transform: translateY(-50%) + } +.mess-info{ + font-size: .82rem; + font-weight: 400; + margin: 5px 0; +} + +.mess-success { + color: #28c76f; +} + +.mess-error { + color: #ea5455; +} + +.aslider{ + padding: 60px 40px +} +/***************** End Modal **************/ + +.StorageTabs { + width: calc(100% + 40px) !important; + margin: 0 -20px; +} + +/****************** ATabs ***********************/ +.atabs { + display: inline-flex; + margin: 25px 0; + font-size: .8rem; + font-weight: 500; + border: 1px solid var(--color-primary); + padding: 1px 0; + border-radius: var(--border-radius) +} + + .atabs .item { + border-radius: var(--border-radius); + padding: 8px 20px; + color: var(--text-color-heading-1); + line-height: 2.1; + transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out; + } + + .atabs .item:not([disabled]):not(.active):hover { + color: #7367f0 + } + +.atabs .item[disabled]{ + cursor: default; + color: var(--text-disable) +} + +.animationSlide { + width: 100%; + overflow-x: hidden; +} + +.animationSlide .slideContent{ + display:inline-flex; + transition: transform .6s ease-in-out +} + +.animationSlide .tabcontent.show{ + opacity: 1; +} + +.animationSlide .tabcontent{ + opacity: 0; +} + +.animationFade .tabcontent { + opacity: 0; + display: none; +} +.animationFade .tabcontent.show { + display: block; +} + +.tabcontent.fade { + transition: opacity .6s linear; +} + + .atabs .item.active { + color:white; + background-color: #7367f0; + box-shadow: 0 .125rem .25rem rgba(165, 163, 174, .3); + } + +/********************* End ***********************/ + +/****************** ASliderBar ***********************/ + + +/********************* End **********************/ \ No newline at end of file diff --git a/ManagementApp/wwwroot/favicon.ico b/ManagementApp/wwwroot/favicon.ico new file mode 100644 index 0000000..63e859b Binary files /dev/null and b/ManagementApp/wwwroot/favicon.ico differ diff --git a/ManagementApp/wwwroot/font/ATGIcon-Regular.woff b/ManagementApp/wwwroot/font/ATGIcon-Regular.woff new file mode 100644 index 0000000..49888a9 Binary files /dev/null and b/ManagementApp/wwwroot/font/ATGIcon-Regular.woff differ diff --git a/ManagementApp/wwwroot/font/Branch.woff b/ManagementApp/wwwroot/font/Branch.woff new file mode 100644 index 0000000..560a05a Binary files /dev/null and b/ManagementApp/wwwroot/font/Branch.woff differ diff --git a/ManagementApp/wwwroot/font/atg-admin-font.fcp b/ManagementApp/wwwroot/font/atg-admin-font.fcp new file mode 100644 index 0000000..66a9769 Binary files /dev/null and b/ManagementApp/wwwroot/font/atg-admin-font.fcp differ diff --git a/ManagementApp/wwwroot/font/atgfont-Regular.woff b/ManagementApp/wwwroot/font/atgfont-Regular.woff new file mode 100644 index 0000000..ccfc457 Binary files /dev/null and b/ManagementApp/wwwroot/font/atgfont-Regular.woff differ diff --git a/ManagementApp/wwwroot/font/atgfont-Regular.woff2 b/ManagementApp/wwwroot/font/atgfont-Regular.woff2 new file mode 100644 index 0000000..30e6440 Binary files /dev/null and b/ManagementApp/wwwroot/font/atgfont-Regular.woff2 differ diff --git a/ManagementApp/wwwroot/images/logo.svg b/ManagementApp/wwwroot/images/logo.svg new file mode 100644 index 0000000..c57378a --- /dev/null +++ b/ManagementApp/wwwroot/images/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ManagementApp/wwwroot/images/logo3.svg b/ManagementApp/wwwroot/images/logo3.svg new file mode 100644 index 0000000..dda3774 --- /dev/null +++ b/ManagementApp/wwwroot/images/logo3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ManagementApp/wwwroot/js/ext_libs/js-AOverScroll.js b/ManagementApp/wwwroot/js/ext_libs/js-AOverScroll.js new file mode 100644 index 0000000..fc83b5e --- /dev/null +++ b/ManagementApp/wwwroot/js/ext_libs/js-AOverScroll.js @@ -0,0 +1,662 @@ + + +export default class AOverScroll { + constructor() { + window.Scrollbar.use(this.e(window.Scrollbar)); + } + e(t) { + return function (t) { + var e = {}; + function o(i) { + if (e[i]) + return e[i].exports; + var r = e[i] = { + i: i, + l: !1, + exports: {} + }; + return t[i].call(r.exports, r, r.exports, o), + r.l = !0, + r.exports + } + return o.m = t, + o.c = e, + o.d = function (t, e, i) { + o.o(t, e) || Object.defineProperty(t, e, { + enumerable: !0, + get: i + }) + } + , + o.r = function (t) { + "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { + value: "Module" + }), + Object.defineProperty(t, "__esModule", { + value: !0 + }) + } + , + o.t = function (t, e) { + if (1 & e && (t = o(t)), + 8 & e) + return t; + if (4 & e && "object" == typeof t && t && t.__esModule) + return t; + var i = Object.create(null); + if (o.r(i), + Object.defineProperty(i, "default", { + enumerable: !0, + value: t + }), + 2 & e && "string" != typeof t) + for (var r in t) + o.d(i, r, function (e) { + return t[e] + } + .bind(null, r)); + return i + } + , + o.n = function (t) { + var e = t && t.__esModule ? function () { + return t.default + } + : function () { + return t + } + ; + return o.d(e, "a", e), + e + } + , + o.o = function (t, e) { + return Object.prototype.hasOwnProperty.call(t, e) + } + , + o.p = "", + o(o.s = 1) + }([function (e, o) { + e.exports = t + } + , function (t, e, o) { + t.exports = o(2) + } + , function (t, e, o) { + "use strict"; + o.r(e); + var i = function (t, e) { + return (i = Object.setPrototypeOf || { + __proto__: [] + } instanceof Array && function (t, e) { + t.__proto__ = e + } + || function (t, e) { + for (var o in e) + e.hasOwnProperty(o) && (t[o] = e[o]) + } + ) + } + , r = function () { + return (r = Object.assign || function (t) { + for (var e, o = 1, i = arguments.length; o < i; o++) + for (var r in e = arguments[o]) + Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]); + return t + } + ).apply(this, arguments) + }; + function n(t) { + var e = function (t) { + return t.touches ? t.touches[t.touches.length - 1] : t + }(t); + return { + x: e.clientX, + y: e.clientY + } + } + new WeakMap; + var s = ["webkit", "moz", "ms", "o"] + , c = new RegExp("^-(?!(?:" + s.join("|") + ")-)"); + function a(t, e) { + e = function (t) { + var e = {}; + return Object.keys(t).forEach((function (o) { + if (c.test(o)) { + var i = t[o]; + o = o.replace(/^-/, ""), + e[o] = i, + s.forEach((function (t) { + e["-" + t + "-" + o] = i + } + )) + } else + e[o] = t[o] + } + )), + e + }(e), + Object.keys(e).forEach((function (o) { + var i = o.replace(/^-/, "").replace(/-([a-z])/g, (function (t, e) { + return e.toUpperCase() + } + )); + t.style[i] = e[o] + } + )) + } + var l = function () { + function t(t) { + this.velocityMultiplier = window.devicePixelRatio, + this.updateTime = Date.now(), + this.delta = { + x: 0, + y: 0 + }, + this.velocity = { + x: 0, + y: 0 + }, + this.lastPosition = { + x: 0, + y: 0 + }, + this.lastPosition = n(t) + } + return t.prototype.update = function (t) { + var e = this.velocity + , o = this.updateTime + , i = this.lastPosition + , r = Date.now() + , s = n(t) + , c = { + x: -(s.x - i.x), + y: -(s.y - i.y) + } + , a = r - o || 16.7 + , l = c.x / a * 16.7 + , h = c.y / a * 16.7; + e.x = l * this.velocityMultiplier, + e.y = h * this.velocityMultiplier, + this.delta = c, + this.updateTime = r, + this.lastPosition = s + } + , + t + }(); + function h(t, e, o) { + return Math.max(e, Math.min(o, t)) + } + !function () { + function t() { + this._touchList = {} + } + Object.defineProperty(t.prototype, "_primitiveValue", { + get: function () { + return { + x: 0, + y: 0 + } + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.isActive = function () { + return void 0 !== this._activeTouchID + } + , + t.prototype.getDelta = function () { + var t = this._getActiveTracker(); + return t ? r({}, t.delta) : this._primitiveValue + } + , + t.prototype.getVelocity = function () { + var t = this._getActiveTracker(); + return t ? r({}, t.velocity) : this._primitiveValue + } + , + t.prototype.getEasingDistance = function (t) { + var e = 1 - t + , o = { + x: 0, + y: 0 + } + , i = this.getVelocity(); + return Object.keys(i).forEach((function (t) { + for (var r = Math.abs(i[t]) <= 10 ? 0 : i[t]; 0 !== r;) + o[t] += r, + r = r * e | 0 + } + )), + o + } + , + t.prototype.track = function (t) { + var e = this + , o = t.targetTouches; + return Array.from(o).forEach((function (t) { + e._add(t) + } + )), + this._touchList + } + , + t.prototype.update = function (t) { + var e = this + , o = t.touches + , i = t.changedTouches; + return Array.from(o).forEach((function (t) { + e._renew(t) + } + )), + this._setActiveID(i), + this._touchList + } + , + t.prototype.release = function (t) { + var e = this; + delete this._activeTouchID, + Array.from(t.changedTouches).forEach((function (t) { + e._delete(t) + } + )) + } + , + t.prototype._add = function (t) { + this._has(t) && this._delete(t); + var e = new l(t); + this._touchList[t.identifier] = e + } + , + t.prototype._renew = function (t) { + this._has(t) && this._touchList[t.identifier].update(t) + } + , + t.prototype._delete = function (t) { + delete this._touchList[t.identifier] + } + , + t.prototype._has = function (t) { + return this._touchList.hasOwnProperty(t.identifier) + } + , + t.prototype._setActiveID = function (t) { + this._activeTouchID = t[t.length - 1].identifier + } + , + t.prototype._getActiveTracker = function () { + return this._touchList[this._activeTouchID] + } + }(); + var u, p = o(0), f = function () { + function t(t) { + this._scrollbar = t + } + return t.prototype.render = function (t) { + var e = t.x + , o = void 0 === e ? 0 : e + , i = t.y + , r = void 0 === i ? 0 : i + , n = this._scrollbar + , s = n.size + , c = n.track + , l = n.offset; + if (a(n.contentEl, { + "-transform": "translate3d(" + -(l.x + o) + "px, " + -(l.y + r) + "px, 0)" + }), + o) { + c.xAxis.show(); + var h = s.container.width / (s.container.width + Math.abs(o)); + a(c.xAxis.thumb.element, { + "-transform": "translate3d(" + c.xAxis.thumb.offset + "px, 0, 0) scale3d(" + h + ", 1, 1)", + "-transform-origin": o < 0 ? "left" : "right" + }) + } + r && (c.yAxis.show(), + h = s.container.height / (s.container.height + Math.abs(r)), + a(c.yAxis.thumb.element, { + "-transform": "translate3d(0, " + c.yAxis.thumb.offset + "px, 0) scale3d(1, " + h + ", 1)", + "-transform-origin": r < 0 ? "top" : "bottom" + })), + c.autoHideOnIdle() + } + , + t + }(), _ = function () { + function t(t) { + this._scrollbar = t, + this._canvas = document.createElement("canvas"), + this._ctx = this._canvas.getContext("2d"), + a(this._canvas, { + position: "absolute", + top: 0, + left: 0, + width: "100%", + height: "100%", + display: "none" + }) + } + return t.prototype.mount = function () { + this._scrollbar.containerEl.appendChild(this._canvas) + } + , + t.prototype.unmount = function () { + this._canvas.parentNode && this._canvas.parentNode.removeChild(this._canvas) + } + , + t.prototype.adjust = function () { + var t = this._scrollbar.size + , e = window.devicePixelRatio || 1 + , o = t.container.width * e + , i = t.container.height * e; + o === this._canvas.width && i === this._canvas.height || (this._canvas.width = o, + this._canvas.height = i, + this._ctx.scale(e, e)) + } + , + t.prototype.recordTouch = function (t) { + var e = t.touches[t.touches.length - 1]; + this._touchX = e.clientX, + this._touchY = e.clientY + } + , + t.prototype.render = function (t, e) { + var o = t.x + , i = void 0 === o ? 0 : o + , r = t.y + , n = void 0 === r ? 0 : r; + if (i || n) { + a(this._canvas, { + display: "block" + }); + var s = this._scrollbar.size; + this._ctx.clearRect(0, 0, s.container.width, s.container.height), + this._ctx.fillStyle = e, + this._renderX(i), + this._renderY(n) + } else + a(this._canvas, { + display: "none" + }) + } + , + t.prototype._getMaxOverscroll = function () { + var t = this._scrollbar.options.plugins.overscroll; + return t && t.maxOverscroll ? t.maxOverscroll : 150 + } + , + t.prototype._renderX = function (t) { + var e = this._scrollbar.size + , o = this._getMaxOverscroll() + , i = e.container + , r = i.width + , n = i.height + , s = this._ctx; + s.save(), + t > 0 && s.transform(-1, 0, 0, 1, r, 0); + var c = h(Math.abs(t) / o, 0, .75) + , a = h(c, 0, .25) * r + , l = Math.abs(t) + , u = this._touchY || n / 2; + s.globalAlpha = c, + s.beginPath(), + s.moveTo(0, -a), + s.quadraticCurveTo(l, u, 0, n + a), + s.fill(), + s.closePath(), + s.restore() + } + , + t.prototype._renderY = function (t) { + var e = this._scrollbar.size + , o = this._getMaxOverscroll() + , i = e.container + , r = i.width + , n = i.height + , s = this._ctx; + s.save(), + t > 0 && s.transform(1, 0, 0, -1, 0, n); + var c = h(Math.abs(t) / o, 0, .75) + , a = h(c, 0, .25) * r + , l = this._touchX || r / 2 + , u = Math.abs(t); + s.globalAlpha = c, + s.beginPath(), + s.moveTo(-a, 0), + s.quadraticCurveTo(l, u, r + a, 0), + s.fill(), + s.closePath(), + s.restore() + } + , + t + }(); + o.d(e, "OverscrollEffect", (function () { + return u + } + )), + function (t) { + t.BOUNCE = "bounce", + t.GLOW = "glow" + }(u || (u = {})); + var d = /wheel|touch/ + , y = function (t) { + function e() { + var e = null !== t && t.apply(this, arguments) || this; + return e._glow = new _(e.scrollbar), + e._bounce = new f(e.scrollbar), + e._wheelScrollBack = { + x: !1, + y: !1 + }, + e._lockWheel = { + x: !1, + y: !1 + }, + e._touching = !1, + e._amplitude = { + x: 0, + y: 0 + }, + e._position = { + x: 0, + y: 0 + }, + e._releaseWheel = function (t, e, o) { + var i; + void 0 === e && (e = 0); + return function () { + for (var o = this, r = [], n = 0; n < arguments.length; n++) + r[n] = arguments[n]; + clearTimeout(i), + i = setTimeout((function () { + t.apply(o, r) + } + ), e) + } + }((function () { + e._lockWheel.x = !1, + e._lockWheel.y = !1 + } + ), 30), + e + } + return function (t, e) { + function o() { + this.constructor = t + }; + i(t, e), + t.prototype = null === e ? Object.create(e) : (o.prototype = e.prototype, + new o) + }(e, t), + Object.defineProperty(e.prototype, "_isWheelLocked", { + get: function () { + return this._lockWheel.x || this._lockWheel.y + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(e.prototype, "_enabled", { + get: function () { + return !!this.options.effect + }, + enumerable: !0, + configurable: !0 + }), + e.prototype.onInit = function () { + var t = this._glow + , e = this.options + , o = this.scrollbar + , i = e.effect; + Object.defineProperty(e, "effect", { + get: function () { + return i + }, + set: function (e) { + if (e) { + if (e !== u.BOUNCE && e !== u.GLOW) + throw new TypeError("unknow overscroll effect: " + e); + i = e, + o.options.continuousScrolling = !1, + e === u.GLOW ? (t.mount(), + t.adjust()) : t.unmount() + } else + i = void 0 + } + }), + e.effect = i + } + , + e.prototype.onUpdate = function () { + this.options.effect === u.GLOW && this._glow.adjust() + } + , + e.prototype.onRender = function (t) { + if (this._enabled) { + this.scrollbar.options.continuousScrolling && (this.scrollbar.options.continuousScrolling = !1); + var e = t.x + , o = t.y; + !this._amplitude.x && this._willOverscroll("x", t.x) && (e = 0, + this._absorbMomentum("x", t.x)), + !this._amplitude.y && this._willOverscroll("y", t.y) && (o = 0, + this._absorbMomentum("y", t.y)), + this.scrollbar.setMomentum(e, o), + this._render() + } + } + , + e.prototype.transformDelta = function (t, e) { + if (this._lastEventType = e.type, + !this._enabled || !d.test(e.type)) + return t; + this._isWheelLocked && /wheel/.test(e.type) && (this._releaseWheel(), + this._willOverscroll("x", t.x) && (t.x = 0), + this._willOverscroll("y", t.y) && (t.y = 0)); + var o = t.x + , i = t.y; + switch (this._willOverscroll("x", t.x) && (o = 0, + this._addAmplitude("x", t.x)), + this._willOverscroll("y", t.y) && (i = 0, + this._addAmplitude("y", t.y)), + e.type) { + case "touchstart": + case "touchmove": + this._touching = !0, + this._glow.recordTouch(e); + break; + case "touchcancel": + case "touchend": + this._touching = !1 + } + return { + x: o, + y: i + } + } + , + e.prototype._willOverscroll = function (t, e) { + if (!e) + return !1; + if (this._position[t]) + return !0; + var o = this.scrollbar.offset[t] + , i = this.scrollbar.limit[t]; + return 0 !== i && h(o + e, 0, i) === o && (0 === o || o === i) + } + , + e.prototype._absorbMomentum = function (t, e) { + var o = this.options + , i = this._lastEventType + , r = this._amplitude; + d.test(i) && (r[t] = h(e, -o.maxOverscroll, o.maxOverscroll)) + } + , + e.prototype._addAmplitude = function (t, e) { + var o = this.options + , i = this.scrollbar + , r = this._amplitude + , n = this._position + , s = r[t] + , c = e * s < 0 + , a = s + e * (1 - (c ? 0 : this._wheelScrollBack[t] ? 1 : Math.abs(s / o.maxOverscroll))); + r[t] = 0 === i.offset[t] ? h(a, -o.maxOverscroll, 0) : h(a, 0, o.maxOverscroll), + c && (n[t] = r[t]) + } + , + e.prototype._render = function () { + var t = this.options + , e = this._amplitude + , o = this._position; + if (this._enabled && (e.x || e.y || o.x || o.y)) { + var i = this._nextAmp("x") + , n = this._nextAmp("y"); + switch (e.x = i.amplitude, + o.x = i.position, + e.y = n.amplitude, + o.y = n.position, + t.effect) { + case u.BOUNCE: + this._bounce.render(o); + break; + case u.GLOW: + this._glow.render(o, this.options.glowColor) + } + "function" == typeof t.onScroll && t.onScroll.call(this, r({}, o)) + } + } + , + e.prototype._nextAmp = function (t) { + var e = this.options + , o = this._amplitude + , i = this._position + , r = 1 - e.damping + , n = o[t] + , s = i[t] + , c = this._touching ? n : n * r | 0 + , a = c - s + , l = s + a - (a * r | 0); + return !this._touching && Math.abs(l) < Math.abs(s) && (this._wheelScrollBack[t] = !0), + this._wheelScrollBack[t] && Math.abs(l) <= 1 && (this._wheelScrollBack[t] = !1, + this._lockWheel[t] = !0), + { + amplitude: c, + position: l + } + } + , + e.pluginName = "overscroll", + e.defaultOptions = { + effect: u.BOUNCE, + onScroll: void 0, + damping: .2, + maxOverscroll: 150, + glowColor: "#87ceeb" + }, + e + }(p.ScrollbarPlugin); + e.default = y + } + ]).default +} +} diff --git a/ManagementApp/wwwroot/js/ext_libs/js-datepicker.js b/ManagementApp/wwwroot/js/ext_libs/js-datepicker.js new file mode 100644 index 0000000..21247a0 --- /dev/null +++ b/ManagementApp/wwwroot/js/ext_libs/js-datepicker.js @@ -0,0 +1,15 @@ +!function (e, t) { "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.AirDatepicker = t() : e.AirDatepicker = t() }(this, (function () { return function () { "use strict"; var e = { d: function (t, i) { for (var s in i) e.o(i, s) && !e.o(t, s) && Object.defineProperty(t, s, { enumerable: !0, get: i[s] }) }, o: function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) } }, t = {}; e.d(t, { default: function () { return R } }); var i = { days: "days", months: "months", years: "years", day: "day", month: "month", year: "year", eventChangeViewDate: "changeViewDate", eventChangeCurrentView: "changeCurrentView", eventChangeFocusDate: "changeFocusDate", eventChangeSelectedDate: "changeSelectedDate", eventChangeTime: "changeTime", eventChangeLastSelectedDate: "changeLastSelectedDate", actionSelectDate: "selectDate", actionUnselectDate: "unselectDate", cssClassWeekend: "-weekend-" }, s = { classes: "", inline: !1, locale: { days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"], daysShort: ["Вос", "Пон", "Вто", "Сре", "Чет", "Пят", "Суб"], daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"], months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], today: "Сегодня", clear: "Очистить", dateFormat: "dd.MM.yyyy", timeFormat: "HH:mm", firstDay: 1 }, startDate: new Date, firstDay: "", weekends: [6, 0], dateFormat: "", altField: "", altFieldDateFormat: "T", toggleSelected: !0, keyboardNav: !0, selectedDates: !1, container: "", isMobile: !1, visible: !1, position: "bottom left", offset: 12, view: i.days, minView: i.days, showOtherMonths: !0, selectOtherMonths: !0, moveToOtherMonthsOnSelect: !0, showOtherYears: !0, selectOtherYears: !0, moveToOtherYearsOnSelect: !0, minDate: "", maxDate: "", disableNavWhenOutOfRange: !0, multipleDates: !1, multipleDatesSeparator: ", ", range: !1, dynamicRange: !0, buttons: !1, monthsField: "monthsShort", showEvent: "focus", autoClose: !1, fixedHeight: !1, prevHtml: '', nextHtml: '', navTitles: { days: "MMMM, yyyy", months: "yyyy", years: "yyyy1 - yyyy2" }, timepicker: !1, onlyTimepicker: !1, dateTimeSeparator: " ", timeFormat: "", minHours: 0, maxHours: 24, minMinutes: 0, maxMinutes: 59, hoursStep: 1, minutesStep: 1, onSelect: !1, onChangeViewDate: !1, onChangeView: !1, onRenderCell: !1, onShow: !1, onHide: !1, onClickDayName: !1 }; function a(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : document; return "string" == typeof e ? t.querySelector(e) : e } function n() { let { tagName: e = "div", className: t = "", innerHtml: i = "", id: s = "", attrs: a = {} } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, n = document.createElement(e); return t && n.classList.add(...t.split(" ")), s && (n.id = s), i && (n.innerHTML = i), a && r(n, a), n } function r(e, t) { for (let [i, s] of Object.entries(t)) void 0 !== s && e.setAttribute(i, s); return e } function o(e) { return new Date(e.getFullYear(), e.getMonth() + 1, 0).getDate() } function h(e) { let t = e.getHours(), { hours: i, dayPeriod: s } = l(t); return { year: e.getFullYear(), month: e.getMonth(), fullMonth: e.getMonth() + 1 < 10 ? "0" + (e.getMonth() + 1) : e.getMonth() + 1, date: e.getDate(), fullDate: e.getDate() < 10 ? "0" + e.getDate() : e.getDate(), day: e.getDay(), hours: t, fullHours: d(t), hours12: i, dayPeriod: s, fullHours12: d(i), minutes: e.getMinutes(), fullMinutes: e.getMinutes() < 10 ? "0" + e.getMinutes() : e.getMinutes() } } function l(e) { return { dayPeriod: e > 11 ? "pm" : "am", hours: e % 12 == 0 ? 12 : e % 12 } } function d(e) { return e < 10 ? "0" + e : e } function c(e) { let t = 10 * Math.floor(e.getFullYear() / 10); return [t, t + 9] } function u() { let e = []; for (var t = arguments.length, i = new Array(t), s = 0; s < t; s++)i[s] = arguments[s]; return i.forEach((t => { if ("object" == typeof t) for (let i in t) t[i] && e.push(i); else t && e.push(t) })), e.join(" ") } function p(e, t) { let s = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : i.days; if (!e || !t) return !1; let a = h(e), n = h(t); return { [i.days]: a.date === n.date && a.month === n.month && a.year === n.year, [i.months]: a.month === n.month && a.year === n.year, [i.years]: a.year === n.year }[s] } function m(e, t, i) { let s = g(e, !1).getTime(), a = g(t, !1).getTime(); return i ? s >= a : s > a } function v(e, t) { return !m(e, t, !0) } function g(e) { let t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], i = new Date(e.getTime()); return "boolean" != typeof t || t || function (e) { e.setHours(0, 0, 0, 0) }(i), i } function D(e, t, i) { e.length ? e.forEach((e => { e.addEventListener(t, i) })) : e.addEventListener(t, i) } function y(e, t) { return !(!e || e === document || e instanceof DocumentFragment) && (e.matches(t) ? e : y(e.parentNode, t)) } function f(e, t, i) { return e > i ? i : e < t ? t : e } function w(e) { for (var t = arguments.length, i = new Array(t > 1 ? t - 1 : 0), s = 1; s < t; s++)i[s - 1] = arguments[s]; return i.filter((e => e)).forEach((t => { for (let [i, s] of Object.entries(t)) if (void 0 !== s && "[object Object]" === s.toString()) { let t = void 0 !== e[i] ? e[i].toString() : void 0, a = s.toString(), n = Array.isArray(s) ? [] : {}; e[i] = e[i] ? t !== a ? n : e[i] : n, w(e[i], s) } else e[i] = s })), e } function b(e) { let t = e; return e instanceof Date || ("string" == typeof e && /^\d{4}-\d{2}-\d{2}$/.test(e) && (e += "T00:00:00"), t = new Date(e)), isNaN(t.getTime()) && (console.log(`Unable to convert value "${e}" to Date object`), t = !1), t } function k(e) { let t = "\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;"; return new RegExp("(^|>|" + t + ")(" + e + ")($|<|" + t + ")", "g") } function $(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } class C { constructor() { let { type: e, date: t, dp: i, opts: s, body: a } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; $(this, "focus", (() => { this.$cell.classList.add("-focus-"), this.focused = !0 })), $(this, "removeFocus", (() => { this.$cell.classList.remove("-focus-"), this.focused = !1 })), $(this, "select", (() => { this.$cell.classList.add("-selected-"), this.selected = !0 })), $(this, "removeSelect", (() => { this.$cell.classList.remove("-selected-", "-range-from-", "-range-to-"), this.selected = !1 })), $(this, "onChangeSelectedDate", (() => { this.isDisabled || (this._handleSelectedStatus(), this.opts.range && this._handleRangeStatus()) })), $(this, "onChangeFocusDate", (e => { if (!e) return void (this.focused && this.removeFocus()); let t = p(e, this.date, this.type); t ? this.focus() : !t && this.focused && this.removeFocus(), this.opts.range && this._handleRangeStatus() })), $(this, "render", (() => (this.$cell.innerHTML = this._getHtml(), this._handleClasses(), this.$cell))), this.type = e, this.singleType = this.type.slice(0, -1), this.date = t, this.dp = i, this.opts = s, this.body = a, this.customData = !1, this.init() } init() { var e; let { onRenderCell: t } = this.opts; t && (this.customData = t({ date: this.date, cellType: this.singleType, datepicker: this.dp })), this._createElement(), this._bindDatepickerEvents(), null !== (e = this.customData) && void 0 !== e && e.disabled && this.dp.disableDate(this.date) } _bindDatepickerEvents() { this.dp.on(i.eventChangeSelectedDate, this.onChangeSelectedDate), this.dp.on(i.eventChangeFocusDate, this.onChangeFocusDate) } unbindDatepickerEvents() { this.dp.off(i.eventChangeSelectedDate, this.onChangeSelectedDate), this.dp.off(i.eventChangeFocusDate, this.onChangeFocusDate) } _createElement() { var e; let { year: t, month: i, date: s } = h(this.date), a = (null === (e = this.customData) || void 0 === e ? void 0 : e.attrs) || {}; this.$cell = n({ attrs: { "data-year": t, "data-month": i, "data-date": s, ...a } }), this.$cell.adpCell = this } _getClassName() { var e; let t = new Date, { selectOtherMonths: s, selectOtherYears: a } = this.opts, { minDate: n, maxDate: r, isDateDisabled: o } = this.dp, { day: l } = h(this.date), d = this._isOutOfMinMaxRange(), c = o(this.date), m = u("air-datepicker-cell", `-${this.singleType}-`, { "-current-": p(t, this.date, this.type), "-min-date-": n && p(n, this.date, this.type), "-max-date-": r && p(r, this.date, this.type) }), v = ""; switch (this.type) { case i.days: v = u({ "-weekend-": this.dp.isWeekend(l), "-other-month-": this.isOtherMonth, "-disabled-": this.isOtherMonth && !s || d || c }); break; case i.months: v = u({ "-disabled-": d }); break; case i.years: v = u({ "-other-decade-": this.isOtherDecade, "-disabled-": d || this.isOtherDecade && !a }) }return u(m, v, null === (e = this.customData) || void 0 === e ? void 0 : e.classes).split(" ") } _getHtml() { var e; let { year: t, month: s, date: a } = h(this.date), { showOtherMonths: n, showOtherYears: r } = this.opts; if (null !== (e = this.customData) && void 0 !== e && e.html) return this.customData.html; switch (this.type) { case i.days: return !n && this.isOtherMonth ? "" : a; case i.months: return this.dp.locale[this.opts.monthsField][s]; case i.years: return !r && this.isOtherDecade ? "" : t } } _isOutOfMinMaxRange() { let { minDate: e, maxDate: t } = this.dp, { type: s, date: a } = this, { month: n, year: r, date: o } = h(a), l = s === i.days, d = s === i.years, c = !!e && new Date(r, d ? e.getMonth() : n, l ? o : e.getDate()), u = !!t && new Date(r, d ? t.getMonth() : n, l ? o : t.getDate()); return e && t ? v(c, e) || m(u, t) : e ? v(c, e) : t ? m(u, t) : void 0 } destroy() { this.unbindDatepickerEvents() } _handleRangeStatus() { const { selectedDates: e, focusDate: t, rangeDateTo: i, rangeDateFrom: s } = this.dp, a = e.length; if (!a) return; let n = s, r = i; if (1 === a && t) { const i = m(t, e[0]); n = i ? e[0] : t, r = i ? t : e[0] } let o = u({ "-in-range-": n && r && (h = this.date, l = n, d = r, m(h, l) && v(h, d)), "-range-from-": n && p(this.date, n, this.type), "-range-to-": r && p(this.date, r, this.type) }); var h, l, d; this.$cell.classList.remove("-range-from-", "-range-to-", "-in-range-"), o && this.$cell.classList.add(...o.split(" ")) } _handleSelectedStatus() { let e = this.dp._checkIfDateIsSelected(this.date, this.type); e ? this.select() : !e && this.selected && this.removeSelect() } _handleInitialFocusStatus() { p(this.dp.focusDate, this.date, this.type) && this.focus() } _handleClasses() { this.$cell.setAttribute("class", ""), this._handleInitialFocusStatus(), this.dp.hasSelectedDates && (this._handleSelectedStatus(), this.dp.opts.range && this._handleRangeStatus()), this.$cell.classList.add(...this._getClassName()) } get isDisabled() { return this.$cell.matches(".-disabled-") } get isOtherMonth() { return this.dp.isOtherMonth(this.date) } get isOtherDecade() { return this.dp.isOtherDecade(this.date) } } function _(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } let M = { [i.days]: `
`, [i.months]: `
`, [i.years]: `
` }; const S = ".air-datepicker-cell"; class T { constructor(e) { let { dp: t, type: s, opts: a } = e; _(this, "handleClick", (e => { let t = e.target.closest(S).adpCell; if (t.isDisabled) return; if (!this.dp.isMinViewReached) return void this.dp.down(); let i = this.dp._checkIfDateIsSelected(t.date, t.type); i ? this.dp._handleAlreadySelectedDates(i, t.date) : this.dp.selectDate(t.date) })), _(this, "handleDayNameClick", (e => { let t = e.target.getAttribute("data-day-index"); this.opts.onClickDayName({ dayIndex: Number(t), datepicker: this.dp }) })), _(this, "onChangeCurrentView", (e => { e !== this.type ? this.hide() : (this.show(), this.render()) })), _(this, "onMouseOverCell", (e => { let t = y(e.target, S); this.dp.setFocusDate(!!t && t.adpCell.date) })), _(this, "onMouseOutCell", (() => { this.dp.setFocusDate(!1) })), _(this, "onClickBody", (e => { let { onClickDayName: t } = this.opts, i = e.target; i.closest(S) && this.handleClick(e), t && i.closest(".air-datepicker-body--day-name") && this.handleDayNameClick(e) })), _(this, "onMouseDown", (e => { this.pressed = !0; let t = y(e.target, S), i = t && t.adpCell; p(i.date, this.dp.rangeDateFrom) && (this.rangeFromFocused = !0), p(i.date, this.dp.rangeDateTo) && (this.rangeToFocused = !0) })), _(this, "onMouseMove", (e => { if (!this.pressed || !this.dp.isMinViewReached) return; e.preventDefault(); let t = y(e.target, S), i = t && t.adpCell, { selectedDates: s, rangeDateTo: a, rangeDateFrom: n } = this.dp; if (!i || i.isDisabled) return; let { date: r } = i; if (2 === s.length) { if (this.rangeFromFocused && !m(r, a)) { let { hours: e, minutes: t } = h(n); r.setHours(e), r.setMinutes(t), this.dp.rangeDateFrom = r, this.dp.replaceDate(n, r) } if (this.rangeToFocused && !v(r, n)) { let { hours: e, minutes: t } = h(a); r.setHours(e), r.setMinutes(t), this.dp.rangeDateTo = r, this.dp.replaceDate(a, r) } } })), _(this, "onMouseUp", (() => { this.pressed = !1, this.rangeFromFocused = !1, this.rangeToFocused = !1 })), _(this, "onChangeViewDate", ((e, t) => { if (!this.isVisible) return; let s = c(e), a = c(t); switch (this.dp.currentView) { case i.days: if (p(e, t, i.months)) return; break; case i.months: if (p(e, t, i.years)) return; break; case i.years: if (s[0] === a[0] && s[1] === a[1]) return }this.render() })), _(this, "render", (() => { this.destroyCells(), this._generateCells(), this.cells.forEach((e => { this.$cells.appendChild(e.render()) })) })), this.dp = t, this.type = s, this.opts = a, this.cells = [], this.$el = "", this.pressed = !1, this.isVisible = !0, this.init() } init() { this._buildBaseHtml(), this.type === i.days && this.renderDayNames(), this.render(), this._bindEvents(), this._bindDatepickerEvents() } _bindEvents() { let { range: e, dynamicRange: t } = this.opts; D(this.$el, "mouseover", this.onMouseOverCell), D(this.$el, "mouseout", this.onMouseOutCell), D(this.$el, "click", this.onClickBody), e && t && (D(this.$el, "mousedown", this.onMouseDown), D(this.$el, "mousemove", this.onMouseMove), D(window.document, "mouseup", this.onMouseUp)) } _bindDatepickerEvents() { this.dp.on(i.eventChangeViewDate, this.onChangeViewDate), this.dp.on(i.eventChangeCurrentView, this.onChangeCurrentView) } _buildBaseHtml() { this.$el = n({ className: `air-datepicker-body -${this.type}-`, innerHtml: M[this.type] }), this.$names = a(".air-datepicker-body--day-names", this.$el), this.$cells = a(".air-datepicker-body--cells", this.$el) } _getDayNamesHtml() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.dp.locale.firstDay, t = "", s = this.dp.isWeekend, { onClickDayName: a } = this.opts, n = e, r = 0; for (; r < 7;) { let e = n % 7; t += `
${this.dp.locale.daysMin[e]}
`, r++, n++ } return t } renderDayNames() { this.$names.innerHTML = this._getDayNamesHtml() } _generateCell(e) { let { type: t, dp: i, opts: s } = this; return new C({ type: t, dp: i, opts: s, date: e, body: this }) } _generateCells() { T.getDatesFunction(this.type)(this.dp, (e => { this.cells.push(this._generateCell(e)) })) } show() { this.isVisible = !0, this.$el.classList.remove("-hidden-") } hide() { this.isVisible = !1, this.$el.classList.add("-hidden-") } destroyCells() { this.cells.forEach((e => e.destroy())), this.cells = [], this.$cells.innerHTML = "" } destroy() { this.destroyCells(), this.dp.off(i.eventChangeViewDate, this.onChangeViewDate), this.dp.off(i.eventChangeCurrentView, this.onChangeCurrentView) } static getDaysDates(e, t) { let { viewDate: i, opts: { fixedHeight: s }, locale: { firstDay: a } } = e, n = o(i), { year: r, month: l } = h(i), d = new Date(r, l, 1), c = new Date(r, l, n), u = d.getDay() - a, p = 6 - c.getDay() + a; u = u < 0 ? u + 7 : u, p = p > 6 ? p - 7 : p; let m = function (e, t) { let { year: i, month: s, date: a } = h(e); return new Date(i, s, a - t) }(d, u), v = n + u + p, g = m.getDate(), { year: D, month: y } = h(m), f = 0; s && (v = 42); const w = []; for (; f < v;) { let e = new Date(D, y, g + f); t && t(e), w.push(e), f++ } return w } static getMonthsDates(e, t) { let { year: i } = e.parsedViewDate, s = 0, a = []; for (; s < 12;) { const e = new Date(i, s); a.push(e), t && t(e), s++ } return a } static getYearsDates(e, t) { let i = c(e.viewDate), s = i[0] - 1, a = i[1] + 1, n = s, r = []; for (; n <= a;) { const e = new Date(n, 0); r.push(e), t && t(e), n++ } return r } static getDatesFunction() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : i.days; return { [i.days]: T.getDaysDates, [i.months]: T.getMonthsDates, [i.years]: T.getYearsDates }[e] } } function F(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } class V { constructor(e) { let { dp: t, opts: i } = e; F(this, "onClickNav", (e => { let t = y(e.target, ".air-datepicker-nav--action"); if (!t) return; let i = t.dataset.action; this.dp[i]() })), F(this, "onChangeViewDate", (() => { this.render(), this._resetNavStatus(), this.handleNavStatus() })), F(this, "onChangeCurrentView", (() => { this.render(), this._resetNavStatus(), this.handleNavStatus() })), F(this, "onClickNavTitle", (() => { this.dp.isFinalView || this.dp.up() })), F(this, "update", (() => { let { prevHtml: e, nextHtml: t } = this.opts; this.$prev.innerHTML = e, this.$next.innerHTML = t, this._resetNavStatus(), this.render(), this.handleNavStatus() })), F(this, "renderDelay", (() => { setTimeout(this.render) })), F(this, "render", (() => { this.$title.innerHTML = this._getTitle(), function (e, t) { for (let i in t) t[i] ? e.classList.add(i) : e.classList.remove(i) }(this.$title, { "-disabled-": this.dp.isFinalView }) })), this.dp = t, this.opts = i, this.init() } init() { this._createElement(), this._buildBaseHtml(), this._defineDOM(), this.render(), this.handleNavStatus(), this._bindEvents(), this._bindDatepickerEvents() } _defineDOM() { this.$title = a(".air-datepicker-nav--title", this.$el), this.$prev = a('[data-action="prev"]', this.$el), this.$next = a('[data-action="next"]', this.$el) } _bindEvents() { this.$el.addEventListener("click", this.onClickNav), this.$title.addEventListener("click", this.onClickNavTitle) } _bindDatepickerEvents() { this.dp.on(i.eventChangeViewDate, this.onChangeViewDate), this.dp.on(i.eventChangeCurrentView, this.onChangeCurrentView), this.isNavIsFunction && (this.dp.on(i.eventChangeSelectedDate, this.renderDelay), this.dp.opts.timepicker && this.dp.on(i.eventChangeTime, this.render)) } destroy() { this.dp.off(i.eventChangeViewDate, this.onChangeViewDate), this.dp.off(i.eventChangeCurrentView, this.onChangeCurrentView), this.isNavIsFunction && (this.dp.off(i.eventChangeSelectedDate, this.renderDelay), this.dp.opts.timepicker && this.dp.off(i.eventChangeTime, this.render)) } _createElement() { this.$el = n({ tagName: "nav", className: "air-datepicker-nav" }) } _getTitle() { let { dp: e, opts: t } = this, i = t.navTitles[e.currentView]; return "function" == typeof i ? i(e) : e.formatDate(e.viewDate, i) } handleNavStatus() { let { disableNavWhenOutOfRange: e } = this.opts, { minDate: t, maxDate: s } = this.dp; if (!t && !s || !e) return; let { year: a, month: n } = this.dp.parsedViewDate, r = !!t && h(t), o = !!s && h(s); switch (this.dp.currentView) { case i.days: t && r.month >= n && r.year >= a && this._disableNav("prev"), s && o.month <= n && o.year <= a && this._disableNav("next"); break; case i.months: t && r.year >= a && this._disableNav("prev"), s && o.year <= a && this._disableNav("next"); break; case i.years: { let e = c(this.dp.viewDate); t && r.year >= e[0] && this._disableNav("prev"), s && o.year <= e[1] && this._disableNav("next"); break } } } _disableNav(e) { a('[data-action="' + e + '"]', this.$el).classList.add("-disabled-") } _resetNavStatus() { !function (e) { for (var t = arguments.length, i = new Array(t > 1 ? t - 1 : 0), s = 1; s < t; s++)i[s - 1] = arguments[s]; e.length ? e.forEach((e => { e.classList.remove(...i) })) : e.classList.remove(...i) }(this.$el.querySelectorAll(".air-datepicker-nav--action"), "-disabled-") } _buildBaseHtml() { let { prevHtml: e, nextHtml: t } = this.opts; this.$el.innerHTML = `
${e}
${t}
` } get isNavIsFunction() { let { navTitles: e } = this.opts; return Object.keys(e).find((t => "function" == typeof e[t])) } } var x = { today: { content: e => e.locale.today, onClick: e => e.setViewDate(new Date) }, clear: { content: e => e.locale.clear, onClick: e => e.clear() } }; class H { constructor(e) { let { dp: t, opts: i } = e; this.dp = t, this.opts = i, this.init() } init() { this.createElement(), this.render() } createElement() { this.$el = n({ className: "air-datepicker-buttons" }) } destroy() { this.$el.parentNode.removeChild(this.$el) } clearHtml() { return this.$el.innerHTML = "", this } generateButtons() { let { buttons: e } = this.opts; Array.isArray(e) || (e = [e]), e.forEach((e => { let t = e; "string" == typeof e && x[e] && (t = x[e]); let i = this.createButton(t); t.onClick && this.attachEventToButton(i, t.onClick), this.$el.appendChild(i) })) } attachEventToButton(e, t) { e.addEventListener("click", (() => { t(this.dp) })) } createButton(e) { let { content: t, className: i, tagName: s = "button", attrs: a = {} } = e; return n({ tagName: s, innerHtml: `${"function" == typeof t ? t(this.dp) : t}`, className: u("air-datepicker-button", i), attrs: a }) } render() { this.generateButtons() } } function E(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } class L { constructor() { let { opts: e, dp: t } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; E(this, "toggleTimepickerIsActive", (e => { this.dp.timepickerIsActive = e })), E(this, "onChangeSelectedDate", (e => { let { date: t, updateTime: i = !1 } = e; t && (this.setMinMaxTime(t), this.setCurrentTime(!!i && t), this.addTimeToDate(t)) })), E(this, "onChangeLastSelectedDate", (e => { e && (this.setTime(e), this.render()) })), E(this, "onChangeInputRange", (e => { let t = e.target; this[t.getAttribute("name")] = t.value, this.updateText(), this.dp.trigger(i.eventChangeTime, { hours: this.hours, minutes: this.minutes }) })), E(this, "onMouseEnterLeave", (e => { let t = e.target.getAttribute("name"), i = this.$minutesText; "hours" === t && (i = this.$hoursText), i.classList.toggle("-focus-") })), E(this, "onFocus", (() => { this.toggleTimepickerIsActive(!0) })), E(this, "onBlur", (() => { this.toggleTimepickerIsActive(!1) })), this.opts = e, this.dp = t; let { timeFormat: s } = this.dp.locale; s && (s.match(k("h")) || s.match(k("hh"))) && (this.ampm = !0), this.init() } init() { this.setTime(this.dp.lastSelectedDate || this.dp.viewDate), this.createElement(), this.buildHtml(), this.defineDOM(), this.render(), this.bindDatepickerEvents(), this.bindDOMEvents() } bindDatepickerEvents() { this.dp.on(i.eventChangeSelectedDate, this.onChangeSelectedDate), this.dp.on(i.eventChangeLastSelectedDate, this.onChangeLastSelectedDate) } bindDOMEvents() { let e = "input"; navigator.userAgent.match(/trident/gi) && (e = "change"), D(this.$ranges, e, this.onChangeInputRange), D(this.$ranges, "mouseenter", this.onMouseEnterLeave), D(this.$ranges, "mouseleave", this.onMouseEnterLeave), D(this.$ranges, "focus", this.onFocus), D(this.$ranges, "mousedown", this.onFocus), D(this.$ranges, "blur", this.onBlur) } createElement() { this.$el = n({ className: u("air-datepicker-time", { "-am-pm-": this.dp.ampm }) }) } destroy() { this.dp.off(i.eventChangeSelectedDate, this.onChangeSelectedDate), this.dp.off(i.eventChangeLastSelectedDate, this.onChangeLastSelectedDate), this.$el.parentNode.removeChild(this.$el) } buildHtml() { let { ampm: e, hours: t, displayHours: i, minutes: s, minHours: a, minMinutes: n, maxHours: r, maxMinutes: o, dayPeriod: h, opts: { hoursStep: l, minutesStep: c } } = this; this.$el.innerHTML = `
${d(i)} : ${d(s)} ` + (e ? `${h}` : "") + '
' + `
` + `
` } defineDOM() { let e = e => a(e, this.$el); this.$ranges = this.$el.querySelectorAll('[type="range"]'), this.$hours = e('[name="hours"]'), this.$minutes = e('[name="minutes"]'), this.$hoursText = e(".air-datepicker-time--current-hours"), this.$minutesText = e(".air-datepicker-time--current-minutes"), this.$ampm = e(".air-datepicker-time--current-ampm") } setTime(e) { this.setMinMaxTime(e), this.setCurrentTime(e) } addTimeToDate(e) { e && (e.setHours(this.hours), e.setMinutes(this.minutes)) } setMinMaxTime(e) { if (this.setMinMaxTimeFromOptions(), e) { let { minDate: t, maxDate: i } = this.dp; t && p(e, t) && this.setMinTimeFromMinDate(t), i && p(e, i) && this.setMaxTimeFromMaxDate(i) } } setCurrentTime(e) { let { hours: t, minutes: i } = e ? h(e) : this; this.hours = f(t, this.minHours, this.maxHours), this.minutes = f(i, this.minMinutes, this.maxMinutes) } setMinMaxTimeFromOptions() { let { minHours: e, minMinutes: t, maxHours: i, maxMinutes: s } = this.opts; this.minHours = f(e, 0, 23), this.minMinutes = f(t, 0, 59), this.maxHours = f(i, 0, 23), this.maxMinutes = f(s, 0, 59) } setMinTimeFromMinDate(e) { let { lastSelectedDate: t } = this.dp; this.minHours = e.getHours(), t && t.getHours() > e.getHours() ? this.minMinutes = this.opts.minMinutes : this.minMinutes = e.getMinutes() } setMaxTimeFromMaxDate(e) { let { lastSelectedDate: t } = this.dp; this.maxHours = e.getHours(), t && t.getHours() < e.getHours() ? this.maxMinutes = this.opts.maxMinutes : this.maxMinutes = e.getMinutes() } updateSliders() { r(this.$hours, { min: this.minHours, max: this.maxHours }).value = this.hours, r(this.$minutes, { min: this.minMinutes, max: this.maxMinutes }).value = this.minutes } updateText() { this.$hoursText.innerHTML = d(this.displayHours), this.$minutesText.innerHTML = d(this.minutes), this.ampm && (this.$ampm.innerHTML = this.dayPeriod) } set hours(e) { this._hours = e; let { hours: t, dayPeriod: i } = l(e); this.displayHours = this.ampm ? t : e, this.dayPeriod = i } get hours() { return this._hours } render() { this.updateSliders(), this.updateText() } } function O(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } class A { constructor(e) { let { dp: t, opts: i } = e; O(this, "pressedKeys", new Set), O(this, "hotKeys", new Map([[[["Control", "ArrowRight"], ["Control", "ArrowUp"]], e => e.month++], [[["Control", "ArrowLeft"], ["Control", "ArrowDown"]], e => e.month--], [[["Shift", "ArrowRight"], ["Shift", "ArrowUp"]], e => e.year++], [[["Shift", "ArrowLeft"], ["Shift", "ArrowDown"]], e => e.year--], [[["Alt", "ArrowRight"], ["Alt", "ArrowUp"]], e => e.year += 10], [[["Alt", "ArrowLeft"], ["Alt", "ArrowDown"]], e => e.year -= 10], [["Control", "Shift", "ArrowUp"], (e, t) => t.up()]])), O(this, "handleHotKey", (e => { let t = this.hotKeys.get(e), i = h(this.getInitialFocusDate()); t(i, this.dp); let { year: s, month: a, date: n } = i, r = o(new Date(s, a)); r < n && (n = r); let l = this.dp.getClampedDate(new Date(s, a, n)); this.dp.setFocusDate(l, { viewDateTransition: !0 }) })), O(this, "isHotKeyPressed", (() => { let e = !1, t = this.pressedKeys.size, i = e => this.pressedKeys.has(e); for (let [s] of this.hotKeys) { if (e) break; if (Array.isArray(s[0])) s.forEach((a => { e || t !== a.length || (e = a.every(i) && s) })); else { if (t !== s.length) continue; e = s.every(i) && s } } return e })), O(this, "isArrow", (e => e >= 37 && e <= 40)), O(this, "onKeyDown", (e => { let { key: t, which: i } = e, { dp: s, dp: { focusDate: a }, opts: n } = this; this.registerKey(t); let r = this.isHotKeyPressed(); if (r) return e.preventDefault(), void this.handleHotKey(r); if (this.isArrow(i)) return e.preventDefault(), void this.focusNextCell(t); if ("Enter" === t) { if (s.currentView !== n.minView) return void s.down(); if (a) { let e = s._checkIfDateIsSelected(a); return void (e ? s._handleAlreadySelectedDates(e, a) : s.selectDate(a)) } } "Escape" === t && this.dp.hide() })), O(this, "onKeyUp", (e => { this.removeKey(e.key) })), this.dp = t, this.opts = i, this.init() } init() { this.bindKeyboardEvents() } bindKeyboardEvents() { let { $el: e } = this.dp; e.addEventListener("keydown", this.onKeyDown), e.addEventListener("keyup", this.onKeyUp) } destroy() { let { $el: e } = this.dp; e.removeEventListener("keydown", this.onKeyDown), e.removeEventListener("keyup", this.onKeyUp), this.hotKeys = null, this.pressedKeys = null } getInitialFocusDate() { let { focusDate: e, currentView: t, selectedDates: s, parsedViewDate: { year: a, month: n } } = this.dp, r = e || s[s.length - 1]; if (!r) switch (t) { case i.days: r = new Date(a, n, (new Date).getDate()); break; case i.months: r = new Date(a, n, 1); break; case i.years: r = new Date(a, 0, 1) }return r } focusNextCell(e) { let t = this.getInitialFocusDate(), { currentView: s } = this.dp, { days: a, months: n, years: r } = i, o = h(t), l = o.year, d = o.month, c = o.date; switch (e) { case "ArrowLeft": s === a && (c -= 1), s === n && (d -= 1), s === r && (l -= 1); break; case "ArrowUp": s === a && (c -= 7), s === n && (d -= 3), s === r && (l -= 4); break; case "ArrowRight": s === a && (c += 1), s === n && (d += 1), s === r && (l += 1); break; case "ArrowDown": s === a && (c += 7), s === n && (d += 3), s === r && (l += 4) }let u = this.dp.getClampedDate(new Date(l, d, c)); this.dp.setFocusDate(u, { viewDateTransition: !0 }) } registerKey(e) { this.pressedKeys.add(e) } removeKey(e) { this.pressedKeys.delete(e) } } let N = { on(e, t) { this.__events || (this.__events = {}), this.__events[e] ? this.__events[e].push(t) : this.__events[e] = [t] }, off(e, t) { this.__events && this.__events[e] && (this.__events[e] = this.__events[e].filter((e => e !== t))) }, removeAllEvents() { this.__events = {} }, trigger(e) { for (var t = arguments.length, i = new Array(t > 1 ? t - 1 : 0), s = 1; s < t; s++)i[s - 1] = arguments[s]; this.__events && this.__events[e] && this.__events[e].forEach((e => { e(...i) })) } }; function I(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } let P = "", j = "", B = !1; class R { static buildGlobalContainer(e) { B = !0, P = n({ className: e, id: e }), a("body").appendChild(P) } constructor(e, t) { var r = this; if (I(this, "viewIndexes", [i.days, i.months, i.years]), I(this, "next", (() => { let { year: e, month: t } = this.parsedViewDate; switch (this.currentView) { case i.days: this.setViewDate(new Date(e, t + 1, 1)); break; case i.months: this.setViewDate(new Date(e + 1, t, 1)); break; case i.years: this.setViewDate(new Date(e + 10, 0, 1)) } })), I(this, "prev", (() => { let { year: e, month: t } = this.parsedViewDate; switch (this.currentView) { case i.days: this.setViewDate(new Date(e, t - 1, 1)); break; case i.months: this.setViewDate(new Date(e - 1, t, 1)); break; case i.years: this.setViewDate(new Date(e - 10, 0, 1)) } })), I(this, "_finishHide", (() => { this.hideAnimation = !1, this._destroyComponents(), this.$container.removeChild(this.$datepicker) })), I(this, "setPosition", (function (e) { let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; if ("function" == typeof (e = e || r.opts.position)) return void (r.customHide = e({ $datepicker: r.$datepicker, $target: r.$el, $pointer: r.$pointer, isViewChange: t, done: r._finishHide })); let i, s, { isMobile: a } = r.opts, n = r.$el.getBoundingClientRect(), o = r.$el.getBoundingClientRect(), h = r.$datepicker.offsetParent, l = r.$el.offsetParent, d = r.$datepicker.getBoundingClientRect(), c = e.split(" "), u = window.scrollY, p = window.scrollX, m = r.opts.offset, v = c[0], g = c[1]; if (a) r.$datepicker.style.cssText = "left: 50%; top: 50%"; else { if (h === l && h !== document.body && (o = { top: r.$el.offsetTop, left: r.$el.offsetLeft, width: n.width, height: r.$el.offsetHeight }, u = 0, p = 0), h !== l && h !== document.body) { let e = h.getBoundingClientRect(); o = { top: n.top - e.top, left: n.left - e.left, width: n.width, height: n.height }, u = 0, p = 0 } switch (v) { case "top": i = o.top - d.height - m; break; case "right": s = o.left + o.width + m; break; case "bottom": i = o.top + o.height + m; break; case "left": s = o.left - d.width - m }switch (g) { case "top": i = o.top; break; case "right": s = o.left + o.width - d.width; break; case "bottom": i = o.top + o.height - d.height; break; case "left": s = o.left; break; case "center": /left|right/.test(v) ? i = o.top + o.height / 2 - d.height / 2 : s = o.left + o.width / 2 - d.width / 2 }r.$datepicker.style.cssText = `left: ${s + p}px; top: ${i + u}px` } })), I(this, "_setInputValue", (() => { let { opts: e, $altField: t, locale: { dateFormat: i } } = this, { altFieldDateFormat: s, altField: a } = e; a && t && (t.value = this._getInputValue(s)), this.$el.value = this._getInputValue(i) })), I(this, "_getInputValue", (e => { let { selectedDates: t, opts: i } = this, { multipleDates: s, multipleDatesSeparator: a } = i; if (!t.length) return ""; let n = "function" == typeof e, r = n ? e(s ? t : t[0]) : t.map((t => this.formatDate(t, e))); return r = n ? r : r.join(a), r })), I(this, "_checkIfDateIsSelected", (function (e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : i.days, s = !1; return r.selectedDates.some((i => { let a = p(e, i, t); return s = a && i, a })), s })), I(this, "_scheduleCallAfterTransition", (e => { this._cancelScheduledCall(), e && e(!1), this._onTransitionEnd = () => { e && e(!0) }, this.$datepicker.addEventListener("transitionend", this._onTransitionEnd, { once: !0 }) })), I(this, "_cancelScheduledCall", (() => { this.$datepicker.removeEventListener("transitionend", this._onTransitionEnd) })), I(this, "setViewDate", (e => { if (!((e = b(e)) instanceof Date)) return; if (p(e, this.viewDate)) return; let t = this.viewDate; this.viewDate = e; let { onChangeViewDate: s } = this.opts; if (s) { let { month: e, year: t } = this.parsedViewDate; s({ month: e, year: t, decade: this.curDecade }) } this.trigger(i.eventChangeViewDate, e, t) })), I(this, "setFocusDate", (function (e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; (!e || (e = b(e)) instanceof Date) && (r.focusDate = e, r.trigger(i.eventChangeFocusDate, e, t)) })), I(this, "setCurrentView", (function (e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; if (r.viewIndexes.includes(e)) { if (r.currentView = e, r.elIsInput && r.visible && r.setPosition(void 0, !0), r.trigger(i.eventChangeCurrentView, e), !r.views[e]) { let t = r.views[e] = new T({ dp: r, opts: r.opts, type: e }); r.shouldUpdateDOM && r.$content.appendChild(t.$el) } r.opts.onChangeView && !t.silent && r.opts.onChangeView(e) } })), I(this, "_updateLastSelectedDate", (e => { this.lastSelectedDate = e, this.trigger(i.eventChangeLastSelectedDate, e) })), I(this, "destroy", (() => { let { showEvent: e, isMobile: t } = this.opts, i = this.$datepicker.parentNode; i && i.removeChild(this.$datepicker), this.$el.removeEventListener(e, this._onFocus), this.$el.removeEventListener("blur", this._onBlur), window.removeEventListener("resize", this._onResize), t && this._removeMobileAttributes(), this.keyboardNav && this.keyboardNav.destroy(), this.views = null, this.nav = null, this.$datepicker = null, this.opts = null, this.$customContainer = null, this.viewDate = null, this.focusDate = null, this.selectedDates = null, this.rangeDateFrom = null, this.rangeDateTo = null })), I(this, "update", (function () { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, s = w({}, r.opts), { silent: a } = t; w(r.opts, e); let { timepicker: n, buttons: o, range: h, selectedDates: l, isMobile: d } = r.opts, c = r.visible || r.treatAsInline; r._createMinMaxDates(), r._limitViewDateByMaxMinDates(), r._handleLocale(), l && (r.selectedDates = [], r.selectDate(l, { silent: a })), e.view && r.setCurrentView(e.view, { silent: a }), r._setInputValue(), s.range && !h ? (r.rangeDateTo = !1, r.rangeDateFrom = !1) : !s.range && h && r.selectedDates.length && (r.rangeDateFrom = r.selectedDates[0], r.rangeDateTo = r.selectedDates[1]), s.timepicker && !n ? (c && r.timepicker.destroy(), r.timepicker = !1, r.$timepicker.parentNode.removeChild(r.$timepicker)) : !s.timepicker && n && r._addTimepicker(), !s.buttons && o ? r._addButtons() : s.buttons && !o ? (r.buttons.destroy(), r.$buttons.parentNode.removeChild(r.$buttons)) : c && s.buttons && o && r.buttons.clearHtml().render(), !s.isMobile && d ? (r.treatAsInline || j || r._createMobileOverlay(), r._addMobileAttributes(), r.visible && r._showMobileOverlay()) : s.isMobile && !d && (r._removeMobileAttributes(), r.visible && (j.classList.remove("-active-"), "function" != typeof r.opts.position && r.setPosition())), c && (r.nav.update(), r.views[r.currentView].render(), r.currentView === i.days && r.views[r.currentView].renderDayNames()) })), I(this, "disableDate", ((e, t) => { (Array.isArray(e) ? e : [e]).forEach((e => { let i = b(e); if (!i) return; let s = t ? "delete" : "add"; this.disabledDates[s](this.formatDate(i, "yyyy-MM-dd")); let a = this.getCell(i, this.currentViewSingular); a && a.adpCell.render() }), []) })), I(this, "enableDate", (e => { this.disableDate(e, !0) })), I(this, "isDateDisabled", (e => { let t = b(e); return this.disabledDates.has(this.formatDate(t, "yyyy-MM-dd")) })), I(this, "isOtherMonth", (e => { let { month: t } = h(e); return t !== this.parsedViewDate.month })), I(this, "isOtherYear", (e => { let { year: t } = h(e); return t !== this.parsedViewDate.year })), I(this, "isOtherDecade", (e => { let { year: t } = h(e), [i, s] = c(this.viewDate); return t < i || t > s })), I(this, "_onChangeSelectedDate", (e => { let { silent: t } = e; setTimeout((() => { this._setInputValue(), this.opts.onSelect && !t && this._triggerOnSelect() })) })), I(this, "_onChangeFocusedDate", (function (e) { let { viewDateTransition: t } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; if (!e) return; let i = !1; t && (i = r.isOtherMonth(e) || r.isOtherYear(e) || r.isOtherDecade(e)), i && r.setViewDate(e), r.opts.onFocus && r.opts.onFocus({ datepicker: r, date: e }) })), I(this, "_onChangeTime", (e => { let { hours: t, minutes: i } = e, s = new Date, { lastSelectedDate: a, opts: { onSelect: n } } = this, r = a; a || (r = s); let o = this.getCell(r, this.currentViewSingular), h = o && o.adpCell; h && h.isDisabled || (r.setHours(t), r.setMinutes(i), a ? (this._setInputValue(), n && this._triggerOnSelect()) : this.selectDate(r)) })), I(this, "_onFocus", (e => { this.visible || this.show() })), I(this, "_onBlur", (e => { this.inFocus || !this.visible || this.opts.isMobile || this.hide() })), I(this, "_onMouseDown", (e => { this.inFocus = !0 })), I(this, "_onMouseUp", (e => { this.inFocus = !1, this.$el.focus() })), I(this, "_onResize", (() => { this.visible && "function" != typeof this.opts.position && this.setPosition() })), I(this, "_onClickOverlay", (() => { this.visible && this.hide() })), I(this, "getViewDates", (function () { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : i.days; return T.getDatesFunction(e)(r) })), I(this, "isWeekend", (e => this.opts.weekends.includes(e))), I(this, "getClampedDate", (e => { let { minDate: t, maxDate: i } = this, s = e; return i && m(e, i) ? s = i : t && v(e, t) && (s = t), s })), this.$el = a(e), !this.$el) return; this.$datepicker = n({ className: "air-datepicker" }), this.opts = w({}, s, t), this.$customContainer = !!this.opts.container && a(this.opts.container), this.$altField = a(this.opts.altField || !1); let { view: o, startDate: l } = this.opts; l || (this.opts.startDate = new Date), "INPUT" === this.$el.nodeName && (this.elIsInput = !0), this.inited = !1, this.visible = !1, this.viewDate = b(this.opts.startDate), this.focusDate = !1, this.initialReadonly = this.$el.getAttribute("readonly"), this.customHide = !1, this.currentView = o, this.selectedDates = [], this.disabledDates = new Set, this.views = {}, this.keys = [], this.rangeDateFrom = "", this.rangeDateTo = "", this.timepickerIsActive = !1, this.treatAsInline = this.opts.inline || !this.elIsInput, this.init() } init() { let { opts: e, treatAsInline: t, opts: { inline: i, isMobile: s, selectedDates: n, keyboardNav: r, onlyTimepicker: o } } = this, h = a("body"); (!B || B && P && !h.contains(P)) && !i && this.elIsInput && !this.$customContainer && R.buildGlobalContainer(R.defaultGlobalContainerId), !s || j || t || this._createMobileOverlay(), this._handleLocale(), this._bindSubEvents(), this._createMinMaxDates(), this._limitViewDateByMaxMinDates(), this.elIsInput && (i || this._bindEvents(), r && !o && (this.keyboardNav = new A({ dp: this, opts: e }))), n && this.selectDate(n, { silent: !0 }), this.opts.visible && !t && this.show(), s && !t && this.$el.setAttribute("readonly", !0), t && this._createComponents() } _createMobileOverlay() { j = n({ className: "air-datepicker-overlay" }), P.appendChild(j) } _createComponents() { let { opts: e, treatAsInline: t, opts: { inline: i, buttons: s, timepicker: a, position: n, classes: r, onlyTimepicker: o, isMobile: h } } = this; this._buildBaseHtml(), this.elIsInput && (i || this._setPositionClasses(n)), !i && this.elIsInput || this.$datepicker.classList.add("-inline-"), r && this.$datepicker.classList.add(...r.split(" ")), o && this.$datepicker.classList.add("-only-timepicker-"), h && !t && this._addMobileAttributes(), this.views[this.currentView] = new T({ dp: this, type: this.currentView, opts: e }), this.nav = new V({ dp: this, opts: e }), a && this._addTimepicker(), s && this._addButtons(), this.$content.appendChild(this.views[this.currentView].$el), this.$nav.appendChild(this.nav.$el) } _destroyComponents() { for (let e in this.views) this.views[e].destroy(); this.views = {}, this.nav.destroy(), this.timepicker && this.timepicker.destroy() } _addMobileAttributes() { j.addEventListener("click", this._onClickOverlay), this.$datepicker.classList.add("-is-mobile-"), this.$el.setAttribute("readonly", !0) } _removeMobileAttributes() { j.removeEventListener("click", this._onClickOverlay), this.$datepicker.classList.remove("-is-mobile-"), this.initialReadonly || "" === this.initialReadonly || this.$el.removeAttribute("readonly") } _createMinMaxDates() { let { minDate: e, maxDate: t } = this.opts; this.minDate = !!e && b(e), this.maxDate = !!t && b(t) } _addTimepicker() { this.$timepicker = n({ className: "air-datepicker--time" }), this.$datepicker.appendChild(this.$timepicker), this.timepicker = new L({ dp: this, opts: this.opts }), this.$timepicker.appendChild(this.timepicker.$el) } _addButtons() { this.$buttons = n({ className: "air-datepicker--buttons" }), this.$datepicker.appendChild(this.$buttons), this.buttons = new H({ dp: this, opts: this.opts }), this.$buttons.appendChild(this.buttons.$el) } _bindSubEvents() { this.on(i.eventChangeSelectedDate, this._onChangeSelectedDate), this.on(i.eventChangeFocusDate, this._onChangeFocusedDate), this.on(i.eventChangeTime, this._onChangeTime) } _buildBaseHtml() { let { inline: e } = this.opts; var t, i; this.elIsInput ? e ? (t = this.$datepicker, (i = this.$el).parentNode.insertBefore(t, i.nextSibling)) : this.$container.appendChild(this.$datepicker) : this.$el.appendChild(this.$datepicker), this.$datepicker.innerHTML = '
', this.$content = a(".air-datepicker--content", this.$datepicker), this.$pointer = a(".air-datepicker--pointer", this.$datepicker), this.$nav = a(".air-datepicker--navigation", this.$datepicker) } _handleLocale() { let { locale: e, dateFormat: t, firstDay: i, timepicker: s, onlyTimepicker: a, timeFormat: n, dateTimeSeparator: r } = this.opts; var o; this.locale = (o = e, JSON.parse(JSON.stringify(o))), t && (this.locale.dateFormat = t), void 0 !== n && "" !== n && (this.locale.timeFormat = n); let { timeFormat: h } = this.locale; if ("" !== i && (this.locale.firstDay = i), s && "function" != typeof t) { let e = h ? r : ""; this.locale.dateFormat = [this.locale.dateFormat, h || ""].join(e) } a && "function" != typeof t && (this.locale.dateFormat = this.locale.timeFormat) } _setPositionClasses(e) { if ("function" == typeof e) return void this.$datepicker.classList.add("-custom-position-"); let t = (e = e.split(" "))[0], i = `air-datepicker -${t}-${e[1]}- -from-${t}-`; this.$datepicker.classList.add(...i.split(" ")) } _bindEvents() { this.$el.addEventListener(this.opts.showEvent, this._onFocus), this.$el.addEventListener("blur", this._onBlur), this.$datepicker.addEventListener("mousedown", this._onMouseDown), this.$datepicker.addEventListener("mouseup", this._onMouseUp), window.addEventListener("resize", this._onResize) } _limitViewDateByMaxMinDates() { let { viewDate: e, minDate: t, maxDate: i } = this; i && m(e, i) && this.setViewDate(i), t && v(e, t) && this.setViewDate(t) } formatDate() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.viewDate, t = arguments.length > 1 ? arguments[1] : void 0; if (e = b(e), !(e instanceof Date)) return; let i = t, s = this.locale, a = h(e), n = a.dayPeriod, r = c(e), o = R.replacer, l = { T: e.getTime(), m: a.minutes, mm: a.fullMinutes, h: a.hours12, hh: a.fullHours12, H: a.hours, HH: a.fullHours, aa: n, AA: n.toUpperCase(), E: s.daysShort[a.day], EEEE: s.days[a.day], d: a.date, dd: a.fullDate, M: a.month + 1, MM: a.fullMonth, MMM: s.monthsShort[a.month], MMMM: s.months[a.month], yy: a.year.toString().slice(-2), yyyy: a.year, yyyy1: r[0], yyyy2: r[1] }; for (let [e, t] of Object.entries(l)) i = o(i, k(e), t); return i } down(e) { this._handleUpDownActions(e, "down") } up(e) { this._handleUpDownActions(e, "up") } selectDate(e) { let t, s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, { currentView: a, parsedViewDate: n, selectedDates: r } = this, { updateTime: o } = s, { moveToOtherMonthsOnSelect: h, moveToOtherYearsOnSelect: l, multipleDates: d, range: c, autoClose: u, onBeforeSelect: p } = this.opts, v = r.length; if (Array.isArray(e)) return e.forEach((e => { this.selectDate(e, s) })), new Promise((e => { setTimeout(e) })); if ((e = b(e)) instanceof Date) { if (p && !p({ date: e, datepicker: this })) return Promise.resolve(); if (a === i.days && e.getMonth() !== n.month && h && (t = new Date(e.getFullYear(), e.getMonth(), 1)), a === i.years && e.getFullYear() !== n.year && l && (t = new Date(e.getFullYear(), 0, 1)), t && this.setViewDate(t), d && !c) { if (v === d) return; this._checkIfDateIsSelected(e) || r.push(e) } else if (c) switch (v) { case 1: r.push(e), this.rangeDateTo || (this.rangeDateTo = e), m(this.rangeDateFrom, this.rangeDateTo) && (this.rangeDateTo = this.rangeDateFrom, this.rangeDateFrom = e), this.selectedDates = [this.rangeDateFrom, this.rangeDateTo]; break; case 2: this.selectedDates = [e], this.rangeDateFrom = e, this.rangeDateTo = ""; break; default: this.selectedDates = [e], this.rangeDateFrom = e } else this.selectedDates = [e]; return this.trigger(i.eventChangeSelectedDate, { action: i.actionSelectDate, silent: null == s ? void 0 : s.silent, date: e, updateTime: o }), this._updateLastSelectedDate(e), u && !this.timepickerIsActive && this.visible && (d || c ? c && 1 === v && this.hide() : this.hide()), new Promise((e => { setTimeout(e) })) } } unselectDate(e) { let t = this.selectedDates, s = this; if ((e = b(e)) instanceof Date) return t.some(((a, n) => { if (p(a, e)) return t.splice(n, 1), s.selectedDates.length ? s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length - 1]) : (s.rangeDateFrom = "", s.rangeDateTo = "", s._updateLastSelectedDate(!1)), this.trigger(i.eventChangeSelectedDate, { action: i.actionUnselectDate, date: e }), !0 })) } replaceDate(e, t) { let s = this.selectedDates.find((t => p(t, e, this.currentView))), a = this.selectedDates.indexOf(s); a < 0 || p(this.selectedDates[a], t, this.currentView) || (this.selectedDates[a] = t, this.trigger(i.eventChangeSelectedDate, { action: i.actionSelectDate, date: t, updateTime: !0 }), this._updateLastSelectedDate(t)) } clear() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; return this.selectedDates = [], this.rangeDateFrom = !1, this.rangeDateTo = !1, this.lastSelectedDate = !1, this.trigger(i.eventChangeSelectedDate, { action: i.actionUnselectDate, silent: e.silent }), new Promise((e => { setTimeout(e) })) } show() { let { onShow: e, isMobile: t } = this.opts; this._cancelScheduledCall(), this.visible || this.hideAnimation || this._createComponents(), this.setPosition(this.opts.position), this.$datepicker.classList.add("-active-"), this.visible = !0, e && this._scheduleCallAfterTransition(e), t && this._showMobileOverlay() } hide() { let { onHide: e, isMobile: t } = this.opts, i = this._hasTransition(); this.visible = !1, this.hideAnimation = !0, this.$datepicker.classList.remove("-active-"), this.customHide && this.customHide(), this.elIsInput && this.$el.blur(), this._scheduleCallAfterTransition((t => { !this.customHide && (t && i || !t && !i) && this._finishHide(), e && e(t) })), t && j.classList.remove("-active-") } _triggerOnSelect() { let e = [], t = [], { selectedDates: i, locale: s, opts: { onSelect: a, multipleDates: n, range: r } } = this, o = n || r, h = "function" == typeof s.dateFormat; i.length && (e = i.map(g), t = h ? n ? s.dateFormat(e) : e.map((e => s.dateFormat(e))) : e.map((e => this.formatDate(e, s.dateFormat)))), a({ date: o ? e : e[0], formattedDate: o ? t : t[0], datepicker: this }) } _handleAlreadySelectedDates(e, t) { let { selectedDates: i, rangeDateFrom: s, rangeDateTo: a } = this, { range: n, toggleSelected: r } = this.opts, o = i.length, h = "function" == typeof r ? r({ datepicker: this, date: t }) : r, l = Boolean(n && 1 === o && e), d = l ? g(t) : t; n && !h && (2 !== o && this.selectDate(d), 2 === o && p(s, a)) || (h ? this.unselectDate(d) : this._updateLastSelectedDate(l ? d : e)) } _handleUpDownActions(e, t) { if (!((e = b(e || this.focusDate || this.viewDate)) instanceof Date)) return; let i = "up" === t ? this.viewIndex + 1 : this.viewIndex - 1; i > 2 && (i = 2), i < 0 && (i = 0), this.setViewDate(new Date(e.getFullYear(), e.getMonth(), 1)), this.setCurrentView(this.viewIndexes[i]) } getCell(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : i.day; if (!((e = b(e)) instanceof Date)) return; let { year: s, month: a, date: n } = h(e), r = `[data-year="${s}"]`, o = `[data-month="${a}"]`, l = { [i.day]: `${r}${o}[data-date="${n}"]`, [i.month]: `${r}${o}`, [i.year]: `${r}` }; return this.views[this.currentView] ? this.views[this.currentView].$el.querySelector(l[t]) : void 0 } _showMobileOverlay() { j.classList.add("-active-") } _hasTransition() { return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce(((e, t) => parseFloat(t) + e), 0) > 0 } get shouldUpdateDOM() { return this.visible || this.treatAsInline } get parsedViewDate() { return h(this.viewDate) } get currentViewSingular() { return this.currentView.slice(0, -1) } get curDecade() { return c(this.viewDate) } get viewIndex() { return this.viewIndexes.indexOf(this.currentView) } get isFinalView() { return this.currentView === i.years } get hasSelectedDates() { return this.selectedDates.length > 0 } get isMinViewReached() { return this.currentView === this.opts.minView || this.currentView === i.days } get $container() { return this.$customContainer || P } static replacer(e, t, i) { return e.replace(t, (function (e, t, s, a) { return t + i + a })) } } var K; return I(R, "defaults", s), I(R, "version", "3.5.0"), I(R, "defaultGlobalContainerId", "air-datepicker-global-container"), K = R.prototype, Object.assign(K, N), t.default }() })); +var _default = { + days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], + months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + today: 'Today', + clear: 'Clear', + dateFormat: 'MM/dd/yyyy', + timeFormat: 'hh:mm aa', + firstDay: 0 +}; +window.langEng = _default +window.AScript.set("js-datepicker", true); \ No newline at end of file diff --git a/ManagementApp/wwwroot/js/ext_libs/js-masonry.min.js b/ManagementApp/wwwroot/js/ext_libs/js-masonry.min.js new file mode 100644 index 0000000..3d7deca --- /dev/null +++ b/ManagementApp/wwwroot/js/ext_libs/js-masonry.min.js @@ -0,0 +1,2 @@ +!function (t, e) { "function" == typeof define && define.amd ? define("jquery-bridget/jquery-bridget", ["jquery"], function (i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("jquery")) : t.jQueryBridget = e(t, t.jQuery) }(window, function (t, e) { "use strict"; function i(i, r, a) { function h(t, e, n) { var o, r = "$()." + i + '("' + e + '")'; return t.each(function (t, h) { var u = a.data(h, i); if (!u) return void s(i + " not initialized. Cannot call methods, i.e. " + r); var d = u[e]; if (!d || "_" == e.charAt(0)) return void s(r + " is not a valid method"); var l = d.apply(u, n); o = void 0 === o ? l : o }), void 0 !== o ? o : t } function u(t, e) { t.each(function (t, n) { var o = a.data(n, i); o ? (o.option(e), o._init()) : (o = new r(n, e), a.data(n, i, o)) }) } a = a || e || t.jQuery, a && (r.prototype.option || (r.prototype.option = function (t) { a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t)) }), a.fn[i] = function (t) { if ("string" == typeof t) { var e = o.call(arguments, 1); return h(this, t, e) } return u(this, t), this }, n(a)) } function n(t) { !t || t && t.bridget || (t.bridget = i) } var o = Array.prototype.slice, r = t.console, s = "undefined" == typeof r ? function () { } : function (t) { r.error(t) }; return n(e || t.jQuery), i }), function (t, e) { "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e() }("undefined" != typeof window ? window : this, function () { function t() { } var e = t.prototype; return e.on = function (t, e) { if (t && e) { var i = this._events = this._events || {}, n = i[t] = i[t] || []; return -1 == n.indexOf(e) && n.push(e), this } }, e.once = function (t, e) { if (t && e) { this.on(t, e); var i = this._onceEvents = this._onceEvents || {}, n = i[t] = i[t] || {}; return n[e] = !0, this } }, e.off = function (t, e) { var i = this._events && this._events[t]; if (i && i.length) { var n = i.indexOf(e); return -1 != n && i.splice(n, 1), this } }, e.emitEvent = function (t, e) { var i = this._events && this._events[t]; if (i && i.length) { i = i.slice(0), e = e || []; for (var n = this._onceEvents && this._onceEvents[t], o = 0; o < i.length; o++) { var r = i[o], s = n && n[r]; s && (this.off(t, r), delete n[r]), r.apply(this, e) } return this } }, e.allOff = function () { delete this._events, delete this._onceEvents }, t }), function (t, e) { "function" == typeof define && define.amd ? define("get-size/get-size", e) : "object" == typeof module && module.exports ? module.exports = e() : t.getSize = e() }(window, function () { "use strict"; function t(t) { var e = parseFloat(t), i = -1 == t.indexOf("%") && !isNaN(e); return i && e } function e() { } function i() { for (var t = { width: 0, height: 0, innerWidth: 0, innerHeight: 0, outerWidth: 0, outerHeight: 0 }, e = 0; u > e; e++) { var i = h[e]; t[i] = 0 } return t } function n(t) { var e = getComputedStyle(t); return e || a("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), e } function o() { if (!d) { d = !0; var e = document.createElement("div"); e.style.width = "200px", e.style.padding = "1px 2px 3px 4px", e.style.borderStyle = "solid", e.style.borderWidth = "1px 2px 3px 4px", e.style.boxSizing = "border-box"; var i = document.body || document.documentElement; i.appendChild(e); var o = n(e); s = 200 == Math.round(t(o.width)), r.isBoxSizeOuter = s, i.removeChild(e) } } function r(e) { if (o(), "string" == typeof e && (e = document.querySelector(e)), e && "object" == typeof e && e.nodeType) { var r = n(e); if ("none" == r.display) return i(); var a = {}; a.width = e.offsetWidth, a.height = e.offsetHeight; for (var d = a.isBorderBox = "border-box" == r.boxSizing, l = 0; u > l; l++) { var c = h[l], f = r[c], m = parseFloat(f); a[c] = isNaN(m) ? 0 : m } var p = a.paddingLeft + a.paddingRight, g = a.paddingTop + a.paddingBottom, y = a.marginLeft + a.marginRight, v = a.marginTop + a.marginBottom, _ = a.borderLeftWidth + a.borderRightWidth, z = a.borderTopWidth + a.borderBottomWidth, E = d && s, b = t(r.width); b !== !1 && (a.width = b + (E ? 0 : p + _)); var x = t(r.height); return x !== !1 && (a.height = x + (E ? 0 : g + z)), a.innerWidth = a.width - (p + _), a.innerHeight = a.height - (g + z), a.outerWidth = a.width + y, a.outerHeight = a.height + v, a } } var s, a = "undefined" == typeof console ? e : function (t) { console.error(t) }, h = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"], u = h.length, d = !1; return r }), function (t, e) { "use strict"; "function" == typeof define && define.amd ? define("desandro-matches-selector/matches-selector", e) : "object" == typeof module && module.exports ? module.exports = e() : t.matchesSelector = e() }(window, function () { "use strict"; var t = function () { var t = window.Element.prototype; if (t.matches) return "matches"; if (t.matchesSelector) return "matchesSelector"; for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { var n = e[i], o = n + "MatchesSelector"; if (t[o]) return o } }(); return function (e, i) { return e[t](i) } }), function (t, e) { "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], function (i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("desandro-matches-selector")) : t.fizzyUIUtils = e(t, t.matchesSelector) }(window, function (t, e) { var i = {}; i.extend = function (t, e) { for (var i in e) t[i] = e[i]; return t }, i.modulo = function (t, e) { return (t % e + e) % e }; var n = Array.prototype.slice; i.makeArray = function (t) { if (Array.isArray(t)) return t; if (null === t || void 0 === t) return []; var e = "object" == typeof t && "number" == typeof t.length; return e ? n.call(t) : [t] }, i.removeFrom = function (t, e) { var i = t.indexOf(e); -1 != i && t.splice(i, 1) }, i.getParent = function (t, i) { for (; t.parentNode && t != document.body;)if (t = t.parentNode, e(t, i)) return t }, i.getQueryElement = function (t) { return "string" == typeof t ? document.querySelector(t) : t }, i.handleEvent = function (t) { var e = "on" + t.type; this[e] && this[e](t) }, i.filterFindElements = function (t, n) { t = i.makeArray(t); var o = []; return t.forEach(function (t) { if (t instanceof HTMLElement) { if (!n) return void o.push(t); e(t, n) && o.push(t); for (var i = t.querySelectorAll(n), r = 0; r < i.length; r++)o.push(i[r]) } }), o }, i.debounceMethod = function (t, e, i) { i = i || 100; var n = t.prototype[e], o = e + "Timeout"; t.prototype[e] = function () { var t = this[o]; clearTimeout(t); var e = arguments, r = this; this[o] = setTimeout(function () { n.apply(r, e), delete r[o] }, i) } }, i.docReady = function (t) { var e = document.readyState; "complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t) }, i.toDashed = function (t) { return t.replace(/(.)([A-Z])/g, function (t, e, i) { return e + "-" + i }).toLowerCase() }; var o = t.console; return i.htmlInit = function (e, n) { i.docReady(function () { var r = i.toDashed(n), s = "data-" + r, a = document.querySelectorAll("[" + s + "]"), h = document.querySelectorAll(".js-" + r), u = i.makeArray(a).concat(i.makeArray(h)), d = s + "-options", l = t.jQuery; u.forEach(function (t) { var i, r = t.getAttribute(s) || t.getAttribute(d); try { i = r && JSON.parse(r) } catch (a) { return void (o && o.error("Error parsing " + s + " on " + t.className + ": " + a)) } var h = new e(t, i); l && l.data(t, n, h) }) }) }, i }), function (t, e) { "function" == typeof define && define.amd ? define("outlayer/item", ["ev-emitter/ev-emitter", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("ev-emitter"), require("get-size")) : (t.Outlayer = {}, t.Outlayer.Item = e(t.EvEmitter, t.getSize)) }(window, function (t, e) { "use strict"; function i(t) { for (var e in t) return !1; return e = null, !0 } function n(t, e) { t && (this.element = t, this.layout = e, this.position = { x: 0, y: 0 }, this._create()) } function o(t) { return t.replace(/([A-Z])/g, function (t) { return "-" + t.toLowerCase() }) } var r = document.documentElement.style, s = "string" == typeof r.transition ? "transition" : "WebkitTransition", a = "string" == typeof r.transform ? "transform" : "WebkitTransform", h = { WebkitTransition: "webkitTransitionEnd", transition: "transitionend" }[s], u = { transform: a, transition: s, transitionDuration: s + "Duration", transitionProperty: s + "Property", transitionDelay: s + "Delay" }, d = n.prototype = Object.create(t.prototype); d.constructor = n, d._create = function () { this._transn = { ingProperties: {}, clean: {}, onEnd: {} }, this.css({ position: "absolute" }) }, d.handleEvent = function (t) { var e = "on" + t.type; this[e] && this[e](t) }, d.getSize = function () { this.size = e(this.element) }, d.css = function (t) { var e = this.element.style; for (var i in t) { var n = u[i] || i; e[n] = t[i] } }, d.getPosition = function () { var t = getComputedStyle(this.element), e = this.layout._getOption("originLeft"), i = this.layout._getOption("originTop"), n = t[e ? "left" : "right"], o = t[i ? "top" : "bottom"], r = parseFloat(n), s = parseFloat(o), a = this.layout.size; -1 != n.indexOf("%") && (r = r / 100 * a.width), -1 != o.indexOf("%") && (s = s / 100 * a.height), r = isNaN(r) ? 0 : r, s = isNaN(s) ? 0 : s, r -= e ? a.paddingLeft : a.paddingRight, s -= i ? a.paddingTop : a.paddingBottom, this.position.x = r, this.position.y = s }, d.layoutPosition = function () { var t = this.layout.size, e = {}, i = this.layout._getOption("originLeft"), n = this.layout._getOption("originTop"), o = i ? "paddingLeft" : "paddingRight", r = i ? "left" : "right", s = i ? "right" : "left", a = this.position.x + t[o]; e[r] = this.getXValue(a), e[s] = ""; var h = n ? "paddingTop" : "paddingBottom", u = n ? "top" : "bottom", d = n ? "bottom" : "top", l = this.position.y + t[h]; e[u] = this.getYValue(l), e[d] = "", this.css(e), this.emitEvent("layout", [this]) }, d.getXValue = function (t) { var e = this.layout._getOption("horizontal"); return this.layout.options.percentPosition && !e ? t / this.layout.size.width * 100 + "%" : t + "px" }, d.getYValue = function (t) { var e = this.layout._getOption("horizontal"); return this.layout.options.percentPosition && e ? t / this.layout.size.height * 100 + "%" : t + "px" }, d._transitionTo = function (t, e) { this.getPosition(); var i = this.position.x, n = this.position.y, o = t == this.position.x && e == this.position.y; if (this.setPosition(t, e), o && !this.isTransitioning) return void this.layoutPosition(); var r = t - i, s = e - n, a = {}; a.transform = this.getTranslate(r, s), this.transition({ to: a, onTransitionEnd: { transform: this.layoutPosition }, isCleaning: !0 }) }, d.getTranslate = function (t, e) { var i = this.layout._getOption("originLeft"), n = this.layout._getOption("originTop"); return t = i ? t : -t, e = n ? e : -e, "translate3d(" + t + "px, " + e + "px, 0)" }, d.goTo = function (t, e) { this.setPosition(t, e), this.layoutPosition() }, d.moveTo = d._transitionTo, d.setPosition = function (t, e) { this.position.x = parseFloat(t), this.position.y = parseFloat(e) }, d._nonTransition = function (t) { this.css(t.to), t.isCleaning && this._removeStyles(t.to); for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this) }, d.transition = function (t) { if (!parseFloat(this.layout.options.transitionDuration)) return void this._nonTransition(t); var e = this._transn; for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; for (i in t.to) e.ingProperties[i] = !0, t.isCleaning && (e.clean[i] = !0); if (t.from) { this.css(t.from); var n = this.element.offsetHeight; n = null } this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0 }; var l = "opacity," + o(a); d.enableTransition = function () { if (!this.isTransitioning) { var t = this.layout.options.transitionDuration; t = "number" == typeof t ? t + "ms" : t, this.css({ transitionProperty: l, transitionDuration: t, transitionDelay: this.staggerDelay || 0 }), this.element.addEventListener(h, this, !1) } }, d.onwebkitTransitionEnd = function (t) { this.ontransitionend(t) }, d.onotransitionend = function (t) { this.ontransitionend(t) }; var c = { "-webkit-transform": "transform" }; d.ontransitionend = function (t) { if (t.target === this.element) { var e = this._transn, n = c[t.propertyName] || t.propertyName; if (delete e.ingProperties[n], i(e.ingProperties) && this.disableTransition(), n in e.clean && (this.element.style[t.propertyName] = "", delete e.clean[n]), n in e.onEnd) { var o = e.onEnd[n]; o.call(this), delete e.onEnd[n] } this.emitEvent("transitionEnd", [this]) } }, d.disableTransition = function () { this.removeTransitionStyles(), this.element.removeEventListener(h, this, !1), this.isTransitioning = !1 }, d._removeStyles = function (t) { var e = {}; for (var i in t) e[i] = ""; this.css(e) }; var f = { transitionProperty: "", transitionDuration: "", transitionDelay: "" }; return d.removeTransitionStyles = function () { this.css(f) }, d.stagger = function (t) { t = isNaN(t) ? 0 : t, this.staggerDelay = t + "ms" }, d.removeElem = function () { this.element.parentNode.removeChild(this.element), this.css({ display: "" }), this.emitEvent("remove", [this]) }, d.remove = function () { return s && parseFloat(this.layout.options.transitionDuration) ? (this.once("transitionEnd", function () { this.removeElem() }), void this.hide()) : void this.removeElem() }, d.reveal = function () { delete this.isHidden, this.css({ display: "" }); var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty("visibleStyle"); e[i] = this.onRevealTransitionEnd, this.transition({ from: t.hiddenStyle, to: t.visibleStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onRevealTransitionEnd = function () { this.isHidden || this.emitEvent("reveal") }, d.getHideRevealTransitionEndProperty = function (t) { var e = this.layout.options[t]; if (e.opacity) return "opacity"; for (var i in e) return i }, d.hide = function () { this.isHidden = !0, this.css({ display: "" }); var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty("hiddenStyle"); e[i] = this.onHideTransitionEnd, this.transition({ from: t.visibleStyle, to: t.hiddenStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onHideTransitionEnd = function () { this.isHidden && (this.css({ display: "none" }), this.emitEvent("hide")) }, d.destroy = function () { this.css({ position: "", left: "", right: "", top: "", bottom: "", transition: "", transform: "" }) }, n }), function (t, e) { "use strict"; "function" == typeof define && define.amd ? define("outlayer/outlayer", ["ev-emitter/ev-emitter", "get-size/get-size", "fizzy-ui-utils/utils", "./item"], function (i, n, o, r) { return e(t, i, n, o, r) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter"), require("get-size"), require("fizzy-ui-utils"), require("./item")) : t.Outlayer = e(t, t.EvEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item) }(window, function (t, e, i, n, o) { "use strict"; function r(t, e) { var i = n.getQueryElement(t); if (!i) return void (h && h.error("Bad element for " + this.constructor.namespace + ": " + (i || t))); this.element = i, u && (this.$element = u(this.element)), this.options = n.extend({}, this.constructor.defaults), this.option(e); var o = ++l; this.element.outlayerGUID = o, c[o] = this, this._create(); var r = this._getOption("initLayout"); r && this.layout() } function s(t) { function e() { t.apply(this, arguments) } return e.prototype = Object.create(t.prototype), e.prototype.constructor = e, e } function a(t) { if ("number" == typeof t) return t; var e = t.match(/(^\d*\.?\d*)(\w*)/), i = e && e[1], n = e && e[2]; if (!i.length) return 0; i = parseFloat(i); var o = m[n] || 1; return i * o } var h = t.console, u = t.jQuery, d = function () { }, l = 0, c = {}; r.namespace = "outlayer", r.Item = o, r.defaults = { containerStyle: { position: "relative" }, initLayout: !0, originLeft: !0, originTop: !0, resize: !0, resizeContainer: !0, transitionDuration: "0.4s", hiddenStyle: { opacity: 0, transform: "scale(0.001)" }, visibleStyle: { opacity: 1, transform: "scale(1)" } }; var f = r.prototype; n.extend(f, e.prototype), f.option = function (t) { n.extend(this.options, t) }, f._getOption = function (t) { var e = this.constructor.compatOptions[t]; return e && void 0 !== this.options[e] ? this.options[e] : this.options[t] }, r.compatOptions = { initLayout: "isInitLayout", horizontal: "isHorizontal", layoutInstant: "isLayoutInstant", originLeft: "isOriginLeft", originTop: "isOriginTop", resize: "isResizeBound", resizeContainer: "isResizingContainer" }, f._create = function () { this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), n.extend(this.element.style, this.options.containerStyle); var t = this._getOption("resize"); t && this.bindResize() }, f.reloadItems = function () { this.items = this._itemize(this.element.children) }, f._itemize = function (t) { for (var e = this._filterFindItemElements(t), i = this.constructor.Item, n = [], o = 0; o < e.length; o++) { var r = e[o], s = new i(r, this); n.push(s) } return n }, f._filterFindItemElements = function (t) { return n.filterFindElements(t, this.options.itemSelector) }, f.getItemElements = function () { return this.items.map(function (t) { return t.element }) }, f.layout = function () { this._resetLayout(), this._manageStamps(); var t = this._getOption("layoutInstant"), e = void 0 !== t ? t : !this._isLayoutInited; this.layoutItems(this.items, e), this._isLayoutInited = !0 }, f._init = f.layout, f._resetLayout = function () { this.getSize() }, f.getSize = function () { this.size = i(this.element) }, f._getMeasurement = function (t, e) { var n, o = this.options[t]; o ? ("string" == typeof o ? n = this.element.querySelector(o) : o instanceof HTMLElement && (n = o), this[t] = n ? i(n)[e] : o) : this[t] = 0 }, f.layoutItems = function (t, e) { t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout() }, f._getItemsForLayout = function (t) { return t.filter(function (t) { return !t.isIgnored }) }, f._layoutItems = function (t, e) { if (this._emitCompleteOnItems("layout", t), t && t.length) { var i = []; t.forEach(function (t) { var n = this._getItemLayoutPosition(t); n.item = t, n.isInstant = e || t.isLayoutInstant, i.push(n) }, this), this._processLayoutQueue(i) } }, f._getItemLayoutPosition = function () { return { x: 0, y: 0 } }, f._processLayoutQueue = function (t) { this.updateStagger(), t.forEach(function (t, e) { this._positionItem(t.item, t.x, t.y, t.isInstant, e) }, this) }, f.updateStagger = function () { var t = this.options.stagger; return null === t || void 0 === t ? void (this.stagger = 0) : (this.stagger = a(t), this.stagger) }, f._positionItem = function (t, e, i, n, o) { n ? t.goTo(e, i) : (t.stagger(o * this.stagger), t.moveTo(e, i)) }, f._postLayout = function () { this.resizeContainer() }, f.resizeContainer = function () { var t = this._getOption("resizeContainer"); if (t) { var e = this._getContainerSize(); e && (this._setContainerMeasure(e.width, !0), this._setContainerMeasure(e.height, !1)) } }, f._getContainerSize = d, f._setContainerMeasure = function (t, e) { if (void 0 !== t) { var i = this.size; i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), t = Math.max(t, 0), this.element.style[e ? "width" : "height"] = t + "px" } }, f._emitCompleteOnItems = function (t, e) { function i() { o.dispatchEvent(t + "Complete", null, [e]) } function n() { s++, s == r && i() } var o = this, r = e.length; if (!e || !r) return void i(); var s = 0; e.forEach(function (e) { e.once(t, n) }) }, f.dispatchEvent = function (t, e, i) { var n = e ? [e].concat(i) : i; if (this.emitEvent(t, n), u) if (this.$element = this.$element || u(this.element), e) { var o = u.Event(e); o.type = t, this.$element.trigger(o, i) } else this.$element.trigger(t, i) }, f.ignore = function (t) { var e = this.getItem(t); e && (e.isIgnored = !0) }, f.unignore = function (t) { var e = this.getItem(t); e && delete e.isIgnored }, f.stamp = function (t) { t = this._find(t), t && (this.stamps = this.stamps.concat(t), t.forEach(this.ignore, this)) }, f.unstamp = function (t) { t = this._find(t), t && t.forEach(function (t) { n.removeFrom(this.stamps, t), this.unignore(t) }, this) }, f._find = function (t) { return t ? ("string" == typeof t && (t = this.element.querySelectorAll(t)), t = n.makeArray(t)) : void 0 }, f._manageStamps = function () { this.stamps && this.stamps.length && (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this)) }, f._getBoundingRect = function () { var t = this.element.getBoundingClientRect(), e = this.size; this._boundingRect = { left: t.left + e.paddingLeft + e.borderLeftWidth, top: t.top + e.paddingTop + e.borderTopWidth, right: t.right - (e.paddingRight + e.borderRightWidth), bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth) } }, f._manageStamp = d, f._getElementOffset = function (t) { var e = t.getBoundingClientRect(), n = this._boundingRect, o = i(t), r = { left: e.left - n.left - o.marginLeft, top: e.top - n.top - o.marginTop, right: n.right - e.right - o.marginRight, bottom: n.bottom - e.bottom - o.marginBottom }; return r }, f.handleEvent = n.handleEvent, f.bindResize = function () { t.addEventListener("resize", this), this.isResizeBound = !0 }, f.unbindResize = function () { t.removeEventListener("resize", this), this.isResizeBound = !1 }, f.onresize = function () { this.resize() }, n.debounceMethod(r, "onresize", 100), f.resize = function () { this.isResizeBound && this.needsResizeLayout() && this.layout() }, f.needsResizeLayout = function () { var t = i(this.element), e = this.size && t; return e && t.innerWidth !== this.size.innerWidth }, f.addItems = function (t) { var e = this._itemize(t); return e.length && (this.items = this.items.concat(e)), e }, f.appended = function (t) { var e = this.addItems(t); e.length && (this.layoutItems(e, !0), this.reveal(e)) }, f.prepended = function (t) { var e = this._itemize(t); if (e.length) { var i = this.items.slice(0); this.items = e.concat(i), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i) } }, f.reveal = function (t) { if (this._emitCompleteOnItems("reveal", t), t && t.length) { var e = this.updateStagger(); t.forEach(function (t, i) { t.stagger(i * e), t.reveal() }) } }, f.hide = function (t) { if (this._emitCompleteOnItems("hide", t), t && t.length) { var e = this.updateStagger(); t.forEach(function (t, i) { t.stagger(i * e), t.hide() }) } }, f.revealItemElements = function (t) { var e = this.getItems(t); this.reveal(e) }, f.hideItemElements = function (t) { var e = this.getItems(t); this.hide(e) }, f.getItem = function (t) { for (var e = 0; e < this.items.length; e++) { var i = this.items[e]; if (i.element == t) return i } }, f.getItems = function (t) { t = n.makeArray(t); var e = []; return t.forEach(function (t) { var i = this.getItem(t); i && e.push(i) }, this), e }, f.remove = function (t) { var e = this.getItems(t); this._emitCompleteOnItems("remove", e), e && e.length && e.forEach(function (t) { t.remove(), n.removeFrom(this.items, t) }, this) }, f.destroy = function () { var t = this.element.style; t.height = "", t.position = "", t.width = "", this.items.forEach(function (t) { t.destroy() }), this.unbindResize(); var e = this.element.outlayerGUID; delete c[e], delete this.element.outlayerGUID, u && u.removeData(this.element, this.constructor.namespace) }, r.data = function (t) { t = n.getQueryElement(t); var e = t && t.outlayerGUID; return e && c[e] }, r.create = function (t, e) { var i = s(r); return i.defaults = n.extend({}, r.defaults), n.extend(i.defaults, e), i.compatOptions = n.extend({}, r.compatOptions), i.namespace = t, i.data = r.data, i.Item = s(o), n.htmlInit(i, t), u && u.bridget && u.bridget(t, i), i }; var m = { ms: 1, s: 1e3 }; return r.Item = o, r }), function (t, e) { "function" == typeof define && define.amd ? define(["outlayer/outlayer", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("outlayer"), require("get-size")) : t.Masonry = e(t.Outlayer, t.getSize) }(window, function (t, e) { var i = t.create("masonry"); i.compatOptions.fitWidth = "isFitWidth"; var n = i.prototype; return n._resetLayout = function () { this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(), this.colYs = []; for (var t = 0; t < this.cols; t++)this.colYs.push(0); this.maxY = 0, this.horizontalColIndex = 0 }, n.measureColumns = function () { if (this.getContainerWidth(), !this.columnWidth) { var t = this.items[0], i = t && t.element; this.columnWidth = i && e(i).outerWidth || this.containerWidth } var n = this.columnWidth += this.gutter, o = this.containerWidth + this.gutter, r = o / n, s = n - o % n, a = s && 1 > s ? "round" : "floor"; r = Math[a](r), this.cols = Math.max(r, 1) }, n.getContainerWidth = function () { var t = this._getOption("fitWidth"), i = t ? this.element.parentNode : this.element, n = e(i); this.containerWidth = n && n.innerWidth }, n._getItemLayoutPosition = function (t) { t.getSize(); var e = t.size.outerWidth % this.columnWidth, i = e && 1 > e ? "round" : "ceil", n = Math[i](t.size.outerWidth / this.columnWidth); n = Math.min(n, this.cols); for (var o = this.options.horizontalOrder ? "_getHorizontalColPosition" : "_getTopColPosition", r = this[o](n, t), s = { x: this.columnWidth * r.col, y: r.y }, a = r.y + t.size.outerHeight, h = n + r.col, u = r.col; h > u; u++)this.colYs[u] = a; return s }, n._getTopColPosition = function (t) { var e = this._getTopColGroup(t), i = Math.min.apply(Math, e); return { col: e.indexOf(i), y: i } }, n._getTopColGroup = function (t) { if (2 > t) return this.colYs; for (var e = [], i = this.cols + 1 - t, n = 0; i > n; n++)e[n] = this._getColGroupY(n, t); return e }, n._getColGroupY = function (t, e) { if (2 > e) return this.colYs[t]; var i = this.colYs.slice(t, t + e); return Math.max.apply(Math, i) }, n._getHorizontalColPosition = function (t, e) { var i = this.horizontalColIndex % this.cols, n = t > 1 && i + t > this.cols; i = n ? 0 : i; var o = e.size.outerWidth && e.size.outerHeight; return this.horizontalColIndex = o ? i + t : this.horizontalColIndex, { col: i, y: this._getColGroupY(i, t) } }, n._manageStamp = function (t) { var i = e(t), n = this._getElementOffset(t), o = this._getOption("originLeft"), r = o ? n.left : n.right, s = r + i.outerWidth, a = Math.floor(r / this.columnWidth); a = Math.max(0, a); var h = Math.floor(s / this.columnWidth); h -= s % this.columnWidth ? 0 : 1, h = Math.min(this.cols - 1, h); for (var u = this._getOption("originTop"), d = (u ? n.top : n.bottom) + i.outerHeight, l = a; h >= l; l++)this.colYs[l] = Math.max(d, this.colYs[l]) }, n._getContainerSize = function () { this.maxY = Math.max.apply(Math, this.colYs); var t = { height: this.maxY }; return this._getOption("fitWidth") && (t.width = this._getContainerFitWidth()), t }, n._getContainerFitWidth = function () { for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];)t++; return (this.cols - t) * this.columnWidth - this.gutter }, n.needsResizeLayout = function () { var t = this.containerWidth; return this.getContainerWidth(), t != this.containerWidth }, i }); +window.AScript.set("js-masonry.min", true); \ No newline at end of file diff --git a/ManagementApp/wwwroot/js/ext_libs/js-overscroll.js b/ManagementApp/wwwroot/js/ext_libs/js-overscroll.js new file mode 100644 index 0000000..b52b6e0 --- /dev/null +++ b/ManagementApp/wwwroot/js/ext_libs/js-overscroll.js @@ -0,0 +1,21 @@ +!function (t, e) { "object" == typeof exports && "object" == typeof module ? module.exports = e(require("smooth-scrollbar")) : "function" == typeof define && define.amd ? define(["smooth-scrollbar"], e) : "object" == typeof exports ? exports.OverscrollPlugin = e(require("smooth-scrollbar")) : t.OverscrollPlugin = e(t.Scrollbar) }(this, (function (t) { + return function (t) { var e = {}; function o(i) { if (e[i]) return e[i].exports; var r = e[i] = { i: i, l: !1, exports: {} }; return t[i].call(r.exports, r, r.exports, o), r.l = !0, r.exports } return o.m = t, o.c = e, o.d = function (t, e, i) { o.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: i }) }, o.r = function (t) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }) }, o.t = function (t, e) { if (1 & e && (t = o(t)), 8 & e) return t; if (4 & e && "object" == typeof t && t && t.__esModule) return t; var i = Object.create(null); if (o.r(i), Object.defineProperty(i, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t) for (var r in t) o.d(i, r, function (e) { return t[e] }.bind(null, r)); return i }, o.n = function (t) { var e = t && t.__esModule ? function () { return t.default } : function () { return t }; return o.d(e, "a", e), e }, o.o = function (t, e) { return Object.prototype.hasOwnProperty.call(t, e) }, o.p = "", o(o.s = 1) }([function (e, o) { e.exports = t }, function (t, e, o) { t.exports = o(2) }, function (t, e, o) { + "use strict"; o.r(e); + /*! ***************************************************************************** + Copyright (c) Microsoft Corporation. All rights reserved. + Licensed under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of the + License at http://www.apache.org/licenses/LICENSE-2.0 + + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED + WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, + MERCHANTABLITY OR NON-INFRINGEMENT. + + See the Apache Version 2.0 License for specific language governing permissions + and limitations under the License. + ***************************************************************************** */ + var i = function (t, e) { return (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e } || function (t, e) { for (var o in e) e.hasOwnProperty(o) && (t[o] = e[o]) })(t, e) }, r = function () { return (r = Object.assign || function (t) { for (var e, o = 1, i = arguments.length; o < i; o++)for (var r in e = arguments[o]) Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]); return t }).apply(this, arguments) }; function n(t) { var e = function (t) { return t.touches ? t.touches[t.touches.length - 1] : t }(t); return { x: e.clientX, y: e.clientY } } new WeakMap; var s = ["webkit", "moz", "ms", "o"], c = new RegExp("^-(?!(?:" + s.join("|") + ")-)"); function a(t, e) { e = function (t) { var e = {}; return Object.keys(t).forEach((function (o) { if (c.test(o)) { var i = t[o]; o = o.replace(/^-/, ""), e[o] = i, s.forEach((function (t) { e["-" + t + "-" + o] = i })) } else e[o] = t[o] })), e }(e), Object.keys(e).forEach((function (o) { var i = o.replace(/^-/, "").replace(/-([a-z])/g, (function (t, e) { return e.toUpperCase() })); t.style[i] = e[o] })) } var l = function () { function t(t) { this.velocityMultiplier = window.devicePixelRatio, this.updateTime = Date.now(), this.delta = { x: 0, y: 0 }, this.velocity = { x: 0, y: 0 }, this.lastPosition = { x: 0, y: 0 }, this.lastPosition = n(t) } return t.prototype.update = function (t) { var e = this.velocity, o = this.updateTime, i = this.lastPosition, r = Date.now(), s = n(t), c = { x: -(s.x - i.x), y: -(s.y - i.y) }, a = r - o || 16.7, l = c.x / a * 16.7, h = c.y / a * 16.7; e.x = l * this.velocityMultiplier, e.y = h * this.velocityMultiplier, this.delta = c, this.updateTime = r, this.lastPosition = s }, t }(); function h(t, e, o) { return Math.max(e, Math.min(o, t)) } !function () { function t() { this._touchList = {} } Object.defineProperty(t.prototype, "_primitiveValue", { get: function () { return { x: 0, y: 0 } }, enumerable: !0, configurable: !0 }), t.prototype.isActive = function () { return void 0 !== this._activeTouchID }, t.prototype.getDelta = function () { var t = this._getActiveTracker(); return t ? r({}, t.delta) : this._primitiveValue }, t.prototype.getVelocity = function () { var t = this._getActiveTracker(); return t ? r({}, t.velocity) : this._primitiveValue }, t.prototype.getEasingDistance = function (t) { var e = 1 - t, o = { x: 0, y: 0 }, i = this.getVelocity(); return Object.keys(i).forEach((function (t) { for (var r = Math.abs(i[t]) <= 10 ? 0 : i[t]; 0 !== r;)o[t] += r, r = r * e | 0 })), o }, t.prototype.track = function (t) { var e = this, o = t.targetTouches; return Array.from(o).forEach((function (t) { e._add(t) })), this._touchList }, t.prototype.update = function (t) { var e = this, o = t.touches, i = t.changedTouches; return Array.from(o).forEach((function (t) { e._renew(t) })), this._setActiveID(i), this._touchList }, t.prototype.release = function (t) { var e = this; delete this._activeTouchID, Array.from(t.changedTouches).forEach((function (t) { e._delete(t) })) }, t.prototype._add = function (t) { this._has(t) && this._delete(t); var e = new l(t); this._touchList[t.identifier] = e }, t.prototype._renew = function (t) { this._has(t) && this._touchList[t.identifier].update(t) }, t.prototype._delete = function (t) { delete this._touchList[t.identifier] }, t.prototype._has = function (t) { return this._touchList.hasOwnProperty(t.identifier) }, t.prototype._setActiveID = function (t) { this._activeTouchID = t[t.length - 1].identifier }, t.prototype._getActiveTracker = function () { return this._touchList[this._activeTouchID] } }(); var u, p = o(0), f = function () { function t(t) { this._scrollbar = t } return t.prototype.render = function (t) { var e = t.x, o = void 0 === e ? 0 : e, i = t.y, r = void 0 === i ? 0 : i, n = this._scrollbar, s = n.size, c = n.track, l = n.offset; if (a(n.contentEl, { "-transform": "translate3d(" + -(l.x + o) + "px, " + -(l.y + r) + "px, 0)" }), o) { c.xAxis.show(); var h = s.container.width / (s.container.width + Math.abs(o)); a(c.xAxis.thumb.element, { "-transform": "translate3d(" + c.xAxis.thumb.offset + "px, 0, 0) scale3d(" + h + ", 1, 1)", "-transform-origin": o < 0 ? "left" : "right" }) } r && (c.yAxis.show(), h = s.container.height / (s.container.height + Math.abs(r)), a(c.yAxis.thumb.element, { "-transform": "translate3d(0, " + c.yAxis.thumb.offset + "px, 0) scale3d(1, " + h + ", 1)", "-transform-origin": r < 0 ? "top" : "bottom" })), c.autoHideOnIdle() }, t }(), _ = function () { function t(t) { this._scrollbar = t, this._canvas = document.createElement("canvas"), this._ctx = this._canvas.getContext("2d"), a(this._canvas, { position: "absolute", top: 0, left: 0, width: "100%", height: "100%", display: "none" }) } return t.prototype.mount = function () { this._scrollbar.containerEl.appendChild(this._canvas) }, t.prototype.unmount = function () { this._canvas.parentNode && this._canvas.parentNode.removeChild(this._canvas) }, t.prototype.adjust = function () { var t = this._scrollbar.size, e = window.devicePixelRatio || 1, o = t.container.width * e, i = t.container.height * e; o === this._canvas.width && i === this._canvas.height || (this._canvas.width = o, this._canvas.height = i, this._ctx.scale(e, e)) }, t.prototype.recordTouch = function (t) { var e = t.touches[t.touches.length - 1]; this._touchX = e.clientX, this._touchY = e.clientY }, t.prototype.render = function (t, e) { var o = t.x, i = void 0 === o ? 0 : o, r = t.y, n = void 0 === r ? 0 : r; if (i || n) { a(this._canvas, { display: "block" }); var s = this._scrollbar.size; this._ctx.clearRect(0, 0, s.container.width, s.container.height), this._ctx.fillStyle = e, this._renderX(i), this._renderY(n) } else a(this._canvas, { display: "none" }) }, t.prototype._getMaxOverscroll = function () { var t = this._scrollbar.options.plugins.overscroll; return t && t.maxOverscroll ? t.maxOverscroll : 150 }, t.prototype._renderX = function (t) { var e = this._scrollbar.size, o = this._getMaxOverscroll(), i = e.container, r = i.width, n = i.height, s = this._ctx; s.save(), t > 0 && s.transform(-1, 0, 0, 1, r, 0); var c = h(Math.abs(t) / o, 0, .75), a = h(c, 0, .25) * r, l = Math.abs(t), u = this._touchY || n / 2; s.globalAlpha = c, s.beginPath(), s.moveTo(0, -a), s.quadraticCurveTo(l, u, 0, n + a), s.fill(), s.closePath(), s.restore() }, t.prototype._renderY = function (t) { var e = this._scrollbar.size, o = this._getMaxOverscroll(), i = e.container, r = i.width, n = i.height, s = this._ctx; s.save(), t > 0 && s.transform(1, 0, 0, -1, 0, n); var c = h(Math.abs(t) / o, 0, .75), a = h(c, 0, .25) * r, l = this._touchX || r / 2, u = Math.abs(t); s.globalAlpha = c, s.beginPath(), s.moveTo(-a, 0), s.quadraticCurveTo(l, u, r + a, 0), s.fill(), s.closePath(), s.restore() }, t }(); o.d(e, "OverscrollEffect", (function () { return u })), function (t) { t.BOUNCE = "bounce", t.GLOW = "glow" }(u || (u = {})); var d = /wheel|touch/, y = function (t) { function e() { var e = null !== t && t.apply(this, arguments) || this; return e._glow = new _(e.scrollbar), e._bounce = new f(e.scrollbar), e._wheelScrollBack = { x: !1, y: !1 }, e._lockWheel = { x: !1, y: !1 }, e._touching = !1, e._amplitude = { x: 0, y: 0 }, e._position = { x: 0, y: 0 }, e._releaseWheel = function (t, e, o) { var i; void 0 === e && (e = 0); return function () { for (var o = this, r = [], n = 0; n < arguments.length; n++)r[n] = arguments[n]; clearTimeout(i), i = setTimeout((function () { t.apply(o, r) }), e) } }((function () { e._lockWheel.x = !1, e._lockWheel.y = !1 }), 30), e } return function (t, e) { function o() { this.constructor = t } i(t, e), t.prototype = null === e ? Object.create(e) : (o.prototype = e.prototype, new o) }(e, t), Object.defineProperty(e.prototype, "_isWheelLocked", { get: function () { return this._lockWheel.x || this._lockWheel.y }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "_enabled", { get: function () { return !!this.options.effect }, enumerable: !0, configurable: !0 }), e.prototype.onInit = function () { var t = this._glow, e = this.options, o = this.scrollbar, i = e.effect; Object.defineProperty(e, "effect", { get: function () { return i }, set: function (e) { if (e) { if (e !== u.BOUNCE && e !== u.GLOW) throw new TypeError("unknow overscroll effect: " + e); i = e, o.options.continuousScrolling = !1, e === u.GLOW ? (t.mount(), t.adjust()) : t.unmount() } else i = void 0 } }), e.effect = i }, e.prototype.onUpdate = function () { this.options.effect === u.GLOW && this._glow.adjust() }, e.prototype.onRender = function (t) { if (this._enabled) { this.scrollbar.options.continuousScrolling && (this.scrollbar.options.continuousScrolling = !1); var e = t.x, o = t.y; !this._amplitude.x && this._willOverscroll("x", t.x) && (e = 0, this._absorbMomentum("x", t.x)), !this._amplitude.y && this._willOverscroll("y", t.y) && (o = 0, this._absorbMomentum("y", t.y)), this.scrollbar.setMomentum(e, o), this._render() } }, e.prototype.transformDelta = function (t, e) { if (this._lastEventType = e.type, !this._enabled || !d.test(e.type)) return t; this._isWheelLocked && /wheel/.test(e.type) && (this._releaseWheel(), this._willOverscroll("x", t.x) && (t.x = 0), this._willOverscroll("y", t.y) && (t.y = 0)); var o = t.x, i = t.y; switch (this._willOverscroll("x", t.x) && (o = 0, this._addAmplitude("x", t.x)), this._willOverscroll("y", t.y) && (i = 0, this._addAmplitude("y", t.y)), e.type) { case "touchstart": case "touchmove": this._touching = !0, this._glow.recordTouch(e); break; case "touchcancel": case "touchend": this._touching = !1 }return { x: o, y: i } }, e.prototype._willOverscroll = function (t, e) { if (!e) return !1; if (this._position[t]) return !0; var o = this.scrollbar.offset[t], i = this.scrollbar.limit[t]; return 0 !== i && h(o + e, 0, i) === o && (0 === o || o === i) }, e.prototype._absorbMomentum = function (t, e) { var o = this.options, i = this._lastEventType, r = this._amplitude; d.test(i) && (r[t] = h(e, -o.maxOverscroll, o.maxOverscroll)) }, e.prototype._addAmplitude = function (t, e) { var o = this.options, i = this.scrollbar, r = this._amplitude, n = this._position, s = r[t], c = e * s < 0, a = s + e * (1 - (c ? 0 : this._wheelScrollBack[t] ? 1 : Math.abs(s / o.maxOverscroll))); r[t] = 0 === i.offset[t] ? h(a, -o.maxOverscroll, 0) : h(a, 0, o.maxOverscroll), c && (n[t] = r[t]) }, e.prototype._render = function () { var t = this.options, e = this._amplitude, o = this._position; if (this._enabled && (e.x || e.y || o.x || o.y)) { var i = this._nextAmp("x"), n = this._nextAmp("y"); switch (e.x = i.amplitude, o.x = i.position, e.y = n.amplitude, o.y = n.position, t.effect) { case u.BOUNCE: this._bounce.render(o); break; case u.GLOW: this._glow.render(o, this.options.glowColor) }"function" == typeof t.onScroll && t.onScroll.call(this, r({}, o)) } }, e.prototype._nextAmp = function (t) { var e = this.options, o = this._amplitude, i = this._position, r = 1 - e.damping, n = o[t], s = i[t], c = this._touching ? n : n * r | 0, a = c - s, l = s + a - (a * r | 0); return !this._touching && Math.abs(l) < Math.abs(s) && (this._wheelScrollBack[t] = !0), this._wheelScrollBack[t] && Math.abs(l) <= 1 && (this._wheelScrollBack[t] = !1, this._lockWheel[t] = !0), { amplitude: c, position: l } }, e.pluginName = "overscroll", e.defaultOptions = { effect: u.BOUNCE, onScroll: void 0, damping: .2, maxOverscroll: 150, glowColor: "#87ceeb" }, e }(p.ScrollbarPlugin); console.log(p); e.default = y + }]).default +})); +window.AScript.set("js-overscroll", true); \ No newline at end of file diff --git a/ManagementApp/wwwroot/js/ext_libs/js-scrollbar.js b/ManagementApp/wwwroot/js/ext_libs/js-scrollbar.js new file mode 100644 index 0000000..ce539be --- /dev/null +++ b/ManagementApp/wwwroot/js/ext_libs/js-scrollbar.js @@ -0,0 +1,2549 @@ +! function (t, e) { + "object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? exports.Scrollbar = e() : t.Scrollbar = e() +}(this, (function () { + return function (t) { + var e = {}; + + function n(r) { + if (e[r]) return e[r].exports; + var o = e[r] = { + i: r, + l: !1, + exports: {} + }; + return t[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports + } + return n.m = t, n.c = e, n.d = function (t, e, r) { + n.o(t, e) || Object.defineProperty(t, e, { + enumerable: !0, + get: r + }) + }, n.r = function (t) { + "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { + value: "Module" + }), Object.defineProperty(t, "__esModule", { + value: !0 + }) + }, n.t = function (t, e) { + if (1 & e && (t = n(t)), 8 & e) return t; + if (4 & e && "object" == typeof t && t && t.__esModule) return t; + var r = Object.create(null); + if (n.r(r), Object.defineProperty(r, "default", { + enumerable: !0, + value: t + }), 2 & e && "string" != typeof t) + for (var o in t) n.d(r, o, function (e) { + return t[e] + }.bind(null, o)); + return r + }, n.n = function (t) { + var e = t && t.__esModule ? function () { + return t.default + } : function () { + return t + }; + return n.d(e, "a", e), e + }, n.o = function (t, e) { + return Object.prototype.hasOwnProperty.call(t, e) + }, n.p = "", n(n.s = 65) + }([function (t, e, n) { + (function (e) { + var n = function (t) { + return t && t.Math == Math && t + }; + t.exports = n("object" == typeof globalThis && globalThis) || n("object" == typeof window && window) || n("object" == typeof self && self) || n("object" == typeof e && e) || Function("return this")() + }).call(this, n(68)) + }, function (t, e, n) { + var r = n(0), + o = n(50), + i = n(3), + u = n(29), + c = n(55), + a = n(75), + s = o("wks"), + f = r.Symbol, + l = a ? f : f && f.withoutSetter || u; + t.exports = function (t) { + return i(s, t) || (c && i(f, t) ? s[t] = f[t] : s[t] = l("Symbol." + t)), s[t] + } + }, function (t, e) { + t.exports = function (t) { + return "object" == typeof t ? null !== t : "function" == typeof t + } + }, function (t, e) { + var n = {}.hasOwnProperty; + t.exports = function (t, e) { + return n.call(t, e) + } + }, function (t, e) { + t.exports = function (t) { + try { + return !!t() + } catch (t) { + return !0 + } + } + }, function (t, e, n) { + var r = n(6), + o = n(45), + i = n(7), + u = n(25), + c = Object.defineProperty; + e.f = r ? c : function (t, e, n) { + if (i(t), e = u(e, !0), i(n), o) try { + return c(t, e, n) + } catch (t) { } + if ("get" in n || "set" in n) throw TypeError("Accessors not supported"); + return "value" in n && (t[e] = n.value), t + } + }, function (t, e, n) { + var r = n(4); + t.exports = !r((function () { + return 7 != Object.defineProperty({}, 1, { + get: function () { + return 7 + } + })[1] + })) + }, function (t, e, n) { + var r = n(2); + t.exports = function (t) { + if (!r(t)) throw TypeError(String(t) + " is not an object"); + return t + } + }, function (t, e, n) { + var r = n(6), + o = n(5), + i = n(14); + t.exports = r ? function (t, e, n) { + return o.f(t, e, i(1, n)) + } : function (t, e, n) { + return t[e] = n, t + } + }, function (t, e, n) { + var r, o, i, u = n(49), + c = n(0), + a = n(2), + s = n(8), + f = n(3), + l = n(27), + p = n(16), + h = c.WeakMap; + if (u) { + var d = new h, + v = d.get, + y = d.has, + m = d.set; + r = function (t, e) { + return m.call(d, t, e), e + }, o = function (t) { + return v.call(d, t) || {} + }, i = function (t) { + return y.call(d, t) + } + } else { + var g = l("state"); + p[g] = !0, r = function (t, e) { + return s(t, g, e), e + }, o = function (t) { + return f(t, g) ? t[g] : {} + }, i = function (t) { + return f(t, g) + } + } + t.exports = { + set: r, + get: o, + has: i, + enforce: function (t) { + return i(t) ? o(t) : r(t, {}) + }, + getterFor: function (t) { + return function (e) { + var n; + if (!a(e) || (n = o(e)).type !== t) throw TypeError("Incompatible receiver, " + t + " required"); + return n + } + } + } + }, function (t, e, n) { + var r = n(0); + t.exports = r + }, function (t, e, n) { + var r = n(0), + o = n(8), + i = n(3), + u = n(26), + c = n(47), + a = n(9), + s = a.get, + f = a.enforce, + l = String(String).split("String"); + (t.exports = function (t, e, n, c) { + var a = !!c && !!c.unsafe, + s = !!c && !!c.enumerable, + p = !!c && !!c.noTargetGet; + "function" == typeof n && ("string" != typeof e || i(n, "name") || o(n, "name", e), f(n).source = l.join("string" == typeof e ? e : "")), t !== r ? (a ? !p && t[e] && (s = !0) : delete t[e], s ? t[e] = n : o(t, e, n)) : s ? t[e] = n : u(e, n) + })(Function.prototype, "toString", (function () { + return "function" == typeof this && s(this).source || c(this) + })) + }, function (t, e) { + t.exports = {} + }, function (t, e, n) { + var r = n(0), + o = n(43).f, + i = n(8), + u = n(11), + c = n(26), + a = n(69), + s = n(53); + t.exports = function (t, e) { + var n, f, l, p, h, d = t.target, + v = t.global, + y = t.stat; + if (n = v ? r : y ? r[d] || c(d, {}) : (r[d] || {}).prototype) + for (f in e) { + if (p = e[f], l = t.noTargetGet ? (h = o(n, f)) && h.value : n[f], !s(v ? f : d + (y ? "." : "#") + f, t.forced) && void 0 !== l) { + if (typeof p == typeof l) continue; + a(p, l) + } (t.sham || l && l.sham) && i(p, "sham", !0), u(n, f, p, t) + } + } + }, function (t, e) { + t.exports = function (t, e) { + return { + enumerable: !(1 & t), + configurable: !(2 & t), + writable: !(4 & t), + value: e + } + } + }, function (t, e, n) { + var r = n(22), + o = n(24); + t.exports = function (t) { + return r(o(t)) + } + }, function (t, e) { + t.exports = {} + }, function (t, e, n) { + var r = n(31), + o = Math.min; + t.exports = function (t) { + return t > 0 ? o(r(t), 9007199254740991) : 0 + } + }, function (t, e, n) { + var r = n(16), + o = n(2), + i = n(3), + u = n(5).f, + c = n(29), + a = n(74), + s = c("meta"), + f = 0, + l = Object.isExtensible || function () { + return !0 + }, + p = function (t) { + u(t, s, { + value: { + objectID: "O" + ++f, + weakData: {} + } + }) + }, + h = t.exports = { + REQUIRED: !1, + fastKey: function (t, e) { + if (!o(t)) return "symbol" == typeof t ? t : ("string" == typeof t ? "S" : "P") + t; + if (!i(t, s)) { + if (!l(t)) return "F"; + if (!e) return "E"; + p(t) + } + return t[s].objectID + }, + getWeakData: function (t, e) { + if (!i(t, s)) { + if (!l(t)) return !0; + if (!e) return !1; + p(t) + } + return t[s].weakData + }, + onFreeze: function (t) { + return a && h.REQUIRED && l(t) && !i(t, s) && p(t), t + } + }; + r[s] = !0 + }, function (t, e, n) { + var r = n(76); + t.exports = function (t, e, n) { + if (r(t), void 0 === e) return t; + switch (n) { + case 0: + return function () { + return t.call(e) + }; + case 1: + return function (n) { + return t.call(e, n) + }; + case 2: + return function (n, r) { + return t.call(e, n, r) + }; + case 3: + return function (n, r, o) { + return t.call(e, n, r, o) + } + } + return function () { + return t.apply(e, arguments) + } + } + }, function (t, e, n) { + var r = n(24); + t.exports = function (t) { + return Object(r(t)) + } + }, function (t, e, n) { + "use strict"; + var r = n(13), + o = n(0), + i = n(53), + u = n(11), + c = n(18), + a = n(33), + s = n(35), + f = n(2), + l = n(4), + p = n(59), + h = n(36), + d = n(77); + t.exports = function (t, e, n) { + var v = -1 !== t.indexOf("Map"), + y = -1 !== t.indexOf("Weak"), + m = v ? "set" : "add", + g = o[t], + x = g && g.prototype, + b = g, + w = {}, + S = function (t) { + var e = x[t]; + u(x, t, "add" == t ? function (t) { + return e.call(this, 0 === t ? 0 : t), this + } : "delete" == t ? function (t) { + return !(y && !f(t)) && e.call(this, 0 === t ? 0 : t) + } : "get" == t ? function (t) { + return y && !f(t) ? void 0 : e.call(this, 0 === t ? 0 : t) + } : "has" == t ? function (t) { + return !(y && !f(t)) && e.call(this, 0 === t ? 0 : t) + } : function (t, n) { + return e.call(this, 0 === t ? 0 : t, n), this + }) + }; + if (i(t, "function" != typeof g || !(y || x.forEach && !l((function () { + (new g).entries().next() + }))))) b = n.getConstructor(e, t, v, m), c.REQUIRED = !0; + else if (i(t, !0)) { + var _ = new b, + E = _[m](y ? {} : -0, 1) != _, + O = l((function () { + _.has(1) + })), + T = p((function (t) { + new g(t) + })), + A = !y && l((function () { + for (var t = new g, e = 5; e--;) t[m](e, e); + return !t.has(-0) + })); + T || ((b = e((function (e, n) { + s(e, b, t); + var r = d(new g, e, b); + return null != n && a(n, r[m], r, v), r + }))).prototype = x, x.constructor = b), (O || A) && (S("delete"), S("has"), v && S("get")), (A || E) && S(m), y && x.clear && delete x.clear + } + return w[t] = b, r({ + global: !0, + forced: b != g + }, w), h(b, t), y || n.setStrong(b, t, v), b + } + }, function (t, e, n) { + var r = n(4), + o = n(23), + i = "".split; + t.exports = r((function () { + return !Object("z").propertyIsEnumerable(0) + })) ? function (t) { + return "String" == o(t) ? i.call(t, "") : Object(t) + } : Object + }, function (t, e) { + var n = {}.toString; + t.exports = function (t) { + return n.call(t).slice(8, -1) + } + }, function (t, e) { + t.exports = function (t) { + if (null == t) throw TypeError("Can't call method on " + t); + return t + } + }, function (t, e, n) { + var r = n(2); + t.exports = function (t, e) { + if (!r(t)) return t; + var n, o; + if (e && "function" == typeof (n = t.toString) && !r(o = n.call(t))) return o; + if ("function" == typeof (n = t.valueOf) && !r(o = n.call(t))) return o; + if (!e && "function" == typeof (n = t.toString) && !r(o = n.call(t))) return o; + throw TypeError("Can't convert object to primitive value") + } + }, function (t, e, n) { + var r = n(0), + o = n(8); + t.exports = function (t, e) { + try { + o(r, t, e) + } catch (n) { + r[t] = e + } + return e + } + }, function (t, e, n) { + var r = n(50), + o = n(29), + i = r("keys"); + t.exports = function (t) { + return i[t] || (i[t] = o(t)) + } + }, function (t, e) { + t.exports = !1 + }, function (t, e) { + var n = 0, + r = Math.random(); + t.exports = function (t) { + return "Symbol(" + String(void 0 === t ? "" : t) + ")_" + (++n + r).toString(36) + } + }, function (t, e, n) { + var r = n(10), + o = n(0), + i = function (t) { + return "function" == typeof t ? t : void 0 + }; + t.exports = function (t, e) { + return arguments.length < 2 ? i(r[t]) || i(o[t]) : r[t] && r[t][e] || o[t] && o[t][e] + } + }, function (t, e) { + var n = Math.ceil, + r = Math.floor; + t.exports = function (t) { + return isNaN(t = +t) ? 0 : (t > 0 ? r : n)(t) + } + }, function (t, e) { + t.exports = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"] + }, function (t, e, n) { + var r = n(7), + o = n(54), + i = n(17), + u = n(19), + c = n(56), + a = n(58), + s = function (t, e) { + this.stopped = t, this.result = e + }; + (t.exports = function (t, e, n, f, l) { + var p, h, d, v, y, m, g, x = u(e, n, f ? 2 : 1); + if (l) p = t; + else { + if ("function" != typeof (h = c(t))) throw TypeError("Target is not iterable"); + if (o(h)) { + for (d = 0, v = i(t.length); v > d; d++) + if ((y = f ? x(r(g = t[d])[0], g[1]) : x(t[d])) && y instanceof s) return y; + return new s(!1) + } + p = h.call(t) + } + for (m = p.next; !(g = m.call(p)).done;) + if ("object" == typeof (y = a(p, x, g.value, f)) && y && y instanceof s) return y; + return new s(!1) + }).stop = function (t) { + return new s(!0, t) + } + }, function (t, e, n) { + var r = {}; + r[n(1)("toStringTag")] = "z", t.exports = "[object z]" === String(r) + }, function (t, e) { + t.exports = function (t, e, n) { + if (!(t instanceof e)) throw TypeError("Incorrect " + (n ? n + " " : "") + "invocation"); + return t + } + }, function (t, e, n) { + var r = n(5).f, + o = n(3), + i = n(1)("toStringTag"); + t.exports = function (t, e, n) { + t && !o(t = n ? t : t.prototype, i) && r(t, i, { + configurable: !0, + value: e + }) + } + }, function (t, e, n) { + var r, o = n(7), + i = n(79), + u = n(32), + c = n(16), + a = n(80), + s = n(46), + f = n(27)("IE_PROTO"), + l = function () { }, + p = function (t) { + return " + + +} \ No newline at end of file diff --git a/MikaltoResort/Views/Home/Privacy.cshtml b/MikaltoResort/Views/Home/Privacy.cshtml new file mode 100644 index 0000000..af4fb19 --- /dev/null +++ b/MikaltoResort/Views/Home/Privacy.cshtml @@ -0,0 +1,6 @@ +@{ + ViewData["Title"] = "Privacy Policy"; +} +

@ViewData["Title"]

+ +

Use this page to detail your site's privacy policy.

diff --git a/MikaltoResort/Views/Partial/MenuAP.cshtml b/MikaltoResort/Views/Partial/MenuAP.cshtml new file mode 100644 index 0000000..5eb3866 --- /dev/null +++ b/MikaltoResort/Views/Partial/MenuAP.cshtml @@ -0,0 +1,44 @@ +@using AppLibs.Libs +@{ + List t = WSNavigation.GetListMenu(); +} + +@foreach (var i in t) +{ + + @if (i.IsGroup) + { + + } + else if (i.SubItem == null) + { + + + + @i.Name + + } + else + { +
+ + + + @i.Name +
+
+ +
+ @foreach (var j in i.SubItem) + { + + + @j.Name + + } +
+
+ } +} \ No newline at end of file diff --git a/MikaltoResort/Views/Shared/_Layout.cshtml b/MikaltoResort/Views/Shared/_Layout.cshtml new file mode 100644 index 0000000..6caf6a3 --- /dev/null +++ b/MikaltoResort/Views/Shared/_Layout.cshtml @@ -0,0 +1,63 @@ +@{ + IgnoreSection("jsLib"); + IgnoreSection("jsPage"); + IgnoreBody(); +} + + + + + + @ViewData["Title"] - ERP ATG System +@* + *@ + + + +
+
+
+
+ +
+ +
+
+
+
+
+
+
+
+ + +
+ +
+
+
+ + + + diff --git a/MikaltoResort/Views/Shared/_Layout.cshtml.css b/MikaltoResort/Views/Shared/_Layout.cshtml.css new file mode 100644 index 0000000..c187c02 --- /dev/null +++ b/MikaltoResort/Views/Shared/_Layout.cshtml.css @@ -0,0 +1,48 @@ +/* Please see documentation at https://learn.microsoft.com/aspnet/core/client-side/bundling-and-minification +for details on configuring this project to bundle and minify static web assets. */ + +a.navbar-brand { + white-space: normal; + text-align: center; + word-break: break-all; +} + +a { + color: #0077cc; +} + +.btn-primary { + color: #fff; + background-color: #1b6ec2; + border-color: #1861ac; +} + +.nav-pills .nav-link.active, .nav-pills .show > .nav-link { + color: #fff; + background-color: #1b6ec2; + border-color: #1861ac; +} + +.border-top { + border-top: 1px solid #e5e5e5; +} +.border-bottom { + border-bottom: 1px solid #e5e5e5; +} + +.box-shadow { + box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); +} + +button.accept-policy { + font-size: 1rem; + line-height: inherit; +} + +.footer { + position: absolute; + bottom: 0; + width: 100%; + white-space: nowrap; + line-height: 60px; +} diff --git a/MikaltoResort/Views/Shared/_LayoutAsync.cshtml b/MikaltoResort/Views/Shared/_LayoutAsync.cshtml new file mode 100644 index 0000000..9823056 --- /dev/null +++ b/MikaltoResort/Views/Shared/_LayoutAsync.cshtml @@ -0,0 +1,169 @@ + + +@* +@await Html.PartialAsync("~/Views/Partial/mMenuATG.cshtml") +@await Html.PartialAsync("~/Views/Partial/MenuATG.cshtml") +*@ +@section jsLib{@* + *@ + +} + \ No newline at end of file diff --git a/MikaltoResort/Views/Shared/_PartialScript.cshtml b/MikaltoResort/Views/Shared/_PartialScript.cshtml new file mode 100644 index 0000000..036e436 --- /dev/null +++ b/MikaltoResort/Views/Shared/_PartialScript.cshtml @@ -0,0 +1,5 @@ +@RenderSection("jsLib", required: false) +@RenderSection("jsPage", required: false) +@{ + IgnoreBody(); +} diff --git a/MikaltoResort/Views/_ViewImports.cshtml b/MikaltoResort/Views/_ViewImports.cshtml new file mode 100644 index 0000000..1ebcf49 --- /dev/null +++ b/MikaltoResort/Views/_ViewImports.cshtml @@ -0,0 +1,4 @@ +@using MikaltoResort +@using MikaltoResort.Models +@using AppLibs.Libs +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/MikaltoResort/Views/_ViewStart.cshtml b/MikaltoResort/Views/_ViewStart.cshtml new file mode 100644 index 0000000..167fa9e --- /dev/null +++ b/MikaltoResort/Views/_ViewStart.cshtml @@ -0,0 +1,11 @@ +@{ + switch (ViewData["Layout"]) + { + case "SectionScript": + Layout = "_PartialScript"; + break; + default: + Layout = "_Layout"; + break; + } +} diff --git a/MikaltoResort/appsettings.Development.json b/MikaltoResort/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/MikaltoResort/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/MikaltoResort/appsettings.json b/MikaltoResort/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/MikaltoResort/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/MikaltoResort/libman.json b/MikaltoResort/libman.json new file mode 100644 index 0000000..87b185c --- /dev/null +++ b/MikaltoResort/libman.json @@ -0,0 +1,40 @@ +{ + "version": "1.0", + "defaultProvider": "filesystem", + "libraries": [ + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\js", + "destination": "wwwroot/js/" + }, + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\js\\libs\\", + "destination": "wwwroot/js/libs/" + }, + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\js\\ext_libs\\", + "destination": "wwwroot/js/ext_libs/", + "files": [] + }, + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\css\\", + "destination": "wwwroot/css/css/", + "files": [] + }, + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\css\\atg-font\\", + "destination": "wwwroot/css/atg-font/" + }, + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\css\\atg-lib\\", + "destination": "wwwroot/css/atg-lib/" + }, + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\css\\atg-ui\\", + "destination": "wwwroot/css/atg-ui/" + }, + { + "library": "..\\AppLibs\\AppLibs\\wwwroot\\font\\", + "destination": "wwwroot/font/" + } + ] +} \ No newline at end of file diff --git a/MikaltoResort/wwwroot/css/atg-font/atg-admin-font.css b/MikaltoResort/wwwroot/css/atg-font/atg-admin-font.css new file mode 100644 index 0000000..728b6ee --- /dev/null +++ b/MikaltoResort/wwwroot/css/atg-font/atg-admin-font.css @@ -0,0 +1,253 @@ +@font-face { + font-family: 'atg-admin-font'; + font-style: normal; + font-display: block; + font-weight: 400; + src: url("../../font/atgfont-Regular.woff") format('woff'), url("../../font/atgfont-Regular.woff2") format('woff2') +} + +.atg { + font-family: atg-admin-font; + font-weight: 400; + text-rendering: auto; + color: inherit; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.a-1x { + font-size: 1em +} + +.a-2x { + font-size: 2em +} + +.a-3x { + font-size: 3em +} + +.a-4x { + font-size: 4em +} + +.a-5x { + font-size: 5em +} + +.a-6x { + font-size: 6em +} + +.a-7x { + font-size: 7em +} + +.a-8x { + font-size: 8em +} + +.a-9x { + font-size: 9em +} + +.a-10x { + font-size: 10em +} + +.atg-message:before { + content: "\a001" +} + +.atg-email:before { + content: "\a002" +} + +.atg-check-sqare:before { + content: "\a003" +} + +.atg-calendar:before { + content: "\a004" +} + +.atg-notification:before { + content: "\a005" +} + +.atg-search:before { + content: "\a006" +} + +.atg-star:before { + content: "\a007" +} + +.atg-setting:before { + content: "\a008" +} + +.atg-user:before { + content: "\a009" +} + +.atg-user-1:before { + content: "\a00a" +} + +.atg-package:before { + content: "\a00b" +} + +.atg-print:before { + content: "\a00c" +} + +.atg-layout:before { + content: "\a00d" +} + +.atg-grid:before { + content: "\a00e" +} + +.atg-grid:before { + content: "\a00e" +} + +.atg-document:before { + content: "\a00f" +} + +.atg-instagram:before { + content: "\a010" +} + +.atg-tweeter:before { + content: "\a011" +} + +.atg-facebook:before { + content: "\a012" +} + +.atg-google-plus:before { + content: "\a013" +} + +.atg-phone:before { + content: "\a014" +} + +.atg-location:before { + content: "\a015" +} + +.atg-heart:before { + content: "\a016" +} + +.atg-more:before { + content: "\a017" +} + +.atg-home:before{ + content: "\a018" +} + +.atg-circle:before{ + content: "\a019" +} +.atg-down:before { + content: "\a01a" +} + +.a-down-thick:before { + content: "\a01a" +} + +.atg-x:before { + content: "\a01b" +} + +.atg-book:before { + content: "\a01c" +} + +.atg-catalogue:before { + content: "\a01d" +} + +.atg-product:before{ + content: "\a01e" +} + +.atg-plus:before{ + content: "\a01f" +} + +.atg-embeded:before { + content: "\a020" +} + +.atg-upload:before { + content: "\a021" +} + +.atg-download:before { + content: "\a022" +} + +.atg-moveto:before { + content: "\a023" +} + + +.atg-copy:before { + content: "\a024" +} + + +.atg-pencil:before { + content: "\a025" +} + + +.atg-rename:before { + content: "\a026" +} + +.atg-delete:before { + content: "\a027" +} + +.atg-menu:before { + content: "\a029" +} + +.atg-dot:before { + content: "\a02a" +} + +.atg-storage:before { + content: "\a02b" +} + +.atg-storage-setting:before { + content: "\a02c" +} + +.atg-storage-add:before { + content: "\a02d" +} + +.atg-tick:before{ + content: "\a02e" +} + +.atg-less:before{ + content: "\a02f" +} +.atg-minus:before { + content: "\a031" +} \ No newline at end of file diff --git a/MikaltoResort/wwwroot/css/atg-font/atg-font.css b/MikaltoResort/wwwroot/css/atg-font/atg-font.css new file mode 100644 index 0000000..f06c25f --- /dev/null +++ b/MikaltoResort/wwwroot/css/atg-font/atg-font.css @@ -0,0 +1,195 @@ +@font-face { + font-family: 'ATG-Icon'; + font-display: block; + src: url("../../font/ATGIcon-Regular.woff") format('woff')/*, url("../font/atg-admin-font.woff2") format('woff2')*/ +} + +.atg { + display: flex; + align-items: center; + font-family: ATG-Icon; + font-weight: 400; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-style: normal; + line-height: 1; +} + +.a-1x { + font-size: 1em +} + +.a-2x { + font-size: 2em +} + +.a-3x { + font-size: 3em +} + +.a-4x { + font-size: 4em +} + +.a-5x { + font-size: 5em +} + +.a-6x { + font-size: 6em +} + +.a-7x { + font-size: 7em +} + +.a-8x { + font-size: 8em +} + +.a-9x { + font-size: 9em +} + +.a-10x { + font-size: 10em +} + +.a-s-lightbulb-gear:before{ + content: '\effff' +} + +.a-lightbulb-gear:before{ + content: '\f0001' +} + +.a-target:before{ + content: '\f0002' +} + +.a-stragery:before{ + content: '\f0003' +} + +.a-focus:before{ + content: '\f0004' +} + +.a-cup:before{ + content: '\f0005' +} + +.a-handshake:before{ + content: '\f0006' +} + +.a-clock:before { + content: '\f0007' +} + +.a-clock-thin::before { + content: '\f0008' +} + +.a-phone:before { + content: '\f0009' +} + +.a-phone1:before { + content: '\f000a' +} + +.a-less:before { + content: '\f000B' +} + +.a-more:before { + content: '\f000C' +} + +.a-up:before { + content: '\f000D' +} + +.a-down:before { + content: '\f000E' +} + +.a-down-thick:before { + content: '\f000F' +} + +.a-less-thick:before { + content: '\f0010' +} + +.a-more-thick:before { + content: '\f0011' +} + +.a-up-thick:before { + content: '\f0012' +} + +.a-shape-down:before { + content: '\f0013' +} + +.a-shape-less:before { + content: '\f0014' +} + +.a-shape-more:before { + content: '\f0015' +} + +.a-shape-up:before { + content: '\f0016' +} + +.a-arrow-right-thick:before { + content: '\f0017' +} + +.a-arrow-right-thin:before { + content: '\f0018' +} + +.a-location1:before { + content: '\f0019' +} + +.a-location2:before{ + content: '\f0020' +} + +.a-email1:before{ + content: '\f0021' +} + +.a-email2:before { + content: '\f0022' +} +.a-twitter:before { + content: '\f0023' +} + +.a-google-plus:before { + content: '\f0024' +} + +.a-facebook:before { + content: '\f0025' +} + +.a-linkedin:before { + content: '\f0026' +} +.a-youtube:before { + content: '\f0027' +} + +.a-bag:before { + content: '\f0028' +} diff --git a/MikaltoResort/wwwroot/css/atg-lib/atg-core-min.css b/MikaltoResort/wwwroot/css/atg-lib/atg-core-min.css new file mode 100644 index 0000000..fbb9b04 --- /dev/null +++ b/MikaltoResort/wwwroot/css/atg-lib/atg-core-min.css @@ -0,0 +1 @@ +:root{--vh: 100%;--margin-base: 25px;}.main-scrollbar.iOS {overflow:visible !important; height: auto !important} [data-scrollbar], .mini-scrollbar {overflow: hidden;height: 100vh;height: calc(var(--vh, 1vh) * 100);width: 100% }.noselect {-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none }a{text-decoration: none }button, input, textarea {font-family: Quicksand,'Segoe UI', Arial !important;cursor: pointer }.bg-white{background: white }html {-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;-webkit-tap-highlight-color: transparent;-ms-overflow-style: none;scrollbar-width: none;font-family: Quicksand,'Segoe UI', Arial;color: #333;}body {-ms-overflow-style: none;scrollbar-width: none;overflow: hidden;margin: 0;font-size: 1rem;font-weight: 400;line-height: 1.5;text-align: left;background-color: #fff;}htm::-webkit-scrollbar, body::-webkit-scrollbar {display: none;}button, div, i, img, header, footer, main, content, section{display: block;position:relative;}input, textarea, button {border: none;outline: none;transition: all .3s ease-in-out }*, ::after, ::before {box-sizing: border-box;}ol, ul {margin: 0;padding: 0;list-style: none;}h1, h2, h3, h4, h5, h6, p {display: block;position: relative;margin: 0;}.text-justify {text-align: justify }.text-center {text-align: center }.h-100vh {min-height: 100vh;}.h-100 {height: 100%;}.w-100{width: 100%;}.cfull {width: 100% !important;}.chf {width: 96% !important;margin-right: auto;margin-left: auto;}.con-60 {max-width: 60%;margin-right: auto;margin-left: auto;}.c, [class^=cf-] {width: 100%;margin-right: auto;margin-left: auto;}@media (min-width:576px) {.c, .cf-s {width: 100%;}}@media (min-width:768px) {.c, .cf-l {max-width: 720px;}.r-s {margin: 0 20px !important;}}@media (min-width:992px) {.c, .cf-m {max-width: 960px;}}@media (min-width:1200px) {.c, .cf-x {max-width: 1180px;}}@media (min-width:1400px){.c, .cf-xl {max-width: 1360px;}}@media (min-width:1900px) {.c, .cf-xs {max-width: 1660px;}}.r, .r-s, .r-n-g, .r-d {display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;}.r {margin-right: var(--margin-base);margin-left: var(--margin-base);}.r-s{margin: 0 45px;}.r-n-g {margin-right: 0;margin-left: 0;}.r > .c, .r > [class^=c-] {padding-right: 0;padding-left: 0;}.r-n-g > [class^=c-], .r > [class^=c-] {position: relative;width: 100%;min-height: 1px;}.c-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-n {display: none !important;}.d-b {display: block !important;}.d-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.m-0 {margin: 0 !important;}.mt-0{margin-top: 0 !important;}.mr-0{margin-right: 0 !important;}.mb-0{margin-bottom: 0 !important;}.ml-0{margin-left: 0 !important;}.m-1 {margin: .25rem !important;}.mt-1{margin-top: .25rem !important;}.mr-1{margin-right: .25rem !important;}.mb-1{margin-bottom: .25rem !important;}.ml-1{margin-left: .25rem !important;}.m-2 {margin: .5rem !important;}.mt-2{margin-top: .5rem !important;}.mr-2{margin-right: .5rem !important;}.mb-2{margin-bottom: .5rem !important;}.ml-2{margin-left: .5rem !important;}.m-3 {margin: 1rem !important;}.mt-3{margin-top: 1rem !important;}.mr-3{margin-right: 1rem !important;}.mb-3{margin-bottom: 1rem !important;}.ml-3{margin-left: 1rem !important;}.m-4 {margin: 1.5rem !important;}.mt-4{margin-top: 1.5rem !important;}.mr-4{margin-right: 1.5rem !important;}.mb-4{margin-bottom: 1.5rem !important;}.ml-4{margin-left: 1.5rem !important;}.m-5 {margin: 3rem !important;}.mt-5{margin-top: 3rem !important;}.mr-5{margin-right: 3rem !important;}.mb-5{margin-bottom: 3rem !important;}.ml-5{margin-left: 3rem !important;}.p-0 {padding: 0 !important;}.pt-0{padding-top: 0 !important;}.pr-0{padding-right: 0 !important;}.pb-0{padding-bottom: 0 !important;}.pl-0{padding-left: 0 !important;}.p-1 {padding: .25rem !important;}.pt-1{padding-top: .25rem !important;}.pr-1{padding-right: .25rem !important;}.pb-1{padding-bottom: .25rem !important;}.pl-1{padding-left: .25rem !important;}.p-2 {padding: .5rem !important;}.pt-2{padding-top: .5rem !important;}.pr-2{padding-right: .5rem !important;}.pb-2{padding-bottom: .5rem !important;}.pl-2{padding-left: .5rem !important;}.p-3 {padding: 1rem !important;}.pt-3{padding-top: 1rem !important;}.pr-3{padding-right: 1rem !important;}.pb-3{padding-bottom: 1rem !important;}.pl-3{padding-left: 1rem !important;}.p-4 {padding: 1.5rem !important;}.pt-4{padding-top: 1.5rem !important;}.pr-4{padding-right: 1.5rem !important;}.pb-4{padding-bottom: 1.5rem !important;}.pl-4{padding-left: 1.5rem !important;}.p-5 {padding: 3rem !important;}.pt-5{padding-top: 3rem !important;}.pr-5{padding-right: 3rem !important;}.pb-5{padding-bottom: 3rem !important;}.pl-5{padding-left: 3rem !important;}.m-auto {margin: auto !important;}.mt-auto{margin-top: auto !important;}.mr-auto{margin-right: auto !important;}.mb-auto{margin-bottom: auto !important;}.ml-auto{margin-left: auto !important;}.gap-0 {gap: 0 !important;}.gap-1 {gap: 0.25rem !important;}.gap-2 {gap: 0.5rem !important;}.gap-3 {gap: 1rem !important;}.gap-4 {gap: 1.5rem !important;}.gap-5 {gap: 3rem !important;}@media (min-width:576px) {.c-s-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-s-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-s-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-s-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-s-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-s-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-s-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-s-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-s-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-s-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-s-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-s-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-s-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-s-n {display: none !important;}.d-s-b {display: block !important;}.d-s-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-s-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-s-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-s-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-s-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-s-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-s-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-s-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-s-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-s-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-s-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-s-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-s-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-s-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-s-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-s-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-s-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-s-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-s-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-s-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-s-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-s-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-s-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-s-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-m-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-m-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-m-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-m-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-m-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-m-stretch {-ms-flex-item-align: stretch !important;align-items: stretch !important;}.gap-s-0 {gap: 0 !important;}.gap-s-1 {gap: 0.25rem !important;}.gap-s-2 {gap: 0.5rem !important;}.gap-s-3 {gap: 1rem !important;}.gap-s-4 {gap: 1.5rem !important;}.gap-s-5 {gap: 3rem !important;}}@media (min-width:768px) {.c-m-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-m-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-m-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-m-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-m-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-m-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-m-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-m-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-m-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-m-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-m-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-m-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-m-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-m-n {display: none !important;}.d-m-b {display: block !important;}.d-m-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-m-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-m-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-m-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-m-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-m-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-m-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-m-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-m-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-m-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-m-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-m-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-m-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-m-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-m-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-m-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-m-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-m-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-m-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-m-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-m-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-m-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-m-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-m-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-m-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-m-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-m-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-m-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-m-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-m-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.mr-m-0{margin-right: 0!important }.ml-m-0{margin-left: 0!important }.mt-m-0 {margin-top: 0 !important }.pl-m-5{padding-left: 3rem !important;}.pr-m-5 {padding-right: 3rem !important;}.gap-m-0 {gap: 0 !important;}.gap-m-1 {gap: 0.25rem !important;}.gap-m-2 {gap: 0.5rem !important;}.gap-m-3 {gap: 1rem !important;}.gap-m-4 {gap: 1.5rem !important;}.gap-m-5 {gap: 3rem !important;}}@media (min-width:992px) {.c-l-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-l-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-l-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-l-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-l-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-l-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-l-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-l-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-l-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-l-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-l-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-l-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-l-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-l-n {display: none !important;}.d-l-b {display: block !important;}.d-l-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-l-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-l-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-l-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-l-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-l-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-l-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-l-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-l-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-l-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-l-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-l-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-l-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-l-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-l-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-l-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-l-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-l-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-l-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-l-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-l-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-l-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-l-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-l-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-l-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-l-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-l-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-l-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-l-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-l-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.pr-l-5 {padding-right: 3rem !important;}.pl-l-5 {padding-left: 3rem !important;}.gap-l-0 {gap: 0 !important;}.gap-l-1 {gap: 0.25rem !important;}.gap-l-2 {gap: 0.5rem !important;}.gap-l-3 {gap: 1rem !important;}.gap-l-4 {gap: 1.5rem !important;}.gap-l-5 {gap: 3rem !important;}}@media (min-width:1200px) {.c-x-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-x-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-x-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-x-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-x-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-x-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-x-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-x-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-x-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-x-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-x-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-x-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-x-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-x-n {display: none !important;}.d-x-b {display: block !important;}.d-x-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-x-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-x-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-x-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-x-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-x-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-x-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-x-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-x-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-x-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-x-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-x-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-x-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-x-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-x-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-x-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-x-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-x-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-x-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-x-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-x-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-x-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-x-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-x-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-x-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-x-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-x-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-x-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-x-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-x-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.ml-x-auto {margin-left: auto !important;}.mb-x-0{margin-bottom: 0 !important;}}@media (min-width:1400px) {.c-xm-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-xm-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-xm-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-xm-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-xm-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-xm-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-xm-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-xm-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-xm-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-xm-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-xm-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-xm-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-xm-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-xm-n {display: none !important;}.d-xm-b {display: block !important;}.d-xm-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-xm-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}.f-xm-c {-webkit-box-orient: vertical !important;-webkit-box-direction: normal !important;-ms-flex-direction: column !important;flex-direction: column !important;}.f-xm-r-reverse {-webkit-box-orient: horizontal !important;-webkit-box-direction: reverse !important;-ms-flex-direction: row-reverse !important;flex-direction: row-reverse !important;}.f-xm-c-reverse {-webkit-box-orient: vertical !important;-webkit-box-direction: reverse !important;-ms-flex-direction: column-reverse !important;flex-direction: column-reverse !important;}.f-xm-wrap {-ms-flex-wrap: wrap !important;flex-wrap: wrap !important;}.f-xm-nowrap {-ms-flex-wrap: nowrap !important;flex-wrap: nowrap !important;}.f-xm-wrap-reverse {-ms-flex-wrap: wrap-reverse !important;flex-wrap: wrap-reverse !important;}.j-c-xm-start {-webkit-box-pack: start !important;-ms-flex-pack: start !important;justify-content: flex-start !important;}.j-c-xm-end {-webkit-box-pack: end !important;-ms-flex-pack: end !important;justify-content: flex-end !important;}.j-c-xm-center {-webkit-box-pack: center !important;-ms-flex-pack: center !important;justify-content: center !important;}.j-c-xm-between {-webkit-box-pack: justify !important;-ms-flex-pack: justify !important;justify-content: space-between !important;}.j-c-xm-around {-ms-flex-pack: distribute !important;justify-content: space-around !important;}.a-i-xm-start {-webkit-box-align: start !important;-ms-flex-align: start !important;align-items: flex-start !important;}.a-i-xm-end {-webkit-box-align: end !important;-ms-flex-align: end !important;align-items: flex-end !important;}.a-i-xm-center {-webkit-box-align: center !important;-ms-flex-align: center !important;align-items: center !important;}.a-i-xm-baseline {-webkit-box-align: baseline !important;-ms-flex-align: baseline !important;align-items: baseline !important;}.a-i-xm-stretch {-webkit-box-align: stretch !important;-ms-flex-align: stretch !important;align-items: stretch !important;}.a-c-xm-start {-ms-flex-line-pack: start !important;align-content: flex-start !important;}.a-c-xm-end {-ms-flex-line-pack: end !important;align-content: flex-end !important;}.a-c-xm-center {-ms-flex-line-pack: center !important;align-content: center !important;}.a-c-xm-between {-ms-flex-line-pack: justify !important;align-content: space-between !important;}.a-c-xm-around {-ms-flex-line-pack: distribute !important;align-content: space-around !important;}.a-c-xm-stretch {-ms-flex-line-pack: stretch !important;align-content: stretch !important;}.a-s-xm-auto {-ms-flex-item-align: auto !important;align-self: auto !important;}.a-s-xm-start {-ms-flex-item-align: start !important;align-self: flex-start !important;}.a-s-xm-end {-ms-flex-item-align: end !important;align-self: flex-end !important;}.a-s-xm-center {-ms-flex-item-align: center !important;align-self: center !important;}.a-s-xm-baseline {-ms-flex-item-align: baseline !important;align-self: baseline !important;}.a-s-xm-stretch {-ms-flex-item-align: stretch !important;align-self: stretch !important;}.ml-xm-auto {margin-left: auto !important;}.ml-xm-5 {margin-left: 3rem !important;}.mb-xm-0 {margin-bottom: 0 !important;}}@media (min-width:1900px) {.c-sx-a {-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;width: auto;max-width: none;}.c-sx-1 {-webkit-box-flex: 0;-ms-flex: 0 0 8.333333%;flex: 0 0 8.333333%;max-width: 8.333333%;}.c-sx-2 {-webkit-box-flex: 0;-ms-flex: 0 0 16.666667%;flex: 0 0 16.666667%;max-width: 16.666667%;}.c-sx-3 {-webkit-box-flex: 0;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;}.c-sx-4 {-webkit-box-flex: 0;-ms-flex: 0 0 33.333333%;flex: 0 0 33.333333%;max-width: 33.333333%;}.c-sx-5 {-webkit-box-flex: 0;-ms-flex: 0 0 41.666667%;flex: 0 0 41.666667%;max-width: 41.666667%;}.c-sx-6 {-webkit-box-flex: 0;-ms-flex: 0 0 50%;flex: 0 0 50%;max-width: 50%;}.c-sx-7 {-webkit-box-flex: 0;-ms-flex: 0 0 58.333333%;flex: 0 0 58.333333%;max-width: 58.333333%;}.c-sx-8 {-webkit-box-flex: 0;-ms-flex: 0 0 66.666667%;flex: 0 0 66.666667%;max-width: 66.666667%;}.c-sx-9 {-webkit-box-flex: 0;-ms-flex: 0 0 75%;flex: 0 0 75%;max-width: 75%;}.c-sx-10 {-webkit-box-flex: 0;-ms-flex: 0 0 83.333333%;flex: 0 0 83.333333%;max-width: 83.333333%;}.c-sx-11 {-webkit-box-flex: 0;-ms-flex: 0 0 91.666667%;flex: 0 0 91.666667%;max-width: 91.666667%;}.c-sx-12 {-webkit-box-flex: 0;-ms-flex: 0 0 100%;flex: 0 0 100%;max-width: 100%;}.d-sx-n {display: none !important;}.d-sx-b {display: block !important;}.d-sx-f {display: -webkit-box !important;display: -ms-flexbox !important;display: flex !important;}.f-sx-r {-webkit-box-orient: horizontal !important;-webkit-box-direction: normal !important;-ms-flex-direction: row !important;flex-direction: row !important;}}html {font-size: 12px }@media (min-width: 768px) {html {font-size: 14px;}}@media (min-width: 1200px) {html {font-size: 16px;}}h1 {font-size: 2.3rem }h2 {font-size: 1.9rem }h3 {font-size: 1.4rem }.light .border-b {border-bottom: 1px solid #41475435;}.dark .border-b {border-bottom: 1px solid #dee2e6;}.filter {position: absolute;width: 100%;height: 100%;z-index: 1 }:root {--blue: #20304f;--indigo: #6610f2;--purple: #6f42c1;--pink: #d63384;--red: #dc3545;--orange: #fd7e14;--yellow: #ffc107;--green: #80ba26;--teal: #20c997;--cyan: #0dcaf0;--white: #fff;--dark2-rgb: 42, 64, 104;--dark: #162440;--dark-rgb: 22, 36, 64;--dark1: #20304F;--dark1-rgb: 32, 48, 79;--gray: #6c757d;--gray-dark: #343a40;--gray-100: #f8f9fa;--gray-200: #e9ecef;--gray-300: #dee2e6;--gray-400: #ced4da;--gray-500: #adb5bd;--gray-600: #6c757d;--gray-700: #495057;--gray-800: #343a40;--gray-900: #212529;--primary: #f3525a;--secondary: #20304f;--success: #198754;--info: #0dcaf0;--warning: #ffc107;--danger: #dc3545;--light: #f8f9fa;--btn-font-weight: 500;--margin-gap: 3px;--border-radius: 5px;--light-bg: #F9F9FA;--margin-row: calc(var(--margin-base) - var(--margin-gap));--footer-color: #FFFFFFCC;--footer-border-color: #ffffff99;--input-padding: 7px;}.m-gap {margin: 0 var(--margin-gap);}.p-gap {padding: 0 var(--margin-gap);}.r-d {margin-right: var(--margin-row);margin-left: var(--margin-row);}.primary-color {color: var(--primary) }.bg-dark {background-color: var(--dark) }.bg-dark1 {background-color: var(--dark1) }.bg-dark2 {background-color: rgb(var(--dark2-rgb)) }.bg-white {background-color: white }.bg-primary {background-color: var(--primary) }.bg-light {background-color: var(--light-bg) }.text-white {color: #fff;}[data-scrollbar], [scrollbar], scrollbar {display: block;position: relative }[data-scrollbar] .scrollbar-track {z-index: 2000 !important }[data-scrollbar] .scroll-content, [scrollbar] .scroll-content, scrollbar .scroll-content {-webkit-transform: translateZ(0);transform: translateZ(0) }[data-scrollbar].sticky .scrollbar-track, [scrollbar].sticky .scrollbar-track, scrollbar.sticky .scrollbar-track {background-color: transparent }[data-scrollbar] .scrollbar-track, [scrollbar] .scrollbar-track, scrollbar .scrollbar-track {position: absolute;opacity: 0;z-index: 1;transition: opacity .5s ease-out,background .5s ease-out;background: none;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none }[data-scrollbar] .scrollbar-track.show, [data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track.show, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track.show, scrollbar .scrollbar-track:hover {opacity: 1 }[data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track:hover {background: hsla(0,0%,87%,.75) }[data-scrollbar] .scrollbar-track-x, [scrollbar] .scrollbar-track-x, scrollbar .scrollbar-track-x {bottom: 0;left: 0;width: 100%;height: 8px }[data-scrollbar] .scrollbar-track-y, [scrollbar] .scrollbar-track-y, scrollbar .scrollbar-track-y {top: 4px;right: 0;width: 4px;height: 100% }[data-scrollbar] .scrollbar-thumb, [scrollbar] .scrollbar-thumb, scrollbar .scrollbar-thumb {position: absolute;top: 0;left: 0;width: 2px;height: 2px;background: rgba(0,0,0,.5);border-radius: 4px }[data-scrollbar] .overscroll-glow, [scrollbar] .overscroll-glow, scrollbar .overscroll-glow {position: absolute;top: 0;left: 0;width: 100%;height: 100% }.header {position: absolute;top: 0;left: 0;right: 0;z-index: 101 }.f-header {box-shadow: 0 2px 3px rgba(96, 96, 96, 0.1);z-index: 2;width: 100%;background-color: #fff;position: absolute;top: -100px;transition: top .3s ease-in }.f-header .nav-link {padding-top: 1.8rem;padding-bottom: 1.8rem;}.f-header.show {top: 0 }.row1 .nav-item {font-weight: 500;}.row1 .atg {font-size: 1rem }.row2 {margin-top: 10px;}.c-logo img {height: 40px }.logo-light {display: none }.logo-dark {display: block }.hp .header {background-color: transparent;}.hp .logo-light {display: none }.hp .logo-dark {display: block }.navbar-nav .nav-item {display: flex;flex-direction: column }.navbar-nav.nav-item .dropdown::after, .navbar-nav .nav-link::after, .navbar-nav .nav-item .dropdown::before, .navbar-nav .nav-link::before {content: '';display: block;position: absolute;height: 0;width: 0;left: 50%;right: 50%;bottom: 0;background: var(--red) }.navbar-nav .dropdown::after, .navbar-nav .nav-link::after, .navbar-nav .nav-link.active::after {border-top-left-radius: 3px;border-bottom-left-radius: 3px;transition: left .35s ease-out, width .35s ease-out }.navbar-nav .dropdown::before, .navbar-nav .nav-link::before, .navbar-nav .nav-link.active::before {border-top-right-radius: 3px;border-bottom-right-radius: 3px;transition: right .35s ease-out, width .35s ease-out }.navbar-nav .nav-item.active .dropdown::after, .navbar-nav .nav-link:hover::after, .navbar-nav .nav-link.active::after {left: 5%;right: 45%;width: 45%;height: 3px }.navbar-nav .nav-item.active .dropdown::before, .navbar-nav .nav-link:hover::before, .navbar-nav .nav-link.active::before {left: 45%;right: 5%;width: 50%;height: 3px }.nav-link {color: var(--dark);text-transform: uppercase;font-size: 1.1rem;font-weight: 600;padding: 1.5rem 1rem;}.navbar-nav .sub-item {visibility: hidden;height: 0;}.ico-menu {cursor: pointer;margin: 16px 0;background-color: var(--secondary);border: 1px solid rgba(255, 255,255,.3);border-radius: var(--border-radius);padding: .1rem .6rem }.ico-menu div {text-align: left;display: block;width: 35px;height: 2px;background: white;margin-bottom: 8px;}.ico-menu div span {position: absolute;transition: width .3s ease-in;left: 0;top: 0;height: 2px;background: var(--primary) }.ico-menu div:first-child {margin-top: 8px;}.h-menu .item {color: #fff;cursor: pointer;padding: 4px 14px }.lets-work {top: 50%;transform: translateY(-50%) }.lets-work h1 {font-size: 2.8rem;color: white }.ss-footer1 {background-image: url(/images/banner/f_img1.jpg);background-repeat: no-repeat;background-size: cover;background-position: center;height: 380px;}.ss-footer1 .filter {background-color: rgba(var(--dark-rgb), .4) }.ss-footer2 img {width: 210px }.ss-footer2 {color: #FFFFFFCC !important;}.ss-footer3, .ss-footer2 {color: white;font-size: .9rem }.m-footer a {margin: 0 10px;color: white;transition: color ease-in .3s }.m-footer a:hove r {color: var(--primary) }.m-footer .item {margin: 2px 0;display: flex;color: var(--footer-color);align-items: center;}.m-footer.social i {font-size: 1.5rem;color: var(--footer-color) }.m-footer .item:hover {color: #FFF !important }.m-footer .item:hover i {color: var(--primary) }.m-footer i {transition: color ease-in .3s;margin-right: 10px;color: var(--green);}footer input, footer button {vertical-align: middle;color: var(--footer-color);border: 2px solid var(--footer-border-color);border-radius: 0;background-color: transparent;line-height: 23px;border-right-width: 0;}.ss-footer2 .btn {padding: var(--input-padding) calc(var(--input-padding) * 4);background-color: var(--footer-border-color);color: var(--dark1);border-top-left-radius: 0;border-bottom-left-radius: 0;border-left: none;line-height: 30px;} \ No newline at end of file diff --git a/MikaltoResort/wwwroot/css/atg-lib/atg-core.css b/MikaltoResort/wwwroot/css/atg-lib/atg-core.css new file mode 100644 index 0000000..7b34fd4 --- /dev/null +++ b/MikaltoResort/wwwroot/css/atg-lib/atg-core.css @@ -0,0 +1,2820 @@ +:root { + --vh: 100%; + --margin-base: 25px; +} + +[data-scrollbar], .mini-scrollbar { + overflow: hidden; + height: calc(var(--vh, 1vh) * 100); + width: 100% +} + +.main-scrollbar.iOS { + overflow: visible !important; + height: auto !important +} + +.noselect { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} + +a { + text-decoration: none +} + +button, input, textarea { + font-family: Quicksand,'Segoe UI', Arial !important; + cursor: pointer +} + +.bg-white { + background: white +} + +html { + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -webkit-tap-highlight-color: transparent; + font-family: Quicksand,'Segoe UI', Arial; + color: #333; +} + html:not(:has(.main-scrollbar.iOS)) { + -ms-overflow-style: none; + scrollbar-width: none; + } +body { + margin: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + text-align: left; + background-color: #fff; +} + + body:not(:has(.main-scrollbar.iOS)) { + -ms-overflow-style: none; + scrollbar-width: none; + overflow: hidden; + } + + html:not(:has(.main-scrollbar.iOS))::-webkit-scrollbar, body:not(:has(.main-scrollbar.iOS))::-webkit-scrollbar { + display: none; + } + +button, div, i, img, header, footer, main, content, section { + display: block; + position: relative; +} + +input, textarea, button { + border: none; + outline: none; + transition: all .3s ease-in-out +} + +*, ::after, ::before { + box-sizing: border-box; +} + +ol, ul { + margin: 0; + padding: 0; + list-style: none; +} + +h1, h2, h3, h4, h5, h6, p { + display: block; + position: relative; + margin: 0; +} + +.text-justify { + text-align: justify +} + +.text-center { + text-align: center +} + +.h-100vh { + min-height: 100vh; +} + +.h-100 { + height: 100%; +} + +.w-100 { + width: 100%; +} + +.cfull { + width: 100% !important; +} + +.chf { + width: 96% !important; + margin-right: auto; + margin-left: auto; +} + +.con-60 { + max-width: 60%; + margin-right: auto; + margin-left: auto; +} + +.c, [class^=cf-] { + width: 100%; + margin-right: auto; + margin-left: auto; +} + +@media (min-width:576px) { + .c, .cf-s { + width: 100%; + } +} + +@media (min-width:768px) { + .c, .cf-l { + max-width: 720px; + } + + .r-s { + margin: 0 20px !important; + } +} + +@media (min-width:992px) { + .c, .cf-m { + max-width: 960px; + } +} + +@media (min-width:1200px) { + .c, .cf-x { + max-width: 1180px; + } +} + +@media (min-width:1400px) { + .c, .cf-xl { + max-width: 1360px; + } +} + +@media (min-width:1900px) { + .c, .cf-xs { + max-width: 1660px; + } +} + +.r, .r-s, .r-n-g, .r-d { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} + +.r { + margin-right: var(--margin-base); + margin-left: var(--margin-base); +} + +.r-s { + margin: 0 45px; +} + +.r-n-g { + margin-right: 0; + margin-left: 0; +} + +.r > .c, .r > [class^=c-] { + padding-right: 0; + padding-left: 0; +} + +.r-n-g > [class^=c-], .r > [class^=c-] { + position: relative; + width: 100%; + min-height: 1px; +} + +.c-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; +} + +.c-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.c-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.c-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.c-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.c-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.c-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.c-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.c-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.c-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.c-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.c-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.c-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.d-n { + display: none !important; +} + +.d-b { + display: block !important; +} + +.d-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; +} + +.f-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.f-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.f-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.f-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.f-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.f-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.f-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.j-c-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.j-c-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.j-c-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.j-c-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.j-c-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.a-i-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.a-i-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.a-i-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; +} + +.a-i-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.a-i-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.a-c-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.a-c-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.a-c-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.a-c-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.a-c-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.a-c-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.a-s-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.a-s-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.a-s-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.a-s-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.a-s-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.a-s-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mr-0 { + margin-right: 0 !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.ml-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: .25rem !important; +} + +.mt-1 { + margin-top: .25rem !important; +} + +.mr-1 { + margin-right: .25rem !important; +} + +.mb-1 { + margin-bottom: .25rem !important; +} + +.ml-1 { + margin-left: .25rem !important; +} + +.m-2 { + margin: .5rem !important; +} + +.mt-2 { + margin-top: .5rem !important; +} + +.mr-2 { + margin-right: .5rem !important; +} + +.mb-2 { + margin-bottom: .5rem !important; +} + +.ml-2 { + margin-left: .5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mr-3 { + margin-right: 1rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.ml-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mr-4 { + margin-right: 1.5rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mr-5 { + margin-right: 3rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.ml-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pr-0 { + padding-right: 0 !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pl-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: .25rem !important; +} + +.pt-1 { + padding-top: .25rem !important; +} + +.pr-1 { + padding-right: .25rem !important; +} + +.pb-1 { + padding-bottom: .25rem !important; +} + +.pl-1 { + padding-left: .25rem !important; +} + +.p-2 { + padding: .5rem !important; +} + +.pt-2 { + padding-top: .5rem !important; +} + +.pr-2 { + padding-right: .5rem !important; +} + +.pb-2 { + padding-bottom: .5rem !important; +} + +.pl-2 { + padding-left: .5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pr-3 { + padding-right: 1rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pl-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pr-4 { + padding-right: 1.5rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pr-5 { + padding-right: 3rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.pl-5 { + padding-left: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.mr-auto { + margin-right: auto !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ml-auto { + margin-left: auto !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +@media (min-width:576px) { + .c-s-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-s-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-s-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-s-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-s-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-s-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-s-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-s-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-s-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-s-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-s-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-s-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-s-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-s-n { + display: none !important; + } + + .d-s-b { + display: block !important; + } + + .d-s-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-s-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-s-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-s-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-s-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-s-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-s-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-s-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-s-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-s-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-s-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-s-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-s-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-s-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-s-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-s-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-s-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-s-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-s-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-s-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-s-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-s-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-s-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-s-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-m-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-m-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-m-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-m-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-m-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-m-stretch { + -ms-flex-item-align: stretch !important; + align-items: stretch !important; + } + + .gap-s-0 { + gap: 0 !important; + } + + .gap-s-1 { + gap: 0.25rem !important; + } + + .gap-s-2 { + gap: 0.5rem !important; + } + + .gap-s-3 { + gap: 1rem !important; + } + + .gap-s-4 { + gap: 1.5rem !important; + } + + .gap-s-5 { + gap: 3rem !important; + } +} + +@media (min-width:768px) { + .c-m-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-m-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-m-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-m-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-m-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-m-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-m-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-m-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-m-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-m-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-m-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-m-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-m-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-m-n { + display: none !important; + } + + .d-m-b { + display: block !important; + } + + .d-m-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-m-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-m-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-m-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-m-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-m-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-m-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-m-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-m-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-m-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-m-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-m-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-m-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-m-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-m-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-m-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-m-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-m-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-m-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-m-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-m-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-m-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-m-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-m-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-m-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-m-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-m-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-m-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-m-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-m-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + + .mr-m-0 { + margin-right: 0 !important + } + + .ml-m-0 { + margin-left: 0 !important + } + + .mt-m-0 { + margin-top: 0 !important + } + + .pl-m-5 { + padding-left: 3rem !important; + } + + .pr-m-5 { + padding-right: 3rem !important; + } + + .gap-m-0 { + gap: 0 !important; + } + + .gap-m-1 { + gap: 0.25rem !important; + } + + .gap-m-2 { + gap: 0.5rem !important; + } + + .gap-m-3 { + gap: 1rem !important; + } + + .gap-m-4 { + gap: 1.5rem !important; + } + + .gap-m-5 { + gap: 3rem !important; + } +} + +@media (min-width:992px) { + .c-l-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-l-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-l-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-l-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-l-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-l-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-l-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-l-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-l-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-l-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-l-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-l-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-l-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-l-n { + display: none !important; + } + + .d-l-b { + display: block !important; + } + + .d-l-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-l-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-l-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-l-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-l-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-l-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-l-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-l-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-l-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-l-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-l-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-l-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-l-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-l-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-l-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-l-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-l-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-l-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-l-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-l-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-l-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-l-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-l-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-l-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-l-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-l-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-l-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-l-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-l-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-l-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + + .ml-l-2 { + margin-left: .5rem !important + } + + .ml-l-3 { + margin-left: 1rem !important + } + + .mr-l-3{ + margin-right: 1rem !important + } + + .mb-l-0{ + margin-bottom: 0!important; + } + + .pr-l-5 { + padding-right: 3rem !important; + } + + .pl-l-5 { + padding-left: 3rem !important; + } + + .gap-l-0 { + gap: 0 !important; + } + + .gap-l-1 { + gap: 0.25rem !important; + } + + .gap-l-2 { + gap: 0.5rem !important; + } + + .gap-l-3 { + gap: 1rem !important; + } + + .gap-l-4 { + gap: 1.5rem !important; + } + + .gap-l-5 { + gap: 3rem !important; + } +} + +@media (min-width:1200px) { + .c-x-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-x-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-x-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-x-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-x-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-x-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-x-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-x-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-x-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-x-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-x-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-x-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-x-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-x-n { + display: none !important; + } + + .d-x-b { + display: block !important; + } + + .d-x-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-x-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-x-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-x-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-x-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-x-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-x-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-x-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-x-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-x-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-x-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-x-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-x-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-x-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-x-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-x-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-x-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-x-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-x-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-x-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-x-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-x-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-x-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-x-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-x-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-x-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-x-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-x-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-x-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-x-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + + .ml-x-auto { + margin-left: auto !important; + } + + .ml-x-5{ + margin-left: 3rem !important + } + + .mr-x-5{ + margin-right: 3rem !important + } + + .mb-x-0 { + margin-bottom: 0 !important; + } +} + +@media (min-width:1400px) { + .c-xm-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-xm-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-xm-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-xm-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-xm-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-xm-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-xm-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-xm-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-xm-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-xm-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-xm-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-xm-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-xm-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-xm-n { + display: none !important; + } + + .d-xm-b { + display: block !important; + } + + .d-xm-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-xm-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + + .f-xm-c { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + + .f-xm-r-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + + .f-xm-c-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + + .f-xm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + + .f-xm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + + .f-xm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + + .j-c-xm-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + + .j-c-xm-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + + .j-c-xm-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + + .j-c-xm-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + + .j-c-xm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + + .a-i-xm-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + + .a-i-xm-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + + .a-i-xm-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + + .a-i-xm-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + + .a-i-xm-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + + .a-c-xm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + + .a-c-xm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + + .a-c-xm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + + .a-c-xm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + + .a-c-xm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + + .a-c-xm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + + .a-s-xm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + + .a-s-xm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + + .a-s-xm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + + .a-s-xm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + + .a-s-xm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + + .a-s-xm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + + .ml-xm-auto { + margin-left: auto !important; + } + + .ml-xm-5 { + margin-left: 3rem !important; + } + + .mb-xm-0 { + margin-bottom: 0 !important; + } +} + +@media (min-width:1900px) { + .c-sx-a { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + + .c-sx-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .c-sx-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .c-sx-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + + .c-sx-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .c-sx-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .c-sx-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + + .c-sx-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .c-sx-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .c-sx-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + + .c-sx-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .c-sx-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .c-sx-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + + .d-sx-n { + display: none !important; + } + + .d-sx-b { + display: block !important; + } + + .d-sx-f { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + + .f-sx-r { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } +} + +html { + font-size: 12px +} + +@media (min-width: 768px) { + html { + font-size: 14px; + } +} + +@media (min-width: 1200px) { + html { + font-size: 16px; + } +} + +h1 { + font-size: 3.8rem +} + +h2 { + font-size: 2.8rem +} + +h3 { + font-size: 1.4rem +} + +.light .border-b { + border-bottom: 1px solid #41475435; +} + +.dark .border-b { + border-bottom: 1px solid #dee2e6; +} + +.filter { + position: absolute; + width: 100%; + height: 100%; + z-index: 1 +} + +:root { + --blue: #20304f; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #d63384; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #80ba26; + --teal: #20c997; + --cyan: #0dcaf0; + --white: #fff; + --dark2-rgb: 42, 64, 104; + --dark: #162440; + --dark-rgb: 22, 36, 64; + --dark1: #20304F; + --dark1-rgb: 32, 48, 79; + --gray: #6c757d; + --gray-dark: #343a40; + --gray-100: #f8f9fa; + --gray-200: #e9ecef; + --gray-300: #dee2e6; + --gray-400: #ced4da; + --gray-500: #adb5bd; + --gray-600: #6c757d; + --gray-700: #495057; + --gray-800: #343a40; + --gray-900: #212529; + --primary: #f3525a; + --secondary: #20304f; + --success: #198754; + --info: #0dcaf0; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --btn-font-weight: 500; + --margin-gap: 3px; + --border-radius: 5px; + --light-bg: #F9F9FA; + --margin-row: calc(var(--margin-base) - var(--margin-gap)); + --footer-color: #FFFFFFCC; + --footer-border-color: #ffffff99; + --input-padding: 7px; +} + +.m-gap { + margin: 0 var(--margin-gap); +} + +.p-gap { + padding: 0 var(--margin-gap); +} + +.r-d { + margin-right: var(--margin-row); + margin-left: var(--margin-row); +} + +.primary-color { + color: var(--primary) +} + +.bg-dark { + background-color: var(--dark) +} + +.bg-dark1 { + background-color: var(--dark1) +} + +.bg-dark2 { + background-color: rgb(var(--dark2-rgb)) +} + +.bg-white { + background-color: white +} + +.bg-primary { + background-color: var(--primary) +} + +.bg-light { + background-color: var(--light-bg) +} + +.text-white { + color: #fff; +} + +[data-scrollbar], [scrollbar], scrollbar { + display: block; + position: relative +} + + [data-scrollbar] .scrollbar-track { + z-index: 2000 !important + } + + [data-scrollbar] .scroll-content, [scrollbar] .scroll-content, scrollbar .scroll-content { + -webkit-transform: translateZ(0); + transform: translateZ(0) + } + + [data-scrollbar].sticky .scrollbar-track, [scrollbar].sticky .scrollbar-track, scrollbar.sticky .scrollbar-track { + background-color: transparent + } + + [data-scrollbar] .scrollbar-track, [scrollbar] .scrollbar-track, scrollbar .scrollbar-track { + position: absolute; + opacity: 0; + z-index: 1; + transition: opacity .5s ease-out,background .5s ease-out; + background: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none + } + + [data-scrollbar] .scrollbar-track.show, [data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track.show, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track.show, scrollbar .scrollbar-track:hover { + opacity: 1 + } + + [data-scrollbar] .scrollbar-track:hover, [scrollbar] .scrollbar-track:hover, scrollbar .scrollbar-track:hover { + background: hsla(0,0%,87%,.75) + } + + [data-scrollbar] .scrollbar-track-x, [scrollbar] .scrollbar-track-x, scrollbar .scrollbar-track-x { + bottom: 0; + left: 4px; + width: calc(100%- 8px); + height: 4px + } + + [data-scrollbar] .scrollbar-track-y, [scrollbar] .scrollbar-track-y, scrollbar .scrollbar-track-y { + top: 4px; + right: 0; + width: 4px; + height: calc(100% - 8px); + } + + [data-scrollbar] .scrollbar-thumb, [scrollbar] .scrollbar-thumb, scrollbar .scrollbar-thumb { + position: absolute; + top: 0; + left: 0; + width: 2px; + height: 2px; + background: rgba(0,0,0,.5); + border-radius: 4px + } + + [data-scrollbar] .overscroll-glow, [scrollbar] .overscroll-glow, scrollbar .overscroll-glow { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100% + } + +.header { + position: absolute; + top: 0; + left: 0; + right: 0; + z-index: 101 +} + +.f-header { + box-shadow: 0 2px 3px rgba(96, 96, 96, 0.1); + z-index: 2; + width: 100%; + background-color: #fff; + position: absolute; + top: -100px; + transition: top .3s ease-in +} + + .f-header .nav-link { + padding-top: 1.8rem; + padding-bottom: 1.8rem; + } + + .f-header.show { + top: 0 + } + +.row1 .nav-item { + font-weight: 500; +} + +.row1 .atg { + font-size: 1rem +} + +.row2 { + margin-top: 10px; +} + +.c-logo img { + height: 40px +} + +.logo-light { + display: none +} + +.logo-dark { + display: block +} + +.hp .header { + background-color: transparent; +} + +.hp .logo-light { + display: none +} + +.hp .logo-dark { + display: block +} + +.navbar-nav .nav-item { + display: flex; + flex-direction: column +} + + .navbar-nav.nav-item .dropdown::after, .navbar-nav .nav-link::after, .navbar-nav .nav-item .dropdown::before, .navbar-nav .nav-link::before { + content: ''; + display: block; + position: absolute; + height: 0; + width: 0; + left: 50%; + right: 50%; + bottom: 0; + background: var(--red) + } + +.navbar-nav .dropdown::after, .navbar-nav .nav-link::after, .navbar-nav .nav-link.active::after { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + transition: left .35s ease-out, width .35s ease-out +} + +.navbar-nav .dropdown::before, .navbar-nav .nav-link::before, .navbar-nav .nav-link.active::before { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + transition: right .35s ease-out, width .35s ease-out +} + +.navbar-nav .nav-item.active .dropdown::after, .navbar-nav .nav-link:hover::after, .navbar-nav .nav-link.active::after { + left: 5%; + right: 45%; + width: 45%; + height: 3px +} + +.navbar-nav .nav-item.active .dropdown::before, .navbar-nav .nav-link:hover::before, .navbar-nav .nav-link.active::before { + left: 45%; + right: 5%; + width: 50%; + height: 3px +} + +.nav-link { + color: var(--dark); + text-transform: uppercase; + font-size: 1.1rem; + font-weight: 600; + padding: 1.5rem 1rem; +} + +.navbar-nav .sub-item { + visibility: hidden; + height: 0; +} + +.ico-menu { + cursor: pointer; + margin: 16px 0; + background-color: var(--secondary); + border: 1px solid rgba(255, 255,255,.3); + border-radius: var(--border-radius); + padding: .1rem .6rem +} + + .ico-menu div { + text-align: left; + display: block; + width: 35px; + height: 2px; + background: white; + margin-bottom: 8px; + } + + .ico-menu div span { + position: absolute; + transition: width .3s ease-in; + left: 0; + top: 0; + height: 2px; + background: var(--primary) + } + + .ico-menu div:first-child { + margin-top: 8px; + } + +.h-menu .item { + color: #fff; + cursor: pointer; + padding: 4px 14px +} + +.lets-work { + top: 50%; + transform: translateY(-50%) +} + + .lets-work h1 { + font-size: 2.8rem; + color: white + } + +.ss-footer1 { + background-image: url(/images/banner/f_img1.jpg); + background-repeat: no-repeat; + background-size: cover; + background-position: center; + height: 380px; +} + + .ss-footer1 .filter { + background-color: rgba(var(--dark-rgb), .4) + } + +.ss-footer2 img { + width: 210px +} + +.ss-footer2 { + color: #FFFFFFCC !important; +} + +.ss-footer3, .ss-footer2 { + color: white; + font-size: .9rem +} + +.m-footer a { + margin: 0 10px; + color: white; + transition: color ease-in .3s +} + + .m-footer a:hove r { + color: var(--primary) + } + +.m-footer .item { + margin: 2px 0; + display: flex; + color: var(--footer-color); + align-items: center; +} + +.m-footer.social i { + font-size: 1.5rem; + color: var(--footer-color) +} + +.m-footer .item:hover { + color: #FFF !important +} + + .m-footer .item:hover i { + color: var(--primary) + } + +.m-footer i { + transition: color ease-in .3s; + margin-right: 10px; + color: var(--green); +} + +footer input, footer button { + vertical-align: middle; + color: var(--footer-color); + border: 2px solid var(--footer-border-color); + border-radius: 0; + background-color: transparent; + line-height: 23px; + border-right-width: 0; +} + +.ss-footer2 .btn { + padding: var(--input-padding) calc(var(--input-padding) * 4); + background-color: var(--footer-border-color); + color: var(--dark1); + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left: none; + line-height: 30px; +} \ No newline at end of file diff --git a/MikaltoResort/wwwroot/css/atg-lib/atg-upload.css b/MikaltoResort/wwwroot/css/atg-lib/atg-upload.css new file mode 100644 index 0000000..d1e88b0 --- /dev/null +++ b/MikaltoResort/wwwroot/css/atg-lib/atg-upload.css @@ -0,0 +1,498 @@ +.u-overlay{ + position:absolute; + width: 100vw; + height: 100vh; + left: 0; + top: 0; + z-index: 10000; + background: rgba(0,0,0, .2); +} + +.u-scroll { + overflow: hidden; + width: 100%; + height: 100%; +} + + +@media (min-width: 768px){ + .nav-tupload .item .name { + display:block!important + } +} + +@media (min-width: 996px){ + .breadcrumb { + width: 60% !important + } +} + +@media (min-height: 800px) { + .u-container { + height: 100vh!important + } + + .u-wrapper { + margin: 0 !important; + height: 80vh !important + } +} + +.u-container { + width: 100%; + height: 100%; +} + +.u-n-wrapper { + box-shadow: 0 0 10px 0 rgb(0 0 0 / 15%); + width: 100%; + height: 800px; + overflow: hidden; + border-radius: 5px +} + +.u-wrapper { + border-radius: 5px; + overflow:hidden; + height: 800px; + width: 80vw; + margin: 150px 0; + background-color: #fff; + box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%); + transition: all 0.35s ease-in-out +} + +.container-tupload { + width: 100%; + background: #fff; + border-bottom: 1px solid #edebe9; +} + +.nav-tupload .item{ + padding: 12px 10px; + transition: all .3s ease-in-out +} + +.nav-tupload .item span{ + color: #333; + line-height: 22px; +} + .nav-tupload .item .name { + display: none + } +.nav-tupload .item .atg{ + color: #154ab9 +} + .nav-tupload .item .atg:last-child { + color: #232323 !important + } + +.nav-tupload .item:hover{ + background-color: rgb(243, 242, 241) +} +[data-dropdown] .sub-item { + border-radius: 5px; + overflow: hidden; + position: fixed; + background: #fff; + width: 180px; + z-index: 10001; + box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%); + height: 0; + transition: height 0.3s ease-out +} + + [data-dropdown] .sub-item.show { + height: auto; + } +[data-dropdown].active > .dropdown { + background: rgb(222 222 222) +} +[data-dropdown] .sub-item .item { + transition: .3s all ease-in-out; + padding: 10px 15px; + color: #333 +} + + [data-dropdown] .sub-item .item:hover { + background-color: rgb(243, 242, 241) + } + +.bt-close { + padding: 12px 25px; + background: #7367f0; + color: #fff; + transition: .3s all ease-in-out +} + + .bt-close:hover { + background: #8d1a1e + } + +.u-c-file{ + height: calc(100% - 54px); + width: 100%; + overflow-x: hidden; +} + +.u-row{ + width: 100%; + padding: 25px 25px 0 25px; +} + +.breadcrumb{ + width: 80% +} + +.breadcrumb .dropdown, +.breadcrumb .item, +.breadcrumb .sep { + flex: 0 0 auto; + padding: 5px 8px; + color: #333; + transition: .3s all ease-in-out; + white-space: nowrap; +} + + .breadcrumb .item.ellipsis { + max-width: 160px; + } + + .breadcrumb .item:hover { + background: #f3f2f1; + } + + + +.breadcrumb > .item:last-child{ + font-weight: 600; + cursor: default !important; + background: #fff !important; + text-overflow: inherit !important; + max-width: max-content !important; + overflow: visible !important +} + +.breadcrumb > .citem[data-dropdown] > .sub-item{ + top: 28px; + min-width: 160px !important +} + .breadcrumb > .citem[data-dropdown] > .sub-item > .item { + padding:10px; + font-size: .8rem + } + +.modal { + visibility: hidden; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 0; + overflow: auto; + opacity: 1; + background-color: rgba(0,0,0,0.2); + transition: all 0.25s ease-in-out +} + .modal.show { + visibility: visible; + opacity: 1; + height: 100%; + } + +.modal-content { + border-radius: 5px; + overflow: hidden; + visibility: hidden; + height: 0; + margin: 0 auto; + padding: 25px; + background: #fff; + border: 1px solid #edebe9; + width: 80%; + box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%); + transition: height 0.3s ease-in-out +} + + +.modal-content.show{ + visibility: visible; + height: auto +} + +.grid-folder > .grid-sizer, +.grid-folder > .grid-item, +.grid-file > .grid-sizer, +.grid-file > .grid-item{ + width: 100%; +} + +.grid-folder > .grid-item { + padding: 15px 5px +} +.grid-file > .grid-item { + padding: 6px +} + +@media (min-width:300px) { + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 50% !important; + } +} + +@media (min-width:600px) { + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 33.33% !important; + } +} + +@media (min-width:992px) { + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 25% !important; + } +} + +@media (min-width: 1400px){ + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 16.66% !important; + } +} +@media (min-width: 1920px) { + .grid-folder > .grid-sizer, + .grid-folder > .grid-item, + .grid-file > .grid-sizer, + .grid-file > .grid-item { + width: 12.56% !important; + } +} + +.conFile { + position: relative; + padding: 4px; + background: #fff; + border-radius: 5px; + -webkit-box-shadow: 0 1px 3px 1px rgb(1 1 0 / 5%); + box-shadow: 0 1px 3px 1px rgb(1 1 0 / 5%); + transition: all .3s ease-in-out; + cursor:pointer +} + +.conFile:hover{ + border: solid 1px rgba(0,0,0, .15) +} + +.imagePreview { + overflow: hidden; + transition: all .3s ease-in-out; + border-radius: 5px +} + +.conFile img, .imagePreview { + width: 100% +} + +.conFolder{ + padding-top: 15px; + transition: background .3s ease-in-out +} + + .conFolder:hover { + background: #F3F2F1 + } + + .conFolder:hover .btCon, .btCon:hover, .conFolder.active .btCon { + display: flex + } + + .conFolder.active { + background: #EDEBE9; + } + +.conFolder.active .btSelect{ + background:#7367f0; + border: 1px solid #fff; +} +.btCon:hover .atg { + display:block; + color: #333 +} + +.conFolder.active .atg{ + display: block; + color: #fff +} + +.folder-front { + position: absolute; + left: 0; + bottom: 0; + z-index: 2; +} + +.have-file { + box-shadow: 0 1px 3px 2px rgb(1 1 0 / 20%); + position: absolute; + top: 12%; + left: 5%; + right: 5%; + bottom: 10%; + background-color: white; + z-index: 1; +} + + +.btCon { + display: none; + position: absolute; + width: 35px; + height: 35px; + right: 0; + top: 0; + z-index:2; +} + +.btSelect{ + border: #333 1px solid; + width: 18px; + height: 18px; + background: #fff; + border-radius: 50%; +} + +.btSelect .atg{ + display: none; + font-size: 9px +} + +.folder { + width: 100%; + padding: 10% 15% 0 15%; + cursor:default +} +.conImg, .conImg img{ + width: 100% +} + +.conImg, .folderName{ + cursor: pointer +} + +.numF{ + color:#eeeeee; + font-size: .8rem; + position:absolute; + bottom: 8%; + left: 8%; + z-index: 4 +} + +.folderName { + margin-top: 20px; + margin-bottom: 10%; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + max-width: 95%; + text-align: center; + font-size: .8rem +} + +.con-slide-upload { + position: absolute; + background: #fff; + right: -350px; + top: 0; + bottom: 0; + width: 300px; + z-index: 15; + max-width: 100%; + box-shadow: 0 0 10px 0 rgb(0 0 0 / 15%); + transition: right .3s ease-in-out; +} + +.con-slide-upload.show{ + right: 0px; +} + +.slide-upload{ + padding-bottom: 25px +} + +.c-slide-header { + margin: 24px 20px +} + +.slide-upload .sl-close { + color: #201f1e; + font-size: 1rem; + cursor: pointer; + padding: 5px 10px; + transition: all .3s ease-in-out +} + + .slide-upload .sl-close:hover { + background-color: #edebe9 + } + +.slide-upload .header{ + margin: 34px 20px 20px +} + +.scroll-slide-upload{ + width: 100%; + height: calc(100% - 139px); + overflow: hidden; +} +.scroll-slide-upload .scroll-content{ + padding: 0 20px +} +.scroll-slide-upload .item:not(:first-child){ + margin-top: 20px +} + +.text-infor { + font-size: .75rem; + color: #17a2b8 +} + +.text-infor.ellipsis{ + max-width: 170px +} + + .c-text .atg { + font-size: 1rem; + color: #919899 + } + +.c-progress { + height: 2px; + position: relative; + background-color: #f4f4f4; +} + + .c-progress .value { + position: absolute; + top: 0; + bottom: 0; + transition: width 200ms cubic-bezier(.1,.9,.2,1); + transition: background-color .35s ease-in; + left: 0; + background-color: #0078d4; + } + +.upl-des { + font-size: .72rem; + color: #919899 +} \ No newline at end of file diff --git a/MikaltoResort/wwwroot/css/atg-lib/datepicker.css b/MikaltoResort/wwwroot/css/atg-lib/datepicker.css new file mode 100644 index 0000000..593ba9d --- /dev/null +++ b/MikaltoResort/wwwroot/css/atg-lib/datepicker.css @@ -0,0 +1,778 @@ +.air-datepicker-cell.-year-.-other-decade-, .air-datepicker-cell.-day-.-other-month- { + color: var(--adp-color-other-month) +} + + .air-datepicker-cell.-year-.-other-decade-:hover, .air-datepicker-cell.-day-.-other-month-:hover { + color: var(--adp-color-other-month-hover) + } + +.-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-disabled-.-focus-.air-datepicker-cell.-day-.-other-month- { + color: var(--adp-color-other-month) +} + +.-selected-.air-datepicker-cell.-year-.-other-decade-, .-selected-.air-datepicker-cell.-day-.-other-month- { + color: #fff; + background: var(--adp-background-color-selected-other-month) +} + +.-selected-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-selected-.-focus-.air-datepicker-cell.-day-.-other-month- { + background: var(--adp-background-color-selected-other-month-focused) +} + +.-in-range-.air-datepicker-cell.-year-.-other-decade-, .-in-range-.air-datepicker-cell.-day-.-other-month- { + background-color: var(--adp-background-color-in-range); + color: var(--adp-color) +} + +.-in-range-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-in-range-.-focus-.air-datepicker-cell.-day-.-other-month- { + background-color: var(--adp-background-color-in-range-focused) +} + +.air-datepicker-cell.-year-.-other-decade-:empty, .air-datepicker-cell.-day-.-other-month-:empty { + background: none; + border: none +} + +.air-datepicker-cell { + border-radius: var(--adp-cell-border-radius); + box-sizing: border-box; + cursor: pointer; + display: flex; + position: relative; + align-items: center; + justify-content: center; + z-index: 1 +} + + .air-datepicker-cell.-focus- { + background: var(--adp-cell-background-color-hover) + } + + .air-datepicker-cell.-current- { + color: var(--adp-color-current-date) + } + + .air-datepicker-cell.-current-.-focus- { + color: var(--adp-color) + } + + .air-datepicker-cell.-current-.-in-range- { + color: var(--adp-color-current-date) + } + + .air-datepicker-cell.-disabled- { + cursor: default; + color: var(--adp-color-disabled) + } + + .air-datepicker-cell.-disabled-.-focus- { + color: var(--adp-color-disabled) + } + + .air-datepicker-cell.-disabled-.-in-range- { + color: var(--adp-color-disabled-in-range) + } + + .air-datepicker-cell.-disabled-.-current-.-focus- { + color: var(--adp-color-disabled) + } + + .air-datepicker-cell.-in-range- { + background: var(--adp-cell-background-color-in-range); + border-radius: 0 + } + + .air-datepicker-cell.-in-range-:hover { + background: var(--adp-cell-background-color-in-range-hover) + } + + .air-datepicker-cell.-range-from- { + border: 1px solid var(--adp-cell-border-color-in-range); + background-color: var(--adp-cell-background-color-in-range); + border-radius: var(--adp-cell-border-radius) 0 0 var(--adp-cell-border-radius) + } + + .air-datepicker-cell.-range-to- { + border: 1px solid var(--adp-cell-border-color-in-range); + background-color: var(--adp-cell-background-color-in-range); + border-radius: 0 var(--adp-cell-border-radius) var(--adp-cell-border-radius) 0 + } + + .air-datepicker-cell.-range-to-.-range-from- { + border-radius: var(--adp-cell-border-radius) + } + + .air-datepicker-cell.-selected- { + color: #fff; + border: none; + background: var(--adp-cell-background-color-selected) + } + + .air-datepicker-cell.-selected-.-current- { + color: #fff; + background: var(--adp-cell-background-color-selected) + } + + .air-datepicker-cell.-selected-.-focus- { + background: var(--adp-cell-background-color-selected-hover) + } + +.air-datepicker-body { + transition: all var(--adp-transition-duration) var(--adp-transition-ease) +} + + .air-datepicker-body.-hidden- { + display: none + } + +.air-datepicker-body--day-names { + display: grid; + grid-template-columns: repeat(7, var(--adp-day-cell-width)); + margin: 8px 0 3px +} + +.air-datepicker-body--day-name { + color: var(--adp-day-name-color); + display: flex; + align-items: center; + justify-content: center; + flex: 1; + text-align: center; + text-transform: uppercase; + font-size: .8em +} + + .air-datepicker-body--day-name.-clickable- { + cursor: pointer + } + + .air-datepicker-body--day-name.-clickable-:hover { + color: var(--adp-day-name-color-hover) + } + +.air-datepicker-body--cells { + display: grid +} + + .air-datepicker-body--cells.-days- { + grid-template-columns: repeat(7, var(--adp-day-cell-width)); + grid-auto-rows: var(--adp-day-cell-height) + } + + .air-datepicker-body--cells.-months- { + grid-template-columns: repeat(3, 1fr); + grid-auto-rows: var(--adp-month-cell-height) + } + + .air-datepicker-body--cells.-years- { + grid-template-columns: repeat(4, 1fr); + grid-auto-rows: var(--adp-year-cell-height) + } + +.air-datepicker-nav { + display: flex; + justify-content: space-between; + border-bottom: 1px solid var(--adp-border-color-inner); + min-height: var(--adp-nav-height); + padding: var(--adp-padding); + box-sizing: content-box +} + +.-only-timepicker- .air-datepicker-nav { + display: none +} + +.air-datepicker-nav--title, .air-datepicker-nav--action { + display: flex; + cursor: pointer; + align-items: center; + justify-content: center +} + +.air-datepicker-nav--action { + width: var(--adp-nav-action-size); + border-radius: var(--adp-border-radius); + -webkit-user-select: none; + -moz-user-select: none; + user-select: none +} + + .air-datepicker-nav--action:hover { + background: var(--adp-background-color-hover) + } + + .air-datepicker-nav--action:active { + background: var(--adp-background-color-active) + } + + .air-datepicker-nav--action.-disabled- { + visibility: hidden + } + + .air-datepicker-nav--action svg { + width: 32px; + height: 32px + } + + .air-datepicker-nav--action path { + fill: none; + stroke: var(--adp-nav-arrow-color); + stroke-width: 2px + } + +.air-datepicker-nav--title { + border-radius: var(--adp-border-radius); + padding: 0 8px +} + + .air-datepicker-nav--title i { + font-style: normal; + color: var(--adp-nav-color-secondary); + margin-left: .3em + } + + .air-datepicker-nav--title:hover { + background: var(--adp-background-color-hover) + } + + .air-datepicker-nav--title:active { + background: var(--adp-background-color-active) + } + + .air-datepicker-nav--title.-disabled- { + cursor: default; + background: none + } + +.air-datepicker-buttons { + display: grid; + grid-auto-columns: 1fr; + grid-auto-flow: column +} + +.air-datepicker-button { + display: inline-flex; + color: var(--adp-btn-color); + border-radius: var(--adp-btn-border-radius); + cursor: pointer; + height: var(--adp-btn-height); + border: none; + background: rgba(255,255,255,0) +} + + .air-datepicker-button:hover { + color: var(--adp-btn-color-hover); + background: var(--adp-btn-background-color-hover) + } + + .air-datepicker-button:focus { + color: var(--adp-btn-color-hover); + background: var(--adp-btn-background-color-hover); + outline: none + } + + .air-datepicker-button:active { + background: var(--adp-btn-background-color-active) + } + + .air-datepicker-button span { + outline: none; + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 100% + } + +.air-datepicker-time { + display: grid; + grid-template-columns: max-content 1fr; + grid-column-gap: 12px; + align-items: center; + position: relative; + padding: 0 var(--adp-time-padding-inner) +} + +.-only-timepicker- .air-datepicker-time { + border-top: none +} + +.air-datepicker-time--current { + display: flex; + align-items: center; + flex: 1; + font-size: 14px; + text-align: center +} + +.air-datepicker-time--current-colon { + margin: 0 2px 3px; + line-height: 1 +} + +.air-datepicker-time--current-hours, .air-datepicker-time--current-minutes { + line-height: 1; + font-size: 19px; + font-family: "Century Gothic",CenturyGothic,AppleGothic,sans-serif; + position: relative; + z-index: 1 +} + + .air-datepicker-time--current-hours:after, .air-datepicker-time--current-minutes:after { + content: ""; + background: var(--adp-background-color-hover); + border-radius: var(--adp-border-radius); + position: absolute; + left: -2px; + top: -3px; + right: -2px; + bottom: -2px; + z-index: -1; + opacity: 0 + } + + .air-datepicker-time--current-hours.-focus-:after, .air-datepicker-time--current-minutes.-focus-:after { + opacity: 1 + } + +.air-datepicker-time--current-ampm { + text-transform: uppercase; + align-self: flex-end; + color: var(--adp-time-day-period-color); + margin-left: 6px; + font-size: 11px; + margin-bottom: 1px +} + +.air-datepicker-time--row { + display: flex; + align-items: center; + font-size: 11px; + height: 17px; + background: linear-gradient(to right, var(--adp-time-track-color), var(--adp-time-track-color)) left 50%/100% var(--adp-time-track-height) no-repeat +} + + .air-datepicker-time--row:first-child { + margin-bottom: 4px + } + + .air-datepicker-time--row input[type=range] { + background: none; + cursor: pointer; + flex: 1; + height: 100%; + width: 100%; + padding: 0; + margin: 0; + -webkit-appearance: none + } + + .air-datepicker-time--row input[type=range]::-webkit-slider-thumb { + -webkit-appearance: none + } + + .air-datepicker-time--row input[type=range]::-ms-tooltip { + display: none + } + + .air-datepicker-time--row input[type=range]:hover::-webkit-slider-thumb { + border-color: var(--adp-time-track-color-hover) + } + + .air-datepicker-time--row input[type=range]:hover::-moz-range-thumb { + border-color: var(--adp-time-track-color-hover) + } + + .air-datepicker-time--row input[type=range]:hover::-ms-thumb { + border-color: var(--adp-time-track-color-hover) + } + + .air-datepicker-time--row input[type=range]:focus { + outline: none + } + + .air-datepicker-time--row input[type=range]:focus::-webkit-slider-thumb { + background: var(--adp-cell-background-color-selected); + border-color: var(--adp-cell-background-color-selected) + } + + .air-datepicker-time--row input[type=range]:focus::-moz-range-thumb { + background: var(--adp-cell-background-color-selected); + border-color: var(--adp-cell-background-color-selected) + } + + .air-datepicker-time--row input[type=range]:focus::-ms-thumb { + background: var(--adp-cell-background-color-selected); + border-color: var(--adp-cell-background-color-selected) + } + + .air-datepicker-time--row input[type=range]::-webkit-slider-thumb { + box-sizing: border-box; + height: 12px; + width: 12px; + border-radius: 3px; + border: 1px solid var(--adp-time-track-color); + background: #fff; + cursor: pointer; + -webkit-transition: background var(--adp-transition-duration); + transition: background var(--adp-transition-duration) + } + + .air-datepicker-time--row input[type=range]::-moz-range-thumb { + box-sizing: border-box; + height: 12px; + width: 12px; + border-radius: 3px; + border: 1px solid var(--adp-time-track-color); + background: #fff; + cursor: pointer; + -moz-transition: background var(--adp-transition-duration); + transition: background var(--adp-transition-duration) + } + + .air-datepicker-time--row input[type=range]::-ms-thumb { + box-sizing: border-box; + height: 12px; + width: 12px; + border-radius: 3px; + border: 1px solid var(--adp-time-track-color); + background: #fff; + cursor: pointer; + -ms-transition: background var(--adp-transition-duration); + transition: background var(--adp-transition-duration) + } + + .air-datepicker-time--row input[type=range]::-webkit-slider-thumb { + margin-top: calc(var(--adp-time-thumb-size)/2*-1) + } + + .air-datepicker-time--row input[type=range]::-webkit-slider-runnable-track { + border: none; + height: var(--adp-time-track-height); + cursor: pointer; + color: rgba(0,0,0,0); + background: rgba(0,0,0,0) + } + + .air-datepicker-time--row input[type=range]::-moz-range-track { + border: none; + height: var(--adp-time-track-height); + cursor: pointer; + color: rgba(0,0,0,0); + background: rgba(0,0,0,0) + } + + .air-datepicker-time--row input[type=range]::-ms-track { + border: none; + height: var(--adp-time-track-height); + cursor: pointer; + color: rgba(0,0,0,0); + background: rgba(0,0,0,0) + } + + .air-datepicker-time--row input[type=range]::-ms-fill-lower { + background: rgba(0,0,0,0) + } + + .air-datepicker-time--row input[type=range]::-ms-fill-upper { + background: rgba(0,0,0,0) + } + +.air-datepicker { + --adp-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --adp-font-size: 14px; + --adp-width: 246px; + --adp-z-index: 100; + --adp-padding: 4px; + --adp-grid-areas: "nav" "body" "timepicker" "buttons"; + --adp-transition-duration: .3s; + --adp-transition-ease: ease-out; + --adp-transition-offset: 8px; + --adp-background-color: #fff; + --adp-background-color-hover: #f0f0f0; + --adp-background-color-active: #eaeaea; + --adp-background-color-in-range: rgba(92, 196, 239, .1); + --adp-background-color-in-range-focused: rgba(92, 196, 239, .2); + --adp-background-color-selected-other-month-focused: #8ad5f4; + --adp-background-color-selected-other-month: #a2ddf6; + --adp-color: #4a4a4a; + --adp-color-secondary: #9c9c9c; + --adp-accent-color: #4eb5e6; + --adp-color-current-date: var(--adp-accent-color); + --adp-color-other-month: #dedede; + --adp-color-disabled: #aeaeae; + --adp-color-disabled-in-range: #939393; + --adp-color-other-month-hover: #c5c5c5; + --adp-border-color: #dbdbdb; + --adp-border-color-inner: #efefef; + --adp-border-radius: 4px; + --adp-border-color-inline: #d7d7d7; + --adp-nav-height: 32px; + --adp-nav-arrow-color: var(--adp-color-secondary); + --adp-nav-action-size: 32px; + --adp-nav-color-secondary: var(--adp-color-secondary); + --adp-day-name-color: #ff9a19; + --adp-day-name-color-hover: #8ad5f4; + --adp-day-cell-width: 1fr; + --adp-day-cell-height: 32px; + --adp-month-cell-height: 42px; + --adp-year-cell-height: 56px; + --adp-pointer-size: 10px; + --adp-poiner-border-radius: 2px; + --adp-pointer-offset: 14px; + --adp-cell-border-radius: 4px; + --adp-cell-background-color-hover: var(--adp-background-color-hover); + --adp-cell-background-color-selected: #5cc4ef; + --adp-cell-background-color-selected-hover: #45bced; + --adp-cell-background-color-in-range: rgba(92, 196, 239, 0.1); + --adp-cell-background-color-in-range-hover: rgba(92, 196, 239, 0.2); + --adp-cell-border-color-in-range: var(--adp-cell-background-color-selected); + --adp-btn-height: 32px; + --adp-btn-color: var(--adp-accent-color); + --adp-btn-color-hover: var(--adp-color); + --adp-btn-border-radius: var(--adp-border-radius); + --adp-btn-background-color-hover: var(--adp-background-color-hover); + --adp-btn-background-color-active: var(--adp-background-color-active); + --adp-time-track-height: 1px; + --adp-time-track-color: #dedede; + --adp-time-track-color-hover: #b1b1b1; + --adp-time-thumb-size: 12px; + --adp-time-padding-inner: 10px; + --adp-time-day-period-color: var(--adp-color-secondary); + --adp-mobile-font-size: 16px; + --adp-mobile-nav-height: 40px; + --adp-mobile-width: 320px; + --adp-mobile-day-cell-height: 38px; + --adp-mobile-month-cell-height: 48px; + --adp-mobile-year-cell-height: 64px +} + +.air-datepicker-overlay { + --adp-overlay-background-color: rgba(0, 0, 0, .3); + --adp-overlay-transition-duration: .3s; + --adp-overlay-transition-ease: ease-out; + --adp-overlay-z-index: 99 +} + +.air-datepicker { + background: var(--adp-background-color); + border: 1px solid var(--adp-border-color); + box-shadow: 0 4px 12px rgba(0,0,0,.15); + border-radius: var(--adp-border-radius); + box-sizing: content-box; + display: grid; + grid-template-columns: 1fr; + grid-template-rows: repeat(4, max-content); + grid-template-areas: var(--adp-grid-areas); + font-family: var(--adp-font-family),sans-serif; + font-size: var(--adp-font-size); + color: var(--adp-color); + width: var(--adp-width); + position: absolute; + transition: opacity var(--adp-transition-duration) var(--adp-transition-ease),transform var(--adp-transition-duration) var(--adp-transition-ease); + z-index: var(--adp-z-index) +} + + .air-datepicker:not(.-custom-position-) { + opacity: 0 + } + + .air-datepicker.-from-top- { + transform: translateY(calc(var(--adp-transition-offset) * -1)) + } + + .air-datepicker.-from-right- { + transform: translateX(var(--adp-transition-offset)) + } + + .air-datepicker.-from-bottom- { + transform: translateY(var(--adp-transition-offset)) + } + + .air-datepicker.-from-left- { + transform: translateX(calc(var(--adp-transition-offset) * -1)) + } + + .air-datepicker.-active-:not(.-custom-position-) { + transform: translate(0, 0); + opacity: 1 + } + + .air-datepicker.-active-.-custom-position- { + transition: none + } + + .air-datepicker.-inline- { + border-color: var(--adp-border-color-inline); + box-shadow: none; + position: static; + left: auto; + right: auto; + opacity: 1; + transform: none + } + + .air-datepicker.-inline- .air-datepicker--pointer { + display: none + } + + .air-datepicker.-is-mobile- { + --adp-font-size: var(--adp-mobile-font-size); + --adp-day-cell-height: var(--adp-mobile-day-cell-height); + --adp-month-cell-height: var(--adp-mobile-month-cell-height); + --adp-year-cell-height: var(--adp-mobile-year-cell-height); + --adp-nav-height: var(--adp-mobile-nav-height); + --adp-nav-action-size: var(--adp-mobile-nav-height); + position: fixed; + width: var(--adp-mobile-width); + border: none + } + + .air-datepicker.-is-mobile- * { + -webkit-tap-highlight-color: rgba(0,0,0,0) + } + + .air-datepicker.-is-mobile- .air-datepicker--pointer { + display: none + } + + .air-datepicker.-is-mobile-:not(.-custom-position-) { + transform: translate(-50%, calc(-50% + var(--adp-transition-offset))) + } + + .air-datepicker.-is-mobile-.-active-:not(.-custom-position-) { + transform: translate(-50%, -50%) + } + + .air-datepicker.-custom-position- { + transition: none + } + +.air-datepicker-global-container { + position: absolute; + left: 0; + top: 0 +} + +.air-datepicker--pointer { + --pointer-half-size: calc(var(--adp-pointer-size) / 2); + position: absolute; + width: var(--adp-pointer-size); + height: var(--adp-pointer-size); + z-index: -1 +} + + .air-datepicker--pointer:after { + content: ""; + position: absolute; + background: #fff; + border-top: 1px solid var(--adp-border-color-inline); + border-right: 1px solid var(--adp-border-color-inline); + border-top-right-radius: var(--adp-poiner-border-radius); + width: var(--adp-pointer-size); + height: var(--adp-pointer-size); + box-sizing: border-box + } + +.-top-left- .air-datepicker--pointer, .-top-center- .air-datepicker--pointer, .-top-right- .air-datepicker--pointer, [data-popper-placement^=top] .air-datepicker--pointer { + top: calc(100% - var(--pointer-half-size) + 1px) +} + + .-top-left- .air-datepicker--pointer:after, .-top-center- .air-datepicker--pointer:after, .-top-right- .air-datepicker--pointer:after, [data-popper-placement^=top] .air-datepicker--pointer:after { + transform: rotate(135deg) + } + +.-right-top- .air-datepicker--pointer, .-right-center- .air-datepicker--pointer, .-right-bottom- .air-datepicker--pointer, [data-popper-placement^=right] .air-datepicker--pointer { + right: calc(100% - var(--pointer-half-size) + 1px) +} + + .-right-top- .air-datepicker--pointer:after, .-right-center- .air-datepicker--pointer:after, .-right-bottom- .air-datepicker--pointer:after, [data-popper-placement^=right] .air-datepicker--pointer:after { + transform: rotate(225deg) + } + +.-bottom-left- .air-datepicker--pointer, .-bottom-center- .air-datepicker--pointer, .-bottom-right- .air-datepicker--pointer, [data-popper-placement^=bottom] .air-datepicker--pointer { + bottom: calc(100% - var(--pointer-half-size) + 1px) +} + + .-bottom-left- .air-datepicker--pointer:after, .-bottom-center- .air-datepicker--pointer:after, .-bottom-right- .air-datepicker--pointer:after, [data-popper-placement^=bottom] .air-datepicker--pointer:after { + transform: rotate(315deg) + } + +.-left-top- .air-datepicker--pointer, .-left-center- .air-datepicker--pointer, .-left-bottom- .air-datepicker--pointer, [data-popper-placement^=left] .air-datepicker--pointer { + left: calc(100% - var(--pointer-half-size) + 1px) +} + + .-left-top- .air-datepicker--pointer:after, .-left-center- .air-datepicker--pointer:after, .-left-bottom- .air-datepicker--pointer:after, [data-popper-placement^=left] .air-datepicker--pointer:after { + transform: rotate(45deg) + } + +.-top-left- .air-datepicker--pointer, .-bottom-left- .air-datepicker--pointer { + left: var(--adp-pointer-offset) +} + +.-top-right- .air-datepicker--pointer, .-bottom-right- .air-datepicker--pointer { + right: var(--adp-pointer-offset) +} + +.-top-center- .air-datepicker--pointer, .-bottom-center- .air-datepicker--pointer { + left: calc(50% - var(--adp-pointer-size)/2) +} + +.-left-top- .air-datepicker--pointer, .-right-top- .air-datepicker--pointer { + top: var(--adp-pointer-offset) +} + +.-left-bottom- .air-datepicker--pointer, .-right-bottom- .air-datepicker--pointer { + bottom: var(--adp-pointer-offset) +} + +.-left-center- .air-datepicker--pointer, .-right-center- .air-datepicker--pointer { + top: calc(50% - var(--adp-pointer-size)/2) +} + +.air-datepicker--navigation { + grid-area: nav +} + +.air-datepicker--content { + box-sizing: content-box; + padding: var(--adp-padding); + grid-area: body +} + +.-only-timepicker- .air-datepicker--content { + display: none +} + +.air-datepicker--time { + grid-area: timepicker +} + +.air-datepicker--buttons { + grid-area: buttons +} + +.air-datepicker--buttons, .air-datepicker--time { + padding: var(--adp-padding); + border-top: 1px solid var(--adp-border-color-inner) +} + +.air-datepicker-overlay { + position: fixed; + background: var(--adp-overlay-background-color); + left: 0; + top: 0; + width: 0; + height: 0; + opacity: 0; + transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),left 0s,height 0s,width 0s; + transition-delay: 0s,var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration); + z-index: var(--adp-overlay-z-index) +} + + .air-datepicker-overlay.-active- { + opacity: 1; + width: 100%; + height: 100%; + transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),height 0s,width 0s + } diff --git a/MikaltoResort/wwwroot/css/atg-lib/swiper-bundle.min.css b/MikaltoResort/wwwroot/css/atg-lib/swiper-bundle.min.css new file mode 100644 index 0000000..1481352 --- /dev/null +++ b/MikaltoResort/wwwroot/css/atg-lib/swiper-bundle.min.css @@ -0,0 +1,13 @@ +/** + * Swiper 11.1.0 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2024 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: March 28, 2024 + */ + +@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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.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%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.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(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(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-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-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>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-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-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden} \ No newline at end of file diff --git a/MikaltoResort/wwwroot/css/atg-lib/waves.min.css b/MikaltoResort/wwwroot/css/atg-lib/waves.min.css new file mode 100644 index 0000000..8dd7658 --- /dev/null +++ b/MikaltoResort/wwwroot/css/atg-lib/waves.min.css @@ -0,0 +1,7 @@ +/*! + * Waves v0.7.6 + * http://fian.my.id/Waves + * + * Copyright 2014-2018 Alfiana E. Sibuea and other contributors + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background:rgba(0,0,0,.2);background:-webkit-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-o-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;-o-transition-property:-o-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);-moz-transform:scale(0) translate(0,0);-ms-transform:scale(0) translate(0,0);-o-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.4);background:-webkit-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%)}.waves-effect.waves-classic .waves-ripple{background:rgba(0,0,0,.2)}.waves-effect.waves-classic.waves-light .waves-ripple{background:rgba(255,255,255,.4)}.waves-notransition{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.waves-button,.waves-button-input,.waves-button:hover,.waves-button:visited{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;color:inherit;background-color:rgba(0,0,0,0);font-size:1em;line-height:1em;text-align:center;text-decoration:none;z-index:1}.waves-button{padding:.85em 1.1em;border-radius:.2em}.waves-button-input{margin:0;padding:.85em 1.1em}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);-webkit-transition:all .3s;-moz-transition:all .3s;-o-transition:all .3s;transition:all .3s}.waves-float:active{-webkit-box-shadow:0 8px 20px 1px rgba(0,0,0,.3);box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.waves-block{display:block} \ No newline at end of file diff --git a/MikaltoResort/wwwroot/css/atg-ui/atg-gui.css b/MikaltoResort/wwwroot/css/atg-ui/atg-gui.css new file mode 100644 index 0000000..b9226ef --- /dev/null +++ b/MikaltoResort/wwwroot/css/atg-ui/atg-gui.css @@ -0,0 +1,380 @@ +/*Scrollbar*/ +[data-scrollbar], [scrollbar], scrollbar { + display: block; + position: relative +} + +/*Overlay*/ +.c-overlay { + position: fixed; + z-index: 12; + top: 0; + left: 0; + bottom: 0; + right: 0; + opacity: 0; + transition: all ease-in-out .4s; + background: rgb(86 83 96 / 0.32) +} + + .c-overlay.show { + opacity: 1 + } + +.form-group { + margin-bottom: 10px; + padding: 0 20px +} + + .form-group label { + font-size: .8rem; + margin-bottom: 5px + } + + .form-group .invalid, .form-group .invalid:focus { + border-color: #ea5455; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ea5455'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23ea5455' stroke='none'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-size: 20px; + background-position: right 0.4rem center + } + + .form-group input:disabled { + background-color: #efefef + } + + .form-group > .input-custom { + border: 1px solid #d8d6de; + border-radius: .357rem; + -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out + } + + .form-group > .input-custom input { + border: none !important + } + + .form-group > .input-custom:focus-within .input-append.right, .form-group > .input-custom:focus-within .input-append.left { + border-color: #7367f0 + } + + .form-group .minus, .form-group .plus { + cursor: pointer + } + + .form-group > .input-custom .input-append { + padding: .438rem 1rem; + margin-bottom: 0; + text-align: center; + background-color: #fff; + border-radius: .357rem; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out + } + + .form-group > .input-custom .input-append.right { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left: 1px solid #d8d6de + } + + .form-group > .input-custom .input-append.left { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: 1px solid #d8d6de + } + + .form-group input, .form-group .aselect, .form-group textarea { + font-size: .85rem; + width: 100%; + cursor: text; + padding: 8px 25px 8px 15px; + height: 38px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #d8d6de; + border-radius: .357rem; + -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out + } + + .form-group textarea { + height: auto !important; + resize: none + } + +.custom-checkbox { + min-height: 18px; + padding-left: 25px; + margin-right: 20px; +} + + .custom-checkbox input[type=checkbox]:checked ~ .a-checkbox-label:before { + box-shadow: 0 2px 4px 0 rgba(115,103,240,.4) !important; + border-color: #7367f0; + background-color: #7367f0; + } + +input[type=checkbox] { + width: 18px; + height: 18px; + top: 50%; + transform: translateY(-50%); + padding: 0; + left: 0; + margin: 0; + position: absolute; + z-index: -1; + opacity: 0 +} + +.a-checkbox-label { + position: static; + display: block; + margin: 0 !important +} + + .a-checkbox-label::before { + background-color: #fff; + border: 1px solid #d8d6de; + top: 50%; + transform: translateY(-50%); + } + + .a-checkbox-label::before, .a-checkbox-label::after { + position: absolute; + display: block; + content: ''; + left: 0; + border-radius: 3px; + width: 18px; + height: 18px + } + + .a-checkbox-label::after { + background: no-repeat 50%/50% 50%; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); + background-size: 57%; + } + +/*ASelect*/ +.con-aselect .hide { + overflow: hidden; + height: 0px !important +} + + .con-aselect .hide select:empty { + display: none; + } + +.aselect { + background: #fff !important; + cursor: pointer !important +} + + .aselect .icon { + position: absolute; + right: 8px; + top: 50%; + transform: translateY(-50%); + transition: .3s all ease-in-out; + color: #6e6b7b + } + + +.con-aselect.active > .aselect > .icon { + transform: translateY(-50%) rotate(180deg) +} + + +.a-s-sub { + margin-top: 10px; + max-height: 250px +} + + .a-s-sub .a-search { + padding: 10px + } + + .a-s-sub .noitem { + font-size: .85rem; + padding: 10px 15px + } + + .a-s-sub .a-search input:focus { + border-color: #6e6b7b + } + + .a-s-sub .a-option { + font-size: .85rem; + padding: 10px 15px; + cursor: default; + transition: all .3s ease-in-out + } + + .a-s-sub .a-option-group { + padding: 10px 15px; + font-weight: 600; + cursor: default + } + +.a-option-group ~ .a-option { + padding-left: 25px !important +} + +.a-s-sub .a-option:hover { + color: #7367f0; + background: #eeedfd +} + +.a-s-sub .a-option.active { + color: white; + background: #7367f0 +} + +.invalid-feedback { + display: none; + font-size: .85rem; + color: #ea5455; +} +/*From Dropdonw*/ + + +/*Text*/ +.dt, .dd { + padding: 0 20px; + font-size: .85rem; + line-height: 1.45 +} + +.dd { + color: #6e6b7b +} + +.dt { + font-weight: 500; + color: #6e6b7b +} +/*Table*/ +.c-table { + width: 100% +} + +.c-ta-c { + box-shadow: 0 0px 20px 0px rgb(0 0 0 / 15%); + border-radius: 10px; +} +/*@media not all and (min-resolution:.001dpcm) { + @supports (-webkit-appearance:none) { + .c-ta-c { + -webkit-mask-image: -webkit-radial-gradient(white, black); + } + } +}*/ +.c-ta-scroll { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + overflow: hidden; + height: auto !important; + width: 100%; + border-radius: 10px; +} + +.a-table { + border-radius: 10px; + width: 100%; + border-collapse: collapse; + color: #6e6b7b +} + + + .a-table th { + color: #fff; + background-color: #36304a; + padding: 20px 10px 20px; + font-size: .85rem; + text-transform: capitalize; + letter-spacing: .5px + } + + .a-table th:first-child, .a-table td:first-child { + padding-left: 25px !important + } + + + .a-table tbody tr:nth-child(even) { + background: #f8f6ff + } + + .a-table td { + color: #808080; + padding: 16px 10px 16px 10px; + } +/*Paging*/ +.paging { + margin: 15px 0 +} + + .paging .item { + height: 32px; + width: 32px; + color: #6e6b7b; + border-radius: 50%; + background-color: #f3f2f7; + transition: all .3s ease-in-out + } + + .paging .item.active { + font-weight: 400; + color: #fff; + background-color: #7367f0 !important + } + +.c-page-link { + height: 32px; + border-radius: 32px; + background-color: #f3f2f7; +} + +.paging .item:hover { + color: #fff; + background-color: #7367f0 !important +} + +.item-less { + margin-right: 10px +} + +.item-more { + margin-left: 10px +} + +.c-table .inpNum { + width: 40px; + padding: 8px 10px; + margin: 15px 8px +} + +/*A Overlay*/ +.c-aoverlay { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 12; + opacity: 0; + visibility: hidden; + transition: all ease-out .5s +} + + .c-aoverlay.show { + opacity: 1; + visibility: visible; + background: rgb(86 83 96 / 0.32) + } diff --git a/MikaltoResort/wwwroot/css/atg-ui/table.css b/MikaltoResort/wwwroot/css/atg-ui/table.css new file mode 100644 index 0000000..d2c1d99 --- /dev/null +++ b/MikaltoResort/wwwroot/css/atg-ui/table.css @@ -0,0 +1,171 @@ +/*Table*/ + +.abs-pContainer { + user-select: none; + width: 100%; +/* box-shadow: 0 0px 20px 0px rgb(0 0 0 / 15%); +*/ border-radius: 10px; +} + .abs-pContainer [data-scrollbar]{ + height: 100%!important; + } + /*@media not all and (min-resolution:.001dpcm) { + @supports (-webkit-appearance:none) { + .c-ta-c { + -webkit-mask-image: -webkit-radial-gradient(white, black); + } + } +}*/ + .atable-scroll { + width: 100% !important + } + +.abs-scrollbar { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -webkit-transform: translate3d(0, 0, 0); + height: auto !important; + width: 100%; + border-radius: 10px; +} + +.abs-table { + width: 100%; + border-collapse: collapse; +} +.abs-pContainer .scrollbar-thumb { + background: #ccc !important +} +.abs-table { + border-radius: 10px; + color: #6e6b7b +} +.abs-table th { + color: #fff; + background-color: #36304a; + padding: 20px 10px 20px; + font-size: .9rem; + font-weight: 500; + text-transform: capitalize; + letter-spacing: .5px + } + + .abs-table th:first-child, [data-style="default"] .abs-table td:first-child { + padding-left: 25px !important + } + + + .abs-table tbody tr:nth-child(even) { + background: #f8f6ff + } + + .abs-table td { + font-size: .82rem; + text-align: center; + font-weight: 400; + color: #808080; + padding: 8px 15px + } + +.abs-container { + box-shadow: 0 0px 20px 0px rgb(0 0 0 / 15%); + border-radius: 10px; + border: 1px solid #ccc +} +.abs-table { + border-collapse: separate; + border-spacing: 0; +} +.abs-table th:first-child { + padding-left: 25px !important +} + +.abs-table tbody tr:hover td { + background-color: #EBEBEB +} + .abs-table tbody tr.active td { + background-color: rgba(0, 92, 153,.1); + border-top: 1px solid rgba(0, 92, 153,.1); + border-bottom: 1px solid rgba(0, 92, 153,.1); + font-weight: 600; + color: #005c99 + } + + .abs-table tbody tr:hover td:first-child, .abs-table tbody tr.active td:first-child { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; + } + .abs-table tbody tr.active td:first-child { + border-left: 1px solid rgba(0, 92, 153,.1); + } + + .abs-table tbody tr.active td:last-child { + border-right: 1px solid rgba(0, 92, 153,.1); + } + + .abs-table tbody tr:hover td:last-child, .abs-table tbody tr.active td:last-child { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; + } + + + .abs-table tr td:first-child { + padding-left: 15px !important + } + +.paging .btn-primary { + width: 22px; + height: 22px; + color: #005c99; + font-weight: 600; +} + + +.con-paging{ + font-size:.82rem +} + +.paging { + margin: 15px 0 +} + + .paging .item { + height: 30px; + width: 30px; + color: #6e6b7b; + border-radius: 50%; + background-color: #f3f2f7; + text-align: center; + transition: all .3s ease-in-out + } + + .paging .item.active { + font-weight: 400; + color: #fff; + background-color: #7367f0 !important + } + +.c-page-link { + height: 30px; + border-radius: 32px; + background-color: #f3f2f7; +} + +.paging .item:hover { + color: #fff; + background-color: #7367f0 !important +} + +.item-less { + margin-right: 5px +} + +.item-more { + margin-left: 5px +} + +.con-paging .inpNum { + width: 40px; + padding: 8px 10px; + margin: 15px 8px +} diff --git a/MikaltoResort/wwwroot/css/css/site.css b/MikaltoResort/wwwroot/css/css/site.css new file mode 100644 index 0000000..b15bdbf --- /dev/null +++ b/MikaltoResort/wwwroot/css/css/site.css @@ -0,0 +1,963 @@ +.ellipsis { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden +} + +/*Overlay*/ +.c-overlay { + position: fixed; + z-index: 12; + top: 0; + left: 0; + bottom: 0; + right: 0; + opacity: 0; + transition: all ease-in-out .4s; + background: rgb(86 83 96 / 0.32) +} + + .c-overlay.show { + opacity: 1 + } + +h1, h2, h3, h4, h5, h6 { + font-weight: 600; + color: #5e5873; + margin-bottom: 5px +} + +h5 { + font-size: .9rem +} + +h4 { + font-size: 1rem +} + +.font-small { + font-size: .75rem; + font-weight: 400 +} + +body { + position: absolute; + top:0; + left:0; + right:0; + bottom:0; + background-color: #f8f8f8; +} + +header { + position: fixed; + width: 300px; + background: white; + -webkit-box-shadow: 0 0 15px 0 rgb(34 41 47 / 5%); + box-shadow: 0 0 15px 0 rgb(34 41 47 / 5%); + height: 100%; + color: #6e6b7b; + z-index: 13; + left: -300px; + transition: left ease-in-out .3s; + max-width: 100% +} + + header.show { + left: 0 + } + +.hd-close { + cursor: pointer +} + +.wiget .sub-item .atg { + color: #6e6b7b +} + +.wiget .sub-item a { + padding: 8px 10px +} + + +@media (min-width:576px) { + nav { + width: calc(100% - 70px) !important; + margin: 24px 35px 0 !important + } + + .main-wrapper { + padding: 120px 20px 0 !important + } + + nav .sub-item { + overflow: hidden !important; + position: fixed !important; + background: #fff !important; + box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%) !important; + height: 0 + } +} + +@media (min-width: 768px) { + nav .sub-item { + background: none !important; + box-shadow: none !important; + height: auto !important; + position: relative !important; + overflow: visible !important + } + + .wiget .sub-item .atg { + color: #fff + } +} + +@media (min-width:1200px) { + header { + left: 0 + } + + nav { + width: calc(100% - 370px) !important + } + + .main-wrapper { + margin-left: 300px + } +} + + + +nav { + position: fixed; + top: 0; + right: 0; + width: calc(100% - 24px); + margin: 24px 12px 0; + border-radius: .428rem; + background: #7367f0; + color: white; + -webkit-box-shadow: 0 4px 24px 0 rgb(34 41 47 / 10%); + box-shadow: 0 4px 24px 0 rgb(34 41 47 / 10%); + z-index: 12; +} + +.nav-shadow { + background: -webkit-gradient(linear,left top,left bottom,color-stop(44%,hsla(0,0%,97.3%,.95)),color-stop(73%,hsla(0,0%,97.3%,.46)),to(hsla(0,0%,100%,0))); + background: linear-gradient( 180deg,hsla(0,0%,97.3%,.95) 44%,hsla(0,0%,97.3%,.46) 73%,hsla(0,0%,100%,0)); + left: 0; + padding-top: 2.2rem; + display: block; + width: 100%; + height: 102px; + position: fixed; + top: 0; + z-index: 11; +} + +.c-nav { + min-height: calc(100% - 3.35rem); + padding: .8rem 1rem; +} + +.c-logo { + padding: 20px 16px; + height: 74px +} + +.logo-name { + font-weight: 700; + font-size: 1rem; + color: #b02025; +} + +.menu-content { + height: calc(100% - 146px) +} + +.m-footer { + border-top: 1px solid #eee; + font-weight: 500; + padding: 12px 16px; + font-size: 0.8rem; +} + +.nav-overlay { + margin-top: -.7rem; + background: -webkit-gradient(linear,left top,left bottom,color-stop(41%,#fff),color-stop(95%,hsla(0,0%,100%,.11)),to(hsla(0,0%,100%,0))); + background: linear-gradient(#fff 41%,hsla(0,0%,100%,.11) 95%,hsla(0,0%,100%,0)); + position: absolute; + z-index: 2; + height: 50px; + width: 100%; + pointer-events: none; + -webkit-filter: blur(5px); + filter: blur(5px) +} + +.nav-main { + padding-top: 12px; +} + +.nav-header { + margin: 20px 5px 10px 27px; + color: #a6a4b0; + line-height: 1.5; + font-size: .7rem; + font-weight: 500; + letter-spacing: .01rem +} + +.nav-main .has-sub.active > .nav-i { + background: #f5f5f5; + border-radius: 6px; +} + +.nav-main .nav-i { + background: #fff; + color: #565360; + margin: 0 12px; + font-size: .9rem !important; + line-height: 24px; + padding: 10px 15px; + transition: margin ease-in-out .3s, background ease-in-out .25s +} + + .nav-main .nav-i:hover { + margin-left: 15px + } + + .nav-main .nav-i > .atg { + text-align: center; + width: 22px; + font-size: 1.2rem + } + +.nav-main .sub-item .nav-i .atg { + text-align: center; + width: 22px; + font-size: .7rem; + line-height: 24px +} + +.nav-main .sub-item .nav-i { + font-size: .84rem +} + +.nav-main .sub-item { + overflow: hidden; + height: 0; + transition: height 0.3s ease-out; +} + + .nav-main .sub-item.show { + height: auto; + } + + .nav-main .sub-item > .nav-i.active, .nav-main > .nav-i.active { + color: #fff; + background-position: 50px; + background: linear-gradient( 118deg,#7367f0,rgba(115,103,240,.7)); + -webkit-box-shadow: 0 0 10px 1px rgb(115 103 240 / 70%); + box-shadow: 0 0 10px 1px rgb(115 103 240 / 70%); + border-radius: 4px + } + + +.has-sub.active .more { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -ms-transform: rotate(90deg); + -o-transform: rotate(90deg); + transform: rotate(90deg); +} + +.has-sub .more { + position: absolute; + top: 0; + line-height: 44px; + transform: rotate(0); + transition: all .3s ease-in; + right: 15px; + font-size: .7rem; +} + + +.wiget { + font-size: 1.2rem +} + + .wiget a { + position: relative; + padding: 0 10px + } + + .wiget > a:first-child { + padding-left: 0 !important + } + + .wiget a:last-child { + padding-right: 0 !important + } + + .wiget .badge { + border-radius: 50%; + position: absolute; + width: 20px; + height: 20px; + font-size: .55rem; + text-align: center; + line-height: 20px; + font-weight: 600; + background: #ea5455; + color: white; + top: -6px; + right: -8px + } + + .wiget .atg { + color: white + } + +.avatar { + border-radius: 50%; + width: 40px; + height: 40px; + background-color: aliceblue; + overflow: hidden +} + +.c-user { + margin-right: 10px; + font-size: .7rem; + color: white +} + + .c-user span:first-child { + font-weight: 700; + font-size: .8rem + } + +.status { + position: absolute; + width: 11px; + height: 11px; + border: 1px solid white; + border-radius: 50%; + background-color: forestgreen; + z-index: 10; + right: 1px; + bottom: 1px +} + +.c-breadcrumbs { + margin: 0 15px 25px 15px; +} + + .c-breadcrumbs .title { + margin-right: 15px; + font-size: 1.2rem; + font-weight: 600 + } + +.breadcrumbs { + border-left: 1px solid #d6dce1 +} + + .breadcrumbs .icon { + font-size: 1.1rem; + color: #7367f0 + } + + .breadcrumbs .sperate { + line-height: 28px; + font-weight: 500 + } + + .breadcrumbs .item { + line-height: 30px; + margin: 0 10px; + color: #7367f0; + font-weight: 500 + } + + .breadcrumbs .item.active { + font-weight: 400; + color: #6e6b7b + } + +.main-wrapper { + padding-top:120px +} + +.card-body { + border-radius: 8px; + padding: 20px 0; + margin: 0 15px 30px 15px; + background: white; + box-shadow: 0 4px 24px 0 rgb(34 41 47 / 10%); + height: calc(100% - 30px) +} + +.card-text { + font-size: .8rem; + margin-bottom: 5px +} + +/**/ +.wizard-nav { + padding: 0 20px 10px 20px; + border-bottom: 1px solid rgba(34,41,47,.08) +} + + .wizard-nav .item { + padding-bottom: 10px + } + + .wizard-nav .item .tab { + color: #b8c2cc; + background-color: rgba(115, 103, 240, 0.08); + border-radius: 6px; + width: 40px; + height: 40px; + font-weight: 600 + } + + .wizard-nav .item .tab-title { + margin: 0 10px; + font-size: .9rem; + color: #b8c2cc; + font-weight: 600 + } + + .wizard-nav .item .atg { + color: #b8c2cc; + margin-right: 10px + } + + .wizard-nav .item.active .tab { + box-shadow: rgb(105 108 255 / 40%) 0px 3px 6px 0px; + background-color: #7367f0; + color: #fff + } + + .wizard-nav .item.active .tab-title, .wizard-nav .item.active .atg { + color: #7367f0 + } + + .wizard-nav .item:first-child .atg { + display: none + } + + +/*AButton*/ +.loader, +.loader:after { + margin-right: 10px; + border-radius: 50%; + width: 20px; + height: 20px; +} + +.loader { + position: relative; + border-top: 2px solid rgba(255, 255, 255, 0.2); + border-right: 2px solid rgba(255, 255, 255, 0.2); + border-bottom: 2px solid rgba(255, 255, 255, 0.2); + border-left: 2px solid #ffffff; + -webkit-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + -webkit-animation: load8 1.1s infinite linear; + animation: load8 1.1s infinite linear; +} + +@-webkit-keyframes load8 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes load8 { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +/*Form Input*/ +.btn { + cursor: pointer; + border: 1px solid transparent; + padding: 10px 20px; + border-radius: 5px; + font-weight: 400; + font-size: .9rem; + color: white +} + +.btn-primary:hover { + -webkit-box-shadow: 0 8px 25px -8px #7367f0; + box-shadow: 0 8px 25px -8px #7367f0 +} + +.btn-warning { + padding:10px 12px; + border-color: #ff9f43 !important; + background-color: #ff9f43 !important +} + + .btn-warning:hover { + box-shadow: 0 8px 25px -8px #ff9f43 + } + +.btn-danger { + padding: 10px 12px; + background-image: linear-gradient( 47deg,#ea5455,#f08182); + background-repeat: repeat +} + + .btn-danger:hover { + background-image: linear-gradient( 15deg,#ea5455,#f08182); + box-shadow: 0 8px 25px -8px #f08182 + } + +.btn.disabled { + background: rgb(64 55 142 / 0.80) !important +} + +.btn-primary { + border-color: #7367f0; + background-color: #7367f0; + transition: all .3s ease-in +} + +[data-style] .form-control { + padding: .438rem 1rem; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #d8d6de; + border-radius: .357rem; +} + + [data-style] .form-control:focus, .form-group input:focus, .con-aselect.active .aselect, .form-group > .input-custom:focus-within { + background-color: #fff; + border-color: #7367f0; + -webkit-box-shadow: 0 3px 10px 0 rgb(34 41 47 / 10%); + box-shadow: 0 3px 10px 0 rgb(34 41 47 / 10%); + } + .form-group > .input-custom input:focus{ + border: none !important; + box-shadow: none !important + } + + +.form-control:focus { + color: #6e6b7b; + outline: 0; +} + +.form-control:hover { + cursor: text; +} + +.form-control { + display: block; + width: 100%; + height: 2.714rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.45; + color: #6e6b7b; + -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; +} + +.form-header, .form-header-1 { + padding: 0 20px +} + +.form-header-1 { + margin-bottom: 30px +} + + .form-header-1 h4 { + margin-top: 25px; + font-weight: 600; + font-size: .9rem + } + + .form-header-1 .des { + color: #b9b9c3; + font-weight: 400; + font-size: .85rem + } + + +.form-group { + margin-bottom: 10px; + padding: 0 20px +} + + .form-group label { + font-size: .8rem; + margin-bottom: 5px + } + + .form-group .invalid, .form-group .invalid:focus { + border-color: #ea5455; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ea5455'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23ea5455' stroke='none'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-size: 20px; + background-position: right 0.4rem center + } + + .form-group input:disabled{ + background-color: #efefef + } + + .form-group > .input-custom { + border: 1px solid #d8d6de; + border-radius: .357rem; + -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out + } + .form-group > .input-custom input { + border: none !important + } + .form-group > .input-custom:focus-within .input-append.right, .form-group > .input-custom:focus-within .input-append.left { + border-color: #7367f0 + } + + .form-group .minus, .form-group .plus{ + cursor: pointer + } + + .form-group > .input-custom .input-append { + padding: .438rem 1rem; + margin-bottom: 0; + text-align: center; + background-color: #fff; + border-radius: .357rem; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out + } + + .form-group > .input-custom .input-append.right { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left: 1px solid #d8d6de + + } + + .form-group > .input-custom .input-append.left { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: 1px solid #d8d6de + } + + .form-group input, .form-group .aselect, .form-group textarea { + font-size: .85rem; + width: 100%; + cursor: text; + padding: 8px 25px 8px 15px; + height: 38px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #d8d6de; + border-radius: .357rem; + -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out + } + + .form-group textarea { + height: auto !important; + resize: none + } + +.custom-checkbox{ + min-height: 18px; + padding-left: 25px; + margin-right: 20px; +} + + .custom-checkbox input[type=checkbox]:checked ~ .a-checkbox-label:before { + box-shadow: 0 2px 4px 0 rgba(115,103,240,.4) !important; + border-color: #7367f0; + background-color: #7367f0; + } + +input[type=checkbox] { + width: 18px; + height: 18px; + top: 50%; + transform: translateY(-50%); + padding: 0; + left: 0; + margin: 0; + position: absolute; + z-index: -1; + opacity: 0 +} + +.a-checkbox-label { + position: static; + display:block; + margin: 0 !important +} + + .a-checkbox-label::before { + background-color: #fff; + border: 1px solid #d8d6de; + top: 50%; + transform: translateY(-50%); + } + + .a-checkbox-label::before, .a-checkbox-label::after { + position: absolute; + display: block; + content: ''; + left: 0; + border-radius: 3px; + width: 18px; + height: 18px + } + + .a-checkbox-label::after { + background: no-repeat 50%/50% 50%; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E"); + background-size: 57%; + } + +/*ASelect*/ +.con-aselect .hide { + overflow: hidden; + height: 0px !important +} + +.con-aselect .hide select:empty{ + display:none; +} + +.aselect { + background: #fff !important; + cursor: pointer !important +} + + .aselect .icon { + position: absolute; + right: 8px; + top: 50%; + transform: translateY(-50%); + transition: .3s all ease-in-out; + color: #6e6b7b + } + + +.con-aselect.active > .aselect > .icon { + transform: translateY(-50%) rotate(180deg) +} + + +.a-s-sub { + margin-top: 10px; + max-height: 250px +} + + .a-s-sub .a-search { + padding: 10px + } + + .a-s-sub .noitem { + font-size: .85rem; + padding: 10px 15px + } + + .a-s-sub .a-search input:focus { + border-color: #6e6b7b + } + + .a-s-sub .a-option { + font-size: .85rem; + padding: 10px 15px; + cursor: default; + transition: all .3s ease-in-out + } + + .a-s-sub .a-option-group { + padding: 10px 15px; + font-weight: 600; + cursor: default + } + +.a-option-group ~ .a-option { + padding-left: 25px !important +} + +.a-s-sub .a-option:hover { + color: #7367f0; + background: #eeedfd +} + +.a-s-sub .a-option.active { + color: white; + background: #7367f0 +} + +.invalid-feedback { + display: none; + font-size: .85rem; + color: #ea5455; +} +/*From Dropdonw*/ + + +/*Text*/ +.dt, .dd { + padding: 0 20px; + font-size: .85rem; + line-height: 1.45 +} + +.dd { + color: #6e6b7b +} + +.dt { + font-weight: 500; + color: #6e6b7b +} +/*Table*/ +.c-table { + width: 100% +} +.c-ta-c { + box-shadow: 0 0px 20px 0px rgb(0 0 0 / 15%); + border-radius: 10px; + +} +/*@media not all and (min-resolution:.001dpcm) { + @supports (-webkit-appearance:none) { + .c-ta-c { + -webkit-mask-image: -webkit-radial-gradient(white, black); + } + } +}*/ +.c-ta-scroll { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + overflow: hidden; + height: auto !important; + width: 100%; + border-radius: 10px; +} + +.a-table { + border-radius: 10px; + width: 100%; + border-collapse: collapse; + color: #6e6b7b +} + + + .a-table th { + color: #fff; + background-color: #36304a; + padding: 20px 10px 20px; + font-size: .85rem; + text-transform: capitalize; + letter-spacing: .5px + } + + .a-table th:first-child, .a-table td:first-child{ + padding-left: 25px !important + } + + + .a-table tbody tr:nth-child(even){ + background: #f8f6ff + } + + .a-table td { + color: #808080; + padding: 16px 10px 16px 10px; + } +/*Paging*/ +.paging { + margin: 15px 0 +} +.paging .item { + height: 32px; + width: 32px; + color: #6e6b7b; + border-radius: 50%; + background-color: #f3f2f7; + transition: all .3s ease-in-out +} + .paging .item.active { + font-weight:400; + color: #fff; + background-color: #7367f0 !important + } +.c-page-link { + height: 32px; + border-radius: 32px; + background-color: #f3f2f7; +} + +.paging .item:hover { + color: #fff; + background-color: #7367f0 !important +} + +.item-less{ + margin-right: 10px +} + +.item-more{ + margin-left: 10px +} + +.c-table .inpNum{ + width: 40px; + padding:8px 10px; + margin: 15px 8px +} + +/*A Overlay*/ +.c-aoverlay { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 12; + opacity: 0; + visibility: hidden; + transition: all ease-out .5s +} + + .c-aoverlay.show { + opacity: 1; + visibility: visible; + background: rgb(86 83 96 / 0.32) + } \ No newline at end of file diff --git a/MikaltoResort/wwwroot/css/site.css b/MikaltoResort/wwwroot/css/site.css new file mode 100644 index 0000000..259964e --- /dev/null +++ b/MikaltoResort/wwwroot/css/site.css @@ -0,0 +1,566 @@ +:root { + --color-primary: #09205C; + --heading: #0E1316; + --radius: 10px; + --swiper-navigation-size: 24px !important; + --swiper-theme-color: #09205C !important; + --border-color: #E0E1E3; + --text-color-primary: #444C61; +} + +.rSlider{ + margin: 0; +} + +@font-face { + font-family: Branch; + src: url(/font/Branch.woff) +} + +h1, h2, h3, h4, h5, h6{ + font-family: Branch; + font-weight: 500 +} +h1 { + line-height: 61px; +} +h2{ + line-height: 52px; +} +@media (min-width: 1200px) { + .rSlider { + margin: 0 25px; + } +} + +@media (min-width: 1400px){ + :root { + --margin-base: 60px !important; + } + .rSlider { + margin: 0 60px; + } +} + +a { + display: block; + position: relative; + color: var(--color-primary) +} +html { + font-size: 18px; +} +body { + font-size: .9rem; + font-weight: 400; +} + +/*Control*/ +[data-dropdown] .sub-item { + border-radius: var(--radius); + overflow: hidden; + position: fixed; + background: #fff; + width: 180px; + opacity: .6; + z-index: 10001; + box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%), 0 6px 20px 0 rgb(0 0 0 / 19%); + height: 0; + transition: height .3s ease-out, opacity .3s ease-out +} + +[data-dropdown] .sub-item.show{ + opacity: 1; + height: auto +} +/*Page Layout*/ +.c_logo { + height: 60px +} + + .c_logo img { + height: 100% + } + + +.f-header .c_main_header { + padding-top: 10px; + padding-bottom: 10px; +} +.c_main_header { + padding-top: 25px; + padding-bottom: 25px; + color: var(--color-primary) +} +.langnav, .nav-mainmenu { + font-size: 1rem; + text-transform: uppercase; + font-weight: 600; +} + +.nav-mainmenu a{ + display: flex; + padding: 25px 10px; +} + +.nav-mainmenu .sub-item .nav-link { + color: var(--heading); + font-size: .92rem; + text-transform: capitalize; + padding: 10px 40px 10px 25px; + font-weight: 500; + transition: all .3s ease-in-out +} + + .nav-mainmenu .sub-item .nav-link:hover { + padding-left: 30px; + color: var(--color-primary); + } + .nav-mainmenu .sub-item .nav-i:first-child .nav-link { + padding-top: 20px; + } + .nav-mainmenu .sub-item .nav-i:last-child .nav-link { + padding-bottom: 20px; + } + + +.nav-mainmenu [data-dropdown] .sub-item { + width: auto !important; + top: 85px !important +} + +.ico-menu{ + margin: 0; + background-color: transparent; +} + +.ico-menu div{ + background-color: transparent !important; +} + +.ico-menu span{ + background-color: var(--color-primary) !important; + border-radius: 2px; + height: 2px !important; +} + .ico-menu:hover div:first-child span { + animation: down-rotate 0.6s ease-out both; + } + + .ico-menu:hover div:last-child span { + animation: up-rotate 0.6s ease-out both; + } + + .ico-menu:hover div:nth-child(2) span { + animation: hide 0.6s ease-out forwards; + } + + .ico-menu div:nth-child(2) span { + transform-box: fill-box; + transform-origin: center; + } + +@keyframes up-rotate { + 0% { + animation-timing-function: cubic-bezier(0.16, -0.88, 0.97, 0.53); + transform: translateY(0px); + } + + 30% { + transform-origin: center; + animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1); + transform: translateY(-10px); + } + + 100% { + transform-origin: center; + transform: translateY(-10px) rotate(45deg) scale(0.9); + } +} + +@keyframes down-rotate { + 0% { + animation-timing-function: cubic-bezier(0.16, -0.88, 0.97, 0.53); + transform: translateY(0px); + } + + 30% { + transform-origin: center; + animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1); + transform: translateY(10px); + } + + 100% { + transform-origin: center; + transform: translateY(10px) rotate(-45deg) scale(0.9); + } +} + +@keyframes hide { + 29% { + opacity: 1; + } + + 30% { + opacity: 0; + } + + 100% { + opacity: 0; + } +} + +[class^=c_sec_] { + color: var(--color-primary); + padding: 90px 0px 87px 0px +} + + +[class^=c_sec_] h2{ + margin: 15px 0 20px 0 +} + +[class^=c_sec_] span { + color: var(--text-color-primary) +} + + [class^=c_sec_] span a { + text-decoration: underline + } + + .c_footer { + background-color: var(--color-primary); + background-image: url(/images/footer_top.png); + background-repeat: repeat-x; + font-size: .8rem; + font-weight: 500; + padding: 134px 0px 0px 0px; + color: white; + } + +.nav_footer, .contact_f{ + padding: 10px +} + + .nav_footer .title, .contact_f .title { + margin-bottom: 21px; + font-size: .92rem; + font-weight: 600 + } + + .contact_f span:not(.title) { + color: #FFFFFF7D; + margin-bottom: 2px; + } + + .contact_f a { + color: white; + margin-bottom: 15px; + overflow-x: hidden; + } + .nav_footer a { + color: #FFFFFF7D; + transition: .3s all ease-in-out; + margin-bottom: 8px; + } + .nav_footer a:hover{ + color: white + } + .nav_footer a:hover span::before { + width: 100%; + left: 0; + } + + .nav_footer a > span{ + position:relative; + } + + .nav_footer a > span::before { + background: currentColor; + content: ""; + bottom: 0; + right: 0; + position: absolute; + height: 1px; + width: 0%; + transition: 0.3s all; + } + +.copyright { + border-top: 1px solid #F0F4F52E; + padding: 20px 0; +} +/******* End ********/ +/**Page 1000*/ +.background { + height: calc(100vh - 125px); + overflow: hidden; +} + + .background img { + width: auto; + height: 100%; + position: absolute; + top: 50%; + transform: translateY(-50%); + transition: .35s ease-in-out right + } + + + +@media (min-width:1250px) { + .background img { + width: 100% !important; + height: auto !important + } +} +.swiper { + border-radius: var(--radius); + height: calc(100vh - 125px) +} +.con_slider{ + position:absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.con_booking { + border-radius: var(--radius); + padding: 20px 20px 0 20px; + background-color: white; + color: var(--text-color-primary) +} + +@media (min-width: 992px){ + .con_booking { + padding: 60px 60px 30px 60px; + } +} + +.con_sl_content { + color: white; +} + +.con_sl_content p{ + margin-top:15px; + margin-bottom: 25px; + font-size: 1.1rem; + font-weight: 500 +} +.con_sl_content button{ + color: var(--color-primary); + background-color: white; + border-color: white; +} + + .con_sl_content button:hover { + color: white; + background-color: var(--color-primary); + } + +.w-images{ + overflow: hidden; + height:590px +} + +.w-images .r_item{ + position:absolute; +} + +.w-images .r1{ + height: auto; + width: auto; +} + +.w-images .r2 { + top: 160px; + width:60%; + right: 0; +} + .w-images .r3 { + top: 328px; + left: 20%; + width: 80%; + right: 20%; + } +/*** End ***/ +/**Control**/ +.btn { + display: inline-block; + font-weight: var(--btn-font-weight); + line-height: 18px; + color: var(--body-color); + text-align: center; + vertical-align: middle; + cursor: pointer; + font-weight: 600; + user-select: none; + background-color: rgba(0,0,0,0); + border: 2px solid rgba(0,0,0,0); + padding: 1rem 1.75rem; + border-radius: var(--border-radius); + font-size: .8rem; + transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; +} + +.btn-outline-primary { + color: var(--primary); + border-color: var(--primary); +} + +.btn-primary { + color: #fff; + background-color: var(--color-primary); + border-color: var(--swiper-theme-color); + transition: all .3s ease-in-out +} + + + + .btn-primary:hover { + color: var(--color-primary); + background-color: white; + border-color: var(--swiper-theme-color); + } + +.btn-sm { + padding: .65rem 1.5rem; +} + +.btn-lg{ + padding: 1rem 2.2rem; + font-size: 1.2rem; + font-weight: 500 +} + +.frm-inline{ + border-radius: var(--radius); + border: 1px solid var(--border-color) +} + +.frm-inline input{ + padding: 10px 12px; + width: 100%; + font-weight: 500; + color: var(--text-color-primary) +} + +.frm-group { + margin-left: -15px; + margin-right: -15px; +} + +.frm-input { + padding: 0 15px; + margin: 0px 0px 40px 0px; + font-weight: 500; +} +.frm-input label{ + font-size: .92rem; + margin-bottom: 2px; + font-weight: 600 +} + + .frm-input input, .frm-input .aselect { + width: 100%; + border-bottom: 1px solid #444C6185; + background-color: #fff; + transition: .3s all ease-in-out; + font-size: .9rem; + font-weight: 400 + } + + .frm-input .con-aselect input { + border-radius: var(--radius); + padding: 0 15px; + border: 1px solid #444C6185 + } + .frm-input input { + min-height: 35px; + line-height: 35px; + } + + .frm-input input:hover, .frm-input input:focus, .frm-input .con-aselect.active .aselect { + border-color: var(--color-primary); + } + + + /** ASelect **/ + .con-aselect .hide { + overflow: hidden; + height: 0px !important + } + + .con-aselect .hide select:empty { + display: none; + } + + .aselect { + background: #fff !important; + cursor: pointer !important; + height: 35px; + } + + .aselect .icon { + position: absolute; + right: 8px; + top: 50%; + transform: translateY(-50%); + transition: .3s all ease-in-out; + color: #6e6b7b + } + + + .con-aselect.active > .aselect > .icon { + transform: translateY(-50%) rotate(180deg) + } + + + .a-s-sub { + margin-top: 10px; + max-height: 250px + } + + .a-s-sub .a-search { + padding: 10px + } + + .a-s-sub .noitem { + font-size: .85rem; + padding: 10px 15px + } + + .a-s-sub .a-search input:focus { + border-color: #6e6b7b + } + + .a-s-sub .a-option { + font-size: .85rem; + padding: 10px 20px; + cursor: default; + transition: all .3s ease-in-out + } + + .a-s-sub .a-option-group { + padding: 10px 15px; + font-weight: 600; + cursor: default + } + + .a-option-group ~ .a-option { + padding-left: 25px !important + } + + .a-s-sub .a-option:hover, .a-s-sub .a-option.active { + color: white; + background: var(--color-primary) + } + + + .invalid-feedback { + display: none; + font-size: .85rem; + color: #ea5455; + } + /**End ***/ \ No newline at end of file diff --git a/MikaltoResort/wwwroot/favicon.ico b/MikaltoResort/wwwroot/favicon.ico new file mode 100644 index 0000000..63e859b Binary files /dev/null and b/MikaltoResort/wwwroot/favicon.ico differ diff --git a/MikaltoResort/wwwroot/font/ATGIcon-Regular.woff b/MikaltoResort/wwwroot/font/ATGIcon-Regular.woff new file mode 100644 index 0000000..49888a9 Binary files /dev/null and b/MikaltoResort/wwwroot/font/ATGIcon-Regular.woff differ diff --git a/MikaltoResort/wwwroot/font/Branch.woff b/MikaltoResort/wwwroot/font/Branch.woff new file mode 100644 index 0000000..560a05a Binary files /dev/null and b/MikaltoResort/wwwroot/font/Branch.woff differ diff --git a/MikaltoResort/wwwroot/font/atg-admin-font.fcp b/MikaltoResort/wwwroot/font/atg-admin-font.fcp new file mode 100644 index 0000000..237dddc Binary files /dev/null and b/MikaltoResort/wwwroot/font/atg-admin-font.fcp differ diff --git a/MikaltoResort/wwwroot/font/atgfont-Regular(1).woff b/MikaltoResort/wwwroot/font/atgfont-Regular(1).woff new file mode 100644 index 0000000..23b9010 Binary files /dev/null and b/MikaltoResort/wwwroot/font/atgfont-Regular(1).woff differ diff --git a/MikaltoResort/wwwroot/font/atgfont-Regular(1).woff2 b/MikaltoResort/wwwroot/font/atgfont-Regular(1).woff2 new file mode 100644 index 0000000..e34d70b Binary files /dev/null and b/MikaltoResort/wwwroot/font/atgfont-Regular(1).woff2 differ diff --git a/MikaltoResort/wwwroot/font/atgfont-Regular.woff b/MikaltoResort/wwwroot/font/atgfont-Regular.woff new file mode 100644 index 0000000..59a99e2 Binary files /dev/null and b/MikaltoResort/wwwroot/font/atgfont-Regular.woff differ diff --git a/MikaltoResort/wwwroot/font/atgfont-Regular.woff2 b/MikaltoResort/wwwroot/font/atgfont-Regular.woff2 new file mode 100644 index 0000000..a4bbb74 Binary files /dev/null and b/MikaltoResort/wwwroot/font/atgfont-Regular.woff2 differ diff --git a/MikaltoResort/wwwroot/images/banner/b1.jpg b/MikaltoResort/wwwroot/images/banner/b1.jpg new file mode 100644 index 0000000..536ffdb Binary files /dev/null and b/MikaltoResort/wwwroot/images/banner/b1.jpg differ diff --git a/MikaltoResort/wwwroot/images/banner/b2.jpg b/MikaltoResort/wwwroot/images/banner/b2.jpg new file mode 100644 index 0000000..c9d1304 Binary files /dev/null and b/MikaltoResort/wwwroot/images/banner/b2.jpg differ diff --git a/MikaltoResort/wwwroot/images/banner/b3.jpg b/MikaltoResort/wwwroot/images/banner/b3.jpg new file mode 100644 index 0000000..2e21b01 Binary files /dev/null and b/MikaltoResort/wwwroot/images/banner/b3.jpg differ diff --git a/MikaltoResort/wwwroot/images/banner/b4.jpg b/MikaltoResort/wwwroot/images/banner/b4.jpg new file mode 100644 index 0000000..23a8c89 Binary files /dev/null and b/MikaltoResort/wwwroot/images/banner/b4.jpg differ diff --git a/MikaltoResort/wwwroot/images/footer_top.png b/MikaltoResort/wwwroot/images/footer_top.png new file mode 100644 index 0000000..2cfa091 Binary files /dev/null and b/MikaltoResort/wwwroot/images/footer_top.png differ diff --git a/MikaltoResort/wwwroot/images/logo.svg b/MikaltoResort/wwwroot/images/logo.svg new file mode 100644 index 0000000..c57378a --- /dev/null +++ b/MikaltoResort/wwwroot/images/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/MikaltoResort/wwwroot/images/logo3.svg b/MikaltoResort/wwwroot/images/logo3.svg new file mode 100644 index 0000000..dda3774 --- /dev/null +++ b/MikaltoResort/wwwroot/images/logo3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/MikaltoResort/wwwroot/images/p/1000/r1.jpg b/MikaltoResort/wwwroot/images/p/1000/r1.jpg new file mode 100644 index 0000000..1bd903d Binary files /dev/null and b/MikaltoResort/wwwroot/images/p/1000/r1.jpg differ diff --git a/MikaltoResort/wwwroot/images/p/1000/r2.jpg b/MikaltoResort/wwwroot/images/p/1000/r2.jpg new file mode 100644 index 0000000..53d96d8 Binary files /dev/null and b/MikaltoResort/wwwroot/images/p/1000/r2.jpg differ diff --git a/MikaltoResort/wwwroot/images/p/1000/r3.jpg b/MikaltoResort/wwwroot/images/p/1000/r3.jpg new file mode 100644 index 0000000..f876886 Binary files /dev/null and b/MikaltoResort/wwwroot/images/p/1000/r3.jpg differ diff --git a/MikaltoResort/wwwroot/images/p/1000/sign_manager.svg b/MikaltoResort/wwwroot/images/p/1000/sign_manager.svg new file mode 100644 index 0000000..b08e472 --- /dev/null +++ b/MikaltoResort/wwwroot/images/p/1000/sign_manager.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/MikaltoResort/wwwroot/js/ext_libs/js-AOverScroll.js b/MikaltoResort/wwwroot/js/ext_libs/js-AOverScroll.js new file mode 100644 index 0000000..fc83b5e --- /dev/null +++ b/MikaltoResort/wwwroot/js/ext_libs/js-AOverScroll.js @@ -0,0 +1,662 @@ + + +export default class AOverScroll { + constructor() { + window.Scrollbar.use(this.e(window.Scrollbar)); + } + e(t) { + return function (t) { + var e = {}; + function o(i) { + if (e[i]) + return e[i].exports; + var r = e[i] = { + i: i, + l: !1, + exports: {} + }; + return t[i].call(r.exports, r, r.exports, o), + r.l = !0, + r.exports + } + return o.m = t, + o.c = e, + o.d = function (t, e, i) { + o.o(t, e) || Object.defineProperty(t, e, { + enumerable: !0, + get: i + }) + } + , + o.r = function (t) { + "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { + value: "Module" + }), + Object.defineProperty(t, "__esModule", { + value: !0 + }) + } + , + o.t = function (t, e) { + if (1 & e && (t = o(t)), + 8 & e) + return t; + if (4 & e && "object" == typeof t && t && t.__esModule) + return t; + var i = Object.create(null); + if (o.r(i), + Object.defineProperty(i, "default", { + enumerable: !0, + value: t + }), + 2 & e && "string" != typeof t) + for (var r in t) + o.d(i, r, function (e) { + return t[e] + } + .bind(null, r)); + return i + } + , + o.n = function (t) { + var e = t && t.__esModule ? function () { + return t.default + } + : function () { + return t + } + ; + return o.d(e, "a", e), + e + } + , + o.o = function (t, e) { + return Object.prototype.hasOwnProperty.call(t, e) + } + , + o.p = "", + o(o.s = 1) + }([function (e, o) { + e.exports = t + } + , function (t, e, o) { + t.exports = o(2) + } + , function (t, e, o) { + "use strict"; + o.r(e); + var i = function (t, e) { + return (i = Object.setPrototypeOf || { + __proto__: [] + } instanceof Array && function (t, e) { + t.__proto__ = e + } + || function (t, e) { + for (var o in e) + e.hasOwnProperty(o) && (t[o] = e[o]) + } + ) + } + , r = function () { + return (r = Object.assign || function (t) { + for (var e, o = 1, i = arguments.length; o < i; o++) + for (var r in e = arguments[o]) + Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]); + return t + } + ).apply(this, arguments) + }; + function n(t) { + var e = function (t) { + return t.touches ? t.touches[t.touches.length - 1] : t + }(t); + return { + x: e.clientX, + y: e.clientY + } + } + new WeakMap; + var s = ["webkit", "moz", "ms", "o"] + , c = new RegExp("^-(?!(?:" + s.join("|") + ")-)"); + function a(t, e) { + e = function (t) { + var e = {}; + return Object.keys(t).forEach((function (o) { + if (c.test(o)) { + var i = t[o]; + o = o.replace(/^-/, ""), + e[o] = i, + s.forEach((function (t) { + e["-" + t + "-" + o] = i + } + )) + } else + e[o] = t[o] + } + )), + e + }(e), + Object.keys(e).forEach((function (o) { + var i = o.replace(/^-/, "").replace(/-([a-z])/g, (function (t, e) { + return e.toUpperCase() + } + )); + t.style[i] = e[o] + } + )) + } + var l = function () { + function t(t) { + this.velocityMultiplier = window.devicePixelRatio, + this.updateTime = Date.now(), + this.delta = { + x: 0, + y: 0 + }, + this.velocity = { + x: 0, + y: 0 + }, + this.lastPosition = { + x: 0, + y: 0 + }, + this.lastPosition = n(t) + } + return t.prototype.update = function (t) { + var e = this.velocity + , o = this.updateTime + , i = this.lastPosition + , r = Date.now() + , s = n(t) + , c = { + x: -(s.x - i.x), + y: -(s.y - i.y) + } + , a = r - o || 16.7 + , l = c.x / a * 16.7 + , h = c.y / a * 16.7; + e.x = l * this.velocityMultiplier, + e.y = h * this.velocityMultiplier, + this.delta = c, + this.updateTime = r, + this.lastPosition = s + } + , + t + }(); + function h(t, e, o) { + return Math.max(e, Math.min(o, t)) + } + !function () { + function t() { + this._touchList = {} + } + Object.defineProperty(t.prototype, "_primitiveValue", { + get: function () { + return { + x: 0, + y: 0 + } + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.isActive = function () { + return void 0 !== this._activeTouchID + } + , + t.prototype.getDelta = function () { + var t = this._getActiveTracker(); + return t ? r({}, t.delta) : this._primitiveValue + } + , + t.prototype.getVelocity = function () { + var t = this._getActiveTracker(); + return t ? r({}, t.velocity) : this._primitiveValue + } + , + t.prototype.getEasingDistance = function (t) { + var e = 1 - t + , o = { + x: 0, + y: 0 + } + , i = this.getVelocity(); + return Object.keys(i).forEach((function (t) { + for (var r = Math.abs(i[t]) <= 10 ? 0 : i[t]; 0 !== r;) + o[t] += r, + r = r * e | 0 + } + )), + o + } + , + t.prototype.track = function (t) { + var e = this + , o = t.targetTouches; + return Array.from(o).forEach((function (t) { + e._add(t) + } + )), + this._touchList + } + , + t.prototype.update = function (t) { + var e = this + , o = t.touches + , i = t.changedTouches; + return Array.from(o).forEach((function (t) { + e._renew(t) + } + )), + this._setActiveID(i), + this._touchList + } + , + t.prototype.release = function (t) { + var e = this; + delete this._activeTouchID, + Array.from(t.changedTouches).forEach((function (t) { + e._delete(t) + } + )) + } + , + t.prototype._add = function (t) { + this._has(t) && this._delete(t); + var e = new l(t); + this._touchList[t.identifier] = e + } + , + t.prototype._renew = function (t) { + this._has(t) && this._touchList[t.identifier].update(t) + } + , + t.prototype._delete = function (t) { + delete this._touchList[t.identifier] + } + , + t.prototype._has = function (t) { + return this._touchList.hasOwnProperty(t.identifier) + } + , + t.prototype._setActiveID = function (t) { + this._activeTouchID = t[t.length - 1].identifier + } + , + t.prototype._getActiveTracker = function () { + return this._touchList[this._activeTouchID] + } + }(); + var u, p = o(0), f = function () { + function t(t) { + this._scrollbar = t + } + return t.prototype.render = function (t) { + var e = t.x + , o = void 0 === e ? 0 : e + , i = t.y + , r = void 0 === i ? 0 : i + , n = this._scrollbar + , s = n.size + , c = n.track + , l = n.offset; + if (a(n.contentEl, { + "-transform": "translate3d(" + -(l.x + o) + "px, " + -(l.y + r) + "px, 0)" + }), + o) { + c.xAxis.show(); + var h = s.container.width / (s.container.width + Math.abs(o)); + a(c.xAxis.thumb.element, { + "-transform": "translate3d(" + c.xAxis.thumb.offset + "px, 0, 0) scale3d(" + h + ", 1, 1)", + "-transform-origin": o < 0 ? "left" : "right" + }) + } + r && (c.yAxis.show(), + h = s.container.height / (s.container.height + Math.abs(r)), + a(c.yAxis.thumb.element, { + "-transform": "translate3d(0, " + c.yAxis.thumb.offset + "px, 0) scale3d(1, " + h + ", 1)", + "-transform-origin": r < 0 ? "top" : "bottom" + })), + c.autoHideOnIdle() + } + , + t + }(), _ = function () { + function t(t) { + this._scrollbar = t, + this._canvas = document.createElement("canvas"), + this._ctx = this._canvas.getContext("2d"), + a(this._canvas, { + position: "absolute", + top: 0, + left: 0, + width: "100%", + height: "100%", + display: "none" + }) + } + return t.prototype.mount = function () { + this._scrollbar.containerEl.appendChild(this._canvas) + } + , + t.prototype.unmount = function () { + this._canvas.parentNode && this._canvas.parentNode.removeChild(this._canvas) + } + , + t.prototype.adjust = function () { + var t = this._scrollbar.size + , e = window.devicePixelRatio || 1 + , o = t.container.width * e + , i = t.container.height * e; + o === this._canvas.width && i === this._canvas.height || (this._canvas.width = o, + this._canvas.height = i, + this._ctx.scale(e, e)) + } + , + t.prototype.recordTouch = function (t) { + var e = t.touches[t.touches.length - 1]; + this._touchX = e.clientX, + this._touchY = e.clientY + } + , + t.prototype.render = function (t, e) { + var o = t.x + , i = void 0 === o ? 0 : o + , r = t.y + , n = void 0 === r ? 0 : r; + if (i || n) { + a(this._canvas, { + display: "block" + }); + var s = this._scrollbar.size; + this._ctx.clearRect(0, 0, s.container.width, s.container.height), + this._ctx.fillStyle = e, + this._renderX(i), + this._renderY(n) + } else + a(this._canvas, { + display: "none" + }) + } + , + t.prototype._getMaxOverscroll = function () { + var t = this._scrollbar.options.plugins.overscroll; + return t && t.maxOverscroll ? t.maxOverscroll : 150 + } + , + t.prototype._renderX = function (t) { + var e = this._scrollbar.size + , o = this._getMaxOverscroll() + , i = e.container + , r = i.width + , n = i.height + , s = this._ctx; + s.save(), + t > 0 && s.transform(-1, 0, 0, 1, r, 0); + var c = h(Math.abs(t) / o, 0, .75) + , a = h(c, 0, .25) * r + , l = Math.abs(t) + , u = this._touchY || n / 2; + s.globalAlpha = c, + s.beginPath(), + s.moveTo(0, -a), + s.quadraticCurveTo(l, u, 0, n + a), + s.fill(), + s.closePath(), + s.restore() + } + , + t.prototype._renderY = function (t) { + var e = this._scrollbar.size + , o = this._getMaxOverscroll() + , i = e.container + , r = i.width + , n = i.height + , s = this._ctx; + s.save(), + t > 0 && s.transform(1, 0, 0, -1, 0, n); + var c = h(Math.abs(t) / o, 0, .75) + , a = h(c, 0, .25) * r + , l = this._touchX || r / 2 + , u = Math.abs(t); + s.globalAlpha = c, + s.beginPath(), + s.moveTo(-a, 0), + s.quadraticCurveTo(l, u, r + a, 0), + s.fill(), + s.closePath(), + s.restore() + } + , + t + }(); + o.d(e, "OverscrollEffect", (function () { + return u + } + )), + function (t) { + t.BOUNCE = "bounce", + t.GLOW = "glow" + }(u || (u = {})); + var d = /wheel|touch/ + , y = function (t) { + function e() { + var e = null !== t && t.apply(this, arguments) || this; + return e._glow = new _(e.scrollbar), + e._bounce = new f(e.scrollbar), + e._wheelScrollBack = { + x: !1, + y: !1 + }, + e._lockWheel = { + x: !1, + y: !1 + }, + e._touching = !1, + e._amplitude = { + x: 0, + y: 0 + }, + e._position = { + x: 0, + y: 0 + }, + e._releaseWheel = function (t, e, o) { + var i; + void 0 === e && (e = 0); + return function () { + for (var o = this, r = [], n = 0; n < arguments.length; n++) + r[n] = arguments[n]; + clearTimeout(i), + i = setTimeout((function () { + t.apply(o, r) + } + ), e) + } + }((function () { + e._lockWheel.x = !1, + e._lockWheel.y = !1 + } + ), 30), + e + } + return function (t, e) { + function o() { + this.constructor = t + }; + i(t, e), + t.prototype = null === e ? Object.create(e) : (o.prototype = e.prototype, + new o) + }(e, t), + Object.defineProperty(e.prototype, "_isWheelLocked", { + get: function () { + return this._lockWheel.x || this._lockWheel.y + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(e.prototype, "_enabled", { + get: function () { + return !!this.options.effect + }, + enumerable: !0, + configurable: !0 + }), + e.prototype.onInit = function () { + var t = this._glow + , e = this.options + , o = this.scrollbar + , i = e.effect; + Object.defineProperty(e, "effect", { + get: function () { + return i + }, + set: function (e) { + if (e) { + if (e !== u.BOUNCE && e !== u.GLOW) + throw new TypeError("unknow overscroll effect: " + e); + i = e, + o.options.continuousScrolling = !1, + e === u.GLOW ? (t.mount(), + t.adjust()) : t.unmount() + } else + i = void 0 + } + }), + e.effect = i + } + , + e.prototype.onUpdate = function () { + this.options.effect === u.GLOW && this._glow.adjust() + } + , + e.prototype.onRender = function (t) { + if (this._enabled) { + this.scrollbar.options.continuousScrolling && (this.scrollbar.options.continuousScrolling = !1); + var e = t.x + , o = t.y; + !this._amplitude.x && this._willOverscroll("x", t.x) && (e = 0, + this._absorbMomentum("x", t.x)), + !this._amplitude.y && this._willOverscroll("y", t.y) && (o = 0, + this._absorbMomentum("y", t.y)), + this.scrollbar.setMomentum(e, o), + this._render() + } + } + , + e.prototype.transformDelta = function (t, e) { + if (this._lastEventType = e.type, + !this._enabled || !d.test(e.type)) + return t; + this._isWheelLocked && /wheel/.test(e.type) && (this._releaseWheel(), + this._willOverscroll("x", t.x) && (t.x = 0), + this._willOverscroll("y", t.y) && (t.y = 0)); + var o = t.x + , i = t.y; + switch (this._willOverscroll("x", t.x) && (o = 0, + this._addAmplitude("x", t.x)), + this._willOverscroll("y", t.y) && (i = 0, + this._addAmplitude("y", t.y)), + e.type) { + case "touchstart": + case "touchmove": + this._touching = !0, + this._glow.recordTouch(e); + break; + case "touchcancel": + case "touchend": + this._touching = !1 + } + return { + x: o, + y: i + } + } + , + e.prototype._willOverscroll = function (t, e) { + if (!e) + return !1; + if (this._position[t]) + return !0; + var o = this.scrollbar.offset[t] + , i = this.scrollbar.limit[t]; + return 0 !== i && h(o + e, 0, i) === o && (0 === o || o === i) + } + , + e.prototype._absorbMomentum = function (t, e) { + var o = this.options + , i = this._lastEventType + , r = this._amplitude; + d.test(i) && (r[t] = h(e, -o.maxOverscroll, o.maxOverscroll)) + } + , + e.prototype._addAmplitude = function (t, e) { + var o = this.options + , i = this.scrollbar + , r = this._amplitude + , n = this._position + , s = r[t] + , c = e * s < 0 + , a = s + e * (1 - (c ? 0 : this._wheelScrollBack[t] ? 1 : Math.abs(s / o.maxOverscroll))); + r[t] = 0 === i.offset[t] ? h(a, -o.maxOverscroll, 0) : h(a, 0, o.maxOverscroll), + c && (n[t] = r[t]) + } + , + e.prototype._render = function () { + var t = this.options + , e = this._amplitude + , o = this._position; + if (this._enabled && (e.x || e.y || o.x || o.y)) { + var i = this._nextAmp("x") + , n = this._nextAmp("y"); + switch (e.x = i.amplitude, + o.x = i.position, + e.y = n.amplitude, + o.y = n.position, + t.effect) { + case u.BOUNCE: + this._bounce.render(o); + break; + case u.GLOW: + this._glow.render(o, this.options.glowColor) + } + "function" == typeof t.onScroll && t.onScroll.call(this, r({}, o)) + } + } + , + e.prototype._nextAmp = function (t) { + var e = this.options + , o = this._amplitude + , i = this._position + , r = 1 - e.damping + , n = o[t] + , s = i[t] + , c = this._touching ? n : n * r | 0 + , a = c - s + , l = s + a - (a * r | 0); + return !this._touching && Math.abs(l) < Math.abs(s) && (this._wheelScrollBack[t] = !0), + this._wheelScrollBack[t] && Math.abs(l) <= 1 && (this._wheelScrollBack[t] = !1, + this._lockWheel[t] = !0), + { + amplitude: c, + position: l + } + } + , + e.pluginName = "overscroll", + e.defaultOptions = { + effect: u.BOUNCE, + onScroll: void 0, + damping: .2, + maxOverscroll: 150, + glowColor: "#87ceeb" + }, + e + }(p.ScrollbarPlugin); + e.default = y + } + ]).default +} +} diff --git a/MikaltoResort/wwwroot/js/ext_libs/js-datepicker.js b/MikaltoResort/wwwroot/js/ext_libs/js-datepicker.js new file mode 100644 index 0000000..21247a0 --- /dev/null +++ b/MikaltoResort/wwwroot/js/ext_libs/js-datepicker.js @@ -0,0 +1,15 @@ +!function (e, t) { "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.AirDatepicker = t() : e.AirDatepicker = t() }(this, (function () { return function () { "use strict"; var e = { d: function (t, i) { for (var s in i) e.o(i, s) && !e.o(t, s) && Object.defineProperty(t, s, { enumerable: !0, get: i[s] }) }, o: function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) } }, t = {}; e.d(t, { default: function () { return R } }); var i = { days: "days", months: "months", years: "years", day: "day", month: "month", year: "year", eventChangeViewDate: "changeViewDate", eventChangeCurrentView: "changeCurrentView", eventChangeFocusDate: "changeFocusDate", eventChangeSelectedDate: "changeSelectedDate", eventChangeTime: "changeTime", eventChangeLastSelectedDate: "changeLastSelectedDate", actionSelectDate: "selectDate", actionUnselectDate: "unselectDate", cssClassWeekend: "-weekend-" }, s = { classes: "", inline: !1, locale: { days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"], daysShort: ["Вос", "Пон", "Вто", "Сре", "Чет", "Пят", "Суб"], daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"], months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], today: "Сегодня", clear: "Очистить", dateFormat: "dd.MM.yyyy", timeFormat: "HH:mm", firstDay: 1 }, startDate: new Date, firstDay: "", weekends: [6, 0], dateFormat: "", altField: "", altFieldDateFormat: "T", toggleSelected: !0, keyboardNav: !0, selectedDates: !1, container: "", isMobile: !1, visible: !1, position: "bottom left", offset: 12, view: i.days, minView: i.days, showOtherMonths: !0, selectOtherMonths: !0, moveToOtherMonthsOnSelect: !0, showOtherYears: !0, selectOtherYears: !0, moveToOtherYearsOnSelect: !0, minDate: "", maxDate: "", disableNavWhenOutOfRange: !0, multipleDates: !1, multipleDatesSeparator: ", ", range: !1, dynamicRange: !0, buttons: !1, monthsField: "monthsShort", showEvent: "focus", autoClose: !1, fixedHeight: !1, prevHtml: '', nextHtml: '', navTitles: { days: "MMMM, yyyy", months: "yyyy", years: "yyyy1 - yyyy2" }, timepicker: !1, onlyTimepicker: !1, dateTimeSeparator: " ", timeFormat: "", minHours: 0, maxHours: 24, minMinutes: 0, maxMinutes: 59, hoursStep: 1, minutesStep: 1, onSelect: !1, onChangeViewDate: !1, onChangeView: !1, onRenderCell: !1, onShow: !1, onHide: !1, onClickDayName: !1 }; function a(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : document; return "string" == typeof e ? t.querySelector(e) : e } function n() { let { tagName: e = "div", className: t = "", innerHtml: i = "", id: s = "", attrs: a = {} } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, n = document.createElement(e); return t && n.classList.add(...t.split(" ")), s && (n.id = s), i && (n.innerHTML = i), a && r(n, a), n } function r(e, t) { for (let [i, s] of Object.entries(t)) void 0 !== s && e.setAttribute(i, s); return e } function o(e) { return new Date(e.getFullYear(), e.getMonth() + 1, 0).getDate() } function h(e) { let t = e.getHours(), { hours: i, dayPeriod: s } = l(t); return { year: e.getFullYear(), month: e.getMonth(), fullMonth: e.getMonth() + 1 < 10 ? "0" + (e.getMonth() + 1) : e.getMonth() + 1, date: e.getDate(), fullDate: e.getDate() < 10 ? "0" + e.getDate() : e.getDate(), day: e.getDay(), hours: t, fullHours: d(t), hours12: i, dayPeriod: s, fullHours12: d(i), minutes: e.getMinutes(), fullMinutes: e.getMinutes() < 10 ? "0" + e.getMinutes() : e.getMinutes() } } function l(e) { return { dayPeriod: e > 11 ? "pm" : "am", hours: e % 12 == 0 ? 12 : e % 12 } } function d(e) { return e < 10 ? "0" + e : e } function c(e) { let t = 10 * Math.floor(e.getFullYear() / 10); return [t, t + 9] } function u() { let e = []; for (var t = arguments.length, i = new Array(t), s = 0; s < t; s++)i[s] = arguments[s]; return i.forEach((t => { if ("object" == typeof t) for (let i in t) t[i] && e.push(i); else t && e.push(t) })), e.join(" ") } function p(e, t) { let s = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : i.days; if (!e || !t) return !1; let a = h(e), n = h(t); return { [i.days]: a.date === n.date && a.month === n.month && a.year === n.year, [i.months]: a.month === n.month && a.year === n.year, [i.years]: a.year === n.year }[s] } function m(e, t, i) { let s = g(e, !1).getTime(), a = g(t, !1).getTime(); return i ? s >= a : s > a } function v(e, t) { return !m(e, t, !0) } function g(e) { let t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], i = new Date(e.getTime()); return "boolean" != typeof t || t || function (e) { e.setHours(0, 0, 0, 0) }(i), i } function D(e, t, i) { e.length ? e.forEach((e => { e.addEventListener(t, i) })) : e.addEventListener(t, i) } function y(e, t) { return !(!e || e === document || e instanceof DocumentFragment) && (e.matches(t) ? e : y(e.parentNode, t)) } function f(e, t, i) { return e > i ? i : e < t ? t : e } function w(e) { for (var t = arguments.length, i = new Array(t > 1 ? t - 1 : 0), s = 1; s < t; s++)i[s - 1] = arguments[s]; return i.filter((e => e)).forEach((t => { for (let [i, s] of Object.entries(t)) if (void 0 !== s && "[object Object]" === s.toString()) { let t = void 0 !== e[i] ? e[i].toString() : void 0, a = s.toString(), n = Array.isArray(s) ? [] : {}; e[i] = e[i] ? t !== a ? n : e[i] : n, w(e[i], s) } else e[i] = s })), e } function b(e) { let t = e; return e instanceof Date || ("string" == typeof e && /^\d{4}-\d{2}-\d{2}$/.test(e) && (e += "T00:00:00"), t = new Date(e)), isNaN(t.getTime()) && (console.log(`Unable to convert value "${e}" to Date object`), t = !1), t } function k(e) { let t = "\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;"; return new RegExp("(^|>|" + t + ")(" + e + ")($|<|" + t + ")", "g") } function $(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } class C { constructor() { let { type: e, date: t, dp: i, opts: s, body: a } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; $(this, "focus", (() => { this.$cell.classList.add("-focus-"), this.focused = !0 })), $(this, "removeFocus", (() => { this.$cell.classList.remove("-focus-"), this.focused = !1 })), $(this, "select", (() => { this.$cell.classList.add("-selected-"), this.selected = !0 })), $(this, "removeSelect", (() => { this.$cell.classList.remove("-selected-", "-range-from-", "-range-to-"), this.selected = !1 })), $(this, "onChangeSelectedDate", (() => { this.isDisabled || (this._handleSelectedStatus(), this.opts.range && this._handleRangeStatus()) })), $(this, "onChangeFocusDate", (e => { if (!e) return void (this.focused && this.removeFocus()); let t = p(e, this.date, this.type); t ? this.focus() : !t && this.focused && this.removeFocus(), this.opts.range && this._handleRangeStatus() })), $(this, "render", (() => (this.$cell.innerHTML = this._getHtml(), this._handleClasses(), this.$cell))), this.type = e, this.singleType = this.type.slice(0, -1), this.date = t, this.dp = i, this.opts = s, this.body = a, this.customData = !1, this.init() } init() { var e; let { onRenderCell: t } = this.opts; t && (this.customData = t({ date: this.date, cellType: this.singleType, datepicker: this.dp })), this._createElement(), this._bindDatepickerEvents(), null !== (e = this.customData) && void 0 !== e && e.disabled && this.dp.disableDate(this.date) } _bindDatepickerEvents() { this.dp.on(i.eventChangeSelectedDate, this.onChangeSelectedDate), this.dp.on(i.eventChangeFocusDate, this.onChangeFocusDate) } unbindDatepickerEvents() { this.dp.off(i.eventChangeSelectedDate, this.onChangeSelectedDate), this.dp.off(i.eventChangeFocusDate, this.onChangeFocusDate) } _createElement() { var e; let { year: t, month: i, date: s } = h(this.date), a = (null === (e = this.customData) || void 0 === e ? void 0 : e.attrs) || {}; this.$cell = n({ attrs: { "data-year": t, "data-month": i, "data-date": s, ...a } }), this.$cell.adpCell = this } _getClassName() { var e; let t = new Date, { selectOtherMonths: s, selectOtherYears: a } = this.opts, { minDate: n, maxDate: r, isDateDisabled: o } = this.dp, { day: l } = h(this.date), d = this._isOutOfMinMaxRange(), c = o(this.date), m = u("air-datepicker-cell", `-${this.singleType}-`, { "-current-": p(t, this.date, this.type), "-min-date-": n && p(n, this.date, this.type), "-max-date-": r && p(r, this.date, this.type) }), v = ""; switch (this.type) { case i.days: v = u({ "-weekend-": this.dp.isWeekend(l), "-other-month-": this.isOtherMonth, "-disabled-": this.isOtherMonth && !s || d || c }); break; case i.months: v = u({ "-disabled-": d }); break; case i.years: v = u({ "-other-decade-": this.isOtherDecade, "-disabled-": d || this.isOtherDecade && !a }) }return u(m, v, null === (e = this.customData) || void 0 === e ? void 0 : e.classes).split(" ") } _getHtml() { var e; let { year: t, month: s, date: a } = h(this.date), { showOtherMonths: n, showOtherYears: r } = this.opts; if (null !== (e = this.customData) && void 0 !== e && e.html) return this.customData.html; switch (this.type) { case i.days: return !n && this.isOtherMonth ? "" : a; case i.months: return this.dp.locale[this.opts.monthsField][s]; case i.years: return !r && this.isOtherDecade ? "" : t } } _isOutOfMinMaxRange() { let { minDate: e, maxDate: t } = this.dp, { type: s, date: a } = this, { month: n, year: r, date: o } = h(a), l = s === i.days, d = s === i.years, c = !!e && new Date(r, d ? e.getMonth() : n, l ? o : e.getDate()), u = !!t && new Date(r, d ? t.getMonth() : n, l ? o : t.getDate()); return e && t ? v(c, e) || m(u, t) : e ? v(c, e) : t ? m(u, t) : void 0 } destroy() { this.unbindDatepickerEvents() } _handleRangeStatus() { const { selectedDates: e, focusDate: t, rangeDateTo: i, rangeDateFrom: s } = this.dp, a = e.length; if (!a) return; let n = s, r = i; if (1 === a && t) { const i = m(t, e[0]); n = i ? e[0] : t, r = i ? t : e[0] } let o = u({ "-in-range-": n && r && (h = this.date, l = n, d = r, m(h, l) && v(h, d)), "-range-from-": n && p(this.date, n, this.type), "-range-to-": r && p(this.date, r, this.type) }); var h, l, d; this.$cell.classList.remove("-range-from-", "-range-to-", "-in-range-"), o && this.$cell.classList.add(...o.split(" ")) } _handleSelectedStatus() { let e = this.dp._checkIfDateIsSelected(this.date, this.type); e ? this.select() : !e && this.selected && this.removeSelect() } _handleInitialFocusStatus() { p(this.dp.focusDate, this.date, this.type) && this.focus() } _handleClasses() { this.$cell.setAttribute("class", ""), this._handleInitialFocusStatus(), this.dp.hasSelectedDates && (this._handleSelectedStatus(), this.dp.opts.range && this._handleRangeStatus()), this.$cell.classList.add(...this._getClassName()) } get isDisabled() { return this.$cell.matches(".-disabled-") } get isOtherMonth() { return this.dp.isOtherMonth(this.date) } get isOtherDecade() { return this.dp.isOtherDecade(this.date) } } function _(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } let M = { [i.days]: `
`, [i.months]: `
`, [i.years]: `
` }; const S = ".air-datepicker-cell"; class T { constructor(e) { let { dp: t, type: s, opts: a } = e; _(this, "handleClick", (e => { let t = e.target.closest(S).adpCell; if (t.isDisabled) return; if (!this.dp.isMinViewReached) return void this.dp.down(); let i = this.dp._checkIfDateIsSelected(t.date, t.type); i ? this.dp._handleAlreadySelectedDates(i, t.date) : this.dp.selectDate(t.date) })), _(this, "handleDayNameClick", (e => { let t = e.target.getAttribute("data-day-index"); this.opts.onClickDayName({ dayIndex: Number(t), datepicker: this.dp }) })), _(this, "onChangeCurrentView", (e => { e !== this.type ? this.hide() : (this.show(), this.render()) })), _(this, "onMouseOverCell", (e => { let t = y(e.target, S); this.dp.setFocusDate(!!t && t.adpCell.date) })), _(this, "onMouseOutCell", (() => { this.dp.setFocusDate(!1) })), _(this, "onClickBody", (e => { let { onClickDayName: t } = this.opts, i = e.target; i.closest(S) && this.handleClick(e), t && i.closest(".air-datepicker-body--day-name") && this.handleDayNameClick(e) })), _(this, "onMouseDown", (e => { this.pressed = !0; let t = y(e.target, S), i = t && t.adpCell; p(i.date, this.dp.rangeDateFrom) && (this.rangeFromFocused = !0), p(i.date, this.dp.rangeDateTo) && (this.rangeToFocused = !0) })), _(this, "onMouseMove", (e => { if (!this.pressed || !this.dp.isMinViewReached) return; e.preventDefault(); let t = y(e.target, S), i = t && t.adpCell, { selectedDates: s, rangeDateTo: a, rangeDateFrom: n } = this.dp; if (!i || i.isDisabled) return; let { date: r } = i; if (2 === s.length) { if (this.rangeFromFocused && !m(r, a)) { let { hours: e, minutes: t } = h(n); r.setHours(e), r.setMinutes(t), this.dp.rangeDateFrom = r, this.dp.replaceDate(n, r) } if (this.rangeToFocused && !v(r, n)) { let { hours: e, minutes: t } = h(a); r.setHours(e), r.setMinutes(t), this.dp.rangeDateTo = r, this.dp.replaceDate(a, r) } } })), _(this, "onMouseUp", (() => { this.pressed = !1, this.rangeFromFocused = !1, this.rangeToFocused = !1 })), _(this, "onChangeViewDate", ((e, t) => { if (!this.isVisible) return; let s = c(e), a = c(t); switch (this.dp.currentView) { case i.days: if (p(e, t, i.months)) return; break; case i.months: if (p(e, t, i.years)) return; break; case i.years: if (s[0] === a[0] && s[1] === a[1]) return }this.render() })), _(this, "render", (() => { this.destroyCells(), this._generateCells(), this.cells.forEach((e => { this.$cells.appendChild(e.render()) })) })), this.dp = t, this.type = s, this.opts = a, this.cells = [], this.$el = "", this.pressed = !1, this.isVisible = !0, this.init() } init() { this._buildBaseHtml(), this.type === i.days && this.renderDayNames(), this.render(), this._bindEvents(), this._bindDatepickerEvents() } _bindEvents() { let { range: e, dynamicRange: t } = this.opts; D(this.$el, "mouseover", this.onMouseOverCell), D(this.$el, "mouseout", this.onMouseOutCell), D(this.$el, "click", this.onClickBody), e && t && (D(this.$el, "mousedown", this.onMouseDown), D(this.$el, "mousemove", this.onMouseMove), D(window.document, "mouseup", this.onMouseUp)) } _bindDatepickerEvents() { this.dp.on(i.eventChangeViewDate, this.onChangeViewDate), this.dp.on(i.eventChangeCurrentView, this.onChangeCurrentView) } _buildBaseHtml() { this.$el = n({ className: `air-datepicker-body -${this.type}-`, innerHtml: M[this.type] }), this.$names = a(".air-datepicker-body--day-names", this.$el), this.$cells = a(".air-datepicker-body--cells", this.$el) } _getDayNamesHtml() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.dp.locale.firstDay, t = "", s = this.dp.isWeekend, { onClickDayName: a } = this.opts, n = e, r = 0; for (; r < 7;) { let e = n % 7; t += `
${this.dp.locale.daysMin[e]}
`, r++, n++ } return t } renderDayNames() { this.$names.innerHTML = this._getDayNamesHtml() } _generateCell(e) { let { type: t, dp: i, opts: s } = this; return new C({ type: t, dp: i, opts: s, date: e, body: this }) } _generateCells() { T.getDatesFunction(this.type)(this.dp, (e => { this.cells.push(this._generateCell(e)) })) } show() { this.isVisible = !0, this.$el.classList.remove("-hidden-") } hide() { this.isVisible = !1, this.$el.classList.add("-hidden-") } destroyCells() { this.cells.forEach((e => e.destroy())), this.cells = [], this.$cells.innerHTML = "" } destroy() { this.destroyCells(), this.dp.off(i.eventChangeViewDate, this.onChangeViewDate), this.dp.off(i.eventChangeCurrentView, this.onChangeCurrentView) } static getDaysDates(e, t) { let { viewDate: i, opts: { fixedHeight: s }, locale: { firstDay: a } } = e, n = o(i), { year: r, month: l } = h(i), d = new Date(r, l, 1), c = new Date(r, l, n), u = d.getDay() - a, p = 6 - c.getDay() + a; u = u < 0 ? u + 7 : u, p = p > 6 ? p - 7 : p; let m = function (e, t) { let { year: i, month: s, date: a } = h(e); return new Date(i, s, a - t) }(d, u), v = n + u + p, g = m.getDate(), { year: D, month: y } = h(m), f = 0; s && (v = 42); const w = []; for (; f < v;) { let e = new Date(D, y, g + f); t && t(e), w.push(e), f++ } return w } static getMonthsDates(e, t) { let { year: i } = e.parsedViewDate, s = 0, a = []; for (; s < 12;) { const e = new Date(i, s); a.push(e), t && t(e), s++ } return a } static getYearsDates(e, t) { let i = c(e.viewDate), s = i[0] - 1, a = i[1] + 1, n = s, r = []; for (; n <= a;) { const e = new Date(n, 0); r.push(e), t && t(e), n++ } return r } static getDatesFunction() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : i.days; return { [i.days]: T.getDaysDates, [i.months]: T.getMonthsDates, [i.years]: T.getYearsDates }[e] } } function F(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } class V { constructor(e) { let { dp: t, opts: i } = e; F(this, "onClickNav", (e => { let t = y(e.target, ".air-datepicker-nav--action"); if (!t) return; let i = t.dataset.action; this.dp[i]() })), F(this, "onChangeViewDate", (() => { this.render(), this._resetNavStatus(), this.handleNavStatus() })), F(this, "onChangeCurrentView", (() => { this.render(), this._resetNavStatus(), this.handleNavStatus() })), F(this, "onClickNavTitle", (() => { this.dp.isFinalView || this.dp.up() })), F(this, "update", (() => { let { prevHtml: e, nextHtml: t } = this.opts; this.$prev.innerHTML = e, this.$next.innerHTML = t, this._resetNavStatus(), this.render(), this.handleNavStatus() })), F(this, "renderDelay", (() => { setTimeout(this.render) })), F(this, "render", (() => { this.$title.innerHTML = this._getTitle(), function (e, t) { for (let i in t) t[i] ? e.classList.add(i) : e.classList.remove(i) }(this.$title, { "-disabled-": this.dp.isFinalView }) })), this.dp = t, this.opts = i, this.init() } init() { this._createElement(), this._buildBaseHtml(), this._defineDOM(), this.render(), this.handleNavStatus(), this._bindEvents(), this._bindDatepickerEvents() } _defineDOM() { this.$title = a(".air-datepicker-nav--title", this.$el), this.$prev = a('[data-action="prev"]', this.$el), this.$next = a('[data-action="next"]', this.$el) } _bindEvents() { this.$el.addEventListener("click", this.onClickNav), this.$title.addEventListener("click", this.onClickNavTitle) } _bindDatepickerEvents() { this.dp.on(i.eventChangeViewDate, this.onChangeViewDate), this.dp.on(i.eventChangeCurrentView, this.onChangeCurrentView), this.isNavIsFunction && (this.dp.on(i.eventChangeSelectedDate, this.renderDelay), this.dp.opts.timepicker && this.dp.on(i.eventChangeTime, this.render)) } destroy() { this.dp.off(i.eventChangeViewDate, this.onChangeViewDate), this.dp.off(i.eventChangeCurrentView, this.onChangeCurrentView), this.isNavIsFunction && (this.dp.off(i.eventChangeSelectedDate, this.renderDelay), this.dp.opts.timepicker && this.dp.off(i.eventChangeTime, this.render)) } _createElement() { this.$el = n({ tagName: "nav", className: "air-datepicker-nav" }) } _getTitle() { let { dp: e, opts: t } = this, i = t.navTitles[e.currentView]; return "function" == typeof i ? i(e) : e.formatDate(e.viewDate, i) } handleNavStatus() { let { disableNavWhenOutOfRange: e } = this.opts, { minDate: t, maxDate: s } = this.dp; if (!t && !s || !e) return; let { year: a, month: n } = this.dp.parsedViewDate, r = !!t && h(t), o = !!s && h(s); switch (this.dp.currentView) { case i.days: t && r.month >= n && r.year >= a && this._disableNav("prev"), s && o.month <= n && o.year <= a && this._disableNav("next"); break; case i.months: t && r.year >= a && this._disableNav("prev"), s && o.year <= a && this._disableNav("next"); break; case i.years: { let e = c(this.dp.viewDate); t && r.year >= e[0] && this._disableNav("prev"), s && o.year <= e[1] && this._disableNav("next"); break } } } _disableNav(e) { a('[data-action="' + e + '"]', this.$el).classList.add("-disabled-") } _resetNavStatus() { !function (e) { for (var t = arguments.length, i = new Array(t > 1 ? t - 1 : 0), s = 1; s < t; s++)i[s - 1] = arguments[s]; e.length ? e.forEach((e => { e.classList.remove(...i) })) : e.classList.remove(...i) }(this.$el.querySelectorAll(".air-datepicker-nav--action"), "-disabled-") } _buildBaseHtml() { let { prevHtml: e, nextHtml: t } = this.opts; this.$el.innerHTML = `
${e}
${t}
` } get isNavIsFunction() { let { navTitles: e } = this.opts; return Object.keys(e).find((t => "function" == typeof e[t])) } } var x = { today: { content: e => e.locale.today, onClick: e => e.setViewDate(new Date) }, clear: { content: e => e.locale.clear, onClick: e => e.clear() } }; class H { constructor(e) { let { dp: t, opts: i } = e; this.dp = t, this.opts = i, this.init() } init() { this.createElement(), this.render() } createElement() { this.$el = n({ className: "air-datepicker-buttons" }) } destroy() { this.$el.parentNode.removeChild(this.$el) } clearHtml() { return this.$el.innerHTML = "", this } generateButtons() { let { buttons: e } = this.opts; Array.isArray(e) || (e = [e]), e.forEach((e => { let t = e; "string" == typeof e && x[e] && (t = x[e]); let i = this.createButton(t); t.onClick && this.attachEventToButton(i, t.onClick), this.$el.appendChild(i) })) } attachEventToButton(e, t) { e.addEventListener("click", (() => { t(this.dp) })) } createButton(e) { let { content: t, className: i, tagName: s = "button", attrs: a = {} } = e; return n({ tagName: s, innerHtml: `${"function" == typeof t ? t(this.dp) : t}`, className: u("air-datepicker-button", i), attrs: a }) } render() { this.generateButtons() } } function E(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } class L { constructor() { let { opts: e, dp: t } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; E(this, "toggleTimepickerIsActive", (e => { this.dp.timepickerIsActive = e })), E(this, "onChangeSelectedDate", (e => { let { date: t, updateTime: i = !1 } = e; t && (this.setMinMaxTime(t), this.setCurrentTime(!!i && t), this.addTimeToDate(t)) })), E(this, "onChangeLastSelectedDate", (e => { e && (this.setTime(e), this.render()) })), E(this, "onChangeInputRange", (e => { let t = e.target; this[t.getAttribute("name")] = t.value, this.updateText(), this.dp.trigger(i.eventChangeTime, { hours: this.hours, minutes: this.minutes }) })), E(this, "onMouseEnterLeave", (e => { let t = e.target.getAttribute("name"), i = this.$minutesText; "hours" === t && (i = this.$hoursText), i.classList.toggle("-focus-") })), E(this, "onFocus", (() => { this.toggleTimepickerIsActive(!0) })), E(this, "onBlur", (() => { this.toggleTimepickerIsActive(!1) })), this.opts = e, this.dp = t; let { timeFormat: s } = this.dp.locale; s && (s.match(k("h")) || s.match(k("hh"))) && (this.ampm = !0), this.init() } init() { this.setTime(this.dp.lastSelectedDate || this.dp.viewDate), this.createElement(), this.buildHtml(), this.defineDOM(), this.render(), this.bindDatepickerEvents(), this.bindDOMEvents() } bindDatepickerEvents() { this.dp.on(i.eventChangeSelectedDate, this.onChangeSelectedDate), this.dp.on(i.eventChangeLastSelectedDate, this.onChangeLastSelectedDate) } bindDOMEvents() { let e = "input"; navigator.userAgent.match(/trident/gi) && (e = "change"), D(this.$ranges, e, this.onChangeInputRange), D(this.$ranges, "mouseenter", this.onMouseEnterLeave), D(this.$ranges, "mouseleave", this.onMouseEnterLeave), D(this.$ranges, "focus", this.onFocus), D(this.$ranges, "mousedown", this.onFocus), D(this.$ranges, "blur", this.onBlur) } createElement() { this.$el = n({ className: u("air-datepicker-time", { "-am-pm-": this.dp.ampm }) }) } destroy() { this.dp.off(i.eventChangeSelectedDate, this.onChangeSelectedDate), this.dp.off(i.eventChangeLastSelectedDate, this.onChangeLastSelectedDate), this.$el.parentNode.removeChild(this.$el) } buildHtml() { let { ampm: e, hours: t, displayHours: i, minutes: s, minHours: a, minMinutes: n, maxHours: r, maxMinutes: o, dayPeriod: h, opts: { hoursStep: l, minutesStep: c } } = this; this.$el.innerHTML = `
${d(i)} : ${d(s)} ` + (e ? `${h}` : "") + '
' + `
` + `
` } defineDOM() { let e = e => a(e, this.$el); this.$ranges = this.$el.querySelectorAll('[type="range"]'), this.$hours = e('[name="hours"]'), this.$minutes = e('[name="minutes"]'), this.$hoursText = e(".air-datepicker-time--current-hours"), this.$minutesText = e(".air-datepicker-time--current-minutes"), this.$ampm = e(".air-datepicker-time--current-ampm") } setTime(e) { this.setMinMaxTime(e), this.setCurrentTime(e) } addTimeToDate(e) { e && (e.setHours(this.hours), e.setMinutes(this.minutes)) } setMinMaxTime(e) { if (this.setMinMaxTimeFromOptions(), e) { let { minDate: t, maxDate: i } = this.dp; t && p(e, t) && this.setMinTimeFromMinDate(t), i && p(e, i) && this.setMaxTimeFromMaxDate(i) } } setCurrentTime(e) { let { hours: t, minutes: i } = e ? h(e) : this; this.hours = f(t, this.minHours, this.maxHours), this.minutes = f(i, this.minMinutes, this.maxMinutes) } setMinMaxTimeFromOptions() { let { minHours: e, minMinutes: t, maxHours: i, maxMinutes: s } = this.opts; this.minHours = f(e, 0, 23), this.minMinutes = f(t, 0, 59), this.maxHours = f(i, 0, 23), this.maxMinutes = f(s, 0, 59) } setMinTimeFromMinDate(e) { let { lastSelectedDate: t } = this.dp; this.minHours = e.getHours(), t && t.getHours() > e.getHours() ? this.minMinutes = this.opts.minMinutes : this.minMinutes = e.getMinutes() } setMaxTimeFromMaxDate(e) { let { lastSelectedDate: t } = this.dp; this.maxHours = e.getHours(), t && t.getHours() < e.getHours() ? this.maxMinutes = this.opts.maxMinutes : this.maxMinutes = e.getMinutes() } updateSliders() { r(this.$hours, { min: this.minHours, max: this.maxHours }).value = this.hours, r(this.$minutes, { min: this.minMinutes, max: this.maxMinutes }).value = this.minutes } updateText() { this.$hoursText.innerHTML = d(this.displayHours), this.$minutesText.innerHTML = d(this.minutes), this.ampm && (this.$ampm.innerHTML = this.dayPeriod) } set hours(e) { this._hours = e; let { hours: t, dayPeriod: i } = l(e); this.displayHours = this.ampm ? t : e, this.dayPeriod = i } get hours() { return this._hours } render() { this.updateSliders(), this.updateText() } } function O(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } class A { constructor(e) { let { dp: t, opts: i } = e; O(this, "pressedKeys", new Set), O(this, "hotKeys", new Map([[[["Control", "ArrowRight"], ["Control", "ArrowUp"]], e => e.month++], [[["Control", "ArrowLeft"], ["Control", "ArrowDown"]], e => e.month--], [[["Shift", "ArrowRight"], ["Shift", "ArrowUp"]], e => e.year++], [[["Shift", "ArrowLeft"], ["Shift", "ArrowDown"]], e => e.year--], [[["Alt", "ArrowRight"], ["Alt", "ArrowUp"]], e => e.year += 10], [[["Alt", "ArrowLeft"], ["Alt", "ArrowDown"]], e => e.year -= 10], [["Control", "Shift", "ArrowUp"], (e, t) => t.up()]])), O(this, "handleHotKey", (e => { let t = this.hotKeys.get(e), i = h(this.getInitialFocusDate()); t(i, this.dp); let { year: s, month: a, date: n } = i, r = o(new Date(s, a)); r < n && (n = r); let l = this.dp.getClampedDate(new Date(s, a, n)); this.dp.setFocusDate(l, { viewDateTransition: !0 }) })), O(this, "isHotKeyPressed", (() => { let e = !1, t = this.pressedKeys.size, i = e => this.pressedKeys.has(e); for (let [s] of this.hotKeys) { if (e) break; if (Array.isArray(s[0])) s.forEach((a => { e || t !== a.length || (e = a.every(i) && s) })); else { if (t !== s.length) continue; e = s.every(i) && s } } return e })), O(this, "isArrow", (e => e >= 37 && e <= 40)), O(this, "onKeyDown", (e => { let { key: t, which: i } = e, { dp: s, dp: { focusDate: a }, opts: n } = this; this.registerKey(t); let r = this.isHotKeyPressed(); if (r) return e.preventDefault(), void this.handleHotKey(r); if (this.isArrow(i)) return e.preventDefault(), void this.focusNextCell(t); if ("Enter" === t) { if (s.currentView !== n.minView) return void s.down(); if (a) { let e = s._checkIfDateIsSelected(a); return void (e ? s._handleAlreadySelectedDates(e, a) : s.selectDate(a)) } } "Escape" === t && this.dp.hide() })), O(this, "onKeyUp", (e => { this.removeKey(e.key) })), this.dp = t, this.opts = i, this.init() } init() { this.bindKeyboardEvents() } bindKeyboardEvents() { let { $el: e } = this.dp; e.addEventListener("keydown", this.onKeyDown), e.addEventListener("keyup", this.onKeyUp) } destroy() { let { $el: e } = this.dp; e.removeEventListener("keydown", this.onKeyDown), e.removeEventListener("keyup", this.onKeyUp), this.hotKeys = null, this.pressedKeys = null } getInitialFocusDate() { let { focusDate: e, currentView: t, selectedDates: s, parsedViewDate: { year: a, month: n } } = this.dp, r = e || s[s.length - 1]; if (!r) switch (t) { case i.days: r = new Date(a, n, (new Date).getDate()); break; case i.months: r = new Date(a, n, 1); break; case i.years: r = new Date(a, 0, 1) }return r } focusNextCell(e) { let t = this.getInitialFocusDate(), { currentView: s } = this.dp, { days: a, months: n, years: r } = i, o = h(t), l = o.year, d = o.month, c = o.date; switch (e) { case "ArrowLeft": s === a && (c -= 1), s === n && (d -= 1), s === r && (l -= 1); break; case "ArrowUp": s === a && (c -= 7), s === n && (d -= 3), s === r && (l -= 4); break; case "ArrowRight": s === a && (c += 1), s === n && (d += 1), s === r && (l += 1); break; case "ArrowDown": s === a && (c += 7), s === n && (d += 3), s === r && (l += 4) }let u = this.dp.getClampedDate(new Date(l, d, c)); this.dp.setFocusDate(u, { viewDateTransition: !0 }) } registerKey(e) { this.pressedKeys.add(e) } removeKey(e) { this.pressedKeys.delete(e) } } let N = { on(e, t) { this.__events || (this.__events = {}), this.__events[e] ? this.__events[e].push(t) : this.__events[e] = [t] }, off(e, t) { this.__events && this.__events[e] && (this.__events[e] = this.__events[e].filter((e => e !== t))) }, removeAllEvents() { this.__events = {} }, trigger(e) { for (var t = arguments.length, i = new Array(t > 1 ? t - 1 : 0), s = 1; s < t; s++)i[s - 1] = arguments[s]; this.__events && this.__events[e] && this.__events[e].forEach((e => { e(...i) })) } }; function I(e, t, i) { return (t = function (e) { var t = function (e, t) { if ("object" != typeof e || null === e) return e; var i = e[Symbol.toPrimitive]; if (void 0 !== i) { var s = i.call(e, "string"); if ("object" != typeof s) return s; throw new TypeError("@@toPrimitive must return a primitive value.") } return String(e) }(e); return "symbol" == typeof t ? t : String(t) }(t)) in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = i, e } let P = "", j = "", B = !1; class R { static buildGlobalContainer(e) { B = !0, P = n({ className: e, id: e }), a("body").appendChild(P) } constructor(e, t) { var r = this; if (I(this, "viewIndexes", [i.days, i.months, i.years]), I(this, "next", (() => { let { year: e, month: t } = this.parsedViewDate; switch (this.currentView) { case i.days: this.setViewDate(new Date(e, t + 1, 1)); break; case i.months: this.setViewDate(new Date(e + 1, t, 1)); break; case i.years: this.setViewDate(new Date(e + 10, 0, 1)) } })), I(this, "prev", (() => { let { year: e, month: t } = this.parsedViewDate; switch (this.currentView) { case i.days: this.setViewDate(new Date(e, t - 1, 1)); break; case i.months: this.setViewDate(new Date(e - 1, t, 1)); break; case i.years: this.setViewDate(new Date(e - 10, 0, 1)) } })), I(this, "_finishHide", (() => { this.hideAnimation = !1, this._destroyComponents(), this.$container.removeChild(this.$datepicker) })), I(this, "setPosition", (function (e) { let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; if ("function" == typeof (e = e || r.opts.position)) return void (r.customHide = e({ $datepicker: r.$datepicker, $target: r.$el, $pointer: r.$pointer, isViewChange: t, done: r._finishHide })); let i, s, { isMobile: a } = r.opts, n = r.$el.getBoundingClientRect(), o = r.$el.getBoundingClientRect(), h = r.$datepicker.offsetParent, l = r.$el.offsetParent, d = r.$datepicker.getBoundingClientRect(), c = e.split(" "), u = window.scrollY, p = window.scrollX, m = r.opts.offset, v = c[0], g = c[1]; if (a) r.$datepicker.style.cssText = "left: 50%; top: 50%"; else { if (h === l && h !== document.body && (o = { top: r.$el.offsetTop, left: r.$el.offsetLeft, width: n.width, height: r.$el.offsetHeight }, u = 0, p = 0), h !== l && h !== document.body) { let e = h.getBoundingClientRect(); o = { top: n.top - e.top, left: n.left - e.left, width: n.width, height: n.height }, u = 0, p = 0 } switch (v) { case "top": i = o.top - d.height - m; break; case "right": s = o.left + o.width + m; break; case "bottom": i = o.top + o.height + m; break; case "left": s = o.left - d.width - m }switch (g) { case "top": i = o.top; break; case "right": s = o.left + o.width - d.width; break; case "bottom": i = o.top + o.height - d.height; break; case "left": s = o.left; break; case "center": /left|right/.test(v) ? i = o.top + o.height / 2 - d.height / 2 : s = o.left + o.width / 2 - d.width / 2 }r.$datepicker.style.cssText = `left: ${s + p}px; top: ${i + u}px` } })), I(this, "_setInputValue", (() => { let { opts: e, $altField: t, locale: { dateFormat: i } } = this, { altFieldDateFormat: s, altField: a } = e; a && t && (t.value = this._getInputValue(s)), this.$el.value = this._getInputValue(i) })), I(this, "_getInputValue", (e => { let { selectedDates: t, opts: i } = this, { multipleDates: s, multipleDatesSeparator: a } = i; if (!t.length) return ""; let n = "function" == typeof e, r = n ? e(s ? t : t[0]) : t.map((t => this.formatDate(t, e))); return r = n ? r : r.join(a), r })), I(this, "_checkIfDateIsSelected", (function (e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : i.days, s = !1; return r.selectedDates.some((i => { let a = p(e, i, t); return s = a && i, a })), s })), I(this, "_scheduleCallAfterTransition", (e => { this._cancelScheduledCall(), e && e(!1), this._onTransitionEnd = () => { e && e(!0) }, this.$datepicker.addEventListener("transitionend", this._onTransitionEnd, { once: !0 }) })), I(this, "_cancelScheduledCall", (() => { this.$datepicker.removeEventListener("transitionend", this._onTransitionEnd) })), I(this, "setViewDate", (e => { if (!((e = b(e)) instanceof Date)) return; if (p(e, this.viewDate)) return; let t = this.viewDate; this.viewDate = e; let { onChangeViewDate: s } = this.opts; if (s) { let { month: e, year: t } = this.parsedViewDate; s({ month: e, year: t, decade: this.curDecade }) } this.trigger(i.eventChangeViewDate, e, t) })), I(this, "setFocusDate", (function (e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; (!e || (e = b(e)) instanceof Date) && (r.focusDate = e, r.trigger(i.eventChangeFocusDate, e, t)) })), I(this, "setCurrentView", (function (e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; if (r.viewIndexes.includes(e)) { if (r.currentView = e, r.elIsInput && r.visible && r.setPosition(void 0, !0), r.trigger(i.eventChangeCurrentView, e), !r.views[e]) { let t = r.views[e] = new T({ dp: r, opts: r.opts, type: e }); r.shouldUpdateDOM && r.$content.appendChild(t.$el) } r.opts.onChangeView && !t.silent && r.opts.onChangeView(e) } })), I(this, "_updateLastSelectedDate", (e => { this.lastSelectedDate = e, this.trigger(i.eventChangeLastSelectedDate, e) })), I(this, "destroy", (() => { let { showEvent: e, isMobile: t } = this.opts, i = this.$datepicker.parentNode; i && i.removeChild(this.$datepicker), this.$el.removeEventListener(e, this._onFocus), this.$el.removeEventListener("blur", this._onBlur), window.removeEventListener("resize", this._onResize), t && this._removeMobileAttributes(), this.keyboardNav && this.keyboardNav.destroy(), this.views = null, this.nav = null, this.$datepicker = null, this.opts = null, this.$customContainer = null, this.viewDate = null, this.focusDate = null, this.selectedDates = null, this.rangeDateFrom = null, this.rangeDateTo = null })), I(this, "update", (function () { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, s = w({}, r.opts), { silent: a } = t; w(r.opts, e); let { timepicker: n, buttons: o, range: h, selectedDates: l, isMobile: d } = r.opts, c = r.visible || r.treatAsInline; r._createMinMaxDates(), r._limitViewDateByMaxMinDates(), r._handleLocale(), l && (r.selectedDates = [], r.selectDate(l, { silent: a })), e.view && r.setCurrentView(e.view, { silent: a }), r._setInputValue(), s.range && !h ? (r.rangeDateTo = !1, r.rangeDateFrom = !1) : !s.range && h && r.selectedDates.length && (r.rangeDateFrom = r.selectedDates[0], r.rangeDateTo = r.selectedDates[1]), s.timepicker && !n ? (c && r.timepicker.destroy(), r.timepicker = !1, r.$timepicker.parentNode.removeChild(r.$timepicker)) : !s.timepicker && n && r._addTimepicker(), !s.buttons && o ? r._addButtons() : s.buttons && !o ? (r.buttons.destroy(), r.$buttons.parentNode.removeChild(r.$buttons)) : c && s.buttons && o && r.buttons.clearHtml().render(), !s.isMobile && d ? (r.treatAsInline || j || r._createMobileOverlay(), r._addMobileAttributes(), r.visible && r._showMobileOverlay()) : s.isMobile && !d && (r._removeMobileAttributes(), r.visible && (j.classList.remove("-active-"), "function" != typeof r.opts.position && r.setPosition())), c && (r.nav.update(), r.views[r.currentView].render(), r.currentView === i.days && r.views[r.currentView].renderDayNames()) })), I(this, "disableDate", ((e, t) => { (Array.isArray(e) ? e : [e]).forEach((e => { let i = b(e); if (!i) return; let s = t ? "delete" : "add"; this.disabledDates[s](this.formatDate(i, "yyyy-MM-dd")); let a = this.getCell(i, this.currentViewSingular); a && a.adpCell.render() }), []) })), I(this, "enableDate", (e => { this.disableDate(e, !0) })), I(this, "isDateDisabled", (e => { let t = b(e); return this.disabledDates.has(this.formatDate(t, "yyyy-MM-dd")) })), I(this, "isOtherMonth", (e => { let { month: t } = h(e); return t !== this.parsedViewDate.month })), I(this, "isOtherYear", (e => { let { year: t } = h(e); return t !== this.parsedViewDate.year })), I(this, "isOtherDecade", (e => { let { year: t } = h(e), [i, s] = c(this.viewDate); return t < i || t > s })), I(this, "_onChangeSelectedDate", (e => { let { silent: t } = e; setTimeout((() => { this._setInputValue(), this.opts.onSelect && !t && this._triggerOnSelect() })) })), I(this, "_onChangeFocusedDate", (function (e) { let { viewDateTransition: t } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; if (!e) return; let i = !1; t && (i = r.isOtherMonth(e) || r.isOtherYear(e) || r.isOtherDecade(e)), i && r.setViewDate(e), r.opts.onFocus && r.opts.onFocus({ datepicker: r, date: e }) })), I(this, "_onChangeTime", (e => { let { hours: t, minutes: i } = e, s = new Date, { lastSelectedDate: a, opts: { onSelect: n } } = this, r = a; a || (r = s); let o = this.getCell(r, this.currentViewSingular), h = o && o.adpCell; h && h.isDisabled || (r.setHours(t), r.setMinutes(i), a ? (this._setInputValue(), n && this._triggerOnSelect()) : this.selectDate(r)) })), I(this, "_onFocus", (e => { this.visible || this.show() })), I(this, "_onBlur", (e => { this.inFocus || !this.visible || this.opts.isMobile || this.hide() })), I(this, "_onMouseDown", (e => { this.inFocus = !0 })), I(this, "_onMouseUp", (e => { this.inFocus = !1, this.$el.focus() })), I(this, "_onResize", (() => { this.visible && "function" != typeof this.opts.position && this.setPosition() })), I(this, "_onClickOverlay", (() => { this.visible && this.hide() })), I(this, "getViewDates", (function () { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : i.days; return T.getDatesFunction(e)(r) })), I(this, "isWeekend", (e => this.opts.weekends.includes(e))), I(this, "getClampedDate", (e => { let { minDate: t, maxDate: i } = this, s = e; return i && m(e, i) ? s = i : t && v(e, t) && (s = t), s })), this.$el = a(e), !this.$el) return; this.$datepicker = n({ className: "air-datepicker" }), this.opts = w({}, s, t), this.$customContainer = !!this.opts.container && a(this.opts.container), this.$altField = a(this.opts.altField || !1); let { view: o, startDate: l } = this.opts; l || (this.opts.startDate = new Date), "INPUT" === this.$el.nodeName && (this.elIsInput = !0), this.inited = !1, this.visible = !1, this.viewDate = b(this.opts.startDate), this.focusDate = !1, this.initialReadonly = this.$el.getAttribute("readonly"), this.customHide = !1, this.currentView = o, this.selectedDates = [], this.disabledDates = new Set, this.views = {}, this.keys = [], this.rangeDateFrom = "", this.rangeDateTo = "", this.timepickerIsActive = !1, this.treatAsInline = this.opts.inline || !this.elIsInput, this.init() } init() { let { opts: e, treatAsInline: t, opts: { inline: i, isMobile: s, selectedDates: n, keyboardNav: r, onlyTimepicker: o } } = this, h = a("body"); (!B || B && P && !h.contains(P)) && !i && this.elIsInput && !this.$customContainer && R.buildGlobalContainer(R.defaultGlobalContainerId), !s || j || t || this._createMobileOverlay(), this._handleLocale(), this._bindSubEvents(), this._createMinMaxDates(), this._limitViewDateByMaxMinDates(), this.elIsInput && (i || this._bindEvents(), r && !o && (this.keyboardNav = new A({ dp: this, opts: e }))), n && this.selectDate(n, { silent: !0 }), this.opts.visible && !t && this.show(), s && !t && this.$el.setAttribute("readonly", !0), t && this._createComponents() } _createMobileOverlay() { j = n({ className: "air-datepicker-overlay" }), P.appendChild(j) } _createComponents() { let { opts: e, treatAsInline: t, opts: { inline: i, buttons: s, timepicker: a, position: n, classes: r, onlyTimepicker: o, isMobile: h } } = this; this._buildBaseHtml(), this.elIsInput && (i || this._setPositionClasses(n)), !i && this.elIsInput || this.$datepicker.classList.add("-inline-"), r && this.$datepicker.classList.add(...r.split(" ")), o && this.$datepicker.classList.add("-only-timepicker-"), h && !t && this._addMobileAttributes(), this.views[this.currentView] = new T({ dp: this, type: this.currentView, opts: e }), this.nav = new V({ dp: this, opts: e }), a && this._addTimepicker(), s && this._addButtons(), this.$content.appendChild(this.views[this.currentView].$el), this.$nav.appendChild(this.nav.$el) } _destroyComponents() { for (let e in this.views) this.views[e].destroy(); this.views = {}, this.nav.destroy(), this.timepicker && this.timepicker.destroy() } _addMobileAttributes() { j.addEventListener("click", this._onClickOverlay), this.$datepicker.classList.add("-is-mobile-"), this.$el.setAttribute("readonly", !0) } _removeMobileAttributes() { j.removeEventListener("click", this._onClickOverlay), this.$datepicker.classList.remove("-is-mobile-"), this.initialReadonly || "" === this.initialReadonly || this.$el.removeAttribute("readonly") } _createMinMaxDates() { let { minDate: e, maxDate: t } = this.opts; this.minDate = !!e && b(e), this.maxDate = !!t && b(t) } _addTimepicker() { this.$timepicker = n({ className: "air-datepicker--time" }), this.$datepicker.appendChild(this.$timepicker), this.timepicker = new L({ dp: this, opts: this.opts }), this.$timepicker.appendChild(this.timepicker.$el) } _addButtons() { this.$buttons = n({ className: "air-datepicker--buttons" }), this.$datepicker.appendChild(this.$buttons), this.buttons = new H({ dp: this, opts: this.opts }), this.$buttons.appendChild(this.buttons.$el) } _bindSubEvents() { this.on(i.eventChangeSelectedDate, this._onChangeSelectedDate), this.on(i.eventChangeFocusDate, this._onChangeFocusedDate), this.on(i.eventChangeTime, this._onChangeTime) } _buildBaseHtml() { let { inline: e } = this.opts; var t, i; this.elIsInput ? e ? (t = this.$datepicker, (i = this.$el).parentNode.insertBefore(t, i.nextSibling)) : this.$container.appendChild(this.$datepicker) : this.$el.appendChild(this.$datepicker), this.$datepicker.innerHTML = '
', this.$content = a(".air-datepicker--content", this.$datepicker), this.$pointer = a(".air-datepicker--pointer", this.$datepicker), this.$nav = a(".air-datepicker--navigation", this.$datepicker) } _handleLocale() { let { locale: e, dateFormat: t, firstDay: i, timepicker: s, onlyTimepicker: a, timeFormat: n, dateTimeSeparator: r } = this.opts; var o; this.locale = (o = e, JSON.parse(JSON.stringify(o))), t && (this.locale.dateFormat = t), void 0 !== n && "" !== n && (this.locale.timeFormat = n); let { timeFormat: h } = this.locale; if ("" !== i && (this.locale.firstDay = i), s && "function" != typeof t) { let e = h ? r : ""; this.locale.dateFormat = [this.locale.dateFormat, h || ""].join(e) } a && "function" != typeof t && (this.locale.dateFormat = this.locale.timeFormat) } _setPositionClasses(e) { if ("function" == typeof e) return void this.$datepicker.classList.add("-custom-position-"); let t = (e = e.split(" "))[0], i = `air-datepicker -${t}-${e[1]}- -from-${t}-`; this.$datepicker.classList.add(...i.split(" ")) } _bindEvents() { this.$el.addEventListener(this.opts.showEvent, this._onFocus), this.$el.addEventListener("blur", this._onBlur), this.$datepicker.addEventListener("mousedown", this._onMouseDown), this.$datepicker.addEventListener("mouseup", this._onMouseUp), window.addEventListener("resize", this._onResize) } _limitViewDateByMaxMinDates() { let { viewDate: e, minDate: t, maxDate: i } = this; i && m(e, i) && this.setViewDate(i), t && v(e, t) && this.setViewDate(t) } formatDate() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.viewDate, t = arguments.length > 1 ? arguments[1] : void 0; if (e = b(e), !(e instanceof Date)) return; let i = t, s = this.locale, a = h(e), n = a.dayPeriod, r = c(e), o = R.replacer, l = { T: e.getTime(), m: a.minutes, mm: a.fullMinutes, h: a.hours12, hh: a.fullHours12, H: a.hours, HH: a.fullHours, aa: n, AA: n.toUpperCase(), E: s.daysShort[a.day], EEEE: s.days[a.day], d: a.date, dd: a.fullDate, M: a.month + 1, MM: a.fullMonth, MMM: s.monthsShort[a.month], MMMM: s.months[a.month], yy: a.year.toString().slice(-2), yyyy: a.year, yyyy1: r[0], yyyy2: r[1] }; for (let [e, t] of Object.entries(l)) i = o(i, k(e), t); return i } down(e) { this._handleUpDownActions(e, "down") } up(e) { this._handleUpDownActions(e, "up") } selectDate(e) { let t, s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, { currentView: a, parsedViewDate: n, selectedDates: r } = this, { updateTime: o } = s, { moveToOtherMonthsOnSelect: h, moveToOtherYearsOnSelect: l, multipleDates: d, range: c, autoClose: u, onBeforeSelect: p } = this.opts, v = r.length; if (Array.isArray(e)) return e.forEach((e => { this.selectDate(e, s) })), new Promise((e => { setTimeout(e) })); if ((e = b(e)) instanceof Date) { if (p && !p({ date: e, datepicker: this })) return Promise.resolve(); if (a === i.days && e.getMonth() !== n.month && h && (t = new Date(e.getFullYear(), e.getMonth(), 1)), a === i.years && e.getFullYear() !== n.year && l && (t = new Date(e.getFullYear(), 0, 1)), t && this.setViewDate(t), d && !c) { if (v === d) return; this._checkIfDateIsSelected(e) || r.push(e) } else if (c) switch (v) { case 1: r.push(e), this.rangeDateTo || (this.rangeDateTo = e), m(this.rangeDateFrom, this.rangeDateTo) && (this.rangeDateTo = this.rangeDateFrom, this.rangeDateFrom = e), this.selectedDates = [this.rangeDateFrom, this.rangeDateTo]; break; case 2: this.selectedDates = [e], this.rangeDateFrom = e, this.rangeDateTo = ""; break; default: this.selectedDates = [e], this.rangeDateFrom = e } else this.selectedDates = [e]; return this.trigger(i.eventChangeSelectedDate, { action: i.actionSelectDate, silent: null == s ? void 0 : s.silent, date: e, updateTime: o }), this._updateLastSelectedDate(e), u && !this.timepickerIsActive && this.visible && (d || c ? c && 1 === v && this.hide() : this.hide()), new Promise((e => { setTimeout(e) })) } } unselectDate(e) { let t = this.selectedDates, s = this; if ((e = b(e)) instanceof Date) return t.some(((a, n) => { if (p(a, e)) return t.splice(n, 1), s.selectedDates.length ? s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length - 1]) : (s.rangeDateFrom = "", s.rangeDateTo = "", s._updateLastSelectedDate(!1)), this.trigger(i.eventChangeSelectedDate, { action: i.actionUnselectDate, date: e }), !0 })) } replaceDate(e, t) { let s = this.selectedDates.find((t => p(t, e, this.currentView))), a = this.selectedDates.indexOf(s); a < 0 || p(this.selectedDates[a], t, this.currentView) || (this.selectedDates[a] = t, this.trigger(i.eventChangeSelectedDate, { action: i.actionSelectDate, date: t, updateTime: !0 }), this._updateLastSelectedDate(t)) } clear() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; return this.selectedDates = [], this.rangeDateFrom = !1, this.rangeDateTo = !1, this.lastSelectedDate = !1, this.trigger(i.eventChangeSelectedDate, { action: i.actionUnselectDate, silent: e.silent }), new Promise((e => { setTimeout(e) })) } show() { let { onShow: e, isMobile: t } = this.opts; this._cancelScheduledCall(), this.visible || this.hideAnimation || this._createComponents(), this.setPosition(this.opts.position), this.$datepicker.classList.add("-active-"), this.visible = !0, e && this._scheduleCallAfterTransition(e), t && this._showMobileOverlay() } hide() { let { onHide: e, isMobile: t } = this.opts, i = this._hasTransition(); this.visible = !1, this.hideAnimation = !0, this.$datepicker.classList.remove("-active-"), this.customHide && this.customHide(), this.elIsInput && this.$el.blur(), this._scheduleCallAfterTransition((t => { !this.customHide && (t && i || !t && !i) && this._finishHide(), e && e(t) })), t && j.classList.remove("-active-") } _triggerOnSelect() { let e = [], t = [], { selectedDates: i, locale: s, opts: { onSelect: a, multipleDates: n, range: r } } = this, o = n || r, h = "function" == typeof s.dateFormat; i.length && (e = i.map(g), t = h ? n ? s.dateFormat(e) : e.map((e => s.dateFormat(e))) : e.map((e => this.formatDate(e, s.dateFormat)))), a({ date: o ? e : e[0], formattedDate: o ? t : t[0], datepicker: this }) } _handleAlreadySelectedDates(e, t) { let { selectedDates: i, rangeDateFrom: s, rangeDateTo: a } = this, { range: n, toggleSelected: r } = this.opts, o = i.length, h = "function" == typeof r ? r({ datepicker: this, date: t }) : r, l = Boolean(n && 1 === o && e), d = l ? g(t) : t; n && !h && (2 !== o && this.selectDate(d), 2 === o && p(s, a)) || (h ? this.unselectDate(d) : this._updateLastSelectedDate(l ? d : e)) } _handleUpDownActions(e, t) { if (!((e = b(e || this.focusDate || this.viewDate)) instanceof Date)) return; let i = "up" === t ? this.viewIndex + 1 : this.viewIndex - 1; i > 2 && (i = 2), i < 0 && (i = 0), this.setViewDate(new Date(e.getFullYear(), e.getMonth(), 1)), this.setCurrentView(this.viewIndexes[i]) } getCell(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : i.day; if (!((e = b(e)) instanceof Date)) return; let { year: s, month: a, date: n } = h(e), r = `[data-year="${s}"]`, o = `[data-month="${a}"]`, l = { [i.day]: `${r}${o}[data-date="${n}"]`, [i.month]: `${r}${o}`, [i.year]: `${r}` }; return this.views[this.currentView] ? this.views[this.currentView].$el.querySelector(l[t]) : void 0 } _showMobileOverlay() { j.classList.add("-active-") } _hasTransition() { return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce(((e, t) => parseFloat(t) + e), 0) > 0 } get shouldUpdateDOM() { return this.visible || this.treatAsInline } get parsedViewDate() { return h(this.viewDate) } get currentViewSingular() { return this.currentView.slice(0, -1) } get curDecade() { return c(this.viewDate) } get viewIndex() { return this.viewIndexes.indexOf(this.currentView) } get isFinalView() { return this.currentView === i.years } get hasSelectedDates() { return this.selectedDates.length > 0 } get isMinViewReached() { return this.currentView === this.opts.minView || this.currentView === i.days } get $container() { return this.$customContainer || P } static replacer(e, t, i) { return e.replace(t, (function (e, t, s, a) { return t + i + a })) } } var K; return I(R, "defaults", s), I(R, "version", "3.5.0"), I(R, "defaultGlobalContainerId", "air-datepicker-global-container"), K = R.prototype, Object.assign(K, N), t.default }() })); +var _default = { + days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], + months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + today: 'Today', + clear: 'Clear', + dateFormat: 'MM/dd/yyyy', + timeFormat: 'hh:mm aa', + firstDay: 0 +}; +window.langEng = _default +window.AScript.set("js-datepicker", true); \ No newline at end of file diff --git a/MikaltoResort/wwwroot/js/ext_libs/js-masonry.min.js b/MikaltoResort/wwwroot/js/ext_libs/js-masonry.min.js new file mode 100644 index 0000000..3d7deca --- /dev/null +++ b/MikaltoResort/wwwroot/js/ext_libs/js-masonry.min.js @@ -0,0 +1,2 @@ +!function (t, e) { "function" == typeof define && define.amd ? define("jquery-bridget/jquery-bridget", ["jquery"], function (i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("jquery")) : t.jQueryBridget = e(t, t.jQuery) }(window, function (t, e) { "use strict"; function i(i, r, a) { function h(t, e, n) { var o, r = "$()." + i + '("' + e + '")'; return t.each(function (t, h) { var u = a.data(h, i); if (!u) return void s(i + " not initialized. Cannot call methods, i.e. " + r); var d = u[e]; if (!d || "_" == e.charAt(0)) return void s(r + " is not a valid method"); var l = d.apply(u, n); o = void 0 === o ? l : o }), void 0 !== o ? o : t } function u(t, e) { t.each(function (t, n) { var o = a.data(n, i); o ? (o.option(e), o._init()) : (o = new r(n, e), a.data(n, i, o)) }) } a = a || e || t.jQuery, a && (r.prototype.option || (r.prototype.option = function (t) { a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t)) }), a.fn[i] = function (t) { if ("string" == typeof t) { var e = o.call(arguments, 1); return h(this, t, e) } return u(this, t), this }, n(a)) } function n(t) { !t || t && t.bridget || (t.bridget = i) } var o = Array.prototype.slice, r = t.console, s = "undefined" == typeof r ? function () { } : function (t) { r.error(t) }; return n(e || t.jQuery), i }), function (t, e) { "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e() }("undefined" != typeof window ? window : this, function () { function t() { } var e = t.prototype; return e.on = function (t, e) { if (t && e) { var i = this._events = this._events || {}, n = i[t] = i[t] || []; return -1 == n.indexOf(e) && n.push(e), this } }, e.once = function (t, e) { if (t && e) { this.on(t, e); var i = this._onceEvents = this._onceEvents || {}, n = i[t] = i[t] || {}; return n[e] = !0, this } }, e.off = function (t, e) { var i = this._events && this._events[t]; if (i && i.length) { var n = i.indexOf(e); return -1 != n && i.splice(n, 1), this } }, e.emitEvent = function (t, e) { var i = this._events && this._events[t]; if (i && i.length) { i = i.slice(0), e = e || []; for (var n = this._onceEvents && this._onceEvents[t], o = 0; o < i.length; o++) { var r = i[o], s = n && n[r]; s && (this.off(t, r), delete n[r]), r.apply(this, e) } return this } }, e.allOff = function () { delete this._events, delete this._onceEvents }, t }), function (t, e) { "function" == typeof define && define.amd ? define("get-size/get-size", e) : "object" == typeof module && module.exports ? module.exports = e() : t.getSize = e() }(window, function () { "use strict"; function t(t) { var e = parseFloat(t), i = -1 == t.indexOf("%") && !isNaN(e); return i && e } function e() { } function i() { for (var t = { width: 0, height: 0, innerWidth: 0, innerHeight: 0, outerWidth: 0, outerHeight: 0 }, e = 0; u > e; e++) { var i = h[e]; t[i] = 0 } return t } function n(t) { var e = getComputedStyle(t); return e || a("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), e } function o() { if (!d) { d = !0; var e = document.createElement("div"); e.style.width = "200px", e.style.padding = "1px 2px 3px 4px", e.style.borderStyle = "solid", e.style.borderWidth = "1px 2px 3px 4px", e.style.boxSizing = "border-box"; var i = document.body || document.documentElement; i.appendChild(e); var o = n(e); s = 200 == Math.round(t(o.width)), r.isBoxSizeOuter = s, i.removeChild(e) } } function r(e) { if (o(), "string" == typeof e && (e = document.querySelector(e)), e && "object" == typeof e && e.nodeType) { var r = n(e); if ("none" == r.display) return i(); var a = {}; a.width = e.offsetWidth, a.height = e.offsetHeight; for (var d = a.isBorderBox = "border-box" == r.boxSizing, l = 0; u > l; l++) { var c = h[l], f = r[c], m = parseFloat(f); a[c] = isNaN(m) ? 0 : m } var p = a.paddingLeft + a.paddingRight, g = a.paddingTop + a.paddingBottom, y = a.marginLeft + a.marginRight, v = a.marginTop + a.marginBottom, _ = a.borderLeftWidth + a.borderRightWidth, z = a.borderTopWidth + a.borderBottomWidth, E = d && s, b = t(r.width); b !== !1 && (a.width = b + (E ? 0 : p + _)); var x = t(r.height); return x !== !1 && (a.height = x + (E ? 0 : g + z)), a.innerWidth = a.width - (p + _), a.innerHeight = a.height - (g + z), a.outerWidth = a.width + y, a.outerHeight = a.height + v, a } } var s, a = "undefined" == typeof console ? e : function (t) { console.error(t) }, h = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"], u = h.length, d = !1; return r }), function (t, e) { "use strict"; "function" == typeof define && define.amd ? define("desandro-matches-selector/matches-selector", e) : "object" == typeof module && module.exports ? module.exports = e() : t.matchesSelector = e() }(window, function () { "use strict"; var t = function () { var t = window.Element.prototype; if (t.matches) return "matches"; if (t.matchesSelector) return "matchesSelector"; for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { var n = e[i], o = n + "MatchesSelector"; if (t[o]) return o } }(); return function (e, i) { return e[t](i) } }), function (t, e) { "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], function (i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("desandro-matches-selector")) : t.fizzyUIUtils = e(t, t.matchesSelector) }(window, function (t, e) { var i = {}; i.extend = function (t, e) { for (var i in e) t[i] = e[i]; return t }, i.modulo = function (t, e) { return (t % e + e) % e }; var n = Array.prototype.slice; i.makeArray = function (t) { if (Array.isArray(t)) return t; if (null === t || void 0 === t) return []; var e = "object" == typeof t && "number" == typeof t.length; return e ? n.call(t) : [t] }, i.removeFrom = function (t, e) { var i = t.indexOf(e); -1 != i && t.splice(i, 1) }, i.getParent = function (t, i) { for (; t.parentNode && t != document.body;)if (t = t.parentNode, e(t, i)) return t }, i.getQueryElement = function (t) { return "string" == typeof t ? document.querySelector(t) : t }, i.handleEvent = function (t) { var e = "on" + t.type; this[e] && this[e](t) }, i.filterFindElements = function (t, n) { t = i.makeArray(t); var o = []; return t.forEach(function (t) { if (t instanceof HTMLElement) { if (!n) return void o.push(t); e(t, n) && o.push(t); for (var i = t.querySelectorAll(n), r = 0; r < i.length; r++)o.push(i[r]) } }), o }, i.debounceMethod = function (t, e, i) { i = i || 100; var n = t.prototype[e], o = e + "Timeout"; t.prototype[e] = function () { var t = this[o]; clearTimeout(t); var e = arguments, r = this; this[o] = setTimeout(function () { n.apply(r, e), delete r[o] }, i) } }, i.docReady = function (t) { var e = document.readyState; "complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t) }, i.toDashed = function (t) { return t.replace(/(.)([A-Z])/g, function (t, e, i) { return e + "-" + i }).toLowerCase() }; var o = t.console; return i.htmlInit = function (e, n) { i.docReady(function () { var r = i.toDashed(n), s = "data-" + r, a = document.querySelectorAll("[" + s + "]"), h = document.querySelectorAll(".js-" + r), u = i.makeArray(a).concat(i.makeArray(h)), d = s + "-options", l = t.jQuery; u.forEach(function (t) { var i, r = t.getAttribute(s) || t.getAttribute(d); try { i = r && JSON.parse(r) } catch (a) { return void (o && o.error("Error parsing " + s + " on " + t.className + ": " + a)) } var h = new e(t, i); l && l.data(t, n, h) }) }) }, i }), function (t, e) { "function" == typeof define && define.amd ? define("outlayer/item", ["ev-emitter/ev-emitter", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("ev-emitter"), require("get-size")) : (t.Outlayer = {}, t.Outlayer.Item = e(t.EvEmitter, t.getSize)) }(window, function (t, e) { "use strict"; function i(t) { for (var e in t) return !1; return e = null, !0 } function n(t, e) { t && (this.element = t, this.layout = e, this.position = { x: 0, y: 0 }, this._create()) } function o(t) { return t.replace(/([A-Z])/g, function (t) { return "-" + t.toLowerCase() }) } var r = document.documentElement.style, s = "string" == typeof r.transition ? "transition" : "WebkitTransition", a = "string" == typeof r.transform ? "transform" : "WebkitTransform", h = { WebkitTransition: "webkitTransitionEnd", transition: "transitionend" }[s], u = { transform: a, transition: s, transitionDuration: s + "Duration", transitionProperty: s + "Property", transitionDelay: s + "Delay" }, d = n.prototype = Object.create(t.prototype); d.constructor = n, d._create = function () { this._transn = { ingProperties: {}, clean: {}, onEnd: {} }, this.css({ position: "absolute" }) }, d.handleEvent = function (t) { var e = "on" + t.type; this[e] && this[e](t) }, d.getSize = function () { this.size = e(this.element) }, d.css = function (t) { var e = this.element.style; for (var i in t) { var n = u[i] || i; e[n] = t[i] } }, d.getPosition = function () { var t = getComputedStyle(this.element), e = this.layout._getOption("originLeft"), i = this.layout._getOption("originTop"), n = t[e ? "left" : "right"], o = t[i ? "top" : "bottom"], r = parseFloat(n), s = parseFloat(o), a = this.layout.size; -1 != n.indexOf("%") && (r = r / 100 * a.width), -1 != o.indexOf("%") && (s = s / 100 * a.height), r = isNaN(r) ? 0 : r, s = isNaN(s) ? 0 : s, r -= e ? a.paddingLeft : a.paddingRight, s -= i ? a.paddingTop : a.paddingBottom, this.position.x = r, this.position.y = s }, d.layoutPosition = function () { var t = this.layout.size, e = {}, i = this.layout._getOption("originLeft"), n = this.layout._getOption("originTop"), o = i ? "paddingLeft" : "paddingRight", r = i ? "left" : "right", s = i ? "right" : "left", a = this.position.x + t[o]; e[r] = this.getXValue(a), e[s] = ""; var h = n ? "paddingTop" : "paddingBottom", u = n ? "top" : "bottom", d = n ? "bottom" : "top", l = this.position.y + t[h]; e[u] = this.getYValue(l), e[d] = "", this.css(e), this.emitEvent("layout", [this]) }, d.getXValue = function (t) { var e = this.layout._getOption("horizontal"); return this.layout.options.percentPosition && !e ? t / this.layout.size.width * 100 + "%" : t + "px" }, d.getYValue = function (t) { var e = this.layout._getOption("horizontal"); return this.layout.options.percentPosition && e ? t / this.layout.size.height * 100 + "%" : t + "px" }, d._transitionTo = function (t, e) { this.getPosition(); var i = this.position.x, n = this.position.y, o = t == this.position.x && e == this.position.y; if (this.setPosition(t, e), o && !this.isTransitioning) return void this.layoutPosition(); var r = t - i, s = e - n, a = {}; a.transform = this.getTranslate(r, s), this.transition({ to: a, onTransitionEnd: { transform: this.layoutPosition }, isCleaning: !0 }) }, d.getTranslate = function (t, e) { var i = this.layout._getOption("originLeft"), n = this.layout._getOption("originTop"); return t = i ? t : -t, e = n ? e : -e, "translate3d(" + t + "px, " + e + "px, 0)" }, d.goTo = function (t, e) { this.setPosition(t, e), this.layoutPosition() }, d.moveTo = d._transitionTo, d.setPosition = function (t, e) { this.position.x = parseFloat(t), this.position.y = parseFloat(e) }, d._nonTransition = function (t) { this.css(t.to), t.isCleaning && this._removeStyles(t.to); for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this) }, d.transition = function (t) { if (!parseFloat(this.layout.options.transitionDuration)) return void this._nonTransition(t); var e = this._transn; for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; for (i in t.to) e.ingProperties[i] = !0, t.isCleaning && (e.clean[i] = !0); if (t.from) { this.css(t.from); var n = this.element.offsetHeight; n = null } this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0 }; var l = "opacity," + o(a); d.enableTransition = function () { if (!this.isTransitioning) { var t = this.layout.options.transitionDuration; t = "number" == typeof t ? t + "ms" : t, this.css({ transitionProperty: l, transitionDuration: t, transitionDelay: this.staggerDelay || 0 }), this.element.addEventListener(h, this, !1) } }, d.onwebkitTransitionEnd = function (t) { this.ontransitionend(t) }, d.onotransitionend = function (t) { this.ontransitionend(t) }; var c = { "-webkit-transform": "transform" }; d.ontransitionend = function (t) { if (t.target === this.element) { var e = this._transn, n = c[t.propertyName] || t.propertyName; if (delete e.ingProperties[n], i(e.ingProperties) && this.disableTransition(), n in e.clean && (this.element.style[t.propertyName] = "", delete e.clean[n]), n in e.onEnd) { var o = e.onEnd[n]; o.call(this), delete e.onEnd[n] } this.emitEvent("transitionEnd", [this]) } }, d.disableTransition = function () { this.removeTransitionStyles(), this.element.removeEventListener(h, this, !1), this.isTransitioning = !1 }, d._removeStyles = function (t) { var e = {}; for (var i in t) e[i] = ""; this.css(e) }; var f = { transitionProperty: "", transitionDuration: "", transitionDelay: "" }; return d.removeTransitionStyles = function () { this.css(f) }, d.stagger = function (t) { t = isNaN(t) ? 0 : t, this.staggerDelay = t + "ms" }, d.removeElem = function () { this.element.parentNode.removeChild(this.element), this.css({ display: "" }), this.emitEvent("remove", [this]) }, d.remove = function () { return s && parseFloat(this.layout.options.transitionDuration) ? (this.once("transitionEnd", function () { this.removeElem() }), void this.hide()) : void this.removeElem() }, d.reveal = function () { delete this.isHidden, this.css({ display: "" }); var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty("visibleStyle"); e[i] = this.onRevealTransitionEnd, this.transition({ from: t.hiddenStyle, to: t.visibleStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onRevealTransitionEnd = function () { this.isHidden || this.emitEvent("reveal") }, d.getHideRevealTransitionEndProperty = function (t) { var e = this.layout.options[t]; if (e.opacity) return "opacity"; for (var i in e) return i }, d.hide = function () { this.isHidden = !0, this.css({ display: "" }); var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty("hiddenStyle"); e[i] = this.onHideTransitionEnd, this.transition({ from: t.visibleStyle, to: t.hiddenStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onHideTransitionEnd = function () { this.isHidden && (this.css({ display: "none" }), this.emitEvent("hide")) }, d.destroy = function () { this.css({ position: "", left: "", right: "", top: "", bottom: "", transition: "", transform: "" }) }, n }), function (t, e) { "use strict"; "function" == typeof define && define.amd ? define("outlayer/outlayer", ["ev-emitter/ev-emitter", "get-size/get-size", "fizzy-ui-utils/utils", "./item"], function (i, n, o, r) { return e(t, i, n, o, r) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter"), require("get-size"), require("fizzy-ui-utils"), require("./item")) : t.Outlayer = e(t, t.EvEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item) }(window, function (t, e, i, n, o) { "use strict"; function r(t, e) { var i = n.getQueryElement(t); if (!i) return void (h && h.error("Bad element for " + this.constructor.namespace + ": " + (i || t))); this.element = i, u && (this.$element = u(this.element)), this.options = n.extend({}, this.constructor.defaults), this.option(e); var o = ++l; this.element.outlayerGUID = o, c[o] = this, this._create(); var r = this._getOption("initLayout"); r && this.layout() } function s(t) { function e() { t.apply(this, arguments) } return e.prototype = Object.create(t.prototype), e.prototype.constructor = e, e } function a(t) { if ("number" == typeof t) return t; var e = t.match(/(^\d*\.?\d*)(\w*)/), i = e && e[1], n = e && e[2]; if (!i.length) return 0; i = parseFloat(i); var o = m[n] || 1; return i * o } var h = t.console, u = t.jQuery, d = function () { }, l = 0, c = {}; r.namespace = "outlayer", r.Item = o, r.defaults = { containerStyle: { position: "relative" }, initLayout: !0, originLeft: !0, originTop: !0, resize: !0, resizeContainer: !0, transitionDuration: "0.4s", hiddenStyle: { opacity: 0, transform: "scale(0.001)" }, visibleStyle: { opacity: 1, transform: "scale(1)" } }; var f = r.prototype; n.extend(f, e.prototype), f.option = function (t) { n.extend(this.options, t) }, f._getOption = function (t) { var e = this.constructor.compatOptions[t]; return e && void 0 !== this.options[e] ? this.options[e] : this.options[t] }, r.compatOptions = { initLayout: "isInitLayout", horizontal: "isHorizontal", layoutInstant: "isLayoutInstant", originLeft: "isOriginLeft", originTop: "isOriginTop", resize: "isResizeBound", resizeContainer: "isResizingContainer" }, f._create = function () { this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), n.extend(this.element.style, this.options.containerStyle); var t = this._getOption("resize"); t && this.bindResize() }, f.reloadItems = function () { this.items = this._itemize(this.element.children) }, f._itemize = function (t) { for (var e = this._filterFindItemElements(t), i = this.constructor.Item, n = [], o = 0; o < e.length; o++) { var r = e[o], s = new i(r, this); n.push(s) } return n }, f._filterFindItemElements = function (t) { return n.filterFindElements(t, this.options.itemSelector) }, f.getItemElements = function () { return this.items.map(function (t) { return t.element }) }, f.layout = function () { this._resetLayout(), this._manageStamps(); var t = this._getOption("layoutInstant"), e = void 0 !== t ? t : !this._isLayoutInited; this.layoutItems(this.items, e), this._isLayoutInited = !0 }, f._init = f.layout, f._resetLayout = function () { this.getSize() }, f.getSize = function () { this.size = i(this.element) }, f._getMeasurement = function (t, e) { var n, o = this.options[t]; o ? ("string" == typeof o ? n = this.element.querySelector(o) : o instanceof HTMLElement && (n = o), this[t] = n ? i(n)[e] : o) : this[t] = 0 }, f.layoutItems = function (t, e) { t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout() }, f._getItemsForLayout = function (t) { return t.filter(function (t) { return !t.isIgnored }) }, f._layoutItems = function (t, e) { if (this._emitCompleteOnItems("layout", t), t && t.length) { var i = []; t.forEach(function (t) { var n = this._getItemLayoutPosition(t); n.item = t, n.isInstant = e || t.isLayoutInstant, i.push(n) }, this), this._processLayoutQueue(i) } }, f._getItemLayoutPosition = function () { return { x: 0, y: 0 } }, f._processLayoutQueue = function (t) { this.updateStagger(), t.forEach(function (t, e) { this._positionItem(t.item, t.x, t.y, t.isInstant, e) }, this) }, f.updateStagger = function () { var t = this.options.stagger; return null === t || void 0 === t ? void (this.stagger = 0) : (this.stagger = a(t), this.stagger) }, f._positionItem = function (t, e, i, n, o) { n ? t.goTo(e, i) : (t.stagger(o * this.stagger), t.moveTo(e, i)) }, f._postLayout = function () { this.resizeContainer() }, f.resizeContainer = function () { var t = this._getOption("resizeContainer"); if (t) { var e = this._getContainerSize(); e && (this._setContainerMeasure(e.width, !0), this._setContainerMeasure(e.height, !1)) } }, f._getContainerSize = d, f._setContainerMeasure = function (t, e) { if (void 0 !== t) { var i = this.size; i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), t = Math.max(t, 0), this.element.style[e ? "width" : "height"] = t + "px" } }, f._emitCompleteOnItems = function (t, e) { function i() { o.dispatchEvent(t + "Complete", null, [e]) } function n() { s++, s == r && i() } var o = this, r = e.length; if (!e || !r) return void i(); var s = 0; e.forEach(function (e) { e.once(t, n) }) }, f.dispatchEvent = function (t, e, i) { var n = e ? [e].concat(i) : i; if (this.emitEvent(t, n), u) if (this.$element = this.$element || u(this.element), e) { var o = u.Event(e); o.type = t, this.$element.trigger(o, i) } else this.$element.trigger(t, i) }, f.ignore = function (t) { var e = this.getItem(t); e && (e.isIgnored = !0) }, f.unignore = function (t) { var e = this.getItem(t); e && delete e.isIgnored }, f.stamp = function (t) { t = this._find(t), t && (this.stamps = this.stamps.concat(t), t.forEach(this.ignore, this)) }, f.unstamp = function (t) { t = this._find(t), t && t.forEach(function (t) { n.removeFrom(this.stamps, t), this.unignore(t) }, this) }, f._find = function (t) { return t ? ("string" == typeof t && (t = this.element.querySelectorAll(t)), t = n.makeArray(t)) : void 0 }, f._manageStamps = function () { this.stamps && this.stamps.length && (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this)) }, f._getBoundingRect = function () { var t = this.element.getBoundingClientRect(), e = this.size; this._boundingRect = { left: t.left + e.paddingLeft + e.borderLeftWidth, top: t.top + e.paddingTop + e.borderTopWidth, right: t.right - (e.paddingRight + e.borderRightWidth), bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth) } }, f._manageStamp = d, f._getElementOffset = function (t) { var e = t.getBoundingClientRect(), n = this._boundingRect, o = i(t), r = { left: e.left - n.left - o.marginLeft, top: e.top - n.top - o.marginTop, right: n.right - e.right - o.marginRight, bottom: n.bottom - e.bottom - o.marginBottom }; return r }, f.handleEvent = n.handleEvent, f.bindResize = function () { t.addEventListener("resize", this), this.isResizeBound = !0 }, f.unbindResize = function () { t.removeEventListener("resize", this), this.isResizeBound = !1 }, f.onresize = function () { this.resize() }, n.debounceMethod(r, "onresize", 100), f.resize = function () { this.isResizeBound && this.needsResizeLayout() && this.layout() }, f.needsResizeLayout = function () { var t = i(this.element), e = this.size && t; return e && t.innerWidth !== this.size.innerWidth }, f.addItems = function (t) { var e = this._itemize(t); return e.length && (this.items = this.items.concat(e)), e }, f.appended = function (t) { var e = this.addItems(t); e.length && (this.layoutItems(e, !0), this.reveal(e)) }, f.prepended = function (t) { var e = this._itemize(t); if (e.length) { var i = this.items.slice(0); this.items = e.concat(i), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i) } }, f.reveal = function (t) { if (this._emitCompleteOnItems("reveal", t), t && t.length) { var e = this.updateStagger(); t.forEach(function (t, i) { t.stagger(i * e), t.reveal() }) } }, f.hide = function (t) { if (this._emitCompleteOnItems("hide", t), t && t.length) { var e = this.updateStagger(); t.forEach(function (t, i) { t.stagger(i * e), t.hide() }) } }, f.revealItemElements = function (t) { var e = this.getItems(t); this.reveal(e) }, f.hideItemElements = function (t) { var e = this.getItems(t); this.hide(e) }, f.getItem = function (t) { for (var e = 0; e < this.items.length; e++) { var i = this.items[e]; if (i.element == t) return i } }, f.getItems = function (t) { t = n.makeArray(t); var e = []; return t.forEach(function (t) { var i = this.getItem(t); i && e.push(i) }, this), e }, f.remove = function (t) { var e = this.getItems(t); this._emitCompleteOnItems("remove", e), e && e.length && e.forEach(function (t) { t.remove(), n.removeFrom(this.items, t) }, this) }, f.destroy = function () { var t = this.element.style; t.height = "", t.position = "", t.width = "", this.items.forEach(function (t) { t.destroy() }), this.unbindResize(); var e = this.element.outlayerGUID; delete c[e], delete this.element.outlayerGUID, u && u.removeData(this.element, this.constructor.namespace) }, r.data = function (t) { t = n.getQueryElement(t); var e = t && t.outlayerGUID; return e && c[e] }, r.create = function (t, e) { var i = s(r); return i.defaults = n.extend({}, r.defaults), n.extend(i.defaults, e), i.compatOptions = n.extend({}, r.compatOptions), i.namespace = t, i.data = r.data, i.Item = s(o), n.htmlInit(i, t), u && u.bridget && u.bridget(t, i), i }; var m = { ms: 1, s: 1e3 }; return r.Item = o, r }), function (t, e) { "function" == typeof define && define.amd ? define(["outlayer/outlayer", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("outlayer"), require("get-size")) : t.Masonry = e(t.Outlayer, t.getSize) }(window, function (t, e) { var i = t.create("masonry"); i.compatOptions.fitWidth = "isFitWidth"; var n = i.prototype; return n._resetLayout = function () { this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(), this.colYs = []; for (var t = 0; t < this.cols; t++)this.colYs.push(0); this.maxY = 0, this.horizontalColIndex = 0 }, n.measureColumns = function () { if (this.getContainerWidth(), !this.columnWidth) { var t = this.items[0], i = t && t.element; this.columnWidth = i && e(i).outerWidth || this.containerWidth } var n = this.columnWidth += this.gutter, o = this.containerWidth + this.gutter, r = o / n, s = n - o % n, a = s && 1 > s ? "round" : "floor"; r = Math[a](r), this.cols = Math.max(r, 1) }, n.getContainerWidth = function () { var t = this._getOption("fitWidth"), i = t ? this.element.parentNode : this.element, n = e(i); this.containerWidth = n && n.innerWidth }, n._getItemLayoutPosition = function (t) { t.getSize(); var e = t.size.outerWidth % this.columnWidth, i = e && 1 > e ? "round" : "ceil", n = Math[i](t.size.outerWidth / this.columnWidth); n = Math.min(n, this.cols); for (var o = this.options.horizontalOrder ? "_getHorizontalColPosition" : "_getTopColPosition", r = this[o](n, t), s = { x: this.columnWidth * r.col, y: r.y }, a = r.y + t.size.outerHeight, h = n + r.col, u = r.col; h > u; u++)this.colYs[u] = a; return s }, n._getTopColPosition = function (t) { var e = this._getTopColGroup(t), i = Math.min.apply(Math, e); return { col: e.indexOf(i), y: i } }, n._getTopColGroup = function (t) { if (2 > t) return this.colYs; for (var e = [], i = this.cols + 1 - t, n = 0; i > n; n++)e[n] = this._getColGroupY(n, t); return e }, n._getColGroupY = function (t, e) { if (2 > e) return this.colYs[t]; var i = this.colYs.slice(t, t + e); return Math.max.apply(Math, i) }, n._getHorizontalColPosition = function (t, e) { var i = this.horizontalColIndex % this.cols, n = t > 1 && i + t > this.cols; i = n ? 0 : i; var o = e.size.outerWidth && e.size.outerHeight; return this.horizontalColIndex = o ? i + t : this.horizontalColIndex, { col: i, y: this._getColGroupY(i, t) } }, n._manageStamp = function (t) { var i = e(t), n = this._getElementOffset(t), o = this._getOption("originLeft"), r = o ? n.left : n.right, s = r + i.outerWidth, a = Math.floor(r / this.columnWidth); a = Math.max(0, a); var h = Math.floor(s / this.columnWidth); h -= s % this.columnWidth ? 0 : 1, h = Math.min(this.cols - 1, h); for (var u = this._getOption("originTop"), d = (u ? n.top : n.bottom) + i.outerHeight, l = a; h >= l; l++)this.colYs[l] = Math.max(d, this.colYs[l]) }, n._getContainerSize = function () { this.maxY = Math.max.apply(Math, this.colYs); var t = { height: this.maxY }; return this._getOption("fitWidth") && (t.width = this._getContainerFitWidth()), t }, n._getContainerFitWidth = function () { for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];)t++; return (this.cols - t) * this.columnWidth - this.gutter }, n.needsResizeLayout = function () { var t = this.containerWidth; return this.getContainerWidth(), t != this.containerWidth }, i }); +window.AScript.set("js-masonry.min", true); \ No newline at end of file diff --git a/MikaltoResort/wwwroot/js/ext_libs/js-overscroll.js b/MikaltoResort/wwwroot/js/ext_libs/js-overscroll.js new file mode 100644 index 0000000..d0c7d57 --- /dev/null +++ b/MikaltoResort/wwwroot/js/ext_libs/js-overscroll.js @@ -0,0 +1,13 @@ +!function (t, e) { "object" == typeof exports && "object" == typeof module ? module.exports = e(require("smooth-scrollbar")) : "function" == typeof define && define.amd ? define(["smooth-scrollbar"], e) : "object" == typeof exports ? exports.OverscrollPlugin = e(require("smooth-scrollbar")) : t.OverscrollPlugin = e(t.Scrollbar) }(this, (function (t) { + return function (t) { + var e = {}; function o(i) { if (e[i]) return e[i].exports; var r = e[i] = { i: i, l: !1, exports: {} }; return t[i].call(r.exports, r, r.exports, o), r.l = !0, r.exports } return o.m = t, o.c = e, o.d = function (t, e, i) { o.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: i }) }, o.r = function (t) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }) }, o.t = function (t, e) { if (1 & e && (t = o(t)), 8 & e) return t; if (4 & e && "object" == typeof t && t && t.__esModule) return t; var i = Object.create(null); if (o.r(i), Object.defineProperty(i, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t) for (var r in t) o.d(i, r, function (e) { return t[e] }.bind(null, r)); return i }, o.n = function (t) { var e = t && t.__esModule ? function () { return t.default } : function () { return t }; return o.d(e, "a", e), e }, o.o = function (t, e) { return Object.prototype.hasOwnProperty.call(t, e) }, o.p = "", o(o.s = 1) + }([function (e, o) { e.exports = t }, function (t, e, o) { t.exports = o(2) }, function (t, e, o) { + "use strict"; o.r(e); + + var i = function (t, e) { return (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (t, e) { t.__proto__ = e } || function (t, e) { for (var o in e) e.hasOwnProperty(o) && (t[o] = e[o]) })(t, e) }, r = function () { return (r = Object.assign || function (t) { for (var e, o = 1, i = arguments.length; o < i; o++)for (var r in e = arguments[o]) Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]); return t }).apply(this, arguments) }; + function n(t) { var e = function (t) { return t.touches ? t.touches[t.touches.length - 1] : t }(t); return { x: e.clientX, y: e.clientY } } new WeakMap; + var s = ["webkit", "moz", "ms", "o"], c = new RegExp("^-(?!(?:" + s.join("|") + ")-)"); + function a(t, e) { e = function (t) { var e = {}; return Object.keys(t).forEach((function (o) { if (c.test(o)) { var i = t[o]; o = o.replace(/^-/, ""), e[o] = i, s.forEach((function (t) { e["-" + t + "-" + o] = i })) } else e[o] = t[o] })), e }(e), Object.keys(e).forEach((function (o) { var i = o.replace(/^-/, "").replace(/-([a-z])/g, (function (t, e) { return e.toUpperCase() })); t.style[i] = e[o] })) } var l = function () { function t(t) { this.velocityMultiplier = window.devicePixelRatio, this.updateTime = Date.now(), this.delta = { x: 0, y: 0 }, this.velocity = { x: 0, y: 0 }, this.lastPosition = { x: 0, y: 0 }, this.lastPosition = n(t) } return t.prototype.update = function (t) { var e = this.velocity, o = this.updateTime, i = this.lastPosition, r = Date.now(), s = n(t), c = { x: -(s.x - i.x), y: -(s.y - i.y) }, a = r - o || 16.7, l = c.x / a * 16.7, h = c.y / a * 16.7; e.x = l * this.velocityMultiplier, e.y = h * this.velocityMultiplier, this.delta = c, this.updateTime = r, this.lastPosition = s }, t }(); function h(t, e, o) { return Math.max(e, Math.min(o, t)) } !function () { function t() { this._touchList = {} } Object.defineProperty(t.prototype, "_primitiveValue", { get: function () { return { x: 0, y: 0 } }, enumerable: !0, configurable: !0 }), t.prototype.isActive = function () { return void 0 !== this._activeTouchID }, t.prototype.getDelta = function () { var t = this._getActiveTracker(); return t ? r({}, t.delta) : this._primitiveValue }, t.prototype.getVelocity = function () { var t = this._getActiveTracker(); return t ? r({}, t.velocity) : this._primitiveValue }, t.prototype.getEasingDistance = function (t) { var e = 1 - t, o = { x: 0, y: 0 }, i = this.getVelocity(); return Object.keys(i).forEach((function (t) { for (var r = Math.abs(i[t]) <= 10 ? 0 : i[t]; 0 !== r;)o[t] += r, r = r * e | 0 })), o }, t.prototype.track = function (t) { var e = this, o = t.targetTouches; return Array.from(o).forEach((function (t) { e._add(t) })), this._touchList }, t.prototype.update = function (t) { var e = this, o = t.touches, i = t.changedTouches; return Array.from(o).forEach((function (t) { e._renew(t) })), this._setActiveID(i), this._touchList }, t.prototype.release = function (t) { var e = this; delete this._activeTouchID, Array.from(t.changedTouches).forEach((function (t) { e._delete(t) })) }, t.prototype._add = function (t) { this._has(t) && this._delete(t); var e = new l(t); this._touchList[t.identifier] = e }, t.prototype._renew = function (t) { this._has(t) && this._touchList[t.identifier].update(t) }, t.prototype._delete = function (t) { delete this._touchList[t.identifier] }, t.prototype._has = function (t) { return this._touchList.hasOwnProperty(t.identifier) }, t.prototype._setActiveID = function (t) { this._activeTouchID = t[t.length - 1].identifier }, t.prototype._getActiveTracker = function () { return this._touchList[this._activeTouchID] } }(); var u, p = o(0), f = function () { function t(t) { this._scrollbar = t } return t.prototype.render = function (t) { var e = t.x, o = void 0 === e ? 0 : e, i = t.y, r = void 0 === i ? 0 : i, n = this._scrollbar, s = n.size, c = n.track, l = n.offset; if (a(n.contentEl, { "-transform": "translate3d(" + -(l.x + o) + "px, " + -(l.y + r) + "px, 0)" }), o) { c.xAxis.show(); var h = s.container.width / (s.container.width + Math.abs(o)); a(c.xAxis.thumb.element, { "-transform": "translate3d(" + c.xAxis.thumb.offset + "px, 0, 0) scale3d(" + h + ", 1, 1)", "-transform-origin": o < 0 ? "left" : "right" }) } r && (c.yAxis.show(), h = s.container.height / (s.container.height + Math.abs(r)), a(c.yAxis.thumb.element, { "-transform": "translate3d(0, " + c.yAxis.thumb.offset + "px, 0) scale3d(1, " + h + ", 1)", "-transform-origin": r < 0 ? "top" : "bottom" })), c.autoHideOnIdle() }, t }(), _ = function () { function t(t) { this._scrollbar = t, this._canvas = document.createElement("canvas"), this._ctx = this._canvas.getContext("2d"), a(this._canvas, { position: "absolute", top: 0, left: 0, width: "100%", height: "100%", display: "none" }) } return t.prototype.mount = function () { this._scrollbar.containerEl.appendChild(this._canvas) }, t.prototype.unmount = function () { this._canvas.parentNode && this._canvas.parentNode.removeChild(this._canvas) }, t.prototype.adjust = function () { var t = this._scrollbar.size, e = window.devicePixelRatio || 1, o = t.container.width * e, i = t.container.height * e; o === this._canvas.width && i === this._canvas.height || (this._canvas.width = o, this._canvas.height = i, this._ctx.scale(e, e)) }, t.prototype.recordTouch = function (t) { var e = t.touches[t.touches.length - 1]; this._touchX = e.clientX, this._touchY = e.clientY }, t.prototype.render = function (t, e) { var o = t.x, i = void 0 === o ? 0 : o, r = t.y, n = void 0 === r ? 0 : r; if (i || n) { a(this._canvas, { display: "block" }); var s = this._scrollbar.size; this._ctx.clearRect(0, 0, s.container.width, s.container.height), this._ctx.fillStyle = e, this._renderX(i), this._renderY(n) } else a(this._canvas, { display: "none" }) }, t.prototype._getMaxOverscroll = function () { var t = this._scrollbar.options.plugins.overscroll; return t && t.maxOverscroll ? t.maxOverscroll : 150 }, t.prototype._renderX = function (t) { var e = this._scrollbar.size, o = this._getMaxOverscroll(), i = e.container, r = i.width, n = i.height, s = this._ctx; s.save(), t > 0 && s.transform(-1, 0, 0, 1, r, 0); var c = h(Math.abs(t) / o, 0, .75), a = h(c, 0, .25) * r, l = Math.abs(t), u = this._touchY || n / 2; s.globalAlpha = c, s.beginPath(), s.moveTo(0, -a), s.quadraticCurveTo(l, u, 0, n + a), s.fill(), s.closePath(), s.restore() }, t.prototype._renderY = function (t) { var e = this._scrollbar.size, o = this._getMaxOverscroll(), i = e.container, r = i.width, n = i.height, s = this._ctx; s.save(), t > 0 && s.transform(1, 0, 0, -1, 0, n); var c = h(Math.abs(t) / o, 0, .75), a = h(c, 0, .25) * r, l = this._touchX || r / 2, u = Math.abs(t); s.globalAlpha = c, s.beginPath(), s.moveTo(-a, 0), s.quadraticCurveTo(l, u, r + a, 0), s.fill(), s.closePath(), s.restore() }, t }(); o.d(e, "OverscrollEffect", (function () { return u })), function (t) { t.BOUNCE = "bounce", t.GLOW = "glow" }(u || (u = {})); var d = /wheel|touch/, y = function (t) { function e() { var e = null !== t && t.apply(this, arguments) || this; return e._glow = new _(e.scrollbar), e._bounce = new f(e.scrollbar), e._wheelScrollBack = { x: !1, y: !1 }, e._lockWheel = { x: !1, y: !1 }, e._touching = !1, e._amplitude = { x: 0, y: 0 }, e._position = { x: 0, y: 0 }, e._releaseWheel = function (t, e, o) { var i; void 0 === e && (e = 0); return function () { for (var o = this, r = [], n = 0; n < arguments.length; n++)r[n] = arguments[n]; clearTimeout(i), i = setTimeout((function () { t.apply(o, r) }), e) } }((function () { e._lockWheel.x = !1, e._lockWheel.y = !1 }), 30), e } return function (t, e) { function o() { this.constructor = t } i(t, e), t.prototype = null === e ? Object.create(e) : (o.prototype = e.prototype, new o) }(e, t), Object.defineProperty(e.prototype, "_isWheelLocked", { get: function () { return this._lockWheel.x || this._lockWheel.y }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "_enabled", { get: function () { return !!this.options.effect }, enumerable: !0, configurable: !0 }), e.prototype.onInit = function () { var t = this._glow, e = this.options, o = this.scrollbar, i = e.effect; Object.defineProperty(e, "effect", { get: function () { return i }, set: function (e) { if (e) { if (e !== u.BOUNCE && e !== u.GLOW) throw new TypeError("unknow overscroll effect: " + e); i = e, o.options.continuousScrolling = !1, e === u.GLOW ? (t.mount(), t.adjust()) : t.unmount() } else i = void 0 } }), e.effect = i }, e.prototype.onUpdate = function () { this.options.effect === u.GLOW && this._glow.adjust() }, e.prototype.onRender = function (t) { if (this._enabled) { this.scrollbar.options.continuousScrolling && (this.scrollbar.options.continuousScrolling = !1); var e = t.x, o = t.y; !this._amplitude.x && this._willOverscroll("x", t.x) && (e = 0, this._absorbMomentum("x", t.x)), !this._amplitude.y && this._willOverscroll("y", t.y) && (o = 0, this._absorbMomentum("y", t.y)), this.scrollbar.setMomentum(e, o), this._render() } }, e.prototype.transformDelta = function (t, e) { if (this._lastEventType = e.type, !this._enabled || !d.test(e.type)) return t; this._isWheelLocked && /wheel/.test(e.type) && (this._releaseWheel(), this._willOverscroll("x", t.x) && (t.x = 0), this._willOverscroll("y", t.y) && (t.y = 0)); var o = t.x, i = t.y; switch (this._willOverscroll("x", t.x) && (o = 0, this._addAmplitude("x", t.x)), this._willOverscroll("y", t.y) && (i = 0, this._addAmplitude("y", t.y)), e.type) { case "touchstart": case "touchmove": this._touching = !0, this._glow.recordTouch(e); break; case "touchcancel": case "touchend": this._touching = !1 }return { x: o, y: i } }, e.prototype._willOverscroll = function (t, e) { if (!e) return !1; if (this._position[t]) return !0; var o = this.scrollbar.offset[t], i = this.scrollbar.limit[t]; return 0 !== i && h(o + e, 0, i) === o && (0 === o || o === i) }, e.prototype._absorbMomentum = function (t, e) { var o = this.options, i = this._lastEventType, r = this._amplitude; d.test(i) && (r[t] = h(e, -o.maxOverscroll, o.maxOverscroll)) }, e.prototype._addAmplitude = function (t, e) { var o = this.options, i = this.scrollbar, r = this._amplitude, n = this._position, s = r[t], c = e * s < 0, a = s + e * (1 - (c ? 0 : this._wheelScrollBack[t] ? 1 : Math.abs(s / o.maxOverscroll))); r[t] = 0 === i.offset[t] ? h(a, -o.maxOverscroll, 0) : h(a, 0, o.maxOverscroll), c && (n[t] = r[t]) }, e.prototype._render = function () { var t = this.options, e = this._amplitude, o = this._position; if (this._enabled && (e.x || e.y || o.x || o.y)) { var i = this._nextAmp("x"), n = this._nextAmp("y"); switch (e.x = i.amplitude, o.x = i.position, e.y = n.amplitude, o.y = n.position, t.effect) { case u.BOUNCE: this._bounce.render(o); break; case u.GLOW: this._glow.render(o, this.options.glowColor) }"function" == typeof t.onScroll && t.onScroll.call(this, r({}, o)) } }, e.prototype._nextAmp = function (t) { var e = this.options, o = this._amplitude, i = this._position, r = 1 - e.damping, n = o[t], s = i[t], c = this._touching ? n : n * r | 0, a = c - s, l = s + a - (a * r | 0); return !this._touching && Math.abs(l) < Math.abs(s) && (this._wheelScrollBack[t] = !0), this._wheelScrollBack[t] && Math.abs(l) <= 1 && (this._wheelScrollBack[t] = !1, this._lockWheel[t] = !0), { amplitude: c, position: l } }, e.pluginName = "overscroll", e.defaultOptions = { effect: u.BOUNCE, onScroll: void 0, damping: .2, maxOverscroll: 150, glowColor: "#87ceeb" }, e }(p.ScrollbarPlugin); e.default = y + }]).default +})); +window.AScript.set("js-overscroll", true); \ No newline at end of file diff --git a/MikaltoResort/wwwroot/js/ext_libs/js-scrollbar.js b/MikaltoResort/wwwroot/js/ext_libs/js-scrollbar.js new file mode 100644 index 0000000..ce539be --- /dev/null +++ b/MikaltoResort/wwwroot/js/ext_libs/js-scrollbar.js @@ -0,0 +1,2549 @@ +! function (t, e) { + "object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? exports.Scrollbar = e() : t.Scrollbar = e() +}(this, (function () { + return function (t) { + var e = {}; + + function n(r) { + if (e[r]) return e[r].exports; + var o = e[r] = { + i: r, + l: !1, + exports: {} + }; + return t[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports + } + return n.m = t, n.c = e, n.d = function (t, e, r) { + n.o(t, e) || Object.defineProperty(t, e, { + enumerable: !0, + get: r + }) + }, n.r = function (t) { + "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { + value: "Module" + }), Object.defineProperty(t, "__esModule", { + value: !0 + }) + }, n.t = function (t, e) { + if (1 & e && (t = n(t)), 8 & e) return t; + if (4 & e && "object" == typeof t && t && t.__esModule) return t; + var r = Object.create(null); + if (n.r(r), Object.defineProperty(r, "default", { + enumerable: !0, + value: t + }), 2 & e && "string" != typeof t) + for (var o in t) n.d(r, o, function (e) { + return t[e] + }.bind(null, o)); + return r + }, n.n = function (t) { + var e = t && t.__esModule ? function () { + return t.default + } : function () { + return t + }; + return n.d(e, "a", e), e + }, n.o = function (t, e) { + return Object.prototype.hasOwnProperty.call(t, e) + }, n.p = "", n(n.s = 65) + }([function (t, e, n) { + (function (e) { + var n = function (t) { + return t && t.Math == Math && t + }; + t.exports = n("object" == typeof globalThis && globalThis) || n("object" == typeof window && window) || n("object" == typeof self && self) || n("object" == typeof e && e) || Function("return this")() + }).call(this, n(68)) + }, function (t, e, n) { + var r = n(0), + o = n(50), + i = n(3), + u = n(29), + c = n(55), + a = n(75), + s = o("wks"), + f = r.Symbol, + l = a ? f : f && f.withoutSetter || u; + t.exports = function (t) { + return i(s, t) || (c && i(f, t) ? s[t] = f[t] : s[t] = l("Symbol." + t)), s[t] + } + }, function (t, e) { + t.exports = function (t) { + return "object" == typeof t ? null !== t : "function" == typeof t + } + }, function (t, e) { + var n = {}.hasOwnProperty; + t.exports = function (t, e) { + return n.call(t, e) + } + }, function (t, e) { + t.exports = function (t) { + try { + return !!t() + } catch (t) { + return !0 + } + } + }, function (t, e, n) { + var r = n(6), + o = n(45), + i = n(7), + u = n(25), + c = Object.defineProperty; + e.f = r ? c : function (t, e, n) { + if (i(t), e = u(e, !0), i(n), o) try { + return c(t, e, n) + } catch (t) { } + if ("get" in n || "set" in n) throw TypeError("Accessors not supported"); + return "value" in n && (t[e] = n.value), t + } + }, function (t, e, n) { + var r = n(4); + t.exports = !r((function () { + return 7 != Object.defineProperty({}, 1, { + get: function () { + return 7 + } + })[1] + })) + }, function (t, e, n) { + var r = n(2); + t.exports = function (t) { + if (!r(t)) throw TypeError(String(t) + " is not an object"); + return t + } + }, function (t, e, n) { + var r = n(6), + o = n(5), + i = n(14); + t.exports = r ? function (t, e, n) { + return o.f(t, e, i(1, n)) + } : function (t, e, n) { + return t[e] = n, t + } + }, function (t, e, n) { + var r, o, i, u = n(49), + c = n(0), + a = n(2), + s = n(8), + f = n(3), + l = n(27), + p = n(16), + h = c.WeakMap; + if (u) { + var d = new h, + v = d.get, + y = d.has, + m = d.set; + r = function (t, e) { + return m.call(d, t, e), e + }, o = function (t) { + return v.call(d, t) || {} + }, i = function (t) { + return y.call(d, t) + } + } else { + var g = l("state"); + p[g] = !0, r = function (t, e) { + return s(t, g, e), e + }, o = function (t) { + return f(t, g) ? t[g] : {} + }, i = function (t) { + return f(t, g) + } + } + t.exports = { + set: r, + get: o, + has: i, + enforce: function (t) { + return i(t) ? o(t) : r(t, {}) + }, + getterFor: function (t) { + return function (e) { + var n; + if (!a(e) || (n = o(e)).type !== t) throw TypeError("Incompatible receiver, " + t + " required"); + return n + } + } + } + }, function (t, e, n) { + var r = n(0); + t.exports = r + }, function (t, e, n) { + var r = n(0), + o = n(8), + i = n(3), + u = n(26), + c = n(47), + a = n(9), + s = a.get, + f = a.enforce, + l = String(String).split("String"); + (t.exports = function (t, e, n, c) { + var a = !!c && !!c.unsafe, + s = !!c && !!c.enumerable, + p = !!c && !!c.noTargetGet; + "function" == typeof n && ("string" != typeof e || i(n, "name") || o(n, "name", e), f(n).source = l.join("string" == typeof e ? e : "")), t !== r ? (a ? !p && t[e] && (s = !0) : delete t[e], s ? t[e] = n : o(t, e, n)) : s ? t[e] = n : u(e, n) + })(Function.prototype, "toString", (function () { + return "function" == typeof this && s(this).source || c(this) + })) + }, function (t, e) { + t.exports = {} + }, function (t, e, n) { + var r = n(0), + o = n(43).f, + i = n(8), + u = n(11), + c = n(26), + a = n(69), + s = n(53); + t.exports = function (t, e) { + var n, f, l, p, h, d = t.target, + v = t.global, + y = t.stat; + if (n = v ? r : y ? r[d] || c(d, {}) : (r[d] || {}).prototype) + for (f in e) { + if (p = e[f], l = t.noTargetGet ? (h = o(n, f)) && h.value : n[f], !s(v ? f : d + (y ? "." : "#") + f, t.forced) && void 0 !== l) { + if (typeof p == typeof l) continue; + a(p, l) + } (t.sham || l && l.sham) && i(p, "sham", !0), u(n, f, p, t) + } + } + }, function (t, e) { + t.exports = function (t, e) { + return { + enumerable: !(1 & t), + configurable: !(2 & t), + writable: !(4 & t), + value: e + } + } + }, function (t, e, n) { + var r = n(22), + o = n(24); + t.exports = function (t) { + return r(o(t)) + } + }, function (t, e) { + t.exports = {} + }, function (t, e, n) { + var r = n(31), + o = Math.min; + t.exports = function (t) { + return t > 0 ? o(r(t), 9007199254740991) : 0 + } + }, function (t, e, n) { + var r = n(16), + o = n(2), + i = n(3), + u = n(5).f, + c = n(29), + a = n(74), + s = c("meta"), + f = 0, + l = Object.isExtensible || function () { + return !0 + }, + p = function (t) { + u(t, s, { + value: { + objectID: "O" + ++f, + weakData: {} + } + }) + }, + h = t.exports = { + REQUIRED: !1, + fastKey: function (t, e) { + if (!o(t)) return "symbol" == typeof t ? t : ("string" == typeof t ? "S" : "P") + t; + if (!i(t, s)) { + if (!l(t)) return "F"; + if (!e) return "E"; + p(t) + } + return t[s].objectID + }, + getWeakData: function (t, e) { + if (!i(t, s)) { + if (!l(t)) return !0; + if (!e) return !1; + p(t) + } + return t[s].weakData + }, + onFreeze: function (t) { + return a && h.REQUIRED && l(t) && !i(t, s) && p(t), t + } + }; + r[s] = !0 + }, function (t, e, n) { + var r = n(76); + t.exports = function (t, e, n) { + if (r(t), void 0 === e) return t; + switch (n) { + case 0: + return function () { + return t.call(e) + }; + case 1: + return function (n) { + return t.call(e, n) + }; + case 2: + return function (n, r) { + return t.call(e, n, r) + }; + case 3: + return function (n, r, o) { + return t.call(e, n, r, o) + } + } + return function () { + return t.apply(e, arguments) + } + } + }, function (t, e, n) { + var r = n(24); + t.exports = function (t) { + return Object(r(t)) + } + }, function (t, e, n) { + "use strict"; + var r = n(13), + o = n(0), + i = n(53), + u = n(11), + c = n(18), + a = n(33), + s = n(35), + f = n(2), + l = n(4), + p = n(59), + h = n(36), + d = n(77); + t.exports = function (t, e, n) { + var v = -1 !== t.indexOf("Map"), + y = -1 !== t.indexOf("Weak"), + m = v ? "set" : "add", + g = o[t], + x = g && g.prototype, + b = g, + w = {}, + S = function (t) { + var e = x[t]; + u(x, t, "add" == t ? function (t) { + return e.call(this, 0 === t ? 0 : t), this + } : "delete" == t ? function (t) { + return !(y && !f(t)) && e.call(this, 0 === t ? 0 : t) + } : "get" == t ? function (t) { + return y && !f(t) ? void 0 : e.call(this, 0 === t ? 0 : t) + } : "has" == t ? function (t) { + return !(y && !f(t)) && e.call(this, 0 === t ? 0 : t) + } : function (t, n) { + return e.call(this, 0 === t ? 0 : t, n), this + }) + }; + if (i(t, "function" != typeof g || !(y || x.forEach && !l((function () { + (new g).entries().next() + }))))) b = n.getConstructor(e, t, v, m), c.REQUIRED = !0; + else if (i(t, !0)) { + var _ = new b, + E = _[m](y ? {} : -0, 1) != _, + O = l((function () { + _.has(1) + })), + T = p((function (t) { + new g(t) + })), + A = !y && l((function () { + for (var t = new g, e = 5; e--;) t[m](e, e); + return !t.has(-0) + })); + T || ((b = e((function (e, n) { + s(e, b, t); + var r = d(new g, e, b); + return null != n && a(n, r[m], r, v), r + }))).prototype = x, x.constructor = b), (O || A) && (S("delete"), S("has"), v && S("get")), (A || E) && S(m), y && x.clear && delete x.clear + } + return w[t] = b, r({ + global: !0, + forced: b != g + }, w), h(b, t), y || n.setStrong(b, t, v), b + } + }, function (t, e, n) { + var r = n(4), + o = n(23), + i = "".split; + t.exports = r((function () { + return !Object("z").propertyIsEnumerable(0) + })) ? function (t) { + return "String" == o(t) ? i.call(t, "") : Object(t) + } : Object + }, function (t, e) { + var n = {}.toString; + t.exports = function (t) { + return n.call(t).slice(8, -1) + } + }, function (t, e) { + t.exports = function (t) { + if (null == t) throw TypeError("Can't call method on " + t); + return t + } + }, function (t, e, n) { + var r = n(2); + t.exports = function (t, e) { + if (!r(t)) return t; + var n, o; + if (e && "function" == typeof (n = t.toString) && !r(o = n.call(t))) return o; + if ("function" == typeof (n = t.valueOf) && !r(o = n.call(t))) return o; + if (!e && "function" == typeof (n = t.toString) && !r(o = n.call(t))) return o; + throw TypeError("Can't convert object to primitive value") + } + }, function (t, e, n) { + var r = n(0), + o = n(8); + t.exports = function (t, e) { + try { + o(r, t, e) + } catch (n) { + r[t] = e + } + return e + } + }, function (t, e, n) { + var r = n(50), + o = n(29), + i = r("keys"); + t.exports = function (t) { + return i[t] || (i[t] = o(t)) + } + }, function (t, e) { + t.exports = !1 + }, function (t, e) { + var n = 0, + r = Math.random(); + t.exports = function (t) { + return "Symbol(" + String(void 0 === t ? "" : t) + ")_" + (++n + r).toString(36) + } + }, function (t, e, n) { + var r = n(10), + o = n(0), + i = function (t) { + return "function" == typeof t ? t : void 0 + }; + t.exports = function (t, e) { + return arguments.length < 2 ? i(r[t]) || i(o[t]) : r[t] && r[t][e] || o[t] && o[t][e] + } + }, function (t, e) { + var n = Math.ceil, + r = Math.floor; + t.exports = function (t) { + return isNaN(t = +t) ? 0 : (t > 0 ? r : n)(t) + } + }, function (t, e) { + t.exports = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"] + }, function (t, e, n) { + var r = n(7), + o = n(54), + i = n(17), + u = n(19), + c = n(56), + a = n(58), + s = function (t, e) { + this.stopped = t, this.result = e + }; + (t.exports = function (t, e, n, f, l) { + var p, h, d, v, y, m, g, x = u(e, n, f ? 2 : 1); + if (l) p = t; + else { + if ("function" != typeof (h = c(t))) throw TypeError("Target is not iterable"); + if (o(h)) { + for (d = 0, v = i(t.length); v > d; d++) + if ((y = f ? x(r(g = t[d])[0], g[1]) : x(t[d])) && y instanceof s) return y; + return new s(!1) + } + p = h.call(t) + } + for (m = p.next; !(g = m.call(p)).done;) + if ("object" == typeof (y = a(p, x, g.value, f)) && y && y instanceof s) return y; + return new s(!1) + }).stop = function (t) { + return new s(!0, t) + } + }, function (t, e, n) { + var r = {}; + r[n(1)("toStringTag")] = "z", t.exports = "[object z]" === String(r) + }, function (t, e) { + t.exports = function (t, e, n) { + if (!(t instanceof e)) throw TypeError("Incorrect " + (n ? n + " " : "") + "invocation"); + return t + } + }, function (t, e, n) { + var r = n(5).f, + o = n(3), + i = n(1)("toStringTag"); + t.exports = function (t, e, n) { + t && !o(t = n ? t : t.prototype, i) && r(t, i, { + configurable: !0, + value: e + }) + } + }, function (t, e, n) { + var r, o = n(7), + i = n(79), + u = n(32), + c = n(16), + a = n(80), + s = n(46), + f = n(27)("IE_PROTO"), + l = function () { }, + p = function (t) { + return "