();
+
+ }
+ }
+}
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 "
+
+
+
+