diff --git a/components/table/table.css b/components/table/table.css index b2ba20f0..b10fcd2f 100644 --- a/components/table/table.css +++ b/components/table/table.css @@ -7,7 +7,7 @@ --nui-color: #333; } -.n-table { +.n-table, .n-table--wide { overflow: auto; border-collapse: collapse; border-radius: var(--nui-border-radius); @@ -15,14 +15,16 @@ display: inline-block; } .n-table--wide { - display: table; width: 100%; - overflow: hidden; - table-layout: fixed; + overflow: auto; +} +.n-table--wide .n-table { + width: 100%; + display: table; } .n-table td, .n-table th { - padding: var(--nui-line-height-em) calc(var(--nui-line-height-em) / 2); + padding: var(--nui-line-height-em) calc(var(--nui-line-height-em)/2); vertical-align: middle; } .n-table th, diff --git a/components/table/table.css.map b/components/table/table.css.map index 48fa74e1..1028ded7 100644 --- a/components/table/table.css.map +++ b/components/table/table.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["table.scss","../../css/niui-setup.scss"],"names":[],"mappings":";AAAA;ACQA;EACC;EACA;EACA;EACA;;;ADTD;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAGD;AAAA;EAEC;EACA;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACC;EACA;;AAKH;EACC;;AAGD;AAAA;AAAA;AAAA;EAIC;;;AA2BF;EACC;IACC;;EAEA;IACC","file":"table.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["table.scss","../../css/niui-setup.scss"],"names":[],"mappings":";AAAA;ACQA;EACC;EACA;EACA;EACA;;;ADPA;EAEC;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;;AACA;EACC;EACA;;AAIF;AAAA;EAEC;EACA;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACC;EACA;;AAKH;EACC;;AAGD;AAAA;AAAA;AAAA;EAIC;;;AA2BF;EACC;IACC;;EAEA;IACC","file":"table.css"} \ No newline at end of file diff --git a/components/table/table.scss b/components/table/table.scss index e46181e4..efbeef57 100644 --- a/components/table/table.scss +++ b/components/table/table.scss @@ -2,17 +2,23 @@ @import "../../css/niui-setup"; .n-table { - overflow: auto; - border-collapse: collapse; - border-radius: var(--nui-border-radius); - box-shadow: 0 0 0 var(--nui-border-size) var(--nui-border-color), 0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color); - display: inline-block; + + &, + &--wide { + overflow: auto; + border-collapse: collapse; + border-radius: var(--nui-border-radius); + box-shadow: 0 0 0 var(--nui-border-size) var(--nui-border-color), 0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color); + display: inline-block; + } &--wide { - display: table; width: 100%; - overflow: hidden; - table-layout: fixed; + overflow: auto; + .n-table { + width: 100%; + display: table; + } } td, diff --git a/css/guide.css b/css/guide.css index c5cc4c2c..61847f65 100644 --- a/css/guide.css +++ b/css/guide.css @@ -39,7 +39,7 @@ body video { body { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - margin: 0; + margin: auto; padding: 0; line-height: 1.333; color: white; @@ -308,7 +308,7 @@ _:future, @media (min-width: 600px) { #dynamic-components .n-row .n-row { - margin-inline-start: calc(-1 * var(--nui-line-height-em) / 2); + margin-inline-start: calc(-1 * var(--nui-line-height-em)/2); width: calc(100% + var(--nui-line-height-em)); } @@ -330,6 +330,7 @@ aside nav { display: flex; gap: 1em; box-shadow: 0 0 0.333em 0px #00000066; + --nui-control-active-color: #bc8453; } aside nav a { font-weight: 500; @@ -372,6 +373,7 @@ section:not(:last-of-type) { main { min-width: 0; + overflow-x: hidden; } @media (min-width: 600px) { diff --git a/css/guide.css.map b/css/guide.css.map index c36cb644..da891db9 100644 --- a/css/guide.css.map +++ b/css/guide.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["guide.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AAIF;EAEE;EACA;;AAEA;AAAA;AAAA;AAAA;EAIE;;;AAaJ;EACE;EACA;EACA;EAIA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAUA;AAAA;EAEE;;AAEA;AAAA;EACE;;;AAKN;AAAA;EAEE;EACA;EACA;;;AAIF;EACE;EACA;;;AAIF;EACE;AACA;;;AAUA;EACE;IACE;IACA;IACA;;;;AAKN;EACE;EACA;;;AAOF;EACE;IACE;IACA;IACA;;;EAGF;IACE;;;AAIJ;EAUE;EACA;EAoBA;;AA7BA;AAAA;EAGE;EACA;;AAOF;EAEE;;AAMA;EACE;EACA;;AAIJ;EACE;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EAEA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;;;AAyBF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AASF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;EACA;EACA;;;AAMF;EACE;EACA;;;AAIJ;EACE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;;AAMF;EACE;EACA;;AAGF;EACE;EACA;;;AAKF;EACE;IACE;IACA;;;;AAKN;EAEE;EACA;;;AAIF;EACE;;;AAKF;EACE;IACE;;;AAKJ;EACE;IACE;;;AAIJ;AAAA;AAAA;EAGE;;;AAGF;EACE;IACE;IACA;;;EAIA;IACE;;;AAMN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;;AAIA;AAAA;EAEE;;AAGF;EACE;;;AAOR;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;;;AAKF;EACE;IACE;;;EAGF;IACE;IACA;;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA","file":"guide.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["guide.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AAIF;EAEE;EACA;;AAEA;AAAA;AAAA;AAAA;EAIE;;;AAaJ;EACE;EACA;EACA;EAIA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAUA;AAAA;EAEE;;AAEA;AAAA;EACE;;;AAKN;AAAA;EAEE;EACA;EACA;;;AAIF;EACE;EACA;;;AAIF;EACE;AACA;;;AAUA;EACE;IACE;IACA;IACA;;;;AAKN;EACE;EACA;;;AAOF;EACE;IACE;IACA;IACA;;;EAGF;IACE;;;AAIJ;EAUE;EACA;EAoBA;;AA7BA;AAAA;EAGE;EACA;;AAOF;EAEE;;AAMA;EACE;EACA;;AAIJ;EACE;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EAEA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;;;AAyBF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AASF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;EACA;EACA;;;AAMF;EACE;EACA;;;AAIJ;EACE;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;;AAMF;EACE;EACA;;AAGF;EACE;EACA;;;AAKF;EACE;IACE;IACA;;;;AAKN;EAEE;EACA;;;AAIF;EACE;;;AAKF;EACE;IACE;;;AAKJ;EACE;IACE;;;AAIJ;AAAA;AAAA;EAGE;;;AAGF;EACE;IACE;IACA;;;EAIA;IACE;;;AAMN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;;AAIA;AAAA;EAEE;;AAGF;EACE;;;AAOR;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;;;AAKF;EACE;IACE;;;EAGF;IACE;IACA;;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA","file":"guide.css"} \ No newline at end of file diff --git a/css/guide.scss b/css/guide.scss index dca55ea3..2c0ba362 100644 --- a/css/guide.scss +++ b/css/guide.scss @@ -54,7 +54,7 @@ html { body { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - margin: 0; + margin: auto; padding: 0; // overflow: hidden; // background: darkcyan; @@ -444,6 +444,7 @@ aside { display: flex; gap: 1em; box-shadow: 0 0 0.333em 0px #00000066; + --nui-control-active-color: #bc8453; a { font-weight: 500; @@ -498,6 +499,7 @@ section { main { min-width: 0; + overflow-x: hidden; // height: 100%; // overflow: auto; } diff --git a/dist/niui.min.css b/dist/niui.min.css index e247e3f6..7c4d9ca7 100644 --- a/dist/niui.min.css +++ b/dist/niui.min.css @@ -1,2 +1,2 @@ -@charset "UTF-8";:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-btn,.n-form button[type=reset],.n-form button[type=submit],.n-form input[type=submit],.n-type a.n-btn[href],a.n-btn[href],button.n-btn{font-size:inherit;text-align:initial;line-height:var(--nui-line-height);min-height:var(--nui-line-height-em);text-decoration:none;display:inline-block;cursor:pointer;width:auto;word-break:break-word;padding:0 .6em;-webkit-appearance:none;background-color:#333;background-color:var(--nui-control-bg,#333);color:#eee;color:var(--nui-control-color,#eee);border:none;font-family:inherit;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-btn:not([disabled]):hover,.n-form button[type=reset]:not([disabled]):hover,.n-form button[type=submit]:not([disabled]):hover,.n-form input[type=submit]:not([disabled]):hover,.n-type a.n-btn[href]:not([disabled]):hover,a.n-btn[href]:not([disabled]):hover,button.n-btn:not([disabled]):hover{background-color:#eee;color:#333}button.n-btn[disabled]{cursor:default;opacity:.2;margin:0;font-size:inherit}.n-btn.n-btn--big,.n-form button,.n-form input[type=submit],a[href].n-btn.n-btn--big{margin:calc(var(--nui-line-height-em)/ 3) 0;font-size:1.2em;padding:.75em 1em;line-height:1.05em;min-height:0;font-weight:500}.n-btn__group{margin:0 -.25em}.n-btn__group .n-btn.n-btn--big,.n-btn__group>*,.n-btn__group>a[href].n-btn.n-btn--big{margin-inline-end:.25em;margin-inline-start:.25em}@media not screen and (min-width:600px){.n-btn.n-btn--big{display:block;text-align:center}}.n-btn--ripple{background:radial-gradient(circle,rgba(0,0,0,.05) 70%,rgba(0,0,0,0) 0) no-repeat var(--ripple-x) var(--ripple-y)/0 0;transition:.15s ease-out;transition-property:background-size,background-position}.n-btn--ripple:active{background-position:calc(var(--ripple-x) - var(--ripple-radius)) calc(var(--ripple-y) - var(--ripple-radius));background-size:calc(2 * var(--ripple-radius)) calc(2 * var(--ripple-radius))}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-card{margin:1em 0;--nui-card-bg:rgba(0, 0, 0, 0.1);background:var(--nui-card-bg,rgba(0,0,0,.1));border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color);overflow:hidden}.n-card>*{padding:1em}.n-card__content{background:var(--nui-card-bg)}.n-card__content p{margin:.75em 0}.n-card__content p:first-child{margin-top:0}.n-card>img{display:block;margin:0 auto;max-width:100%;padding:0}.n-card__head>*{margin:0}.n-card__head.n-card__head--image{background-position:center center;background-size:cover;background-repeat:no-repeat;color:#fff}.n-card__head.n-card__head--image:after{content:"";padding-bottom:56.25%;width:0;display:inline-block;vertical-align:bottom}.n-card__head.n-card__head--image>*{display:inline-block;margin:0}.n-aspect{display:block;aspect-ratio:var(--ratio,calc(var(--width)/ var(--height)))}.n-aspect>img{max-width:100%;height:auto;margin:0 auto;display:block}.n-aspect.n-bottom>*{align-self:flex-end;vertical-align:bottom}.n-aspect.n-middle>*{align-self:center;vertical-align:middle}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-row{width:100%;display:flex;flex-wrap:wrap;text-align:center}.n-row img,.n-row picture{max-width:100%;height:auto;border:none;text-align:center}.n-row video{height:auto;background:#000;margin:0 auto;display:block;max-width:100%}.n-row video a[href]{color:#fff}.n-row table:not(.n-table) td{word-break:break-word}.n-row>*{position:relative;word-wrap:break-word;width:calc(20% - var(--nui-line-height-em));--col-width:1/5;padding:calc(var(--nui-line-height-em)/ 4);margin:calc(var(--nui-line-height-em)/ 4);flex-grow:1;text-align:start;min-width:0}.n-row>[class*=" _"],.n-row>[class^=_]{flex-grow:0}.n-row>*,.n-row>*>*{max-width:100%}.n-row>*>img{display:block;margin:0 auto}.n-row>._2\/3{--col-width:2/3}.n-row>._3\/4{--col-width:3/4}.n-row>._1\/4{--col-width:1/4}.n-row>._1\/5{--col-width:1/5}.n-row>._1\/6{--col-width:1/6}.n-row>._2\/5{--col-width:2/5}.n-row>._3\/5{--col-width:3/5}.n-row>._4\/5{--col-width:4/5}.n-row>._1\/3{--col-width:1/3}.n-row>._1\/2{--col-width:1/2}.n-row>._1\/1,.n-row>:only-child:not([class^=_]){--col-width:1}@-moz-document url-prefix(){.n-row>*{margin:calc(var(--nui-line-height-em)/ 4 - .0009em)}}@supports (--a:1){.n-row>*,.n-row>[class^=_]{--spacing:var(--nui-line-height-em);flex-basis:calc(var(--col-width) * 100% - var(--spacing))}@media screen and (max-width:1024px){.n-row>*{--col-width:1/5}}@media not screen and (min-width:900px){.n-row>*{--col-width:1/3}}.n-row.n-row--no-padding,.n-row.n-row--no-padding>*{--spacing:calc(var(--nui-line-height-em) / 2);padding:0}.n-row.n-row--no-margin,.n-row.n-row--no-margin>*,.n-row.n-row--vertical>*{--spacing:calc(var(--nui-line-height-em) / 2);margin:0}.n-row.n-row--no-spacing>*{--spacing:0em;padding:0;margin:0}.n-row.n-row--spacing-horizontal>*{margin:0 calc(var(--nui-line-height-em)/ 2)}.n-row.n-row--spacing-vertical>*{margin:calc(var(--nui-line-height-em)/ 2) 0}}.n-left,.n-left>*,.n-row>.n-left{text-align:start}.n-right,.n-right>*,.n-row>.n-right{text-align:end}.n-center,.n-center>*,.n-row>.n-center{text-align:center}.n-row>.n-bottom,.n-row>.n-middle,.n-row>.n-top{display:flex}.n-row>.n-top,.n-top.n-row>*{vertical-align:top;justify-content:flex-start;flex-direction:column;display:flex}.n-middle.n-row>*,.n-row>.n-middle{vertical-align:middle;justify-content:center;flex-direction:column;display:flex}.n-bottom.n-row>*,.n-row>.n-bottom{vertical-align:bottom;justify-content:flex-end;flex-direction:column;display:flex}.n-align-children *,.n-row.n-align-children>*{text-align:inherit}.n-row.n-row--vertical{flex-direction:column;min-height:100%}.n-row.n-row--vertical>*,.n-row.n-row--vertical>[class*=" _"],.n-row.n-row--vertical>[class^=_]{width:100%;box-sizing:border-box}.n-section{position:relative}.n-section:after,.n-section:before{content:"";display:table;width:100%}.n-masonry{column-count:3;column-gap:0;margin:var(--nui-line-height-em) 0;margin-inline-end:calc(var(--nui-line-height-em)/ -2);max-width:none}.n-masonry>*{display:table;width:100%;-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid-column;margin:0;padding:calc(var(--nui-line-height-em)/ 2) 0;padding-inline-end:calc(var(--nui-line-height-em)/ 2);box-sizing:border-box;word-break:break-word;word-wrap:break-word}.n-masonry._1\/2{column-count:2}.n-masonry._1\/4{column-count:4}.n-masonry._1\/4{column-count:5}ul.n-masonry{min-height:0;padding:0}ol.n-masonry>*{padding-inline-start:2.5em}.n-pad{padding:calc(var(--nui-line-height-em)/ 2);box-sizing:border-box}.n-pad-half{padding:calc(var(--nui-line-height-em)/ 4);box-sizing:border-box}.n-row>*>.n-unpad,.n-unpad{margin:calc(var(--nui-line-height-em)/ -2);width:calc(var(--nui-line-height-em) + 100%);max-width:100%;overflow-x:hidden}.n-row>*>.n-unpad{max-width:none}.n-unpad-vertical{margin:calc(-1 * var(--nui-line-height-em)) 0}.n-row.n-row--border-all{box-shadow:inset 0 0 0 1px var(--nui-color,#000)}.n-row.n-row--border-all>*{box-shadow:inset 1px 1px 0 0 var(--nui-color,#000);margin:0;flex-basis:calc(var(--col-width) * 100% - var(--spacing)/ 2)}.n-row.n-row--border{box-shadow:inset 0 0 0 1px var(--nui-color,#000)}.n-row * .n-box{background:#fff;box-shadow:inset 0 0 0 1px #e6e6e6}.n-row.n-row--border-off,.n-row.n-row--border-off *{box-shadow:none}@media not screen and (min-width:600px){.n-row{box-sizing:border-box}.n-row:not(.n-row--half){display:block;max-width:100%}.n-row:not(.n-row--half)>*>.n-unpad{margin:-.6em 0 -.6em -.3em;width:calc(100% + .6em);max-width:none}.n-row>*,.n-row>[class^=_]{padding:0;width:100%;border:none;box-sizing:border-box}.n-row:not(.n-row--no-margin):not(.n-row--border-all):not(.n-tabs)>*,.n-row:not(.n-row--no-margin):not(.n-row--border-all)>[class^=_]{margin:calc(var(--nui-line-height-em)/ 6) 0}@supports (--a:1){.n-row>*,.n-row>[class^=_]{padding:.3em;flex:0 0 100%}}.n-row>:empty{display:none}.n-row>.n-full-mobile-width,.n-row>[class^=_].n-full-mobile-width{box-sizing:content-box;padding:0}.n-row.n-row--no-spacing>*,.n-row.n-row--no-spacing>[class^=_]{margin:0;padding:0}.n-row--no-mobile-gutter.n-row>*{padding:0}.n-row.n-row--border,.n-row.n-row--border>*,.n-row>*{border:none}.n-row.n-row--half>*{width:50%;flex:0 0 50%}.n-row.n-row--border-all .n-row{width:calc(100% + var(--nui-line-height-em))}.n-masonry,.n-masonry[class^=_]{-moz-column-count:2;-webkit-column-count:2;column-count:2}}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-form{padding:var(--nui-line-height-em) 0;--nui-placeholder-color:#aaa}.n-form *{box-sizing:border-box}.n-form input,.n-form label,.n-form textarea{display:inline-block;vertical-align:middle}.n-form ::-webkit-input-placeholder{color:var(--nui-placeholder-color);-webkit-text-fill-color:var(--nui-placeholder-color)}.n-form button[type=submit],.n-form input[type=submit],.n-form label,.n-form label>span,.n-form__check span{line-height:var(--nui-line-height);min-height:var(--nui-line-height-em)}.n-form label{font-weight:700;max-width:100%;position:relative;padding:0;margin:0 0 var(--nui-line-height-em) 0;min-height:calc(var(--nui-line-height-em) * 2)}.n-form button,.n-form button[type=submit],.n-form input[type=submit]{height:auto;line-height:var(--nui-line-height);white-space:normal;word-break:break-all;margin:0;max-width:100%;padding:0 1em;font-weight:500}.n-form .n-form__file span,.n-form button,.n-form input,.n-form input[type=search],.n-form select,.n-form textarea{font-family:inherit;display:inline-block;overflow:hidden;resize:none;vertical-align:top;border-radius:0;padding:0 calc(var(--nui-line-height-em)/ 2);min-height:calc(var(--nui-line-height-em) * 2);border:0;font-size:1em;border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-form input[type=checkbox]{border-radius:0}.n-form .n-form__file span span{display:flex;align-items:center}.n-form textarea{border-bottom:1px dotted transparent;height:0;min-height:calc(var(--nui-line-height-em) * 3);padding-top:calc(var(--nui-line-height-em)/ 2);margin:var(--nui-line-height-em) 0}.n-form textarea:not([data-auto]){overflow:auto}.n-form textarea[data-auto]{transform:translate3d(0,0,0)}.n-form input,.n-form textarea{background-color:var(--nui-input-bg,#eee);color:var(--nui-input-color,#333)}.n-form select{-moz-appearance:none;-webkit-appearance:none;appearance:none;text-indent:.01px;min-height:0;text-indent:0;padding:0 1.6em 0 .8em;height:calc(var(--nui-line-height-em) * 2);white-space:nowrap;text-indent:-1px;margin:0;text-indent:1px;cursor:pointer;background:linear-gradient(to bottom left,transparent 30%,var(--nui-control-color,#333) 10%,var(--nui-control-color,#333) 50%,transparent 30%),linear-gradient(to bottom right,transparent 30%,var(--nui-control-color,#333) 10%,var(--nui-control-color,#333) 50%,transparent 30%);background-size:.4em .4em;background-repeat:no-repeat;background-position:calc(100% - .85em),calc(100% - .5em);color:var(--nui-control-color,#333);background-color:var(--nui-control-bg,#eee)}.n-form select option{padding:0;padding-inline-end:1.5em}.n-form select,.n-form__file{vertical-align:top;border:none;margin-inline-start:0}.n-form input[type=search]{-webkit-appearance:none;border-radius:0}.n-form input[type=search]::-webkit-search-cancel-button,.n-form input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.n-form label,.n-form label span,.n-form__check span{margin:0;text-align:start}.n-form input,.n-form select{display:inline-block;width:auto;padding-top:0;margin:var(--nui-line-height-em) 0;vertical-align:middle}.n-form.sticky-submit{position:relative}.n-form.sticky-submit button[type=submit],.n-form.sticky-submit input[type=submit]{position:absolute;top:0;bottom:0;inset-inline-end:0}.n-form fieldset,.n-form__check{display:block;min-height:var(--nui-line-height-em);margin-bottom:var(--nui-line-height-em);border-radius:var(--nui-border-radius)}.n-form fieldset span,.n-form__check span{display:inline-block;font-weight:700;margin-top:0;cursor:default}.n-form fieldset label,.n-form__check label{text-align:start;font-weight:400;clear:right;margin:0;cursor:pointer;min-height:0;user-select:none;padding-inline-start:0;padding-inline-end:.75em;padding-bottom:0;display:inline}.n-form fieldset label span,.n-form__check label span{width:auto}.n-form fieldset label:last-child,.n-form__check label:last-child{margin-bottom:0}.n-form fieldset label input[type=checkbox],.n-form fieldset label input[type=radio],.n-form__check label input[type=checkbox],.n-form__check label input[type=radio]{margin:-.25em .2em 0 0}.n-form__check-icon{width:1em;height:1em;display:inline-block;background-color:var(--nui-control-bg,#eee);color:var(--nui-control-color,#333);line-height:calc((var(--nui-line-height) + 1) * .6666666667);text-align:center;border:none;margin:0;position:absolute;inset-inline-start:0;z-index:1;top:.05em;vertical-align:middle}.n-form--mast .n-form__check-icon,.n-form--wide .n-form__check-icon{top:.25em}.n-form input[type=checkbox]+.n-form__check-icon:before{content:"✓";display:block;height:1em;line-height:1}.n-form input[type=checkbox]:not(:checked)+.n-form__check-icon:before{opacity:0}.n-form input[type=checkbox],.n-form input[type=radio]{-webkit-appearance:none;-moz-appearance:window;-ms-appearance:none;background:0 0;cursor:pointer;padding:0;min-height:0;height:1em;width:1em;display:inline-block;margin:0;border:none}.n-form input[type=radio]+.n-form__check-icon{border-radius:50%}.n-form input[type=radio]:checked+.n-form__check-icon:before{content:"";position:absolute;background-color:var(--nui-control-color,#333);top:25%;right:25%;bottom:25%;left:25%;border-radius:50%}.n-form--mandatory{position:relative}.n-form--mandatory fieldset:before,.n-form--mandatory span.n-form__check:before,.n-form--mandatory span.tip:after{display:none}.n-form--mandatory:before{content:"*";color:#a00;position:absolute;top:0;font-weight:700;inset-inline-start:auto;inset-inline-end:0}.n-form--mandatory:has(fieldset):before{top:-.25rem}.n-form--alert p,.n-form--alert span{background:#666;color:#eee;padding:0 .25em}.n-form--alert fieldset,.n-form--alert span.n-form__check{background:0 0;color:#555}.n-form--alert span.tip{background:#222}.n-form__file{font-weight:400;margin:0 0 var(--nui-line-height) 0;cursor:pointer;font-style:italic;padding:0;position:relative;z-index:0}.n-form__file span{text-align:start;border:none;white-space:nowrap;background-color:var(--nui-control-bg,#ddd);color:var(--nui-control-color,inherit);padding:0 calc(var(--nui-line-height-em)/ 2) 0 .75em;display:block;line-height:var(--nui-line-height-em);padding-top:calc(var(--nui-line-height-em)/ 2);letter-spacing:0;position:absolute;inset:0;z-index:-1}.n-form__file span .n-form__file-name:empty,.n-form__file span .n-form__file-name:not(:empty)~.n-form__file-tag{display:none}.n-form__file input[type=file]{width:100%;cursor:pointer;border:none;margin:0;background:0 0;color:transparent;text-indent:-100%;padding:0;opacity:0}.n-form__file input[type=file]:focus+span{outline:auto}.n-form input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:0 0;margin:0;padding:0;box-shadow:none}.n-form input[type=range]::-webkit-slider-runnable-track{width:100%;height:.7125em;cursor:pointer;background:var(--nui-control-bg,rgba(0,0,0,.1))}.n-form input[type=range]::-webkit-slider-thumb{height:1.625em;width:1.625em;border-radius:50%;background:var(--nui-control-highlight,#000);cursor:pointer;-webkit-appearance:none;margin-top:-.45625em}.n-form input[type=range]:focus::-webkit-slider-runnable-track{background:var(--nui-control-bg,rgba(0,0,0,.1))}.n-form input[type=range]::-moz-range-track{width:100%;height:.7125em;cursor:pointer;background:var(--nui-control-bg,rgba(0,0,0,.1))}.n-form input[type=range]::-moz-range-thumb{border:0 solid transparent;height:1.625em;width:1.625em;border-radius:50%;background:var(--nui-control-bg,rgba(0,0,0,.1));cursor:pointer}.n-form legend{font-weight:700}.n-form fieldset{border:1px solid;display:block;margin:var(--nui-line-height-em) 0;padding:calc(var(--nui-line-height-em)/ 2 - .5px)}.n-form fieldset[disabled]{display:none}.n-form button,.n-form input[type=submit]{width:auto;min-width:0;padding:0 1em;min-height:calc(var(--nui-line-height-em) * 1.6667);text-align:start;font-size:1.2em;border-radius:var(--nui-border-radius)}.n-form--mast textarea,.n-form--wide textarea{margin:calc(var(--nui-line-height-em)/ -2) 0 calc(var(--nui-line-height-em)/ 2) 0}.n-form--wide button,.n-form--wide button[type=submit],.n-form--wide input[type=submit]{margin-bottom:calc(var(--nui-line-height-em) - 5px);line-height:calc(var(--nui-line-height-em)/ 3 * 2);font-size:1.2em;min-height:2.50005em;width:100%}.n-form--wide select{width:100%;height:calc(var(--nui-line-height-em) * 2);margin:calc(var(--nui-line-height-em)/ -2) 0 calc(var(--nui-line-height-em)/ 2) 0}.n-form--wide .n-form__check span,.n-form--wide .n-form__file,.n-form--wide fieldset label,.n-form--wide label,.n-form--wide label span{display:block;width:100%;clear:both}.n-form--wide select,.n-form--wide textarea,.n-form--wide:not(.sticky-submit) input:not([type=checkbox]):not([type=radio]){display:block;width:100%;border:none;margin:0 0 var(--nui-line-height-em) 0}.n-form--wide:not(.sticky-submit) fieldset>input:not([type=checkbox]):not([type=radio]):last-of-type,.n-form--wide:not(.sticky-submit) fieldset>select:last-of-type,.n-form--wide:not(.sticky-submit) fieldset>textarea:last-of-type{margin:0}.n-form--wide .n-form__check label input[type=checkbox],.n-form--wide .n-form__check label input[type=radio],.n-form--wide fieldset label input[type=checkbox],.n-form--wide fieldset label input[type=radio]{margin-top:-.2em}.n-form.n-form--mast button,.n-form.n-form--mast button[type=submit],.n-form.n-form--mast input[type=submit]{margin-inline-start:calc(50% + .5em);margin-bottom:calc(var(--nui-line-height-em) * 1.5)}.n-form.n-form--mast fieldset,.n-form.n-form--mast label{width:100%;display:grid;grid-template:auto/1fr 1fr;column-gap:1em;margin-bottom:1.5em}.n-form.n-form--mast fieldset{border-color:transparent;border:none;padding:calc(var(--nui-line-height-em)/ 2);padding-top:0;padding-bottom:var(--nui-line-height-em)}.n-form.n-form--mast fieldset legend{margin-bottom:calc(-1 * var(--nui-line-height-em));text-align:end;grid-column:1/2;grid-row:1/2;width:50%}.n-form.n-form--mast fieldset label{margin:0;display:block}.n-form.n-form--mast fieldset>*,.n-form.n-form--mast>.n-form__check fieldset>*,.n-form.n-form--mast>.n-form__check>*,.n-form.n-form--mast>label>*{width:100%;margin:calc(var(--nui-line-height-em)/ -2) 0 calc(var(--nui-line-height-em) * 1.5) 0;grid-column:-2/-1}.n-form.n-form--mast>.n-form__check fieldset>span,.n-form.n-form--mast>.n-form__check>span,.n-form.n-form--mast>label>span{text-align:end;grid-column:1;margin:0}.n-form.n-form--mast>.n-form__check{display:grid;grid-template:auto/1fr 1fr;column-gap:1em}.n-form.n-form--mast>.n-form__check>*{margin:0}.n-form.n-form--mast>.n-form__check label{display:block}.n-form.n-form--mast>.n-form__check fieldset{display:contents}.n-form.n-form--mast>.n-form__check fieldset label,.n-form.n-form--mast>.n-form__check fieldset legend{margin:0}.n-form.n-form--mast>.n-form__check fieldset legend{grid-column:1}.n-form.n-form--mast .n-form--mandatory:before{inset-inline-start:calc(50% - .5em);z-index:-1}_::-webkit-full-page-media,_:future,:root .n-form.n-form--mast fieldset{display:block}_::-webkit-full-page-media,_:future,:root .n-form.n-form--mast fieldset legend{width:calc(50% - .5em)}_::-webkit-full-page-media,_:future,:root .n-form.n-form--mast fieldset label{width:calc(50% - .5em);float:inline-end}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}ul.n-list{padding:0;line-height:var(--nui-line-height);min-height:var(--nui-line-height);margin:calc(var(--nui-line-height)/ 2) 0}ul.n-list.n-list--indent{margin-inline-start:1.5em}ul.n-list li{display:block;position:relative;width:100%;list-style:none;word-break:break-word;word-wrap:break-word}ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li{margin-inline-start:1em;max-width:calc(100% - 1em)}ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li:before{content:"•";position:absolute;margin-inline-start:-.67em;color:var(--nui-list-bg);font-size:1.5em;line-height:.9}ul.n-list.n-list--inline>li:first-child{margin-inline-start:0}ol.n-list{list-style-type:none;counter-reset:level1;padding:0;margin:0 0 var(--nui-line-height-em) 0}ol.n-list>li{text-indent:-2.3em;margin:var(--nui-line-height-em) 0 calc(var(--nui-line-height-em)/ 2) 2.3em}ol.n-list>li:before{width:auto;content:counter(level1);counter-increment:level1;font-weight:700;background:var(--nui-list-bg,#999);color:var(--nui-list-color,#fff);padding:0 .5em;border-radius:50%;margin-inline-end:.333em;min-height:1em;display:inline-block;text-indent:0;text-align:center}ol.n-list li>*{text-indent:0;display:inline-block;vertical-align:top;padding-top:0;margin-top:0}ol.n-list li>ul{display:block}ol.n-list>li ol{list-style-type:none;counter-reset:level2;display:block}ol.n-list>li ol>li:before{content:counter(level1) "." counter(level2) " ";counter-increment:level2;border-radius:1em}ol.n-list ol>li ol{list-style-type:none;counter-reset:level3;margin-inline-start:1em}ol.n-list ol>li ol li:before{content:counter(level1) "." counter(level2) "." counter(level3) " ";counter-increment:level3}ol.n-list ol>li{text-indent:-3.3em}ol.n-list ol ol>li{text-indent:-3.95em}ol.n-list ul{text-indent:.1em}ol.n-list p{text-indent:0}.n-nav.n-nav--scroll ul li,ul.n-list.n-list--inline,ul.n-list.n-list--inline li{vertical-align:top;display:inline-flex;width:auto}.n-nav ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li{margin-inline-start:0;max-width:100%}.n-nav ul.n-list li:before{display:none}[dir=rtl] ol.n-list>li{margin:var(--nui-line-height-em) 2.3em calc(var(--nui-line-height-em)/ 2) 0}[dir=rtl] ol.n-list>li:before{margin:0 0 0 .5em}.n-accordion{display:grid}.n-accordion--inline{display:inline-grid}.n-accordion>input[type=checkbox],.n-accordion__label{grid-column-start:1;grid-row-start:1;width:auto;height:auto;cursor:zoom-in;border:none;font:inherit;text-align:initial;margin:var(--accordion-margin,.25em) 0}.n-accordion>input[type=checkbox]{z-index:1;-webkit-appearance:none;appearance:none;margin:0}.n-accordion>input[type=checkbox]:checked{cursor:zoom-out}.n-accordion>input:not(:checked)~.n-accordion__content,.n-accordion[data-ready]>.n-accordion__label:not([aria-expanded=true])~.n-accordion__content{display:none}input:checked~.n-accordion__label button{background:var(--nui-control-active-bg,#fff);color:var(--nui-control-active-color,#222);cursor:zoom-out}input:checked~.n-accordion__label button:after{transform:rotate(180deg)}.n-accordion .n-accordion{margin:0 .5em}.n-accordion__label{user-select:none;cursor:zoom-in;letter-spacing:initial;position:relative}.n-accordion__label button{cursor:pointer;word-wrap:break-word;word-break:break-all;background-color:var(--nui-control-bg,inherit);color:var(--nui-control-color,inherit);border:none;width:100%;padding:calc(var(--line-height-em,1.5rem)/ 2);padding-inline-end:1.5em;text-align:start;font:inherit;border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-accordion__label button:after{transition:transform .2s ease-in-out;content:"";position:absolute;display:block;inset-inline-end:.5em;top:calc(50% - .5em);width:1em;height:1em;--icon:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(180) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A");-webkit-mask:var(--icon) center center no-repeat;-webkit-mask-size:.5em;mask:var(--icon) center center no-repeat;mask-size:.5em;background-color:var(--nui-control-color,#000)}.n-accordion__popin{display:grid;--n-popin-columns:1;grid-template:auto/repeat(var(--n-popin-columns),auto);column-gap:.5rem}.n-accordion__popin>*{display:contents}.n-accordion__popin .n-accordion__content{grid-row:var(--n-popin-open-row,0);grid-column:1/-1}.n-accordion__popin .n-accordion__label{grid-column:initial;grid-row:initial}.n-accordion__popin>:not([data-ready]) .n-accordion__content{display:none}@media (min-width:600px){.n-accordion__popin{--n-popin-columns:3}.n-accordion--mobile>.n-accordion__label,.n-accordion--mobile>input[type=checkbox]{display:none}.n-accordion--mobile>input:not(:checked)~.n-accordion__content,.n-accordion--mobile[data-ready]>.n-accordion__label:not([aria-expanded=true])~.n-accordion__content{display:initial}}body[data-frozen]{overflow:hidden}.n-carousel__content{display:flex;will-change:scroll;outline:0;box-sizing:border-box;overflow-anchor:none;list-style:none;scrollbar-width:none}@media (prefers-reduced-motion:reduce){.n-carousel__content{transition:none}}.n-carousel__content::-webkit-scrollbar{display:none}.n-carousel__content>*{flex:1 0 auto;box-sizing:content-box;overflow:auto;width:100%;padding-inline-end:calc(1px * var(--subpixel-compensation,0))}.n-carousel__content>*>*{overflow:auto}.n-carousel__content img{height:auto}.n-carousel__content>:not([aria-current]):not(:last-child){overflow:auto}.n-carousel:not(.n-carousel--vertical)>.n-carousel__content{overflow-x:auto;width:calc(100% - 0px);padding:0 var(--peek,0)}.n-carousel:not(.n-carousel--vertical):not(.n-carousel--auto-height)>.n-carousel__content>*{overflow:auto}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height:not(.n-carousel--controls-outside){grid-template:auto/auto;grid-template-areas:"f f f" "a1 a1 a1" "prev a2 next" "a3 a3 a3" "i i i"}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height:not([data-ready])>.n-carousel__content>:not(:first-child){height:0;overflow:visible}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height>.n-carousel__content{overflow-y:hidden;height:var(--height,auto)}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height>.n-carousel__content,.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height>.n-carousel__content>*{min-height:9em}.n-carousel--vertical:not(.n-carousel--auto-height)>.n-carousel__content,.n-carousel--vertical[data-ready]>.n-carousel__content{flex-direction:column}.n-carousel--vertical>.n-carousel__next button{transform:none}.n-carousel--vertical>.n-carousel__previous button{transform:rotate(180deg)}.n-carousel--vertical[data-ready].n-carousel--auto-height>.n-carousel__content{overflow:hidden;overflow-y:auto}@keyframes carousel-css-only{100%{height:100%}}.n-carousel{--max-height:100vh;--peek:0px;display:grid;grid-template:auto 1fr auto 1fr auto/auto 1fr auto;position:relative;grid-template-areas:"f f f" "a1 a1 a1" "prev a2 next" "a3 a3 a3" "i i i"}.n-carousel.n-carousel--overlay,.n-carousel:fullscreen{max-height:100%!important}.n-carousel.n-carousel--overlay>.n-carousel__content,.n-carousel:fullscreen>.n-carousel__content{height:100%!important;height:100dvh!important}.n-carousel.n-carousel--overlay>.n-carousel__content figure,.n-carousel.n-carousel--overlay>.n-carousel__content iframe,.n-carousel.n-carousel--overlay>.n-carousel__content img,.n-carousel.n-carousel--overlay>.n-carousel__content video,.n-carousel:fullscreen>.n-carousel__content figure,.n-carousel:fullscreen>.n-carousel__content iframe,.n-carousel:fullscreen>.n-carousel__content img,.n-carousel:fullscreen>.n-carousel__content video{max-height:100%}.n-carousel:fullscreen .n-carousel__close{display:none}.n-carousel.n-carousel--overlay,.n-carousel:-webkit-full-screen{max-height:100%!important}.n-carousel.n-carousel--overlay>.n-carousel__content,.n-carousel:-webkit-full-screen>.n-carousel__content{height:100%!important;height:100dvh!important}.n-carousel.n-carousel--overlay>.n-carousel__content figure,.n-carousel.n-carousel--overlay>.n-carousel__content iframe,.n-carousel.n-carousel--overlay>.n-carousel__content img,.n-carousel.n-carousel--overlay>.n-carousel__content video,.n-carousel:-webkit-full-screen>.n-carousel__content figure,.n-carousel:-webkit-full-screen>.n-carousel__content iframe,.n-carousel:-webkit-full-screen>.n-carousel__content img,.n-carousel:-webkit-full-screen>.n-carousel__content video{max-height:100%}.n-carousel:-webkit-full-screen .n-carousel__close{display:none}.n-carousel.n-carousel--vertical{--max-height:75vh;height:var(--max-height,100%);max-height:100%}.n-carousel.n-carousel--vertical.n-carousel--auto-height:not([data-ready])>.n-carousel__content>:not(:first-child){display:none}.n-carousel.n-carousel--vertical>.n-carousel__content{max-height:100%}.n-carousel.n-carousel--vertical:not(.n-carousel--auto-height):-webkit-full-screen>.n-carousel__content{height:100%!important}.n-carousel.n-carousel--vertical:not(.n-carousel--auto-height):fullscreen>.n-carousel__content{height:100%!important}.n-carousel.n-carousel--vertical>.n-carousel__content{overflow-y:auto;box-sizing:content-box;padding:var(--peek,0) 0}.n-carousel.n-carousel--vertical>.n-carousel__content>*{width:100%;padding-inline-end:0;height:100%;padding-block-end:calc(1px * var(--subpixel-compensation,0))}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside)>.n-carousel__index{position:absolute;max-height:100%;overflow:auto;justify-content:initial;grid-area:auto}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--inline:not(.n-carousel--overlay){height:auto}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--inline:not(.n-carousel--overlay)>.n-carousel__index{position:static}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--inline:not(.n-carousel--overlay)>.n-carousel__index>*{display:initial;margin:0}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--index-end>.n-carousel__index{inset-inline-end:0;inset-inline-start:auto;grid-area:auto}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--index-end.n-carousel--index-align-end>.n-carousel__index{position:absolute}.n-carousel.n-carousel--vertical.n-carousel--auto-height:not(.n-carousel--overlay){height:auto}.n-carousel.n-carousel--vertical.n-carousel--auto-height.n-carousel--peek>.n-carousel__content>*{height:calc(100% + 1px * var(--subpixel-compensation,0))}.n-carousel.n-carousel--vertical.n-carousel--auto-height.n-carousel--peek>.n-carousel__content:after,.n-carousel.n-carousel--vertical.n-carousel--auto-height.n-carousel--peek>.n-carousel__content:before{display:none}.n-carousel:not([data-ready])>*>button{cursor:not-allowed}.n-carousel:not([data-ready])>.n-carousel--auto-height>:not(:first-child){height:0;animation:carousel-css-only 2 .1s linear 1s forwards}.n-carousel:not([data-ready])>.n-carousel--auto-height>:first-child{min-height:100%}.n-carousel[data-sliding]{pointer-events:none}.n-carousel.n-carousel--rtl{direction:rtl}.n-carousel.n-carousel--peek{--peek:15%}.n-carousel:not([data-sliding])>.n-carousel__content{scroll-snap-type:x mandatory}.n-carousel:not([data-sliding])>.n-carousel__content>*{scroll-snap-align:center;scroll-snap-stop:always}.n-carousel.n-carousel--vertical:not([data-sliding])>.n-carousel__content{scroll-snap-type:y mandatory}.n-carousel.n-carousel--index-align-start>.n-carousel__index{justify-self:start}.n-carousel.n-carousel--index-align-center:not(.n-carousel--vertical)>.n-carousel__index{justify-self:center}.n-carousel.n-carousel--index-align-end>.n-carousel__index{justify-self:end}.n-carousel>.n-carousel__content{padding:0;margin:0;grid-row:1/-1;grid-column:1/-1}@media (prefers-reduced-motion:no-preference){.n-carousel>.n-carousel__content{transition:opacity .2s ease-in-out}}.n-carousel>:not(.n-carousel__content){z-index:1}.n-carousel>.n-carousel__previous{grid-area:prev;align-self:center}.n-carousel>.n-carousel__next{grid-area:next;align-self:center;justify-self:end}.n-carousel>.n-carousel__index{grid-area:i;align-self:end;justify-self:center;justify-content:center;overflow:auto;white-space:nowrap;vertical-align:middle}.n-carousel>.n-carousel__index img{width:3em;height:3em;object-fit:cover;padding:0}.n-carousel.n-carousel--thumbnails>.n-carousel__index{padding:1px}.n-carousel.n-carousel--thumbnails>.n-carousel__index>*{padding:0;vertical-align:middle;margin:.125em;border-radius:var(--nui-border-radius);overflow:hidden}.n-carousel.n-carousel--thumbnails>.n-carousel__index>* span{padding:0 1ch}.n-carousel.n-carousel--thumbnails>.n-carousel__index [aria-current]{box-shadow:0 0 0 1px var(--nui-control-bg,grey)}.n-carousel[data-platform=iPhone] .n-carousel__full-screen,.n-carousel[data-platform=iPod] .n-carousel__full-screen{display:none}.n-carousel[data-platform=iPhone] .n-carousel__close,.n-carousel[data-platform=iPod] .n-carousel__close{grid-area:f}.n-carousel.n-carousel--index-start{grid-template-areas:"i i i" "a1 a1 a1" "prev a2 next" "a3 a3 a3" "f f f"}.n-carousel.n-carousel--index-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--index-start .n-carousel__index{justify-content:flex-start}.n-carousel.n-carousel--index-start .n-carousel__close,.n-carousel.n-carousel--index-start .n-carousel__full-screen{align-self:end}.n-carousel.n-carousel--index-end>.n-carousel__index{justify-content:flex-end}.n-carousel.n-carousel--controls-outside{grid-template-areas:"f f f" "a1 content a2" "prev content next" "b1 content b2" "i i i"}.n-carousel.n-carousel--controls-outside>.n-carousel__content{grid-area:content}.n-carousel.n-carousel--controls-outside.n-carousel--index-start{grid-template-areas:"i i i" "a1 content a2" "prev content next" "b1 content b2" "f f f"}.n-carousel.n-carousel--controls-outside.n-carousel--index-align-start>.n-carousel__index{text-align:start}.n-carousel.n-carousel--controls-outside.n-carousel--index-align-end>.n-carousel__index{text-align:end}.n-carousel.n-carousel--vertical{grid-template:auto 1fr auto/auto 1fr auto 1fr auto;grid-template-areas:"i a1 prev a3 f" "i a1 a2 a3 f" "i a1 next a3 f"}.n-carousel.n-carousel--vertical:has(>.n-carousel__controls):before{content:"";grid-area:i;width:3em}.n-carousel.n-carousel--vertical>.n-carousel__index{align-self:center;justify-self:initial}.n-carousel.n-carousel--vertical>.n-carousel__index>*{display:block;white-space:normal;max-width:25vw}.n-carousel.n-carousel--vertical.n-carousel--index-align-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--index-align-end>.n-carousel__index{align-self:end;inset-inline-start:0}.n-carousel.n-carousel--vertical.n-carousel--index-end{grid-template-areas:"f a1 prev a3 i" "f a1 a2 a3 i" "f a1 next a3 i"}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start:not(.n-carousel--index-end){grid-template:1fr auto auto/auto auto auto 1fr auto auto;grid-template-areas:"f c a1 prev a2 i" "a3 a3 a3 a3 a3 i" "a4 a4 a4 next a5 b2";grid-template-columns:repeat(5,1fr);grid-template-rows:auto}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start:not(.n-carousel--index-end)>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start{grid-template:1fr auto auto/auto auto 1fr auto auto;grid-template-areas:"f c prev a2 a2 i" "a3 a3 a3 a3 a3 i" "a4 a4 next a5 a5 a5"}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start>.n-carousel__previous{justify-self:center}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-end{grid-template:1fr auto auto/auto auto 1fr auto auto;grid-template-areas:"f c prev a2 a2 a2" "a3 a3 a3 a3 a3 i" "a4 a4 next a5 a5 i"}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-end>.n-carousel__index{align-self:end}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-end>.n-carousel__previous{justify-self:center}.n-carousel.n-carousel--vertical>.n-carousel__previous{align-self:start}.n-carousel.n-carousel--vertical>.n-carousel__next{align-self:end}.n-carousel.n-carousel--vertical.n-carousel--controls-outside{grid-template-areas:"i a1 prev a2 f" "i content content content f" "i b1 next b2 f"}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-align-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-end{grid-template-areas:"f a1 prev a2 i" "f content content content i" "f b1 next b2 i"}.n-carousel.n-carousel--vertical.n-carousel--controls-outside>.n-carousel__index{max-height:var(--max-height,100%)}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height:not([data-ready])>.n-carousel__index{max-height:0}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height[data-ready]{overflow:hidden}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height[data-ready][data-sliding]>.n-carousel__index{max-height:none}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height[data-ready].n-carousel--index-end>.n-carousel__index{margin-inline-start:calc(-1px * var(--index-width)/ 2)}.n-carousel:-webkit-full-screen{background:#000;--max-height:100vh}.n-carousel:fullscreen{background:#000;--max-height:100vh}.n-carousel.n-carousel--overlay{--max-height:100vh;position:fixed;top:0;left:0;right:0;z-index:2;max-height:none;height:100%;height:100dvh;background:rgba(255,255,255,.9)}@media (prefers-color-scheme:dark){.n-carousel.n-carousel--overlay{background:rgba(0,0,0,.9)}}.n-carousel.n-carousel--inline:not(.n-carousel--overlay){display:block}.n-carousel.n-carousel--inline:not(.n-carousel--overlay)>.n-carousel__index>[aria-current]{box-shadow:none}.n-carousel.n-carousel--inline:not(.n-carousel--overlay)>*{text-align:start}.n-carousel.n-carousel--inline:not(.n-carousel--overlay)>:not(.n-carousel__index){visibility:hidden;position:absolute;width:0;height:0;opacity:0;overflow:hidden}@supports not (aspect-ratio:1){_::-webkit-full-page-media,_:future,:root .n-carousel[data-sliding] > .n-carousel__content{scroll-snap-type:both mandatory}}_::-webkit-full-page-media,_:future,:root .n-carousel[data-sliding] > .n-carousel__content > *{scroll-snap-align:center}_::-webkit-full-page-media,_:future,:root .n-carousel.n-carousel--peek:not(.n-carousel--vertical) > .n-carousel__content:after{content:"";padding:var(--peek-int,0);flex-shrink:0}.n-carousel__close>*,.n-carousel__full-screen>*,.n-carousel__index>*,.n-carousel__next>*,.n-carousel__previous>*{box-sizing:border-box;text-decoration:none!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;all:revert;border:none;color:var(--nui-control-color,#333);background:var(--nui-control-bg,#eee);min-width:2.25em;min-height:2.25em;border-radius:var(--nui-border-radius,2.25em);margin:.25em;font:inherit;display:inline-flex;justify-content:center;align-items:center;padding:0 1ch;cursor:pointer}.n-carousel__close>* span,.n-carousel__full-screen>* span,.n-carousel__index>* span,.n-carousel__next>* span,.n-carousel__previous>* span{color:var(--nui-control-color,#333)}.n-carousel__close>[aria-current] span,.n-carousel__full-screen>[aria-current] span,.n-carousel__index>[aria-current] span,.n-carousel__next>[aria-current] span,.n-carousel__previous>[aria-current] span{color:var(--nui-control-active-color,#00f)}.n-carousel--tabs>.n-carousel__index,.n-carousel__close>*,.n-carousel__full-screen>*,.n-carousel__index>*,.n-carousel__next>*,.n-carousel__previous>*{box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-carousel--tabs>.n-carousel__index>*{box-shadow:none}.n-carousel[data-ready]{--height:0}.n-carousel[data-ready] .n-carousel__close>*,.n-carousel[data-ready] .n-carousel__full-screen>*,.n-carousel[data-ready]>.n-carousel__index>*,.n-carousel[data-ready]>.n-carousel__next>*,.n-carousel[data-ready]>.n-carousel__previous>*{cursor:pointer}.n-carousel[data-ready].n-carousel--auto-height:not(.n-carousel--vertical):not([data-sliding])>.n-carousel__content>:not([aria-current]){overflow:visible}.n-carousel[data-ready].n-carousel--auto-height>.n-carousel__content>*{overflow:hidden!important}.n-carousel__close,.n-carousel__full-screen,.n-carousel__next,.n-carousel__previous{height:2.85em;width:2.85em}.n-carousel__close button span,.n-carousel__full-screen button span,.n-carousel__next button span,.n-carousel__previous button span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.n-carousel__close button:before,.n-carousel__full-screen button:before,.n-carousel__next button:before,.n-carousel__previous button:before{content:"";background-color:var(--nui-control-color,#333);--chevron:url("data:image/svg+xml,%3Csvg height='18' viewBox='0 0 18 18' width='18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m9.003 7.626 7.081-7.081 1.916 1.915-8.997 8.998-9.003-9 1.917-1.916z' transform='translate(0 5)'/%3E%3C/svg%3E");-webkit-mask:var(--chevron) no-repeat 0 0/contain;-webkit-mask-size:100%;mask:var(--chevron) no-repeat 0 0;mask-size:100%;width:1em;height:1em;display:inline-block}.n-carousel__full-screen{grid-area:f;justify-self:baseline}.n-carousel__full-screen button:before{--chevron:url("data:image/svg+xml,%3Csvg viewBox='0 0 46 46' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000' fill-rule='nonzero'%3E%3Cpath d='M.778 17.444h5.555V6.334h11.111V.777H.778zM28.556.778v5.555h11.11v11.111h5.556V.778zM39.667 39.667H28.556v5.555h16.666V28.556h-5.555zM6.333 28.556H.778v16.666h16.666v-5.555H6.334z'/%3E%3C/g%3E%3C/svg%3E")}.n-carousel__full-screen~.n-carousel__close{grid-area:c}.n-carousel__controls{grid-area:f;display:flex;justify-self:start}.n-carousel--vertical>.n-carousel__controls{flex-direction:column;align-self:start}.n-carousel__close{grid-area:f;justify-self:baseline}.n-carousel__close button:before{--chevron:url("data:image/svg+xml,%3Csvg viewBox='0 0 480 480' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%2523000' fill-rule='evenodd'%3E%3Cpath d='M68.88 368.693l42.427 42.427L411.12 111.307 368.693 68.88 168.818 268.756z'/%3E%3Cpath d='M111.307 68.88L68.88 111.307 368.693 411.12l42.427-42.427-199.876-199.875z'/%3E%3C/g%3E%3C/svg%3E")}.n-carousel__close~.n-carousel__full-screen{grid-area:c}.n-carousel:not(.n-carousel--overlay)>.n-carousel__controls .n-carousel__close button:before{transform:rotate(45deg)}.n-carousel--rtl>.n-carousel__next button,.n-carousel__previous button,[dir=rtl] .n-carousel__next button{transform:rotate(90deg)}.n-carousel--rtl>.n-carousel__previous button,.n-carousel__next button,[dir=rtl] .n-carousel__previous button{transform:rotate(-90deg)}.n-carousel--tabs.n-carousel>.n-carousel__index{display:flex;justify-content:start;overflow:auto;max-width:100%;max-height:100%;color:var(--nui-control-color,#333);border-radius:var(--nui-border-radius)}.n-carousel--tabs.n-carousel>.n-carousel__index>*{box-sizing:border-box;border-radius:0;margin:0;display:flex;justify-content:flex-start;padding:.5ch 1ch;text-align:start;word-break:break-word;outline-offset:-3px;min-width:1.5em;min-inline-size:min-content}.n-carousel--tabs.n-carousel>.n-carousel__index>:focus{z-index:0}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index{display:block}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index>*{width:100%}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index>:first-child{border-radius:0;border-start-start-radius:var(--nui-border-radius);border-start-end-radius:var(--nui-border-radius)}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index>:last-child{border-radius:0;border-end-start-radius:var(--nui-border-radius);border-end-end-radius:var(--nui-border-radius)}.n-carousel--tabs.n-carousel.n-carousel--vertical.n-carousel--auto-height>.n-carousel__index>*{white-space:nowrap}.n-carousel--tabs.n-carousel.n-carousel--tabs-align-end>.n-carousel__index>*{text-align:end}.n-carousel--tabs.n-carousel>.n-carousel__next,.n-carousel--tabs.n-carousel>.n-carousel__previous{display:none}@-moz-document url-prefix(){.n-carousel--vertical>.n-carousel__content{display:block}.n-carousel--vertical>.n-carousel__content>:last-child{margin-block-end:var(--peek,0)}}.n-carousel--lightbox{flex:1;--nui-carousel-bg:transparent}.n-carousel--lightbox:not(.n-carousel--auto-height){max-height:var(--max-height,100vh)}.n-carousel--lightbox figure{height:100%;margin:0;display:grid;grid-template:auto 1fr/auto;box-sizing:border-box}.n-carousel--lightbox figure>*{grid-row:1/3;grid-column:1/1;display:flex;justify-content:center;align-items:center;justify-self:center}.n-carousel--lightbox figure>figcaption{grid-row:1/2;justify-self:center;padding:.5em .75em;background:rgba(0,0,0,.3);color:#ddd;z-index:0;border-radius:var(--nui-border-radius);margin:.25em}.n-carousel--lightbox.n-carousel--auto-height figure,.n-carousel--lightbox.n-carousel--auto-height iframe,.n-carousel--lightbox.n-carousel--auto-height video{height:auto;max-height:none}.n-carousel--lightbox.n-carousel--auto-height :not(:-webkit-full-screen):not(.n-carousel--overlay)>.n-carousel__content{max-height:var(--max-height)}.n-carousel--lightbox.n-carousel--auto-height :not(:fullscreen):not(.n-carousel--overlay)>.n-carousel__content{max-height:var(--max-height)}.n-carousel--lightbox.n-carousel--index-start figure{grid-template:1fr auto/auto}.n-carousel--lightbox.n-carousel--index-start figure>figcaption{grid-row:2/3}.n-carousel--lightbox.n-carousel--vertical:not(.n-carousel--controls-outside) figure>figcaption{margin-top:3em}.n-carousel--lightbox.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--index-start figure>figcaption{margin-top:none;margin-bottom:3em}.n-carousel--lightbox img{display:block;max-height:100%;max-width:100%;object-fit:contain;box-sizing:border-box;padding:0 .5px;z-index:0}.n-carousel--lightbox.n-carousel--auto-height img{max-height:none}.n-carousel--lightbox:-webkit-full-screen img{max-height:100%}.n-carousel--lightbox:-webkit-full-screen.n-carousel--auto-height figure{height:100%}.n-carousel--lightbox:fullscreen img{max-height:100%}.n-carousel--lightbox:fullscreen.n-carousel--auto-height figure{height:100%}.n-carousel--lightbox.n-carousel--overlay img{max-height:100%}.n-carousel--lightbox.n-carousel--overlay.n-carousel--auto-height figure{height:100%}.n-carousel--lightbox iframe,.n-carousel--lightbox video{border:none;margin:auto;max-width:100%;max-height:100%;height:auto;aspect-ratio:16/9}.n-carousel--lightbox>.n-carousel__content picture:not([data-loaded]){position:relative}.n-carousel--lightbox>.n-carousel__content picture:not([data-loaded]):before{content:"";position:absolute;inset:0;filter:blur(4px);background:var(--placeholder,none) center no-repeat;background-size:contain}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect{--max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect>.n-carousel__content>* figure{aspect-ratio:var(--ratio,16/9);position:relative;width:100%;height:auto}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect.n-carousel--auto-height img{max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect.n-carousel--vertical{height:var(--height)}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect.n-carousel--vertical>.n-carousel__content>*{height:auto;flex-grow:initial}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect{--max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect>.n-carousel__content>* figure{aspect-ratio:var(--ratio,16/9);position:relative;width:100%;height:auto}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect.n-carousel--auto-height img{max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect.n-carousel--vertical{height:var(--height)}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect.n-carousel--vertical>.n-carousel__content>*{height:auto;flex-grow:initial}@media only screen and (min-device-width:768px) and (max-device-width:1024px){.n-carousel:fullscreen .n-carousel__full-screen{display:none}}.transparent-scrollbar body>:not(dialog) ::-webkit-scrollbar{width:0;height:0}.transparent-scrollbar body>:not(dialog) ::-webkit-scrollbar-track{background:0 0}.n-modal{transition:opacity 67ms ease-in-out;overscroll-behavior:contain;background:var(--nui-bg,#fff);color:var(--nui-color,#000);border:0;text-align:right;overscroll-behavior:contain}.n-modal,.n-modal::backdrop{--duration:.2}.n-modal::backdrop{background:rgba(255,255,255,.9)}@media (prefers-reduced-motion:no-preference){.n-modal::backdrop{animation:backdrop_fade_in calc(var(--duration) * 1s) ease-in-out forwards}}@media (prefers-color-scheme:dark){.n-modal::backdrop{background:rgba(0,0,0,.9)}}.n-modal.n-modal--closing::backdrop{animation-name:backdrop_fade_out}.n-modal__content{display:none;overflow:auto;background:0 0;text-align:initial;max-height:calc(100vh - 2rem - 40px - 12px - 1em);padding:.25em}.n-modal>.n-modal__content{display:revert}.n-modal>.n-modal__close{min-width:40px;min-height:40px;margin:.25em;color:var(--nui-control-color,#fff);cursor:pointer;padding:.75em;font:inherit;background-color:var(--nui-control-bg,rgba(0,0,0,.7));z-index:1;top:0;position:sticky;border:0;padding:.5rem;font-weight:400}.n-modal>.n-modal__close:before{content:attr(data-close-symbol)}.n-modal.n-modal--full{margin:auto;width:100%;width:calc(100vw - 2 * env(safe-area-inset-left));height:100%;box-shadow:0 0 0 6px var(--nui-bg,#fff)}@media (prefers-color-scheme:dark){.n-modal.n-modal--full{box-shadow:0 0 0 6px var(--nui-bg,#000)}}.n-modal.n-modal--full::backdrop{opacity:0;animation:none}.n-modal[data-existing-attached-content]::backdrop{animation:none;background:#fff}@media (prefers-color-scheme:dark){.n-modal[data-existing-attached-content]::backdrop{background:#000}}.n-modal.n-modal--shadow{box-shadow:0 0 .25rem .125rem rgba(0,0,0,.5);max-height:calc(100% - 3.5rem);max-width:calc(100% - 3.5rem)}@media (prefers-color-scheme:dark){.n-modal.n-modal--shadow{box-shadow:0 0 .25rem .125rem rgba(255,255,255,.5)}}.n-modal.n-modal--shadow::backdrop{opacity:0;animation-name:none}.n-modal.n-modal--blur::backdrop{opacity:1;background:0 0;animation-name:backdrop_blur;animation-fill-mode:forwards}.n-modal.n-modal--blur.n-modal--closing::backdrop{animation-name:backdrop_blur_back}.n-modal.n-modal--rounded{border-radius:.5ch}.n-modal.n-modal--rounded .n-modal__close{border-radius:20px}.n-modal>*{background:var(--nui-bg,#fff);position:relative}@media (prefers-reduced-motion:no-preference){.n-modal.n-modal--transparent{opacity:0}.n-modal.n-modal--transparent::backdrop{opacity:.5;animation-name:none;transition:opacity 67ms ease-in-out}}_::-webkit-full-page-media,_:future,:root .n-modal{text-align:left}@keyframes backdrop_fade_in{from{opacity:0}to{opacity:1}}@keyframes backdrop_fade_out{from{opacity:1}to{opacity:0}}@keyframes backdrop_blur{from{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}}@keyframes backdrop_blur_back{from{-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}to{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}.n-modal,.n-modal__close{border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}@keyframes n-select{100%{visibility:hidden}}@keyframes n-select-native{100%{visibility:visible}}.n-select{position:relative;display:inline-grid;vertical-align:middle;max-width:100%;width:var(--width,auto);z-index:0;background-color:var(--nui-control-bg,#fff);line-height:var(--line-height,1.333)}.n-select:before{content:"";position:absolute;cursor:pointer;background-color:var(--nui-control-color,#333);--chevron:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16.003 18.626l7.081-7.081L25 13.46l-8.997 8.998-9.003-9 1.917-1.916z'/%3E%3C/svg%3E");-webkit-mask:var(--chevron) no-repeat 0 0/contain;mask:var(--chevron) no-repeat 0 0/contain;-webkit-mask-size:150%;-webkit-mask-position:50%;mask-size:150%;mask-position:50%;width:.75em;height:.75em;inset-inline-end:.625em;top:calc(50% - .375em);z-index:-1}@supports not (inset-inline-end:0){.n-select:before{right:.625rem}}.n-select:after{position:absolute;top:0;z-index:5}.n-select[data-ready]{font-size:1em;transition:height .2s ease-in-out}.n-select[data-ready]>.n-select__options>:not([aria-selected]){height:0;padding-top:0;padding-bottom:0;visibility:hidden;overflow:hidden;display:block}.n-select:not([data-ready]) .n-select__options,.n-select:not([data-ready]) select{animation-duration:.1s;animation-fill-mode:forwards;animation-delay:2s}.n-select:not([data-ready]) select{-webkit-appearance:none;appearance:none;border:none;width:100%;padding:var(--padding,.5em);padding-inline-end:1.961em;height:auto;margin:0;background:0 0}.n-select:not([data-ready]) select:not(:only-child){visibility:hidden;animation-name:n-select-native}.n-select:not([data-ready]) .n-select__options{display:inline-grid}.n-select:not([data-ready]) .n-select__options>*{grid-column:1/2;grid-row:1/2}.n-select:not([data-ready]) .n-select__options>:not(:first-child):not([aria-selected]){opacity:0}.n-select:not([data-ready]) .n-select__options:not([aria-expanded]) button[aria-selected]{background:var(--nui-control-bg,#fff)}.n-select>input{display:none}.n-select.n-select--wide{width:100%}.n-select.n-select--open{opacity:0;height:var(--active-option-height,auto)}.n-select,.n-select__options{--padding:.5em;--line-height:1.5em;border-radius:var(--nui-border-radius)}.n-select select,.n-select__options{width:auto;max-width:100%;color:var(--nui-control-color,#333);background-color:transparent;top:0;z-index:5;box-sizing:border-box;-webkit-appearance:none;appearance:none;font:inherit;border:none;grid-column:1/1;grid-row:1/1;overflow:hidden;-webkit-tap-highlight-color:transparent}.n-select select{padding:var(--padding,.5em);padding-inline-end:1.961em;cursor:pointer;line-height:calc(1 + var(--line-height,1.5em))}.n-select select~.n-select__options{animation-name:n-select}.n-select__options>*{display:block;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;user-select:none;line-height:inherit}.n-select__options button{-webkit-appearance:none;appearance:none;background:0 0;cursor:pointer;border:0;width:100%;text-align:start;margin:0;font-size:1em;position:relative;color:var(--nui-control-color,#333);background-color:var(--nui-control-bg,#fff);display:flex;align-items:center}.n-select__options button *{pointer-events:none;vertical-align:middle}.n-select__options button img{display:inline-block;object-fit:contain;width:2em;height:2em;margin-inline-end:.5em;max-width:none}.n-select__options.n-scrollbar{scrollbar-width:none;scrollbar-color:#999 transparent}.n-select__options.n-scrollbar::-webkit-scrollbar{width:.333em}.n-select__options.n-scrollbar::-webkit-scrollbar-thumb{background:#999;border-radius:.333em}.n-select__options.n-scrollbar::-webkit-scrollbar-track{background:0 0;border-radius:.333em}.n-select__options[aria-expanded]{position:absolute;margin-top:calc(-1px * (var(--active-option-offset,0) - var(--top-offset,0)) - 1px * var(--scroll-help-top,0));max-height:var(--max-height);overflow:auto;background:0 0;padding:0 calc(var(--padding,1em)/ 2);margin-inline-start:calc(-1 * var(--padding,1em)/ 2);left:calc(1px * var(--body-offset-x));top:calc(1px * var(--body-offset-y));box-sizing:content-box;min-width:var(--max-width)}.n-select__options[aria-expanded]>:first-child{margin-top:calc(2 * var(--padding,.5em));border-top-left-radius:var(--nui-border-radius);border-top-right-radius:var(--nui-border-radius)}.n-select__options[aria-expanded]>:last-child{margin-bottom:calc(2 * var(--padding,.5em));border-bottom-left-radius:var(--nui-border-radius);border-bottom-right-radius:var(--nui-border-radius)}.n-select__options[aria-expanded].n-select--crop-top{top:calc(1px * var(--body-offset-y));margin-top:calc(-1px * (var(--active-option-offset,0) - var(--top-offset,0)) - 1px * var(--scroll-help-top,0))}.n-select__options[aria-expanded]:not(.n-select--crop-top){padding-top:calc(1px * var(--scroll-help-top,0))}.n-select__options[aria-expanded]:not(.n-select--crop-top):before{margin-top:calc(1px * var(--scroll-help-top,0))}.n-select__options[aria-expanded] [aria-selected]{background-color:var(--nui-control-active-bg,#eee);color:var(--nui-control-active-color,#000)}.n-select__options[aria-expanded] a[href],.n-select__options[aria-expanded] button{width:100%;box-sizing:border-box}.n-select__options[aria-expanded] a[href]:not([aria-selected]):hover,.n-select__options[aria-expanded] button:not([aria-selected]):hover{background-color:var(--nui-control-highlight,#ececec);color:var(--nui-control-active-color,inherit)}.n-select__options[aria-expanded] a[href]:focus,.n-select__options[aria-expanded] button:focus{z-index:1}.n-select__options[aria-expanded]:before{content:"";position:absolute;background-color:var(--nui-control-bg,#fff);top:calc(2 * var(--padding,.5em));left:calc(var(--padding,.5em)/ 2);right:calc(var(--padding,.5em)/ 2);height:calc(var(--select-scroll-height) - 4 * var(--padding,.5em));border-radius:var(--nui-border-radius)}.n-select__options[aria-expanded].n-select--scroll-help-top:before{height:calc(100% + 1px * var(--top-offset,0))}.n-select__options[aria-expanded].n-select--shadow:before{box-shadow:0 0 4px 3px rgba(51,51,51,.5490196078)}.n-select__options:not([aria-expanded]){cursor:pointer;box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-select__options:not([aria-expanded]) button{white-space:nowrap;overflow:hidden;max-width:calc(100% - 1.5em);width:auto;margin:0;outline-offset:-1.5px;font-size:1em;border:none;padding:var(--padding,.5em);padding-inline-end:2em;font-weight:400;min-height:0;color:var(--nui-control-color,#333);background:0 0}.n-select__options>*,.n-select__options>button{padding:var(--padding,.5em);padding-inline-end:2em;position:relative;font-family:inherit;background-color:var(--nui-control-bg,#fff);box-shadow:none}.n-select[data-ready] select,.n-select[data-ready]+select,select[data-n_select]{display:none}.n-select__options[aria-expanded]{-webkit-mask:linear-gradient(0,#000,#000) no-repeat 0 calc((var(--mask-position-y) + var(--scroll-help-top,0)) * 1px)/calc(var(--max-width) + 2 * var(--padding,.5em)) var(--mask-size-y);overscroll-behavior:contain}.n-select__options[aria-expanded][data-n-select-animation]{transition:-webkit-mask-size .15s ease-in-out,-webkit-mask-position-y .15s ease-in-out;-webkit-mask-size:100% 100%;-webkit-mask-position-y:0}@media (prefers-reduced-motion:reduce){.n-select__options[aria-expanded][data-n-select-animation]{transition:none}}@media (min-width:600px){.n-select .n-select__options[aria-expanded]{width:calc(var(--max-width) + var(--padding,.5em))}}.n-select--rounded{--nui-border-radius:.333em}.n-select:focus:not(:focus-visible),.n-select__options button:focus:not(:focus-visible){outline:0}_::-webkit-full-page-media,_:future,:root body.n-select--open{overflow:hidden;-webkit-user-select:none;user-select:none}[dir=rtl] .n-select__options[aria-expanded]{margin-inline-end:0;left:auto;right:calc(100% - 1px * var(--body-offset-x) - var(--max-width));-webkit-mask-position-x:100%;mask-position-x:100%}@supports not (inset-inline-end:0){[dir=rtl] .n-select:before{left:.625rem;right:auto}}.n-tooltip{cursor:help}.n-tooltip__icon{display:inline-block;border-radius:.5em;min-width:1em;height:1em;text-align:center;line-height:1;background-color:var(--nui-control-bg,#444)}.n-tooltip__icon:empty:after{content:"?"}.n-tooltip__content,.n-tooltip__icon{color:var(--nui-control-color,#ddd)}.n-tooltip__content{overflow:hidden;max-height:calc(100vh - 40px);padding:calc(var(--line-height-em)/ 2);font-size:.8em;font-weight:400;position:absolute;z-index:999;text-align:start;transition:opacity .2s ease-in-out;width:min(30em,80vw);line-height:calc(var(--line-height-em)/ 1.25);padding:2em;box-sizing:border-box;display:none}.n-tooltip__content-visible{display:block}.n-tooltip__content:after{content:"";position:absolute;background-color:var(--nui-control-bg,#444);transform:rotate(45deg);width:1em;height:1em}.n-tooltip__content:before{content:"";inset:0;position:absolute;margin:1em;background:var(--nui-control-bg,#444);border-radius:var(--nui-border-radius);z-index:-1}.n-tooltip__content:not([data-n-position=top]){-webkit-mask:linear-gradient(red,red) no-repeat;-webkit-mask-size:100% calc(100% - 1em);mask:linear-gradient(red,red) no-repeat;mask-size:100% calc(100% - 1em)}.n-tooltip__content[data-n-position=bottom],.n-tooltip__content[data-n-position=top]{margin-left:var(--offset_x,0)}.n-tooltip__content[data-n-position=bottom]:after,.n-tooltip__content[data-n-position=top]:after{left:calc(50% - .5em - var(--offset_x,0));bottom:.55em}.n-tooltip__content[data-n-position=bottom]:after{top:.55em}.n-tooltip__content[data-n-position=left],.n-tooltip__content[data-n-position=right]{margin-top:var(--offset_y,0)}.n-tooltip__content[data-n-position=left]:after,.n-tooltip__content[data-n-position=right]:after{top:calc(50% - .5em - var(--offset_y,0));left:.55em}.n-tooltip__content[data-n-position=left]:after{right:.55em;left:auto}body:has(>.n-tooltip__content){position:relative}@-moz-document url-prefix(){body{position:relative}}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-nav{vertical-align:baseline;display:inline-block;color:var(--nui-control-color,inherit);--nui-nav-gap:0.75em;--n-nav-duration:0}@media (prefers-reduced-motion:no-preference){.n-nav{--n-nav-duration:.2s}}.n-nav a:focus{z-index:1}.n-nav ul{margin:0;padding:0;display:inline-block;width:auto;list-style:none;display:flex;flex-wrap:wrap;border-inline-start:var(--nui-nav-gap) solid var(--nui-control-bg);border-radius:var(--nui-border-radius);background-color:var(--nui-control-bg,transparent)}.n-nav ul li:last-child{margin-inline-end:0}.n-nav.n-nav--scroll{overflow:auto;max-width:100%;background-color:var(--nui-control-bg,transparent);border-radius:var(--nui-border-radius)}.n-nav.n-nav--scroll>ul{display:flex;flex-wrap:nowrap;white-space:nowrap}.n-nav a{position:relative;padding-inline-end:var(--nui-nav-gap);display:inline-block}.n-nav.n-big-text{--nui-nav-gap:1em}.n-nav a[aria-current],.n-nav a[aria-current][href]{text-decoration:none;color:var(--nui-control-active-color);cursor:initial}.n-nav:not(.n-nav--drop) a[href^="#"]{text-decoration:none}.n-nav.n-row{display:inline-flex}.n-nav.n-nav--vertical ul{display:grid;border:none}.n-nav.n-nav--vertical ul a{display:block;padding-inline-start:var(--nui-nav-gap)}.n-nav.n-nav--vertical ul li:first-child a{border-start-end-radius:var(--nui-border-radius);border-start-start-radius:var(--nui-border-radius)}.n-nav.n-nav--vertical ul li:last-child a{border-start-end-radius:0;border-end-start-radius:var(--nui-border-radius)}.n-nav.n-nav--vertical.n-nav--vertical-wide{display:block}.n-nav--scroll>ul{overflow:auto;max-width:100%;transform:translate3d(0,0,0);border:none}.n-nav--scroll ul li{padding:calc(var(--nui-line-height-em)/ 2) 0}.n-nav--scroll ul li:first-of-type a{padding-inline-start:var(--nui-nav-gap)}.n-nav--drop{--nui-nav-gap:0;color:var(--nui-control-color,#333);background-color:transparent;max-width:100%}.n-nav--drop ul{padding:0;margin:0;min-height:0;z-index:1;border-radius:0}.n-nav--drop ul ul{padding:0;position:absolute;inset-inline-start:0;top:100%}.n-nav--drop ul ul ul{margin-inline-start:100%;top:0}.n-nav--drop ul ul.n-left-side.n-right-overflow{margin-inline-start:var(--n-right-overflow,0)}.n-nav--drop ul ul.n-left-side ul{margin-inline-start:0;inset-inline-start:auto;inset-inline-end:100%}.n-nav--drop ul li{display:inline-block;vertical-align:top;margin:0;padding:0;box-sizing:border-box;position:relative;width:auto;background-color:var(--nui-control-bg,#fff)}.n-nav--drop li>a{padding:.75em;display:block}.n-nav--drop.n-nav li>a{background:0 0}.n-nav--drop a:focus,.n-nav--drop li>:focus{outline-offset:-7px}.n-nav--drop a[href]{position:relative}.n-nav--drop li:not([aria-haspopup])>a{z-index:0}.n-nav--drop ul[role=menubar] li>a{margin-inline-end:0;padding-inline-end:.75em}.n-nav--drop ul[role=menubar] li[aria-haspopup]>a{margin-inline-end:1.75em;padding-inline-end:.75em}.n-nav--drop[data-ready] ul[role=menubar] li[aria-haspopup]>a{margin-inline-end:0;padding-inline-end:.75em}.n-nav--drop li li{display:block;width:100%}.n-nav--drop ul li:not([aria-expanded])>ul{min-height:0;max-height:0;overflow:hidden;position:absolute}.n-nav--drop :focus~ul,.n-nav--drop a:focus~ul,.n-nav--drop li li:not(:focus) :checked~ul,.n-nav--drop li li[aria-expanded]>ul,.n-nav--drop ul li>:checked~ul,.n-nav--drop ul li[aria-expanded]>ul{max-height:none;overflow:visible;opacity:1;z-index:2;background-color:var(--nui-control-bg,#fff)}.n-nav--drop li li:not(:focus) :checked~ul,.n-nav--drop li li[aria-expanded]>ul,.n-nav--drop ul li[aria-expanded]>ul{z-index:2}.n-nav--drop li>input{-webkit-appearance:none;-moz-appearance:none;display:block;position:absolute;width:100%;height:100%;border:none;border-radius:0;inset-inline-end:0;width:1.875em;margin:0;font-size:inherit;cursor:pointer}.n-nav--drop li[aria-haspopup]:before{content:"";position:absolute;display:block;inset-inline-end:0;top:0;width:1.875em;height:100%}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li:before{content:"";margin:0;font-size:1em}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li:not([aria-haspopup=true]):before{display:none}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline).n-left-side li:before{inset-inline-end:auto;transform:rotate(180deg);inset-inline-start:0;margin:0;top:0;height:2em}.n-nav--drop.n-nav ul.n-list li:before{display:block;height:100%}.n-nav--drop li>input,.n-nav--drop li[aria-haspopup]:before{--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(180) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A") center center no-repeat;-webkit-mask:var(--mask);-webkit-mask-size:.5em;-webkit-mask-repeat:no-repeat;mask:var(--mask);mask-size:.5em;background-color:var(--nui-control-color,#000);mask-repeat:no-repeat}.n-nav--drop[data-ready] li>ul~a{background:0 0}.n-nav--drop li[aria-haspopup]{padding-inline-end:1.875em}@media (min-width:600px){.n-nav--drop{--desktop:true}.n-nav--drop ul ul{transition:transform var(--n-nav-duration) ease-in-out;transform-origin:top;transform:scaleY(0)}.n-nav--drop :focus~ul,.n-nav--drop a:focus~ul,.n-nav--drop li li:not(:focus) :checked~ul,.n-nav--drop li li[aria-expanded]>ul,.n-nav--drop ul li>:checked~ul,.n-nav--drop ul li[aria-expanded]>ul{transform:scaleY(1)}.n-nav--drop :focus~ul ul,.n-nav--drop a:focus~ul ul,.n-nav--drop li li:not(:focus) :checked~ul ul,.n-nav--drop li li[aria-expanded]>ul ul,.n-nav--drop ul li>:checked~ul ul,.n-nav--drop ul li[aria-expanded]>ul ul{transform:scaleX(1);transform-origin:left}.n-nav--drop li li>input,.n-nav--drop li li[aria-haspopup]:before{--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(90) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A");-webkit-mask-image:var(--mask);-webkit-mask-position:center;mask-image:var(--mask);mask-position:center}.n-nav--drop:not([data-ready]) li{display:flex}.n-nav--drop:not([data-ready]) li>input{position:static;order:1}.n-nav--drop:not([data-ready]) li:not([tabindex])>ul~a{padding-inline-end:.75em}.n-nav--drop li:not([tabindex])>ul~a{padding-inline-end:2.75em}.n-nav--drop ul.n-left-side li[aria-haspopup]{padding-inline-end:0;padding-inline-start:1.875em}.n-nav--drop ul.n-left-side li[aria-haspopup]:before{transform:rotate(180deg);inset-inline-start:0}html:not(.can-touch) .n-nav--drop ul li:not([aria-expanded]) ul ul{transition:calc(var(--n-nav-duration)/ 2) var(--n-nav-duration);opacity:0;position:absolute;transform:scaleX(0);transform-origin:left}html:not(.can-touch) .n-nav--drop ul li:not([aria-expanded]) ul.n-left-side ul{transform-origin:right}html:not(.can-touch) .n-nav--drop>ul>li>ul li{background-color:var(--nui-control-bg,#fff)}html:not(.can-touch) .n-nav--drop>ul li ul>li:hover>input:not(:checked)~ul,html:not(.can-touch) .n-nav--drop>ul li:not([aria-haspopup]) ul li:hover>input:not(:checked)~ul,html:not(.can-touch) .n-nav--drop>ul>li:hover>input:not(:checked)~ul,html:not(.can-touch) .n-nav--drop>ul>li:not([aria-haspopup]):hover>input:not(:checked)~ul{min-height:0;max-height:0;overflow:hidden;z-index:1;position:absolute}html:not(.can-touch) .n-nav--drop ul ul li:not([aria-expanded]) :checked~ul,html:not(.can-touch) .n-nav--drop>ul li ul>li:hover>ul,html:not(.can-touch) .n-nav--drop>ul li:not([aria-haspopup]) ul li:hover~ul,html:not(.can-touch) .n-nav--drop>ul>li:hover>ul,html:not(.can-touch) .n-nav--drop>ul>li:not([aria-haspopup]):hover>ul{max-height:none;overflow:visible;opacity:1;z-index:2;background-color:var(--nui-control-bg,#fff);transform:scaleY(1)}html:not(.can-touch) .n-nav--drop>ul li ul li:hover ul{transition-delay:var(--n-nav-duration);transform:scaleX(1)}nav.n-nav--drop ul[role=menubar]>li>a{max-width:100vw;white-space:normal}nav.n-nav--drop li{white-space:nowrap}nav.n-nav--drop li li li a,nav.n-nav--drop li li[haspopup]>a{white-space:normal;max-width:calc(33.33vw - 2em);width:100em}html.can-touch .n-nav--drop li .n-left-side>li:not([aria-expanded]){overflow:hidden}[dir=rtl] .n-nav--drop li ul:not(.n-left-side)>li[aria-haspopup]:before{transform:rotate(180deg)}html:not(.can-touch) [dir=rtl] .n-nav--drop ul li:not([aria-expanded]) ul ul,html:not(.can-touch)[dir=rtl] .n-nav--drop ul li:not([aria-expanded]) ul ul{transform-origin:right}}@media not screen and (min-width:600px){.n-nav--drop ul li:not([aria-expanded])>ul{position:static;width:calc(100% + 3em);transition:max-height var(--n-nav-duration) ease-in-out}.n-nav--drop ul ul{position:static;width:calc(100% + 3em);padding-inline-start:.5em;overflow:hidden;box-sizing:border-box}.n-nav--drop ul ul ul{margin:0}.n-nav--drop ul li{width:100%}.n-nav--drop ul li[aria-haspopup]{padding-inline-end:3em}.n-nav--drop ul li[aria-haspopup][aria-expanded]:before{--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(0) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A");-webkit-mask-image:var(--mask);mask-image:var(--mask);-webkit-mask-position-x:center;mask-position-x:center;-webkit-mask-position-y:1.15em;mask-position-y:1.15em}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline).n-left-side li:before{inset-inline-end:0;inset-inline-start:auto;transform:none}.n-nav--drop li>input{-webkit-mask-position-y:1.15em;mask-position-y:1.15em;z-index:1}html:not([data-nui-js]) .n-nav--drop{width:100%}html:not([data-nui-js]) .n-nav--drop ul li{display:flex;flex-direction:column}html:not([data-nui-js]) .n-nav--drop ul li a{order:-1}html:not([data-nui-js]) .n-nav--drop ul li:not([aria-expanded])>ul{width:100%}html:not([data-nui-js]) .n-accordion.n-accordion--mobile:not([aria-expanded]) .n-accordion__content{max-width:100%}}@supports (-webkit-overflow-scrolling:touch){.n-nav--drop :focus{outline-style:dotted;outline-width:1px}}.n-nav--scroll,.n-nav:not(.n-nav--drop) ul{box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-notify{background:rgba(0,0,0,.8);text-align:center;padding:1em;color:#fff;cursor:crosshair;z-index:1;-webkit-appearance:none;appearance:none;border:none;width:100%;font:inherit}.n-notify:after{content:" ✕"}.n-notify--fixed{font-weight:500;position:fixed;left:0;right:0;z-index:2}.n-notify:focus:focus-visible{outline-offset:-3px;outline:auto}.n-parallax{overflow:hidden}.n-parallax__content{will-change:transform;transform:translateY(calc(var(--scrollparallax,0) * 1px))}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-table{overflow:auto;border-collapse:collapse;border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color);display:inline-block}.n-table--wide{display:table;width:100%;overflow:hidden;table-layout:fixed}.n-table td,.n-table th{padding:var(--nui-line-height-em) calc(var(--nui-line-height-em)/ 2);vertical-align:middle}.n-table th,.n-table thead td{color:#fff;font-weight:700;padding-bottom:var(--nui-line-height-em);font-size:1.1em;background:rgba(0,0,0,.3);text-align:start}.n-table th button.n-table__sort,.n-table thead td button.n-table__sort{width:100%;cursor:pointer;-webkit-appearance:none;appearance:none;font:inherit;text-align:inherit;border:0;padding:0;background:0 0;color:inherit;user-select:none}.n-table th button.n-table__sort:after,.n-table thead td button.n-table__sort:after{content:"⇳";margin-left:.5em}.n-table tr:nth-child(2n+1){background:rgba(0,0,0,.025)}.n-table iframe,.n-table td,.n-table th,.n-table tr{border:none}@media not screen and (min-width:600px){.n-table{table-layout:auto}.n-table td{word-break:normal}}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-type{-webkit-text-size-adjust:none;font-size:var(--nui-font-size,16px);line-height:var(--nui-line-height);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;letter-spacing:.25px}.n-type h1,.n-type h2,.n-type h3,.n-type h4,.n-type h5,.n-type h6{line-height:var(--nui-line-height);word-break:break-word;word-wrap:break-word;font-size:1em;font-weight:500;margin:24px 0;line-height:3rem}@media not screen and (min-width:600px){.n-type h1,.n-type h2,.n-type h3,.n-type h4,.n-type h5,.n-type h6{-webkit-hyphens:auto;hyphens:auto}}.n-type h1+p:not(.n-drop-cap),.n-type h2+p:not(.n-drop-cap),.n-type h3+p:not(.n-drop-cap),.n-type h4+p:not(.n-drop-cap),.n-type h5+p:not(.n-drop-cap),.n-type h6+p:not(.n-drop-cap){margin-top:0}.n-type h4,.n-type h5,.n-type h6{line-height:1.5rem}.n-type h1{font-size:2.75rem}.n-type h2{font-size:2.25rem}.n-type h3{font-size:2rem}.n-type h4{font-size:1.75rem}.n-type h5{font-size:1.5rem}.n-type h6{font-size:1.25rem}.n-type pre{overflow:auto}.n-type p{font-size:1em;margin:var(--nui-line-height-em) 0;line-height:var(--nui-line-height)}.n-type .n-drop-cap:first-letter{float:left;font-size:5em;padding:.1em .1em .1em 0;margin-top:-.2em;line-height:1em}.n-type a[href]{color:inherit}.n-type p a[href]{display:inline}.n-type hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}.n-type .n-quote,.n-type blockquote,.n-type q{border-inline-start:1px solid #bbb;padding-inline-start:1em;display:block;margin:var(--nui-line-height-em) 0;margin-inline-start:1em}.n-type .n-big-text{font-size:1.125em;line-height:calc(2 * var(--nui-line-height-em));min-height:1.3334em}.n-adjust-height,.n-row picture.n-adjust-height{border-bottom:calc(1px * var(--adjust-height)) solid transparent;box-sizing:content-box}.n-burger{width:1.5em;height:1.5em;line-height:1.5em;font-size:2em;display:inline-block;text-align:center;position:relative;background:var(--nui-control-bg,#fff)}.n-burger:before{content:"";position:absolute;left:.25em;width:1em;top:.15em;box-shadow:0 .25em 0 1px var(--nui-control-color,#333),0 .625em 0 1px var(--nui-control-color,#333),0 1em 0 1px var(--nui-control-color,#333);height:.1px}[dir=rtl] .n-type .n-drop-cap:first-letter,[dir=rtl].n-type .n-drop-cap:first-letter{float:right}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-contain{max-width:100rem;margin:0 auto;width:100%}html.n-vertical-page,html.n-vertical-page body{height:100%;margin:0 auto;overflow-x:hidden}html.n-vertical-page body{overflow:hidden;height:auto}body.n-sticky-footer{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}body.n-sticky-footer main{flex-grow:1}.n-header a.n-logo{display:inline-block}.n-wide-screen{display:block}.n-narrow-screen{display:none}.n-footer{position:relative}.n-footer>*{position:static}.n-fixed-bg{position:relative;z-index:0}.n-fixed-bg__backdrop{position:absolute;clip:rect(auto,auto,auto,auto);width:100%;height:100%;inset:0;z-index:-1}.n-fixed-bg__backdrop img{inset:0;width:100%;height:100vh;height:100dvh;position:fixed;object-fit:cover;object-position:center}.n-fixed{position:fixed}.n-fixed.n-header{position:static}a[href].span-relative-parent{position:absolute;top:0;right:0;bottom:0;left:0}.n-viewport{min-height:100vh;min-height:100dvh}@media not screen and (min-width:600px){.n-wide-screen{display:none}.n-narrow-screen{display:block}.n-viewport.n-header-banner{height:auto;overflow:hidden}.n-header .head-right{text-align:start}.n-header.n-fixed{position:fixed;top:0;left:0;right:0;background:#fff;z-index:7}.n-header a.n-logo{float:right}}:root{--nui-border-size:0px;--nui-border-color:var(--nui-control-color);--nui-shadow-size:0px;--nui-shadow-blur:0;--nui-shadow-color:var(--nui-control-color);--nui-border-color:transparent}.n-scheme-dark{--nui-color:var(--nui-color-dark);--nui-bg:var(--nui-bg-dark);--nui-control-color:var(--nui-control-color-dark);--nui-control-bg:var(--nui-control-bg-dark);--nui-control-active-bg:var(--nui-control-active-bg-dark);--nui-control-active-color:var(--nui-control-active-color-dark);--nui-control-highlight:var(--nui-control-highlight-dark);--nui-input-color:var(--nui-input-color-dark);--nui-input-bg:var(--nui-input-bg-dark);--nui-list-color:var(--nui-list-color-dark);--nui-list-bg:var(--nui-list-bg-dark);--nui-border-color:var(--nui-border-color-dark);--nui-shadow-color:var(--nui-shadow-color-dark);--nui-border-color-dark:transparent;--nui-shadow-color-dark:transparent}@media (prefers-color-scheme:dark){.n-scheme-auto{--nui-color:var(--nui-color-dark);--nui-bg:var(--nui-bg-dark);--nui-control-color:var(--nui-control-color-dark);--nui-control-bg:var(--nui-control-bg-dark);--nui-control-active-bg:var(--nui-control-active-bg-dark);--nui-control-active-color:var(--nui-control-active-color-dark);--nui-control-highlight:var(--nui-control-highlight-dark);--nui-input-color:var(--nui-input-color-dark);--nui-input-bg:var(--nui-input-bg-dark);--nui-list-color:var(--nui-list-color-dark);--nui-list-bg:var(--nui-list-bg-dark);--nui-border-color:var(--nui-border-color-dark);--nui-shadow-color:var(--nui-shadow-color-dark);--nui-border-color-dark:transparent;--nui-shadow-color-dark:transparent}} +@charset "UTF-8";:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-card{margin:1em 0;--nui-card-bg:rgba(0, 0, 0, 0.1);background:var(--nui-card-bg,rgba(0,0,0,.1));border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color);overflow:hidden}.n-card>*{padding:1em}.n-card__content{background:var(--nui-card-bg)}.n-card__content p{margin:.75em 0}.n-card__content p:first-child{margin-top:0}.n-card>img{display:block;margin:0 auto;max-width:100%;padding:0}.n-card__head>*{margin:0}.n-card__head.n-card__head--image{background-position:center center;background-size:cover;background-repeat:no-repeat;color:#fff}.n-card__head.n-card__head--image:after{content:"";padding-bottom:56.25%;width:0;display:inline-block;vertical-align:bottom}.n-card__head.n-card__head--image>*{display:inline-block;margin:0}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-btn,.n-form button[type=reset],.n-form button[type=submit],.n-form input[type=submit],.n-type a.n-btn[href],a.n-btn[href],button.n-btn{font-size:inherit;text-align:initial;line-height:var(--nui-line-height);min-height:var(--nui-line-height-em);text-decoration:none;display:inline-block;cursor:pointer;width:auto;word-break:break-word;padding:0 .6em;-webkit-appearance:none;background-color:#333;background-color:var(--nui-control-bg,#333);color:#eee;color:var(--nui-control-color,#eee);border:none;font-family:inherit;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-btn:not([disabled]):hover,.n-form button[type=reset]:not([disabled]):hover,.n-form button[type=submit]:not([disabled]):hover,.n-form input[type=submit]:not([disabled]):hover,.n-type a.n-btn[href]:not([disabled]):hover,a.n-btn[href]:not([disabled]):hover,button.n-btn:not([disabled]):hover{background-color:#eee;color:#333}button.n-btn[disabled]{cursor:default;opacity:.2;margin:0;font-size:inherit}.n-btn.n-btn--big,.n-form button,.n-form input[type=submit],a[href].n-btn.n-btn--big{margin:calc(var(--nui-line-height-em)/ 3) 0;font-size:1.2em;padding:.75em 1em;line-height:1.05em;min-height:0;font-weight:500}.n-btn__group{margin:0 -.25em}.n-btn__group .n-btn.n-btn--big,.n-btn__group>*,.n-btn__group>a[href].n-btn.n-btn--big{margin-inline-end:.25em;margin-inline-start:.25em}@media not screen and (min-width:600px){.n-btn.n-btn--big{display:block;text-align:center}}.n-btn--ripple{background:radial-gradient(circle,rgba(0,0,0,.05) 70%,rgba(0,0,0,0) 0) no-repeat var(--ripple-x) var(--ripple-y)/0 0;transition:.15s ease-out;transition-property:background-size,background-position}.n-btn--ripple:active{background-position:calc(var(--ripple-x) - var(--ripple-radius)) calc(var(--ripple-y) - var(--ripple-radius));background-size:calc(2 * var(--ripple-radius)) calc(2 * var(--ripple-radius))}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-form{padding:var(--nui-line-height-em) 0;--nui-placeholder-color:#aaa}.n-form *{box-sizing:border-box}.n-form input,.n-form label,.n-form textarea{display:inline-block;vertical-align:middle}.n-form ::-webkit-input-placeholder{color:var(--nui-placeholder-color);-webkit-text-fill-color:var(--nui-placeholder-color)}.n-form button[type=submit],.n-form input[type=submit],.n-form label,.n-form label>span,.n-form__check span{line-height:var(--nui-line-height);min-height:var(--nui-line-height-em)}.n-form label{font-weight:700;max-width:100%;position:relative;padding:0;margin:0 0 var(--nui-line-height-em) 0;min-height:calc(var(--nui-line-height-em) * 2)}.n-form button,.n-form button[type=submit],.n-form input[type=submit]{height:auto;line-height:var(--nui-line-height);white-space:normal;word-break:break-all;margin:0;max-width:100%;padding:0 1em;font-weight:500}.n-form .n-form__file span,.n-form button,.n-form input,.n-form input[type=search],.n-form select,.n-form textarea{font-family:inherit;display:inline-block;overflow:hidden;resize:none;vertical-align:top;border-radius:0;padding:0 calc(var(--nui-line-height-em)/ 2);min-height:calc(var(--nui-line-height-em) * 2);border:0;font-size:1em;border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-form input[type=checkbox]{border-radius:0}.n-form .n-form__file span span{display:flex;align-items:center}.n-form textarea{border-bottom:1px dotted transparent;height:0;min-height:calc(var(--nui-line-height-em) * 3);padding-top:calc(var(--nui-line-height-em)/ 2);margin:var(--nui-line-height-em) 0}.n-form textarea:not([data-auto]){overflow:auto}.n-form textarea[data-auto]{transform:translate3d(0,0,0)}.n-form input,.n-form textarea{background-color:var(--nui-input-bg,#eee);color:var(--nui-input-color,#333)}.n-form select{-moz-appearance:none;-webkit-appearance:none;appearance:none;text-indent:.01px;min-height:0;text-indent:0;padding:0 1.6em 0 .8em;height:calc(var(--nui-line-height-em) * 2);white-space:nowrap;text-indent:-1px;margin:0;text-indent:1px;cursor:pointer;background:linear-gradient(to bottom left,transparent 30%,var(--nui-control-color,#333) 10%,var(--nui-control-color,#333) 50%,transparent 30%),linear-gradient(to bottom right,transparent 30%,var(--nui-control-color,#333) 10%,var(--nui-control-color,#333) 50%,transparent 30%);background-size:.4em .4em;background-repeat:no-repeat;background-position:calc(100% - .85em),calc(100% - .5em);color:var(--nui-control-color,#333);background-color:var(--nui-control-bg,#eee)}.n-form select option{padding:0;padding-inline-end:1.5em}.n-form select,.n-form__file{vertical-align:top;border:none;margin-inline-start:0}.n-form input[type=search]{-webkit-appearance:none;border-radius:0}.n-form input[type=search]::-webkit-search-cancel-button,.n-form input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.n-form label,.n-form label span,.n-form__check span{margin:0;text-align:start}.n-form input,.n-form select{display:inline-block;width:auto;padding-top:0;margin:var(--nui-line-height-em) 0;vertical-align:middle}.n-form.sticky-submit{position:relative}.n-form.sticky-submit button[type=submit],.n-form.sticky-submit input[type=submit]{position:absolute;top:0;bottom:0;inset-inline-end:0}.n-form fieldset,.n-form__check{display:block;min-height:var(--nui-line-height-em);margin-bottom:var(--nui-line-height-em);border-radius:var(--nui-border-radius)}.n-form fieldset span,.n-form__check span{display:inline-block;font-weight:700;margin-top:0;cursor:default}.n-form fieldset label,.n-form__check label{text-align:start;font-weight:400;clear:right;margin:0;cursor:pointer;min-height:0;user-select:none;padding-inline-start:0;padding-inline-end:.75em;padding-bottom:0;display:inline}.n-form fieldset label span,.n-form__check label span{width:auto}.n-form fieldset label:last-child,.n-form__check label:last-child{margin-bottom:0}.n-form fieldset label input[type=checkbox],.n-form fieldset label input[type=radio],.n-form__check label input[type=checkbox],.n-form__check label input[type=radio]{margin:-.25em .2em 0 0}.n-form__check-icon{width:1em;height:1em;display:inline-block;background-color:var(--nui-control-bg,#eee);color:var(--nui-control-color,#333);line-height:calc((var(--nui-line-height) + 1) * .6666666667);text-align:center;border:none;margin:0;position:absolute;inset-inline-start:0;z-index:1;top:.05em;vertical-align:middle}.n-form--mast .n-form__check-icon,.n-form--wide .n-form__check-icon{top:.25em}.n-form input[type=checkbox]+.n-form__check-icon:before{content:"✓";display:block;height:1em;line-height:1}.n-form input[type=checkbox]:not(:checked)+.n-form__check-icon:before{opacity:0}.n-form input[type=checkbox],.n-form input[type=radio]{-webkit-appearance:none;-moz-appearance:window;-ms-appearance:none;background:0 0;cursor:pointer;padding:0;min-height:0;height:1em;width:1em;display:inline-block;margin:0;border:none}.n-form input[type=radio]+.n-form__check-icon{border-radius:50%}.n-form input[type=radio]:checked+.n-form__check-icon:before{content:"";position:absolute;background-color:var(--nui-control-color,#333);top:25%;right:25%;bottom:25%;left:25%;border-radius:50%}.n-form--mandatory{position:relative}.n-form--mandatory fieldset:before,.n-form--mandatory span.n-form__check:before,.n-form--mandatory span.tip:after{display:none}.n-form--mandatory:before{content:"*";color:#a00;position:absolute;top:0;font-weight:700;inset-inline-start:auto;inset-inline-end:0}.n-form--mandatory:has(fieldset):before{top:-.25rem}.n-form--alert p,.n-form--alert span{background:#666;color:#eee;padding:0 .25em}.n-form--alert fieldset,.n-form--alert span.n-form__check{background:0 0;color:#555}.n-form--alert span.tip{background:#222}.n-form__file{font-weight:400;margin:0 0 var(--nui-line-height) 0;cursor:pointer;font-style:italic;padding:0;position:relative;z-index:0}.n-form__file span{text-align:start;border:none;white-space:nowrap;background-color:var(--nui-control-bg,#ddd);color:var(--nui-control-color,inherit);padding:0 calc(var(--nui-line-height-em)/ 2) 0 .75em;display:block;line-height:var(--nui-line-height-em);padding-top:calc(var(--nui-line-height-em)/ 2);letter-spacing:0;position:absolute;inset:0;z-index:-1}.n-form__file span .n-form__file-name:empty,.n-form__file span .n-form__file-name:not(:empty)~.n-form__file-tag{display:none}.n-form__file input[type=file]{width:100%;cursor:pointer;border:none;margin:0;background:0 0;color:transparent;text-indent:-100%;padding:0;opacity:0}.n-form__file input[type=file]:focus+span{outline:auto}.n-form input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:0 0;margin:0;padding:0;box-shadow:none}.n-form input[type=range]::-webkit-slider-runnable-track{width:100%;height:.7125em;cursor:pointer;background:var(--nui-control-bg,rgba(0,0,0,.1))}.n-form input[type=range]::-webkit-slider-thumb{height:1.625em;width:1.625em;border-radius:50%;background:var(--nui-control-highlight,#000);cursor:pointer;-webkit-appearance:none;margin-top:-.45625em}.n-form input[type=range]:focus::-webkit-slider-runnable-track{background:var(--nui-control-bg,rgba(0,0,0,.1))}.n-form input[type=range]::-moz-range-track{width:100%;height:.7125em;cursor:pointer;background:var(--nui-control-bg,rgba(0,0,0,.1))}.n-form input[type=range]::-moz-range-thumb{border:0 solid transparent;height:1.625em;width:1.625em;border-radius:50%;background:var(--nui-control-bg,rgba(0,0,0,.1));cursor:pointer}.n-form legend{font-weight:700}.n-form fieldset{border:1px solid;display:block;margin:var(--nui-line-height-em) 0;padding:calc(var(--nui-line-height-em)/ 2 - .5px)}.n-form fieldset[disabled]{display:none}.n-form button,.n-form input[type=submit]{width:auto;min-width:0;padding:0 1em;min-height:calc(var(--nui-line-height-em) * 1.6667);text-align:start;font-size:1.2em;border-radius:var(--nui-border-radius)}.n-form--mast textarea,.n-form--wide textarea{margin:calc(var(--nui-line-height-em)/ -2) 0 calc(var(--nui-line-height-em)/ 2) 0}.n-form--wide button,.n-form--wide button[type=submit],.n-form--wide input[type=submit]{margin-bottom:calc(var(--nui-line-height-em) - 5px);line-height:calc(var(--nui-line-height-em)/ 3 * 2);font-size:1.2em;min-height:2.50005em;width:100%}.n-form--wide select{width:100%;height:calc(var(--nui-line-height-em) * 2);margin:calc(var(--nui-line-height-em)/ -2) 0 calc(var(--nui-line-height-em)/ 2) 0}.n-form--wide .n-form__check span,.n-form--wide .n-form__file,.n-form--wide fieldset label,.n-form--wide label,.n-form--wide label span{display:block;width:100%;clear:both}.n-form--wide select,.n-form--wide textarea,.n-form--wide:not(.sticky-submit) input:not([type=checkbox]):not([type=radio]){display:block;width:100%;border:none;margin:0 0 var(--nui-line-height-em) 0}.n-form--wide:not(.sticky-submit) fieldset>input:not([type=checkbox]):not([type=radio]):last-of-type,.n-form--wide:not(.sticky-submit) fieldset>select:last-of-type,.n-form--wide:not(.sticky-submit) fieldset>textarea:last-of-type{margin:0}.n-form--wide .n-form__check label input[type=checkbox],.n-form--wide .n-form__check label input[type=radio],.n-form--wide fieldset label input[type=checkbox],.n-form--wide fieldset label input[type=radio]{margin-top:-.2em}.n-form.n-form--mast button,.n-form.n-form--mast button[type=submit],.n-form.n-form--mast input[type=submit]{margin-inline-start:calc(50% + .5em);margin-bottom:calc(var(--nui-line-height-em) * 1.5)}.n-form.n-form--mast fieldset,.n-form.n-form--mast label{width:100%;display:grid;grid-template:auto/1fr 1fr;column-gap:1em;margin-bottom:1.5em}.n-form.n-form--mast fieldset{border-color:transparent;border:none;padding:calc(var(--nui-line-height-em)/ 2);padding-top:0;padding-bottom:var(--nui-line-height-em)}.n-form.n-form--mast fieldset legend{margin-bottom:calc(-1 * var(--nui-line-height-em));text-align:end;grid-column:1/2;grid-row:1/2;width:50%}.n-form.n-form--mast fieldset label{margin:0;display:block}.n-form.n-form--mast fieldset>*,.n-form.n-form--mast>.n-form__check fieldset>*,.n-form.n-form--mast>.n-form__check>*,.n-form.n-form--mast>label>*{width:100%;margin:calc(var(--nui-line-height-em)/ -2) 0 calc(var(--nui-line-height-em) * 1.5) 0;grid-column:-2/-1}.n-form.n-form--mast>.n-form__check fieldset>span,.n-form.n-form--mast>.n-form__check>span,.n-form.n-form--mast>label>span{text-align:end;grid-column:1;margin:0}.n-form.n-form--mast>.n-form__check{display:grid;grid-template:auto/1fr 1fr;column-gap:1em}.n-form.n-form--mast>.n-form__check>*{margin:0}.n-form.n-form--mast>.n-form__check label{display:block}.n-form.n-form--mast>.n-form__check fieldset{display:contents}.n-form.n-form--mast>.n-form__check fieldset label,.n-form.n-form--mast>.n-form__check fieldset legend{margin:0}.n-form.n-form--mast>.n-form__check fieldset legend{grid-column:1}.n-form.n-form--mast .n-form--mandatory:before{inset-inline-start:calc(50% - .5em);z-index:-1}_::-webkit-full-page-media,_:future,:root .n-form.n-form--mast fieldset{display:block}_::-webkit-full-page-media,_:future,:root .n-form.n-form--mast fieldset legend{width:calc(50% - .5em)}_::-webkit-full-page-media,_:future,:root .n-form.n-form--mast fieldset label{width:calc(50% - .5em);float:inline-end}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}ul.n-list{padding:0;line-height:var(--nui-line-height);min-height:var(--nui-line-height);margin:calc(var(--nui-line-height)/ 2) 0}ul.n-list.n-list--indent{margin-inline-start:1.5em}ul.n-list li{display:block;position:relative;width:100%;list-style:none;word-break:break-word;word-wrap:break-word}ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li{margin-inline-start:1em;max-width:calc(100% - 1em)}ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li:before{content:"•";position:absolute;margin-inline-start:-.67em;color:var(--nui-list-bg);font-size:1.5em;line-height:.9}ul.n-list.n-list--inline>li:first-child{margin-inline-start:0}ol.n-list{list-style-type:none;counter-reset:level1;padding:0;margin:0 0 var(--nui-line-height-em) 0}ol.n-list>li{text-indent:-2.3em;margin:var(--nui-line-height-em) 0 calc(var(--nui-line-height-em)/ 2) 2.3em}ol.n-list>li:before{width:auto;content:counter(level1);counter-increment:level1;font-weight:700;background:var(--nui-list-bg,#999);color:var(--nui-list-color,#fff);padding:0 .5em;border-radius:50%;margin-inline-end:.333em;min-height:1em;display:inline-block;text-indent:0;text-align:center}ol.n-list li>*{text-indent:0;display:inline-block;vertical-align:top;padding-top:0;margin-top:0}ol.n-list li>ul{display:block}ol.n-list>li ol{list-style-type:none;counter-reset:level2;display:block}ol.n-list>li ol>li:before{content:counter(level1) "." counter(level2) " ";counter-increment:level2;border-radius:1em}ol.n-list ol>li ol{list-style-type:none;counter-reset:level3;margin-inline-start:1em}ol.n-list ol>li ol li:before{content:counter(level1) "." counter(level2) "." counter(level3) " ";counter-increment:level3}ol.n-list ol>li{text-indent:-3.3em}ol.n-list ol ol>li{text-indent:-3.95em}ol.n-list ul{text-indent:.1em}ol.n-list p{text-indent:0}.n-nav.n-nav--scroll ul li,ul.n-list.n-list--inline,ul.n-list.n-list--inline li{vertical-align:top;display:inline-flex;width:auto}.n-nav ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li{margin-inline-start:0;max-width:100%}.n-nav ul.n-list li:before{display:none}[dir=rtl] ol.n-list>li{margin:var(--nui-line-height-em) 2.3em calc(var(--nui-line-height-em)/ 2) 0}[dir=rtl] ol.n-list>li:before{margin:0 0 0 .5em}.n-aspect{display:block;aspect-ratio:var(--ratio,calc(var(--width)/ var(--height)))}.n-aspect>img{max-width:100%;height:auto;margin:0 auto;display:block}.n-aspect.n-bottom>*{align-self:flex-end;vertical-align:bottom}.n-aspect.n-middle>*{align-self:center;vertical-align:middle}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-row{width:100%;display:flex;flex-wrap:wrap;text-align:center}.n-row img,.n-row picture{max-width:100%;height:auto;border:none;text-align:center}.n-row video{height:auto;background:#000;margin:0 auto;display:block;max-width:100%}.n-row video a[href]{color:#fff}.n-row table:not(.n-table) td{word-break:break-word}.n-row>*{position:relative;word-wrap:break-word;width:calc(20% - var(--nui-line-height-em));--col-width:1/5;padding:calc(var(--nui-line-height-em)/ 4);margin:calc(var(--nui-line-height-em)/ 4);flex-grow:1;text-align:start;min-width:0}.n-row>[class*=" _"],.n-row>[class^=_]{flex-grow:0}.n-row>*,.n-row>*>*{max-width:100%}.n-row>*>img{display:block;margin:0 auto}.n-row>._2\/3{--col-width:2/3}.n-row>._3\/4{--col-width:3/4}.n-row>._1\/4{--col-width:1/4}.n-row>._1\/5{--col-width:1/5}.n-row>._1\/6{--col-width:1/6}.n-row>._2\/5{--col-width:2/5}.n-row>._3\/5{--col-width:3/5}.n-row>._4\/5{--col-width:4/5}.n-row>._1\/3{--col-width:1/3}.n-row>._1\/2{--col-width:1/2}.n-row>._1\/1,.n-row>:only-child:not([class^=_]){--col-width:1}@-moz-document url-prefix(){.n-row>*{margin:calc(var(--nui-line-height-em)/ 4 - .0009em)}}@supports (--a:1){.n-row>*,.n-row>[class^=_]{--spacing:var(--nui-line-height-em);flex-basis:calc(var(--col-width) * 100% - var(--spacing))}@media screen and (max-width:1024px){.n-row>*{--col-width:1/5}}@media not screen and (min-width:900px){.n-row>*{--col-width:1/3}}.n-row.n-row--no-padding,.n-row.n-row--no-padding>*{--spacing:calc(var(--nui-line-height-em) / 2);padding:0}.n-row.n-row--no-margin,.n-row.n-row--no-margin>*,.n-row.n-row--vertical>*{--spacing:calc(var(--nui-line-height-em) / 2);margin:0}.n-row.n-row--no-spacing>*{--spacing:0em;padding:0;margin:0}.n-row.n-row--spacing-horizontal>*{margin:0 calc(var(--nui-line-height-em)/ 2)}.n-row.n-row--spacing-vertical>*{margin:calc(var(--nui-line-height-em)/ 2) 0}}.n-left,.n-left>*,.n-row>.n-left{text-align:start}.n-right,.n-right>*,.n-row>.n-right{text-align:end}.n-center,.n-center>*,.n-row>.n-center{text-align:center}.n-row>.n-bottom,.n-row>.n-middle,.n-row>.n-top{display:flex}.n-row>.n-top,.n-top.n-row>*{vertical-align:top;justify-content:flex-start;flex-direction:column;display:flex}.n-middle.n-row>*,.n-row>.n-middle{vertical-align:middle;justify-content:center;flex-direction:column;display:flex}.n-bottom.n-row>*,.n-row>.n-bottom{vertical-align:bottom;justify-content:flex-end;flex-direction:column;display:flex}.n-align-children *,.n-row.n-align-children>*{text-align:inherit}.n-row.n-row--vertical{flex-direction:column;min-height:100%}.n-row.n-row--vertical>*,.n-row.n-row--vertical>[class*=" _"],.n-row.n-row--vertical>[class^=_]{width:100%;box-sizing:border-box}.n-section{position:relative}.n-section:after,.n-section:before{content:"";display:table;width:100%}.n-masonry{column-count:3;column-gap:0;margin:var(--nui-line-height-em) 0;margin-inline-end:calc(var(--nui-line-height-em)/ -2);max-width:none}.n-masonry>*{display:table;width:100%;-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid-column;margin:0;padding:calc(var(--nui-line-height-em)/ 2) 0;padding-inline-end:calc(var(--nui-line-height-em)/ 2);box-sizing:border-box;word-break:break-word;word-wrap:break-word}.n-masonry._1\/2{column-count:2}.n-masonry._1\/4{column-count:4}.n-masonry._1\/4{column-count:5}ul.n-masonry{min-height:0;padding:0}ol.n-masonry>*{padding-inline-start:2.5em}.n-pad{padding:calc(var(--nui-line-height-em)/ 2);box-sizing:border-box}.n-pad-half{padding:calc(var(--nui-line-height-em)/ 4);box-sizing:border-box}.n-row>*>.n-unpad,.n-unpad{margin:calc(var(--nui-line-height-em)/ -2);width:calc(var(--nui-line-height-em) + 100%);max-width:100%;overflow-x:hidden}.n-row>*>.n-unpad{max-width:none}.n-unpad-vertical{margin:calc(-1 * var(--nui-line-height-em)) 0}.n-row.n-row--border-all{box-shadow:inset 0 0 0 1px var(--nui-color,#000)}.n-row.n-row--border-all>*{box-shadow:inset 1px 1px 0 0 var(--nui-color,#000);margin:0;flex-basis:calc(var(--col-width) * 100% - var(--spacing)/ 2)}.n-row.n-row--border{box-shadow:inset 0 0 0 1px var(--nui-color,#000)}.n-row * .n-box{background:#fff;box-shadow:inset 0 0 0 1px #e6e6e6}.n-row.n-row--border-off,.n-row.n-row--border-off *{box-shadow:none}@media not screen and (min-width:600px){.n-row{box-sizing:border-box}.n-row:not(.n-row--half){display:block;max-width:100%}.n-row:not(.n-row--half)>*>.n-unpad{margin:-.6em 0 -.6em -.3em;width:calc(100% + .6em);max-width:none}.n-row>*,.n-row>[class^=_]{padding:0;width:100%;border:none;box-sizing:border-box}.n-row:not(.n-row--no-margin):not(.n-row--border-all):not(.n-tabs)>*,.n-row:not(.n-row--no-margin):not(.n-row--border-all)>[class^=_]{margin:calc(var(--nui-line-height-em)/ 6) 0}@supports (--a:1){.n-row>*,.n-row>[class^=_]{padding:.3em;flex:0 0 100%}}.n-row>:empty{display:none}.n-row>.n-full-mobile-width,.n-row>[class^=_].n-full-mobile-width{box-sizing:content-box;padding:0}.n-row.n-row--no-spacing>*,.n-row.n-row--no-spacing>[class^=_]{margin:0;padding:0}.n-row--no-mobile-gutter.n-row>*{padding:0}.n-row.n-row--border,.n-row.n-row--border>*,.n-row>*{border:none}.n-row.n-row--half>*{width:50%;flex:0 0 50%}.n-row.n-row--border-all .n-row{width:calc(100% + var(--nui-line-height-em))}.n-masonry,.n-masonry[class^=_]{-moz-column-count:2;-webkit-column-count:2;column-count:2}}.n-accordion{display:grid}.n-accordion--inline{display:inline-grid}.n-accordion>input[type=checkbox],.n-accordion__label{grid-column-start:1;grid-row-start:1;width:auto;height:auto;cursor:zoom-in;border:none;font:inherit;text-align:initial;margin:var(--accordion-margin,.25em) 0}.n-accordion>input[type=checkbox]{z-index:1;-webkit-appearance:none;appearance:none;margin:0}.n-accordion>input[type=checkbox]:checked{cursor:zoom-out}.n-accordion>input:not(:checked)~.n-accordion__content,.n-accordion[data-ready]>.n-accordion__label:not([aria-expanded=true])~.n-accordion__content{display:none}input:checked~.n-accordion__label button{background:var(--nui-control-active-bg,#fff);color:var(--nui-control-active-color,#222);cursor:zoom-out}input:checked~.n-accordion__label button:after{transform:rotate(180deg)}.n-accordion .n-accordion{margin:0 .5em}.n-accordion__label{user-select:none;cursor:zoom-in;letter-spacing:initial;position:relative}.n-accordion__label button{cursor:pointer;word-wrap:break-word;word-break:break-all;background-color:var(--nui-control-bg,inherit);color:var(--nui-control-color,inherit);border:none;width:100%;padding:calc(var(--line-height-em,1.5rem)/ 2);padding-inline-end:1.5em;text-align:start;font:inherit;border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-accordion__label button:after{transition:transform .2s ease-in-out;content:"";position:absolute;display:block;inset-inline-end:.5em;top:calc(50% - .5em);width:1em;height:1em;--icon:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(180) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A");-webkit-mask:var(--icon) center center no-repeat;-webkit-mask-size:.5em;mask:var(--icon) center center no-repeat;mask-size:.5em;background-color:var(--nui-control-color,#000)}.n-accordion__popin{display:grid;--n-popin-columns:1;grid-template:auto/repeat(var(--n-popin-columns),auto);column-gap:.5rem}.n-accordion__popin>*{display:contents}.n-accordion__popin .n-accordion__content{grid-row:var(--n-popin-open-row,0);grid-column:1/-1}.n-accordion__popin .n-accordion__label{grid-column:initial;grid-row:initial}.n-accordion__popin>:not([data-ready]) .n-accordion__content{display:none}@media (min-width:600px){.n-accordion__popin{--n-popin-columns:3}.n-accordion--mobile>.n-accordion__label,.n-accordion--mobile>input[type=checkbox]{display:none}.n-accordion--mobile>input:not(:checked)~.n-accordion__content,.n-accordion--mobile[data-ready]>.n-accordion__label:not([aria-expanded=true])~.n-accordion__content{display:initial}}body[data-frozen]{overflow:hidden}.n-carousel__content{display:flex;will-change:scroll;outline:0;box-sizing:border-box;overflow-anchor:none;list-style:none;scrollbar-width:none}@media (prefers-reduced-motion:reduce){.n-carousel__content{transition:none}}.n-carousel__content::-webkit-scrollbar{display:none}.n-carousel__content>*{flex:1 0 auto;box-sizing:content-box;overflow:auto;width:100%;padding-inline-end:calc(1px * var(--subpixel-compensation,0))}.n-carousel__content>*>*{overflow:auto}.n-carousel__content img{height:auto}.n-carousel__content>:not([aria-current]):not(:last-child){overflow:auto}.n-carousel:not(.n-carousel--vertical)>.n-carousel__content{overflow-x:auto;width:calc(100% - 0px);padding:0 var(--peek,0)}.n-carousel:not(.n-carousel--vertical):not(.n-carousel--auto-height)>.n-carousel__content>*{overflow:auto}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height:not(.n-carousel--controls-outside){grid-template:auto/auto;grid-template-areas:"f f f" "a1 a1 a1" "prev a2 next" "a3 a3 a3" "i i i"}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height:not([data-ready])>.n-carousel__content>:not(:first-child){height:0;overflow:visible}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height>.n-carousel__content{overflow-y:hidden;height:var(--height,auto)}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height>.n-carousel__content,.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height>.n-carousel__content>*{min-height:9em}.n-carousel--vertical:not(.n-carousel--auto-height)>.n-carousel__content,.n-carousel--vertical[data-ready]>.n-carousel__content{flex-direction:column}.n-carousel--vertical>.n-carousel__next button{transform:none}.n-carousel--vertical>.n-carousel__previous button{transform:rotate(180deg)}.n-carousel--vertical[data-ready].n-carousel--auto-height>.n-carousel__content{overflow:hidden;overflow-y:auto}@keyframes carousel-css-only{100%{height:100%}}.n-carousel{--max-height:100vh;--peek:0px;display:grid;grid-template:auto 1fr auto 1fr auto/auto 1fr auto;position:relative;grid-template-areas:"f f f" "a1 a1 a1" "prev a2 next" "a3 a3 a3" "i i i"}.n-carousel.n-carousel--overlay,.n-carousel:fullscreen{max-height:100%!important}.n-carousel.n-carousel--overlay>.n-carousel__content,.n-carousel:fullscreen>.n-carousel__content{height:100%!important;height:100dvh!important}.n-carousel.n-carousel--overlay>.n-carousel__content figure,.n-carousel.n-carousel--overlay>.n-carousel__content iframe,.n-carousel.n-carousel--overlay>.n-carousel__content img,.n-carousel.n-carousel--overlay>.n-carousel__content video,.n-carousel:fullscreen>.n-carousel__content figure,.n-carousel:fullscreen>.n-carousel__content iframe,.n-carousel:fullscreen>.n-carousel__content img,.n-carousel:fullscreen>.n-carousel__content video{max-height:100%}.n-carousel:fullscreen .n-carousel__close{display:none}.n-carousel.n-carousel--overlay,.n-carousel:-webkit-full-screen{max-height:100%!important}.n-carousel.n-carousel--overlay>.n-carousel__content,.n-carousel:-webkit-full-screen>.n-carousel__content{height:100%!important;height:100dvh!important}.n-carousel.n-carousel--overlay>.n-carousel__content figure,.n-carousel.n-carousel--overlay>.n-carousel__content iframe,.n-carousel.n-carousel--overlay>.n-carousel__content img,.n-carousel.n-carousel--overlay>.n-carousel__content video,.n-carousel:-webkit-full-screen>.n-carousel__content figure,.n-carousel:-webkit-full-screen>.n-carousel__content iframe,.n-carousel:-webkit-full-screen>.n-carousel__content img,.n-carousel:-webkit-full-screen>.n-carousel__content video{max-height:100%}.n-carousel:-webkit-full-screen .n-carousel__close{display:none}.n-carousel.n-carousel--vertical{--max-height:75vh;height:var(--max-height,100%);max-height:100%}.n-carousel.n-carousel--vertical.n-carousel--auto-height:not([data-ready])>.n-carousel__content>:not(:first-child){display:none}.n-carousel.n-carousel--vertical>.n-carousel__content{max-height:100%}.n-carousel.n-carousel--vertical:not(.n-carousel--auto-height):-webkit-full-screen>.n-carousel__content{height:100%!important}.n-carousel.n-carousel--vertical:not(.n-carousel--auto-height):fullscreen>.n-carousel__content{height:100%!important}.n-carousel.n-carousel--vertical>.n-carousel__content{overflow-y:auto;box-sizing:content-box;padding:var(--peek,0) 0}.n-carousel.n-carousel--vertical>.n-carousel__content>*{width:100%;padding-inline-end:0;height:100%;padding-block-end:calc(1px * var(--subpixel-compensation,0))}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside)>.n-carousel__index{position:absolute;max-height:100%;overflow:auto;justify-content:initial;grid-area:auto}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--inline:not(.n-carousel--overlay){height:auto}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--inline:not(.n-carousel--overlay)>.n-carousel__index{position:static}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--inline:not(.n-carousel--overlay)>.n-carousel__index>*{display:initial;margin:0}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--index-end>.n-carousel__index{inset-inline-end:0;inset-inline-start:auto;grid-area:auto}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--index-end.n-carousel--index-align-end>.n-carousel__index{position:absolute}.n-carousel.n-carousel--vertical.n-carousel--auto-height:not(.n-carousel--overlay){height:auto}.n-carousel.n-carousel--vertical.n-carousel--auto-height.n-carousel--peek>.n-carousel__content>*{height:calc(100% + 1px * var(--subpixel-compensation,0))}.n-carousel.n-carousel--vertical.n-carousel--auto-height.n-carousel--peek>.n-carousel__content:after,.n-carousel.n-carousel--vertical.n-carousel--auto-height.n-carousel--peek>.n-carousel__content:before{display:none}.n-carousel:not([data-ready])>*>button{cursor:not-allowed}.n-carousel:not([data-ready])>.n-carousel--auto-height>:not(:first-child){height:0;animation:carousel-css-only 2 .1s linear 1s forwards}.n-carousel:not([data-ready])>.n-carousel--auto-height>:first-child{min-height:100%}.n-carousel[data-sliding]{pointer-events:none}.n-carousel.n-carousel--rtl{direction:rtl}.n-carousel.n-carousel--peek{--peek:15%}.n-carousel:not([data-sliding])>.n-carousel__content{scroll-snap-type:x mandatory}.n-carousel:not([data-sliding])>.n-carousel__content>*{scroll-snap-align:center;scroll-snap-stop:always}.n-carousel.n-carousel--vertical:not([data-sliding])>.n-carousel__content{scroll-snap-type:y mandatory}.n-carousel.n-carousel--index-align-start>.n-carousel__index{justify-self:start}.n-carousel.n-carousel--index-align-center:not(.n-carousel--vertical)>.n-carousel__index{justify-self:center}.n-carousel.n-carousel--index-align-end>.n-carousel__index{justify-self:end}.n-carousel>.n-carousel__content{padding:0;margin:0;grid-row:1/-1;grid-column:1/-1}@media (prefers-reduced-motion:no-preference){.n-carousel>.n-carousel__content{transition:opacity .2s ease-in-out}}.n-carousel>:not(.n-carousel__content){z-index:1}.n-carousel>.n-carousel__previous{grid-area:prev;align-self:center}.n-carousel>.n-carousel__next{grid-area:next;align-self:center;justify-self:end}.n-carousel>.n-carousel__index{grid-area:i;align-self:end;justify-self:center;justify-content:center;overflow:auto;white-space:nowrap;vertical-align:middle}.n-carousel>.n-carousel__index img{width:3em;height:3em;object-fit:cover;padding:0}.n-carousel.n-carousel--thumbnails>.n-carousel__index{padding:1px}.n-carousel.n-carousel--thumbnails>.n-carousel__index>*{padding:0;vertical-align:middle;margin:.125em;border-radius:var(--nui-border-radius);overflow:hidden}.n-carousel.n-carousel--thumbnails>.n-carousel__index>* span{padding:0 1ch}.n-carousel.n-carousel--thumbnails>.n-carousel__index [aria-current]{box-shadow:0 0 0 1px var(--nui-control-bg,grey)}.n-carousel[data-platform=iPhone] .n-carousel__full-screen,.n-carousel[data-platform=iPod] .n-carousel__full-screen{display:none}.n-carousel[data-platform=iPhone] .n-carousel__close,.n-carousel[data-platform=iPod] .n-carousel__close{grid-area:f}.n-carousel.n-carousel--index-start{grid-template-areas:"i i i" "a1 a1 a1" "prev a2 next" "a3 a3 a3" "f f f"}.n-carousel.n-carousel--index-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--index-start .n-carousel__index{justify-content:flex-start}.n-carousel.n-carousel--index-start .n-carousel__close,.n-carousel.n-carousel--index-start .n-carousel__full-screen{align-self:end}.n-carousel.n-carousel--index-end>.n-carousel__index{justify-content:flex-end}.n-carousel.n-carousel--controls-outside{grid-template-areas:"f f f" "a1 content a2" "prev content next" "b1 content b2" "i i i"}.n-carousel.n-carousel--controls-outside>.n-carousel__content{grid-area:content}.n-carousel.n-carousel--controls-outside.n-carousel--index-start{grid-template-areas:"i i i" "a1 content a2" "prev content next" "b1 content b2" "f f f"}.n-carousel.n-carousel--controls-outside.n-carousel--index-align-start>.n-carousel__index{text-align:start}.n-carousel.n-carousel--controls-outside.n-carousel--index-align-end>.n-carousel__index{text-align:end}.n-carousel.n-carousel--vertical{grid-template:auto 1fr auto/auto 1fr auto 1fr auto;grid-template-areas:"i a1 prev a3 f" "i a1 a2 a3 f" "i a1 next a3 f"}.n-carousel.n-carousel--vertical:has(>.n-carousel__controls):before{content:"";grid-area:i;width:3em}.n-carousel.n-carousel--vertical>.n-carousel__index{align-self:center;justify-self:initial}.n-carousel.n-carousel--vertical>.n-carousel__index>*{display:block;white-space:normal;max-width:25vw}.n-carousel.n-carousel--vertical.n-carousel--index-align-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--index-align-end>.n-carousel__index{align-self:end;inset-inline-start:0}.n-carousel.n-carousel--vertical.n-carousel--index-end{grid-template-areas:"f a1 prev a3 i" "f a1 a2 a3 i" "f a1 next a3 i"}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start:not(.n-carousel--index-end){grid-template:1fr auto auto/auto auto auto 1fr auto auto;grid-template-areas:"f c a1 prev a2 i" "a3 a3 a3 a3 a3 i" "a4 a4 a4 next a5 b2";grid-template-columns:repeat(5,1fr);grid-template-rows:auto}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start:not(.n-carousel--index-end)>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start{grid-template:1fr auto auto/auto auto 1fr auto auto;grid-template-areas:"f c prev a2 a2 i" "a3 a3 a3 a3 a3 i" "a4 a4 next a5 a5 a5"}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start>.n-carousel__previous{justify-self:center}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-end{grid-template:1fr auto auto/auto auto 1fr auto auto;grid-template-areas:"f c prev a2 a2 a2" "a3 a3 a3 a3 a3 i" "a4 a4 next a5 a5 i"}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-end>.n-carousel__index{align-self:end}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-end>.n-carousel__previous{justify-self:center}.n-carousel.n-carousel--vertical>.n-carousel__previous{align-self:start}.n-carousel.n-carousel--vertical>.n-carousel__next{align-self:end}.n-carousel.n-carousel--vertical.n-carousel--controls-outside{grid-template-areas:"i a1 prev a2 f" "i content content content f" "i b1 next b2 f"}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-align-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-end{grid-template-areas:"f a1 prev a2 i" "f content content content i" "f b1 next b2 i"}.n-carousel.n-carousel--vertical.n-carousel--controls-outside>.n-carousel__index{max-height:var(--max-height,100%)}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height:not([data-ready])>.n-carousel__index{max-height:0}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height[data-ready]{overflow:hidden}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height[data-ready][data-sliding]>.n-carousel__index{max-height:none}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height[data-ready].n-carousel--index-end>.n-carousel__index{margin-inline-start:calc(-1px * var(--index-width)/ 2)}.n-carousel:-webkit-full-screen{background:#000;--max-height:100vh}.n-carousel:fullscreen{background:#000;--max-height:100vh}.n-carousel.n-carousel--overlay{--max-height:100vh;position:fixed;top:0;left:0;right:0;z-index:2;max-height:none;height:100%;height:100dvh;background:rgba(255,255,255,.9)}@media (prefers-color-scheme:dark){.n-carousel.n-carousel--overlay{background:rgba(0,0,0,.9)}}.n-carousel.n-carousel--inline:not(.n-carousel--overlay){display:block}.n-carousel.n-carousel--inline:not(.n-carousel--overlay)>.n-carousel__index>[aria-current]{box-shadow:none}.n-carousel.n-carousel--inline:not(.n-carousel--overlay)>*{text-align:start}.n-carousel.n-carousel--inline:not(.n-carousel--overlay)>:not(.n-carousel__index){visibility:hidden;position:absolute;width:0;height:0;opacity:0;overflow:hidden}@supports not (aspect-ratio:1){_::-webkit-full-page-media,_:future,:root .n-carousel[data-sliding] > .n-carousel__content{scroll-snap-type:both mandatory}}_::-webkit-full-page-media,_:future,:root .n-carousel[data-sliding] > .n-carousel__content > *{scroll-snap-align:center}_::-webkit-full-page-media,_:future,:root .n-carousel.n-carousel--peek:not(.n-carousel--vertical) > .n-carousel__content:after{content:"";padding:var(--peek-int,0);flex-shrink:0}.n-carousel__close>*,.n-carousel__full-screen>*,.n-carousel__index>*,.n-carousel__next>*,.n-carousel__previous>*{box-sizing:border-box;text-decoration:none!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;all:revert;border:none;color:var(--nui-control-color,#333);background:var(--nui-control-bg,#eee);min-width:2.25em;min-height:2.25em;border-radius:var(--nui-border-radius,2.25em);margin:.25em;font:inherit;display:inline-flex;justify-content:center;align-items:center;padding:0 1ch;cursor:pointer}.n-carousel__close>* span,.n-carousel__full-screen>* span,.n-carousel__index>* span,.n-carousel__next>* span,.n-carousel__previous>* span{color:var(--nui-control-color,#333)}.n-carousel__close>[aria-current] span,.n-carousel__full-screen>[aria-current] span,.n-carousel__index>[aria-current] span,.n-carousel__next>[aria-current] span,.n-carousel__previous>[aria-current] span{color:var(--nui-control-active-color,#00f)}.n-carousel--tabs>.n-carousel__index,.n-carousel__close>*,.n-carousel__full-screen>*,.n-carousel__index>*,.n-carousel__next>*,.n-carousel__previous>*{box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-carousel--tabs>.n-carousel__index>*{box-shadow:none}.n-carousel[data-ready]{--height:0}.n-carousel[data-ready] .n-carousel__close>*,.n-carousel[data-ready] .n-carousel__full-screen>*,.n-carousel[data-ready]>.n-carousel__index>*,.n-carousel[data-ready]>.n-carousel__next>*,.n-carousel[data-ready]>.n-carousel__previous>*{cursor:pointer}.n-carousel[data-ready].n-carousel--auto-height:not(.n-carousel--vertical):not([data-sliding])>.n-carousel__content>:not([aria-current]){overflow:visible}.n-carousel[data-ready].n-carousel--auto-height>.n-carousel__content>*{overflow:hidden!important}.n-carousel__close,.n-carousel__full-screen,.n-carousel__next,.n-carousel__previous{height:2.85em;width:2.85em}.n-carousel__close button span,.n-carousel__full-screen button span,.n-carousel__next button span,.n-carousel__previous button span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.n-carousel__close button:before,.n-carousel__full-screen button:before,.n-carousel__next button:before,.n-carousel__previous button:before{content:"";background-color:var(--nui-control-color,#333);--chevron:url("data:image/svg+xml,%3Csvg height='18' viewBox='0 0 18 18' width='18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m9.003 7.626 7.081-7.081 1.916 1.915-8.997 8.998-9.003-9 1.917-1.916z' transform='translate(0 5)'/%3E%3C/svg%3E");-webkit-mask:var(--chevron) no-repeat 0 0/contain;-webkit-mask-size:100%;mask:var(--chevron) no-repeat 0 0;mask-size:100%;width:1em;height:1em;display:inline-block}.n-carousel__full-screen{grid-area:f;justify-self:baseline}.n-carousel__full-screen button:before{--chevron:url("data:image/svg+xml,%3Csvg viewBox='0 0 46 46' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000' fill-rule='nonzero'%3E%3Cpath d='M.778 17.444h5.555V6.334h11.111V.777H.778zM28.556.778v5.555h11.11v11.111h5.556V.778zM39.667 39.667H28.556v5.555h16.666V28.556h-5.555zM6.333 28.556H.778v16.666h16.666v-5.555H6.334z'/%3E%3C/g%3E%3C/svg%3E")}.n-carousel__full-screen~.n-carousel__close{grid-area:c}.n-carousel__controls{grid-area:f;display:flex;justify-self:start}.n-carousel--vertical>.n-carousel__controls{flex-direction:column;align-self:start}.n-carousel__close{grid-area:f;justify-self:baseline}.n-carousel__close button:before{--chevron:url("data:image/svg+xml,%3Csvg viewBox='0 0 480 480' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%2523000' fill-rule='evenodd'%3E%3Cpath d='M68.88 368.693l42.427 42.427L411.12 111.307 368.693 68.88 168.818 268.756z'/%3E%3Cpath d='M111.307 68.88L68.88 111.307 368.693 411.12l42.427-42.427-199.876-199.875z'/%3E%3C/g%3E%3C/svg%3E")}.n-carousel__close~.n-carousel__full-screen{grid-area:c}.n-carousel:not(.n-carousel--overlay)>.n-carousel__controls .n-carousel__close button:before{transform:rotate(45deg)}.n-carousel--rtl>.n-carousel__next button,.n-carousel__previous button,[dir=rtl] .n-carousel__next button{transform:rotate(90deg)}.n-carousel--rtl>.n-carousel__previous button,.n-carousel__next button,[dir=rtl] .n-carousel__previous button{transform:rotate(-90deg)}.n-carousel--tabs.n-carousel>.n-carousel__index{display:flex;justify-content:start;overflow:auto;max-width:100%;max-height:100%;color:var(--nui-control-color,#333);border-radius:var(--nui-border-radius)}.n-carousel--tabs.n-carousel>.n-carousel__index>*{box-sizing:border-box;border-radius:0;margin:0;display:flex;justify-content:flex-start;padding:.5ch 1ch;text-align:start;word-break:break-word;outline-offset:-3px;min-width:1.5em;min-inline-size:min-content}.n-carousel--tabs.n-carousel>.n-carousel__index>:focus{z-index:0}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index{display:block}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index>*{width:100%}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index>:first-child{border-radius:0;border-start-start-radius:var(--nui-border-radius);border-start-end-radius:var(--nui-border-radius)}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index>:last-child{border-radius:0;border-end-start-radius:var(--nui-border-radius);border-end-end-radius:var(--nui-border-radius)}.n-carousel--tabs.n-carousel.n-carousel--vertical.n-carousel--auto-height>.n-carousel__index>*{white-space:nowrap}.n-carousel--tabs.n-carousel.n-carousel--tabs-align-end>.n-carousel__index>*{text-align:end}.n-carousel--tabs.n-carousel>.n-carousel__next,.n-carousel--tabs.n-carousel>.n-carousel__previous{display:none}@-moz-document url-prefix(){.n-carousel--vertical>.n-carousel__content{display:block}.n-carousel--vertical>.n-carousel__content>:last-child{margin-block-end:var(--peek,0)}}.n-carousel--lightbox{flex:1;--nui-carousel-bg:transparent}.n-carousel--lightbox:not(.n-carousel--auto-height){max-height:var(--max-height,100vh)}.n-carousel--lightbox figure{height:100%;margin:0;display:grid;grid-template:auto 1fr/auto;box-sizing:border-box}.n-carousel--lightbox figure>*{grid-row:1/3;grid-column:1/1;display:flex;justify-content:center;align-items:center;justify-self:center}.n-carousel--lightbox figure>figcaption{grid-row:1/2;justify-self:center;padding:.5em .75em;background:rgba(0,0,0,.3);color:#ddd;z-index:0;border-radius:var(--nui-border-radius);margin:.25em}.n-carousel--lightbox.n-carousel--auto-height figure,.n-carousel--lightbox.n-carousel--auto-height iframe,.n-carousel--lightbox.n-carousel--auto-height video{height:auto;max-height:none}.n-carousel--lightbox.n-carousel--auto-height :not(:-webkit-full-screen):not(.n-carousel--overlay)>.n-carousel__content{max-height:var(--max-height)}.n-carousel--lightbox.n-carousel--auto-height :not(:fullscreen):not(.n-carousel--overlay)>.n-carousel__content{max-height:var(--max-height)}.n-carousel--lightbox.n-carousel--index-start figure{grid-template:1fr auto/auto}.n-carousel--lightbox.n-carousel--index-start figure>figcaption{grid-row:2/3}.n-carousel--lightbox.n-carousel--vertical:not(.n-carousel--controls-outside) figure>figcaption{margin-top:3em}.n-carousel--lightbox.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--index-start figure>figcaption{margin-top:none;margin-bottom:3em}.n-carousel--lightbox img{display:block;max-height:100%;max-width:100%;object-fit:contain;box-sizing:border-box;padding:0 .5px;z-index:0}.n-carousel--lightbox.n-carousel--auto-height img{max-height:none}.n-carousel--lightbox:-webkit-full-screen img{max-height:100%}.n-carousel--lightbox:-webkit-full-screen.n-carousel--auto-height figure{height:100%}.n-carousel--lightbox:fullscreen img{max-height:100%}.n-carousel--lightbox:fullscreen.n-carousel--auto-height figure{height:100%}.n-carousel--lightbox.n-carousel--overlay img{max-height:100%}.n-carousel--lightbox.n-carousel--overlay.n-carousel--auto-height figure{height:100%}.n-carousel--lightbox iframe,.n-carousel--lightbox video{border:none;margin:auto;max-width:100%;max-height:100%;height:auto;aspect-ratio:16/9}.n-carousel--lightbox>.n-carousel__content picture:not([data-loaded]){position:relative}.n-carousel--lightbox>.n-carousel__content picture:not([data-loaded]):before{content:"";position:absolute;inset:0;filter:blur(4px);background:var(--placeholder,none) center no-repeat;background-size:contain}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect{--max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect>.n-carousel__content>* figure{aspect-ratio:var(--ratio,16/9);position:relative;width:100%;height:auto}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect.n-carousel--auto-height img{max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect.n-carousel--vertical{height:var(--height)}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect.n-carousel--vertical>.n-carousel__content>*{height:auto;flex-grow:initial}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect{--max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect>.n-carousel__content>* figure{aspect-ratio:var(--ratio,16/9);position:relative;width:100%;height:auto}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect.n-carousel--auto-height img{max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect.n-carousel--vertical{height:var(--height)}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect.n-carousel--vertical>.n-carousel__content>*{height:auto;flex-grow:initial}@media only screen and (min-device-width:768px) and (max-device-width:1024px){.n-carousel:fullscreen .n-carousel__full-screen{display:none}}.transparent-scrollbar body>:not(dialog) ::-webkit-scrollbar{width:0;height:0}.transparent-scrollbar body>:not(dialog) ::-webkit-scrollbar-track{background:0 0}.n-modal{transition:opacity 67ms ease-in-out;overscroll-behavior:contain;background:var(--nui-bg,#fff);color:var(--nui-color,#000);border:0;text-align:right;overscroll-behavior:contain}.n-modal,.n-modal::backdrop{--duration:.2}.n-modal::backdrop{background:rgba(255,255,255,.9)}@media (prefers-reduced-motion:no-preference){.n-modal::backdrop{animation:backdrop_fade_in calc(var(--duration) * 1s) ease-in-out forwards}}@media (prefers-color-scheme:dark){.n-modal::backdrop{background:rgba(0,0,0,.9)}}.n-modal.n-modal--closing::backdrop{animation-name:backdrop_fade_out}.n-modal__content{display:none;overflow:auto;background:0 0;text-align:initial;max-height:calc(100vh - 2rem - 40px - 12px - 1em);padding:.25em}.n-modal>.n-modal__content{display:revert}.n-modal>.n-modal__close{min-width:40px;min-height:40px;margin:.25em;color:var(--nui-control-color,#fff);cursor:pointer;padding:.75em;font:inherit;background-color:var(--nui-control-bg,rgba(0,0,0,.7));z-index:1;top:0;position:sticky;border:0;padding:.5rem;font-weight:400}.n-modal>.n-modal__close:before{content:attr(data-close-symbol)}.n-modal.n-modal--full{margin:auto;width:100%;width:calc(100vw - 2 * env(safe-area-inset-left));height:100%;box-shadow:0 0 0 6px var(--nui-bg,#fff)}@media (prefers-color-scheme:dark){.n-modal.n-modal--full{box-shadow:0 0 0 6px var(--nui-bg,#000)}}.n-modal.n-modal--full::backdrop{opacity:0;animation:none}.n-modal[data-existing-attached-content]::backdrop{animation:none;background:#fff}@media (prefers-color-scheme:dark){.n-modal[data-existing-attached-content]::backdrop{background:#000}}.n-modal.n-modal--shadow{box-shadow:0 0 .25rem .125rem rgba(0,0,0,.5);max-height:calc(100% - 3.5rem);max-width:calc(100% - 3.5rem)}@media (prefers-color-scheme:dark){.n-modal.n-modal--shadow{box-shadow:0 0 .25rem .125rem rgba(255,255,255,.5)}}.n-modal.n-modal--shadow::backdrop{opacity:0;animation-name:none}.n-modal.n-modal--blur::backdrop{opacity:1;background:0 0;animation-name:backdrop_blur;animation-fill-mode:forwards}.n-modal.n-modal--blur.n-modal--closing::backdrop{animation-name:backdrop_blur_back}.n-modal.n-modal--rounded{border-radius:.5ch}.n-modal.n-modal--rounded .n-modal__close{border-radius:20px}.n-modal>*{background:var(--nui-bg,#fff);position:relative}@media (prefers-reduced-motion:no-preference){.n-modal.n-modal--transparent{opacity:0}.n-modal.n-modal--transparent::backdrop{opacity:.5;animation-name:none;transition:opacity 67ms ease-in-out}}_::-webkit-full-page-media,_:future,:root .n-modal{text-align:left}@keyframes backdrop_fade_in{from{opacity:0}to{opacity:1}}@keyframes backdrop_fade_out{from{opacity:1}to{opacity:0}}@keyframes backdrop_blur{from{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}}@keyframes backdrop_blur_back{from{-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}to{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}.n-modal,.n-modal__close{border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}@keyframes n-select{100%{visibility:hidden}}@keyframes n-select-native{100%{visibility:visible}}.n-select{position:relative;display:inline-grid;vertical-align:middle;max-width:100%;width:var(--width,auto);z-index:0;background-color:var(--nui-control-bg,#fff);line-height:var(--line-height,1.333)}.n-select:before{content:"";position:absolute;cursor:pointer;background-color:var(--nui-control-color,#333);--chevron:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16.003 18.626l7.081-7.081L25 13.46l-8.997 8.998-9.003-9 1.917-1.916z'/%3E%3C/svg%3E");-webkit-mask:var(--chevron) no-repeat 0 0/contain;mask:var(--chevron) no-repeat 0 0/contain;-webkit-mask-size:150%;-webkit-mask-position:50%;mask-size:150%;mask-position:50%;width:.75em;height:.75em;inset-inline-end:.625em;top:calc(50% - .375em);z-index:-1}@supports not (inset-inline-end:0){.n-select:before{right:.625rem}}.n-select:after{position:absolute;top:0;z-index:5}.n-select[data-ready]{font-size:1em;transition:height .2s ease-in-out}.n-select[data-ready]>.n-select__options>:not([aria-selected]){height:0;padding-top:0;padding-bottom:0;visibility:hidden;overflow:hidden;display:block}.n-select:not([data-ready]) .n-select__options,.n-select:not([data-ready]) select{animation-duration:.1s;animation-fill-mode:forwards;animation-delay:2s}.n-select:not([data-ready]) select{-webkit-appearance:none;appearance:none;border:none;width:100%;padding:var(--padding,.5em);padding-inline-end:1.961em;height:auto;margin:0;background:0 0}.n-select:not([data-ready]) select:not(:only-child){visibility:hidden;animation-name:n-select-native}.n-select:not([data-ready]) .n-select__options{display:inline-grid}.n-select:not([data-ready]) .n-select__options>*{grid-column:1/2;grid-row:1/2}.n-select:not([data-ready]) .n-select__options>:not(:first-child):not([aria-selected]){opacity:0}.n-select:not([data-ready]) .n-select__options:not([aria-expanded]) button[aria-selected]{background:var(--nui-control-bg,#fff)}.n-select>input{display:none}.n-select.n-select--wide{width:100%}.n-select.n-select--open{opacity:0;height:var(--active-option-height,auto)}.n-select,.n-select__options{--padding:.5em;--line-height:1.5em;border-radius:var(--nui-border-radius)}.n-select select,.n-select__options{width:auto;max-width:100%;color:var(--nui-control-color,#333);background-color:transparent;top:0;z-index:5;box-sizing:border-box;-webkit-appearance:none;appearance:none;font:inherit;border:none;grid-column:1/1;grid-row:1/1;overflow:hidden;-webkit-tap-highlight-color:transparent}.n-select select{padding:var(--padding,.5em);padding-inline-end:1.961em;cursor:pointer;line-height:calc(1 + var(--line-height,1.5em))}.n-select select~.n-select__options{animation-name:n-select}.n-select__options>*{display:block;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;user-select:none;line-height:inherit}.n-select__options button{-webkit-appearance:none;appearance:none;background:0 0;cursor:pointer;border:0;width:100%;text-align:start;margin:0;font-size:1em;position:relative;color:var(--nui-control-color,#333);background-color:var(--nui-control-bg,#fff);display:flex;align-items:center}.n-select__options button *{pointer-events:none;vertical-align:middle}.n-select__options button img{display:inline-block;object-fit:contain;width:2em;height:2em;margin-inline-end:.5em;max-width:none}.n-select__options.n-scrollbar{scrollbar-width:none;scrollbar-color:#999 transparent}.n-select__options.n-scrollbar::-webkit-scrollbar{width:.333em}.n-select__options.n-scrollbar::-webkit-scrollbar-thumb{background:#999;border-radius:.333em}.n-select__options.n-scrollbar::-webkit-scrollbar-track{background:0 0;border-radius:.333em}.n-select__options[aria-expanded]{position:absolute;margin-top:calc(-1px * (var(--active-option-offset,0) - var(--top-offset,0)) - 1px * var(--scroll-help-top,0));max-height:var(--max-height);overflow:auto;background:0 0;padding:0 calc(var(--padding,1em)/ 2);margin-inline-start:calc(-1 * var(--padding,1em)/ 2);left:calc(1px * var(--body-offset-x));top:calc(1px * var(--body-offset-y));box-sizing:content-box;min-width:var(--max-width)}.n-select__options[aria-expanded]>:first-child{margin-top:calc(2 * var(--padding,.5em));border-top-left-radius:var(--nui-border-radius);border-top-right-radius:var(--nui-border-radius)}.n-select__options[aria-expanded]>:last-child{margin-bottom:calc(2 * var(--padding,.5em));border-bottom-left-radius:var(--nui-border-radius);border-bottom-right-radius:var(--nui-border-radius)}.n-select__options[aria-expanded].n-select--crop-top{top:calc(1px * var(--body-offset-y));margin-top:calc(-1px * (var(--active-option-offset,0) - var(--top-offset,0)) - 1px * var(--scroll-help-top,0))}.n-select__options[aria-expanded]:not(.n-select--crop-top){padding-top:calc(1px * var(--scroll-help-top,0))}.n-select__options[aria-expanded]:not(.n-select--crop-top):before{margin-top:calc(1px * var(--scroll-help-top,0))}.n-select__options[aria-expanded] [aria-selected]{background-color:var(--nui-control-active-bg,#eee);color:var(--nui-control-active-color,#000)}.n-select__options[aria-expanded] a[href],.n-select__options[aria-expanded] button{width:100%;box-sizing:border-box}.n-select__options[aria-expanded] a[href]:not([aria-selected]):hover,.n-select__options[aria-expanded] button:not([aria-selected]):hover{background-color:var(--nui-control-highlight,#ececec);color:var(--nui-control-active-color,inherit)}.n-select__options[aria-expanded] a[href]:focus,.n-select__options[aria-expanded] button:focus{z-index:1}.n-select__options[aria-expanded]:before{content:"";position:absolute;background-color:var(--nui-control-bg,#fff);top:calc(2 * var(--padding,.5em));left:calc(var(--padding,.5em)/ 2);right:calc(var(--padding,.5em)/ 2);height:calc(var(--select-scroll-height) - 4 * var(--padding,.5em));border-radius:var(--nui-border-radius)}.n-select__options[aria-expanded].n-select--scroll-help-top:before{height:calc(100% + 1px * var(--top-offset,0))}.n-select__options[aria-expanded].n-select--shadow:before{box-shadow:0 0 4px 3px rgba(51,51,51,.5490196078)}.n-select__options:not([aria-expanded]){cursor:pointer;box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-select__options:not([aria-expanded]) button{white-space:nowrap;overflow:hidden;max-width:calc(100% - 1.5em);width:auto;margin:0;outline-offset:-1.5px;font-size:1em;border:none;padding:var(--padding,.5em);padding-inline-end:2em;font-weight:400;min-height:0;color:var(--nui-control-color,#333);background:0 0}.n-select__options>*,.n-select__options>button{padding:var(--padding,.5em);padding-inline-end:2em;position:relative;font-family:inherit;background-color:var(--nui-control-bg,#fff);box-shadow:none}.n-select[data-ready] select,.n-select[data-ready]+select,select[data-n_select]{display:none}.n-select__options[aria-expanded]{-webkit-mask:linear-gradient(0,#000,#000) no-repeat 0 calc((var(--mask-position-y) + var(--scroll-help-top,0)) * 1px)/calc(var(--max-width) + 2 * var(--padding,.5em)) var(--mask-size-y);overscroll-behavior:contain}.n-select__options[aria-expanded][data-n-select-animation]{transition:-webkit-mask-size .15s ease-in-out,-webkit-mask-position-y .15s ease-in-out;-webkit-mask-size:100% 100%;-webkit-mask-position-y:0}@media (prefers-reduced-motion:reduce){.n-select__options[aria-expanded][data-n-select-animation]{transition:none}}@media (min-width:600px){.n-select .n-select__options[aria-expanded]{width:calc(var(--max-width) + var(--padding,.5em))}}.n-select--rounded{--nui-border-radius:.333em}.n-select:focus:not(:focus-visible),.n-select__options button:focus:not(:focus-visible){outline:0}_::-webkit-full-page-media,_:future,:root body.n-select--open{overflow:hidden;-webkit-user-select:none;user-select:none}[dir=rtl] .n-select__options[aria-expanded]{margin-inline-end:0;left:auto;right:calc(100% - 1px * var(--body-offset-x) - var(--max-width));-webkit-mask-position-x:100%;mask-position-x:100%}@supports not (inset-inline-end:0){[dir=rtl] .n-select:before{left:.625rem;right:auto}}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-nav{vertical-align:baseline;display:inline-block;color:var(--nui-control-color,inherit);--nui-nav-gap:0.75em;--n-nav-duration:0}@media (prefers-reduced-motion:no-preference){.n-nav{--n-nav-duration:.2s}}.n-nav a:focus{z-index:1}.n-nav ul{margin:0;padding:0;display:inline-block;width:auto;list-style:none;display:flex;flex-wrap:wrap;border-inline-start:var(--nui-nav-gap) solid var(--nui-control-bg);border-radius:var(--nui-border-radius);background-color:var(--nui-control-bg,transparent)}.n-nav ul li:last-child{margin-inline-end:0}.n-nav.n-nav--scroll{overflow:auto;max-width:100%;background-color:var(--nui-control-bg,transparent);border-radius:var(--nui-border-radius)}.n-nav.n-nav--scroll>ul{display:flex;flex-wrap:nowrap;white-space:nowrap}.n-nav a{position:relative;padding-inline-end:var(--nui-nav-gap);display:inline-block}.n-nav.n-big-text{--nui-nav-gap:1em}.n-nav a[aria-current],.n-nav a[aria-current][href]{text-decoration:none;color:var(--nui-control-active-color);cursor:initial}.n-nav:not(.n-nav--drop) a[href^="#"]{text-decoration:none}.n-nav.n-row{display:inline-flex}.n-nav.n-nav--vertical ul{display:grid;border:none}.n-nav.n-nav--vertical ul a{display:block;padding-inline-start:var(--nui-nav-gap)}.n-nav.n-nav--vertical ul li:first-child a{border-start-end-radius:var(--nui-border-radius);border-start-start-radius:var(--nui-border-radius)}.n-nav.n-nav--vertical ul li:last-child a{border-start-end-radius:0;border-end-start-radius:var(--nui-border-radius)}.n-nav.n-nav--vertical.n-nav--vertical-wide{display:block}.n-nav--scroll>ul{overflow:auto;max-width:100%;transform:translate3d(0,0,0);border:none}.n-nav--scroll ul li{padding:calc(var(--nui-line-height-em)/ 2) 0}.n-nav--scroll ul li:first-of-type a{padding-inline-start:var(--nui-nav-gap)}.n-nav--drop{--nui-nav-gap:0;color:var(--nui-control-color,#333);background-color:transparent;max-width:100%}.n-nav--drop ul{padding:0;margin:0;min-height:0;z-index:1;border-radius:0}.n-nav--drop ul ul{padding:0;position:absolute;inset-inline-start:0;top:100%}.n-nav--drop ul ul ul{margin-inline-start:100%;top:0}.n-nav--drop ul ul.n-left-side.n-right-overflow{margin-inline-start:var(--n-right-overflow,0)}.n-nav--drop ul ul.n-left-side ul{margin-inline-start:0;inset-inline-start:auto;inset-inline-end:100%}.n-nav--drop ul li{display:inline-block;vertical-align:top;margin:0;padding:0;box-sizing:border-box;position:relative;width:auto;background-color:var(--nui-control-bg,#fff)}.n-nav--drop li>a{padding:.75em;display:block}.n-nav--drop.n-nav li>a{background:0 0}.n-nav--drop a:focus,.n-nav--drop li>:focus{outline-offset:-7px}.n-nav--drop a[href]{position:relative}.n-nav--drop li:not([aria-haspopup])>a{z-index:0}.n-nav--drop ul[role=menubar] li>a{margin-inline-end:0;padding-inline-end:.75em}.n-nav--drop ul[role=menubar] li[aria-haspopup]>a{margin-inline-end:1.75em;padding-inline-end:.75em}.n-nav--drop[data-ready] ul[role=menubar] li[aria-haspopup]>a{margin-inline-end:0;padding-inline-end:.75em}.n-nav--drop li li{display:block;width:100%}.n-nav--drop ul li:not([aria-expanded])>ul{min-height:0;max-height:0;overflow:hidden;position:absolute}.n-nav--drop :focus~ul,.n-nav--drop a:focus~ul,.n-nav--drop li li:not(:focus) :checked~ul,.n-nav--drop li li[aria-expanded]>ul,.n-nav--drop ul li>:checked~ul,.n-nav--drop ul li[aria-expanded]>ul{max-height:none;overflow:visible;opacity:1;z-index:2;background-color:var(--nui-control-bg,#fff)}.n-nav--drop li li:not(:focus) :checked~ul,.n-nav--drop li li[aria-expanded]>ul,.n-nav--drop ul li[aria-expanded]>ul{z-index:2}.n-nav--drop li>input{-webkit-appearance:none;-moz-appearance:none;display:block;position:absolute;width:100%;height:100%;border:none;border-radius:0;inset-inline-end:0;width:1.875em;margin:0;font-size:inherit;cursor:pointer}.n-nav--drop li[aria-haspopup]:before{content:"";position:absolute;display:block;inset-inline-end:0;top:0;width:1.875em;height:100%}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li:before{content:"";margin:0;font-size:1em}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li:not([aria-haspopup=true]):before{display:none}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline).n-left-side li:before{inset-inline-end:auto;transform:rotate(180deg);inset-inline-start:0;margin:0;top:0;height:2em}.n-nav--drop.n-nav ul.n-list li:before{display:block;height:100%}.n-nav--drop li>input,.n-nav--drop li[aria-haspopup]:before{--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(180) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A") center center no-repeat;-webkit-mask:var(--mask);-webkit-mask-size:.5em;-webkit-mask-repeat:no-repeat;mask:var(--mask);mask-size:.5em;background-color:var(--nui-control-color,#000);mask-repeat:no-repeat}.n-nav--drop[data-ready] li>ul~a{background:0 0}.n-nav--drop li[aria-haspopup]{padding-inline-end:1.875em}@media (min-width:600px){.n-nav--drop{--desktop:true}.n-nav--drop ul ul{transition:transform var(--n-nav-duration) ease-in-out;transform-origin:top;transform:scaleY(0)}.n-nav--drop :focus~ul,.n-nav--drop a:focus~ul,.n-nav--drop li li:not(:focus) :checked~ul,.n-nav--drop li li[aria-expanded]>ul,.n-nav--drop ul li>:checked~ul,.n-nav--drop ul li[aria-expanded]>ul{transform:scaleY(1)}.n-nav--drop :focus~ul ul,.n-nav--drop a:focus~ul ul,.n-nav--drop li li:not(:focus) :checked~ul ul,.n-nav--drop li li[aria-expanded]>ul ul,.n-nav--drop ul li>:checked~ul ul,.n-nav--drop ul li[aria-expanded]>ul ul{transform:scaleX(1);transform-origin:left}.n-nav--drop li li>input,.n-nav--drop li li[aria-haspopup]:before{--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(90) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A");-webkit-mask-image:var(--mask);-webkit-mask-position:center;mask-image:var(--mask);mask-position:center}.n-nav--drop:not([data-ready]) li{display:flex}.n-nav--drop:not([data-ready]) li>input{position:static;order:1}.n-nav--drop:not([data-ready]) li:not([tabindex])>ul~a{padding-inline-end:.75em}.n-nav--drop li:not([tabindex])>ul~a{padding-inline-end:2.75em}.n-nav--drop ul.n-left-side li[aria-haspopup]{padding-inline-end:0;padding-inline-start:1.875em}.n-nav--drop ul.n-left-side li[aria-haspopup]:before{transform:rotate(180deg);inset-inline-start:0}html:not(.can-touch) .n-nav--drop ul li:not([aria-expanded]) ul ul{transition:calc(var(--n-nav-duration)/ 2) var(--n-nav-duration);opacity:0;position:absolute;transform:scaleX(0);transform-origin:left}html:not(.can-touch) .n-nav--drop ul li:not([aria-expanded]) ul.n-left-side ul{transform-origin:right}html:not(.can-touch) .n-nav--drop>ul>li>ul li{background-color:var(--nui-control-bg,#fff)}html:not(.can-touch) .n-nav--drop>ul li ul>li:hover>input:not(:checked)~ul,html:not(.can-touch) .n-nav--drop>ul li:not([aria-haspopup]) ul li:hover>input:not(:checked)~ul,html:not(.can-touch) .n-nav--drop>ul>li:hover>input:not(:checked)~ul,html:not(.can-touch) .n-nav--drop>ul>li:not([aria-haspopup]):hover>input:not(:checked)~ul{min-height:0;max-height:0;overflow:hidden;z-index:1;position:absolute}html:not(.can-touch) .n-nav--drop ul ul li:not([aria-expanded]) :checked~ul,html:not(.can-touch) .n-nav--drop>ul li ul>li:hover>ul,html:not(.can-touch) .n-nav--drop>ul li:not([aria-haspopup]) ul li:hover~ul,html:not(.can-touch) .n-nav--drop>ul>li:hover>ul,html:not(.can-touch) .n-nav--drop>ul>li:not([aria-haspopup]):hover>ul{max-height:none;overflow:visible;opacity:1;z-index:2;background-color:var(--nui-control-bg,#fff);transform:scaleY(1)}html:not(.can-touch) .n-nav--drop>ul li ul li:hover ul{transition-delay:var(--n-nav-duration);transform:scaleX(1)}nav.n-nav--drop ul[role=menubar]>li>a{max-width:100vw;white-space:normal}nav.n-nav--drop li{white-space:nowrap}nav.n-nav--drop li li li a,nav.n-nav--drop li li[haspopup]>a{white-space:normal;max-width:calc(33.33vw - 2em);width:100em}html.can-touch .n-nav--drop li .n-left-side>li:not([aria-expanded]){overflow:hidden}[dir=rtl] .n-nav--drop li ul:not(.n-left-side)>li[aria-haspopup]:before{transform:rotate(180deg)}html:not(.can-touch) [dir=rtl] .n-nav--drop ul li:not([aria-expanded]) ul ul,html:not(.can-touch)[dir=rtl] .n-nav--drop ul li:not([aria-expanded]) ul ul{transform-origin:right}}@media not screen and (min-width:600px){.n-nav--drop ul li:not([aria-expanded])>ul{position:static;width:calc(100% + 3em);transition:max-height var(--n-nav-duration) ease-in-out}.n-nav--drop ul ul{position:static;width:calc(100% + 3em);padding-inline-start:.5em;overflow:hidden;box-sizing:border-box}.n-nav--drop ul ul ul{margin:0}.n-nav--drop ul li{width:100%}.n-nav--drop ul li[aria-haspopup]{padding-inline-end:3em}.n-nav--drop ul li[aria-haspopup][aria-expanded]:before{--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(0) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A");-webkit-mask-image:var(--mask);mask-image:var(--mask);-webkit-mask-position-x:center;mask-position-x:center;-webkit-mask-position-y:1.15em;mask-position-y:1.15em}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline).n-left-side li:before{inset-inline-end:0;inset-inline-start:auto;transform:none}.n-nav--drop li>input{-webkit-mask-position-y:1.15em;mask-position-y:1.15em;z-index:1}html:not([data-nui-js]) .n-nav--drop{width:100%}html:not([data-nui-js]) .n-nav--drop ul li{display:flex;flex-direction:column}html:not([data-nui-js]) .n-nav--drop ul li a{order:-1}html:not([data-nui-js]) .n-nav--drop ul li:not([aria-expanded])>ul{width:100%}html:not([data-nui-js]) .n-accordion.n-accordion--mobile:not([aria-expanded]) .n-accordion__content{max-width:100%}}@supports (-webkit-overflow-scrolling:touch){.n-nav--drop :focus{outline-style:dotted;outline-width:1px}}.n-nav--scroll,.n-nav:not(.n-nav--drop) ul{box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-tooltip{cursor:help}.n-tooltip__icon{display:inline-block;border-radius:.5em;min-width:1em;height:1em;text-align:center;line-height:1;background-color:var(--nui-control-bg,#444)}.n-tooltip__icon:empty:after{content:"?"}.n-tooltip__content,.n-tooltip__icon{color:var(--nui-control-color,#ddd)}.n-tooltip__content{overflow:hidden;max-height:calc(100vh - 40px);padding:calc(var(--line-height-em)/ 2);font-size:.8em;font-weight:400;position:absolute;z-index:999;text-align:start;transition:opacity .2s ease-in-out;width:min(30em,80vw);line-height:calc(var(--line-height-em)/ 1.25);padding:2em;box-sizing:border-box;display:none}.n-tooltip__content-visible{display:block}.n-tooltip__content:after{content:"";position:absolute;background-color:var(--nui-control-bg,#444);transform:rotate(45deg);width:1em;height:1em}.n-tooltip__content:before{content:"";inset:0;position:absolute;margin:1em;background:var(--nui-control-bg,#444);border-radius:var(--nui-border-radius);z-index:-1}.n-tooltip__content:not([data-n-position=top]){-webkit-mask:linear-gradient(red,red) no-repeat;-webkit-mask-size:100% calc(100% - 1em);mask:linear-gradient(red,red) no-repeat;mask-size:100% calc(100% - 1em)}.n-tooltip__content[data-n-position=bottom],.n-tooltip__content[data-n-position=top]{margin-left:var(--offset_x,0)}.n-tooltip__content[data-n-position=bottom]:after,.n-tooltip__content[data-n-position=top]:after{left:calc(50% - .5em - var(--offset_x,0));bottom:.55em}.n-tooltip__content[data-n-position=bottom]:after{top:.55em}.n-tooltip__content[data-n-position=left],.n-tooltip__content[data-n-position=right]{margin-top:var(--offset_y,0)}.n-tooltip__content[data-n-position=left]:after,.n-tooltip__content[data-n-position=right]:after{top:calc(50% - .5em - var(--offset_y,0));left:.55em}.n-tooltip__content[data-n-position=left]:after{right:.55em;left:auto}body:has(>.n-tooltip__content){position:relative}@-moz-document url-prefix(){body{position:relative}}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-notify{background:rgba(0,0,0,.8);text-align:center;padding:1em;color:#fff;cursor:crosshair;z-index:1;-webkit-appearance:none;appearance:none;border:none;width:100%;font:inherit}.n-notify:after{content:" ✕"}.n-notify--fixed{font-weight:500;position:fixed;left:0;right:0;z-index:2}.n-notify:focus:focus-visible{outline-offset:-3px;outline:auto}.n-parallax{overflow:hidden}.n-parallax__content{will-change:transform;transform:translateY(calc(var(--scrollparallax,0) * 1px))}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-table,.n-table--wide{overflow:auto;border-collapse:collapse;border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color);display:inline-block}.n-table--wide{width:100%;overflow:auto}.n-table--wide .n-table{width:100%;display:table}.n-table td,.n-table th{padding:var(--nui-line-height-em) calc(var(--nui-line-height-em)/ 2);vertical-align:middle}.n-table th,.n-table thead td{color:#fff;font-weight:700;padding-bottom:var(--nui-line-height-em);font-size:1.1em;background:rgba(0,0,0,.3);text-align:start}.n-table th button.n-table__sort,.n-table thead td button.n-table__sort{width:100%;cursor:pointer;-webkit-appearance:none;appearance:none;font:inherit;text-align:inherit;border:0;padding:0;background:0 0;color:inherit;user-select:none}.n-table th button.n-table__sort:after,.n-table thead td button.n-table__sort:after{content:"⇳";margin-left:.5em}.n-table tr:nth-child(2n+1){background:rgba(0,0,0,.025)}.n-table iframe,.n-table td,.n-table th,.n-table tr{border:none}@media not screen and (min-width:600px){.n-table{table-layout:auto}.n-table td{word-break:normal}}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-type{-webkit-text-size-adjust:none;font-size:var(--nui-font-size,16px);line-height:var(--nui-line-height);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;letter-spacing:.25px}.n-type h1,.n-type h2,.n-type h3,.n-type h4,.n-type h5,.n-type h6{line-height:var(--nui-line-height);word-break:break-word;word-wrap:break-word;font-size:1em;font-weight:500;margin:24px 0;line-height:3rem}@media not screen and (min-width:600px){.n-type h1,.n-type h2,.n-type h3,.n-type h4,.n-type h5,.n-type h6{-webkit-hyphens:auto;hyphens:auto}}.n-type h1+p:not(.n-drop-cap),.n-type h2+p:not(.n-drop-cap),.n-type h3+p:not(.n-drop-cap),.n-type h4+p:not(.n-drop-cap),.n-type h5+p:not(.n-drop-cap),.n-type h6+p:not(.n-drop-cap){margin-top:0}.n-type h4,.n-type h5,.n-type h6{line-height:1.5rem}.n-type h1{font-size:2.75rem}.n-type h2{font-size:2.25rem}.n-type h3{font-size:2rem}.n-type h4{font-size:1.75rem}.n-type h5{font-size:1.5rem}.n-type h6{font-size:1.25rem}.n-type pre{overflow:auto}.n-type p{font-size:1em;margin:var(--nui-line-height-em) 0;line-height:var(--nui-line-height)}.n-type .n-drop-cap:first-letter{float:left;font-size:5em;padding:.1em .1em .1em 0;margin-top:-.2em;line-height:1em}.n-type a[href]{color:inherit}.n-type p a[href]{display:inline}.n-type hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}.n-type .n-quote,.n-type blockquote,.n-type q{border-inline-start:1px solid #bbb;padding-inline-start:1em;display:block;margin:var(--nui-line-height-em) 0;margin-inline-start:1em}.n-type .n-big-text{font-size:1.125em;line-height:calc(2 * var(--nui-line-height-em));min-height:1.3334em}.n-adjust-height,.n-row picture.n-adjust-height{border-bottom:calc(1px * var(--adjust-height)) solid transparent;box-sizing:content-box}.n-burger{width:1.5em;height:1.5em;line-height:1.5em;font-size:2em;display:inline-block;text-align:center;position:relative;background:var(--nui-control-bg,#fff)}.n-burger:before{content:"";position:absolute;left:.25em;width:1em;top:.15em;box-shadow:0 .25em 0 1px var(--nui-control-color,#333),0 .625em 0 1px var(--nui-control-color,#333),0 1em 0 1px var(--nui-control-color,#333);height:.1px}[dir=rtl] .n-type .n-drop-cap:first-letter,[dir=rtl].n-type .n-drop-cap:first-letter{float:right}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-contain{max-width:100rem;margin:0 auto;width:100%}html.n-vertical-page,html.n-vertical-page body{height:100%;margin:0 auto;overflow-x:hidden}html.n-vertical-page body{overflow:hidden;height:auto}body.n-sticky-footer{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}body.n-sticky-footer main{flex-grow:1}.n-header a.n-logo{display:inline-block}.n-wide-screen{display:block}.n-narrow-screen{display:none}.n-footer{position:relative}.n-footer>*{position:static}.n-fixed-bg{position:relative;z-index:0}.n-fixed-bg__backdrop{position:absolute;clip:rect(auto,auto,auto,auto);width:100%;height:100%;inset:0;z-index:-1}.n-fixed-bg__backdrop img{inset:0;width:100%;height:100vh;height:100dvh;position:fixed;object-fit:cover;object-position:center}.n-fixed{position:fixed}.n-fixed.n-header{position:static}a[href].span-relative-parent{position:absolute;top:0;right:0;bottom:0;left:0}.n-viewport{min-height:100vh;min-height:100dvh}@media not screen and (min-width:600px){.n-wide-screen{display:none}.n-narrow-screen{display:block}.n-viewport.n-header-banner{height:auto;overflow:hidden}.n-header .head-right{text-align:start}.n-header.n-fixed{position:fixed;top:0;left:0;right:0;background:#fff;z-index:7}.n-header a.n-logo{float:right}}:root{--nui-border-size:0px;--nui-border-color:var(--nui-control-color);--nui-shadow-size:0px;--nui-shadow-blur:0;--nui-shadow-color:var(--nui-control-color);--nui-border-color:transparent}.n-scheme-dark{--nui-color:var(--nui-color-dark);--nui-bg:var(--nui-bg-dark);--nui-control-color:var(--nui-control-color-dark);--nui-control-bg:var(--nui-control-bg-dark);--nui-control-active-bg:var(--nui-control-active-bg-dark);--nui-control-active-color:var(--nui-control-active-color-dark);--nui-control-highlight:var(--nui-control-highlight-dark);--nui-input-color:var(--nui-input-color-dark);--nui-input-bg:var(--nui-input-bg-dark);--nui-list-color:var(--nui-list-color-dark);--nui-list-bg:var(--nui-list-bg-dark);--nui-border-color:var(--nui-border-color-dark);--nui-shadow-color:var(--nui-shadow-color-dark);--nui-border-color-dark:transparent;--nui-shadow-color-dark:transparent}@media (prefers-color-scheme:dark){.n-scheme-auto{--nui-color:var(--nui-color-dark);--nui-bg:var(--nui-bg-dark);--nui-control-color:var(--nui-control-color-dark);--nui-control-bg:var(--nui-control-bg-dark);--nui-control-active-bg:var(--nui-control-active-bg-dark);--nui-control-active-color:var(--nui-control-active-color-dark);--nui-control-highlight:var(--nui-control-highlight-dark);--nui-input-color:var(--nui-input-color-dark);--nui-input-bg:var(--nui-input-bg-dark);--nui-list-color:var(--nui-list-color-dark);--nui-list-bg:var(--nui-list-bg-dark);--nui-border-color:var(--nui-border-color-dark);--nui-shadow-color:var(--nui-shadow-color-dark);--nui-border-color-dark:transparent;--nui-shadow-color-dark:transparent}} /*# sourceMappingURL=niui.min.css.map */ diff --git a/dist/niui.min.css.map b/dist/niui.min.css.map index de3a2a7b..775f8496 100644 --- a/dist/niui.min.css.map +++ b/dist/niui.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../css/niui-setup.scss","button/button.scss","card/card.scss","grid/aspect-ratio.scss","grid/grid.scss","form/form.scss","list/list.scss","../../node_modules/n-accordion/n-accordion.scss","../../node_modules/n-carousel/n-carousel.scss","../../node_modules/n-modal/n-modal.scss","../../node_modules/n-select/n-select.scss","../../node_modules/n-tooltip/n-tooltip.scss","nav/nav.scss","notify/notify.scss","parallax/parallax.scss","table/table.scss","typography/typography.scss","niui-setup.scss","niui-core.scss"],"names":[],"mappings":"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","file":"niui.min.css","sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"// Line height is 1.5 * 16px = 24px and every element height must be divisible by 24 to achieve baseline alignment\n$screen-narrow: 600px;\n// < @media screen and (min-width: $screen-narrow) { }\n// > @media not screen and (min-width: $screen-narrow) { }\n$screen-limited: 900px;\n// < @media screen and (min-width: $screen-limited) { }\n// > @media not screen and (min-width: $screen-limited) { }\n\n:root {\n\t--nui-font-size: 16px;\n\t--nui-line-height: 1.5;\n\t--nui-line-height-em: calc(1rem * var(--nui-line-height));\n\t--nui-color: #333;\n}","/* niui – rado.bg */\n@charset \"utf-8\";\n@import \"niui-setup\";\n\n.n-contain {\n max-width: 100rem;\n margin: 0 auto;\n width: 100%;\n}\n\nhtml.n-vertical-page {\n\n &,\n body {\n height: 100%;\n margin: 0 auto;\n overflow-x: hidden;\n }\n\n body {\n overflow: hidden;\n height: auto;\n }\n}\n\nbody.n-sticky-footer {\n min-height: 100vh; // % has problems with Chrome 67\n min-height: 100dvh;\n display: flex;\n flex-direction: column;\n\n main {\n flex-grow: 1;\n }\n}\n\n.n-header a.n-logo {\n display: inline-block;\n}\n\n.n-wide-screen {\n display: block;\n}\n\n.n-narrow-screen {\n display: none;\n}\n\n/* Footer */\n.n-footer {\n position: relative; // Because of the n-backtotop button\n}\n\n.n-footer > * {\n position: static;\n}\n\n/* Element as a window to an image spanning viewport dimensions */\n.n-fixed-bg {\n position: relative;\n z-index: 0;\n\n &__backdrop {\n\n position: absolute;\n clip: rect(auto, auto, auto, auto);\n width: 100%;\n height: 100%;\n inset: 0;\n z-index: -1;\n\n img {\n inset: 0;\n width: 100%;\n height: 100vh; // Mobile browser resize when hiding/showing toolbars\n height: 100dvh;\n position: fixed;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n.n-fixed {\n position: fixed;\n\n &.n-header {\n position: static;\n }\n}\n\na[href].span-relative-parent {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n\n.n-viewport {\n min-height: 100vh;\n min-height: 100dvh;\n}\n\n/* Narrow Screens */\n@media not screen and (min-width: $screen-narrow) {\n .n-wide-screen {\n display: none;\n }\n\n .n-narrow-screen {\n display: block;\n }\n\n .n-viewport.n-header-banner {\n height: auto;\n overflow: hidden;\n }\n\n .n-header {\n .head-right {\n text-align: start;\n }\n\n &.n-fixed {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n background: #fff;\n z-index: 7;\n }\n\n a.n-logo {\n float: right;\n }\n }\n}\n\n:root {\n --nui-border-size: 0px;\n --nui-border-color: var(--nui-control-color);\n --nui-shadow-size: 0px;\n --nui-shadow-blur: 0;\n --nui-shadow-color: var(--nui-control-color);\n --nui-border-color: transparent;}\n\n@mixin dark-theme {\n --nui-color: var(--nui-color-dark);\n --nui-bg: var(--nui-bg-dark);\n --nui-control-color: var(--nui-control-color-dark);\n --nui-control-bg: var(--nui-control-bg-dark);\n --nui-control-active-bg: var(--nui-control-active-bg-dark);\n --nui-control-active-color: var(--nui-control-active-color-dark);\n --nui-control-highlight: var(--nui-control-highlight-dark);\n --nui-input-color: var(--nui-input-color-dark);\n --nui-input-bg: var(--nui-input-bg-dark);\n --nui-list-color: var(--nui-list-color-dark);\n --nui-list-bg: var(--nui-list-bg-dark);\n --nui-border-color: var(--nui-border-color-dark);\n --nui-shadow-color: var(--nui-shadow-color-dark);\n --nui-border-color-dark: transparent;\n --nui-shadow-color-dark: transparent;\n}\n\n.n-scheme-dark {\n @include dark-theme;\n}\n\n.n-scheme-auto {\n @media (prefers-color-scheme: dark) {\n @include dark-theme;\n }\n}"]} \ No newline at end of file +{"version":3,"sources":["../../css/niui-setup.scss","card/card.scss","button/button.scss","form/form.scss","list/list.scss","grid/aspect-ratio.scss","grid/grid.scss","../../node_modules/n-accordion/n-accordion.scss","../../node_modules/n-carousel/n-carousel.scss","../../node_modules/n-modal/n-modal.scss","../../node_modules/n-select/n-select.scss","nav/nav.scss","../../node_modules/n-tooltip/n-tooltip.scss","notify/notify.scss","parallax/parallax.scss","table/table.scss","typography/typography.scss","niui-setup.scss","niui-core.scss"],"names":[],"mappings":"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","file":"niui.min.css","sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"// Line height is 1.5 * 16px = 24px and every element height must be divisible by 24 to achieve baseline alignment\n$screen-narrow: 600px;\n// < @media screen and (min-width: $screen-narrow) { }\n// > @media not screen and (min-width: $screen-narrow) { }\n$screen-limited: 900px;\n// < @media screen and (min-width: $screen-limited) { }\n// > @media not screen and (min-width: $screen-limited) { }\n\n:root {\n\t--nui-font-size: 16px;\n\t--nui-line-height: 1.5;\n\t--nui-line-height-em: calc(1rem * var(--nui-line-height));\n\t--nui-color: #333;\n}","/* niui – rado.bg */\n@charset \"utf-8\";\n@import \"niui-setup\";\n\n.n-contain {\n max-width: 100rem;\n margin: 0 auto;\n width: 100%;\n}\n\nhtml.n-vertical-page {\n\n &,\n body {\n height: 100%;\n margin: 0 auto;\n overflow-x: hidden;\n }\n\n body {\n overflow: hidden;\n height: auto;\n }\n}\n\nbody.n-sticky-footer {\n min-height: 100vh; // % has problems with Chrome 67\n min-height: 100dvh;\n display: flex;\n flex-direction: column;\n\n main {\n flex-grow: 1;\n }\n}\n\n.n-header a.n-logo {\n display: inline-block;\n}\n\n.n-wide-screen {\n display: block;\n}\n\n.n-narrow-screen {\n display: none;\n}\n\n/* Footer */\n.n-footer {\n position: relative; // Because of the n-backtotop button\n}\n\n.n-footer > * {\n position: static;\n}\n\n/* Element as a window to an image spanning viewport dimensions */\n.n-fixed-bg {\n position: relative;\n z-index: 0;\n\n &__backdrop {\n\n position: absolute;\n clip: rect(auto, auto, auto, auto);\n width: 100%;\n height: 100%;\n inset: 0;\n z-index: -1;\n\n img {\n inset: 0;\n width: 100%;\n height: 100vh; // Mobile browser resize when hiding/showing toolbars\n height: 100dvh;\n position: fixed;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n.n-fixed {\n position: fixed;\n\n &.n-header {\n position: static;\n }\n}\n\na[href].span-relative-parent {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n\n.n-viewport {\n min-height: 100vh;\n min-height: 100dvh;\n}\n\n/* Narrow Screens */\n@media not screen and (min-width: $screen-narrow) {\n .n-wide-screen {\n display: none;\n }\n\n .n-narrow-screen {\n display: block;\n }\n\n .n-viewport.n-header-banner {\n height: auto;\n overflow: hidden;\n }\n\n .n-header {\n .head-right {\n text-align: start;\n }\n\n &.n-fixed {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n background: #fff;\n z-index: 7;\n }\n\n a.n-logo {\n float: right;\n }\n }\n}\n\n:root {\n --nui-border-size: 0px;\n --nui-border-color: var(--nui-control-color);\n --nui-shadow-size: 0px;\n --nui-shadow-blur: 0;\n --nui-shadow-color: var(--nui-control-color);\n --nui-border-color: transparent;}\n\n@mixin dark-theme {\n --nui-color: var(--nui-color-dark);\n --nui-bg: var(--nui-bg-dark);\n --nui-control-color: var(--nui-control-color-dark);\n --nui-control-bg: var(--nui-control-bg-dark);\n --nui-control-active-bg: var(--nui-control-active-bg-dark);\n --nui-control-active-color: var(--nui-control-active-color-dark);\n --nui-control-highlight: var(--nui-control-highlight-dark);\n --nui-input-color: var(--nui-input-color-dark);\n --nui-input-bg: var(--nui-input-bg-dark);\n --nui-list-color: var(--nui-list-color-dark);\n --nui-list-bg: var(--nui-list-bg-dark);\n --nui-border-color: var(--nui-border-color-dark);\n --nui-shadow-color: var(--nui-shadow-color-dark);\n --nui-border-color-dark: transparent;\n --nui-shadow-color-dark: transparent;\n}\n\n.n-scheme-dark {\n @include dark-theme;\n}\n\n.n-scheme-auto {\n @media (prefers-color-scheme: dark) {\n @include dark-theme;\n }\n}"]} \ No newline at end of file diff --git a/dist/niui.min.css.size b/dist/niui.min.css.size index 38bfecd5..fdcb28a6 100644 --- a/dist/niui.min.css.size +++ b/dist/niui.min.css.size @@ -1 +1 @@ -14324 +14308 diff --git a/dist/niui.min.js b/dist/niui.min.js index 73a06b6b..18cf40b3 100644 --- a/dist/niui.min.js +++ b/dist/niui.min.js @@ -1,2 +1,2 @@ -let nui=(()=>{function e(e){return document.querySelector(e)}function t(e,t){e.classList.add(t)}function n(e,t){e.classList.remove(t)}document.body.dataset.nuiJs=!0,window.chrome&&(document.body.dataset.nuiChrome=!0),navigator.userAgent.match(/Safari/)&&!navigator.userAgent.match(/Chrome/)&&(document.body.dataset.nuiSafari=!0),(navigator.platform.match(/Mac/)||navigator.platform.match(/iPhone/)||navigator.platform.match(/iPod/)||navigator.platform.match(/iPad/))&&(document.body.dataset.nuiApple=!0),navigator.platform.match(/iPad/);let o=()=>{e(".n-target")&&n(e(".n-target"),"n-target"),location.hash&&e(location.hash)&&t(e(location.hash),"n-target")};o(),window.addEventListener("hashchange",o);var r=document.createElement("temp");for(var a in{animation:"animationend",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd"})r.style[a];!function(){var o,r=!1;let a=n=>{clearTimeout(o),r=!0,t(e("html"),"can-touch"),o=setTimeout((()=>{r=!1}),500)};document.addEventListener("mouseover",(t=>{r||(r=!1,n(e("html"),"can-touch"))}),!1),document.addEventListener("touchstart",a,!1),a()}(),e(".n-carousel__content");var l=new Array;function i(e=document.body){c();for(let t in l)l[t][0].init(e);d()}var s=!1;function d(){s&&s.observe(document.body,{childList:!0,subtree:!0})}function c(){s&&s.disconnect()}return"function"==typeof MutationObserver&&(s=new MutationObserver(((e,t)=>{if(window.nui.dynamicInit){c();let t=e[0];if("childList"===t.type&&t.addedNodes.length>0)for(let e of t.addedNodes)"object"==typeof e&&"#text"!==e.nodeName&&!e.dataset.ready&&e.parentNode&&i(e.parentNode);d()}}))),i(),{registerComponent:function(e,t,n=!1){l[e]=new Array,l[e].push({init:t}),t(document),n&&(nui[n.name]=n.code)},initComponents:i,copyButton:function(e,t,n){e.addEventListener("click",(e=>{window.getSelection().removeAllRanges();var o=document.createRange();o.selectNode(t),window.getSelection().addRange(o);try{document.execCommand("copy"),n&&nui.notify&&nui.notify("📋 "+t.textContent,"fixed timeout")}catch(e){}}))},addComponent:function(e,t){e.insertAdjacentHTML("afterbegin",t),i(e)}}})();nui.dynamicInit=!0,function(){function e(e){var t=e.target,n=!0;return t.querySelectorAll(".n-form--mandatory:not([disabled])").forEach((e=>{if(e.querySelector("input, select, textarea")&&!e.querySelector("input, select, textarea").value||e.querySelector("input[type=checkbox]")&&!e.querySelector("input[type=checkbox]").checked||e.querySelector("input[type=radio]")&&!e.querySelector("input[type=radio]").checked||e.querySelector("input[type=email]")&&!RegExp(/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/).test(e.querySelector("input[type=email]").value)||e.querySelector("input[type=url]")&&!RegExp(/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/).test(e.querySelector("input[type=url]").value)||e.querySelector("input[type=number]")&&!RegExp(/^\d+$/).test(e.querySelector("input[type=number]").value)||e.querySelector("input[type=number][data-digits]")&&e.querySelector("input[type=number]").value.length!==parseInt(e.querySelector("input[type=number]").dataset.digits)){n=!1,e.querySelector("input").focus(),e.classList.add("n-form--alert");let t=e.closest("form");t.animate([{width:`${t.scrollWidth}px`},{marginLeft:"-9px"},{marginLeft:"18px"},{width:`${t.scrollWidth}px`,marginLeft:0}],250)}else e.classList.remove("n-form--alert")})),n}function t(e){var t=e.target;t.parentNode.querySelector("span.n-form__file-name").innerHTML=t.value.substring(t.value.lastIndexOf("\\")+1)}function n(e){var t=e.target,n=document.querySelector(`fieldset#${t.closest(".n-form__condition").dataset.for}`)||t.closest(".n-form__condition").nextElementSibling,o="disabled";t.checked?n.removeAttribute(o):n.setAttribute(o,"disabled")}nui.registerComponent("form",(o=>{o.querySelectorAll("form.n-form").forEach(((o,r)=>{o.onsubmit=o.onsubmit||e,o.querySelectorAll("input[type=file]").forEach(((e,n)=>{e.onchange=t,e.parentNode.querySelector("span").insertAdjacentHTML("afterbegin","")})),o.querySelectorAll(".n-form__check.n-form__condition input").forEach(((e,t)=>{e.onchange=n})),o.querySelectorAll("textarea[data-auto]").forEach((e=>{e.onkeyup=t=>{for(e=t.target;e.rows>1&&e.scrollHeighte.offsetHeight&&!(e.rows>20);)e.rows++;e.rows++}})),o.dataset.ready=!0}))}))}(),nui.registerComponent("button",(e=>{const t=e=>{let t=e.target.closest(".n-btn--ripple"),n=e.offsetX||t.clientWidth/2,o=e.offsetY||t.clientHeight/2,r=Math.max(n,t.clientWidth-n),a=Math.max(o,t.clientHeight-o),l=Math.sqrt(r*r+a*a);t.style.transitionProperty="none",t.style.setProperty("--ripple-x",`${n}px`),t.style.setProperty("--ripple-y",`${o}px`),t.style.setProperty("--ripple-radius","0px"),window.requestAnimationFrame((()=>{t.style.transitionProperty="",t.style.setProperty("--ripple-radius",`${l}px`)}))};document.querySelectorAll(".n-btn--ripple:not([data-ready])").forEach((e=>{e.addEventListener("pointerdown",t),e.addEventListener("keydown",t),e.dataset.ready=!0}))})),function(){const e=e=>Math.ceil(parseFloat(getComputedStyle(e).width)),t=e=>Math.ceil(parseFloat(getComputedStyle(e).height)),n='button, [href], input, select, textarea, details, summary, video, [tabindex]:not([tabindex="-1"])';const o=!!navigator.userAgent.match("Chrome"),r=navigator.userAgent.match(/Safari/)&&!o,a=e=>e.children.length>2&&e.parentElement.classList.contains("n-carousel--endless"),l=()=>!(!document.webkitFullscreenElement&&!document.fullscreenElement),i=e=>e.closest(".n-carousel").classList.contains("n-carousel--overlay"),s=e=>e.closest(".n-carousel").matches(".n-carousel--vertical"),d=e=>e.closest(".n-carousel").matches(".n-carousel--auto-height"),c=e=>{let t=e.querySelectorAll(".n-carousel__control");return t.length>0?t:e.querySelectorAll("a, button")},u=e=>{e.style.height=0,e.style.overflow="auto";const t=e.scrollHeight;return e.style.height=e.style.overflow="",t},p=e=>1*(s(e)?e.dataset.y:e.dataset.x),h=e=>{let t=e.querySelector(":scope > [aria-current]");if(t)return[...e.children].indexOf(t);{let t=location.hash?[...e.children].indexOf(e.querySelector(`:scope > ${location.hash}`)):0;return t>-1?t:0}},m=e=>{for(e=e.parentNode;e;){if(0!==e.scrollTop||0!==e.scrollLeft)return e;e=e.parentNode}return!1},y=e=>"rtl"===getComputedStyle(e).direction,g=e=>{let t=(e=e.closest(".n-carousel")).querySelector(":scope > .n-carousel__content");const n=()=>{l()||(e.nuiAncestors.forEach((e=>{window.requestAnimationFrame((()=>{e.scrollLeft=e.nuiScrollX,e.scrollTop=e.nuiScrollY,delete e.nuiScrollX,delete e.nuiScrollY}))})),delete e.nuiAncestors,e.removeEventListener("webkitfullscreenchange",n))};if(t.togglingFullScreen=!0,l()){if(document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen(),r&&setTimeout((()=>{e.style.display="none",window.requestAnimationFrame((()=>{e.style.display=""}))}),0),s(e)&&d(e)){let t=n=>{setTimeout((()=>{let t=e.querySelector(":scope > .n-carousel__content");P(t,parseInt(t.dataset.y))}),100),e.removeEventListener("fullscreenchange",t)};e.addEventListener("fullscreenchange",t)}}else r&&(e.nuiAncestors=(e=>{let t=[],n=m(e);for(;n&&void 0!==n.scrollLeft&&(0!==n.scrollTop||0!==n.scrollLeft);)t.push(n),n=m(n);return t})(e),e.nuiAncestors.forEach((e=>{e.nuiScrollX=e.scrollLeft,e.nuiScrollY=e.scrollTop})),e.addEventListener("webkitfullscreenchange",n,!1)),e.requestFullscreen?e.requestFullscreen():e.webkitRequestFullscreen()},f=e=>e.scrollLeft,v=(e,t,n)=>{e.scrollTo(y(e)?-1*Math.abs(t):t,n)},b=e=>e===window?{x:e.scrollX,y:e.scrollY}:{x:f(e),y:e.scrollTop};let x=null,S=null,w=null;const E=e=>{("Tab"===e.key||9===e.keyCode)&&(e.shiftKey?document.activeElement===x&&(w.focus(),e.preventDefault()):document.activeElement===w&&(x.focus(),e.preventDefault()))},q=(e,t=!1)=>{x=e.querySelectorAll(n)[0],S=e.querySelectorAll(n),w=S[S.length-1],t?e.removeEventListener("keydown",E):(e.addEventListener("keydown",E),x.focus())},A=(e,t)=>{let n=document.querySelector(`${t}[data-for="${e.id}"]`);if(n)return n;for(let n of e.children){if(n.matches(t))return n;if(!n.matches(".n-carousel__content")&&n.querySelector(t))return n.querySelector(t)}},C=e=>{var t=e.closest('[class*="n-carousel"]').dataset.for;return t?document.getElementById(t).querySelector(".n-carousel__content"):e.closest(".n-carousel").querySelector(".n-carousel__content")},L=(e,t,n,o,r=!1)=>new Promise(((a,l)=>{let i=e.closest(".n-carousel");if(i.nextSlideInstant||!i.dataset.ready||window.matchMedia("(prefers-reduced-motion: reduce)").matches||i.matches(".n-carousel--instant"))return v(e,b(e).x+t,b(e).y+n),e.style.height=`${o}px`,delete i.nextSlideInstant,_(e),void a(e);O(e);let c=!0;0===t&&0===n&&(c=!1),o?(e.style.height=`${r}px`,s(e)&&d(e)&&e.style.setProperty("--subpixel-compensation",0)):s(e)||(e.style.height="");var u=b(e).x,p=b(e).y,h=parseInt(e.style.height),m=o-h,y=1e3*parseFloat(e.parentNode.dataset.duration)||500,g=null;let f=r=>{if(r-g>=y)return window.requestAnimationFrame((()=>{v(e,u+t,p+n),o&&(e.style.height=`${o}px`),_(e)})),void a(e);var l,i=(l=(r-g)/y,(1-Math.cos(Math.PI*l))/2);c&&v(e,u+t*i,p+n*i),o&&window.requestAnimationFrame((()=>{e.style.height=`${h+m*i}px`})),requestAnimationFrame(f)};requestAnimationFrame((e=>{g=e,f(e)}))})),_=(n,o=!1)=>{O(n);let l=n.dataset.x,i=n.dataset.y;n.togglingFullScreen?delete n.togglingFullScreen:n.openingModal?(delete n.openingModal,v(n,n.offsetWidth*n.dataset.x,n.offsetHeight*n.dataset.y)):(n.dataset.x=Math.abs(Math.round(f(n)/e(n.firstElementChild))),n.dataset.y=Math.abs(Math.round(n.scrollTop/t(n.firstElementChild)))),"NaN"===n.dataset.x&&(n.dataset.x=0),"NaN"===n.dataset.y&&(n.dataset.y=0);let m=p(n);m>=n.children.length&&(m=n.children.length-1);let y=n.querySelector(":scope > [aria-current]"),g=n.parentElement;g.classList.contains("n-carousel--auto-height")||(n.style.height="");let b=n.children[m];if(y&&!o){if(b===y)return n.dataset.x=l,n.dataset.y=i,void W(n);y.removeAttribute("aria-current"),y.style.height="",s(n)||(n.style.height="")}var x=m;b.setAttribute("aria-current",!0),x=h(n),n.dataset.x=n.dataset.y=x;const S=e=>{e.querySelectorAll(":scope > [data-first]").forEach((t=>{e.append(e.firstElementChild),delete t.dataset.first,m--})),e.querySelectorAll(":scope > [data-last]").forEach((t=>{e.prepend(e.lastElementChild),delete t.dataset.last,m++}))};if(g.dataset.sliding=!0,a(n)?(0===m?b.dataset.first?(delete n.firstElementChild.dataset.first,n.append(n.firstElementChild),n.firstElementChild.dataset.last=!0,n.append(n.firstElementChild),x=n.children.length-1,m=n.children.length-2):(n.lastElementChild.dataset.last?(delete n.lastElementChild.dataset.last,x=1):n.lastElementChild.dataset.first=!0,n.prepend(n.lastElementChild),m=1):m===n.children.length-1?b.dataset.last?(delete n.lastElementChild.dataset.last,n.prepend(n.lastElementChild),n.lastElementChild.dataset.first=!0,n.prepend(n.lastElementChild),x=0,m=1):(n.firstElementChild.dataset.first?(delete n.firstElementChild.dataset.first,x=n.children.length-2):n.firstElementChild.dataset.last=!0,n.append(n.firstElementChild),m=n.children.length-2):(S(n),x=Math.max(0,[...n.children].indexOf(n.querySelector(":scope > [aria-current]")))),window.requestAnimationFrame((()=>{n.dataset.x=n.dataset.y=x;let o=e(n.firstElementChild)*m,r=t(n.firstElementChild)*m;n.scroll_x=o,n.scroll_y=r,v(n,o,r),delete n.scroll_x,delete n.scroll_y}))):(S(n),x=Math.max(0,[...n.children].indexOf(n.querySelector(":scope > [aria-current]")))),b.style.height="",g.style.setProperty("--height",`${n.parentNode.classList.contains("n-carousel--auto-height")?u(b):b.scrollHeight}px`),window.requestAnimationFrame((()=>{!n.parentNode.dataset.ready&&d(n)&&s(n)&&(n.style.height=parseFloat(getComputedStyle(n).height)-(e=>2*parseInt(getComputedStyle(e).paddingBlockStart))(n)+"px")})),"hidden"!==getComputedStyle(n).visibility){let e=document.activeElement,t=b.id;n.parentNode.dataset.ready&&t&&!n.parentNode.closest(".n-carousel__content")&&(location.hash=`#${t}`),n.parentNode.dataset.ready&&!t&&!n.parentNode.closest(".n-carousel__content")&&window.nCarouselNav&&(location.hash=""),e.focus()}let w=A(n.closest(".n-carousel"),".n-carousel__index");w&&(w.querySelector("[aria-current]")?.removeAttribute("aria-current"),c(w)[x].setAttribute("aria-current",!0)),[...n.children].forEach((e=>{if(e.inert=e!==b,r&&e.querySelector(".n-carousel:-webkit-full-screen")){let t=e.parentNode.querySelector(':scope > [aria-current="true"]');t.inert=!0,t.removeAttribute("aria-current"),e.inert=!1,e.setAttribute("aria-current",!0)}})),/--vertical.*--auto-height/.test(g.classList)&&(n.scrollTop=n.offsetHeight*x),window.requestAnimationFrame((()=>{W(n)}))},N=(e,t=0,n=0,o)=>{if(clearTimeout(e.nCarouselTimeout),O(e),!e.parentNode.dataset.sliding){e.parentNode.dataset.sliding=!0;let r=e.children[h(e)].offsetHeight,a=r;if(d(e)){let t=f(e),n=e.scrollTop,r=e.children[o];if(s(e)){r.style.height="auto";let t=getComputedStyle(e).maxHeight,n=t.match(/px/)?Math.ceil(parseFloat(t)):99999;a=Math.min(Math.ceil(parseFloat(getComputedStyle(r).height)),n),r.style.height=""}else{a=u(r);let t=h(e)===o?a:u(e.children[h(e)]);e.parentNode.style.setProperty("--height",`${t}px`)}v(e,t+(e=>2*parseInt(getComputedStyle(e).paddingInlineStart))(e)/2,n),v(e,t,n)}s(e)&&((i(e)||l())&&d(e)&&(r=a=e.offsetHeight),n=n-o*r+o*a),window.requestAnimationFrame((()=>{e.parentNode.dataset.duration||d(e)?L(e,t,n,a!==r&&a,r):(delete e.parentNode.dataset.sliding,e.dataset.next=o,e.scrollTo({top:e.scrollTop+n,left:e.scrollLeft+t,behavior:window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth"}))}))}},T=e=>{let t=h(e);P(e,t>=e.children.length-1?0:t+1)},P=(e,n)=>{if(s(e))N(e,0,t(e.children[n])*n-e.scrollTop,n);else{let t=Math.ceil(parseFloat(getComputedStyle(e.children[n]).width)),o=y(e)?Math.abs(f(e))-t*n:t*n-f(e);N(e,o,0,n)}},k=e=>{},M=e=>(e=>{let t=h(e);P(e,0===t?e.children.length-1:t-1)})(C(e.target.closest('[class*="n-carousel"]'))),H=e=>T(C(e.target.closest('[class*="n-carousel"]'))),F=e=>{let t=e.target.closest("a, button");if(t&&(!t.href||!e.ctrlKey&&!e.metaKey)){const e=document.querySelector(`.n-carousel#${t.parentNode.dataset.for}`)||t.closest(".n-carousel"),o=e.querySelector(":scope > .n-carousel__content");let r=[...c(t.parentNode)].indexOf(t);if(a(o)){var n=p(o);0===n&&(r===o.children.length-1?r=0:r++),n===o.children.length-1&&(0===r?r=o.children.length-1:r--)}return e.classList.contains("n-carousel--inline")&&!i(o)?(e.nextSlideInstant=!0,B(o),window.requestAnimationFrame((()=>{o.dataset.x=o.dataset.y=r,v(o,o.offsetWidth*o.dataset.x,o.offsetHeight*o.dataset.y),document.body.dataset.frozen=document.body.scrollTop,_(o)}))):window.requestAnimationFrame((()=>{P(o,r)})),!1}},R=e=>{l()&&(document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen());let t=C(e);t&&(t.closest(".n-carousel").classList.remove("n-carousel--overlay"),q(t.closest(".n-carousel"),!0),delete document.body.dataset.frozen)},B=e=>{let t=C(e);t&&(t.openingModal=!0,t.closest(".n-carousel").classList.add("n-carousel--overlay"),q(t.closest(".n-carousel")))},$=new ResizeObserver((e=>{window.requestAnimationFrame((()=>{e.forEach((e=>{let t=e.target.querySelector(":scope > [aria-current]"),n=t.closest(".n-carousel__content");n.parentElement.dataset.sliding||(n.parentNode.style.removeProperty("--height"),s(n)?(t.style.height="auto",n.style.height=`${t.scrollHeight}px`,t.style.height="",_(n)):(n.style.height="",n.style.height=`${t.scrollHeight}px`,_(n,!0)))}))}))})),I=n=>{if(!n.parentNode.dataset.sliding){let o=n;o.style.padding="",o.style.removeProperty("--peek-int"),o.style.padding=s(o)?`${parseInt(getComputedStyle(o).paddingBlockStart)}px 0`:`0 ${parseInt(getComputedStyle(o).paddingInlineStart)}px`,"0px"===o.style.padding?o.style.padding="":o.style.setProperty("--peek-int",s(o)?`${parseInt(getComputedStyle(o).paddingBlockStart)}px 0 0 0`:`0 ${parseInt(getComputedStyle(o).paddingInlineStart)}px 0 0`),window.requestAnimationFrame((()=>{s(n)?o.style.setProperty("--subpixel-compensation",Math.ceil(o.getBoundingClientRect().height)-o.getBoundingClientRect().height):o.style.setProperty("--subpixel-compensation",Math.ceil(o.getBoundingClientRect().width)-o.getBoundingClientRect().width);let r=h(o);v(o,r*e(o.firstElementChild),r*t(o.firstElementChild))}))}},W=e=>{window.requestAnimationFrame((()=>{e.scroll_x&&e.scroll_y&&v(e,e.scroll_x,e.scroll_y),delete e.parentNode.dataset.sliding,e.parentNode.matches(".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height")?Y.observe(e.parentNode):Y.unobserve(e.parentNode),D.observe(e),j.observe(e.parentNode,{attributes:!0,attributeFilter:["class"]})}))},O=e=>{Y.unobserve(e.parentNode),D.unobserve(e),e.observerStarted=!0},z=e=>{O(e);const t=e=>{I(e),window.requestAnimationFrame((()=>{let t=e.querySelector(":scope > [aria-current]").scrollHeight+"px";t!==getComputedStyle(e).getPropertyValue("--height")&&e.parentNode.style.setProperty("--height",t),W(e)}))};t(e),e.querySelectorAll(".n-carousel__content").forEach((e=>t(e)))},D=new ResizeObserver((e=>{window.requestAnimationFrame((()=>{e.forEach((e=>{let t=e.target;t.observerStarted?t.observerStarted=!1:z(t)}))}))})),j=new MutationObserver((e=>{for(let t of e)if(t.target&&!t.target.nextSlideInstant){let e=t.target.querySelector(":scope > .n-carousel__content");z(e),_(e,!0)}})),X=e=>{let t=e.querySelector(":scope > .n-carousel__index");t&&!e.dataset.sliding&&(e.style.removeProperty("--height-minus-index"),t.style.position="absolute",e.style.setProperty("--height-minus-index",`${e.offsetHeight}px`),e.style.setProperty("--index-width",getComputedStyle(e.querySelector(":scope > .n-carousel__index")).width),t.style.position="")},Y=new ResizeObserver((e=>{window.requestAnimationFrame((()=>{e.forEach((e=>{let t=e.target;X(t)}))}))})),V=(n=document)=>{n.querySelectorAll(".n-carousel:not([data-ready])").forEach((n=>{const o=A(n,".n-carousel__previous"),a=A(n,".n-carousel__next"),c=A(n,".n-carousel__index"),p=A(n,".n-carousel__close"),h=A(n,".n-carousel__full-screen"),m=n.querySelector(":scope > .n-carousel__content");if(!m)return;if(o&&(o.onclick=M),a&&(a.onclick=H),c&&(c.onclick=F),p&&(p.onclick=e=>{e.target.closest(".n-carousel").classList.contains("n-carousel--overlay")?R(e.target):B(e.target)}),h){h.onclick=e=>{let t=e.target.closest(".n-carousel").querySelector(":scope > .n-carousel__content");t.dataset.xx=t.dataset.x,t.dataset.yy=t.dataset.y,g(e.target)};const o=n=>{let o=n.target.querySelector(":scope > .n-carousel__content");window.requestAnimationFrame((()=>{_(o),o.dataset.x=o.dataset.xx,o.dataset.y=o.dataset.yy,delete o.dataset.xx,delete o.dataset.yy,"undefined"!==o.dataset.x&&"undefined"!==o.dataset.y&&v(o,o.dataset.x*e(o.children[o.dataset.x]),o.dataset.y*t(o.children[o.dataset.y]))}))};r?n.onwebkitfullscreenchange=o:n.onfullscreenchange=o}m.addEventListener("keydown",k),n.addEventListener("keyup",(e=>{if("Escape"===e.key){let t=e.target;t.closest(".n-carousel--overlay")||(t=document.querySelector(".n-carousel--overlay")),t&&R(t)}})),I(m),m.observerStarted=!0;let y=!!location.hash&&m.querySelector(":scope > "+location.hash);if(y){n.classList.contains("n-carousel--inline")&&B(m);let e=[...y.parentNode.children].indexOf(y);s(m)?m.dataset.y=e:m.dataset.x=e,window.nCarouselNav=[m,location.hash]}n.matches(".n-carousel--vertical.n-carousel--auto-height")&&(m.style.height="",m.style.height=getComputedStyle(m).height,n.dataset.ready=!0,m.scrollTop=0),n.matches(".n-carousel--auto-height")&&$.observe(m),window.requestAnimationFrame((()=>{if(W(m),n.parentNode.matches(".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height")&&X(n),_(m),n.dataset.ready=!0,n.matches(".n-carousel--auto-slide")){let e=(1e3*parseFloat(n.dataset.interval)||4e3)+(1e3*parseFloat(n.dataset.duration)||500),t=()=>{(function(e){let t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.offsetHeight)&&t.right<=(window.innerWidth||document.documentElement.offsetWidth)})(m)&&T(m),m.nCarouselTimeout=setTimeout(t,e)};m.nCarouselTimeout=setTimeout(t,1e3*parseFloat(n.dataset.interval)||4e3),m.addEventListener("pointerenter",(e=>clearTimeout(e.target.nCarouselTimeout)))}n.dataset.platform=navigator.platform})),m.nCarouselUpdate=_;if(m.querySelectorAll(":scope > *").forEach((e=>{const t=new IntersectionObserver((e=>{e.forEach((e=>{let t=e.target,o=t.parentNode;if(e.isIntersecting&&!o.parentNode.dataset.sliding&&"hidden"!==getComputedStyle(o).visibility){if(o.dataset.next&&parseInt(o.dataset.next)!==[...o.children].indexOf(t))return;delete o.dataset.next,O(n),o.scrollLeft,o.scrollTop;let e=()=>{let e=[...o.children].indexOf(t);if(d(o)){let r,a=parseFloat(getComputedStyle(o).height),d=0,c=o.scrollLeft,p=o.scrollTop;if(s(o)){let s=o.scrollTop;t.style.height="auto";let c=getComputedStyle(n).maxHeight,u=c.match(/px/)?Math.ceil(parseFloat(c)):99999;r=Math.min(Math.ceil(parseFloat(getComputedStyle(t).height)),u),(i(o)||l())&&(a=r=o.offsetHeight),t.style.height="",o.scrollTop=s,d=e*r-o.scrollTop}else r=u(t),c&&v(o,c,p);a===r&&(r=!1),o.parentNode.dataset.sliding=!0,window.requestAnimationFrame((()=>{L(o,0,d,r,a).then((()=>{}))}))}else window.requestAnimationFrame((()=>{_(o)}))};setTimeout(e,10)}}))}),{threshold:.996,root:e.parentElement});t.observe(e)})),n.matches(".n-carousel--lightbox")){let e=e=>{e.closest("picture").dataset.loaded=!0};m.querySelectorAll("picture img").forEach((t=>{t.complete?e(t):t.addEventListener("load",(t=>{e(t.target)}))}))}}))};window.nCarouselInit=V,window.addEventListener("popstate",(e=>{if(location.hash){let e=document.querySelector(location.hash),t=e?.parentNode;if(t&&t.classList.contains("n-carousel__content")&&!t.parentNode.closest(".n-carousel__content")){let n=document.querySelector(".n-carousel--overlay > .n-carousel__content");n&&n!==t&&R(n),t.parentNode.classList.contains("n-carousel--inline")&&R(t),r&&v(t,t.offsetWidth*t.dataset.x,t.offsetHeight*t.dataset.y),P(t,[...t.children].indexOf(e)),window.nCarouselNav=[t,location.hash]}}else if(window.nCarouselNav){let e=window.nCarouselNav[0];delete window.nCarouselNav,r&&v(e,e.offsetWidth*e.dataset.x,e.offsetHeight*e.dataset.y),P(e,[...e.children].indexOf(e.querySelector(":scope > :not([id])")))}}));const K=()=>{void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-carousel",V):V()};"loading"!==document.readyState?K():document.addEventListener("DOMContentLoaded",K)}(),function(){const e=e=>({easing:"ease-in-out",duration:window.matchMedia("(prefers-reduced-motion: no-preference)").matches?1e3*e.dataset.duration||1e3*getComputedStyle(e).getPropertyValue("--duration")||200:0}),t=e=>e.querySelector(":scope > .n-accordion__content"),n=n=>{n=t(n),window.requestAnimationFrame((()=>{n.style.height=0,n.style.overflow="hidden";let t=n.parentNode;t.querySelector(":scope > .n-accordion__label").setAttribute("aria-expanded",!0),n.animate([{height:0},{height:`${n.scrollHeight}px`}],e(t)).onfinish=()=>{n.style.height=n.style.overflow=""}}))},o=(n,o)=>{n=t(n),window.requestAnimationFrame((()=>{n.style.overflow="hidden";let t=n.parentNode;n.animate([{height:`${n.scrollHeight}px`},{height:0}],e(t)).onfinish=()=>{n.style.height=n.style.overflow="",t.querySelector(":scope > .n-accordion__label").setAttribute("aria-expanded",!1),"function"!=typeof o||o(),t.classList.contains("n-accordion--close-nested")&&n.querySelectorAll(".n-accordion__label[aria-expanded='true']").forEach((e=>e.setAttribute("aria-expanded",!1)))}}))},r=e=>{let t=e.target.closest(".n-accordion");if(t.querySelector(":scope > [aria-expanded='true']"))o(t);else{let e=t.closest(".n-accordion__popin");const r=()=>{if(e){let n=Math.floor([...e.children].indexOf(t)/getComputedStyle(e).getPropertyValue("--n-popin-columns")*1)+2;e.style.setProperty("--n-popin-open-row",n)}};if(t.parentNode.matches('[role="group"]')||e){let e=t.parentNode.querySelector(":scope > .n-accordion > [aria-expanded='true']");e?o(e.parentNode,(()=>{r(),n(t)})):(r(),n(t))}else n(t)}};function a(e=document){e.querySelectorAll(".n-accordion:not([data-ready]) > .n-accordion__label").forEach((e=>{e.addEventListener("click",r),e.parentElement.querySelector(":scope > input")?.remove(),e.parentNode.dataset.ready=!0,e.setAttribute("aria-expanded","true"===e.getAttribute("aria-expanded"))}))}const l=()=>{void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-accordion",a):a()};"loading"!==document.readyState?l():document.addEventListener("DOMContentLoaded",l)}(),function(){var e;const t=t=>{document.querySelectorAll("dialog.n-modal[open]").forEach((e=>{e.classList.add("n-modal--transparent")})),clearTimeout(e),e=setTimeout((()=>{document.querySelectorAll("dialog.n-modal[open]").forEach((e=>{e.classList.remove("n-modal--transparent")}))}),67)};const n=()=>window.matchMedia("(prefers-reduced-motion: no-preference)").matches?1e3*getComputedStyle(document.querySelector(".n-modal")).getPropertyValue("--duration"):0;let o=e=>{document.documentElement.classList.remove("transparent-scrollbar");let t=e.target;if(t.removeEventListener("close",o),t.existingDetachedElement){if(!t.existingModal){let e=t.querySelector(".n-modal__content");e.removeChild(e.firstElementChild)}delete t.existingDetachedElement,t.remove()}t.attachedHiddenContent?t.replaceWith(t.lastChild):t.dataset.existingAttachedContent?t.replaceWith(t.lastChild.firstElementChild):t.existingModal?(delete t.existingModal,delete t.dataset.anim):t.remove()};function r(e){let r="normal";var a=e.dataset.anim;!a||a.length<11?a='[{ "transform": "translate3d(0,0,0)" }, { "transform": "translate3d(0,-100vh,0)" }]':r="reverse",e.classList.add("n-modal--closing"),setTimeout((()=>{e.classList.remove("n-modal--closing")}),n()),e.animate(JSON.parse(a),{duration:n(),direction:r,easing:"ease-in-out"}).onfinish=()=>{window.removeEventListener("scroll",t),e.existingModal&&(e.existingDetachedElement||e.removeEventListener("close",o),delete e.dataset.anim),e.close()}}function a(e){document.documentElement.style.overflow="scroll";const a=window.innerWidth-document.documentElement.offsetWidth;document.documentElement.style.overflow="",a||document.documentElement.classList.add("transparent-scrollbar"),("string"==typeof e||e.tagName)&&(e={content:e});let l=e.animation,i=e.content,s=e.trigger;var d={},c=!1;if(i.parentNode){if("DIALOG"===i.parentNode.tagName||i.parentNode.classList.contains("n-modal__content"))return}else i.tagName&&(c=!0);const u="Close";if("object"==typeof i&&"DIALOG"===i.tagName){i.parentNode||document.body.appendChild(i),(d=i).existingModal=!0;let e=d.querySelector(".n-modal__close");e&&(e.dataset.closeSymbol=e.dataset.closeSymbol||"╳",e.ariaLabel=e.ariaLabel||u)}else if((d=document.createElement("dialog")).insertAdjacentHTML("afterbegin",`
`),document.createElement("div"),"string"==typeof i)d.lastChild.innerHTML=i,document.body.appendChild(d);else{if(i.parentElement){let e=document.createElement("div");i.replaceWith(e),d.lastChild.appendChild(i),e.replaceWith(d),i.classList.contains("n-modal__content")?(d.lastChild.replaceWith(i),d.attachedHiddenContent=!0):d.dataset.existingAttachedContent=!0}else d.lastChild.appendChild(i),document.body.appendChild(d)}return e.blur&&d.classList.add("n-modal--blur"),e.shadow&&d.classList.add("n-modal--shadow"),e.rounded&&d.classList.add("n-modal--rounded"),e.full&&d.classList.add("n-modal--full"),d.dataset.anim=l,d.classList.add("n-modal"),d.onclick=e=>{let t=e.target.closest(".n-modal");(e.target.closest(".n-modal__close")||e.target.matches(".n-modal")&&(e.offsetX<0||e.offsetY<0||e.offsetX-2>t.getBoundingClientRect().width||e.offsetY-2>t.getBoundingClientRect().height))&&r(t)},d.addEventListener("cancel",(e=>{e.preventDefault(),r(e.target.closest(".n-modal"))})),c&&(d.existingDetachedElement=!0),d.showModal(),d.animate("string"==typeof l?JSON.parse(l):[{transform:"translate3d(0,-100vh,0)"},{transform:"translate3d(0,0,0)"}],{duration:n(),easing:"ease-in-out"}).onfinish=()=>{d.addEventListener("close",o),window.addEventListener("scroll",t,{passive:"true"})},d}function l(e){let t=e.target.closest(".n-modal-link");var n=t.dataset.href||t.href,o=t.dataset.anim;const r=e=>{return n=t,r=a({content:e,animation:o,trigger:t}),void("string"==typeof(l=["n-modal--full","n-modal--rounded","n-modal--shadow","n-modal--blur"])?new Array(l):l).forEach((e=>{n.classList.contains(e)&&r.classList.add(e)}));var n,r,l};return t.dataset.for?r(document.getElementById(t.dataset.for)):fetch(n.split("#")[0]).then((e=>e.text())).then((e=>{var t,o,a=(t=e,(o=document.implementation.createHTMLDocument("Parsed")).body.innerHTML=t,o.body),l=n.split("#")[1]?"#"+n.split("#")[1].split("?")[0]:0;a=l&&a.querySelector(l)?a.querySelector(l).innerHTML:a.innerHTML,r(a)})).catch((e=>{r(e)})),!1}let i=(e=document)=>{e.querySelectorAll(".n-modal-link:not([data-ready])").forEach((e=>{e.href!==location.href.split("#")[0]+"#"&&(e.onclick=l),e.href&&!e.getAttribute("rel")&&e.setAttribute("rel","prefetch"),e.dataset.ready=!0}))},s=document.querySelector(`.n-modal${location.hash}.n-modal--uri`);location.hash&&s&&a(s);let d=a;d.close=r,d.init=i,void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-modal",i,{name:"modal",code:d}):(i(),window.nui={},window.nui.modal=d)}(),function(){navigator.userAgent.match("Chrome");navigator.userAgent.match(/Safari/);let e=e=>{e.target.closest(".n-select__options > *")||e.target.closest(".n-select")||document.querySelectorAll(".n-select__options[aria-expanded]:not([data-n-select-animation])").forEach((e=>{a(e)}))},t=e=>{let t=document.querySelector(".n-select__options[aria-expanded]");("resize"===e.type||"scroll"===e.type&&e.target!==t)&&a(t)};const n=(e,t)=>{e.style.setProperty("--active-option-height",`${t.querySelector("[aria-selected]").getBoundingClientRect().height}px`)};let o=(e,t=!0)=>{if(!e||"BUTTON"!==e.tagName)return;let o=e.closest(".n-select__options");o.querySelectorAll("[aria-selected]").forEach((e=>e.removeAttribute("aria-selected"))),e.setAttribute("aria-selected",!0),o.nuiSelectWrapper.dataset.value=e.value,o.hasAttribute("aria-expanded")&&(e.focus(),t&&a(o));let r=o.children[0];n(o.nuiSelectWrapper,o),r.style.removeProperty("--top-offset"),r.style.removeProperty("--max-height");let l=o.nuiNativeInput;l.innerHTML=``;const i=new Event("change");l.dispatchEvent(i),o.nuiOnChange&&o.nuiOnChange(index,l.value)};const r=["font-family","font-size","font-style","font-weight","line-height","font-variant"];let a=n=>{if(!n)return;delete n.dataset.nSelectAnimation,n.removeAttribute("aria-expanded"),r.forEach((e=>{n.style[e]=""})),n.nuiSelectWrapper.prepend(n),window.removeEventListener("resize",t),window.removeEventListener("scroll",t),n.querySelector("[aria-selected]").tabIndex=-1,window.removeEventListener("pointerup",e),n.removeEventListener("pointerup",c);let o=n.parentNode;o.classList.remove("n-select--open"),o.style.removeProperty("--width"),n.style.removeProperty("--scroll-help-top"),n.classList.remove("n-select--scroll-help-top"),n.nuiSelectWrapper.focus(),n.classList.remove("n-scrollbar")},l=o=>{let l=document.body.querySelector(".n-select__options[aria-expanded]");l&&a(l);let i=o.parentNode;n(i,o),i.style.setProperty("--width",`${i.getBoundingClientRect().width}px`),i.classList.add("n-select--open"),o.style.removeProperty("--top-offset"),o.style.removeProperty("--max-height"),o.style.removeProperty("--select-scroll-height"),o.style.removeProperty("--active-option-offset"),o.classList.remove("n-select--crop-top");let s=o.getBoundingClientRect().height;o.style.setProperty("--max-width",`${o.parentNode.getBoundingClientRect().width}px`);let d=document.querySelector("html").getBoundingClientRect().x;o.style.setProperty("--body-offset-x",i.getBoundingClientRect().x-d-("relative"===document.body.style.position?parseFloat(getComputedStyle(document.body).borderInlineStartWidth)-d+document.body.getBoundingClientRect().x:0)),o.style.setProperty("--body-offset-y",-document.body.getBoundingClientRect().y+i.getBoundingClientRect().y-("relative"===document.body.style.position?parseFloat(getComputedStyle(document.body).borderBlockStartWidth):0)),o.querySelector("[aria-selected]").removeAttribute("tabindex"),o.setAttribute("aria-expanded",!0),r.forEach((e=>{o.style[e]=getComputedStyle(i)[e]})),document.body.appendChild(o),o.style.setProperty("--select-scroll-height",`${o.getBoundingClientRect().height}px`);let c=o.querySelector("[aria-selected]").getBoundingClientRect().y-o.getBoundingClientRect().y,u=0;if(o.style.setProperty("--active-option-offset",c),o.getBoundingClientRect().y<0){let e=o.getBoundingClientRect().height+o.getBoundingClientRect().y;o.style.setProperty("--max-height",`${e}px`),o.scrollTop=Math.abs(Math.round(o.getBoundingClientRect().y)),u=Math.abs(o.getBoundingClientRect().y),o.style.setProperty("--top-offset",u),o.classList.add("n-select--crop-top"),o.getBoundingClientRect().height>window.innerHeight&&o.style.setProperty("--max-height",e-Math.abs(window.innerHeight-o.getBoundingClientRect().height)+"px")}else{o.getBoundingClientRect().y+o.getBoundingClientRect().height>window.innerHeight&&o.style.setProperty("--max-height",`${Math.abs(window.innerHeight-o.getBoundingClientRect().y)}px`);let e=o.getBoundingClientRect().y;if(o.scrollHeight>o.getBoundingClientRect().height){let t=o.getBoundingClientRect().height-o.scrollHeight,n=Math.abs(Math.min(t,e))-2*parseInt(getComputedStyle(o).paddingInlineEnd);n>0&&(o.style.setProperty("--scroll-help-top",n),o.classList.add("n-select--scroll-help-top"))}}o.getBoundingClientRect().width>o.querySelector("button").getBoundingClientRect().width+2*parseInt(getComputedStyle(o).paddingInlineEnd)&&o.classList.add("n-scrollbar"),o.style.setProperty("--mask-position-y",""+(c-u)),o.style.setProperty("--mask-size-y",`${s}px`),window.requestAnimationFrame((e=>{setTimeout((()=>{o.dataset.nSelectAnimation=!0,o.querySelector("[aria-selected]").focus()}),1)})),window.addEventListener("resize",t),window.addEventListener("scroll",t,!0),window.addEventListener("pointerup",e)},i=(e,t)=>{let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}return!1},s=e=>{let t=e.target.closest(".n-select__options"),n=e.target;t.hasAttribute("aria-expanded")&&(n.href?a(t):o(n))},d=e=>{let t=e.target.closest(".n-select__options")||e.target.querySelector(".n-select__options");t&&!t.hasAttribute("aria-expanded")&&(l(t),t.removeEventListener("click",s),setTimeout((()=>{t.addEventListener("click",s)}),100))},c=e=>{let t=e.target.closest("button"),n=e.target.closest(".n-select__options");if(e.target.href)e.target.click();else{if(!t||!n.hasAttribute("aria-expanded")||t.hasAttribute("aria-selected"))return;o(t)}document.body.style.pointerEvents="none",setTimeout((()=>{document.body.style.pointerEvents=""}),100)},u=null,p=e=>{[32,35,36,37,38,39,40].includes(e.keyCode)&&(e.stopPropagation(),e.preventDefault())},h=e=>{if("SELECT"===e.target.tagName)return;p(e);let t=e.target.closest(".n-select__options");if(e.target.classList.contains("n-select")&&(t=e.target.querySelector(".n-select__options")),t){switch(e.key){case"Enter":e.target.classList.contains("n-select")&&l(t);break;case"Escape":a(t);break;case"ArrowDown":if(t.hasAttribute("aria-expanded")){let n=i(e.target,"button, a[href]");n?n.focus():t.querySelector("button").focus()}else l(t);break;case"ArrowUp":if(t.hasAttribute("aria-expanded")){let n=((e,t)=>{let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}return!1})(e.target,"button, a[href]");if(n)n.focus();else{let e=t.querySelectorAll("button");e[e.length-1].focus()}}else l(t);break;case"Home":t.querySelector("button").focus();break;case"End":t.querySelector("button:last-of-type").focus();break;default:t.nuiSearchTerm+=e.key.toLowerCase(),clearTimeout(u),u=setTimeout((()=>{for(let e of t.querySelectorAll("button"))e.textContent.trim().toLowerCase().startsWith(t.nuiSearchTerm)&&(t.getAttribute("aria-expanded")?e.focus():o(e,!1));t.nuiSearchTerm=""}),200)}return!1}},m=e=>{window.PointerEvent&&e.querySelectorAll(".n-select:not([data-ready])").forEach((e=>{let t=e;if("SELECT"===e.tagName)return;if(!(e=e.querySelector(".n-select__options"))){let n="";t.querySelectorAll("option").forEach((e=>{n+=``})),(e=document.createElement("span")).insertAdjacentHTML("beforeend",n),t.prepend(e)}if(e.nuiSelectWrapper=t,e.classList.add("n-select__options"),e.nuiNativeInput=e.nuiSelectWrapper.querySelector("select, input")||i(e.nuiSelectWrapper,"select")||document.querySelector(`[data-n_select="${e.nuiSelectWrapper.dataset.n_select}"]`),!e.nuiNativeInput){let n=document.createElement("select");n.name=n.id=e.dataset.name,t.append(n),e.nuiNativeInput=n}let r=e.nuiNativeInput.value,l=e.querySelector(`button[value="${r}"`);e.nuiNativeInput.innerHTML="",t.addEventListener("pointerdown",d),e.addEventListener("click",s),e.addEventListener("focusout",(e=>{let t=e.target.closest(".n-select__options");t.hasAttribute("aria-expanded")&&e.relatedTarget&&e.relatedTarget.parentNode!==t&&(a(t),t.nuiSelectWrapper.focus())})),e.ontransitionend=e=>{let t=e.target;t.style.removeProperty("--mask-position-y"),t.style.removeProperty("--mask-size-y"),delete t.dataset.nSelectAnimation,t.addEventListener("pointerup",c)},e.addEventListener("keydown",h),t.addEventListener("keydown",h),e.addEventListener("keyup",p),t.addEventListener("keyup",p),e.lastElementChild.onkeydown=e=>{"Tab"===e.key&&!e.shiftKey&&e.target.parentNode.hasAttribute("aria-expanded")&&(a(e.target.parentNode),e.target.parentNode.nuiSelectWrapper.focus())},e.querySelectorAll("button").forEach((e=>{e.type="button",e.value=e.value||e.textContent.trim()})),t.setAttribute("tabindex",0),(e.querySelector("[aria-selected]")||e.firstElementChild).tabIndex=-1,t.style.setProperty("--inline-width",`${e.getBoundingClientRect().width}px`),o(e.querySelector("[aria-selected]")||l||e.querySelector("button")),e.nuiSearchTerm="",["n-select--rounded","n-select--shadow"].forEach((n=>{t.classList.contains(n)&&e.classList.add(n)}));let u=e.closest("label")||document.querySelector(`label[for="${e.nuiNativeInput.id}"]`);u&&(u.onclick=e=>{let t=e.target;if(!t.closest(".n-select")){e.preventDefault(),t=t.closest("label"),(t.querySelector(".n-select")||document.getElementById(t.getAttribute("for")).closest(".n-select")).focus()}}),t.dataset.ready=!0,window.requestAnimationFrame((()=>{n(t,e),["--nui-control-color","--nui-control-bg","--nui-control-active-color","--nui-control-active-bg","--nui-control-highlight"].forEach((n=>{e.style.setProperty(n,t.style.getPropertyValue(n))}))}))}))};void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-select",m):m(document.body)}(),function(){function e(e){return document.getElementById(e.getAttribute("aria-describedby"))||e.nextElementSibling}const t=t=>{let n=e(t);t.removeAttribute("aria-expanded"),t.after(n),n.removeAttribute("style"),delete n.dataset.position,n.classList.remove("n-tooltip__content-visible")};let n=e=>{t(e.target.closest(".n-tooltip"))};const o=e=>{document.querySelectorAll(".n-tooltip").forEach((e=>t(e))),document.removeEventListener("scroll",o)};let r=t=>{let n=t.target.closest(".n-tooltip"),r=e(n);n.setAttribute("aria-expanded",!0),document.body.appendChild(r),((e,t)=>{let n=e.getBoundingClientRect(),o=n.top,r=n.left,a=window.innerWidth-r-n.width,l=window.innerHeight-o-n.height,i=o*window.innerWidth,s=a*window.innerHeight,d=l*window.innerWidth,c=r*window.innerHeight,u=document.body.getBoundingClientRect();t.removeAttribute("style"),delete t.dataset.position,t.classList.add("n-tooltip__content-visible");let p=()=>{t.style.bottom=20+u.height+u.y-o+"px",t.style.maxHeight=o-40+"px",t.style.left=n.x+n.width/2-t.scrollWidth/2+"px",t.dataset.nPosition="top"},h=()=>{t.style.top=20-u.y+o+n.height+"px",t.style.maxHeight=l-40+"px",t.style.left=n.x+n.width/2-t.scrollWidth/2+"px",t.dataset.nPosition="bottom"},m=()=>{t.style.left="auto",t.style.right=20+u.width+u.x-window.innerWidth+a+n.width+"px",t.style.maxWidth=r-40+"px",t.style.top=-1*u.y+n.top+n.height/2-t.scrollHeight/2+"px",t.dataset.nPosition="left"},y=()=>{t.style.left=n.x-u.x+n.width+20+"px",t.style.maxWidth=a-40+"px",t.style.top=-1*u.y+n.top+n.height/2-t.scrollHeight/2+"px",t.dataset.nPosition="right"};c>s?i>d?i>c?p():m():d>c?h():m():i>d?i>s?p():y():d>s?h():y();let g=t.getBoundingClientRect(),f=0;g.y<0?f=Math.abs(g.y)+10:g.bottom>window.innerHeight&&(f=window.innerHeight-g.bottom-10),t.style.setProperty("--offset_y",f+"px");let v=0;g.x<0?v=Math.abs(g.x)+10:g.right>window.innerWidth&&(v=window.innerWidth-g.right-10),t.style.setProperty("--offset_x",v+"px")})(n,r),document.addEventListener("scroll",o,!0)};const a=(e=document)=>{e.querySelectorAll(".n-tooltip")?.length,e.querySelectorAll(".n-tooltip:not([data-ready])").forEach((e=>{e.setAttribute("tabindex",0),e.addEventListener("touchend",r),e.addEventListener("mouseover",r),e.addEventListener("focus",r),e.addEventListener("mouseout",n),e.addEventListener("blur",n),e.dataset.ready=!0}))};void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-tooltip",a):a()}(),function(){function e(e){e&&e.parentNode.removeChild(e)}function t(){document.querySelector(".n-notify")&&(document.querySelector(".n-notify").onclick=t=>{e(t.target)})}nui.registerComponent("notify",(e=>{e.querySelectorAll(".n-notify:not([data-ready])").forEach(((e,n)=>{t(),e.dataset.ready=!0}))}),{name:"notify",code:function(n,o){document.body.insertAdjacentHTML("afterbegin",``),document.querySelector(".n-notify").focus(),t(),o&&-1!==o.indexOf("timeout")&&setTimeout((()=>{e(document.querySelector(".n-notify"))}),2e3)}})}(),function(){function e(e){e.target.closest(".n-nav li")||(document.querySelectorAll(".n-nav li").forEach((e=>{e.removeAttribute("aria-expanded")})),document.querySelector(".n-nav :focus")&&document.querySelector(".n-nav :focus").blur())}function t(e){return!!getComputedStyle(e).getPropertyValue("--desktop")}let n=!1;function o(e){var o=e.target.closest(".n-nav");if(n||!e.relatedTarget)return;e.stopPropagation();let r=e.target,a="LI"===r.tagName?r.querySelector("ul"):r.parentElement.querySelector("ul");if(!o.contains(e.relatedTarget)||t(o)&&e.relatedTarget&&!closestElement(e.relatedTarget,o))o.querySelectorAll("li").forEach((e=>{e.removeAttribute("aria-expanded")}));else{if(a){if(a.parentNode.parentNode.querySelector("ul [aria-expanded]"))return;a.parentElement.removeAttribute("aria-expanded")}r=e.target;var l=r.closest("[aria-haspopup]");l&&l.querySelectorAll("li[aria-expanded]").forEach((e=>{e.removeAttribute("aria-expanded")})),r=e.target.parentNode,r.nextElementSibling||"LI"!==r.parentNode.parentNode.nodeName||r.parentNode.parentNode.nextElementSibling||r.parentNode.parentNode.removeAttribute("aria-expanded")}}function r(e){e.stopPropagation();var t=e.target.closest(".n-nav > ul > li");if(!n){[[].slice.call(t.parentElement.children),[].slice.call(e.target.parentElement.parentElement.children),[].slice.call(e.target.parentElement.parentElement.parentElement.parentElement.children)].forEach((e=>{e.forEach((e=>{e.removeAttribute("aria-expanded")}))})),t.setAttribute("aria-expanded",!0),t.parentNode.parentNode.getAttribute("aria-haspopup")&&t.parentNode.parentNode.setAttribute("aria-expanded",!0),t.querySelectorAll("li[aria-expanded]").forEach((e=>{e.removeAttribute("aria-expanded")})),(t=e.target).parentNode.setAttribute("aria-expanded",!0);var o=t.parentElement.parentElement.parentElement;"LI"===o.tagName&&o.setAttribute("aria-expanded",!0)}}var a=!1;const l=()=>window.matchMedia("(prefers-reduced-motion: no-preference)").matches?200:0;let i=e=>{n=!0,e.style.overflow="hidden",e.parentElement.setAttribute("aria-expanded",!0),e.animate([{height:`${e.scrollHeight}px`},{height:0}],l()).onfinish=()=>{e.removeAttribute("style"),e.parentElement.removeAttribute("aria-expanded"),n=!1,e.querySelectorAll("[aria-expanded]").forEach((e=>{e.removeAttribute("aria-expanded")}))}},s=e=>{n=!0,e.style.overflow="hidden",e.parentElement.setAttribute("aria-expanded",!0),e.animate([{height:0},{height:`${e.scrollHeight}px`}],l()).onfinish=()=>{e.removeAttribute("style"),n=!1}},d=e=>{e.stopPropagation();let n=e.target;var r=n.closest(".n-nav");r.removeEventListener("focusout",o),r.contains(document.activeElement)&&document.activeElement.blur();let a="LI"===n.tagName?n.querySelector("ul"):n.parentElement.querySelector("ul");if(t(r))n.getAttribute("aria-expanded")?n.querySelector("a:focus")||(t(r)?n.removeAttribute("aria-expanded"):i(a)):([].slice.call(n.parentElement.children).forEach((e=>{e.removeAttribute("aria-expanded");let t=e.querySelector("[aria-expanded]");t&&t.removeAttribute("aria-expanded")})),n.setAttribute("aria-expanded",!0),t(r)||s(a));else if(a.parentNode.hasAttribute("aria-expanded"))i(a);else{if(a.parentElement.parentElement.matches("ul")){let e=a.parentElement.closest("ul").querySelector('[aria-expanded="true"] > ul');e&&i(e)}s(a)}r.addEventListener("focusout",o)};function c(e,t){"rtl"!==getComputedStyle(e).direction&&(e.classList.remove("n-right-overflow"),e.style.removeProperty("--n-right-overflow"),e.getBoundingClientRect().left>document.body.offsetWidth-(e.getBoundingClientRect().left+e.getBoundingClientRect().width)?(e.getBoundingClientRect().right>window.innerWidth&&(e.style.setProperty("--n-right-overflow",window.innerWidth-e.getBoundingClientRect().right+"px"),e.classList.add("n-right-overflow")),e.classList.add("n-left-side")):e.classList.remove("n-left-side"))}window.addEventListener("resize",(function(e){document.querySelectorAll(".n-nav.n-nav--drop ul").forEach((e=>{e.querySelectorAll("ul").forEach((e=>{c(e)}))}))}));nui.registerComponent("nav",(t=>{t.querySelectorAll(".n-nav:not([data-ready]) > ul:not([role])").forEach((t=>{!function(t){t.querySelectorAll("input").forEach((e=>{e.outerHTML=""})),t.querySelectorAll("li > a").forEach((e=>{e.setAttribute("tabindex",0)})),t.closest(".n-nav.n-nav--drop")&&(a||(window.addEventListener("touchend",e),window.addEventListener("mouseup",e),a=!0),t.addEventListener("keyup",(e=>{"Escape"===e.key&&(e.target.closest(".n-nav").querySelectorAll("li").forEach((e=>{e.removeAttribute("aria-expanded")})),document.activeElement.blur())})),t.querySelectorAll("li").forEach((e=>{e.querySelector("ul")&&(e.setAttribute("aria-haspopup",!0),"UL"===e.children[0].nodeName&&e.insertBefore(e.children[1],e.children[0]))})),t.addEventListener("mousedown",d),t.addEventListener("focusin",r),t.addEventListener("focusout",o),window.requestAnimationFrame((()=>{t.querySelectorAll("ul").forEach((e=>{c(e)}))})))}(t),t.closest(".n-nav").dataset.ready=!0}))}))}(),function(){let e=()=>{document.querySelectorAll(".n-parallax").forEach((e=>{let t=e.parentElement,n=t.scrollHeight>t.offsetHeight?t.getBoundingClientRect().y:document.body.scrollTop||document.documentElement.scrollTop;e.style.setProperty("--scrollparallax",.2*n)}))};document.querySelector(".n-parallax")&&window.addEventListener("scroll",e,!0);nui.registerComponent("parallax",(e=>{}))}(),function(){const e=(e,t)=>e.children[t].innerText||e.children[t].textContent;nui.registerComponent("table",(t=>{t.querySelectorAll(".n-table:not([data-ready])").forEach((t=>{t.querySelectorAll("thead td button.n-table__sort, th button.n-table__sort").forEach((t=>t.addEventListener("click",(t=>{let n=t.target.closest("th")||t.target.closest("td");const o=n.closest("table").querySelector("tbody");var r,a;Array.from(o.querySelectorAll("tr")).sort((r=Array.from(n.parentNode.children).indexOf(n),a=(e=>{let t=e.closest("tr").querySelector("td[data-ascending]");return t&&t!==e&&delete t.dataset.ascending,e.toggleAttribute("data-ascending")})(n),(t,n)=>{return o=e(a?t:n,r),l=e(a?n:t,r),""===o||""===l||isNaN(o)||isNaN(l)?o.toString().localeCompare(l):o-l;var o,l})).forEach((e=>o.appendChild(e)))})))),t.dataset.ready=!0,t.setAttribute("tabindex",0)}))}))}(),nui.registerComponent("typography",(e=>{if("function"==typeof ResizeObserver){let e=new ResizeObserver((e=>{e.forEach((e=>{let t=e.target;t.style.removeProperty("--adjust-height");let n=getComputedStyle(t),o=parseFloat(n.lineHeight),r=o-parseFloat(n.height)%o;r!==o&&t.style.setProperty("--adjust-height",r)}))}));document.querySelectorAll(".n-adjust-height:not([data-ready])").forEach((t=>{e.observe(t),t.dataset.ready=!0}))}}));window.nui=nui; +let nui=(()=>{function e(e){return document.querySelector(e)}function t(e,t){e.classList.add(t)}function n(e,t){e.classList.remove(t)}document.body.dataset.nuiJs=!0,window.chrome&&(document.body.dataset.nuiChrome=!0),navigator.userAgent.match(/Safari/)&&!navigator.userAgent.match(/Chrome/)&&(document.body.dataset.nuiSafari=!0),(navigator.platform.match(/Mac/)||navigator.platform.match(/iPhone/)||navigator.platform.match(/iPod/)||navigator.platform.match(/iPad/))&&(document.body.dataset.nuiApple=!0),navigator.platform.match(/iPad/);let o=()=>{e(".n-target")&&n(e(".n-target"),"n-target"),location.hash&&e(location.hash)&&t(e(location.hash),"n-target")};o(),window.addEventListener("hashchange",o);var r=document.createElement("temp");for(var a in{animation:"animationend",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd"})r.style[a];!function(){var o,r=!1;let a=n=>{clearTimeout(o),r=!0,t(e("html"),"can-touch"),o=setTimeout((()=>{r=!1}),500)};document.addEventListener("mouseover",(t=>{r||(r=!1,n(e("html"),"can-touch"))}),!1),document.addEventListener("touchstart",a,!1),a()}(),e(".n-carousel__content");var l=new Array;function i(e=document.body){c();for(let t in l)l[t][0].init(e);d()}var s=!1;function d(){s&&s.observe(document.body,{childList:!0,subtree:!0})}function c(){s&&s.disconnect()}return"function"==typeof MutationObserver&&(s=new MutationObserver(((e,t)=>{if(window.nui.dynamicInit){c();let t=e[0];if("childList"===t.type&&t.addedNodes.length>0)for(let e of t.addedNodes)"object"==typeof e&&"#text"!==e.nodeName&&!e.dataset.ready&&e.parentNode&&i(e.parentNode);d()}}))),i(),{registerComponent:function(e,t,n=!1){l[e]=new Array,l[e].push({init:t}),t(document),n&&(nui[n.name]=n.code)},initComponents:i,copyButton:function(e,t,n){e.addEventListener("click",(e=>{window.getSelection().removeAllRanges();var o=document.createRange();o.selectNode(t),window.getSelection().addRange(o);try{document.execCommand("copy"),n&&nui.notify&&nui.notify("📋 "+t.textContent,"fixed timeout")}catch(e){}}))},addComponent:function(e,t){e.insertAdjacentHTML("afterbegin",t),i(e)}}})();nui.dynamicInit=!0,nui.registerComponent("button",(e=>{const t=e=>{let t=e.target.closest(".n-btn--ripple"),n=e.offsetX||t.clientWidth/2,o=e.offsetY||t.clientHeight/2,r=Math.max(n,t.clientWidth-n),a=Math.max(o,t.clientHeight-o),l=Math.sqrt(r*r+a*a);t.style.transitionProperty="none",t.style.setProperty("--ripple-x",`${n}px`),t.style.setProperty("--ripple-y",`${o}px`),t.style.setProperty("--ripple-radius","0px"),window.requestAnimationFrame((()=>{t.style.transitionProperty="",t.style.setProperty("--ripple-radius",`${l}px`)}))};document.querySelectorAll(".n-btn--ripple:not([data-ready])").forEach((e=>{e.addEventListener("pointerdown",t),e.addEventListener("keydown",t),e.dataset.ready=!0}))})),function(){function e(e){var t=e.target,n=!0;return t.querySelectorAll(".n-form--mandatory:not([disabled])").forEach((e=>{if(e.querySelector("input, select, textarea")&&!e.querySelector("input, select, textarea").value||e.querySelector("input[type=checkbox]")&&!e.querySelector("input[type=checkbox]").checked||e.querySelector("input[type=radio]")&&!e.querySelector("input[type=radio]").checked||e.querySelector("input[type=email]")&&!RegExp(/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/).test(e.querySelector("input[type=email]").value)||e.querySelector("input[type=url]")&&!RegExp(/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/).test(e.querySelector("input[type=url]").value)||e.querySelector("input[type=number]")&&!RegExp(/^\d+$/).test(e.querySelector("input[type=number]").value)||e.querySelector("input[type=number][data-digits]")&&e.querySelector("input[type=number]").value.length!==parseInt(e.querySelector("input[type=number]").dataset.digits)){n=!1,e.querySelector("input").focus(),e.classList.add("n-form--alert");let t=e.closest("form");t.animate([{width:`${t.scrollWidth}px`},{marginLeft:"-9px"},{marginLeft:"18px"},{width:`${t.scrollWidth}px`,marginLeft:0}],250)}else e.classList.remove("n-form--alert")})),n}function t(e){var t=e.target;t.parentNode.querySelector("span.n-form__file-name").innerHTML=t.value.substring(t.value.lastIndexOf("\\")+1)}function n(e){var t=e.target,n=document.querySelector(`fieldset#${t.closest(".n-form__condition").dataset.for}`)||t.closest(".n-form__condition").nextElementSibling,o="disabled";t.checked?n.removeAttribute(o):n.setAttribute(o,"disabled")}nui.registerComponent("form",(o=>{o.querySelectorAll("form.n-form").forEach(((o,r)=>{o.onsubmit=o.onsubmit||e,o.querySelectorAll("input[type=file]").forEach(((e,n)=>{e.onchange=t,e.parentNode.querySelector("span").insertAdjacentHTML("afterbegin","")})),o.querySelectorAll(".n-form__check.n-form__condition input").forEach(((e,t)=>{e.onchange=n})),o.querySelectorAll("textarea[data-auto]").forEach((e=>{e.onkeyup=t=>{for(e=t.target;e.rows>1&&e.scrollHeighte.offsetHeight&&!(e.rows>20);)e.rows++;e.rows++}})),o.dataset.ready=!0}))}))}(),function(){const e=e=>({easing:"ease-in-out",duration:window.matchMedia("(prefers-reduced-motion: no-preference)").matches?1e3*e.dataset.duration||1e3*getComputedStyle(e).getPropertyValue("--duration")||200:0}),t=e=>e.querySelector(":scope > .n-accordion__content"),n=n=>{n=t(n),window.requestAnimationFrame((()=>{n.style.height=0,n.style.overflow="hidden";let t=n.parentNode;t.querySelector(":scope > .n-accordion__label").setAttribute("aria-expanded",!0),n.animate([{height:0},{height:`${n.scrollHeight}px`}],e(t)).onfinish=()=>{n.style.height=n.style.overflow=""}}))},o=(n,o)=>{n=t(n),window.requestAnimationFrame((()=>{n.style.overflow="hidden";let t=n.parentNode;n.animate([{height:`${n.scrollHeight}px`},{height:0}],e(t)).onfinish=()=>{n.style.height=n.style.overflow="",t.querySelector(":scope > .n-accordion__label").setAttribute("aria-expanded",!1),"function"!=typeof o||o(),t.classList.contains("n-accordion--close-nested")&&n.querySelectorAll(".n-accordion__label[aria-expanded='true']").forEach((e=>e.setAttribute("aria-expanded",!1)))}}))},r=e=>{let t=e.target.closest(".n-accordion");if(t.querySelector(":scope > [aria-expanded='true']"))o(t);else{let e=t.closest(".n-accordion__popin");const r=()=>{if(e){let n=Math.floor([...e.children].indexOf(t)/getComputedStyle(e).getPropertyValue("--n-popin-columns")*1)+2;e.style.setProperty("--n-popin-open-row",n)}};if(t.parentNode.matches('[role="group"]')||e){let e=t.parentNode.querySelector(":scope > .n-accordion > [aria-expanded='true']");e?o(e.parentNode,(()=>{r(),n(t)})):(r(),n(t))}else n(t)}};function a(e=document){e.querySelectorAll(".n-accordion:not([data-ready]) > .n-accordion__label").forEach((e=>{e.addEventListener("click",r),e.parentElement.querySelector(":scope > input")?.remove(),e.parentNode.dataset.ready=!0,e.setAttribute("aria-expanded","true"===e.getAttribute("aria-expanded"))}))}const l=()=>{void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-accordion",a):a()};"loading"!==document.readyState?l():document.addEventListener("DOMContentLoaded",l)}(),function(){const e=e=>Math.ceil(parseFloat(getComputedStyle(e).width)),t=e=>Math.ceil(parseFloat(getComputedStyle(e).height)),n='button, [href], input, select, textarea, details, summary, video, [tabindex]:not([tabindex="-1"])';const o=!!navigator.userAgent.match("Chrome"),r=navigator.userAgent.match(/Safari/)&&!o,a=e=>e.children.length>2&&e.parentElement.classList.contains("n-carousel--endless"),l=()=>!(!document.webkitFullscreenElement&&!document.fullscreenElement),i=e=>e.closest(".n-carousel").classList.contains("n-carousel--overlay"),s=e=>e.closest(".n-carousel").matches(".n-carousel--vertical"),d=e=>e.closest(".n-carousel").matches(".n-carousel--auto-height"),c=e=>{let t=e.querySelectorAll(".n-carousel__control");return t.length>0?t:e.querySelectorAll("a, button")},u=e=>{e.style.height=0,e.style.overflow="auto";const t=e.scrollHeight;return e.style.height=e.style.overflow="",t},p=e=>1*(s(e)?e.dataset.y:e.dataset.x),h=e=>{let t=e.querySelector(":scope > [aria-current]");if(t)return[...e.children].indexOf(t);{let t=location.hash?[...e.children].indexOf(e.querySelector(`:scope > ${location.hash}`)):0;return t>-1?t:0}},m=e=>{for(e=e.parentNode;e;){if(0!==e.scrollTop||0!==e.scrollLeft)return e;e=e.parentNode}return!1},y=e=>"rtl"===getComputedStyle(e).direction,g=e=>{let t=(e=e.closest(".n-carousel")).querySelector(":scope > .n-carousel__content");const n=()=>{l()||(e.nuiAncestors.forEach((e=>{window.requestAnimationFrame((()=>{e.scrollLeft=e.nuiScrollX,e.scrollTop=e.nuiScrollY,delete e.nuiScrollX,delete e.nuiScrollY}))})),delete e.nuiAncestors,e.removeEventListener("webkitfullscreenchange",n))};if(t.togglingFullScreen=!0,l()){if(document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen(),r&&setTimeout((()=>{e.style.display="none",window.requestAnimationFrame((()=>{e.style.display=""}))}),0),s(e)&&d(e)){let t=n=>{setTimeout((()=>{let t=e.querySelector(":scope > .n-carousel__content");P(t,parseInt(t.dataset.y))}),100),e.removeEventListener("fullscreenchange",t)};e.addEventListener("fullscreenchange",t)}}else r&&(e.nuiAncestors=(e=>{let t=[],n=m(e);for(;n&&void 0!==n.scrollLeft&&(0!==n.scrollTop||0!==n.scrollLeft);)t.push(n),n=m(n);return t})(e),e.nuiAncestors.forEach((e=>{e.nuiScrollX=e.scrollLeft,e.nuiScrollY=e.scrollTop})),e.addEventListener("webkitfullscreenchange",n,!1)),e.requestFullscreen?e.requestFullscreen():e.webkitRequestFullscreen()},f=e=>e.scrollLeft,v=(e,t,n)=>{e.scrollTo(y(e)?-1*Math.abs(t):t,n)},b=e=>e===window?{x:e.scrollX,y:e.scrollY}:{x:f(e),y:e.scrollTop};let x=null,S=null,w=null;const E=e=>{("Tab"===e.key||9===e.keyCode)&&(e.shiftKey?document.activeElement===x&&(w.focus(),e.preventDefault()):document.activeElement===w&&(x.focus(),e.preventDefault()))},q=(e,t=!1)=>{x=e.querySelectorAll(n)[0],S=e.querySelectorAll(n),w=S[S.length-1],t?e.removeEventListener("keydown",E):(e.addEventListener("keydown",E),x.focus())},A=(e,t)=>{let n=document.querySelector(`${t}[data-for="${e.id}"]`);if(n)return n;for(let n of e.children){if(n.matches(t))return n;if(!n.matches(".n-carousel__content")&&n.querySelector(t))return n.querySelector(t)}},C=e=>{var t=e.closest('[class*="n-carousel"]').dataset.for;return t?document.getElementById(t).querySelector(".n-carousel__content"):e.closest(".n-carousel").querySelector(".n-carousel__content")},L=(e,t,n,o,r=!1)=>new Promise(((a,l)=>{let i=e.closest(".n-carousel");if(i.nextSlideInstant||!i.dataset.ready||window.matchMedia("(prefers-reduced-motion: reduce)").matches||i.matches(".n-carousel--instant"))return v(e,b(e).x+t,b(e).y+n),e.style.height=`${o}px`,delete i.nextSlideInstant,_(e),void a(e);O(e);let c=!0;0===t&&0===n&&(c=!1),o?(e.style.height=`${r}px`,s(e)&&d(e)&&e.style.setProperty("--subpixel-compensation",0)):s(e)||(e.style.height="");var u=b(e).x,p=b(e).y,h=parseInt(e.style.height),m=o-h,y=1e3*parseFloat(e.parentNode.dataset.duration)||500,g=null;let f=r=>{if(r-g>=y)return window.requestAnimationFrame((()=>{v(e,u+t,p+n),o&&(e.style.height=`${o}px`),_(e)})),void a(e);var l,i=(l=(r-g)/y,(1-Math.cos(Math.PI*l))/2);c&&v(e,u+t*i,p+n*i),o&&window.requestAnimationFrame((()=>{e.style.height=`${h+m*i}px`})),requestAnimationFrame(f)};requestAnimationFrame((e=>{g=e,f(e)}))})),_=(n,o=!1)=>{O(n);let l=n.dataset.x,i=n.dataset.y;n.togglingFullScreen?delete n.togglingFullScreen:n.openingModal?(delete n.openingModal,v(n,n.offsetWidth*n.dataset.x,n.offsetHeight*n.dataset.y)):(n.dataset.x=Math.abs(Math.round(f(n)/e(n.firstElementChild))),n.dataset.y=Math.abs(Math.round(n.scrollTop/t(n.firstElementChild)))),"NaN"===n.dataset.x&&(n.dataset.x=0),"NaN"===n.dataset.y&&(n.dataset.y=0);let m=p(n);m>=n.children.length&&(m=n.children.length-1);let y=n.querySelector(":scope > [aria-current]"),g=n.parentElement;g.classList.contains("n-carousel--auto-height")||(n.style.height="");let b=n.children[m];if(y&&!o){if(b===y)return n.dataset.x=l,n.dataset.y=i,void W(n);y.removeAttribute("aria-current"),y.style.height="",s(n)||(n.style.height="")}var x=m;b.setAttribute("aria-current",!0),x=h(n),n.dataset.x=n.dataset.y=x;const S=e=>{e.querySelectorAll(":scope > [data-first]").forEach((t=>{e.append(e.firstElementChild),delete t.dataset.first,m--})),e.querySelectorAll(":scope > [data-last]").forEach((t=>{e.prepend(e.lastElementChild),delete t.dataset.last,m++}))};if(g.dataset.sliding=!0,a(n)?(0===m?b.dataset.first?(delete n.firstElementChild.dataset.first,n.append(n.firstElementChild),n.firstElementChild.dataset.last=!0,n.append(n.firstElementChild),x=n.children.length-1,m=n.children.length-2):(n.lastElementChild.dataset.last?(delete n.lastElementChild.dataset.last,x=1):n.lastElementChild.dataset.first=!0,n.prepend(n.lastElementChild),m=1):m===n.children.length-1?b.dataset.last?(delete n.lastElementChild.dataset.last,n.prepend(n.lastElementChild),n.lastElementChild.dataset.first=!0,n.prepend(n.lastElementChild),x=0,m=1):(n.firstElementChild.dataset.first?(delete n.firstElementChild.dataset.first,x=n.children.length-2):n.firstElementChild.dataset.last=!0,n.append(n.firstElementChild),m=n.children.length-2):(S(n),x=Math.max(0,[...n.children].indexOf(n.querySelector(":scope > [aria-current]")))),window.requestAnimationFrame((()=>{n.dataset.x=n.dataset.y=x;let o=e(n.firstElementChild)*m,r=t(n.firstElementChild)*m;n.scroll_x=o,n.scroll_y=r,v(n,o,r),delete n.scroll_x,delete n.scroll_y}))):(S(n),x=Math.max(0,[...n.children].indexOf(n.querySelector(":scope > [aria-current]")))),b.style.height="",g.style.setProperty("--height",`${n.parentNode.classList.contains("n-carousel--auto-height")?u(b):b.scrollHeight}px`),window.requestAnimationFrame((()=>{!n.parentNode.dataset.ready&&d(n)&&s(n)&&(n.style.height=parseFloat(getComputedStyle(n).height)-(e=>2*parseInt(getComputedStyle(e).paddingBlockStart))(n)+"px")})),"hidden"!==getComputedStyle(n).visibility){let e=document.activeElement,t=b.id;n.parentNode.dataset.ready&&t&&!n.parentNode.closest(".n-carousel__content")&&(location.hash=`#${t}`),n.parentNode.dataset.ready&&!t&&!n.parentNode.closest(".n-carousel__content")&&window.nCarouselNav&&(location.hash=""),e.focus()}let w=A(n.closest(".n-carousel"),".n-carousel__index");w&&(w.querySelector("[aria-current]")?.removeAttribute("aria-current"),c(w)[x].setAttribute("aria-current",!0)),[...n.children].forEach((e=>{if(e.inert=e!==b,r&&e.querySelector(".n-carousel:-webkit-full-screen")){let t=e.parentNode.querySelector(':scope > [aria-current="true"]');t.inert=!0,t.removeAttribute("aria-current"),e.inert=!1,e.setAttribute("aria-current",!0)}})),/--vertical.*--auto-height/.test(g.classList)&&(n.scrollTop=n.offsetHeight*x),window.requestAnimationFrame((()=>{W(n)}))},N=(e,t=0,n=0,o)=>{if(clearTimeout(e.nCarouselTimeout),O(e),!e.parentNode.dataset.sliding){e.parentNode.dataset.sliding=!0;let r=e.children[h(e)].offsetHeight,a=r;if(d(e)){let t=f(e),n=e.scrollTop,r=e.children[o];if(s(e)){r.style.height="auto";let t=getComputedStyle(e).maxHeight,n=t.match(/px/)?Math.ceil(parseFloat(t)):99999;a=Math.min(Math.ceil(parseFloat(getComputedStyle(r).height)),n),r.style.height=""}else{a=u(r);let t=h(e)===o?a:u(e.children[h(e)]);e.parentNode.style.setProperty("--height",`${t}px`)}v(e,t+(e=>2*parseInt(getComputedStyle(e).paddingInlineStart))(e)/2,n),v(e,t,n)}s(e)&&((i(e)||l())&&d(e)&&(r=a=e.offsetHeight),n=n-o*r+o*a),window.requestAnimationFrame((()=>{e.parentNode.dataset.duration||d(e)?L(e,t,n,a!==r&&a,r):(delete e.parentNode.dataset.sliding,e.dataset.next=o,e.scrollTo({top:e.scrollTop+n,left:e.scrollLeft+t,behavior:window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth"}))}))}},T=e=>{let t=h(e);P(e,t>=e.children.length-1?0:t+1)},P=(e,n)=>{if(s(e))N(e,0,t(e.children[n])*n-e.scrollTop,n);else{let t=Math.ceil(parseFloat(getComputedStyle(e.children[n]).width)),o=y(e)?Math.abs(f(e))-t*n:t*n-f(e);N(e,o,0,n)}},k=e=>{},M=e=>(e=>{let t=h(e);P(e,0===t?e.children.length-1:t-1)})(C(e.target.closest('[class*="n-carousel"]'))),H=e=>T(C(e.target.closest('[class*="n-carousel"]'))),F=e=>{let t=e.target.closest("a, button");if(t&&(!t.href||!e.ctrlKey&&!e.metaKey)){const e=document.querySelector(`.n-carousel#${t.parentNode.dataset.for}`)||t.closest(".n-carousel"),o=e.querySelector(":scope > .n-carousel__content");let r=[...c(t.parentNode)].indexOf(t);if(a(o)){var n=p(o);0===n&&(r===o.children.length-1?r=0:r++),n===o.children.length-1&&(0===r?r=o.children.length-1:r--)}return e.classList.contains("n-carousel--inline")&&!i(o)?(e.nextSlideInstant=!0,B(o),window.requestAnimationFrame((()=>{o.dataset.x=o.dataset.y=r,v(o,o.offsetWidth*o.dataset.x,o.offsetHeight*o.dataset.y),document.body.dataset.frozen=document.body.scrollTop,_(o)}))):window.requestAnimationFrame((()=>{P(o,r)})),!1}},R=e=>{l()&&(document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen());let t=C(e);t&&(t.closest(".n-carousel").classList.remove("n-carousel--overlay"),q(t.closest(".n-carousel"),!0),delete document.body.dataset.frozen)},B=e=>{let t=C(e);t&&(t.openingModal=!0,t.closest(".n-carousel").classList.add("n-carousel--overlay"),q(t.closest(".n-carousel")))},$=new ResizeObserver((e=>{window.requestAnimationFrame((()=>{e.forEach((e=>{let t=e.target.querySelector(":scope > [aria-current]"),n=t.closest(".n-carousel__content");n.parentElement.dataset.sliding||(n.parentNode.style.removeProperty("--height"),s(n)?(t.style.height="auto",n.style.height=`${t.scrollHeight}px`,t.style.height="",_(n)):(n.style.height="",n.style.height=`${t.scrollHeight}px`,_(n,!0)))}))}))})),I=n=>{if(!n.parentNode.dataset.sliding){let o=n;o.style.padding="",o.style.removeProperty("--peek-int"),o.style.padding=s(o)?`${parseInt(getComputedStyle(o).paddingBlockStart)}px 0`:`0 ${parseInt(getComputedStyle(o).paddingInlineStart)}px`,"0px"===o.style.padding?o.style.padding="":o.style.setProperty("--peek-int",s(o)?`${parseInt(getComputedStyle(o).paddingBlockStart)}px 0 0 0`:`0 ${parseInt(getComputedStyle(o).paddingInlineStart)}px 0 0`),window.requestAnimationFrame((()=>{s(n)?o.style.setProperty("--subpixel-compensation",Math.ceil(o.getBoundingClientRect().height)-o.getBoundingClientRect().height):o.style.setProperty("--subpixel-compensation",Math.ceil(o.getBoundingClientRect().width)-o.getBoundingClientRect().width);let r=h(o);v(o,r*e(o.firstElementChild),r*t(o.firstElementChild))}))}},W=e=>{window.requestAnimationFrame((()=>{e.scroll_x&&e.scroll_y&&v(e,e.scroll_x,e.scroll_y),delete e.parentNode.dataset.sliding,e.parentNode.matches(".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height")?Y.observe(e.parentNode):Y.unobserve(e.parentNode),D.observe(e),j.observe(e.parentNode,{attributes:!0,attributeFilter:["class"]})}))},O=e=>{Y.unobserve(e.parentNode),D.unobserve(e),e.observerStarted=!0},z=e=>{O(e);const t=e=>{I(e),window.requestAnimationFrame((()=>{let t=e.querySelector(":scope > [aria-current]").scrollHeight+"px";t!==getComputedStyle(e).getPropertyValue("--height")&&e.parentNode.style.setProperty("--height",t),W(e)}))};t(e),e.querySelectorAll(".n-carousel__content").forEach((e=>t(e)))},D=new ResizeObserver((e=>{window.requestAnimationFrame((()=>{e.forEach((e=>{let t=e.target;t.observerStarted?t.observerStarted=!1:z(t)}))}))})),j=new MutationObserver((e=>{for(let t of e)if(t.target&&!t.target.nextSlideInstant){let e=t.target.querySelector(":scope > .n-carousel__content");z(e),_(e,!0)}})),X=e=>{let t=e.querySelector(":scope > .n-carousel__index");t&&!e.dataset.sliding&&(e.style.removeProperty("--height-minus-index"),t.style.position="absolute",e.style.setProperty("--height-minus-index",`${e.offsetHeight}px`),e.style.setProperty("--index-width",getComputedStyle(e.querySelector(":scope > .n-carousel__index")).width),t.style.position="")},Y=new ResizeObserver((e=>{window.requestAnimationFrame((()=>{e.forEach((e=>{let t=e.target;X(t)}))}))})),V=(n=document)=>{n.querySelectorAll(".n-carousel:not([data-ready])").forEach((n=>{const o=A(n,".n-carousel__previous"),a=A(n,".n-carousel__next"),c=A(n,".n-carousel__index"),p=A(n,".n-carousel__close"),h=A(n,".n-carousel__full-screen"),m=n.querySelector(":scope > .n-carousel__content");if(!m)return;if(o&&(o.onclick=M),a&&(a.onclick=H),c&&(c.onclick=F),p&&(p.onclick=e=>{e.target.closest(".n-carousel").classList.contains("n-carousel--overlay")?R(e.target):B(e.target)}),h){h.onclick=e=>{let t=e.target.closest(".n-carousel").querySelector(":scope > .n-carousel__content");t.dataset.xx=t.dataset.x,t.dataset.yy=t.dataset.y,g(e.target)};const o=n=>{let o=n.target.querySelector(":scope > .n-carousel__content");window.requestAnimationFrame((()=>{_(o),o.dataset.x=o.dataset.xx,o.dataset.y=o.dataset.yy,delete o.dataset.xx,delete o.dataset.yy,"undefined"!==o.dataset.x&&"undefined"!==o.dataset.y&&v(o,o.dataset.x*e(o.children[o.dataset.x]),o.dataset.y*t(o.children[o.dataset.y]))}))};r?n.onwebkitfullscreenchange=o:n.onfullscreenchange=o}m.addEventListener("keydown",k),n.addEventListener("keyup",(e=>{if("Escape"===e.key){let t=e.target;t.closest(".n-carousel--overlay")||(t=document.querySelector(".n-carousel--overlay")),t&&R(t)}})),I(m),m.observerStarted=!0;let y=!!location.hash&&m.querySelector(":scope > "+location.hash);if(y){n.classList.contains("n-carousel--inline")&&B(m);let e=[...y.parentNode.children].indexOf(y);s(m)?m.dataset.y=e:m.dataset.x=e,window.nCarouselNav=[m,location.hash]}n.matches(".n-carousel--vertical.n-carousel--auto-height")&&(m.style.height="",m.style.height=getComputedStyle(m).height,n.dataset.ready=!0,m.scrollTop=0),n.matches(".n-carousel--auto-height")&&$.observe(m),window.requestAnimationFrame((()=>{if(W(m),n.parentNode.matches(".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height")&&X(n),_(m),n.dataset.ready=!0,n.matches(".n-carousel--auto-slide")){let e=(1e3*parseFloat(n.dataset.interval)||4e3)+(1e3*parseFloat(n.dataset.duration)||500),t=()=>{(function(e){let t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.offsetHeight)&&t.right<=(window.innerWidth||document.documentElement.offsetWidth)})(m)&&T(m),m.nCarouselTimeout=setTimeout(t,e)};m.nCarouselTimeout=setTimeout(t,1e3*parseFloat(n.dataset.interval)||4e3),m.addEventListener("pointerenter",(e=>clearTimeout(e.target.nCarouselTimeout)))}n.dataset.platform=navigator.platform})),m.nCarouselUpdate=_;if(m.querySelectorAll(":scope > *").forEach((e=>{const t=new IntersectionObserver((e=>{e.forEach((e=>{let t=e.target,o=t.parentNode;if(e.isIntersecting&&!o.parentNode.dataset.sliding&&"hidden"!==getComputedStyle(o).visibility){if(o.dataset.next&&parseInt(o.dataset.next)!==[...o.children].indexOf(t))return;delete o.dataset.next,O(n),o.scrollLeft,o.scrollTop;let e=()=>{let e=[...o.children].indexOf(t);if(d(o)){let r,a=parseFloat(getComputedStyle(o).height),d=0,c=o.scrollLeft,p=o.scrollTop;if(s(o)){let s=o.scrollTop;t.style.height="auto";let c=getComputedStyle(n).maxHeight,u=c.match(/px/)?Math.ceil(parseFloat(c)):99999;r=Math.min(Math.ceil(parseFloat(getComputedStyle(t).height)),u),(i(o)||l())&&(a=r=o.offsetHeight),t.style.height="",o.scrollTop=s,d=e*r-o.scrollTop}else r=u(t),c&&v(o,c,p);a===r&&(r=!1),o.parentNode.dataset.sliding=!0,window.requestAnimationFrame((()=>{L(o,0,d,r,a).then((()=>{}))}))}else window.requestAnimationFrame((()=>{_(o)}))};setTimeout(e,10)}}))}),{threshold:.996,root:e.parentElement});t.observe(e)})),n.matches(".n-carousel--lightbox")){let e=e=>{e.closest("picture").dataset.loaded=!0};m.querySelectorAll("picture img").forEach((t=>{t.complete?e(t):t.addEventListener("load",(t=>{e(t.target)}))}))}}))};window.nCarouselInit=V,window.addEventListener("popstate",(e=>{if(location.hash){let e=document.querySelector(location.hash),t=e?.parentNode;if(t&&t.classList.contains("n-carousel__content")&&!t.parentNode.closest(".n-carousel__content")){let n=document.querySelector(".n-carousel--overlay > .n-carousel__content");n&&n!==t&&R(n),t.parentNode.classList.contains("n-carousel--inline")&&R(t),r&&v(t,t.offsetWidth*t.dataset.x,t.offsetHeight*t.dataset.y),P(t,[...t.children].indexOf(e)),window.nCarouselNav=[t,location.hash]}}else if(window.nCarouselNav){let e=window.nCarouselNav[0];delete window.nCarouselNav,r&&v(e,e.offsetWidth*e.dataset.x,e.offsetHeight*e.dataset.y),P(e,[...e.children].indexOf(e.querySelector(":scope > :not([id])")))}}));const K=()=>{void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-carousel",V):V()};"loading"!==document.readyState?K():document.addEventListener("DOMContentLoaded",K)}(),function(){var e;const t=t=>{document.querySelectorAll("dialog.n-modal[open]").forEach((e=>{e.classList.add("n-modal--transparent")})),clearTimeout(e),e=setTimeout((()=>{document.querySelectorAll("dialog.n-modal[open]").forEach((e=>{e.classList.remove("n-modal--transparent")}))}),67)};const n=()=>window.matchMedia("(prefers-reduced-motion: no-preference)").matches?1e3*getComputedStyle(document.querySelector(".n-modal")).getPropertyValue("--duration"):0;let o=e=>{document.documentElement.classList.remove("transparent-scrollbar");let t=e.target;if(t.removeEventListener("close",o),t.existingDetachedElement){if(!t.existingModal){let e=t.querySelector(".n-modal__content");e.removeChild(e.firstElementChild)}delete t.existingDetachedElement,t.remove()}t.attachedHiddenContent?t.replaceWith(t.lastChild):t.dataset.existingAttachedContent?t.replaceWith(t.lastChild.firstElementChild):t.existingModal?(delete t.existingModal,delete t.dataset.anim):t.remove()};function r(e){let r="normal";var a=e.dataset.anim;!a||a.length<11?a='[{ "transform": "translate3d(0,0,0)" }, { "transform": "translate3d(0,-100vh,0)" }]':r="reverse",e.classList.add("n-modal--closing"),setTimeout((()=>{e.classList.remove("n-modal--closing")}),n()),e.animate(JSON.parse(a),{duration:n(),direction:r,easing:"ease-in-out"}).onfinish=()=>{window.removeEventListener("scroll",t),e.existingModal&&(e.existingDetachedElement||e.removeEventListener("close",o),delete e.dataset.anim),e.close()}}function a(e){document.documentElement.style.overflow="scroll";const a=window.innerWidth-document.documentElement.offsetWidth;document.documentElement.style.overflow="",a||document.documentElement.classList.add("transparent-scrollbar"),("string"==typeof e||e.tagName)&&(e={content:e});let l=e.animation,i=e.content,s=e.trigger;var d={},c=!1;if(i.parentNode){if("DIALOG"===i.parentNode.tagName||i.parentNode.classList.contains("n-modal__content"))return}else i.tagName&&(c=!0);const u="Close";if("object"==typeof i&&"DIALOG"===i.tagName){i.parentNode||document.body.appendChild(i),(d=i).existingModal=!0;let e=d.querySelector(".n-modal__close");e&&(e.dataset.closeSymbol=e.dataset.closeSymbol||"╳",e.ariaLabel=e.ariaLabel||u)}else if((d=document.createElement("dialog")).insertAdjacentHTML("afterbegin",`
`),document.createElement("div"),"string"==typeof i)d.lastChild.innerHTML=i,document.body.appendChild(d);else{if(i.parentElement){let e=document.createElement("div");i.replaceWith(e),d.lastChild.appendChild(i),e.replaceWith(d),i.classList.contains("n-modal__content")?(d.lastChild.replaceWith(i),d.attachedHiddenContent=!0):d.dataset.existingAttachedContent=!0}else d.lastChild.appendChild(i),document.body.appendChild(d)}return e.blur&&d.classList.add("n-modal--blur"),e.shadow&&d.classList.add("n-modal--shadow"),e.rounded&&d.classList.add("n-modal--rounded"),e.full&&d.classList.add("n-modal--full"),d.dataset.anim=l,d.classList.add("n-modal"),d.onclick=e=>{let t=e.target.closest(".n-modal");(e.target.closest(".n-modal__close")||e.target.matches(".n-modal")&&(e.offsetX<0||e.offsetY<0||e.offsetX-2>t.getBoundingClientRect().width||e.offsetY-2>t.getBoundingClientRect().height))&&r(t)},d.addEventListener("cancel",(e=>{e.preventDefault(),r(e.target.closest(".n-modal"))})),c&&(d.existingDetachedElement=!0),d.showModal(),d.animate("string"==typeof l?JSON.parse(l):[{transform:"translate3d(0,-100vh,0)"},{transform:"translate3d(0,0,0)"}],{duration:n(),easing:"ease-in-out"}).onfinish=()=>{d.addEventListener("close",o),window.addEventListener("scroll",t,{passive:"true"})},d}function l(e){let t=e.target.closest(".n-modal-link");var n=t.dataset.href||t.href,o=t.dataset.anim;const r=e=>{return n=t,r=a({content:e,animation:o,trigger:t}),void("string"==typeof(l=["n-modal--full","n-modal--rounded","n-modal--shadow","n-modal--blur"])?new Array(l):l).forEach((e=>{n.classList.contains(e)&&r.classList.add(e)}));var n,r,l};return t.dataset.for?r(document.getElementById(t.dataset.for)):fetch(n.split("#")[0]).then((e=>e.text())).then((e=>{var t,o,a=(t=e,(o=document.implementation.createHTMLDocument("Parsed")).body.innerHTML=t,o.body),l=n.split("#")[1]?"#"+n.split("#")[1].split("?")[0]:0;a=l&&a.querySelector(l)?a.querySelector(l).innerHTML:a.innerHTML,r(a)})).catch((e=>{r(e)})),!1}let i=(e=document)=>{e.querySelectorAll(".n-modal-link:not([data-ready])").forEach((e=>{e.href!==location.href.split("#")[0]+"#"&&(e.onclick=l),e.href&&!e.getAttribute("rel")&&e.setAttribute("rel","prefetch"),e.dataset.ready=!0}))},s=document.querySelector(`.n-modal${location.hash}.n-modal--uri`);location.hash&&s&&a(s);let d=a;d.close=r,d.init=i,void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-modal",i,{name:"modal",code:d}):(i(),window.nui={},window.nui.modal=d)}(),function(){navigator.userAgent.match("Chrome");navigator.userAgent.match(/Safari/);let e=e=>{e.target.closest(".n-select__options > *")||e.target.closest(".n-select")||document.querySelectorAll(".n-select__options[aria-expanded]:not([data-n-select-animation])").forEach((e=>{a(e)}))},t=e=>{let t=document.querySelector(".n-select__options[aria-expanded]");("resize"===e.type||"scroll"===e.type&&e.target!==t)&&a(t)};const n=(e,t)=>{e.style.setProperty("--active-option-height",`${t.querySelector("[aria-selected]").getBoundingClientRect().height}px`)};let o=(e,t=!0)=>{if(!e||"BUTTON"!==e.tagName)return;let o=e.closest(".n-select__options");o.querySelectorAll("[aria-selected]").forEach((e=>e.removeAttribute("aria-selected"))),e.setAttribute("aria-selected",!0),o.nuiSelectWrapper.dataset.value=e.value,o.hasAttribute("aria-expanded")&&(e.focus(),t&&a(o));let r=o.children[0];n(o.nuiSelectWrapper,o),r.style.removeProperty("--top-offset"),r.style.removeProperty("--max-height");let l=o.nuiNativeInput;l.innerHTML=``;const i=new Event("change");l.dispatchEvent(i),o.nuiOnChange&&o.nuiOnChange(index,l.value)};const r=["font-family","font-size","font-style","font-weight","line-height","font-variant"];let a=n=>{if(!n)return;delete n.dataset.nSelectAnimation,n.removeAttribute("aria-expanded"),r.forEach((e=>{n.style[e]=""})),n.nuiSelectWrapper.prepend(n),window.removeEventListener("resize",t),window.removeEventListener("scroll",t),n.querySelector("[aria-selected]").tabIndex=-1,window.removeEventListener("pointerup",e),n.removeEventListener("pointerup",c);let o=n.parentNode;o.classList.remove("n-select--open"),o.style.removeProperty("--width"),n.style.removeProperty("--scroll-help-top"),n.classList.remove("n-select--scroll-help-top"),n.nuiSelectWrapper.focus(),n.classList.remove("n-scrollbar")},l=o=>{let l=document.body.querySelector(".n-select__options[aria-expanded]");l&&a(l);let i=o.parentNode;n(i,o),i.style.setProperty("--width",`${i.getBoundingClientRect().width}px`),i.classList.add("n-select--open"),o.style.removeProperty("--top-offset"),o.style.removeProperty("--max-height"),o.style.removeProperty("--select-scroll-height"),o.style.removeProperty("--active-option-offset"),o.classList.remove("n-select--crop-top");let s=o.getBoundingClientRect().height;o.style.setProperty("--max-width",`${o.parentNode.getBoundingClientRect().width}px`);let d=document.querySelector("html").getBoundingClientRect().x;o.style.setProperty("--body-offset-x",i.getBoundingClientRect().x-d-("relative"===document.body.style.position?parseFloat(getComputedStyle(document.body).borderInlineStartWidth)-d+document.body.getBoundingClientRect().x:0)),o.style.setProperty("--body-offset-y",-document.body.getBoundingClientRect().y+i.getBoundingClientRect().y-("relative"===document.body.style.position?parseFloat(getComputedStyle(document.body).borderBlockStartWidth):0)),o.querySelector("[aria-selected]").removeAttribute("tabindex"),o.setAttribute("aria-expanded",!0),r.forEach((e=>{o.style[e]=getComputedStyle(i)[e]})),document.body.appendChild(o),o.style.setProperty("--select-scroll-height",`${o.getBoundingClientRect().height}px`);let c=o.querySelector("[aria-selected]").getBoundingClientRect().y-o.getBoundingClientRect().y,u=0;if(o.style.setProperty("--active-option-offset",c),o.getBoundingClientRect().y<0){let e=o.getBoundingClientRect().height+o.getBoundingClientRect().y;o.style.setProperty("--max-height",`${e}px`),o.scrollTop=Math.abs(Math.round(o.getBoundingClientRect().y)),u=Math.abs(o.getBoundingClientRect().y),o.style.setProperty("--top-offset",u),o.classList.add("n-select--crop-top"),o.getBoundingClientRect().height>window.innerHeight&&o.style.setProperty("--max-height",e-Math.abs(window.innerHeight-o.getBoundingClientRect().height)+"px")}else{o.getBoundingClientRect().y+o.getBoundingClientRect().height>window.innerHeight&&o.style.setProperty("--max-height",`${Math.abs(window.innerHeight-o.getBoundingClientRect().y)}px`);let e=o.getBoundingClientRect().y;if(o.scrollHeight>o.getBoundingClientRect().height){let t=o.getBoundingClientRect().height-o.scrollHeight,n=Math.abs(Math.min(t,e))-2*parseInt(getComputedStyle(o).paddingInlineEnd);n>0&&(o.style.setProperty("--scroll-help-top",n),o.classList.add("n-select--scroll-help-top"))}}o.getBoundingClientRect().width>o.querySelector("button").getBoundingClientRect().width+2*parseInt(getComputedStyle(o).paddingInlineEnd)&&o.classList.add("n-scrollbar"),o.style.setProperty("--mask-position-y",""+(c-u)),o.style.setProperty("--mask-size-y",`${s}px`),window.requestAnimationFrame((e=>{setTimeout((()=>{o.dataset.nSelectAnimation=!0,o.querySelector("[aria-selected]").focus()}),1)})),window.addEventListener("resize",t),window.addEventListener("scroll",t,!0),window.addEventListener("pointerup",e)},i=(e,t)=>{let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}return!1},s=e=>{let t=e.target.closest(".n-select__options"),n=e.target;t.hasAttribute("aria-expanded")&&(n.href?a(t):o(n))},d=e=>{let t=e.target.closest(".n-select__options")||e.target.querySelector(".n-select__options");t&&!t.hasAttribute("aria-expanded")&&(l(t),t.removeEventListener("click",s),setTimeout((()=>{t.addEventListener("click",s)}),100))},c=e=>{let t=e.target.closest("button"),n=e.target.closest(".n-select__options");if(e.target.href)e.target.click();else{if(!t||!n.hasAttribute("aria-expanded")||t.hasAttribute("aria-selected"))return;o(t)}document.body.style.pointerEvents="none",setTimeout((()=>{document.body.style.pointerEvents=""}),100)},u=null,p=e=>{[32,35,36,37,38,39,40].includes(e.keyCode)&&(e.stopPropagation(),e.preventDefault())},h=e=>{if("SELECT"===e.target.tagName)return;p(e);let t=e.target.closest(".n-select__options");if(e.target.classList.contains("n-select")&&(t=e.target.querySelector(".n-select__options")),t){switch(e.key){case"Enter":e.target.classList.contains("n-select")&&l(t);break;case"Escape":a(t);break;case"ArrowDown":if(t.hasAttribute("aria-expanded")){let n=i(e.target,"button, a[href]");n?n.focus():t.querySelector("button").focus()}else l(t);break;case"ArrowUp":if(t.hasAttribute("aria-expanded")){let n=((e,t)=>{let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}return!1})(e.target,"button, a[href]");if(n)n.focus();else{let e=t.querySelectorAll("button");e[e.length-1].focus()}}else l(t);break;case"Home":t.querySelector("button").focus();break;case"End":t.querySelector("button:last-of-type").focus();break;default:t.nuiSearchTerm+=e.key.toLowerCase(),clearTimeout(u),u=setTimeout((()=>{for(let e of t.querySelectorAll("button"))e.textContent.trim().toLowerCase().startsWith(t.nuiSearchTerm)&&(t.getAttribute("aria-expanded")?e.focus():o(e,!1));t.nuiSearchTerm=""}),200)}return!1}},m=e=>{window.PointerEvent&&e.querySelectorAll(".n-select:not([data-ready])").forEach((e=>{let t=e;if("SELECT"===e.tagName)return;if(!(e=e.querySelector(".n-select__options"))){let n="";t.querySelectorAll("option").forEach((e=>{n+=``})),(e=document.createElement("span")).insertAdjacentHTML("beforeend",n),t.prepend(e)}if(e.nuiSelectWrapper=t,e.classList.add("n-select__options"),e.nuiNativeInput=e.nuiSelectWrapper.querySelector("select, input")||i(e.nuiSelectWrapper,"select")||document.querySelector(`[data-n_select="${e.nuiSelectWrapper.dataset.n_select}"]`),!e.nuiNativeInput){let n=document.createElement("select");n.name=n.id=e.dataset.name,t.append(n),e.nuiNativeInput=n}let r=e.nuiNativeInput.value,l=e.querySelector(`button[value="${r}"`);e.nuiNativeInput.innerHTML="",t.addEventListener("pointerdown",d),e.addEventListener("click",s),e.addEventListener("focusout",(e=>{let t=e.target.closest(".n-select__options");t.hasAttribute("aria-expanded")&&e.relatedTarget&&e.relatedTarget.parentNode!==t&&(a(t),t.nuiSelectWrapper.focus())})),e.ontransitionend=e=>{let t=e.target;t.style.removeProperty("--mask-position-y"),t.style.removeProperty("--mask-size-y"),delete t.dataset.nSelectAnimation,t.addEventListener("pointerup",c)},e.addEventListener("keydown",h),t.addEventListener("keydown",h),e.addEventListener("keyup",p),t.addEventListener("keyup",p),e.lastElementChild.onkeydown=e=>{"Tab"===e.key&&!e.shiftKey&&e.target.parentNode.hasAttribute("aria-expanded")&&(a(e.target.parentNode),e.target.parentNode.nuiSelectWrapper.focus())},e.querySelectorAll("button").forEach((e=>{e.type="button",e.value=e.value||e.textContent.trim()})),t.setAttribute("tabindex",0),(e.querySelector("[aria-selected]")||e.firstElementChild).tabIndex=-1,t.style.setProperty("--inline-width",`${e.getBoundingClientRect().width}px`),o(e.querySelector("[aria-selected]")||l||e.querySelector("button")),e.nuiSearchTerm="",["n-select--rounded","n-select--shadow"].forEach((n=>{t.classList.contains(n)&&e.classList.add(n)}));let u=e.closest("label")||document.querySelector(`label[for="${e.nuiNativeInput.id}"]`);u&&(u.onclick=e=>{let t=e.target;if(!t.closest(".n-select")){e.preventDefault(),t=t.closest("label"),(t.querySelector(".n-select")||document.getElementById(t.getAttribute("for")).closest(".n-select")).focus()}}),t.dataset.ready=!0,window.requestAnimationFrame((()=>{n(t,e),["--nui-control-color","--nui-control-bg","--nui-control-active-color","--nui-control-active-bg","--nui-control-highlight"].forEach((n=>{e.style.setProperty(n,t.style.getPropertyValue(n))}))}))}))};void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-select",m):m(document.body)}(),function(){function e(e){return document.getElementById(e.getAttribute("aria-describedby"))||e.nextElementSibling}const t=t=>{let n=e(t);t.removeAttribute("aria-expanded"),t.after(n),n.removeAttribute("style"),delete n.dataset.position,n.classList.remove("n-tooltip__content-visible")};let n=e=>{t(e.target.closest(".n-tooltip"))};const o=e=>{document.querySelectorAll(".n-tooltip").forEach((e=>t(e))),document.removeEventListener("scroll",o)};let r=t=>{let n=t.target.closest(".n-tooltip"),r=e(n);n.setAttribute("aria-expanded",!0),document.body.appendChild(r),((e,t)=>{let n=e.getBoundingClientRect(),o=n.top,r=n.left,a=window.innerWidth-r-n.width,l=window.innerHeight-o-n.height,i=o*window.innerWidth,s=a*window.innerHeight,d=l*window.innerWidth,c=r*window.innerHeight,u=document.body.getBoundingClientRect();t.removeAttribute("style"),delete t.dataset.position,t.classList.add("n-tooltip__content-visible");let p=()=>{t.style.bottom=20+u.height+u.y-o+"px",t.style.maxHeight=o-40+"px",t.style.left=n.x+n.width/2-t.scrollWidth/2+"px",t.dataset.nPosition="top"},h=()=>{t.style.top=20-u.y+o+n.height+"px",t.style.maxHeight=l-40+"px",t.style.left=n.x+n.width/2-t.scrollWidth/2+"px",t.dataset.nPosition="bottom"},m=()=>{t.style.left="auto",t.style.right=20+u.width+u.x-window.innerWidth+a+n.width+"px",t.style.maxWidth=r-40+"px",t.style.top=-1*u.y+n.top+n.height/2-t.scrollHeight/2+"px",t.dataset.nPosition="left"},y=()=>{t.style.left=n.x-u.x+n.width+20+"px",t.style.maxWidth=a-40+"px",t.style.top=-1*u.y+n.top+n.height/2-t.scrollHeight/2+"px",t.dataset.nPosition="right"};c>s?i>d?i>c?p():m():d>c?h():m():i>d?i>s?p():y():d>s?h():y();let g=t.getBoundingClientRect(),f=0;g.y<0?f=Math.abs(g.y)+10:g.bottom>window.innerHeight&&(f=window.innerHeight-g.bottom-10),t.style.setProperty("--offset_y",f+"px");let v=0;g.x<0?v=Math.abs(g.x)+10:g.right>window.innerWidth&&(v=window.innerWidth-g.right-10),t.style.setProperty("--offset_x",v+"px")})(n,r),document.addEventListener("scroll",o,!0)};const a=(e=document)=>{e.querySelectorAll(".n-tooltip")?.length,e.querySelectorAll(".n-tooltip:not([data-ready])").forEach((e=>{e.setAttribute("tabindex",0),e.addEventListener("touchend",r),e.addEventListener("mouseover",r),e.addEventListener("focus",r),e.addEventListener("mouseout",n),e.addEventListener("blur",n),e.dataset.ready=!0}))};void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-tooltip",a):a()}(),function(){function e(e){e.target.closest(".n-nav li")||(document.querySelectorAll(".n-nav li").forEach((e=>{e.removeAttribute("aria-expanded")})),document.querySelector(".n-nav :focus")&&document.querySelector(".n-nav :focus").blur())}function t(e){return!!getComputedStyle(e).getPropertyValue("--desktop")}let n=!1;function o(e){var o=e.target.closest(".n-nav");if(n||!e.relatedTarget)return;e.stopPropagation();let r=e.target,a="LI"===r.tagName?r.querySelector("ul"):r.parentElement.querySelector("ul");if(!o.contains(e.relatedTarget)||t(o)&&e.relatedTarget&&!closestElement(e.relatedTarget,o))o.querySelectorAll("li").forEach((e=>{e.removeAttribute("aria-expanded")}));else{if(a){if(a.parentNode.parentNode.querySelector("ul [aria-expanded]"))return;a.parentElement.removeAttribute("aria-expanded")}r=e.target;var l=r.closest("[aria-haspopup]");l&&l.querySelectorAll("li[aria-expanded]").forEach((e=>{e.removeAttribute("aria-expanded")})),r=e.target.parentNode,r.nextElementSibling||"LI"!==r.parentNode.parentNode.nodeName||r.parentNode.parentNode.nextElementSibling||r.parentNode.parentNode.removeAttribute("aria-expanded")}}function r(e){e.stopPropagation();var t=e.target.closest(".n-nav > ul > li");if(!n){[[].slice.call(t.parentElement.children),[].slice.call(e.target.parentElement.parentElement.children),[].slice.call(e.target.parentElement.parentElement.parentElement.parentElement.children)].forEach((e=>{e.forEach((e=>{e.removeAttribute("aria-expanded")}))})),t.setAttribute("aria-expanded",!0),t.parentNode.parentNode.getAttribute("aria-haspopup")&&t.parentNode.parentNode.setAttribute("aria-expanded",!0),t.querySelectorAll("li[aria-expanded]").forEach((e=>{e.removeAttribute("aria-expanded")})),(t=e.target).parentNode.setAttribute("aria-expanded",!0);var o=t.parentElement.parentElement.parentElement;"LI"===o.tagName&&o.setAttribute("aria-expanded",!0)}}var a=!1;const l=()=>window.matchMedia("(prefers-reduced-motion: no-preference)").matches?200:0;let i=e=>{n=!0,e.style.overflow="hidden",e.parentElement.setAttribute("aria-expanded",!0),e.animate([{height:`${e.scrollHeight}px`},{height:0}],l()).onfinish=()=>{e.removeAttribute("style"),e.parentElement.removeAttribute("aria-expanded"),n=!1,e.querySelectorAll("[aria-expanded]").forEach((e=>{e.removeAttribute("aria-expanded")}))}},s=e=>{n=!0,e.style.overflow="hidden",e.parentElement.setAttribute("aria-expanded",!0),e.animate([{height:0},{height:`${e.scrollHeight}px`}],l()).onfinish=()=>{e.removeAttribute("style"),n=!1}},d=e=>{e.stopPropagation();let n=e.target;var r=n.closest(".n-nav");r.removeEventListener("focusout",o),r.contains(document.activeElement)&&document.activeElement.blur();let a="LI"===n.tagName?n.querySelector("ul"):n.parentElement.querySelector("ul");if(t(r))n.getAttribute("aria-expanded")?n.querySelector("a:focus")||(t(r)?n.removeAttribute("aria-expanded"):i(a)):([].slice.call(n.parentElement.children).forEach((e=>{e.removeAttribute("aria-expanded");let t=e.querySelector("[aria-expanded]");t&&t.removeAttribute("aria-expanded")})),n.setAttribute("aria-expanded",!0),t(r)||s(a));else if(a.parentNode.hasAttribute("aria-expanded"))i(a);else{if(a.parentElement.parentElement.matches("ul")){let e=a.parentElement.closest("ul").querySelector('[aria-expanded="true"] > ul');e&&i(e)}s(a)}r.addEventListener("focusout",o)};function c(e,t){"rtl"!==getComputedStyle(e).direction&&(e.classList.remove("n-right-overflow"),e.style.removeProperty("--n-right-overflow"),e.getBoundingClientRect().left>document.body.offsetWidth-(e.getBoundingClientRect().left+e.getBoundingClientRect().width)?(e.getBoundingClientRect().right>window.innerWidth&&(e.style.setProperty("--n-right-overflow",window.innerWidth-e.getBoundingClientRect().right+"px"),e.classList.add("n-right-overflow")),e.classList.add("n-left-side")):e.classList.remove("n-left-side"))}window.addEventListener("resize",(function(e){document.querySelectorAll(".n-nav.n-nav--drop ul").forEach((e=>{e.querySelectorAll("ul").forEach((e=>{c(e)}))}))}));nui.registerComponent("nav",(t=>{t.querySelectorAll(".n-nav:not([data-ready]) > ul:not([role])").forEach((t=>{!function(t){t.querySelectorAll("input").forEach((e=>{e.outerHTML=""})),t.querySelectorAll("li > a").forEach((e=>{e.setAttribute("tabindex",0)})),t.closest(".n-nav.n-nav--drop")&&(a||(window.addEventListener("touchend",e),window.addEventListener("mouseup",e),a=!0),t.addEventListener("keyup",(e=>{"Escape"===e.key&&(e.target.closest(".n-nav").querySelectorAll("li").forEach((e=>{e.removeAttribute("aria-expanded")})),document.activeElement.blur())})),t.querySelectorAll("li").forEach((e=>{e.querySelector("ul")&&(e.setAttribute("aria-haspopup",!0),"UL"===e.children[0].nodeName&&e.insertBefore(e.children[1],e.children[0]))})),t.addEventListener("mousedown",d),t.addEventListener("focusin",r),t.addEventListener("focusout",o),window.requestAnimationFrame((()=>{t.querySelectorAll("ul").forEach((e=>{c(e)}))})))}(t),t.closest(".n-nav").dataset.ready=!0}))}))}(),function(){function e(e){e&&e.parentNode.removeChild(e)}function t(){document.querySelector(".n-notify")&&(document.querySelector(".n-notify").onclick=t=>{e(t.target)})}nui.registerComponent("notify",(e=>{e.querySelectorAll(".n-notify:not([data-ready])").forEach(((e,n)=>{t(),e.dataset.ready=!0}))}),{name:"notify",code:function(n,o){document.body.insertAdjacentHTML("afterbegin",``),document.querySelector(".n-notify").focus(),t(),o&&-1!==o.indexOf("timeout")&&setTimeout((()=>{e(document.querySelector(".n-notify"))}),2e3)}})}(),function(){let e=()=>{document.querySelectorAll(".n-parallax").forEach((e=>{let t=e.parentElement,n=t.scrollHeight>t.offsetHeight?t.getBoundingClientRect().y:document.body.scrollTop||document.documentElement.scrollTop;e.style.setProperty("--scrollparallax",.2*n)}))};document.querySelector(".n-parallax")&&window.addEventListener("scroll",e,!0);nui.registerComponent("parallax",(e=>{}))}(),function(){const e=(e,t)=>e.children[t].innerText||e.children[t].textContent;nui.registerComponent("table",(t=>{t.querySelectorAll(".n-table:not([data-ready])").forEach((t=>{t.querySelectorAll("thead td button.n-table__sort, th button.n-table__sort").forEach((t=>t.addEventListener("click",(t=>{let n=t.target.closest("th")||t.target.closest("td");const o=n.closest("table").querySelector("tbody");var r,a;Array.from(o.querySelectorAll("tr")).sort((r=Array.from(n.parentNode.children).indexOf(n),a=(e=>{let t=e.closest("tr").querySelector("td[data-ascending]");return t&&t!==e&&delete t.dataset.ascending,e.toggleAttribute("data-ascending")})(n),(t,n)=>{return o=e(a?t:n,r),l=e(a?n:t,r),""===o||""===l||isNaN(o)||isNaN(l)?o.toString().localeCompare(l):o-l;var o,l})).forEach((e=>o.appendChild(e)))})))),t.dataset.ready=!0,t.setAttribute("tabindex",0)}))}))}(),nui.registerComponent("typography",(e=>{if("function"==typeof ResizeObserver){let e=new ResizeObserver((e=>{e.forEach((e=>{let t=e.target;t.style.removeProperty("--adjust-height");let n=getComputedStyle(t),o=parseFloat(n.lineHeight),r=o-parseFloat(n.height)%o;r!==o&&t.style.setProperty("--adjust-height",r)}))}));document.querySelectorAll(".n-adjust-height:not([data-ready])").forEach((t=>{e.observe(t),t.dataset.ready=!0}))}}));window.nui=nui; //# sourceMappingURL=niui.min.js.map diff --git a/dist/niui.min.js.map b/dist/niui.min.js.map index 9344d451..ad423233 100644 --- a/dist/niui.min.js.map +++ b/dist/niui.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["js/niui.js"],"names":["nui","q","selector","document","querySelector","addClass","el","className","classList","add","removeClass","remove","body","dataset","nuiJs","window","nuiChrome","navigator","userAgent","match","nuiSafari","platform","nuiApple","setHashClass","location","hash","addEventListener","temp","createElement","t","animation","MozAnimation","WebkitAnimation","style","isTouchTimer","isTouch","addtouchclass","e","clearTimeout","setTimeout","components","Array","initComponents","host","observerOff","key","init","observerOn","observer","observe","childList","subtree","disconnect","MutationObserver","mutations","dynamicInit","mutation","type","addedNodes","length","nodeName","ready","parentNode","registerComponent","name","componentFunction","push","code","copyButton","target","echo","event","getSelection","removeAllRanges","range","createRange","selectNode","addRange","execCommand","notify","textContent","err","addComponent","insertAdjacentHTML","submitForm","ready_to_submit","querySelectorAll","forEach","value","checked","RegExp","test","parseInt","digits","focus","form","closest","animate","width","scrollWidth","marginLeft","updateFileInput","innerHTML","substring","lastIndexOf","toggleConditionalFieldset","fieldset","for","nextElementSibling","attribute","removeAttribute","setAttribute","i","onsubmit","onchange","onkeyup","rows","scrollHeight","offsetHeight","ripple","x","offsetX","clientWidth","y","offsetY","clientHeight","max_x","Math","max","max_y","radius","sqrt","transitionProperty","setProperty","requestAnimationFrame","ceilingWidth","ceil","parseFloat","getComputedStyle","ceilingHeight","height","focusableElements","isChrome","isSafari","isEndless","children","parentElement","contains","isFullScreen","webkitFullscreenElement","fullscreenElement","isModal","isVertical","matches","isAuto","indexControls","index","controls_by_class","nextSlideHeight","overflow","getIndex","getIndexReal","active_slide","indexOf","hash_slide_index","scrolledAncestor","scrollTop","scrollLeft","isRTL","direction","toggleFullScreen","carousel","restoreScroll","nuiAncestors","nuiScrollX","nuiScrollY","removeEventListener","togglingFullScreen","exitFullscreen","webkitExitFullscreen","display","updateExitFullScreen","slideTo","arr","a","scrolledAncestors","requestFullscreen","webkitRequestFullscreen","scrollStartX","scrollTo","abs","getScroll","scrollX","scrollY","firstFocusableElement","focusableContent","lastFocusableElement","focusHandler","keyCode","shiftKey","activeElement","preventDefault","trapFocus","modal","off","getControl","control","detached_control","id","closestCarousel","related_by_id","getElementById","scrollAnimate","distanceX","distanceY","new_height","old_height","Promise","resolve","reject","wrapper","nextSlideInstant","matchMedia","updateCarousel","observersOff","scroll_changing","startx","starty","starth","distanceH","duration","start","draw","now","n","val","cos","PI","timeStamp","forced","saved_x","saved_y","openingModal","offsetWidth","round","firstElementChild","active_index","old_active_slide","observersOn","active_index_logical","restoreDisplacedSlides","el2","append","first","prepend","lastElementChild","last","sliding","scroll_x","scroll_y","paddingBlockStart","paddingY","visibility","previously_active","nCarouselNav","inert","current","slide","nCarouselTimeout","old_scroll_left","old_scroll_top","computed_max_height","maxHeight","max_height","min","paddingInlineStart","paddingX","next","top","left","behavior","slideNext","new_offset","carouselKeys","slidePreviousEvent","slidePrevious","slideNextEvent","slideIndexEvent","href","ctrlKey","metaKey","new_index","old_index","openModal","frozen","closeModal","autoHeightObserver","ResizeObserver","entries","removeProperty","updateSubpixels","padding","getBoundingClientRect","offset","height_minus_index","unobserve","subpixel_observer","mutation_observer","attributes","attributeFilter","observerStarted","updateObserver","doUpdate","current_height","getPropertyValue","setIndexWidth","position","previous","close_modal","full_screen","content","onclick","xx","yy","fullScreenEvent","onwebkitfullscreenchange","onfullscreenchange","hashed_slide","auto_delay","interval","carouselTimeout","rect","bottom","innerHeight","documentElement","right","innerWidth","isElementInViewport","nCarouselUpdate","interSecObs","IntersectionObserver","entry","isIntersecting","timeout_function","offset_y","lastScrollX","lastScrollY","scroll_offset","then","threshold","root","loaded","img","complete","nCarouselInit","modal_carousel","doInit","readyState","animate_options","easing","accordionContent","openAccordion","onfinish","closeAccordion","callback","toggleAccordion","popin","updateRow","row","floor","other_accordion","getAttribute","scroll_timeout","blockScroll","animationDuration","removeModal","existingDetachedElement","existingModal","removeChild","attachedHiddenContent","replaceWith","lastChild","existingAttachedContent","anim","direction_option","JSON","parse","close","options","scrollbar_width","tagName","trigger","close_label","appendChild","close_button","closeSymbol","ariaLabel","closeLabel","marker","blur","shadow","rounded","full","showModal","transform","passive","modalWindowLink","link","openTheModal","transferClass","origin","fetch","split","response","text","str","tmp","parsed","implementation","createHTMLDocument","container","catch","error","hash_modal","clickOutsideSelect","select","closeSelect","closeSelectOnResizeScroll","open_select","updateOptionHeight","selectOption","nuiSelectWrapper","hasAttribute","select_native","nuiNativeInput","Event","dispatchEvent","nuiOnChange","font_properties","nSelectAnimation","tabIndex","pointerUpSelect","openSelect","previous_open_select","option_height","document_offset","borderInlineStartWidth","borderBlockStartWidth","active_option_offset","top_offset","current_max_height","available_top_space","cropped_space","scroll_help_top","paddingInlineEnd","nextMatchingSibling","sibling","clickSelect","pointerDownSelect","click","pointerEvents","timeout","trapKeyboard","includes","stopPropagation","selectKeyboard","previousElementSibling","previousMatchingSibling","nuiSearchTerm","toLowerCase","trim","startsWith","PointerEvent","n_select","input","initial_value","initial_option","relatedTarget","ontransitionend","onkeydown","cls","label","getToolTip","tool","hideTipFunction","tip","after","hideTip","hideTipOnScroll","showTip","area_top","area_right","area_bottom","area_left","body_rect","positionTop","nPosition","positionBottom","positionLeft","maxWidth","positionRight","rect_tip","offset_x","setTipPosition","notifyClose","notifyCloseEvent","option","closeDropNavClickedOutside","isDesktop","nav","navAnimating","dropNavBlur","this_nav","item","closestElement","target_parent","dropNavFocus","slice","call","grand_parent","closeDropNavClickedOutsideEnabled","getDuration","closeItem","openItem","clickEvent","old_item_open_child","old_item","checkSides","ul","menubar","outerHTML","insertBefore","initNav","updateParallax","parent","getCellValue","tr","idx","innerText","button","th","tbody","asc","from","sort","ascending","toggleAttribute","toggleSort","b","v1","v2","isNaN","toString","localeCompare","ro","line_height","lineHeight","adjust"],"mappings":"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","file":"niui.min.js","sourcesContent":["let nui = (() => {\n /* niui by rado.bg */\n /* DOM functions via http://youmightnotneedjquery.com */\n document.body.dataset.nuiJs = true;\n if (!!window[\"chrome\"]) {\n document.body.dataset.nuiChrome = true;\n }\n if (navigator.userAgent.match(/Safari/) && !navigator.userAgent.match(/Chrome/)) {\n document.body.dataset.nuiSafari = true;\n }\n if (navigator.platform.match(/Mac/) || navigator.platform.match(/iPhone/) || navigator.platform.match(/iPod/) || navigator.platform.match(/iPad/)) {\n document.body.dataset.nuiApple = true; // Apple devices: left-hand ⤫ button, disappearing thin scrollbars\n }\n var is_iPad = !!navigator.platform.match(/iPad/);\n // DOM functions – start\n function q(selector) {\n return document.querySelector(selector);\n }\n\n function qa(selector) {\n return document.querySelectorAll(selector);\n }\n\n function addClass(el, className) {\n el.classList.add(className);\n }\n\n function removeClass(el, className) {\n // To do: remove a single '.' for foolproof operation; Support multiple classes separated by space, dot, comma\n el.classList.remove(className);\n }\n\n function hasClass(el, className) {\n return el.classList.contains(className);\n // To do: remove a single '.' for foolproof operation; Support multiple classes separated by space, dot, comma\n }\n\n function toggleClass(el, className) {\n if (hasClass(el, className)) {\n removeClass(el, className);\n } else {\n addClass(el, className);\n }\n }\n\n function toggleAttribute(el, attribute) {\n if (el.getAttribute(attribute)) {\n el.removeAttribute(attribute);\n } else {\n el.setAttribute(attribute, true);\n }\n }\n // DOM functions – end\n function transferClass(el_origin, el_target, className) {\n let classes = typeof className === \"string\" ? new Array(className) : className;\n classes.forEach((el) => {\n if (hasClass(el_origin, el)) {\n addClass(el_target, el);\n }\n });\n }\n\n function parseHTML(str) {\n var tmp = document.implementation.createHTMLDocument(\"Parsed\");\n tmp.body.innerHTML = str;\n // To do: destroy the HTMLDocument before returning\n return tmp.body;\n }\n\n function stopEvent(e) {\n if (!e) {\n if (!window.event) {\n return;\n }\n }\n if (!e) {\n return false;\n }\n //e.cancelBubble is supported by IE, this will kill the bubbling process.\n e.cancelBubble = true;\n e.returnValue = false;\n //e.stopPropagation works only in Firefox.\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n if (e.preventDefault) {\n e.preventDefault();\n }\n return false;\n }\n\n function thisIndex(el) {\n return [...el.parentNode.children].indexOf(el);\n }\n\n function getCookie(k) {\n // Thanks Simon Steinberger\n var v = document.cookie.match(\"(^|;) ?\" + k + \"=([^;]*)(;|$)\");\n return v ? v[2] : null;\n }\n\n function wrap(toWrap, wrapper) {\n // Thanks yckart\n // \tobserverOff();\n wrapper = wrapper || document.createElement(\"div\");\n var sibling = toWrap.nextSibling;\n var parent = toWrap.parentNode;\n wrapper.appendChild(toWrap);\n if (parent) {\n // Already attached to DOM\n if (sibling) {\n // Attach the wrapper\n parent.insertBefore(wrapper, sibling);\n } else {\n parent.appendChild(wrapper);\n }\n }\n // observerOn();\n return wrapper;\n }\n\n function removeHash() {\n history.pushState(\"\", document.title, window.location.pathname + window.location.search);\n }\n /* ––– */\n function getURLParameters() {\n // return all URL parameters in an array\n var res = {};\n var re = /[?&]([^?&]+)=([^?&]+)/g;\n location.href.replace(re, (_, k, v) => {\n res[k] = v;\n });\n return res;\n }\n\n function arrow_keys_handler(e) {\n switch (e.keyCode) {\n case 37:\n case 39:\n case 38:\n case 40: // Arrow keys\n case 32:\n e.preventDefault();\n break; // Space\n default:\n break; // do not block other keys\n }\n }\n var external = RegExp(\"^((f|ht)tps?:)?//(?!\" + location.host + \")\");\n var full_window_content = null;\n var previousScrollOffset = 0;\n var previouslyFocused = false;\n /* Animate anchor links */\n function getCumulativeOffset(obj) {\n // Offset from element to top of page\n var left, top;\n left = top = 0;\n if (obj.offsetParent) {\n do {\n left += obj.offsetLeft;\n top += obj.offsetTop;\n obj = obj.offsetParent;\n } while (obj);\n }\n return {\n x: left,\n y: top,\n };\n }\n // function animateAnchors(e) {\n // if (!e || q(\"html\").clientHeight > document.body.clientHeight) {\n // return;\n // }\n // var el = e.target;\n // while (typeof el.href !== \"string\") {\n // // If a child of the link is clicked\n // el = el.parentNode;\n // }\n // if (el.href.split(/#|\\?/)[0] != window.location.href.split(/#|\\?/)[0]) {\n // // External page?\n // return;\n // }\n // var hash = null;\n // if (el.href.split(\"#\").pop().length > 0) {\n // hash = document.getElementById(el.href.split(\"#\").pop());\n // }\n // scrollToAnimated(hash === null ? 0 : getCumulativeOffset(hash).y, 0.5, (e) => {\n // // To do: fix jumping to new hash – is the fallback executed properly in animate()?\n // window.location = el.href.split(\"#\")[0] + \"#\" + el.href.split(\"#\").pop();\n // });\n // return false;\n // }\n function closestElement(el, target) {\n // Thanks http://gomakethings.com/ditching-jquery/ – Accepts either a selector string or an actual element\n for (; el && el !== document; el = el.parentNode) {\n if (el === target) {\n return el;\n }\n }\n return false;\n }\n // Add .n-target to the :target element now, because :target is available too late, after all page content is loaded\n let setHashClass = () => {\n if (q(\".n-target\")) {\n removeClass(q(\".n-target\"), \"n-target\");\n }\n if (!!location.hash && q(location.hash)) {\n addClass(q(location.hash), \"n-target\");\n }\n };\n setHashClass();\n window.addEventListener(\"hashchange\", setHashClass);\n /* Chainable animation specified as CSS Animation */\n var temp = document.createElement(\"temp\");\n var animations = {\n animation: \"animationend\",\n MozAnimation: \"animationend\",\n WebkitAnimation: \"webkitAnimationEnd\",\n };\n var animationEndEvent = false;\n for (var t in animations) {\n if (temp.style[t] !== \"undefined\") {\n animationEndEvent = animations[t];\n }\n }\n // Scroll the page to any position\n function scrollToAnimated(to, duration, callback) {\n var difference = document.body.clientHeight - window.innerHeight;\n if (to > difference) {\n to = difference;\n }\n\n function scrollToCallback(callback) {\n q(\"html\").scrollTop = document.body.scrollTop = to;\n if (typeof callback === \"function\") {\n callback();\n }\n }\n q(\"html\").animate(\n [{ transform: \"translate3d(0, 0, 0)\" }, { transform: `translate3d(0, ${-1 * (to - (document.documentElement.scrollTop || document.body.scrollTop))}px, 0)` }], duration).onfinish = () => {\n scrollToCallback(callback);\n };\n }\n // Scroll window to top, animated with easing\n // To do: suport any element and direction. Use it to slide sliders on browsers where CSS transforms are slower. Replace the above scrollToAnimated()\n let scrollToElement = (duration = 1000) => {\n let cosParameter = window.scrollY / 2;\n let scrollCount = 0;\n let oldTimestamp = performance.now();\n let step = (newTimestamp) => {\n scrollCount += Math.PI / (duration / (newTimestamp - oldTimestamp));\n if (scrollCount >= Math.PI) window.scrollTo(0, 0);\n if (window.scrollY === 0) return;\n window.scrollTo(0, Math.round(cosParameter + cosParameter * Math.cos(scrollCount)));\n oldTimestamp = newTimestamp;\n window.requestAnimationFrame(step);\n };\n window.requestAnimationFrame(step);\n };\n // Clicking a button copies a target element's contents\n function copyButton(el, target, echo) {\n el.addEventListener(\"click\", (event) => {\n window.getSelection().removeAllRanges(); // Clear previous clipboard\n var range = document.createRange();\n range.selectNode(target);\n window.getSelection().addRange(range);\n try {\n document.execCommand(\"copy\");\n if (!!echo && nui.notify) {\n nui.notify(\"📋 \" + target.textContent, \"fixed timeout\");\n }\n } catch (err) {}\n });\n }\n // Real time touch detection to support devices with both touch and mouse. http://www.javascriptkit.com/dhtmltutors/sticky-hover-issue-solutions.shtml\n // To do: use an attribute instead of class\n (function() {\n var isTouch = false; //var to indicate current input type (is touch versus no touch)\n var isTouchTimer;\n let addtouchclass = (e) => {\n clearTimeout(isTouchTimer);\n isTouch = true;\n addClass(q(\"html\"), \"can-touch\");\n isTouchTimer = setTimeout(() => {\n isTouch = false;\n }, 500); //maintain \"istouch\" state for 500ms so removetouchclass doesn't get fired immediately following a touch event\n };\n let removetouchclass = (e) => {\n if (!isTouch) {\n //remove 'can-touch' class if not triggered by a touch event and class is present\n isTouch = false;\n removeClass(q(\"html\"), \"can-touch\");\n }\n };\n document.addEventListener(\"mouseover\", removetouchclass, false); //this event gets called when input type is everything from touch to mouse/ trackpad\n document.addEventListener(\"touchstart\", addtouchclass, false); //this event only gets called when input type is touch\n addtouchclass();\n })();\n // function makeReady(el) {\n // el.dataset.ready = true;\n // }\n function focusWithin(selector) {\n var result = null;\n qa(selector).forEach((el) => {\n if (el.querySelector(\":focus\")) {\n result = el;\n }\n });\n return result;\n }\n\n function addComponent(host, el) {\n host.insertAdjacentHTML(\"afterbegin\", el);\n initComponents(host);\n }\n var current_slider = q(\".n-carousel__content\");\n var components = new Array();\n\n function registerComponent(name, init, componentFunction = false) {\n components[name] = new Array();\n components[name].push({ init: init });\n init(document);\n if (componentFunction) {\n nui[componentFunction.name] = componentFunction.code;\n }\n }\n\n function initComponents(host = document.body) {\n observerOff();\n for (let key in components) {\n components[key][0].init(host);\n }\n observerOn();\n }\n var observer = false;\n\n function observerOn() {\n if (observer) {\n observer.observe(document.body, { childList: true, subtree: true });\n }\n }\n\n function observerOff() {\n if (observer) {\n observer.disconnect();\n }\n }\n if (typeof MutationObserver === \"function\") {\n observer = new MutationObserver((mutations, observer) => {\n if (window.nui.dynamicInit) {\n observerOff();\n let mutation = mutations[0];\n if (mutation.type === \"childList\" && mutation.addedNodes.length > 0) {\n for (let el of mutation.addedNodes) {\n if (typeof el === \"object\" && el.nodeName !== \"#text\" && !el.dataset.ready && el.parentNode) {\n initComponents(el.parentNode);\n }\n }\n }\n observerOn();\n }\n });\n }\n // initThreshold(document.body);\n // Animate anchor link jumps\n // qa('a[href^=\"#\"]').forEach((el) => {\n // el.onclick = el.onclick || animateAnchors; // Don't add to previous onclick event handler\n // });\n initComponents();\n return { registerComponent, initComponents, copyButton, addComponent }\n})();\nnui.dynamicInit = true;// Component Form – start\n(function() {\n /* Form – start */\n function submitForm(e) {\n var el = e.target;\n var ready_to_submit = true;\n el.querySelectorAll(\".n-form--mandatory:not([disabled])\").forEach((el) => {\n if (\n (el.querySelector(\"input, select, textarea\") && !el.querySelector(\"input, select, textarea\").value) ||\n (el.querySelector(\"input[type=checkbox]\") && !el.querySelector(\"input[type=checkbox]\").checked) ||\n (el.querySelector(\"input[type=radio]\") && !el.querySelector(\"input[type=radio]\").checked) ||\n (el.querySelector(\"input[type=email]\") && !RegExp(/^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$/).test(el.querySelector(\"input[type=email]\").value)) ||\n (el.querySelector(\"input[type=url]\") && !RegExp(/^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?$/).test(el.querySelector(\"input[type=url]\").value)) ||\n (el.querySelector(\"input[type=number]\") && !RegExp(/^\\d+$/).test(el.querySelector(\"input[type=number]\").value)) ||\n (el.querySelector(\"input[type=number][data-digits]\") &&\n el.querySelector(\"input[type=number]\").value.length !== parseInt(el.querySelector(\"input[type=number]\").dataset.digits))\n ) {\n ready_to_submit = false;\n el.querySelector(\"input\").focus();\n el.classList.add(\"n-form--alert\");\n // Margin animation, because transform animation hides neighbouring content on iPad\n let form = el.closest(\"form\");\n form.animate([{ width: `${form.scrollWidth}px` }, { marginLeft: `-9px` }, { marginLeft: `18px` }, { width: `${form.scrollWidth}px`, marginLeft: 0 }], 250);\n return;\n } else {\n el.classList.remove(\"n-form--alert\");\n }\n });\n return ready_to_submit;\n }\n\n function updateFileInput(e) {\n var el = e.target;\n el.parentNode.querySelector(\"span.n-form__file-name\").innerHTML = el.value.substring(el.value.lastIndexOf(\"\\\\\") + 1);\n }\n\n function toggleConditionalFieldset(e) {\n var el = e.target;\n var fieldset = document.querySelector(`fieldset#${el.closest(\".n-form__condition\").dataset.for}`) || el.closest(\".n-form__condition\").nextElementSibling;\n var attribute = \"disabled\";\n if (el.checked) {\n fieldset.removeAttribute(attribute);\n } else {\n fieldset.setAttribute(attribute, \"disabled\");\n }\n }\n /* Form – end */\n let init = (host) => {\n host.querySelectorAll(\"form.n-form\").forEach((el, i) => {\n el.onsubmit = el.onsubmit || submitForm;\n el.querySelectorAll(\"input[type=file]\").forEach((el, i) => {\n el.onchange = updateFileInput;\n el.parentNode.querySelector(\"span\").insertAdjacentHTML(\"afterbegin\", \"\");\n });\n // \tConditional form fieldsets\n el.querySelectorAll(\".n-form__check.n-form__condition input\").forEach((el, i) => {\n el.onchange = toggleConditionalFieldset;\n });\n // Auto textarea height.\n el.querySelectorAll(\"textarea[data-auto]\").forEach((el) => {\n el.onkeyup = (e) => {\n el = e.target;\n while (el.rows > 1 && el.scrollHeight < el.offsetHeight) {\n el.rows--;\n }\n while (el.scrollHeight > el.offsetHeight) {\n if (el.rows > 20) {\n break;\n }\n el.rows++;\n }\n el.rows++;\n };\n });\n el.dataset.ready = true;\n });\n };\n nui.registerComponent(\"form\", init);\n})();\n// Component Form – end\n//# sourceMappingURL=form.js.map\n\n// Component Button – start\n(function() {\n\tlet init = (host) => {\n\t\tconst ripple = e => {\n\t\t\tlet el = e.target.closest('.n-btn--ripple');\n\t\t\tlet x = e.offsetX || el.clientWidth / 2;\n\t\t\tlet y = e.offsetY || el.clientHeight / 2;\n\t\t\tlet max_x = Math.max(x, el.clientWidth - x);\n\t\t\tlet max_y = Math.max(y, el.clientHeight - y);\n\t\t\tlet radius = Math.sqrt(max_x * max_x + max_y * max_y);\n\t\t\tel.style.transitionProperty = 'none';\n\t\t\tel.style.setProperty('--ripple-x', `${x}px`);\n\t\t\tel.style.setProperty('--ripple-y', `${y}px`);\n\t\t\tel.style.setProperty('--ripple-radius', `0px`);\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tel.style.transitionProperty = '';\n\t\t\t\tel.style.setProperty('--ripple-radius', `${radius}px`);\n\t\t\t});\n\t\t};\n\t\tdocument.querySelectorAll('.n-btn--ripple:not([data-ready])').forEach(el => {\n\t\t\tel.addEventListener('pointerdown', ripple);\n\t\t\tel.addEventListener('keydown', ripple);\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\tnui.registerComponent(\"button\", init);\n})();\n// Component Button – end\n//# sourceMappingURL=button.js.map\n\n// import './node_modules/n-modal/n-modal.js';\n(function() {\n const ceilingWidth = (el) => Math.ceil(parseFloat(getComputedStyle(el).width));\n const ceilingHeight = (el) => Math.ceil(parseFloat(getComputedStyle(el).height));\n const focusableElements = 'button, [href], input, select, textarea, details, summary, video, [tabindex]:not([tabindex=\"-1\"])';\n // const _focusableElementsString = 'a[href],area[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),details,summary,iframe,object,embed,[contenteditable]';\n function isElementInViewport(el) {\n let rect = el.getBoundingClientRect();\n return (rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.offsetHeight) /* or $(window).height() */ && rect.right <= (window.innerWidth || document.documentElement.offsetWidth) /* or $(window).width() */ );\n }\n const default_duration = 500;\n const default_interval = 4000;\n const isChrome = !!navigator.userAgent.match(\"Chrome\");\n const isSafari = navigator.userAgent.match(/Safari/) && !isChrome;\n const isEndless = el => el.children.length > 2 && el.parentElement.classList.contains(\"n-carousel--endless\");\n const isFullScreen = () => { return !!(document.webkitFullscreenElement || document.fullscreenElement) };\n const isModal = el => { return el.closest(\".n-carousel\").classList.contains('n-carousel--overlay') };\n const isVertical = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--vertical\");\n const isAuto = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--auto-height\");\n const indexControls = index => {\n let controls_by_class = index.querySelectorAll('.n-carousel__control');\n return (controls_by_class.length > 0) ? controls_by_class : index.querySelectorAll('a, button');\n };\n const nextSlideHeight = (el) => {\n el.style.height = 0;\n el.style.overflow = \"auto\";\n const height = el.scrollHeight; // Ceiling when subpixel\n el.style.height = el.style.overflow = \"\";\n return height;\n };\n // const scrollableAncestor = (el) => {\n // \tel = el.parentNode;\n // \twhile (el) {\n // \t\tif (el.scrollHeight > el.offsetHeight || el.scrollWidth > el.offsetWidth) {\n // \t\t\treturn el;\n // \t\t} else {\n // \t\t\tel = el.parentNode;\n // \t\t}\n // \t}\n // \treturn false;\n // };\n const getIndex = (el) => 1 * (isVertical(el) ? el.dataset.y : el.dataset.x);\n const getIndexReal = (el) => {\n let active_slide = el.querySelector(':scope > [aria-current]');\n if (active_slide) {\n return [...el.children].indexOf(active_slide);\n } else {\n let hash_slide_index = (!!location.hash) ? [...el.children].indexOf(el.querySelector(`:scope > ${location.hash}`)) : 0;\n return (hash_slide_index > -1) ? hash_slide_index : 0;\n }\n // return active_slide ? [...el.children].indexOf(active_slide) : (el.querySelector(`:scope > ${location.hash}`) || 0);\n };\n const scrolledAncestor = (el) => {\n el = el.parentNode;\n while (el) {\n if (el.scrollTop !== 0 || el.scrollLeft !== 0) {\n return el;\n } else {\n el = el.parentNode;\n }\n }\n return false;\n };\n const scrolledAncestors = (el) => {\n let arr = [];\n let a = scrolledAncestor(el);\n while (a && typeof a.scrollLeft !== \"undefined\" && (a.scrollTop !== 0 || a.scrollLeft !== 0)) {\n arr.push(a);\n a = scrolledAncestor(a);\n }\n return arr;\n };\n const isRTL = (el) => getComputedStyle(el).direction === \"rtl\";\n const toggleFullScreen = (el) => {\n el = el.closest(\".n-carousel\");\n let carousel = el.querySelector(\":scope > .n-carousel__content\");\n const restoreScroll = () => {\n if (!isFullScreen()) {\n el.nuiAncestors.forEach((el) => {\n window.requestAnimationFrame(() => {\n el.scrollLeft = el.nuiScrollX;\n el.scrollTop = el.nuiScrollY;\n delete el.nuiScrollX;\n delete el.nuiScrollY;\n });\n });\n delete el.nuiAncestors;\n el.removeEventListener(\"webkitfullscreenchange\", restoreScroll);\n }\n };\n carousel.togglingFullScreen = true;\n if (isFullScreen()) {\n // Exit full screen\n !!document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen();\n if (isSafari) {\n // When exit finishes, update the carousel because on Safari 14, position is wrong or the slide is invisible\n setTimeout(() => {\n el.style.display = \"none\";\n window.requestAnimationFrame(() => {\n el.style.display = \"\";\n });\n }, 0);\n }\n if (isVertical(el) && isAuto(el)) {\n let updateExitFullScreen = e => {\n setTimeout(() => {\n let carousel = el.querySelector(\":scope > .n-carousel__content\");\n // console.log(carousel);\n // el.style.removeProperty('--height');\n // carousel.style.height = '';\n slideTo(carousel, parseInt(carousel.dataset.y));\n }, 100);\n el.removeEventListener('fullscreenchange', updateExitFullScreen);\n };\n el.addEventListener('fullscreenchange', updateExitFullScreen);\n }\n } else {\n // Enter full screen\n if (isSafari) {\n el.nuiAncestors = scrolledAncestors(el);\n el.nuiAncestors.forEach((el) => {\n el.nuiScrollX = el.scrollLeft;\n el.nuiScrollY = el.scrollTop;\n });\n el.addEventListener(\"webkitfullscreenchange\", restoreScroll, false);\n }!!el.requestFullscreen ? el.requestFullscreen() : el.webkitRequestFullscreen();\n }\n };\n const scrollStartX = (el) => el.scrollLeft; // Get correct start scroll position for LTR and RTL\n const scrollTo = (el, x, y) => {\n el.scrollTo(isRTL(el) ? -1 * Math.abs(x) : x, y); // Scroll to correct scroll position for LTR and RTL\n };\n const getScroll = (el) => (el === window ? {\n x: el.scrollX,\n y: el.scrollY\n } : {\n x: scrollStartX(el),\n y: el.scrollTop\n });\n let firstFocusableElement = null;\n let focusableContent = null;\n let lastFocusableElement = null;\n const focusHandler = e => {\n let isTabPressed = e.key === \"Tab\" || e.keyCode === 9;\n if (!isTabPressed) {\n return;\n }\n if (e.shiftKey) {\n // if shift key pressed for shift + tab combination\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus(); // add focus for the last focusable element\n e.preventDefault();\n }\n } else {\n // if tab key is pressed\n if (document.activeElement === lastFocusableElement) {\n // if focused has reached to last focusable element then focus first focusable element after pressing tab\n firstFocusableElement.focus(); // add focus for the first focusable element\n e.preventDefault();\n }\n }\n };\n const trapFocus = (modal, off = false) => {\n // FROM: https://uxdesign.cc/how-to-trap-focus-inside-modal-to-make-it-ada-compliant-6a50f9a70700\n // add all the elements inside modal which you want to make focusable\n firstFocusableElement = modal.querySelectorAll(focusableElements)[0]; // get first element to be focused inside modal\n focusableContent = modal.querySelectorAll(focusableElements);\n lastFocusableElement = focusableContent[focusableContent.length - 1]; // get last element to be focused inside modal\n if (off) {\n modal.removeEventListener(\"keydown\", focusHandler);\n } else {\n modal.addEventListener(\"keydown\", focusHandler);\n firstFocusableElement.focus();\n }\n };\n const inOutSine = (n) => (1 - Math.cos(Math.PI * n)) / 2;\n const paddingX = (el) => parseInt(getComputedStyle(el).paddingInlineStart) * 2;\n const paddingY = (el) => parseInt(getComputedStyle(el).paddingBlockStart) * 2;\n const getControl = (carousel, control) => {\n let detached_control = document.querySelector(`${control}[data-for=\"${carousel.id}\"]`);\n if (detached_control) {\n return detached_control;\n }\n for (let el of carousel.children) {\n if (el.matches(control)) {\n return el;\n }\n if (!el.matches(\".n-carousel__content\") && el.querySelector(control)) {\n return el.querySelector(control);\n }\n }\n };\n const closestCarousel = (el) => {\n var related_by_id = el.closest('[class*=\"n-carousel\"]').dataset.for;\n if (!!related_by_id) {\n return document.getElementById(related_by_id).querySelector(\".n-carousel__content\");\n } else {\n return el.closest(\".n-carousel\").querySelector(\".n-carousel__content\");\n }\n };\n const scrollAnimate = (el, distanceX, distanceY, new_height, old_height = false) => new Promise((resolve, reject) => {\n // Thanks https://stackoverflow.com/posts/46604409/revisions\n let wrapper = el.closest(\".n-carousel\");\n if (!!wrapper.nextSlideInstant || !wrapper.dataset.ready || window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches || wrapper.matches(\".n-carousel--instant\")) {\n scrollTo(el, getScroll(el).x + distanceX, getScroll(el).y + distanceY);\n el.style.height = `${new_height}px`;\n delete wrapper.nextSlideInstant;\n updateCarousel(el);\n resolve(el);\n return;\n }\n observersOff(el);\n let scroll_changing = true;\n if (distanceX === 0 && distanceY === 0) {\n scroll_changing = false;\n }\n if (!!new_height) {\n el.style.height = `${old_height}px`;\n if (isVertical(el) && isAuto(el)) {\n el.style.setProperty('--subpixel-compensation', 0);\n }\n } else {\n if (!isVertical(el)) {\n el.style.height = \"\";\n }\n }\n var startx = getScroll(el).x;\n var starty = getScroll(el).y;\n var starth = parseInt(el.style.height);\n var distanceH = new_height - starth;\n var duration = parseFloat(el.parentNode.dataset.duration) * 1000 || default_duration;\n var start = null;\n let startAnim = (timeStamp) => {\n start = timeStamp;\n draw(timeStamp);\n };\n let draw = (now) => {\n if (now - start >= duration) {\n window.requestAnimationFrame(() => {\n scrollTo(el, startx + distanceX, starty + distanceY);\n if (new_height) {\n el.style.height = `${new_height}px`;\n }\n updateCarousel(el);\n });\n resolve(el);\n return;\n }\n var p = (now - start) / duration;\n var val = inOutSine(p);\n var x = startx + distanceX * val;\n var y = starty + distanceY * val;\n if (scroll_changing) {\n scrollTo(el, x, y);\n }\n if (new_height) {\n window.requestAnimationFrame(() => {\n el.style.height = `${starth + distanceH * val}px`;\n }); // Timeout because Safari can't do scroll and height at once\n }\n requestAnimationFrame(draw);\n };\n requestAnimationFrame(startAnim);\n });\n const updateCarousel = (el, forced = false) => { // Forced means never skip unnecessary update\n // Called on init and scroll end\n observersOff(el);\n let saved_x = el.dataset.x; // On displaced slides and no change\n let saved_y = el.dataset.y;\n if (!el.togglingFullScreen) {\n if (el.openingModal) {\n delete el.openingModal;\n scrollTo(el, el.offsetWidth * el.dataset.x, el.offsetHeight * el.dataset.y);\n } else {\n el.dataset.x = Math.abs(Math.round(scrollStartX(el) / ceilingWidth(el.firstElementChild)));\n el.dataset.y = Math.abs(Math.round(el.scrollTop / ceilingHeight(el.firstElementChild)));\n }\n } else {\n delete el.togglingFullScreen;\n }\n // When inline\n if (el.dataset.x === \"NaN\") {\n el.dataset.x = 0;\n }\n if (el.dataset.y === \"NaN\") {\n el.dataset.y = 0;\n }\n let active_index = getIndex(el);\n if (active_index >= el.children.length) {\n active_index = el.children.length - 1;\n }\n // console.log('update at', active_index, el.dataset.x, el.dataset.y);\n let old_active_slide = el.querySelector(\":scope > [aria-current]\");\n let wrapper = el.parentElement;\n if (!wrapper.classList.contains(\"n-carousel--auto-height\")) {\n // Dynamic change from auto height to normal\n el.style.height = \"\";\n }\n let active_slide = el.children[active_index];\n if (old_active_slide && !forced) {\n if (active_slide === old_active_slide) {\n // Scroll snapping back to the same slide. Nothing to do here.\n el.dataset.x = saved_x;\n el.dataset.y = saved_y;\n observersOn(el);\n return;\n }\n old_active_slide.removeAttribute('aria-current');\n old_active_slide.style.height = \"\";\n if (!isVertical(el)) {\n el.style.height = \"\";\n }\n }\n var active_index_logical = active_index;\n // active_slide.ariaCurrent = true; // Unsupported by FF\n active_slide.setAttribute('aria-current', true);\n active_index_logical = getIndexReal(el);\n el.dataset.x = el.dataset.y = active_index_logical;\n // Endless carousel\n const restoreDisplacedSlides = el => {\n el.querySelectorAll(\":scope > [data-first]\").forEach(el2 => {\n el.append(el.firstElementChild);\n delete el2.dataset.first;\n active_index--;\n });\n el.querySelectorAll(\":scope > [data-last]\").forEach(el2 => {\n el.prepend(el.lastElementChild);\n delete el2.dataset.last;\n active_index++;\n });\n };\n wrapper.dataset.sliding = true;\n if (isEndless(el)) {\n if (active_index === 0) {\n if (!active_slide.dataset.first) {\n // Move the last one to the front as [data-first]\n if (el.lastElementChild.dataset.last) {\n delete el.lastElementChild.dataset.last;\n active_index_logical = 1;\n } else {\n el.lastElementChild.dataset.first = true;\n }\n el.prepend(el.lastElementChild);\n active_index = 1;\n } else {\n // Landed on fake first slide. Move it to the back, remove its [data-first] and move the first one to the back as [data-last]\n delete el.firstElementChild.dataset.first;\n el.append(el.firstElementChild);\n el.firstElementChild.dataset.last = true;\n el.append(el.firstElementChild);\n active_index_logical = el.children.length - 1;\n active_index = el.children.length - 2;\n }\n } else {\n if (active_index === el.children.length - 1) {\n if (!active_slide.dataset.last) {\n // Move the first one to the back as [data-last]\n if (el.firstElementChild.dataset.first) {\n delete el.firstElementChild.dataset.first;\n active_index_logical = el.children.length - 2;\n } else {\n el.firstElementChild.dataset.last = true;\n }\n el.append(el.firstElementChild);\n active_index = el.children.length - 2;\n } else {\n // Landed on fake last slide. Move it to the front, remove its [data-last] and move the last one to the front as [data-first]\n delete el.lastElementChild.dataset.last;\n el.prepend(el.lastElementChild);\n el.lastElementChild.dataset.first = true;\n el.prepend(el.lastElementChild);\n active_index_logical = 0;\n active_index = 1;\n }\n } else {\n // Middle slide\n restoreDisplacedSlides(el);\n active_index_logical = Math.max(0, [...el.children].indexOf(el.querySelector(\":scope > [aria-current]\"))); // Fixes position when sliding to/from first slide; max because of FF returning -1\n }\n }\n window.requestAnimationFrame(() => {\n el.dataset.x = el.dataset.y = active_index_logical;\n let scroll_x = ceilingWidth(el.firstElementChild) * active_index;\n let scroll_y = ceilingHeight(el.firstElementChild) * active_index;\n // console.log('updateCarousel() scrolling at', scroll_x);\n el.scroll_x = scroll_x;\n el.scroll_y = scroll_y;\n scrollTo(el, scroll_x, scroll_y); // First element size, because when Peeking, it differs from carousel size\n delete el.scroll_x;\n delete el.scroll_y;\n });\n } else { // Check and restore dynamically disabled endless option\n restoreDisplacedSlides(el);\n active_index_logical = Math.max(0, [...el.children].indexOf(el.querySelector(\":scope > [aria-current]\"))); // Fixes position when sliding to/from first slide; max because of FF returning -1\n }\n active_slide.style.height = \"\";\n wrapper.style.setProperty(\"--height\", `${el.parentNode.classList.contains(\"n-carousel--auto-height\") ? nextSlideHeight(active_slide) : active_slide.scrollHeight}px`);\n window.requestAnimationFrame(() => {\n if (!el.parentNode.dataset.ready && isAuto(el) && isVertical(el)) {\n el.style.height = `${parseFloat(getComputedStyle(el).height) - paddingY(el)}px`;\n }\n });\n // Sliding to a slide with a hash? Update the URI\n if (getComputedStyle(el).visibility !== 'hidden') {\n let previously_active = document.activeElement;\n let hash = active_slide.id;\n if (!!el.parentNode.dataset.ready && !!hash && !el.parentNode.closest('.n-carousel__content')) { // Hash works only with top-level carousel\n location.hash = `#${hash}`;\n }\n if (!!el.parentNode.dataset.ready && !hash && !el.parentNode.closest('.n-carousel__content') && window.nCarouselNav) { // Hash works only with top-level carousel\n location.hash = '';\n }\n previously_active.focus();\n }\n // Fix buttons\n let index = getControl(el.closest(\".n-carousel\"), \".n-carousel__index\");\n if (!!index) {\n index.querySelector(\"[aria-current]\")?.removeAttribute('aria-current');\n // index.children[active_index_logical].ariaCurrent = true; // Unsupported by FF\n indexControls(index)[active_index_logical].setAttribute('aria-current', true);\n }\n // Disable focus on children of non-active slides\n // Active slides of nested carousels should also have disabled focus\n [...el.children].forEach(el => { // Native \"inert\" attribute to replace the below \"focusDisabled\" loops from June 2022. \n el.inert = (el === active_slide) ? false : true;\n if (isSafari && el.querySelector('.n-carousel:-webkit-full-screen')) {\n // Safari full screen bug: parent scroll resets to 0, first slide becomes active and the full screen child lightbox is inside an inert parent\n let current = el.parentNode.querySelector(':scope > [aria-current=\"true\"]');\n current.inert = true;\n current.removeAttribute('aria-current');\n el.inert = false;\n el.setAttribute('aria-current', true);\n }\n });\n // Obsoleted by inert – start\n // [...el.children].forEach((slide) => {\n // if (slide !== active_slide) {\n // slide.setAttribute('aria-hidden', true);\n // slide.querySelectorAll(focusableElements).forEach((el2) => {\n // if (el2.closest(\".n-carousel__content > :not([aria-current])\")) {\n // if (el2.getAttribute(\"tabindex\") && !el2.dataset.focusDisabled) {\n // el2.dataset.oldTabIndex = el2.tabIndex;\n // }\n // el2.dataset.focusDisabled = true;\n // el2.tabIndex = -1;\n // }\n // });\n // }\n // });\n // active_slide.removeAttribute('aria-hidden');\n // active_slide.querySelectorAll(\"[data-focus-disabled]\").forEach((el2) => {\n // if (!el2.closest(\".n-carousel__content > :not([aria-current])\")) {\n // el2.removeAttribute(\"tabindex\");\n // delete el2.dataset.focusDisabled;\n // if (!!el2.dataset.oldTabIndex) {\n // el2.tabIndex = el2.dataset.oldTabIndex;\n // delete el2.dataset.oldTabIndex;\n // }\n // }\n // });\n // Obsoleted by inert – end\n if (/--vertical.*--auto-height/.test(wrapper.classList)) { // Undo jump to wrong slide when sliding to the last one\n el.scrollTop = el.offsetHeight * active_index_logical;\n }\n window.requestAnimationFrame(() => {\n observersOn(el);\n });\n };\n const slide = (el, offsetX = 0, offsetY = 0, index) => {\n clearTimeout(el.nCarouselTimeout);\n observersOff(el);\n if (!el.parentNode.dataset.sliding) {\n el.parentNode.dataset.sliding = true;\n let old_height = el.children[getIndexReal(el)].offsetHeight;\n let new_height = old_height;\n if (isAuto(el)) {\n let old_scroll_left = scrollStartX(el);\n let old_scroll_top = el.scrollTop;\n let slide = el.children[index];\n if (isVertical(el)) {\n slide.style.height = 'auto';\n let computed_max_height = getComputedStyle(el).maxHeight;\n let max_height = computed_max_height.match(/px/) ? Math.ceil(parseFloat(computed_max_height)) : 99999;\n // new_height = Math.min(slide.scrollHeight, max_height);\n new_height = Math.min(Math.ceil(parseFloat(getComputedStyle(slide).height)), max_height);\n // new_height = slide.scrollHeight;\n slide.style.height = '';\n } else {\n new_height = nextSlideHeight(slide);\n let old_height = getIndexReal(el) === index ? new_height : nextSlideHeight(el.children[getIndexReal(el)]);\n el.parentNode.style.setProperty(\"--height\", `${old_height}px`);\n }\n scrollTo(el, old_scroll_left + paddingX(el) / 2, old_scroll_top); // iPad bug\n scrollTo(el, old_scroll_left, old_scroll_top);\n }\n if (isVertical(el)) {\n if ((isModal(el) || isFullScreen()) && isAuto(el)) {\n old_height = new_height = el.offsetHeight;\n }\n offsetY = offsetY - index * old_height + index * new_height;\n }\n // console.log(index, offsetX, offsetY);\n window.requestAnimationFrame(() => {\n if (!el.parentNode.dataset.duration && !isAuto(el)) { // Unspecified duration, using native smooth scroll\n delete el.parentNode.dataset.sliding;\n el.dataset.next = index;\n el.scrollTo({\n top: el.scrollTop + offsetY,\n left: el.scrollLeft + offsetX,\n behavior: window.matchMedia('(prefers-reduced-motion: reduce)').matches ? \"auto\" : \"smooth\"\n });\n } else {\n scrollAnimate(el, offsetX, offsetY, new_height === old_height ? false : new_height, old_height); // Vertical version will need ceiling value\n }\n });\n }\n };\n const slideNext = (el) => {\n let index = getIndexReal(el);\n slideTo(el, index >= el.children.length - 1 ? 0 : index + 1);\n };\n const slidePrevious = (el) => {\n let index = getIndexReal(el);\n slideTo(el, index === 0 ? el.children.length - 1 : index - 1);\n };\n const slideTo = (el, index) => {\n if (isVertical(el)) {\n slide(el, 0, ceilingHeight(el.children[index]) * index - el.scrollTop, index);\n } else {\n let width = Math.ceil(parseFloat(getComputedStyle(el.children[index]).width));\n let new_offset = isRTL(el) ? Math.abs(scrollStartX(el)) - width * index : width * index - scrollStartX(el);\n slide(el, new_offset, 0, index);\n }\n };\n const carouselKeys = (e) => {\n // console.log('keydown', e);\n return;\n };\n const slidePreviousEvent = (e) => slidePrevious(closestCarousel(e.target.closest('[class*=\"n-carousel\"]')));\n const slideNextEvent = (e) => slideNext(closestCarousel(e.target.closest('[class*=\"n-carousel\"]')));\n const slideIndexEvent = (e) => {\n let el = e.target.closest(\"a, button\");\n if (el && !(el.href && (e.ctrlKey || e.metaKey))) {\n const wrapper = document.querySelector(`.n-carousel#${el.parentNode.dataset.for}`) || el.closest(\".n-carousel\");\n const carousel = wrapper.querySelector(\":scope > .n-carousel__content\");\n let new_index = [...indexControls(el.parentNode)].indexOf(el);\n if (isEndless(carousel)) {\n var old_index = getIndex(carousel);\n if (old_index === 0) {\n if (new_index === carousel.children.length - 1) {\n new_index = 0;\n } else {\n new_index++;\n }\n }\n if (old_index === carousel.children.length - 1) {\n if (new_index === 0) {\n new_index = carousel.children.length - 1;\n } else {\n new_index--;\n }\n }\n }\n if (wrapper.classList.contains(\"n-carousel--inline\") && !isModal(carousel)) { // Opening an inline carousel\n wrapper.nextSlideInstant = true;\n // wrapper.classList.add(\"n-carousel--overlay\"); // Should trigger mutation and auto update?\n openModal(carousel);\n // Set new x, y\n window.requestAnimationFrame(() => {\n carousel.dataset.x = carousel.dataset.y = new_index;\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n document.body.dataset.frozen = document.body.scrollTop;\n updateCarousel(carousel);\n });\n } else {\n window.requestAnimationFrame(() => {\n slideTo(carousel, new_index);\n });\n }\n return false;\n }\n };\n const closeModal = (el) => {\n if (isFullScreen()) {\n !!document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen();\n }\n let carousel = closestCarousel(el);\n if (carousel) {\n carousel.closest(\".n-carousel\").classList.remove(\"n-carousel--overlay\");\n trapFocus(carousel.closest(\".n-carousel\"), true); // Disable focus trap\n delete document.body.dataset.frozen;\n }\n };\n const openModal = (el) => {\n let carousel = closestCarousel(el);\n if (carousel) {\n carousel.openingModal = true;\n carousel.closest(\".n-carousel\").classList.add(\"n-carousel--overlay\");\n trapFocus(carousel.closest(\".n-carousel\"));\n }\n };\n const autoHeightObserver = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let slide = e.target.querySelector(\":scope > [aria-current]\");\n let el = slide.closest(\".n-carousel__content\");\n if (!el.parentElement.dataset.sliding) {\n // console.log(e.target);\n el.parentNode.style.removeProperty('--height');\n if (isVertical(el)) {\n slide.style.height = 'auto';\n el.style.height = `${slide.scrollHeight}px`;\n slide.style.height = '';\n updateCarousel(el);\n } else {\n el.style.height = '';\n el.style.height = `${slide.scrollHeight}px`;\n updateCarousel(el, true);\n }\n }\n });\n });\n });\n const updateSubpixels = (el) => {\n if (!el.parentNode.dataset.sliding) {\n // Round down the padding, because sub pixel padding + scrolling is a problem\n let carousel = el;\n carousel.style.padding = ''; // Subpixel peeking fix\n carousel.style.removeProperty(\"--peek-int\");\n carousel.style.padding = isVertical(carousel) ? `${parseInt(getComputedStyle(carousel).paddingBlockStart)}px 0` : `0 ${parseInt(getComputedStyle(carousel).paddingInlineStart)}px`;\n if (carousel.style.padding === '0px') {\n carousel.style.padding = '';\n } else {\n // For Safari, which doesn't support inline end padding in a scrollable container\n carousel.style.setProperty(\"--peek-int\", isVertical(carousel) ? `${parseInt(getComputedStyle(carousel).paddingBlockStart)}px 0 0 0` : `0 ${parseInt(getComputedStyle(carousel).paddingInlineStart)}px 0 0`);\n }\n window.requestAnimationFrame(() => {\n if (isVertical(el)) {\n carousel.style.setProperty(\"--subpixel-compensation\", Math.ceil(carousel.getBoundingClientRect().height) - carousel.getBoundingClientRect().height);\n } else {\n carousel.style.setProperty(\"--subpixel-compensation\", Math.ceil(carousel.getBoundingClientRect().width) - carousel.getBoundingClientRect().width);\n }\n let offset = getIndexReal(carousel); // Real offset including displaced first/last slides\n scrollTo(carousel, offset * ceilingWidth(carousel.firstElementChild), offset * ceilingHeight(carousel.firstElementChild));\n });\n }\n };\n const observersOn = (el) => {\n window.requestAnimationFrame(() => {\n // setTimeout(() => {\n if (el.scroll_x && el.scroll_y) {\n scrollTo(el, el.scroll_x, el.scroll_y);\n }\n delete el.parentNode.dataset.sliding;\n // }, 0);\n if (el.parentNode.matches(\".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height\")) {\n height_minus_index.observe(el.parentNode);\n } else {\n height_minus_index.unobserve(el.parentNode);\n }\n subpixel_observer.observe(el);\n mutation_observer.observe(el.parentNode, {\n attributes: true,\n attributeFilter: [\"class\"],\n });\n });\n };\n const observersOff = (el) => {\n height_minus_index.unobserve(el.parentNode);\n subpixel_observer.unobserve(el);\n el.observerStarted = true;\n };\n const updateObserver = (el) => {\n observersOff(el);\n const doUpdate = el => {\n updateSubpixels(el);\n window.requestAnimationFrame(() => {\n let current_height = el.querySelector(\":scope > [aria-current]\").scrollHeight + \"px\";\n let previous_height = getComputedStyle(el).getPropertyValue(\"--height\");\n if (current_height !== previous_height) {\n el.parentNode.style.setProperty(\"--height\", current_height);\n }\n observersOn(el);\n });\n };\n doUpdate(el);\n el.querySelectorAll('.n-carousel__content').forEach(el => doUpdate(el));\n };\n const subpixel_observer = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let el = e.target;\n if (!!el.observerStarted) {\n el.observerStarted = false;\n return;\n }\n updateObserver(el);\n });\n });\n });\n const mutation_observer = new MutationObserver((mutations) => {\n for (let mutation of mutations) {\n if (mutation.target && !mutation.target.nextSlideInstant) {\n let carousel = mutation.target.querySelector(\":scope > .n-carousel__content\");\n updateObserver(carousel);\n updateCarousel(carousel, true);\n }\n }\n });\n const setIndexWidth = (el) => {\n let index = el.querySelector(\":scope > .n-carousel__index\");\n if (index && !el.dataset.sliding) {\n el.style.removeProperty(\"--height-minus-index\");\n index.style.position = \"absolute\";\n el.style.setProperty(\"--height-minus-index\", `${el.offsetHeight}px`);\n el.style.setProperty(\"--index-width\", getComputedStyle(el.querySelector(\":scope > .n-carousel__index\")).width);\n index.style.position = \"\";\n }\n };\n const height_minus_index = new ResizeObserver((entries) => {\n // Limit outside index height to carousel height\n window.requestAnimationFrame(() => {\n // Observing the carousel wrapper\n entries.forEach((e) => {\n let el = e.target;\n setIndexWidth(el);\n });\n });\n });\n const init = (host = document) => {\n host.querySelectorAll(\".n-carousel:not([data-ready])\").forEach((el) => {\n const previous = getControl(el, \".n-carousel__previous\");\n const next = getControl(el, \".n-carousel__next\");\n const index = getControl(el, \".n-carousel__index\");\n const close_modal = getControl(el, \".n-carousel__close\");\n const full_screen = getControl(el, \".n-carousel__full-screen\");\n const content = el.querySelector(\":scope > .n-carousel__content\");\n if (!content) {\n return;\n }\n if (!!previous) {\n previous.onclick = slidePreviousEvent;\n }\n if (!!next) {\n next.onclick = slideNextEvent;\n }\n if (!!index) {\n index.onclick = slideIndexEvent;\n }\n if (!!close_modal) {\n close_modal.onclick = e => {\n if (e.target.closest('.n-carousel').classList.contains('n-carousel--overlay')) {\n closeModal(e.target);\n } else {\n openModal(e.target);\n }\n };\n }\n if (!!full_screen) {\n full_screen.onclick = (e) => {\n let carousel = e.target.closest(\".n-carousel\").querySelector(\":scope > .n-carousel__content\");\n carousel.dataset.xx = carousel.dataset.x;\n carousel.dataset.yy = carousel.dataset.y;\n toggleFullScreen(e.target);\n };\n const fullScreenEvent = (e) => {\n let carousel = e.target.querySelector(\":scope > .n-carousel__content\");\n window.requestAnimationFrame(() => {\n updateCarousel(carousel);\n carousel.dataset.x = carousel.dataset.xx;\n carousel.dataset.y = carousel.dataset.yy;\n delete carousel.dataset.xx;\n delete carousel.dataset.yy;\n if (carousel.dataset.x !== \"undefined\" && carousel.dataset.y !== \"undefined\") {\n scrollTo(carousel, carousel.dataset.x * ceilingWidth(carousel.children[carousel.dataset.x]), carousel.dataset.y * ceilingHeight(carousel.children[carousel.dataset.y]));\n }\n });\n };\n if (isSafari) {\n el.onwebkitfullscreenchange = fullScreenEvent;\n } else {\n el.onfullscreenchange = fullScreenEvent;\n }\n }\n content.addEventListener(\"keydown\", carouselKeys);\n el.addEventListener(\"keyup\", (e) => {\n if (e.key === \"Escape\") {\n let el = e.target;\n if (!el.closest('.n-carousel--overlay')) {\n el = document.querySelector('.n-carousel--overlay');\n }\n if (el) {\n closeModal(el);\n }\n }\n });\n updateSubpixels(content);\n content.observerStarted = true;\n let hashed_slide = !!location.hash ? content.querySelector(\":scope > \" + location.hash) : false;\n if (hashed_slide) {\n if (el.classList.contains('n-carousel--inline')) {\n openModal(content);\n // el.classList.add('n-carousel--overlay');\n }\n let index = [...hashed_slide.parentNode.children].indexOf(hashed_slide);\n if (isVertical(content)) {\n content.dataset.y = index;\n } else {\n content.dataset.x = index;\n }\n // slideTo(content, index); // This slides to the wrong slide\n window.nCarouselNav = [content, location.hash];\n }\n if (el.matches(\".n-carousel--vertical.n-carousel--auto-height\")) {\n content.style.height = '';\n content.style.height = getComputedStyle(content).height;\n el.dataset.ready = true;\n content.scrollTop = 0; // Should be a different value if the initial active slide is other than the first one (unless updateCarousel() takes care of it)\n }\n if (el.matches(\".n-carousel--auto-height\")) {\n // Auto has a specified height which needs update on resize\n autoHeightObserver.observe(content);\n }\n window.requestAnimationFrame(() => {\n observersOn(content);\n if (el.parentNode.matches(\".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height\")) {\n setIndexWidth(el);\n }\n updateCarousel(content);\n el.dataset.ready = true;\n if (el.matches(\".n-carousel--auto-slide\")) {\n let auto_delay = (parseFloat(el.dataset.interval) * 1000 || default_interval) + (parseFloat(el.dataset.duration) * 1000 || default_duration);\n let carouselTimeout = () => {\n if (isElementInViewport(content)) {\n slideNext(content);\n }\n content.nCarouselTimeout = setTimeout(carouselTimeout, auto_delay);\n };\n content.nCarouselTimeout = setTimeout(carouselTimeout, parseFloat(el.dataset.interval) * 1000 || default_interval);\n content.addEventListener(\"pointerenter\", (e) => clearTimeout(e.target.nCarouselTimeout));\n }\n el.dataset.platform = navigator.platform; // iPhone doesn't support full screen, Windows scroll works differently\n });\n content.nCarouselUpdate = updateCarousel;\n const targets = content.querySelectorAll(':scope > *');\n const inView = target => {\n const interSecObs = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n let slide = entry.target;\n let carousel = slide.parentNode;\n if (entry.isIntersecting && !carousel.parentNode.dataset.sliding && getComputedStyle(carousel).visibility !== 'hidden') {\n if (carousel.dataset.next && parseInt(carousel.dataset.next) !== [...carousel.children].indexOf(slide)) {\n return;\n }\n delete carousel.dataset.next;\n observersOff(el);\n carousel.scrollLeft;\n carousel.scrollTop;\n let interval = 10; // Get rid of this magic number by timeout comparison with previous scroll offset\n let timeout_function = () => {\n // console.log(entry, entry.target, 'is intersecting at', entry.target.parentElement.scrollLeft, entry.target.parentElement.scrollTop);\n // if (Math.abs(x - carousel.scrollLeft) >= 1) {\n // console.log('intersection continue', x, carousel.scrollLeft, y, carousel.scrollLeft);\n // clearTimeout(timeout);\n // timeout = setTimeout(timeout_function, interval);\n // return;\n // }\n // console.log('intersection ', x, carousel.scrollLeft, y, carousel.scrollLeft);\n let index = [...carousel.children].indexOf(slide);\n if (isAuto(carousel)) {\n let old_height = parseFloat(getComputedStyle(carousel).height);\n let new_height;\n let offset_y = 0;\n let lastScrollX = carousel.scrollLeft;\n let lastScrollY = carousel.scrollTop;\n if (isVertical(carousel)) {\n let scroll_offset = carousel.scrollTop;\n slide.style.height = 'auto';\n let computed_max_height = getComputedStyle(el).maxHeight;\n let max_height = computed_max_height.match(/px/) ? Math.ceil(parseFloat(computed_max_height)) : 99999;\n // new_height = Math.min(slide.scrollHeight, max_height);\n new_height = Math.min(Math.ceil(parseFloat(getComputedStyle(slide).height)), max_height);\n // new_height = slide.scrollHeight;\n if (isModal(carousel) || isFullScreen()) {\n old_height = new_height = carousel.offsetHeight;\n }\n slide.style.height = '';\n carousel.scrollTop = scroll_offset;\n offset_y = index * new_height - carousel.scrollTop;\n } else {\n new_height = nextSlideHeight(slide); // ?\n // console.log(lastScrollX);\n if (!!lastScrollX) { // Because RTL auto height landing on first slide creates an infinite intersection observer loop\n scrollTo(carousel, lastScrollX, lastScrollY);\n }\n }\n if (old_height === new_height) {\n new_height = false;\n }\n carousel.parentNode.dataset.sliding = true;\n // interSecObs.unobserve(slide);\n window.requestAnimationFrame(() => {\n scrollAnimate(carousel, 0, offset_y, new_height, old_height).then(() => {});\n });\n } else {\n // console.log(carousel);\n window.requestAnimationFrame(() => {\n updateCarousel(carousel);\n });\n }\n // updateCarousel(entry.target.parentNode);\n };\n setTimeout(timeout_function, interval);\n }\n });\n }, { threshold: .996, root: target.parentElement }); // .99 works for all, including vertical auto height\n interSecObs.observe(target);\n // console.log('intersection observing ', target)\n };\n targets.forEach(inView);\n if (el.matches('.n-carousel--lightbox')) {\n let loaded = img => {\n img.closest('picture').dataset.loaded = true;\n };\n content.querySelectorAll(\"picture img\").forEach(el => {\n if (el.complete) {\n loaded(el);\n } else {\n el.addEventListener(\"load\", e => {\n loaded(e.target);\n });\n }\n });\n }\n });\n };\n window.nCarouselInit = init;\n window.addEventListener('popstate', e => { // Hash navigation support\n // console.log(e);\n if (!!location.hash) {\n let el = document.querySelector(location.hash);\n let carousel = el?.parentNode;\n if (!!carousel && carousel.classList.contains('n-carousel__content') && !carousel.parentNode.closest('.n-carousel__content')) {\n let modal_carousel = document.querySelector('.n-carousel--overlay > .n-carousel__content');\n if (modal_carousel && modal_carousel !== carousel) {\n closeModal(modal_carousel);\n // modal_carousel.parentNode.classList.remove('n-carousel--overlay');\n }\n if (carousel.parentNode.classList.contains('n-carousel--inline')) {\n closeModal(carousel);\n // carousel.parentNode.classList.add('n-carousel--overlay');\n }\n if (isSafari) { // Safari has already scrolled and needs to rewind it scroll position in order to animate it\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n }\n slideTo(carousel, [...carousel.children].indexOf(el));\n window.nCarouselNav = [carousel, location.hash];\n }\n } else {\n if (window.nCarouselNav) { // Previously navigated to a slide\n let carousel = window.nCarouselNav[0];\n delete window.nCarouselNav;\n if (isSafari) { // Safari has already scrolled and needs to rewind it scroll position in order to animate it\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n }\n slideTo(carousel, [...carousel.children].indexOf(carousel.querySelector(':scope > :not([id])')));\n }\n }\n });\n const doInit = () => {\n (typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-carousel\", init): init();\n };\n if (document.readyState !== \"loading\") {\n doInit();\n } else {\n document.addEventListener(\"DOMContentLoaded\", doInit);\n }\n})();\n//# sourceMappingURL=n-carousel@npm.js.map\n\n// Component Accordion\n(function() {\n\tconst animate_options = el => { return { easing: \"ease-in-out\", duration: window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? (el.dataset.duration * 1000 || getComputedStyle(el).getPropertyValue('--duration') * 1000 || 200) : 0 } };\n\tconst accordionContent = el => el.querySelector(\":scope > .n-accordion__content\");\n\tconst openAccordion = (el) => {\n\t\tel = accordionContent(el);\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tel.style.height = 0;\n\t\t\tel.style.overflow = \"hidden\";\n\t\t\tlet wrapper = el.parentNode;\n\t\t\twrapper.querySelector(\":scope > .n-accordion__label\").setAttribute(\"aria-expanded\", true);\n\t\t\tel.animate([{ height: 0 }, { height: `${el.scrollHeight}px` }], animate_options(wrapper)).onfinish = () => {\n\t\t\t\tel.style.height = el.style.overflow = \"\";\n\t\t\t};\n\t\t});\n\t};\n\tconst closeAccordion = (el, callback) => {\n\t\tel = accordionContent(el);\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tel.style.overflow = \"hidden\";\n\t\t\tlet wrapper = el.parentNode;\n\t\t\tel.animate([{ height: `${el.scrollHeight}px` }, { height: 0 }], animate_options(wrapper)).onfinish = () => {\n\t\t\t\tel.style.height = el.style.overflow = \"\";\n\t\t\t\twrapper.querySelector(\":scope > .n-accordion__label\").setAttribute(\"aria-expanded\", false);\n\t\t\t\ttypeof callback !== 'function' || callback();\n\t\t\t\tif (wrapper.classList.contains('n-accordion--close-nested')) {\n\t\t\t\t\tel.querySelectorAll(\".n-accordion__label[aria-expanded='true']\").forEach(el => el.setAttribute(\"aria-expanded\", false));\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t};\n\tconst toggleAccordion = (e) => {\n\t\tlet el = e.target.closest('.n-accordion'); // el = .n-accordion\n\t\tif (!el.querySelector(\":scope > [aria-expanded='true']\")) {\n\t\t\tlet popin = el.closest(\".n-accordion__popin\");\n\t\t\tconst updateRow = () => {\n\t\t\t\tif (popin) {\n\t\t\t\t\tlet row = Math.floor(([...popin.children].indexOf(el) / getComputedStyle(popin).getPropertyValue(\"--n-popin-columns\")) * 1) + 2;\n\t\t\t\t\tpopin.style.setProperty(\"--n-popin-open-row\", row);\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (el.parentNode.matches('[role=\"group\"]') || popin) {\n\t\t\t\tlet other_accordion = el.parentNode.querySelector(\":scope > .n-accordion > [aria-expanded='true']\");\n\t\t\t\tif (other_accordion) {\n\t\t\t\t\tcloseAccordion(other_accordion.parentNode, () => { // el = .n-accordion\n\t\t\t\t\t\tupdateRow();\n\t\t\t\t\t\topenAccordion(el);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tupdateRow();\n\t\t\t\t\topenAccordion(el);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\topenAccordion(el);\n\t\t\t}\n\t\t} else {\n\t\t\tcloseAccordion(el);\n\t\t}\n\t};\n\n\tfunction init(host = document) {\n\t\thost.querySelectorAll(\".n-accordion:not([data-ready]) > .n-accordion__label\").forEach((el) => {\n\t\t\tel.addEventListener(\"click\", toggleAccordion);\n\t\t\tel.parentElement.querySelector(\":scope > input\")?.remove(); // Remove CSS-only solution\n\t\t\tel.parentNode.dataset.ready = true;\n\t\t\tel.setAttribute('aria-expanded', el.getAttribute('aria-expanded') === 'true');\n\t\t});\n\t}\n\tconst doInit = () => {\n\t\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-accordion\", init) : init();\n\t};\n\tif (document.readyState !== \"loading\") {\n\t\tdoInit();\n\t} else {\n\t\tdocument.addEventListener(\"DOMContentLoaded\", doInit);\n\t}\n})();\n//# sourceMappingURL=n-accordion@npm.js.map\n\n/* Modal – start */\n(function() {\n var scroll_timeout;\n const blockScroll = e => {\n // console.log(e);\n // if (isSafari) {\n document.querySelectorAll('dialog.n-modal[open]').forEach(el => {\n el.classList.add('n-modal--transparent');\n });\n clearTimeout(scroll_timeout);\n scroll_timeout = setTimeout(() => {\n document.querySelectorAll('dialog.n-modal[open]').forEach(el => {\n el.classList.remove('n-modal--transparent');\n });\n }, 67);\n // } else {\n // window.scrollTo(x, y);\n // }\n };\n\n function disableScrolling() {\n // window.onscroll = function() { window.scrollTo(x, y); };\n window.addEventListener('scroll', blockScroll, { 'passive': 'true' });\n }\n\n function enableScrolling() {\n // window.onscroll = function() {};\n window.removeEventListener('scroll', blockScroll);\n }\n // var previouslyFocused = previouslyFocused || false;\n function transferClass(origin, target, className) {\n let classes = typeof className === \"string\" ? new Array(className) : className;\n classes.forEach(el => {\n if (origin.classList.contains(el)) {\n target.classList.add(el);\n }\n });\n }\n const animationDuration = () => window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? (getComputedStyle(document.querySelector('.n-modal')).getPropertyValue('--duration') * 1000) : 0;\n let removeModal = e => {\n document.documentElement.classList.remove('transparent-scrollbar');\n let modal = e.target;\n modal.removeEventListener('close', removeModal);\n if (modal.existingDetachedElement) {\n // console.log(modal);\n if (!modal.existingModal) {\n let content = modal.querySelector('.n-modal__content');\n content.removeChild(content.firstElementChild);\n }\n delete modal.existingDetachedElement;\n modal.remove();\n }\n if (modal.attachedHiddenContent) {\n modal.replaceWith(modal.lastChild);\n } else {\n if (modal.dataset.existingAttachedContent) {\n modal.replaceWith(modal.lastChild.firstElementChild);\n } else {\n if (modal.existingModal) {\n delete modal.existingModal;\n delete modal.dataset.anim;\n } else {\n modal.remove();\n }\n }\n }\n };\n\n function closeModal(modal) {\n let direction_option = \"normal\";\n var animation = modal.dataset.anim; // Custom animation?\n if (!animation || animation.length < 11) {\n // '', 'null' or 'undefined'?\n animation = '[{ \"transform\": \"translate3d(0,0,0)\" }, { \"transform\": \"translate3d(0,-100vh,0)\" }]';\n } else {\n direction_option = \"reverse\";\n }\n modal.classList.add('n-modal--closing');\n setTimeout(() => { modal.classList.remove('n-modal--closing'); }, animationDuration());\n modal.animate(JSON.parse(animation), { duration: animationDuration(), direction: direction_option, easing: \"ease-in-out\" }).onfinish = () => {\n enableScrolling();\n // nuiDisableBodyScroll(false, modal); // Turn off and restore page scroll\n if (modal.existingModal) {\n if (!modal.existingDetachedElement) {\n modal.removeEventListener('close', removeModal);\n }\n // delete modal.existingModal;\n delete modal.dataset.anim;\n }\n modal.close();\n // document.querySelector(\"html\").classList.remove(\"no-scroll\");\n // window.scrollTo(modal.previousScrollX, modal.previousScrollY);\n };\n }\n\n function openModal(options) {\n // options: {content: \"\"/element, animation: \"\", trigger: element, closeSymbol: \"\", closeLabel: \"\"}\n // content is either an HTML string or an element\n // options can be solely content if it's a string or element\n // Fix Chrome flashing disappearing scrollbars on open\n document.documentElement.style.overflow = 'scroll';\n const scrollbar_width = window.innerWidth - document.documentElement.offsetWidth;\n document.documentElement.style.overflow = '';\n if (!scrollbar_width) { // Because Chrome flashes disappearing scrollbars on open (Mac)\n document.documentElement.classList.add('transparent-scrollbar');\n }\n if (typeof options === 'string' || !!options.tagName) {\n options = { content: options };\n }\n let animation = options.animation;\n let content = options.content;\n let trigger = options.trigger;\n var wrapper = {};\n var existingDetachedElement = false;\n if (content.parentNode) {\n // console.log(content.parentNode);\n if (content.parentNode.tagName === 'DIALOG' || content.parentNode.classList.contains('n-modal__content')) {\n return;\n }\n } else {\n if (content.tagName) {\n existingDetachedElement = true;\n }\n }\n const close_label = 'Close';\n const close_symbol = '╳';\n if (typeof content === 'object' && content.tagName === 'DIALOG') {\n if (!content.parentNode) { // Detached modal\n document.body.appendChild(content);\n }\n wrapper = content;\n wrapper.existingModal = true;\n let close_button = wrapper.querySelector('.n-modal__close');\n if (close_button) {\n close_button.dataset.closeSymbol = close_button.dataset.closeSymbol || close_symbol;\n close_button.ariaLabel = close_button.ariaLabel || close_label;\n }\n } else {\n wrapper = document.createElement(\"dialog\");\n wrapper.insertAdjacentHTML(\"afterbegin\", `
`);\n document.createElement(\"div\");\n if (typeof content === \"string\") {\n wrapper.lastChild.innerHTML = content;\n document.body.appendChild(wrapper);\n } else {\n let parent = content.parentElement;\n if (parent) {\n let marker = document.createElement('div');\n content.replaceWith(marker);\n wrapper.lastChild.appendChild(content);\n marker.replaceWith(wrapper);\n if (content.classList.contains('n-modal__content')) {\n wrapper.lastChild.replaceWith(content);\n wrapper.attachedHiddenContent = true;\n } else {\n wrapper.dataset.existingAttachedContent = true;\n }\n } else {\n wrapper.lastChild.appendChild(content);\n document.body.appendChild(wrapper);\n }\n }\n }\n if (options.blur) {\n wrapper.classList.add('n-modal--blur');\n }\n if (options.shadow) {\n wrapper.classList.add('n-modal--shadow');\n }\n if (options.rounded) {\n wrapper.classList.add('n-modal--rounded');\n }\n if (options.full) {\n wrapper.classList.add('n-modal--full');\n }\n wrapper.dataset.anim = animation;\n wrapper.classList.add(\"n-modal\");\n wrapper.onclick = (e) => {\n let el = e.target.closest('.n-modal');\n let button = e.target.closest('.n-modal__close');\n if (button || (e.target.matches('.n-modal') && (e.offsetX < 0 || e.offsetY < 0 || (e.offsetX - 2) > el.getBoundingClientRect().width || (e.offsetY - 2) > el.getBoundingClientRect().height))) {\n closeModal(el);\n }\n };\n wrapper.addEventListener(\"cancel\", e => {\n e.preventDefault();\n closeModal(e.target.closest('.n-modal'));\n });\n if (existingDetachedElement) {\n wrapper.existingDetachedElement = true;\n }\n wrapper.showModal();\n // nuiDisableBodyScroll(true, wrapper); // Turn on and block page scroll\n // if (document.querySelectorAll(\".n-modal\").length === 1) {\n // // Sole (first) modal\n // wrapper.previousScrollX = window.scrollX;\n // wrapper.previousScrollY = window.scrollY;\n // }\n // document.querySelector(\"html\").classList.add(\"no-scroll\");\n wrapper.animate(typeof animation === \"string\" ? JSON.parse(animation) : [{ transform: \"translate3d(0,-100vh,0)\" }, { transform: \"translate3d(0,0,0)\" }], {\n duration: animationDuration(),\n easing: \"ease-in-out\",\n }).onfinish = () => {\n wrapper.addEventListener('close', removeModal);\n disableScrolling();\n };\n return wrapper;\n }\n\n function parseHTML(str) {\n var tmp = document.implementation.createHTMLDocument(\"Parsed\");\n tmp.body.innerHTML = str;\n // To do: destroy the HTMLDocument before returning\n return tmp.body;\n }\n\n function modalWindowLink(e) {\n // Modal window of external file content\n var el = e.target;\n let trigger = el.closest(\".n-modal-link\");\n var link = trigger.dataset.href || trigger.href; // data-href for `;\n\t\t\t\t});\n\t\t\t\tel = document.createElement(\"span\");\n\t\t\t\tel.insertAdjacentHTML(\"beforeend\", options);\n\t\t\t\twrapper.prepend(el);\n\t\t\t}\n\t\t\tel.nuiSelectWrapper = wrapper;\n\t\t\tel.classList.add(\"n-select__options\");\n\t\t\tel.nuiNativeInput = el.nuiSelectWrapper.querySelector(\"select, input\") || nextMatchingSibling(el.nuiSelectWrapper, \"select\") || document.querySelector(`[data-n_select=\"${el.nuiSelectWrapper.dataset.n_select}\"]`); // As a sibling, child or data-n_select match (where data-n_select is the rich select's data-n_select attribute)\n\t\t\tif (!el.nuiNativeInput) {\n\t\t\t\t// Missing native select, so generate it\n\t\t\t\tlet input = document.createElement(\"select\");\n\t\t\t\tinput.name = input.id = el.dataset.name;\n\t\t\t\twrapper.append(input);\n\t\t\t\tel.nuiNativeInput = input;\n\t\t\t}\n\t\t\tlet initial_value = el.nuiNativeInput.value;\n\t\t\tlet initial_option = el.querySelector(`button[value=\"${initial_value}\"`);\n\t\t\tel.nuiNativeInput.innerHTML = \"\";\n\t\t\twrapper.addEventListener(\"pointerdown\", pointerDownSelect);\n\t\t\tel.addEventListener(\"click\", clickSelect); // Selects a clicked (pointer upped) option\n\t\t\tel.addEventListener(\"focusout\", (e) => {\n\t\t\t\tlet select = e.target.closest(\".n-select__options\");\n\t\t\t\t// If relatedTarget isn't a sibling, close and focus on select wrapper\n\t\t\t\tif (select.hasAttribute(\"aria-expanded\") && !!e.relatedTarget && e.relatedTarget.parentNode !== select) {\n\t\t\t\t\tcloseSelect(select);\n\t\t\t\t\tselect.nuiSelectWrapper.focus();\n\t\t\t\t}\n\t\t\t});\n\t\t\tel.ontransitionend = (e) => {\n\t\t\t\tlet el = e.target;\n\t\t\t\tel.style.removeProperty(\"--mask-position-y\");\n\t\t\t\tel.style.removeProperty(\"--mask-size-y\");\n\t\t\t\tdelete el.dataset.nSelectAnimation;\n\t\t\t\tel.addEventListener(\"pointerup\", pointerUpSelect);\n\t\t\t\t// el.dataset.transitionend = true;\n\t\t\t};\n\t\t\tel.addEventListener(\"keydown\", selectKeyboard);\n\t\t\twrapper.addEventListener(\"keydown\", selectKeyboard);\n\t\t\tel.addEventListener(\"keyup\", trapKeyboard);\n\t\t\twrapper.addEventListener(\"keyup\", trapKeyboard);\n\t\t\tel.lastElementChild.onkeydown = (e) => {\n\t\t\t\t// Close select on tab outside. To do: get last button only\n\t\t\t\tif (e.key === \"Tab\" && !e.shiftKey && e.target.parentNode.hasAttribute(\"aria-expanded\")) {\n\t\t\t\t\tcloseSelect(e.target.parentNode);\n\t\t\t\t\te.target.parentNode.nuiSelectWrapper.focus();\n\t\t\t\t}\n\t\t\t};\n\t\t\tel.querySelectorAll(\"button\").forEach((el) => {\n\t\t\t\tel.type = \"button\"; // Unlike the default 'submit'\n\t\t\t\tel.value = el.value || el.textContent.trim();\n\t\t\t});\n\t\t\twrapper.setAttribute(\"tabindex\", 0);\n\t\t\t(el.querySelector(\"[aria-selected]\") || el.firstElementChild).tabIndex = -1;\n\t\t\twrapper.style.setProperty(\"--inline-width\", `${el.getBoundingClientRect().width}px`);\n\t\t\tselectOption(el.querySelector(\"[aria-selected]\") || initial_option || el.querySelector(\"button\")); // Select the first option by default\n\t\t\tel.nuiSearchTerm = \"\";\n\t\t\t[\"n-select--rounded\", \"n-select--shadow\"].forEach((cls) => {\n\t\t\t\tif (wrapper.classList.contains(cls)) {\n\t\t\t\t\tel.classList.add(cls);\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet label = el.closest(\"label\") || document.querySelector(`label[for=\"${el.nuiNativeInput.id}\"]`);\n\t\t\tif (label) {\n\t\t\t\tlabel.onclick = (e) => {\n\t\t\t\t\tlet el = e.target;\n\t\t\t\t\tif (!el.closest(\".n-select\")) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tel = el.closest(\"label\");\n\t\t\t\t\t\tlet select = el.querySelector(\".n-select\") || document.getElementById(el.getAttribute(\"for\")).closest(\".n-select\");\n\t\t\t\t\t\tselect.focus();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t\twrapper.dataset.ready = true;\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t// wrapper.style.setProperty(\"--active-option-height\", `${el.querySelector(\"[aria-selected]\").getBoundingClientRect().height}px`);\n\t\t\t\tupdateOptionHeight(wrapper, el);\n\t\t\t\t[\"--nui-control-color\", \"--nui-control-bg\", \"--nui-control-active-color\", \"--nui-control-active-bg\", \"--nui-control-highlight\"].forEach((i) => {\n\t\t\t\t\tel.style.setProperty(i, wrapper.style.getPropertyValue(i));\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t};\n\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-select\", init) : init(document.body);\n})();\n//# sourceMappingURL=n-select@npm.js.map\n\n// Component Tooltip – start\n(function() {\n\tlet setTipPosition = (tool, tip) => {\n\t\t// Take up the most area available on top/right/bottom/left of the tool. Relative to body.\n\t\tlet rect = tool.getBoundingClientRect();\n\t\tlet top = rect.top;\n\t\tlet left = rect.left;\n\t\tlet right = window.innerWidth - left - rect.width;\n\t\tlet bottom = window.innerHeight - top - rect.height; // To do: check when body is shorter than viewport\n\t\tlet area_top = top * window.innerWidth;\n\t\tlet area_right = right * window.innerHeight;\n\t\tlet area_bottom = bottom * window.innerWidth;\n\t\tlet area_left = left * window.innerHeight;\n\t\tlet body_rect = document.body.getBoundingClientRect();\n\t\ttip.removeAttribute(\"style\");\n\t\tdelete tip.dataset.position;\n\t\ttip.classList.add('n-tooltip__content-visible');\n\t\tlet positionTop = () => {\n\t\t\ttip.style.bottom = 20 + body_rect.height + body_rect.y - top + \"px\";\n\t\t\ttip.style.maxHeight = top - 40 + \"px\";\n\t\t\ttip.style.left = `${rect.x + rect.width / 2 - tip.scrollWidth / 2}px`;\n\t\t\ttip.dataset.nPosition = \"top\";\n\t\t};\n\t\tlet positionBottom = () => {\n\t\t\ttip.style.top = 20 - body_rect.y + top + rect.height + \"px\";\n\t\t\ttip.style.maxHeight = bottom - 40 + \"px\";\n\t\t\ttip.style.left = `${rect.x + rect.width / 2 - tip.scrollWidth / 2}px`;\n\t\t\ttip.dataset.nPosition = \"bottom\";\n\t\t};\n\t\tlet positionLeft = () => {\n\t\t\ttip.style.left = \"auto\";\n\t\t\ttip.style.right = 20 + body_rect.width + body_rect.x - window.innerWidth + right + rect.width + \"px\";\n\t\t\ttip.style.maxWidth = left - 40 + \"px\";\n\t\t\ttip.style.top = `${-1 * body_rect.y + rect.top + rect.height / 2 - tip.scrollHeight / 2}px`;\n\t\t\ttip.dataset.nPosition = \"left\";\n\t\t};\n\t\tlet positionRight = () => {\n\t\t\ttip.style.left = rect.x - body_rect.x + rect.width + 20 + \"px\";\n\t\t\ttip.style.maxWidth = right - 40 + \"px\";\n\t\t\ttip.style.top = `${-1 * body_rect.y + rect.top + rect.height / 2 - tip.scrollHeight / 2}px`;\n\t\t\ttip.dataset.nPosition = \"right\";\n\t\t};\n\t\tif (area_left > area_right) {\n\t\t\tif (area_top > area_bottom) {\n\t\t\t\tif (area_top > area_left) {\n\t\t\t\t\t// Top\n\t\t\t\t\tpositionTop();\n\t\t\t\t} else {\n\t\t\t\t\t// Left\n\t\t\t\t\tpositionLeft();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (area_bottom > area_left) {\n\t\t\t\t\t// Bottom\n\t\t\t\t\tpositionBottom();\n\t\t\t\t} else {\n\t\t\t\t\t// Left\n\t\t\t\t\tpositionLeft();\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (area_top > area_bottom) {\n\t\t\t\tif (area_top > area_right) {\n\t\t\t\t\t// Top\n\t\t\t\t\tpositionTop();\n\t\t\t\t} else {\n\t\t\t\t\t// Right\n\t\t\t\t\tpositionRight();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (area_bottom > area_right) {\n\t\t\t\t\t// Bottom\n\t\t\t\t\tpositionBottom();\n\t\t\t\t} else {\n\t\t\t\t\t// Right\n\t\t\t\t\tpositionRight();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tlet rect_tip = tip.getBoundingClientRect();\n\t\tlet offset_y = 0;\n\t\tif (rect_tip.y < 0) {\n\t\t\toffset_y = Math.abs(rect_tip.y) + 10;\n\t\t} else {\n\t\t\tif (rect_tip.bottom > window.innerHeight) {\n\t\t\t\toffset_y = window.innerHeight - rect_tip.bottom - 10;\n\t\t\t}\n\t\t}\n\t\ttip.style.setProperty(\"--offset_y\", offset_y + \"px\");\n\t\tlet offset_x = 0;\n\t\tif (rect_tip.x < 0) {\n\t\t\toffset_x = Math.abs(rect_tip.x) + 10;\n\t\t} else {\n\t\t\tif (rect_tip.right > window.innerWidth) {\n\t\t\t\toffset_x = window.innerWidth - rect_tip.right - 10;\n\t\t\t}\n\t\t}\n\t\ttip.style.setProperty(\"--offset_x\", offset_x + \"px\");\n\t};\n\n\tfunction getToolTip(tool) {\n\t\treturn document.getElementById(tool.getAttribute('aria-describedby')) || tool.nextElementSibling;\n\t}\n\tconst hideTipFunction = tool => {\n\t\tlet tip = getToolTip(tool);\n\t\ttool.removeAttribute(\"aria-expanded\");\n\t\ttool.after(tip);\n\t\ttip.removeAttribute(\"style\");\n\t\tdelete tip.dataset.position;\n\t\ttip.classList.remove('n-tooltip__content-visible');\n\t};\n\tlet hideTip = (e) => {\n\t\thideTipFunction(e.target.closest(\".n-tooltip\"));\n\t};\n\tconst hideTipOnScroll = e => {\n\t\tdocument.querySelectorAll('.n-tooltip').forEach(el => hideTipFunction(el));\n\t\tdocument.removeEventListener('scroll', hideTipOnScroll);\n\t};\n\tlet showTip = (e) => {\n\t\tlet tool = e.target.closest(\".n-tooltip\");\n\t\tlet tip = getToolTip(tool);\n\t\ttool.setAttribute(\"aria-expanded\", true);\n\t\tdocument.body.appendChild(tip);\n\t\tsetTipPosition(tool, tip);\n\t\tdocument.addEventListener('scroll', hideTipOnScroll, true);\n\t};\n\tconst init = (host = document) => {\n\t\t/* Tooltip */\n\t\thost.querySelectorAll(\".n-tooltip\")?.length;\n\t\thost.querySelectorAll(\".n-tooltip:not([data-ready])\").forEach((el) => {\n\t\t\tel.setAttribute(\"tabindex\", 0);\n\t\t\tel.addEventListener('touchend', showTip);\n\t\t\tel.addEventListener('mouseover', showTip);\n\t\t\tel.addEventListener('focus', showTip);\n\t\t\tel.addEventListener('mouseout', hideTip);\n\t\t\tel.addEventListener('blur', hideTip);\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-tooltip\", init): init();\n})();\n// Component Tooltip – end\n//# sourceMappingURL=n-tooltip@npm.js.map\n\n// Component Notification bar – start\n(function() {\n\tfunction notifyClose(el) {\n\t\tif (!!el) {\n\t\t\tel.parentNode.removeChild(el);\n\t\t}\n\t}\n\n\tfunction notifyCloseEvent() {\n\t\tif (document.querySelector(\".n-notify\")) {\n\t\t\tdocument.querySelector(\".n-notify\").onclick = (e) => {\n\t\t\t\tnotifyClose(e.target);\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction notify(content, option) {\n\t\tdocument.body.insertAdjacentHTML(\"afterbegin\", ``);\n\t\tdocument.querySelector(\".n-notify\").focus();\n\t\tnotifyCloseEvent();\n\t\tif (option && option.indexOf(\"timeout\") !== -1) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tnotifyClose(document.querySelector(\".n-notify\"));\n\t\t\t}, 2000);\n\t\t}\n\t}\n\tlet init = (host) => {\n\t\t/* Tooltip */\n\t\thost.querySelectorAll(\".n-notify:not([data-ready])\").forEach((el, i) => {\n\t\t\tnotifyCloseEvent();\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\tnui.registerComponent(\"notify\", init, {\n\t\t'name': 'notify',\n\t\t'code': notify\n\t});\n})();\n// Component Notification bar – end\n//# sourceMappingURL=notify.js.map\n\n// Component Nav – start\n(function() {\n /* Nav – start */\n function closeDropNavClickedOutside(e) {\n // Close the nav when clicking outside\n if (!e.target.closest(\".n-nav li\")) {\n document.querySelectorAll(\".n-nav li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n if (document.querySelector(\".n-nav :focus\")) {\n document.querySelector(\".n-nav :focus\").blur();\n }\n }\n }\n\n function isDesktop(nav) {\n // Checks the UL sub nav element\n return !!getComputedStyle(nav).getPropertyValue(\"--desktop\");\n }\n let navAnimating = false;\n\n function dropNavBlur(e) {\n var this_nav = e.target.closest(\".n-nav\");\n if (navAnimating || !e.relatedTarget) {\n return;\n }\n e.stopPropagation();\n let el = e.target;\n let item = el.tagName === \"LI\" ? el.querySelector(\"ul\") : el.parentElement.querySelector(\"ul\");\n if (!this_nav.contains(e.relatedTarget) || (isDesktop(this_nav) && !!e.relatedTarget && !closestElement(e.relatedTarget, this_nav))) {\n // if e.relatedTarget is not a child of this_nav, then the next focused item is elsewhere\n this_nav.querySelectorAll(\"li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n return;\n }\n if (item) {\n if (item.parentNode.parentNode.querySelector(\"ul [aria-expanded]\")) {\n // To do: Unless it's the first/last item and user has back/forward tabbed away from it?\n return;\n }\n item.parentElement.removeAttribute(\"aria-expanded\");\n }\n // Close neighboring parent nav's sub navs.\n el = e.target;\n var target_parent = el.closest(\"[aria-haspopup]\");\n if (target_parent) {\n // Skip if it's a top-level-only item\n target_parent.querySelectorAll(\"li[aria-expanded]\").forEach((el) => {\n // Disable active grandchildren\n el.removeAttribute(\"aria-expanded\");\n });\n }\n el = e.target.parentNode;\n if (!el.nextElementSibling && // last item\n el.parentNode.parentNode.nodeName === \"LI\" && // of third-level nav\n !el.parentNode.parentNode.nextElementSibling) {\n el.parentNode.parentNode.removeAttribute(\"aria-expanded\");\n }\n }\n\n function dropNavFocus(e) {\n // Close focused third level child when focus moves to another top-level item\n e.stopPropagation();\n var el = e.target.closest(\".n-nav > ul > li\");\n // To do: on LI focus, make it aria-expanded and focus its a\n if (navAnimating) {\n return;\n }\n [\n [].slice.call(el.parentElement.children),\n [].slice.call(e.target.parentElement.parentElement.children),\n [].slice.call(e.target.parentElement.parentElement.parentElement.parentElement.children),\n ].forEach((el) => {\n el.forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n });\n el.setAttribute(\"aria-expanded\", true);\n // \t\topenItem(el.querySelector('ul'));\n if (el.parentNode.parentNode.getAttribute(\"aria-haspopup\")) {\n el.parentNode.parentNode.setAttribute(\"aria-expanded\", true);\n }\n el.querySelectorAll(\"li[aria-expanded]\").forEach((el) => {\n // Hide grandchildren\n el.removeAttribute(\"aria-expanded\");\n });\n // Make current focused item's ancestors visible\n el = e.target;\n el.parentNode.setAttribute(\"aria-expanded\", true);\n var grand_parent = el.parentElement.parentElement.parentElement;\n if (grand_parent.tagName === \"LI\") {\n grand_parent.setAttribute(\"aria-expanded\", true);\n }\n }\n var closeDropNavClickedOutsideEnabled = false;\n \n const getDuration = () => window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? 200 : 0;\n \n let closeItem = (item) => {\n navAnimating = true;\n item.style.overflow = \"hidden\";\n item.parentElement.setAttribute(\"aria-expanded\", true);\n item.animate([{ height: `${item.scrollHeight}px` }, { height: 0 }], getDuration()).onfinish = () => {\n item.removeAttribute(\"style\");\n item.parentElement.removeAttribute(\"aria-expanded\");\n navAnimating = false;\n item.querySelectorAll(\"[aria-expanded]\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n };\n };\n let openItem = (item) => {\n navAnimating = true;\n item.style.overflow = \"hidden\";\n item.parentElement.setAttribute(\"aria-expanded\", true);\n item.animate([{ height: 0 }, { height: `${item.scrollHeight}px` }], getDuration()).onfinish = () => {\n item.removeAttribute(\"style\");\n navAnimating = false;\n };\n };\n let clickEvent = (e) => {\n e.stopPropagation();\n // To do: also ancestors, also close when open\n let el = e.target;\n var this_nav = el.closest(\".n-nav\");\n this_nav.removeEventListener(\"focusout\", dropNavBlur);\n if (this_nav.contains(document.activeElement)) {\n document.activeElement.blur();\n }\n let item = el.tagName === \"LI\" ? el.querySelector(\"ul\") : el.parentElement.querySelector(\"ul\");\n if (isDesktop(this_nav)) {\n if (el.getAttribute(\"aria-expanded\")) {\n if (el.querySelector(\"a:focus\")) ; else {\n if (isDesktop(this_nav)) {\n el.removeAttribute(\"aria-expanded\");\n } else {\n closeItem(item);\n }\n }\n } else {\n [].slice.call(el.parentElement.children).forEach((item) => {\n item.removeAttribute(\"aria-expanded\");\n let old_item_open_child = item.querySelector(\"[aria-expanded]\");\n if (old_item_open_child) {\n old_item_open_child.removeAttribute(\"aria-expanded\");\n }\n });\n el.setAttribute(\"aria-expanded\", true);\n if (!isDesktop(this_nav)) {\n openItem(item);\n }\n }\n } else {\n if (item.parentNode.hasAttribute(\"aria-expanded\")) {\n closeItem(item);\n } else {\n // If new item is top level, close another top level item, if any is open\n if (item.parentElement.parentElement.matches(\"ul\")) {\n // It's top level, To do: also on secondary level, close open sibling\n let old_item = item.parentElement.closest(\"ul\").querySelector('[aria-expanded=\"true\"] > ul');\n if (old_item) {\n closeItem(old_item);\n }\n }\n openItem(item);\n }\n }\n this_nav.addEventListener(\"focusout\", dropNavBlur);\n };\n\n function checkSides(ul, menubar) {\n if (getComputedStyle(ul).direction !== 'rtl') {\n ul.classList.remove(\"n-right-overflow\");\n ul.style.removeProperty(\"--n-right-overflow\");\n //\t\tvar rect = ul.getBoundingClientRect(); // Firefox doesn't preserve this var\n if (ul.getBoundingClientRect().left > document.body.offsetWidth - (ul.getBoundingClientRect().left + ul.getBoundingClientRect().width)) {\n if (ul.getBoundingClientRect().right > window.innerWidth) {\n ul.style.setProperty(\"--n-right-overflow\", window.innerWidth - ul.getBoundingClientRect().right + \"px\");\n ul.classList.add(\"n-right-overflow\");\n }\n ul.classList.add(\"n-left-side\");\n } else {\n ul.classList.remove(\"n-left-side\");\n }\n }\n }\n\n function initNav(el) {\n // Delete all trigger inputs, add tabindex=0 to each li\n el.querySelectorAll(\"input\").forEach((el) => {\n el.outerHTML = \"\";\n });\n el.querySelectorAll(\"li > a\").forEach((el) => {\n el.setAttribute(\"tabindex\", 0);\n });\n if (!el.closest(\".n-nav.n-nav--drop\")) {\n // The rest is for drop nav only\n return;\n }\n if (!closeDropNavClickedOutsideEnabled) {\n window.addEventListener(\"touchend\", closeDropNavClickedOutside);\n window.addEventListener(\"mouseup\", closeDropNavClickedOutside);\n closeDropNavClickedOutsideEnabled = true;\n }\n el.addEventListener(\"keyup\", (e) => {\n // Check for sibling or children to expand on control keys Left/Right/etc\n if (e.key === \"Escape\") {\n e.target.closest(\".n-nav\").querySelectorAll(\"li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n document.activeElement.blur();\n }\n });\n el.querySelectorAll(\"li\").forEach((el) => {\n let ul = el.querySelector(\"ul\");\n if (ul) {\n el.setAttribute(\"aria-haspopup\", true);\n if (el.children[0].nodeName === \"UL\") {\n el.insertBefore(el.children[1], el.children[0]); // Swap 'a' with 'ul'\n }\n }\n });\n el.addEventListener(\"mousedown\", clickEvent);\n el.addEventListener(\"focusin\", dropNavFocus);\n el.addEventListener(\"focusout\", dropNavBlur);\n window.requestAnimationFrame(() => {\n // Give the browser time to update\n el.querySelectorAll(\"ul\").forEach((ul) => {\n checkSides(ul);\n });\n });\n }\n window.addEventListener(\"resize\", function(e) {\n document.querySelectorAll(\".n-nav.n-nav--drop ul\").forEach((menubar) => {\n menubar.querySelectorAll(\"ul\").forEach((ul) => {\n checkSides(ul);\n });\n });\n });\n /* Nav – end */\n let init = (host) => {\n host.querySelectorAll(\".n-nav:not([data-ready]) > ul:not([role])\").forEach((el) => {\n initNav(el);\n el.closest(\".n-nav\").dataset.ready = true;\n });\n };\n nui.registerComponent(\"nav\", init);\n})();\n// Component Nav – end\n//# sourceMappingURL=nav.js.map\n\n// Component Parallax – start\n(function() {\n\t// Thanks Dave Rupert\n\tlet parallaxSpeed = 0.2;\n\tlet updateParallax = () => {\n\t\tdocument.querySelectorAll(\".n-parallax\").forEach((el) => {\n\t\t\tlet parent = el.parentElement;\n\t\t\tlet scroll_offset = parent.scrollHeight > parent.offsetHeight ? parent.getBoundingClientRect().y : document.body.scrollTop || document.documentElement.scrollTop;\n\t\t\tel.style.setProperty(\"--scrollparallax\", scroll_offset * parallaxSpeed);\n\t\t});\n\t};\n\tif (document.querySelector(\".n-parallax\")) {\n\t\twindow.addEventListener(\"scroll\", updateParallax, true);\n\t}\n\tlet init = (host) => {};\n\tnui.registerComponent(\"parallax\", init);\n})();\n// Component Parallax – end\n//# sourceMappingURL=parallax.js.map\n\n// Component Table – start\n(function () {\n\t/* Sort parent table's rows by matching column number alternatively desc/asc on click */\n\tconst toggleSort = (th) => {\n\t\tlet previous = th.closest(\"tr\").querySelector(\"td[data-ascending]\");\n\t\tif (previous && previous !== th) {\n\t\t\tdelete previous.dataset.ascending;\n\t\t}\n\t\treturn th.toggleAttribute(\"data-ascending\");\n\t};\n\tconst getCellValue = (tr, idx) => tr.children[idx].innerText || tr.children[idx].textContent;\n\tconst comparer = (idx, asc) => (a, b) => ((v1, v2) => (v1 !== \"\" && v2 !== \"\" && !isNaN(v1) && !isNaN(v2) ? v1 - v2 : v1.toString().localeCompare(v2)))(getCellValue(asc ? a : b, idx), getCellValue(asc ? b : a, idx));\n\tlet init = (host) => {\n\t\thost.querySelectorAll(\".n-table:not([data-ready])\").forEach((el) => {\n\t\t\tel.querySelectorAll(\"thead td button.n-table__sort, th button.n-table__sort\").forEach((button) => button.addEventListener(\"click\", (e) => {\n\t\t\t\tlet th = e.target.closest(\"th\") || e.target.closest(\"td\");\n\t\t\t\tconst tbody = th.closest(\"table\").querySelector(\"tbody\");\n\t\t\t\tArray.from(tbody.querySelectorAll(\"tr\")).sort(comparer(Array.from(th.parentNode.children).indexOf(th), toggleSort(th))).forEach((tr) => tbody.appendChild(tr));\n\t\t\t}));\n\t\t\tel.dataset.ready = true;\n\t\t\tel.setAttribute(\"tabindex\", 0); // To scroll with arrow keys\n\t\t});\n\t};\n\tnui.registerComponent(\"table\", init);\n})();\n// Component Table – end\n//# sourceMappingURL=table.js.map\n\n// Component Typography – start\n(function () {\n\tlet init = (host) => {\n\t\t/* Typography */\n\t\tif (typeof ResizeObserver === \"function\") {\n\t\t\t// Compensate element height according to line height\n\t\t\tlet ro = new ResizeObserver((entries) => {\n\t\t\t\tentries.forEach((el) => {\n\t\t\t\t\tlet a = el.target;\n\t\t\t\t\ta.style.removeProperty(\"--adjust-height\");\n\t\t\t\t\tlet style = getComputedStyle(a);\n\t\t\t\t\tlet line_height = parseFloat(style.lineHeight);\n\t\t\t\t\tlet adjust = line_height - (parseFloat(style.height) % line_height);\n\t\t\t\t\tif (adjust !== line_height) {\n\t\t\t\t\t\ta.style.setProperty(\"--adjust-height\", adjust);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tdocument.querySelectorAll(\".n-adjust-height:not([data-ready])\").forEach((el) => {\n\t\t\t\tro.observe(el);\n\t\t\t\tel.dataset.ready = true;\n\t\t\t});\n\t\t}\n\t};\n\tnui.registerComponent(\"typography\", init);\n})();\n// Component Typography – end\n//# sourceMappingURL=typography.js.map\nexport default nui;\n//# sourceMappingURL=niui.js.map\n"]} \ No newline at end of file +{"version":3,"sources":["js/niui.js"],"names":["nui","q","selector","document","querySelector","addClass","el","className","classList","add","removeClass","remove","body","dataset","nuiJs","window","nuiChrome","navigator","userAgent","match","nuiSafari","platform","nuiApple","setHashClass","location","hash","addEventListener","temp","createElement","t","animation","MozAnimation","WebkitAnimation","style","isTouchTimer","isTouch","addtouchclass","e","clearTimeout","setTimeout","components","Array","initComponents","host","observerOff","key","init","observerOn","observer","observe","childList","subtree","disconnect","MutationObserver","mutations","dynamicInit","mutation","type","addedNodes","length","nodeName","ready","parentNode","registerComponent","name","componentFunction","push","code","copyButton","target","echo","event","getSelection","removeAllRanges","range","createRange","selectNode","addRange","execCommand","notify","textContent","err","addComponent","insertAdjacentHTML","ripple","closest","x","offsetX","clientWidth","y","offsetY","clientHeight","max_x","Math","max","max_y","radius","sqrt","transitionProperty","setProperty","requestAnimationFrame","querySelectorAll","forEach","submitForm","ready_to_submit","value","checked","RegExp","test","parseInt","digits","focus","form","animate","width","scrollWidth","marginLeft","updateFileInput","innerHTML","substring","lastIndexOf","toggleConditionalFieldset","fieldset","for","nextElementSibling","attribute","removeAttribute","setAttribute","i","onsubmit","onchange","onkeyup","rows","scrollHeight","offsetHeight","animate_options","easing","duration","matchMedia","matches","getComputedStyle","getPropertyValue","accordionContent","openAccordion","height","overflow","wrapper","onfinish","closeAccordion","callback","contains","toggleAccordion","popin","updateRow","row","floor","children","indexOf","other_accordion","parentElement","getAttribute","doInit","readyState","ceilingWidth","ceil","parseFloat","ceilingHeight","focusableElements","isChrome","isSafari","isEndless","isFullScreen","webkitFullscreenElement","fullscreenElement","isModal","isVertical","isAuto","indexControls","index","controls_by_class","nextSlideHeight","getIndex","getIndexReal","active_slide","hash_slide_index","scrolledAncestor","scrollTop","scrollLeft","isRTL","direction","toggleFullScreen","carousel","restoreScroll","nuiAncestors","nuiScrollX","nuiScrollY","removeEventListener","togglingFullScreen","exitFullscreen","webkitExitFullscreen","display","updateExitFullScreen","slideTo","arr","a","scrolledAncestors","requestFullscreen","webkitRequestFullscreen","scrollStartX","scrollTo","abs","getScroll","scrollX","scrollY","firstFocusableElement","focusableContent","lastFocusableElement","focusHandler","keyCode","shiftKey","activeElement","preventDefault","trapFocus","modal","off","getControl","control","detached_control","id","closestCarousel","related_by_id","getElementById","scrollAnimate","distanceX","distanceY","new_height","old_height","Promise","resolve","reject","nextSlideInstant","updateCarousel","observersOff","scroll_changing","startx","starty","starth","distanceH","start","draw","now","n","val","cos","PI","timeStamp","forced","saved_x","saved_y","openingModal","offsetWidth","round","firstElementChild","active_index","old_active_slide","observersOn","active_index_logical","restoreDisplacedSlides","el2","append","first","prepend","lastElementChild","last","sliding","scroll_x","scroll_y","paddingBlockStart","paddingY","visibility","previously_active","nCarouselNav","inert","current","slide","nCarouselTimeout","old_scroll_left","old_scroll_top","computed_max_height","maxHeight","max_height","min","paddingInlineStart","paddingX","next","top","left","behavior","slideNext","new_offset","carouselKeys","slidePreviousEvent","slidePrevious","slideNextEvent","slideIndexEvent","href","ctrlKey","metaKey","new_index","old_index","openModal","frozen","closeModal","autoHeightObserver","ResizeObserver","entries","removeProperty","updateSubpixels","padding","getBoundingClientRect","offset","height_minus_index","unobserve","subpixel_observer","mutation_observer","attributes","attributeFilter","observerStarted","updateObserver","doUpdate","current_height","setIndexWidth","position","previous","close_modal","full_screen","content","onclick","xx","yy","fullScreenEvent","onwebkitfullscreenchange","onfullscreenchange","hashed_slide","auto_delay","interval","carouselTimeout","rect","bottom","innerHeight","documentElement","right","innerWidth","isElementInViewport","nCarouselUpdate","interSecObs","IntersectionObserver","entry","isIntersecting","timeout_function","offset_y","lastScrollX","lastScrollY","scroll_offset","then","threshold","root","loaded","img","complete","nCarouselInit","modal_carousel","scroll_timeout","blockScroll","animationDuration","removeModal","existingDetachedElement","existingModal","removeChild","attachedHiddenContent","replaceWith","lastChild","existingAttachedContent","anim","direction_option","JSON","parse","close","options","scrollbar_width","tagName","trigger","close_label","appendChild","close_button","closeSymbol","ariaLabel","closeLabel","marker","blur","shadow","rounded","full","showModal","transform","passive","modalWindowLink","link","openTheModal","transferClass","origin","fetch","split","response","text","str","tmp","parsed","implementation","createHTMLDocument","container","catch","error","hash_modal","clickOutsideSelect","select","closeSelect","closeSelectOnResizeScroll","open_select","updateOptionHeight","selectOption","nuiSelectWrapper","hasAttribute","select_native","nuiNativeInput","Event","dispatchEvent","nuiOnChange","font_properties","nSelectAnimation","tabIndex","pointerUpSelect","openSelect","previous_open_select","option_height","document_offset","borderInlineStartWidth","borderBlockStartWidth","active_option_offset","top_offset","current_max_height","available_top_space","cropped_space","scroll_help_top","paddingInlineEnd","nextMatchingSibling","sibling","clickSelect","pointerDownSelect","click","pointerEvents","timeout","trapKeyboard","includes","stopPropagation","selectKeyboard","previousElementSibling","previousMatchingSibling","nuiSearchTerm","toLowerCase","trim","startsWith","PointerEvent","n_select","input","initial_value","initial_option","relatedTarget","ontransitionend","onkeydown","cls","label","getToolTip","tool","hideTipFunction","tip","after","hideTip","hideTipOnScroll","showTip","area_top","area_right","area_bottom","area_left","body_rect","positionTop","nPosition","positionBottom","positionLeft","maxWidth","positionRight","rect_tip","offset_x","setTipPosition","closeDropNavClickedOutside","isDesktop","nav","navAnimating","dropNavBlur","this_nav","item","closestElement","target_parent","dropNavFocus","slice","call","grand_parent","closeDropNavClickedOutsideEnabled","getDuration","closeItem","openItem","clickEvent","old_item_open_child","old_item","checkSides","ul","menubar","outerHTML","insertBefore","initNav","notifyClose","notifyCloseEvent","option","updateParallax","parent","getCellValue","tr","idx","innerText","button","th","tbody","asc","from","sort","ascending","toggleAttribute","toggleSort","b","v1","v2","isNaN","toString","localeCompare","ro","line_height","lineHeight","adjust"],"mappings":"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","file":"niui.min.js","sourcesContent":["let nui = (() => {\n /* niui by rado.bg */\n /* DOM functions via http://youmightnotneedjquery.com */\n document.body.dataset.nuiJs = true;\n if (!!window[\"chrome\"]) {\n document.body.dataset.nuiChrome = true;\n }\n if (navigator.userAgent.match(/Safari/) && !navigator.userAgent.match(/Chrome/)) {\n document.body.dataset.nuiSafari = true;\n }\n if (navigator.platform.match(/Mac/) || navigator.platform.match(/iPhone/) || navigator.platform.match(/iPod/) || navigator.platform.match(/iPad/)) {\n document.body.dataset.nuiApple = true; // Apple devices: left-hand ⤫ button, disappearing thin scrollbars\n }\n var is_iPad = !!navigator.platform.match(/iPad/);\n // DOM functions – start\n function q(selector) {\n return document.querySelector(selector);\n }\n\n function qa(selector) {\n return document.querySelectorAll(selector);\n }\n\n function addClass(el, className) {\n el.classList.add(className);\n }\n\n function removeClass(el, className) {\n // To do: remove a single '.' for foolproof operation; Support multiple classes separated by space, dot, comma\n el.classList.remove(className);\n }\n\n function hasClass(el, className) {\n return el.classList.contains(className);\n // To do: remove a single '.' for foolproof operation; Support multiple classes separated by space, dot, comma\n }\n\n function toggleClass(el, className) {\n if (hasClass(el, className)) {\n removeClass(el, className);\n } else {\n addClass(el, className);\n }\n }\n\n function toggleAttribute(el, attribute) {\n if (el.getAttribute(attribute)) {\n el.removeAttribute(attribute);\n } else {\n el.setAttribute(attribute, true);\n }\n }\n // DOM functions – end\n function transferClass(el_origin, el_target, className) {\n let classes = typeof className === \"string\" ? new Array(className) : className;\n classes.forEach((el) => {\n if (hasClass(el_origin, el)) {\n addClass(el_target, el);\n }\n });\n }\n\n function parseHTML(str) {\n var tmp = document.implementation.createHTMLDocument(\"Parsed\");\n tmp.body.innerHTML = str;\n // To do: destroy the HTMLDocument before returning\n return tmp.body;\n }\n\n function stopEvent(e) {\n if (!e) {\n if (!window.event) {\n return;\n }\n }\n if (!e) {\n return false;\n }\n //e.cancelBubble is supported by IE, this will kill the bubbling process.\n e.cancelBubble = true;\n e.returnValue = false;\n //e.stopPropagation works only in Firefox.\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n if (e.preventDefault) {\n e.preventDefault();\n }\n return false;\n }\n\n function thisIndex(el) {\n return [...el.parentNode.children].indexOf(el);\n }\n\n function getCookie(k) {\n // Thanks Simon Steinberger\n var v = document.cookie.match(\"(^|;) ?\" + k + \"=([^;]*)(;|$)\");\n return v ? v[2] : null;\n }\n\n function wrap(toWrap, wrapper) {\n // Thanks yckart\n // \tobserverOff();\n wrapper = wrapper || document.createElement(\"div\");\n var sibling = toWrap.nextSibling;\n var parent = toWrap.parentNode;\n wrapper.appendChild(toWrap);\n if (parent) {\n // Already attached to DOM\n if (sibling) {\n // Attach the wrapper\n parent.insertBefore(wrapper, sibling);\n } else {\n parent.appendChild(wrapper);\n }\n }\n // observerOn();\n return wrapper;\n }\n\n function removeHash() {\n history.pushState(\"\", document.title, window.location.pathname + window.location.search);\n }\n /* ––– */\n function getURLParameters() {\n // return all URL parameters in an array\n var res = {};\n var re = /[?&]([^?&]+)=([^?&]+)/g;\n location.href.replace(re, (_, k, v) => {\n res[k] = v;\n });\n return res;\n }\n\n function arrow_keys_handler(e) {\n switch (e.keyCode) {\n case 37:\n case 39:\n case 38:\n case 40: // Arrow keys\n case 32:\n e.preventDefault();\n break; // Space\n default:\n break; // do not block other keys\n }\n }\n var external = RegExp(\"^((f|ht)tps?:)?//(?!\" + location.host + \")\");\n var full_window_content = null;\n var previousScrollOffset = 0;\n var previouslyFocused = false;\n /* Animate anchor links */\n function getCumulativeOffset(obj) {\n // Offset from element to top of page\n var left, top;\n left = top = 0;\n if (obj.offsetParent) {\n do {\n left += obj.offsetLeft;\n top += obj.offsetTop;\n obj = obj.offsetParent;\n } while (obj);\n }\n return {\n x: left,\n y: top,\n };\n }\n // function animateAnchors(e) {\n // if (!e || q(\"html\").clientHeight > document.body.clientHeight) {\n // return;\n // }\n // var el = e.target;\n // while (typeof el.href !== \"string\") {\n // // If a child of the link is clicked\n // el = el.parentNode;\n // }\n // if (el.href.split(/#|\\?/)[0] != window.location.href.split(/#|\\?/)[0]) {\n // // External page?\n // return;\n // }\n // var hash = null;\n // if (el.href.split(\"#\").pop().length > 0) {\n // hash = document.getElementById(el.href.split(\"#\").pop());\n // }\n // scrollToAnimated(hash === null ? 0 : getCumulativeOffset(hash).y, 0.5, (e) => {\n // // To do: fix jumping to new hash – is the fallback executed properly in animate()?\n // window.location = el.href.split(\"#\")[0] + \"#\" + el.href.split(\"#\").pop();\n // });\n // return false;\n // }\n function closestElement(el, target) {\n // Thanks http://gomakethings.com/ditching-jquery/ – Accepts either a selector string or an actual element\n for (; el && el !== document; el = el.parentNode) {\n if (el === target) {\n return el;\n }\n }\n return false;\n }\n // Add .n-target to the :target element now, because :target is available too late, after all page content is loaded\n let setHashClass = () => {\n if (q(\".n-target\")) {\n removeClass(q(\".n-target\"), \"n-target\");\n }\n if (!!location.hash && q(location.hash)) {\n addClass(q(location.hash), \"n-target\");\n }\n };\n setHashClass();\n window.addEventListener(\"hashchange\", setHashClass);\n /* Chainable animation specified as CSS Animation */\n var temp = document.createElement(\"temp\");\n var animations = {\n animation: \"animationend\",\n MozAnimation: \"animationend\",\n WebkitAnimation: \"webkitAnimationEnd\",\n };\n var animationEndEvent = false;\n for (var t in animations) {\n if (temp.style[t] !== \"undefined\") {\n animationEndEvent = animations[t];\n }\n }\n // Scroll the page to any position\n function scrollToAnimated(to, duration, callback) {\n var difference = document.body.clientHeight - window.innerHeight;\n if (to > difference) {\n to = difference;\n }\n\n function scrollToCallback(callback) {\n q(\"html\").scrollTop = document.body.scrollTop = to;\n if (typeof callback === \"function\") {\n callback();\n }\n }\n q(\"html\").animate(\n [{ transform: \"translate3d(0, 0, 0)\" }, { transform: `translate3d(0, ${-1 * (to - (document.documentElement.scrollTop || document.body.scrollTop))}px, 0)` }], duration).onfinish = () => {\n scrollToCallback(callback);\n };\n }\n // Scroll window to top, animated with easing\n // To do: suport any element and direction. Use it to slide sliders on browsers where CSS transforms are slower. Replace the above scrollToAnimated()\n let scrollToElement = (duration = 1000) => {\n let cosParameter = window.scrollY / 2;\n let scrollCount = 0;\n let oldTimestamp = performance.now();\n let step = (newTimestamp) => {\n scrollCount += Math.PI / (duration / (newTimestamp - oldTimestamp));\n if (scrollCount >= Math.PI) window.scrollTo(0, 0);\n if (window.scrollY === 0) return;\n window.scrollTo(0, Math.round(cosParameter + cosParameter * Math.cos(scrollCount)));\n oldTimestamp = newTimestamp;\n window.requestAnimationFrame(step);\n };\n window.requestAnimationFrame(step);\n };\n // Clicking a button copies a target element's contents\n function copyButton(el, target, echo) {\n el.addEventListener(\"click\", (event) => {\n window.getSelection().removeAllRanges(); // Clear previous clipboard\n var range = document.createRange();\n range.selectNode(target);\n window.getSelection().addRange(range);\n try {\n document.execCommand(\"copy\");\n if (!!echo && nui.notify) {\n nui.notify(\"📋 \" + target.textContent, \"fixed timeout\");\n }\n } catch (err) {}\n });\n }\n // Real time touch detection to support devices with both touch and mouse. http://www.javascriptkit.com/dhtmltutors/sticky-hover-issue-solutions.shtml\n // To do: use an attribute instead of class\n (function() {\n var isTouch = false; //var to indicate current input type (is touch versus no touch)\n var isTouchTimer;\n let addtouchclass = (e) => {\n clearTimeout(isTouchTimer);\n isTouch = true;\n addClass(q(\"html\"), \"can-touch\");\n isTouchTimer = setTimeout(() => {\n isTouch = false;\n }, 500); //maintain \"istouch\" state for 500ms so removetouchclass doesn't get fired immediately following a touch event\n };\n let removetouchclass = (e) => {\n if (!isTouch) {\n //remove 'can-touch' class if not triggered by a touch event and class is present\n isTouch = false;\n removeClass(q(\"html\"), \"can-touch\");\n }\n };\n document.addEventListener(\"mouseover\", removetouchclass, false); //this event gets called when input type is everything from touch to mouse/ trackpad\n document.addEventListener(\"touchstart\", addtouchclass, false); //this event only gets called when input type is touch\n addtouchclass();\n })();\n // function makeReady(el) {\n // el.dataset.ready = true;\n // }\n function focusWithin(selector) {\n var result = null;\n qa(selector).forEach((el) => {\n if (el.querySelector(\":focus\")) {\n result = el;\n }\n });\n return result;\n }\n\n function addComponent(host, el) {\n host.insertAdjacentHTML(\"afterbegin\", el);\n initComponents(host);\n }\n var current_slider = q(\".n-carousel__content\");\n var components = new Array();\n\n function registerComponent(name, init, componentFunction = false) {\n components[name] = new Array();\n components[name].push({ init: init });\n init(document);\n if (componentFunction) {\n nui[componentFunction.name] = componentFunction.code;\n }\n }\n\n function initComponents(host = document.body) {\n observerOff();\n for (let key in components) {\n components[key][0].init(host);\n }\n observerOn();\n }\n var observer = false;\n\n function observerOn() {\n if (observer) {\n observer.observe(document.body, { childList: true, subtree: true });\n }\n }\n\n function observerOff() {\n if (observer) {\n observer.disconnect();\n }\n }\n if (typeof MutationObserver === \"function\") {\n observer = new MutationObserver((mutations, observer) => {\n if (window.nui.dynamicInit) {\n observerOff();\n let mutation = mutations[0];\n if (mutation.type === \"childList\" && mutation.addedNodes.length > 0) {\n for (let el of mutation.addedNodes) {\n if (typeof el === \"object\" && el.nodeName !== \"#text\" && !el.dataset.ready && el.parentNode) {\n initComponents(el.parentNode);\n }\n }\n }\n observerOn();\n }\n });\n }\n // initThreshold(document.body);\n // Animate anchor link jumps\n // qa('a[href^=\"#\"]').forEach((el) => {\n // el.onclick = el.onclick || animateAnchors; // Don't add to previous onclick event handler\n // });\n initComponents();\n return { registerComponent, initComponents, copyButton, addComponent }\n})();\nnui.dynamicInit = true;// Component Button – start\n(function() {\n\tlet init = (host) => {\n\t\tconst ripple = e => {\n\t\t\tlet el = e.target.closest('.n-btn--ripple');\n\t\t\tlet x = e.offsetX || el.clientWidth / 2;\n\t\t\tlet y = e.offsetY || el.clientHeight / 2;\n\t\t\tlet max_x = Math.max(x, el.clientWidth - x);\n\t\t\tlet max_y = Math.max(y, el.clientHeight - y);\n\t\t\tlet radius = Math.sqrt(max_x * max_x + max_y * max_y);\n\t\t\tel.style.transitionProperty = 'none';\n\t\t\tel.style.setProperty('--ripple-x', `${x}px`);\n\t\t\tel.style.setProperty('--ripple-y', `${y}px`);\n\t\t\tel.style.setProperty('--ripple-radius', `0px`);\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tel.style.transitionProperty = '';\n\t\t\t\tel.style.setProperty('--ripple-radius', `${radius}px`);\n\t\t\t});\n\t\t};\n\t\tdocument.querySelectorAll('.n-btn--ripple:not([data-ready])').forEach(el => {\n\t\t\tel.addEventListener('pointerdown', ripple);\n\t\t\tel.addEventListener('keydown', ripple);\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\tnui.registerComponent(\"button\", init);\n})();\n// Component Button – end\n//# sourceMappingURL=button.js.map\n\n// Component Form – start\n(function() {\n /* Form – start */\n function submitForm(e) {\n var el = e.target;\n var ready_to_submit = true;\n el.querySelectorAll(\".n-form--mandatory:not([disabled])\").forEach((el) => {\n if (\n (el.querySelector(\"input, select, textarea\") && !el.querySelector(\"input, select, textarea\").value) ||\n (el.querySelector(\"input[type=checkbox]\") && !el.querySelector(\"input[type=checkbox]\").checked) ||\n (el.querySelector(\"input[type=radio]\") && !el.querySelector(\"input[type=radio]\").checked) ||\n (el.querySelector(\"input[type=email]\") && !RegExp(/^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$/).test(el.querySelector(\"input[type=email]\").value)) ||\n (el.querySelector(\"input[type=url]\") && !RegExp(/^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?$/).test(el.querySelector(\"input[type=url]\").value)) ||\n (el.querySelector(\"input[type=number]\") && !RegExp(/^\\d+$/).test(el.querySelector(\"input[type=number]\").value)) ||\n (el.querySelector(\"input[type=number][data-digits]\") &&\n el.querySelector(\"input[type=number]\").value.length !== parseInt(el.querySelector(\"input[type=number]\").dataset.digits))\n ) {\n ready_to_submit = false;\n el.querySelector(\"input\").focus();\n el.classList.add(\"n-form--alert\");\n // Margin animation, because transform animation hides neighbouring content on iPad\n let form = el.closest(\"form\");\n form.animate([{ width: `${form.scrollWidth}px` }, { marginLeft: `-9px` }, { marginLeft: `18px` }, { width: `${form.scrollWidth}px`, marginLeft: 0 }], 250);\n return;\n } else {\n el.classList.remove(\"n-form--alert\");\n }\n });\n return ready_to_submit;\n }\n\n function updateFileInput(e) {\n var el = e.target;\n el.parentNode.querySelector(\"span.n-form__file-name\").innerHTML = el.value.substring(el.value.lastIndexOf(\"\\\\\") + 1);\n }\n\n function toggleConditionalFieldset(e) {\n var el = e.target;\n var fieldset = document.querySelector(`fieldset#${el.closest(\".n-form__condition\").dataset.for}`) || el.closest(\".n-form__condition\").nextElementSibling;\n var attribute = \"disabled\";\n if (el.checked) {\n fieldset.removeAttribute(attribute);\n } else {\n fieldset.setAttribute(attribute, \"disabled\");\n }\n }\n /* Form – end */\n let init = (host) => {\n host.querySelectorAll(\"form.n-form\").forEach((el, i) => {\n el.onsubmit = el.onsubmit || submitForm;\n el.querySelectorAll(\"input[type=file]\").forEach((el, i) => {\n el.onchange = updateFileInput;\n el.parentNode.querySelector(\"span\").insertAdjacentHTML(\"afterbegin\", \"\");\n });\n // \tConditional form fieldsets\n el.querySelectorAll(\".n-form__check.n-form__condition input\").forEach((el, i) => {\n el.onchange = toggleConditionalFieldset;\n });\n // Auto textarea height.\n el.querySelectorAll(\"textarea[data-auto]\").forEach((el) => {\n el.onkeyup = (e) => {\n el = e.target;\n while (el.rows > 1 && el.scrollHeight < el.offsetHeight) {\n el.rows--;\n }\n while (el.scrollHeight > el.offsetHeight) {\n if (el.rows > 20) {\n break;\n }\n el.rows++;\n }\n el.rows++;\n };\n });\n el.dataset.ready = true;\n });\n };\n nui.registerComponent(\"form\", init);\n})();\n// Component Form – end\n//# sourceMappingURL=form.js.map\n\n// Component Accordion\n(function() {\n\tconst animate_options = el => { return { easing: \"ease-in-out\", duration: window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? (el.dataset.duration * 1000 || getComputedStyle(el).getPropertyValue('--duration') * 1000 || 200) : 0 } };\n\tconst accordionContent = el => el.querySelector(\":scope > .n-accordion__content\");\n\tconst openAccordion = (el) => {\n\t\tel = accordionContent(el);\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tel.style.height = 0;\n\t\t\tel.style.overflow = \"hidden\";\n\t\t\tlet wrapper = el.parentNode;\n\t\t\twrapper.querySelector(\":scope > .n-accordion__label\").setAttribute(\"aria-expanded\", true);\n\t\t\tel.animate([{ height: 0 }, { height: `${el.scrollHeight}px` }], animate_options(wrapper)).onfinish = () => {\n\t\t\t\tel.style.height = el.style.overflow = \"\";\n\t\t\t};\n\t\t});\n\t};\n\tconst closeAccordion = (el, callback) => {\n\t\tel = accordionContent(el);\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tel.style.overflow = \"hidden\";\n\t\t\tlet wrapper = el.parentNode;\n\t\t\tel.animate([{ height: `${el.scrollHeight}px` }, { height: 0 }], animate_options(wrapper)).onfinish = () => {\n\t\t\t\tel.style.height = el.style.overflow = \"\";\n\t\t\t\twrapper.querySelector(\":scope > .n-accordion__label\").setAttribute(\"aria-expanded\", false);\n\t\t\t\ttypeof callback !== 'function' || callback();\n\t\t\t\tif (wrapper.classList.contains('n-accordion--close-nested')) {\n\t\t\t\t\tel.querySelectorAll(\".n-accordion__label[aria-expanded='true']\").forEach(el => el.setAttribute(\"aria-expanded\", false));\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t};\n\tconst toggleAccordion = (e) => {\n\t\tlet el = e.target.closest('.n-accordion'); // el = .n-accordion\n\t\tif (!el.querySelector(\":scope > [aria-expanded='true']\")) {\n\t\t\tlet popin = el.closest(\".n-accordion__popin\");\n\t\t\tconst updateRow = () => {\n\t\t\t\tif (popin) {\n\t\t\t\t\tlet row = Math.floor(([...popin.children].indexOf(el) / getComputedStyle(popin).getPropertyValue(\"--n-popin-columns\")) * 1) + 2;\n\t\t\t\t\tpopin.style.setProperty(\"--n-popin-open-row\", row);\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (el.parentNode.matches('[role=\"group\"]') || popin) {\n\t\t\t\tlet other_accordion = el.parentNode.querySelector(\":scope > .n-accordion > [aria-expanded='true']\");\n\t\t\t\tif (other_accordion) {\n\t\t\t\t\tcloseAccordion(other_accordion.parentNode, () => { // el = .n-accordion\n\t\t\t\t\t\tupdateRow();\n\t\t\t\t\t\topenAccordion(el);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tupdateRow();\n\t\t\t\t\topenAccordion(el);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\topenAccordion(el);\n\t\t\t}\n\t\t} else {\n\t\t\tcloseAccordion(el);\n\t\t}\n\t};\n\n\tfunction init(host = document) {\n\t\thost.querySelectorAll(\".n-accordion:not([data-ready]) > .n-accordion__label\").forEach((el) => {\n\t\t\tel.addEventListener(\"click\", toggleAccordion);\n\t\t\tel.parentElement.querySelector(\":scope > input\")?.remove(); // Remove CSS-only solution\n\t\t\tel.parentNode.dataset.ready = true;\n\t\t\tel.setAttribute('aria-expanded', el.getAttribute('aria-expanded') === 'true');\n\t\t});\n\t}\n\tconst doInit = () => {\n\t\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-accordion\", init) : init();\n\t};\n\tif (document.readyState !== \"loading\") {\n\t\tdoInit();\n\t} else {\n\t\tdocument.addEventListener(\"DOMContentLoaded\", doInit);\n\t}\n})();\n//# sourceMappingURL=n-accordion@npm.js.map\n\n// import './node_modules/n-modal/n-modal.js';\n(function() {\n const ceilingWidth = (el) => Math.ceil(parseFloat(getComputedStyle(el).width));\n const ceilingHeight = (el) => Math.ceil(parseFloat(getComputedStyle(el).height));\n const focusableElements = 'button, [href], input, select, textarea, details, summary, video, [tabindex]:not([tabindex=\"-1\"])';\n // const _focusableElementsString = 'a[href],area[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),details,summary,iframe,object,embed,[contenteditable]';\n function isElementInViewport(el) {\n let rect = el.getBoundingClientRect();\n return (rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.offsetHeight) /* or $(window).height() */ && rect.right <= (window.innerWidth || document.documentElement.offsetWidth) /* or $(window).width() */ );\n }\n const default_duration = 500;\n const default_interval = 4000;\n const isChrome = !!navigator.userAgent.match(\"Chrome\");\n const isSafari = navigator.userAgent.match(/Safari/) && !isChrome;\n const isEndless = el => el.children.length > 2 && el.parentElement.classList.contains(\"n-carousel--endless\");\n const isFullScreen = () => { return !!(document.webkitFullscreenElement || document.fullscreenElement) };\n const isModal = el => { return el.closest(\".n-carousel\").classList.contains('n-carousel--overlay') };\n const isVertical = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--vertical\");\n const isAuto = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--auto-height\");\n const indexControls = index => {\n let controls_by_class = index.querySelectorAll('.n-carousel__control');\n return (controls_by_class.length > 0) ? controls_by_class : index.querySelectorAll('a, button');\n };\n const nextSlideHeight = (el) => {\n el.style.height = 0;\n el.style.overflow = \"auto\";\n const height = el.scrollHeight; // Ceiling when subpixel\n el.style.height = el.style.overflow = \"\";\n return height;\n };\n // const scrollableAncestor = (el) => {\n // \tel = el.parentNode;\n // \twhile (el) {\n // \t\tif (el.scrollHeight > el.offsetHeight || el.scrollWidth > el.offsetWidth) {\n // \t\t\treturn el;\n // \t\t} else {\n // \t\t\tel = el.parentNode;\n // \t\t}\n // \t}\n // \treturn false;\n // };\n const getIndex = (el) => 1 * (isVertical(el) ? el.dataset.y : el.dataset.x);\n const getIndexReal = (el) => {\n let active_slide = el.querySelector(':scope > [aria-current]');\n if (active_slide) {\n return [...el.children].indexOf(active_slide);\n } else {\n let hash_slide_index = (!!location.hash) ? [...el.children].indexOf(el.querySelector(`:scope > ${location.hash}`)) : 0;\n return (hash_slide_index > -1) ? hash_slide_index : 0;\n }\n // return active_slide ? [...el.children].indexOf(active_slide) : (el.querySelector(`:scope > ${location.hash}`) || 0);\n };\n const scrolledAncestor = (el) => {\n el = el.parentNode;\n while (el) {\n if (el.scrollTop !== 0 || el.scrollLeft !== 0) {\n return el;\n } else {\n el = el.parentNode;\n }\n }\n return false;\n };\n const scrolledAncestors = (el) => {\n let arr = [];\n let a = scrolledAncestor(el);\n while (a && typeof a.scrollLeft !== \"undefined\" && (a.scrollTop !== 0 || a.scrollLeft !== 0)) {\n arr.push(a);\n a = scrolledAncestor(a);\n }\n return arr;\n };\n const isRTL = (el) => getComputedStyle(el).direction === \"rtl\";\n const toggleFullScreen = (el) => {\n el = el.closest(\".n-carousel\");\n let carousel = el.querySelector(\":scope > .n-carousel__content\");\n const restoreScroll = () => {\n if (!isFullScreen()) {\n el.nuiAncestors.forEach((el) => {\n window.requestAnimationFrame(() => {\n el.scrollLeft = el.nuiScrollX;\n el.scrollTop = el.nuiScrollY;\n delete el.nuiScrollX;\n delete el.nuiScrollY;\n });\n });\n delete el.nuiAncestors;\n el.removeEventListener(\"webkitfullscreenchange\", restoreScroll);\n }\n };\n carousel.togglingFullScreen = true;\n if (isFullScreen()) {\n // Exit full screen\n !!document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen();\n if (isSafari) {\n // When exit finishes, update the carousel because on Safari 14, position is wrong or the slide is invisible\n setTimeout(() => {\n el.style.display = \"none\";\n window.requestAnimationFrame(() => {\n el.style.display = \"\";\n });\n }, 0);\n }\n if (isVertical(el) && isAuto(el)) {\n let updateExitFullScreen = e => {\n setTimeout(() => {\n let carousel = el.querySelector(\":scope > .n-carousel__content\");\n // console.log(carousel);\n // el.style.removeProperty('--height');\n // carousel.style.height = '';\n slideTo(carousel, parseInt(carousel.dataset.y));\n }, 100);\n el.removeEventListener('fullscreenchange', updateExitFullScreen);\n };\n el.addEventListener('fullscreenchange', updateExitFullScreen);\n }\n } else {\n // Enter full screen\n if (isSafari) {\n el.nuiAncestors = scrolledAncestors(el);\n el.nuiAncestors.forEach((el) => {\n el.nuiScrollX = el.scrollLeft;\n el.nuiScrollY = el.scrollTop;\n });\n el.addEventListener(\"webkitfullscreenchange\", restoreScroll, false);\n }!!el.requestFullscreen ? el.requestFullscreen() : el.webkitRequestFullscreen();\n }\n };\n const scrollStartX = (el) => el.scrollLeft; // Get correct start scroll position for LTR and RTL\n const scrollTo = (el, x, y) => {\n el.scrollTo(isRTL(el) ? -1 * Math.abs(x) : x, y); // Scroll to correct scroll position for LTR and RTL\n };\n const getScroll = (el) => (el === window ? {\n x: el.scrollX,\n y: el.scrollY\n } : {\n x: scrollStartX(el),\n y: el.scrollTop\n });\n let firstFocusableElement = null;\n let focusableContent = null;\n let lastFocusableElement = null;\n const focusHandler = e => {\n let isTabPressed = e.key === \"Tab\" || e.keyCode === 9;\n if (!isTabPressed) {\n return;\n }\n if (e.shiftKey) {\n // if shift key pressed for shift + tab combination\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus(); // add focus for the last focusable element\n e.preventDefault();\n }\n } else {\n // if tab key is pressed\n if (document.activeElement === lastFocusableElement) {\n // if focused has reached to last focusable element then focus first focusable element after pressing tab\n firstFocusableElement.focus(); // add focus for the first focusable element\n e.preventDefault();\n }\n }\n };\n const trapFocus = (modal, off = false) => {\n // FROM: https://uxdesign.cc/how-to-trap-focus-inside-modal-to-make-it-ada-compliant-6a50f9a70700\n // add all the elements inside modal which you want to make focusable\n firstFocusableElement = modal.querySelectorAll(focusableElements)[0]; // get first element to be focused inside modal\n focusableContent = modal.querySelectorAll(focusableElements);\n lastFocusableElement = focusableContent[focusableContent.length - 1]; // get last element to be focused inside modal\n if (off) {\n modal.removeEventListener(\"keydown\", focusHandler);\n } else {\n modal.addEventListener(\"keydown\", focusHandler);\n firstFocusableElement.focus();\n }\n };\n const inOutSine = (n) => (1 - Math.cos(Math.PI * n)) / 2;\n const paddingX = (el) => parseInt(getComputedStyle(el).paddingInlineStart) * 2;\n const paddingY = (el) => parseInt(getComputedStyle(el).paddingBlockStart) * 2;\n const getControl = (carousel, control) => {\n let detached_control = document.querySelector(`${control}[data-for=\"${carousel.id}\"]`);\n if (detached_control) {\n return detached_control;\n }\n for (let el of carousel.children) {\n if (el.matches(control)) {\n return el;\n }\n if (!el.matches(\".n-carousel__content\") && el.querySelector(control)) {\n return el.querySelector(control);\n }\n }\n };\n const closestCarousel = (el) => {\n var related_by_id = el.closest('[class*=\"n-carousel\"]').dataset.for;\n if (!!related_by_id) {\n return document.getElementById(related_by_id).querySelector(\".n-carousel__content\");\n } else {\n return el.closest(\".n-carousel\").querySelector(\".n-carousel__content\");\n }\n };\n const scrollAnimate = (el, distanceX, distanceY, new_height, old_height = false) => new Promise((resolve, reject) => {\n // Thanks https://stackoverflow.com/posts/46604409/revisions\n let wrapper = el.closest(\".n-carousel\");\n if (!!wrapper.nextSlideInstant || !wrapper.dataset.ready || window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches || wrapper.matches(\".n-carousel--instant\")) {\n scrollTo(el, getScroll(el).x + distanceX, getScroll(el).y + distanceY);\n el.style.height = `${new_height}px`;\n delete wrapper.nextSlideInstant;\n updateCarousel(el);\n resolve(el);\n return;\n }\n observersOff(el);\n let scroll_changing = true;\n if (distanceX === 0 && distanceY === 0) {\n scroll_changing = false;\n }\n if (!!new_height) {\n el.style.height = `${old_height}px`;\n if (isVertical(el) && isAuto(el)) {\n el.style.setProperty('--subpixel-compensation', 0);\n }\n } else {\n if (!isVertical(el)) {\n el.style.height = \"\";\n }\n }\n var startx = getScroll(el).x;\n var starty = getScroll(el).y;\n var starth = parseInt(el.style.height);\n var distanceH = new_height - starth;\n var duration = parseFloat(el.parentNode.dataset.duration) * 1000 || default_duration;\n var start = null;\n let startAnim = (timeStamp) => {\n start = timeStamp;\n draw(timeStamp);\n };\n let draw = (now) => {\n if (now - start >= duration) {\n window.requestAnimationFrame(() => {\n scrollTo(el, startx + distanceX, starty + distanceY);\n if (new_height) {\n el.style.height = `${new_height}px`;\n }\n updateCarousel(el);\n });\n resolve(el);\n return;\n }\n var p = (now - start) / duration;\n var val = inOutSine(p);\n var x = startx + distanceX * val;\n var y = starty + distanceY * val;\n if (scroll_changing) {\n scrollTo(el, x, y);\n }\n if (new_height) {\n window.requestAnimationFrame(() => {\n el.style.height = `${starth + distanceH * val}px`;\n }); // Timeout because Safari can't do scroll and height at once\n }\n requestAnimationFrame(draw);\n };\n requestAnimationFrame(startAnim);\n });\n const updateCarousel = (el, forced = false) => { // Forced means never skip unnecessary update\n // Called on init and scroll end\n observersOff(el);\n let saved_x = el.dataset.x; // On displaced slides and no change\n let saved_y = el.dataset.y;\n if (!el.togglingFullScreen) {\n if (el.openingModal) {\n delete el.openingModal;\n scrollTo(el, el.offsetWidth * el.dataset.x, el.offsetHeight * el.dataset.y);\n } else {\n el.dataset.x = Math.abs(Math.round(scrollStartX(el) / ceilingWidth(el.firstElementChild)));\n el.dataset.y = Math.abs(Math.round(el.scrollTop / ceilingHeight(el.firstElementChild)));\n }\n } else {\n delete el.togglingFullScreen;\n }\n // When inline\n if (el.dataset.x === \"NaN\") {\n el.dataset.x = 0;\n }\n if (el.dataset.y === \"NaN\") {\n el.dataset.y = 0;\n }\n let active_index = getIndex(el);\n if (active_index >= el.children.length) {\n active_index = el.children.length - 1;\n }\n // console.log('update at', active_index, el.dataset.x, el.dataset.y);\n let old_active_slide = el.querySelector(\":scope > [aria-current]\");\n let wrapper = el.parentElement;\n if (!wrapper.classList.contains(\"n-carousel--auto-height\")) {\n // Dynamic change from auto height to normal\n el.style.height = \"\";\n }\n let active_slide = el.children[active_index];\n if (old_active_slide && !forced) {\n if (active_slide === old_active_slide) {\n // Scroll snapping back to the same slide. Nothing to do here.\n el.dataset.x = saved_x;\n el.dataset.y = saved_y;\n observersOn(el);\n return;\n }\n old_active_slide.removeAttribute('aria-current');\n old_active_slide.style.height = \"\";\n if (!isVertical(el)) {\n el.style.height = \"\";\n }\n }\n var active_index_logical = active_index;\n // active_slide.ariaCurrent = true; // Unsupported by FF\n active_slide.setAttribute('aria-current', true);\n active_index_logical = getIndexReal(el);\n el.dataset.x = el.dataset.y = active_index_logical;\n // Endless carousel\n const restoreDisplacedSlides = el => {\n el.querySelectorAll(\":scope > [data-first]\").forEach(el2 => {\n el.append(el.firstElementChild);\n delete el2.dataset.first;\n active_index--;\n });\n el.querySelectorAll(\":scope > [data-last]\").forEach(el2 => {\n el.prepend(el.lastElementChild);\n delete el2.dataset.last;\n active_index++;\n });\n };\n wrapper.dataset.sliding = true;\n if (isEndless(el)) {\n if (active_index === 0) {\n if (!active_slide.dataset.first) {\n // Move the last one to the front as [data-first]\n if (el.lastElementChild.dataset.last) {\n delete el.lastElementChild.dataset.last;\n active_index_logical = 1;\n } else {\n el.lastElementChild.dataset.first = true;\n }\n el.prepend(el.lastElementChild);\n active_index = 1;\n } else {\n // Landed on fake first slide. Move it to the back, remove its [data-first] and move the first one to the back as [data-last]\n delete el.firstElementChild.dataset.first;\n el.append(el.firstElementChild);\n el.firstElementChild.dataset.last = true;\n el.append(el.firstElementChild);\n active_index_logical = el.children.length - 1;\n active_index = el.children.length - 2;\n }\n } else {\n if (active_index === el.children.length - 1) {\n if (!active_slide.dataset.last) {\n // Move the first one to the back as [data-last]\n if (el.firstElementChild.dataset.first) {\n delete el.firstElementChild.dataset.first;\n active_index_logical = el.children.length - 2;\n } else {\n el.firstElementChild.dataset.last = true;\n }\n el.append(el.firstElementChild);\n active_index = el.children.length - 2;\n } else {\n // Landed on fake last slide. Move it to the front, remove its [data-last] and move the last one to the front as [data-first]\n delete el.lastElementChild.dataset.last;\n el.prepend(el.lastElementChild);\n el.lastElementChild.dataset.first = true;\n el.prepend(el.lastElementChild);\n active_index_logical = 0;\n active_index = 1;\n }\n } else {\n // Middle slide\n restoreDisplacedSlides(el);\n active_index_logical = Math.max(0, [...el.children].indexOf(el.querySelector(\":scope > [aria-current]\"))); // Fixes position when sliding to/from first slide; max because of FF returning -1\n }\n }\n window.requestAnimationFrame(() => {\n el.dataset.x = el.dataset.y = active_index_logical;\n let scroll_x = ceilingWidth(el.firstElementChild) * active_index;\n let scroll_y = ceilingHeight(el.firstElementChild) * active_index;\n // console.log('updateCarousel() scrolling at', scroll_x);\n el.scroll_x = scroll_x;\n el.scroll_y = scroll_y;\n scrollTo(el, scroll_x, scroll_y); // First element size, because when Peeking, it differs from carousel size\n delete el.scroll_x;\n delete el.scroll_y;\n });\n } else { // Check and restore dynamically disabled endless option\n restoreDisplacedSlides(el);\n active_index_logical = Math.max(0, [...el.children].indexOf(el.querySelector(\":scope > [aria-current]\"))); // Fixes position when sliding to/from first slide; max because of FF returning -1\n }\n active_slide.style.height = \"\";\n wrapper.style.setProperty(\"--height\", `${el.parentNode.classList.contains(\"n-carousel--auto-height\") ? nextSlideHeight(active_slide) : active_slide.scrollHeight}px`);\n window.requestAnimationFrame(() => {\n if (!el.parentNode.dataset.ready && isAuto(el) && isVertical(el)) {\n el.style.height = `${parseFloat(getComputedStyle(el).height) - paddingY(el)}px`;\n }\n });\n // Sliding to a slide with a hash? Update the URI\n if (getComputedStyle(el).visibility !== 'hidden') {\n let previously_active = document.activeElement;\n let hash = active_slide.id;\n if (!!el.parentNode.dataset.ready && !!hash && !el.parentNode.closest('.n-carousel__content')) { // Hash works only with top-level carousel\n location.hash = `#${hash}`;\n }\n if (!!el.parentNode.dataset.ready && !hash && !el.parentNode.closest('.n-carousel__content') && window.nCarouselNav) { // Hash works only with top-level carousel\n location.hash = '';\n }\n previously_active.focus();\n }\n // Fix buttons\n let index = getControl(el.closest(\".n-carousel\"), \".n-carousel__index\");\n if (!!index) {\n index.querySelector(\"[aria-current]\")?.removeAttribute('aria-current');\n // index.children[active_index_logical].ariaCurrent = true; // Unsupported by FF\n indexControls(index)[active_index_logical].setAttribute('aria-current', true);\n }\n // Disable focus on children of non-active slides\n // Active slides of nested carousels should also have disabled focus\n [...el.children].forEach(el => { // Native \"inert\" attribute to replace the below \"focusDisabled\" loops from June 2022. \n el.inert = (el === active_slide) ? false : true;\n if (isSafari && el.querySelector('.n-carousel:-webkit-full-screen')) {\n // Safari full screen bug: parent scroll resets to 0, first slide becomes active and the full screen child lightbox is inside an inert parent\n let current = el.parentNode.querySelector(':scope > [aria-current=\"true\"]');\n current.inert = true;\n current.removeAttribute('aria-current');\n el.inert = false;\n el.setAttribute('aria-current', true);\n }\n });\n // Obsoleted by inert – start\n // [...el.children].forEach((slide) => {\n // if (slide !== active_slide) {\n // slide.setAttribute('aria-hidden', true);\n // slide.querySelectorAll(focusableElements).forEach((el2) => {\n // if (el2.closest(\".n-carousel__content > :not([aria-current])\")) {\n // if (el2.getAttribute(\"tabindex\") && !el2.dataset.focusDisabled) {\n // el2.dataset.oldTabIndex = el2.tabIndex;\n // }\n // el2.dataset.focusDisabled = true;\n // el2.tabIndex = -1;\n // }\n // });\n // }\n // });\n // active_slide.removeAttribute('aria-hidden');\n // active_slide.querySelectorAll(\"[data-focus-disabled]\").forEach((el2) => {\n // if (!el2.closest(\".n-carousel__content > :not([aria-current])\")) {\n // el2.removeAttribute(\"tabindex\");\n // delete el2.dataset.focusDisabled;\n // if (!!el2.dataset.oldTabIndex) {\n // el2.tabIndex = el2.dataset.oldTabIndex;\n // delete el2.dataset.oldTabIndex;\n // }\n // }\n // });\n // Obsoleted by inert – end\n if (/--vertical.*--auto-height/.test(wrapper.classList)) { // Undo jump to wrong slide when sliding to the last one\n el.scrollTop = el.offsetHeight * active_index_logical;\n }\n window.requestAnimationFrame(() => {\n observersOn(el);\n });\n };\n const slide = (el, offsetX = 0, offsetY = 0, index) => {\n clearTimeout(el.nCarouselTimeout);\n observersOff(el);\n if (!el.parentNode.dataset.sliding) {\n el.parentNode.dataset.sliding = true;\n let old_height = el.children[getIndexReal(el)].offsetHeight;\n let new_height = old_height;\n if (isAuto(el)) {\n let old_scroll_left = scrollStartX(el);\n let old_scroll_top = el.scrollTop;\n let slide = el.children[index];\n if (isVertical(el)) {\n slide.style.height = 'auto';\n let computed_max_height = getComputedStyle(el).maxHeight;\n let max_height = computed_max_height.match(/px/) ? Math.ceil(parseFloat(computed_max_height)) : 99999;\n // new_height = Math.min(slide.scrollHeight, max_height);\n new_height = Math.min(Math.ceil(parseFloat(getComputedStyle(slide).height)), max_height);\n // new_height = slide.scrollHeight;\n slide.style.height = '';\n } else {\n new_height = nextSlideHeight(slide);\n let old_height = getIndexReal(el) === index ? new_height : nextSlideHeight(el.children[getIndexReal(el)]);\n el.parentNode.style.setProperty(\"--height\", `${old_height}px`);\n }\n scrollTo(el, old_scroll_left + paddingX(el) / 2, old_scroll_top); // iPad bug\n scrollTo(el, old_scroll_left, old_scroll_top);\n }\n if (isVertical(el)) {\n if ((isModal(el) || isFullScreen()) && isAuto(el)) {\n old_height = new_height = el.offsetHeight;\n }\n offsetY = offsetY - index * old_height + index * new_height;\n }\n // console.log(index, offsetX, offsetY);\n window.requestAnimationFrame(() => {\n if (!el.parentNode.dataset.duration && !isAuto(el)) { // Unspecified duration, using native smooth scroll\n delete el.parentNode.dataset.sliding;\n el.dataset.next = index;\n el.scrollTo({\n top: el.scrollTop + offsetY,\n left: el.scrollLeft + offsetX,\n behavior: window.matchMedia('(prefers-reduced-motion: reduce)').matches ? \"auto\" : \"smooth\"\n });\n } else {\n scrollAnimate(el, offsetX, offsetY, new_height === old_height ? false : new_height, old_height); // Vertical version will need ceiling value\n }\n });\n }\n };\n const slideNext = (el) => {\n let index = getIndexReal(el);\n slideTo(el, index >= el.children.length - 1 ? 0 : index + 1);\n };\n const slidePrevious = (el) => {\n let index = getIndexReal(el);\n slideTo(el, index === 0 ? el.children.length - 1 : index - 1);\n };\n const slideTo = (el, index) => {\n if (isVertical(el)) {\n slide(el, 0, ceilingHeight(el.children[index]) * index - el.scrollTop, index);\n } else {\n let width = Math.ceil(parseFloat(getComputedStyle(el.children[index]).width));\n let new_offset = isRTL(el) ? Math.abs(scrollStartX(el)) - width * index : width * index - scrollStartX(el);\n slide(el, new_offset, 0, index);\n }\n };\n const carouselKeys = (e) => {\n // console.log('keydown', e);\n return;\n };\n const slidePreviousEvent = (e) => slidePrevious(closestCarousel(e.target.closest('[class*=\"n-carousel\"]')));\n const slideNextEvent = (e) => slideNext(closestCarousel(e.target.closest('[class*=\"n-carousel\"]')));\n const slideIndexEvent = (e) => {\n let el = e.target.closest(\"a, button\");\n if (el && !(el.href && (e.ctrlKey || e.metaKey))) {\n const wrapper = document.querySelector(`.n-carousel#${el.parentNode.dataset.for}`) || el.closest(\".n-carousel\");\n const carousel = wrapper.querySelector(\":scope > .n-carousel__content\");\n let new_index = [...indexControls(el.parentNode)].indexOf(el);\n if (isEndless(carousel)) {\n var old_index = getIndex(carousel);\n if (old_index === 0) {\n if (new_index === carousel.children.length - 1) {\n new_index = 0;\n } else {\n new_index++;\n }\n }\n if (old_index === carousel.children.length - 1) {\n if (new_index === 0) {\n new_index = carousel.children.length - 1;\n } else {\n new_index--;\n }\n }\n }\n if (wrapper.classList.contains(\"n-carousel--inline\") && !isModal(carousel)) { // Opening an inline carousel\n wrapper.nextSlideInstant = true;\n // wrapper.classList.add(\"n-carousel--overlay\"); // Should trigger mutation and auto update?\n openModal(carousel);\n // Set new x, y\n window.requestAnimationFrame(() => {\n carousel.dataset.x = carousel.dataset.y = new_index;\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n document.body.dataset.frozen = document.body.scrollTop;\n updateCarousel(carousel);\n });\n } else {\n window.requestAnimationFrame(() => {\n slideTo(carousel, new_index);\n });\n }\n return false;\n }\n };\n const closeModal = (el) => {\n if (isFullScreen()) {\n !!document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen();\n }\n let carousel = closestCarousel(el);\n if (carousel) {\n carousel.closest(\".n-carousel\").classList.remove(\"n-carousel--overlay\");\n trapFocus(carousel.closest(\".n-carousel\"), true); // Disable focus trap\n delete document.body.dataset.frozen;\n }\n };\n const openModal = (el) => {\n let carousel = closestCarousel(el);\n if (carousel) {\n carousel.openingModal = true;\n carousel.closest(\".n-carousel\").classList.add(\"n-carousel--overlay\");\n trapFocus(carousel.closest(\".n-carousel\"));\n }\n };\n const autoHeightObserver = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let slide = e.target.querySelector(\":scope > [aria-current]\");\n let el = slide.closest(\".n-carousel__content\");\n if (!el.parentElement.dataset.sliding) {\n // console.log(e.target);\n el.parentNode.style.removeProperty('--height');\n if (isVertical(el)) {\n slide.style.height = 'auto';\n el.style.height = `${slide.scrollHeight}px`;\n slide.style.height = '';\n updateCarousel(el);\n } else {\n el.style.height = '';\n el.style.height = `${slide.scrollHeight}px`;\n updateCarousel(el, true);\n }\n }\n });\n });\n });\n const updateSubpixels = (el) => {\n if (!el.parentNode.dataset.sliding) {\n // Round down the padding, because sub pixel padding + scrolling is a problem\n let carousel = el;\n carousel.style.padding = ''; // Subpixel peeking fix\n carousel.style.removeProperty(\"--peek-int\");\n carousel.style.padding = isVertical(carousel) ? `${parseInt(getComputedStyle(carousel).paddingBlockStart)}px 0` : `0 ${parseInt(getComputedStyle(carousel).paddingInlineStart)}px`;\n if (carousel.style.padding === '0px') {\n carousel.style.padding = '';\n } else {\n // For Safari, which doesn't support inline end padding in a scrollable container\n carousel.style.setProperty(\"--peek-int\", isVertical(carousel) ? `${parseInt(getComputedStyle(carousel).paddingBlockStart)}px 0 0 0` : `0 ${parseInt(getComputedStyle(carousel).paddingInlineStart)}px 0 0`);\n }\n window.requestAnimationFrame(() => {\n if (isVertical(el)) {\n carousel.style.setProperty(\"--subpixel-compensation\", Math.ceil(carousel.getBoundingClientRect().height) - carousel.getBoundingClientRect().height);\n } else {\n carousel.style.setProperty(\"--subpixel-compensation\", Math.ceil(carousel.getBoundingClientRect().width) - carousel.getBoundingClientRect().width);\n }\n let offset = getIndexReal(carousel); // Real offset including displaced first/last slides\n scrollTo(carousel, offset * ceilingWidth(carousel.firstElementChild), offset * ceilingHeight(carousel.firstElementChild));\n });\n }\n };\n const observersOn = (el) => {\n window.requestAnimationFrame(() => {\n // setTimeout(() => {\n if (el.scroll_x && el.scroll_y) {\n scrollTo(el, el.scroll_x, el.scroll_y);\n }\n delete el.parentNode.dataset.sliding;\n // }, 0);\n if (el.parentNode.matches(\".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height\")) {\n height_minus_index.observe(el.parentNode);\n } else {\n height_minus_index.unobserve(el.parentNode);\n }\n subpixel_observer.observe(el);\n mutation_observer.observe(el.parentNode, {\n attributes: true,\n attributeFilter: [\"class\"],\n });\n });\n };\n const observersOff = (el) => {\n height_minus_index.unobserve(el.parentNode);\n subpixel_observer.unobserve(el);\n el.observerStarted = true;\n };\n const updateObserver = (el) => {\n observersOff(el);\n const doUpdate = el => {\n updateSubpixels(el);\n window.requestAnimationFrame(() => {\n let current_height = el.querySelector(\":scope > [aria-current]\").scrollHeight + \"px\";\n let previous_height = getComputedStyle(el).getPropertyValue(\"--height\");\n if (current_height !== previous_height) {\n el.parentNode.style.setProperty(\"--height\", current_height);\n }\n observersOn(el);\n });\n };\n doUpdate(el);\n el.querySelectorAll('.n-carousel__content').forEach(el => doUpdate(el));\n };\n const subpixel_observer = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let el = e.target;\n if (!!el.observerStarted) {\n el.observerStarted = false;\n return;\n }\n updateObserver(el);\n });\n });\n });\n const mutation_observer = new MutationObserver((mutations) => {\n for (let mutation of mutations) {\n if (mutation.target && !mutation.target.nextSlideInstant) {\n let carousel = mutation.target.querySelector(\":scope > .n-carousel__content\");\n updateObserver(carousel);\n updateCarousel(carousel, true);\n }\n }\n });\n const setIndexWidth = (el) => {\n let index = el.querySelector(\":scope > .n-carousel__index\");\n if (index && !el.dataset.sliding) {\n el.style.removeProperty(\"--height-minus-index\");\n index.style.position = \"absolute\";\n el.style.setProperty(\"--height-minus-index\", `${el.offsetHeight}px`);\n el.style.setProperty(\"--index-width\", getComputedStyle(el.querySelector(\":scope > .n-carousel__index\")).width);\n index.style.position = \"\";\n }\n };\n const height_minus_index = new ResizeObserver((entries) => {\n // Limit outside index height to carousel height\n window.requestAnimationFrame(() => {\n // Observing the carousel wrapper\n entries.forEach((e) => {\n let el = e.target;\n setIndexWidth(el);\n });\n });\n });\n const init = (host = document) => {\n host.querySelectorAll(\".n-carousel:not([data-ready])\").forEach((el) => {\n const previous = getControl(el, \".n-carousel__previous\");\n const next = getControl(el, \".n-carousel__next\");\n const index = getControl(el, \".n-carousel__index\");\n const close_modal = getControl(el, \".n-carousel__close\");\n const full_screen = getControl(el, \".n-carousel__full-screen\");\n const content = el.querySelector(\":scope > .n-carousel__content\");\n if (!content) {\n return;\n }\n if (!!previous) {\n previous.onclick = slidePreviousEvent;\n }\n if (!!next) {\n next.onclick = slideNextEvent;\n }\n if (!!index) {\n index.onclick = slideIndexEvent;\n }\n if (!!close_modal) {\n close_modal.onclick = e => {\n if (e.target.closest('.n-carousel').classList.contains('n-carousel--overlay')) {\n closeModal(e.target);\n } else {\n openModal(e.target);\n }\n };\n }\n if (!!full_screen) {\n full_screen.onclick = (e) => {\n let carousel = e.target.closest(\".n-carousel\").querySelector(\":scope > .n-carousel__content\");\n carousel.dataset.xx = carousel.dataset.x;\n carousel.dataset.yy = carousel.dataset.y;\n toggleFullScreen(e.target);\n };\n const fullScreenEvent = (e) => {\n let carousel = e.target.querySelector(\":scope > .n-carousel__content\");\n window.requestAnimationFrame(() => {\n updateCarousel(carousel);\n carousel.dataset.x = carousel.dataset.xx;\n carousel.dataset.y = carousel.dataset.yy;\n delete carousel.dataset.xx;\n delete carousel.dataset.yy;\n if (carousel.dataset.x !== \"undefined\" && carousel.dataset.y !== \"undefined\") {\n scrollTo(carousel, carousel.dataset.x * ceilingWidth(carousel.children[carousel.dataset.x]), carousel.dataset.y * ceilingHeight(carousel.children[carousel.dataset.y]));\n }\n });\n };\n if (isSafari) {\n el.onwebkitfullscreenchange = fullScreenEvent;\n } else {\n el.onfullscreenchange = fullScreenEvent;\n }\n }\n content.addEventListener(\"keydown\", carouselKeys);\n el.addEventListener(\"keyup\", (e) => {\n if (e.key === \"Escape\") {\n let el = e.target;\n if (!el.closest('.n-carousel--overlay')) {\n el = document.querySelector('.n-carousel--overlay');\n }\n if (el) {\n closeModal(el);\n }\n }\n });\n updateSubpixels(content);\n content.observerStarted = true;\n let hashed_slide = !!location.hash ? content.querySelector(\":scope > \" + location.hash) : false;\n if (hashed_slide) {\n if (el.classList.contains('n-carousel--inline')) {\n openModal(content);\n // el.classList.add('n-carousel--overlay');\n }\n let index = [...hashed_slide.parentNode.children].indexOf(hashed_slide);\n if (isVertical(content)) {\n content.dataset.y = index;\n } else {\n content.dataset.x = index;\n }\n // slideTo(content, index); // This slides to the wrong slide\n window.nCarouselNav = [content, location.hash];\n }\n if (el.matches(\".n-carousel--vertical.n-carousel--auto-height\")) {\n content.style.height = '';\n content.style.height = getComputedStyle(content).height;\n el.dataset.ready = true;\n content.scrollTop = 0; // Should be a different value if the initial active slide is other than the first one (unless updateCarousel() takes care of it)\n }\n if (el.matches(\".n-carousel--auto-height\")) {\n // Auto has a specified height which needs update on resize\n autoHeightObserver.observe(content);\n }\n window.requestAnimationFrame(() => {\n observersOn(content);\n if (el.parentNode.matches(\".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height\")) {\n setIndexWidth(el);\n }\n updateCarousel(content);\n el.dataset.ready = true;\n if (el.matches(\".n-carousel--auto-slide\")) {\n let auto_delay = (parseFloat(el.dataset.interval) * 1000 || default_interval) + (parseFloat(el.dataset.duration) * 1000 || default_duration);\n let carouselTimeout = () => {\n if (isElementInViewport(content)) {\n slideNext(content);\n }\n content.nCarouselTimeout = setTimeout(carouselTimeout, auto_delay);\n };\n content.nCarouselTimeout = setTimeout(carouselTimeout, parseFloat(el.dataset.interval) * 1000 || default_interval);\n content.addEventListener(\"pointerenter\", (e) => clearTimeout(e.target.nCarouselTimeout));\n }\n el.dataset.platform = navigator.platform; // iPhone doesn't support full screen, Windows scroll works differently\n });\n content.nCarouselUpdate = updateCarousel;\n const targets = content.querySelectorAll(':scope > *');\n const inView = target => {\n const interSecObs = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n let slide = entry.target;\n let carousel = slide.parentNode;\n if (entry.isIntersecting && !carousel.parentNode.dataset.sliding && getComputedStyle(carousel).visibility !== 'hidden') {\n if (carousel.dataset.next && parseInt(carousel.dataset.next) !== [...carousel.children].indexOf(slide)) {\n return;\n }\n delete carousel.dataset.next;\n observersOff(el);\n carousel.scrollLeft;\n carousel.scrollTop;\n let interval = 10; // Get rid of this magic number by timeout comparison with previous scroll offset\n let timeout_function = () => {\n // console.log(entry, entry.target, 'is intersecting at', entry.target.parentElement.scrollLeft, entry.target.parentElement.scrollTop);\n // if (Math.abs(x - carousel.scrollLeft) >= 1) {\n // console.log('intersection continue', x, carousel.scrollLeft, y, carousel.scrollLeft);\n // clearTimeout(timeout);\n // timeout = setTimeout(timeout_function, interval);\n // return;\n // }\n // console.log('intersection ', x, carousel.scrollLeft, y, carousel.scrollLeft);\n let index = [...carousel.children].indexOf(slide);\n if (isAuto(carousel)) {\n let old_height = parseFloat(getComputedStyle(carousel).height);\n let new_height;\n let offset_y = 0;\n let lastScrollX = carousel.scrollLeft;\n let lastScrollY = carousel.scrollTop;\n if (isVertical(carousel)) {\n let scroll_offset = carousel.scrollTop;\n slide.style.height = 'auto';\n let computed_max_height = getComputedStyle(el).maxHeight;\n let max_height = computed_max_height.match(/px/) ? Math.ceil(parseFloat(computed_max_height)) : 99999;\n // new_height = Math.min(slide.scrollHeight, max_height);\n new_height = Math.min(Math.ceil(parseFloat(getComputedStyle(slide).height)), max_height);\n // new_height = slide.scrollHeight;\n if (isModal(carousel) || isFullScreen()) {\n old_height = new_height = carousel.offsetHeight;\n }\n slide.style.height = '';\n carousel.scrollTop = scroll_offset;\n offset_y = index * new_height - carousel.scrollTop;\n } else {\n new_height = nextSlideHeight(slide); // ?\n // console.log(lastScrollX);\n if (!!lastScrollX) { // Because RTL auto height landing on first slide creates an infinite intersection observer loop\n scrollTo(carousel, lastScrollX, lastScrollY);\n }\n }\n if (old_height === new_height) {\n new_height = false;\n }\n carousel.parentNode.dataset.sliding = true;\n // interSecObs.unobserve(slide);\n window.requestAnimationFrame(() => {\n scrollAnimate(carousel, 0, offset_y, new_height, old_height).then(() => {});\n });\n } else {\n // console.log(carousel);\n window.requestAnimationFrame(() => {\n updateCarousel(carousel);\n });\n }\n // updateCarousel(entry.target.parentNode);\n };\n setTimeout(timeout_function, interval);\n }\n });\n }, { threshold: .996, root: target.parentElement }); // .99 works for all, including vertical auto height\n interSecObs.observe(target);\n // console.log('intersection observing ', target)\n };\n targets.forEach(inView);\n if (el.matches('.n-carousel--lightbox')) {\n let loaded = img => {\n img.closest('picture').dataset.loaded = true;\n };\n content.querySelectorAll(\"picture img\").forEach(el => {\n if (el.complete) {\n loaded(el);\n } else {\n el.addEventListener(\"load\", e => {\n loaded(e.target);\n });\n }\n });\n }\n });\n };\n window.nCarouselInit = init;\n window.addEventListener('popstate', e => { // Hash navigation support\n // console.log(e);\n if (!!location.hash) {\n let el = document.querySelector(location.hash);\n let carousel = el?.parentNode;\n if (!!carousel && carousel.classList.contains('n-carousel__content') && !carousel.parentNode.closest('.n-carousel__content')) {\n let modal_carousel = document.querySelector('.n-carousel--overlay > .n-carousel__content');\n if (modal_carousel && modal_carousel !== carousel) {\n closeModal(modal_carousel);\n // modal_carousel.parentNode.classList.remove('n-carousel--overlay');\n }\n if (carousel.parentNode.classList.contains('n-carousel--inline')) {\n closeModal(carousel);\n // carousel.parentNode.classList.add('n-carousel--overlay');\n }\n if (isSafari) { // Safari has already scrolled and needs to rewind it scroll position in order to animate it\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n }\n slideTo(carousel, [...carousel.children].indexOf(el));\n window.nCarouselNav = [carousel, location.hash];\n }\n } else {\n if (window.nCarouselNav) { // Previously navigated to a slide\n let carousel = window.nCarouselNav[0];\n delete window.nCarouselNav;\n if (isSafari) { // Safari has already scrolled and needs to rewind it scroll position in order to animate it\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n }\n slideTo(carousel, [...carousel.children].indexOf(carousel.querySelector(':scope > :not([id])')));\n }\n }\n });\n const doInit = () => {\n (typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-carousel\", init): init();\n };\n if (document.readyState !== \"loading\") {\n doInit();\n } else {\n document.addEventListener(\"DOMContentLoaded\", doInit);\n }\n})();\n//# sourceMappingURL=n-carousel@npm.js.map\n\n/* Modal – start */\n(function() {\n var scroll_timeout;\n const blockScroll = e => {\n // console.log(e);\n // if (isSafari) {\n document.querySelectorAll('dialog.n-modal[open]').forEach(el => {\n el.classList.add('n-modal--transparent');\n });\n clearTimeout(scroll_timeout);\n scroll_timeout = setTimeout(() => {\n document.querySelectorAll('dialog.n-modal[open]').forEach(el => {\n el.classList.remove('n-modal--transparent');\n });\n }, 67);\n // } else {\n // window.scrollTo(x, y);\n // }\n };\n\n function disableScrolling() {\n // window.onscroll = function() { window.scrollTo(x, y); };\n window.addEventListener('scroll', blockScroll, { 'passive': 'true' });\n }\n\n function enableScrolling() {\n // window.onscroll = function() {};\n window.removeEventListener('scroll', blockScroll);\n }\n // var previouslyFocused = previouslyFocused || false;\n function transferClass(origin, target, className) {\n let classes = typeof className === \"string\" ? new Array(className) : className;\n classes.forEach(el => {\n if (origin.classList.contains(el)) {\n target.classList.add(el);\n }\n });\n }\n const animationDuration = () => window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? (getComputedStyle(document.querySelector('.n-modal')).getPropertyValue('--duration') * 1000) : 0;\n let removeModal = e => {\n document.documentElement.classList.remove('transparent-scrollbar');\n let modal = e.target;\n modal.removeEventListener('close', removeModal);\n if (modal.existingDetachedElement) {\n // console.log(modal);\n if (!modal.existingModal) {\n let content = modal.querySelector('.n-modal__content');\n content.removeChild(content.firstElementChild);\n }\n delete modal.existingDetachedElement;\n modal.remove();\n }\n if (modal.attachedHiddenContent) {\n modal.replaceWith(modal.lastChild);\n } else {\n if (modal.dataset.existingAttachedContent) {\n modal.replaceWith(modal.lastChild.firstElementChild);\n } else {\n if (modal.existingModal) {\n delete modal.existingModal;\n delete modal.dataset.anim;\n } else {\n modal.remove();\n }\n }\n }\n };\n\n function closeModal(modal) {\n let direction_option = \"normal\";\n var animation = modal.dataset.anim; // Custom animation?\n if (!animation || animation.length < 11) {\n // '', 'null' or 'undefined'?\n animation = '[{ \"transform\": \"translate3d(0,0,0)\" }, { \"transform\": \"translate3d(0,-100vh,0)\" }]';\n } else {\n direction_option = \"reverse\";\n }\n modal.classList.add('n-modal--closing');\n setTimeout(() => { modal.classList.remove('n-modal--closing'); }, animationDuration());\n modal.animate(JSON.parse(animation), { duration: animationDuration(), direction: direction_option, easing: \"ease-in-out\" }).onfinish = () => {\n enableScrolling();\n // nuiDisableBodyScroll(false, modal); // Turn off and restore page scroll\n if (modal.existingModal) {\n if (!modal.existingDetachedElement) {\n modal.removeEventListener('close', removeModal);\n }\n // delete modal.existingModal;\n delete modal.dataset.anim;\n }\n modal.close();\n // document.querySelector(\"html\").classList.remove(\"no-scroll\");\n // window.scrollTo(modal.previousScrollX, modal.previousScrollY);\n };\n }\n\n function openModal(options) {\n // options: {content: \"\"/element, animation: \"\", trigger: element, closeSymbol: \"\", closeLabel: \"\"}\n // content is either an HTML string or an element\n // options can be solely content if it's a string or element\n // Fix Chrome flashing disappearing scrollbars on open\n document.documentElement.style.overflow = 'scroll';\n const scrollbar_width = window.innerWidth - document.documentElement.offsetWidth;\n document.documentElement.style.overflow = '';\n if (!scrollbar_width) { // Because Chrome flashes disappearing scrollbars on open (Mac)\n document.documentElement.classList.add('transparent-scrollbar');\n }\n if (typeof options === 'string' || !!options.tagName) {\n options = { content: options };\n }\n let animation = options.animation;\n let content = options.content;\n let trigger = options.trigger;\n var wrapper = {};\n var existingDetachedElement = false;\n if (content.parentNode) {\n // console.log(content.parentNode);\n if (content.parentNode.tagName === 'DIALOG' || content.parentNode.classList.contains('n-modal__content')) {\n return;\n }\n } else {\n if (content.tagName) {\n existingDetachedElement = true;\n }\n }\n const close_label = 'Close';\n const close_symbol = '╳';\n if (typeof content === 'object' && content.tagName === 'DIALOG') {\n if (!content.parentNode) { // Detached modal\n document.body.appendChild(content);\n }\n wrapper = content;\n wrapper.existingModal = true;\n let close_button = wrapper.querySelector('.n-modal__close');\n if (close_button) {\n close_button.dataset.closeSymbol = close_button.dataset.closeSymbol || close_symbol;\n close_button.ariaLabel = close_button.ariaLabel || close_label;\n }\n } else {\n wrapper = document.createElement(\"dialog\");\n wrapper.insertAdjacentHTML(\"afterbegin\", `
`);\n document.createElement(\"div\");\n if (typeof content === \"string\") {\n wrapper.lastChild.innerHTML = content;\n document.body.appendChild(wrapper);\n } else {\n let parent = content.parentElement;\n if (parent) {\n let marker = document.createElement('div');\n content.replaceWith(marker);\n wrapper.lastChild.appendChild(content);\n marker.replaceWith(wrapper);\n if (content.classList.contains('n-modal__content')) {\n wrapper.lastChild.replaceWith(content);\n wrapper.attachedHiddenContent = true;\n } else {\n wrapper.dataset.existingAttachedContent = true;\n }\n } else {\n wrapper.lastChild.appendChild(content);\n document.body.appendChild(wrapper);\n }\n }\n }\n if (options.blur) {\n wrapper.classList.add('n-modal--blur');\n }\n if (options.shadow) {\n wrapper.classList.add('n-modal--shadow');\n }\n if (options.rounded) {\n wrapper.classList.add('n-modal--rounded');\n }\n if (options.full) {\n wrapper.classList.add('n-modal--full');\n }\n wrapper.dataset.anim = animation;\n wrapper.classList.add(\"n-modal\");\n wrapper.onclick = (e) => {\n let el = e.target.closest('.n-modal');\n let button = e.target.closest('.n-modal__close');\n if (button || (e.target.matches('.n-modal') && (e.offsetX < 0 || e.offsetY < 0 || (e.offsetX - 2) > el.getBoundingClientRect().width || (e.offsetY - 2) > el.getBoundingClientRect().height))) {\n closeModal(el);\n }\n };\n wrapper.addEventListener(\"cancel\", e => {\n e.preventDefault();\n closeModal(e.target.closest('.n-modal'));\n });\n if (existingDetachedElement) {\n wrapper.existingDetachedElement = true;\n }\n wrapper.showModal();\n // nuiDisableBodyScroll(true, wrapper); // Turn on and block page scroll\n // if (document.querySelectorAll(\".n-modal\").length === 1) {\n // // Sole (first) modal\n // wrapper.previousScrollX = window.scrollX;\n // wrapper.previousScrollY = window.scrollY;\n // }\n // document.querySelector(\"html\").classList.add(\"no-scroll\");\n wrapper.animate(typeof animation === \"string\" ? JSON.parse(animation) : [{ transform: \"translate3d(0,-100vh,0)\" }, { transform: \"translate3d(0,0,0)\" }], {\n duration: animationDuration(),\n easing: \"ease-in-out\",\n }).onfinish = () => {\n wrapper.addEventListener('close', removeModal);\n disableScrolling();\n };\n return wrapper;\n }\n\n function parseHTML(str) {\n var tmp = document.implementation.createHTMLDocument(\"Parsed\");\n tmp.body.innerHTML = str;\n // To do: destroy the HTMLDocument before returning\n return tmp.body;\n }\n\n function modalWindowLink(e) {\n // Modal window of external file content\n var el = e.target;\n let trigger = el.closest(\".n-modal-link\");\n var link = trigger.dataset.href || trigger.href; // data-href for
`;\n\t\t\t\t});\n\t\t\t\tel = document.createElement(\"span\");\n\t\t\t\tel.insertAdjacentHTML(\"beforeend\", options);\n\t\t\t\twrapper.prepend(el);\n\t\t\t}\n\t\t\tel.nuiSelectWrapper = wrapper;\n\t\t\tel.classList.add(\"n-select__options\");\n\t\t\tel.nuiNativeInput = el.nuiSelectWrapper.querySelector(\"select, input\") || nextMatchingSibling(el.nuiSelectWrapper, \"select\") || document.querySelector(`[data-n_select=\"${el.nuiSelectWrapper.dataset.n_select}\"]`); // As a sibling, child or data-n_select match (where data-n_select is the rich select's data-n_select attribute)\n\t\t\tif (!el.nuiNativeInput) {\n\t\t\t\t// Missing native select, so generate it\n\t\t\t\tlet input = document.createElement(\"select\");\n\t\t\t\tinput.name = input.id = el.dataset.name;\n\t\t\t\twrapper.append(input);\n\t\t\t\tel.nuiNativeInput = input;\n\t\t\t}\n\t\t\tlet initial_value = el.nuiNativeInput.value;\n\t\t\tlet initial_option = el.querySelector(`button[value=\"${initial_value}\"`);\n\t\t\tel.nuiNativeInput.innerHTML = \"\";\n\t\t\twrapper.addEventListener(\"pointerdown\", pointerDownSelect);\n\t\t\tel.addEventListener(\"click\", clickSelect); // Selects a clicked (pointer upped) option\n\t\t\tel.addEventListener(\"focusout\", (e) => {\n\t\t\t\tlet select = e.target.closest(\".n-select__options\");\n\t\t\t\t// If relatedTarget isn't a sibling, close and focus on select wrapper\n\t\t\t\tif (select.hasAttribute(\"aria-expanded\") && !!e.relatedTarget && e.relatedTarget.parentNode !== select) {\n\t\t\t\t\tcloseSelect(select);\n\t\t\t\t\tselect.nuiSelectWrapper.focus();\n\t\t\t\t}\n\t\t\t});\n\t\t\tel.ontransitionend = (e) => {\n\t\t\t\tlet el = e.target;\n\t\t\t\tel.style.removeProperty(\"--mask-position-y\");\n\t\t\t\tel.style.removeProperty(\"--mask-size-y\");\n\t\t\t\tdelete el.dataset.nSelectAnimation;\n\t\t\t\tel.addEventListener(\"pointerup\", pointerUpSelect);\n\t\t\t\t// el.dataset.transitionend = true;\n\t\t\t};\n\t\t\tel.addEventListener(\"keydown\", selectKeyboard);\n\t\t\twrapper.addEventListener(\"keydown\", selectKeyboard);\n\t\t\tel.addEventListener(\"keyup\", trapKeyboard);\n\t\t\twrapper.addEventListener(\"keyup\", trapKeyboard);\n\t\t\tel.lastElementChild.onkeydown = (e) => {\n\t\t\t\t// Close select on tab outside. To do: get last button only\n\t\t\t\tif (e.key === \"Tab\" && !e.shiftKey && e.target.parentNode.hasAttribute(\"aria-expanded\")) {\n\t\t\t\t\tcloseSelect(e.target.parentNode);\n\t\t\t\t\te.target.parentNode.nuiSelectWrapper.focus();\n\t\t\t\t}\n\t\t\t};\n\t\t\tel.querySelectorAll(\"button\").forEach((el) => {\n\t\t\t\tel.type = \"button\"; // Unlike the default 'submit'\n\t\t\t\tel.value = el.value || el.textContent.trim();\n\t\t\t});\n\t\t\twrapper.setAttribute(\"tabindex\", 0);\n\t\t\t(el.querySelector(\"[aria-selected]\") || el.firstElementChild).tabIndex = -1;\n\t\t\twrapper.style.setProperty(\"--inline-width\", `${el.getBoundingClientRect().width}px`);\n\t\t\tselectOption(el.querySelector(\"[aria-selected]\") || initial_option || el.querySelector(\"button\")); // Select the first option by default\n\t\t\tel.nuiSearchTerm = \"\";\n\t\t\t[\"n-select--rounded\", \"n-select--shadow\"].forEach((cls) => {\n\t\t\t\tif (wrapper.classList.contains(cls)) {\n\t\t\t\t\tel.classList.add(cls);\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet label = el.closest(\"label\") || document.querySelector(`label[for=\"${el.nuiNativeInput.id}\"]`);\n\t\t\tif (label) {\n\t\t\t\tlabel.onclick = (e) => {\n\t\t\t\t\tlet el = e.target;\n\t\t\t\t\tif (!el.closest(\".n-select\")) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tel = el.closest(\"label\");\n\t\t\t\t\t\tlet select = el.querySelector(\".n-select\") || document.getElementById(el.getAttribute(\"for\")).closest(\".n-select\");\n\t\t\t\t\t\tselect.focus();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t\twrapper.dataset.ready = true;\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t// wrapper.style.setProperty(\"--active-option-height\", `${el.querySelector(\"[aria-selected]\").getBoundingClientRect().height}px`);\n\t\t\t\tupdateOptionHeight(wrapper, el);\n\t\t\t\t[\"--nui-control-color\", \"--nui-control-bg\", \"--nui-control-active-color\", \"--nui-control-active-bg\", \"--nui-control-highlight\"].forEach((i) => {\n\t\t\t\t\tel.style.setProperty(i, wrapper.style.getPropertyValue(i));\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t};\n\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-select\", init) : init(document.body);\n})();\n//# sourceMappingURL=n-select@npm.js.map\n\n// Component Tooltip – start\n(function() {\n\tlet setTipPosition = (tool, tip) => {\n\t\t// Take up the most area available on top/right/bottom/left of the tool. Relative to body.\n\t\tlet rect = tool.getBoundingClientRect();\n\t\tlet top = rect.top;\n\t\tlet left = rect.left;\n\t\tlet right = window.innerWidth - left - rect.width;\n\t\tlet bottom = window.innerHeight - top - rect.height; // To do: check when body is shorter than viewport\n\t\tlet area_top = top * window.innerWidth;\n\t\tlet area_right = right * window.innerHeight;\n\t\tlet area_bottom = bottom * window.innerWidth;\n\t\tlet area_left = left * window.innerHeight;\n\t\tlet body_rect = document.body.getBoundingClientRect();\n\t\ttip.removeAttribute(\"style\");\n\t\tdelete tip.dataset.position;\n\t\ttip.classList.add('n-tooltip__content-visible');\n\t\tlet positionTop = () => {\n\t\t\ttip.style.bottom = 20 + body_rect.height + body_rect.y - top + \"px\";\n\t\t\ttip.style.maxHeight = top - 40 + \"px\";\n\t\t\ttip.style.left = `${rect.x + rect.width / 2 - tip.scrollWidth / 2}px`;\n\t\t\ttip.dataset.nPosition = \"top\";\n\t\t};\n\t\tlet positionBottom = () => {\n\t\t\ttip.style.top = 20 - body_rect.y + top + rect.height + \"px\";\n\t\t\ttip.style.maxHeight = bottom - 40 + \"px\";\n\t\t\ttip.style.left = `${rect.x + rect.width / 2 - tip.scrollWidth / 2}px`;\n\t\t\ttip.dataset.nPosition = \"bottom\";\n\t\t};\n\t\tlet positionLeft = () => {\n\t\t\ttip.style.left = \"auto\";\n\t\t\ttip.style.right = 20 + body_rect.width + body_rect.x - window.innerWidth + right + rect.width + \"px\";\n\t\t\ttip.style.maxWidth = left - 40 + \"px\";\n\t\t\ttip.style.top = `${-1 * body_rect.y + rect.top + rect.height / 2 - tip.scrollHeight / 2}px`;\n\t\t\ttip.dataset.nPosition = \"left\";\n\t\t};\n\t\tlet positionRight = () => {\n\t\t\ttip.style.left = rect.x - body_rect.x + rect.width + 20 + \"px\";\n\t\t\ttip.style.maxWidth = right - 40 + \"px\";\n\t\t\ttip.style.top = `${-1 * body_rect.y + rect.top + rect.height / 2 - tip.scrollHeight / 2}px`;\n\t\t\ttip.dataset.nPosition = \"right\";\n\t\t};\n\t\tif (area_left > area_right) {\n\t\t\tif (area_top > area_bottom) {\n\t\t\t\tif (area_top > area_left) {\n\t\t\t\t\t// Top\n\t\t\t\t\tpositionTop();\n\t\t\t\t} else {\n\t\t\t\t\t// Left\n\t\t\t\t\tpositionLeft();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (area_bottom > area_left) {\n\t\t\t\t\t// Bottom\n\t\t\t\t\tpositionBottom();\n\t\t\t\t} else {\n\t\t\t\t\t// Left\n\t\t\t\t\tpositionLeft();\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (area_top > area_bottom) {\n\t\t\t\tif (area_top > area_right) {\n\t\t\t\t\t// Top\n\t\t\t\t\tpositionTop();\n\t\t\t\t} else {\n\t\t\t\t\t// Right\n\t\t\t\t\tpositionRight();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (area_bottom > area_right) {\n\t\t\t\t\t// Bottom\n\t\t\t\t\tpositionBottom();\n\t\t\t\t} else {\n\t\t\t\t\t// Right\n\t\t\t\t\tpositionRight();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tlet rect_tip = tip.getBoundingClientRect();\n\t\tlet offset_y = 0;\n\t\tif (rect_tip.y < 0) {\n\t\t\toffset_y = Math.abs(rect_tip.y) + 10;\n\t\t} else {\n\t\t\tif (rect_tip.bottom > window.innerHeight) {\n\t\t\t\toffset_y = window.innerHeight - rect_tip.bottom - 10;\n\t\t\t}\n\t\t}\n\t\ttip.style.setProperty(\"--offset_y\", offset_y + \"px\");\n\t\tlet offset_x = 0;\n\t\tif (rect_tip.x < 0) {\n\t\t\toffset_x = Math.abs(rect_tip.x) + 10;\n\t\t} else {\n\t\t\tif (rect_tip.right > window.innerWidth) {\n\t\t\t\toffset_x = window.innerWidth - rect_tip.right - 10;\n\t\t\t}\n\t\t}\n\t\ttip.style.setProperty(\"--offset_x\", offset_x + \"px\");\n\t};\n\n\tfunction getToolTip(tool) {\n\t\treturn document.getElementById(tool.getAttribute('aria-describedby')) || tool.nextElementSibling;\n\t}\n\tconst hideTipFunction = tool => {\n\t\tlet tip = getToolTip(tool);\n\t\ttool.removeAttribute(\"aria-expanded\");\n\t\ttool.after(tip);\n\t\ttip.removeAttribute(\"style\");\n\t\tdelete tip.dataset.position;\n\t\ttip.classList.remove('n-tooltip__content-visible');\n\t};\n\tlet hideTip = (e) => {\n\t\thideTipFunction(e.target.closest(\".n-tooltip\"));\n\t};\n\tconst hideTipOnScroll = e => {\n\t\tdocument.querySelectorAll('.n-tooltip').forEach(el => hideTipFunction(el));\n\t\tdocument.removeEventListener('scroll', hideTipOnScroll);\n\t};\n\tlet showTip = (e) => {\n\t\tlet tool = e.target.closest(\".n-tooltip\");\n\t\tlet tip = getToolTip(tool);\n\t\ttool.setAttribute(\"aria-expanded\", true);\n\t\tdocument.body.appendChild(tip);\n\t\tsetTipPosition(tool, tip);\n\t\tdocument.addEventListener('scroll', hideTipOnScroll, true);\n\t};\n\tconst init = (host = document) => {\n\t\t/* Tooltip */\n\t\thost.querySelectorAll(\".n-tooltip\")?.length;\n\t\thost.querySelectorAll(\".n-tooltip:not([data-ready])\").forEach((el) => {\n\t\t\tel.setAttribute(\"tabindex\", 0);\n\t\t\tel.addEventListener('touchend', showTip);\n\t\t\tel.addEventListener('mouseover', showTip);\n\t\t\tel.addEventListener('focus', showTip);\n\t\t\tel.addEventListener('mouseout', hideTip);\n\t\t\tel.addEventListener('blur', hideTip);\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-tooltip\", init): init();\n})();\n// Component Tooltip – end\n//# sourceMappingURL=n-tooltip@npm.js.map\n\n// Component Nav – start\n(function() {\n /* Nav – start */\n function closeDropNavClickedOutside(e) {\n // Close the nav when clicking outside\n if (!e.target.closest(\".n-nav li\")) {\n document.querySelectorAll(\".n-nav li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n if (document.querySelector(\".n-nav :focus\")) {\n document.querySelector(\".n-nav :focus\").blur();\n }\n }\n }\n\n function isDesktop(nav) {\n // Checks the UL sub nav element\n return !!getComputedStyle(nav).getPropertyValue(\"--desktop\");\n }\n let navAnimating = false;\n\n function dropNavBlur(e) {\n var this_nav = e.target.closest(\".n-nav\");\n if (navAnimating || !e.relatedTarget) {\n return;\n }\n e.stopPropagation();\n let el = e.target;\n let item = el.tagName === \"LI\" ? el.querySelector(\"ul\") : el.parentElement.querySelector(\"ul\");\n if (!this_nav.contains(e.relatedTarget) || (isDesktop(this_nav) && !!e.relatedTarget && !closestElement(e.relatedTarget, this_nav))) {\n // if e.relatedTarget is not a child of this_nav, then the next focused item is elsewhere\n this_nav.querySelectorAll(\"li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n return;\n }\n if (item) {\n if (item.parentNode.parentNode.querySelector(\"ul [aria-expanded]\")) {\n // To do: Unless it's the first/last item and user has back/forward tabbed away from it?\n return;\n }\n item.parentElement.removeAttribute(\"aria-expanded\");\n }\n // Close neighboring parent nav's sub navs.\n el = e.target;\n var target_parent = el.closest(\"[aria-haspopup]\");\n if (target_parent) {\n // Skip if it's a top-level-only item\n target_parent.querySelectorAll(\"li[aria-expanded]\").forEach((el) => {\n // Disable active grandchildren\n el.removeAttribute(\"aria-expanded\");\n });\n }\n el = e.target.parentNode;\n if (!el.nextElementSibling && // last item\n el.parentNode.parentNode.nodeName === \"LI\" && // of third-level nav\n !el.parentNode.parentNode.nextElementSibling) {\n el.parentNode.parentNode.removeAttribute(\"aria-expanded\");\n }\n }\n\n function dropNavFocus(e) {\n // Close focused third level child when focus moves to another top-level item\n e.stopPropagation();\n var el = e.target.closest(\".n-nav > ul > li\");\n // To do: on LI focus, make it aria-expanded and focus its a\n if (navAnimating) {\n return;\n }\n [\n [].slice.call(el.parentElement.children),\n [].slice.call(e.target.parentElement.parentElement.children),\n [].slice.call(e.target.parentElement.parentElement.parentElement.parentElement.children),\n ].forEach((el) => {\n el.forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n });\n el.setAttribute(\"aria-expanded\", true);\n // \t\topenItem(el.querySelector('ul'));\n if (el.parentNode.parentNode.getAttribute(\"aria-haspopup\")) {\n el.parentNode.parentNode.setAttribute(\"aria-expanded\", true);\n }\n el.querySelectorAll(\"li[aria-expanded]\").forEach((el) => {\n // Hide grandchildren\n el.removeAttribute(\"aria-expanded\");\n });\n // Make current focused item's ancestors visible\n el = e.target;\n el.parentNode.setAttribute(\"aria-expanded\", true);\n var grand_parent = el.parentElement.parentElement.parentElement;\n if (grand_parent.tagName === \"LI\") {\n grand_parent.setAttribute(\"aria-expanded\", true);\n }\n }\n var closeDropNavClickedOutsideEnabled = false;\n \n const getDuration = () => window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? 200 : 0;\n \n let closeItem = (item) => {\n navAnimating = true;\n item.style.overflow = \"hidden\";\n item.parentElement.setAttribute(\"aria-expanded\", true);\n item.animate([{ height: `${item.scrollHeight}px` }, { height: 0 }], getDuration()).onfinish = () => {\n item.removeAttribute(\"style\");\n item.parentElement.removeAttribute(\"aria-expanded\");\n navAnimating = false;\n item.querySelectorAll(\"[aria-expanded]\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n };\n };\n let openItem = (item) => {\n navAnimating = true;\n item.style.overflow = \"hidden\";\n item.parentElement.setAttribute(\"aria-expanded\", true);\n item.animate([{ height: 0 }, { height: `${item.scrollHeight}px` }], getDuration()).onfinish = () => {\n item.removeAttribute(\"style\");\n navAnimating = false;\n };\n };\n let clickEvent = (e) => {\n e.stopPropagation();\n // To do: also ancestors, also close when open\n let el = e.target;\n var this_nav = el.closest(\".n-nav\");\n this_nav.removeEventListener(\"focusout\", dropNavBlur);\n if (this_nav.contains(document.activeElement)) {\n document.activeElement.blur();\n }\n let item = el.tagName === \"LI\" ? el.querySelector(\"ul\") : el.parentElement.querySelector(\"ul\");\n if (isDesktop(this_nav)) {\n if (el.getAttribute(\"aria-expanded\")) {\n if (el.querySelector(\"a:focus\")) ; else {\n if (isDesktop(this_nav)) {\n el.removeAttribute(\"aria-expanded\");\n } else {\n closeItem(item);\n }\n }\n } else {\n [].slice.call(el.parentElement.children).forEach((item) => {\n item.removeAttribute(\"aria-expanded\");\n let old_item_open_child = item.querySelector(\"[aria-expanded]\");\n if (old_item_open_child) {\n old_item_open_child.removeAttribute(\"aria-expanded\");\n }\n });\n el.setAttribute(\"aria-expanded\", true);\n if (!isDesktop(this_nav)) {\n openItem(item);\n }\n }\n } else {\n if (item.parentNode.hasAttribute(\"aria-expanded\")) {\n closeItem(item);\n } else {\n // If new item is top level, close another top level item, if any is open\n if (item.parentElement.parentElement.matches(\"ul\")) {\n // It's top level, To do: also on secondary level, close open sibling\n let old_item = item.parentElement.closest(\"ul\").querySelector('[aria-expanded=\"true\"] > ul');\n if (old_item) {\n closeItem(old_item);\n }\n }\n openItem(item);\n }\n }\n this_nav.addEventListener(\"focusout\", dropNavBlur);\n };\n\n function checkSides(ul, menubar) {\n if (getComputedStyle(ul).direction !== 'rtl') {\n ul.classList.remove(\"n-right-overflow\");\n ul.style.removeProperty(\"--n-right-overflow\");\n //\t\tvar rect = ul.getBoundingClientRect(); // Firefox doesn't preserve this var\n if (ul.getBoundingClientRect().left > document.body.offsetWidth - (ul.getBoundingClientRect().left + ul.getBoundingClientRect().width)) {\n if (ul.getBoundingClientRect().right > window.innerWidth) {\n ul.style.setProperty(\"--n-right-overflow\", window.innerWidth - ul.getBoundingClientRect().right + \"px\");\n ul.classList.add(\"n-right-overflow\");\n }\n ul.classList.add(\"n-left-side\");\n } else {\n ul.classList.remove(\"n-left-side\");\n }\n }\n }\n\n function initNav(el) {\n // Delete all trigger inputs, add tabindex=0 to each li\n el.querySelectorAll(\"input\").forEach((el) => {\n el.outerHTML = \"\";\n });\n el.querySelectorAll(\"li > a\").forEach((el) => {\n el.setAttribute(\"tabindex\", 0);\n });\n if (!el.closest(\".n-nav.n-nav--drop\")) {\n // The rest is for drop nav only\n return;\n }\n if (!closeDropNavClickedOutsideEnabled) {\n window.addEventListener(\"touchend\", closeDropNavClickedOutside);\n window.addEventListener(\"mouseup\", closeDropNavClickedOutside);\n closeDropNavClickedOutsideEnabled = true;\n }\n el.addEventListener(\"keyup\", (e) => {\n // Check for sibling or children to expand on control keys Left/Right/etc\n if (e.key === \"Escape\") {\n e.target.closest(\".n-nav\").querySelectorAll(\"li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n document.activeElement.blur();\n }\n });\n el.querySelectorAll(\"li\").forEach((el) => {\n let ul = el.querySelector(\"ul\");\n if (ul) {\n el.setAttribute(\"aria-haspopup\", true);\n if (el.children[0].nodeName === \"UL\") {\n el.insertBefore(el.children[1], el.children[0]); // Swap 'a' with 'ul'\n }\n }\n });\n el.addEventListener(\"mousedown\", clickEvent);\n el.addEventListener(\"focusin\", dropNavFocus);\n el.addEventListener(\"focusout\", dropNavBlur);\n window.requestAnimationFrame(() => {\n // Give the browser time to update\n el.querySelectorAll(\"ul\").forEach((ul) => {\n checkSides(ul);\n });\n });\n }\n window.addEventListener(\"resize\", function(e) {\n document.querySelectorAll(\".n-nav.n-nav--drop ul\").forEach((menubar) => {\n menubar.querySelectorAll(\"ul\").forEach((ul) => {\n checkSides(ul);\n });\n });\n });\n /* Nav – end */\n let init = (host) => {\n host.querySelectorAll(\".n-nav:not([data-ready]) > ul:not([role])\").forEach((el) => {\n initNav(el);\n el.closest(\".n-nav\").dataset.ready = true;\n });\n };\n nui.registerComponent(\"nav\", init);\n})();\n// Component Nav – end\n//# sourceMappingURL=nav.js.map\n\n// Component Notification bar – start\n(function() {\n\tfunction notifyClose(el) {\n\t\tif (!!el) {\n\t\t\tel.parentNode.removeChild(el);\n\t\t}\n\t}\n\n\tfunction notifyCloseEvent() {\n\t\tif (document.querySelector(\".n-notify\")) {\n\t\t\tdocument.querySelector(\".n-notify\").onclick = (e) => {\n\t\t\t\tnotifyClose(e.target);\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction notify(content, option) {\n\t\tdocument.body.insertAdjacentHTML(\"afterbegin\", ``);\n\t\tdocument.querySelector(\".n-notify\").focus();\n\t\tnotifyCloseEvent();\n\t\tif (option && option.indexOf(\"timeout\") !== -1) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tnotifyClose(document.querySelector(\".n-notify\"));\n\t\t\t}, 2000);\n\t\t}\n\t}\n\tlet init = (host) => {\n\t\t/* Tooltip */\n\t\thost.querySelectorAll(\".n-notify:not([data-ready])\").forEach((el, i) => {\n\t\t\tnotifyCloseEvent();\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\tnui.registerComponent(\"notify\", init, {\n\t\t'name': 'notify',\n\t\t'code': notify\n\t});\n})();\n// Component Notification bar – end\n//# sourceMappingURL=notify.js.map\n\n// Component Parallax – start\n(function() {\n\t// Thanks Dave Rupert\n\tlet parallaxSpeed = 0.2;\n\tlet updateParallax = () => {\n\t\tdocument.querySelectorAll(\".n-parallax\").forEach((el) => {\n\t\t\tlet parent = el.parentElement;\n\t\t\tlet scroll_offset = parent.scrollHeight > parent.offsetHeight ? parent.getBoundingClientRect().y : document.body.scrollTop || document.documentElement.scrollTop;\n\t\t\tel.style.setProperty(\"--scrollparallax\", scroll_offset * parallaxSpeed);\n\t\t});\n\t};\n\tif (document.querySelector(\".n-parallax\")) {\n\t\twindow.addEventListener(\"scroll\", updateParallax, true);\n\t}\n\tlet init = (host) => {};\n\tnui.registerComponent(\"parallax\", init);\n})();\n// Component Parallax – end\n//# sourceMappingURL=parallax.js.map\n\n// Component Table – start\n(function () {\n\t/* Sort parent table's rows by matching column number alternatively desc/asc on click */\n\tconst toggleSort = (th) => {\n\t\tlet previous = th.closest(\"tr\").querySelector(\"td[data-ascending]\");\n\t\tif (previous && previous !== th) {\n\t\t\tdelete previous.dataset.ascending;\n\t\t}\n\t\treturn th.toggleAttribute(\"data-ascending\");\n\t};\n\tconst getCellValue = (tr, idx) => tr.children[idx].innerText || tr.children[idx].textContent;\n\tconst comparer = (idx, asc) => (a, b) => ((v1, v2) => (v1 !== \"\" && v2 !== \"\" && !isNaN(v1) && !isNaN(v2) ? v1 - v2 : v1.toString().localeCompare(v2)))(getCellValue(asc ? a : b, idx), getCellValue(asc ? b : a, idx));\n\tlet init = (host) => {\n\t\thost.querySelectorAll(\".n-table:not([data-ready])\").forEach((el) => {\n\t\t\tel.querySelectorAll(\"thead td button.n-table__sort, th button.n-table__sort\").forEach((button) => button.addEventListener(\"click\", (e) => {\n\t\t\t\tlet th = e.target.closest(\"th\") || e.target.closest(\"td\");\n\t\t\t\tconst tbody = th.closest(\"table\").querySelector(\"tbody\");\n\t\t\t\tArray.from(tbody.querySelectorAll(\"tr\")).sort(comparer(Array.from(th.parentNode.children).indexOf(th), toggleSort(th))).forEach((tr) => tbody.appendChild(tr));\n\t\t\t}));\n\t\t\tel.dataset.ready = true;\n\t\t\tel.setAttribute(\"tabindex\", 0); // To scroll with arrow keys\n\t\t});\n\t};\n\tnui.registerComponent(\"table\", init);\n})();\n// Component Table – end\n//# sourceMappingURL=table.js.map\n\n// Component Typography – start\n(function () {\n\tlet init = (host) => {\n\t\t/* Typography */\n\t\tif (typeof ResizeObserver === \"function\") {\n\t\t\t// Compensate element height according to line height\n\t\t\tlet ro = new ResizeObserver((entries) => {\n\t\t\t\tentries.forEach((el) => {\n\t\t\t\t\tlet a = el.target;\n\t\t\t\t\ta.style.removeProperty(\"--adjust-height\");\n\t\t\t\t\tlet style = getComputedStyle(a);\n\t\t\t\t\tlet line_height = parseFloat(style.lineHeight);\n\t\t\t\t\tlet adjust = line_height - (parseFloat(style.height) % line_height);\n\t\t\t\t\tif (adjust !== line_height) {\n\t\t\t\t\t\ta.style.setProperty(\"--adjust-height\", adjust);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tdocument.querySelectorAll(\".n-adjust-height:not([data-ready])\").forEach((el) => {\n\t\t\t\tro.observe(el);\n\t\t\t\tel.dataset.ready = true;\n\t\t\t});\n\t\t}\n\t};\n\tnui.registerComponent(\"typography\", init);\n})();\n// Component Typography – end\n//# sourceMappingURL=typography.js.map\nexport default nui;\n//# sourceMappingURL=niui.js.map\n"]} \ No newline at end of file diff --git a/dist/niui.min.js.size b/dist/niui.min.js.size index 3d1117fe..b9ddacec 100644 --- a/dist/niui.min.js.size +++ b/dist/niui.min.js.size @@ -1 +1 @@ -12455 +12491 diff --git a/index.html b/index.html index 31cfddf1..7e99bb5b 100644 --- a/index.html +++ b/index.html @@ -1,177 +1,177 @@ - - niui - - - - - - - - - + + - - - - - + } + + + + + + - - - - -
-
-
-
-
-

Native Internet User Interface 3.0

-

Lightweight, featureful front end for the web

-
-

GitHub repo

-
+ + + + +
+
+
+
-
    -
  • niui.min.css
  • -
  • niui.min.js
  • -
  • Lightweight
  • -
  • ES module
  • -
  • Accessible
  • -
  • Feature-packed
  • -
  • Dozens of demo pages
  • -
  • Progressive enhancement
  • -
  • WordPress theme
  • -
  • No dependencies
  • -
  • Style agnostic
  • -
  • Prefixed BEM CSS classes
  • -
  • Nestable components
  • -
  • Dynamic init
  • -
  • RTL ready
  • -
  • Unbreakable
  • -
+

Native Internet User Interface 3.0

+

Lightweight, featureful front end for the web

-
-

Reimplemented real world examples

-
-
-
- Oslo - To Make a Film - Postbank - CNN Travel - Hasselblad Chinese - Rado.bg - Tutsplus - Enoden - Nikon D850 - VI.nl - Loco2 - Apex - Pixel Pioneers - Truphone - Seehotel Jägerwirt - Uncharted: The Lost Legacy - David Bowie Is (Japan) - Norwegian - Star Wars - Stripe - Amnesty - Tesla - Brand Union - Apple - Vitsœ - Daring Fireball - Google Design - GOV.UK - Airbnb - Mapbox - SWISS - MUBI - Mitsubishi Regional Jet - JetBlue - Seat 61 - Pebble - Imperial Innovations - Microsoft +

GitHub repo

-
-
-

Developed by Radoslav Sharapanov since 2014.

-

Contribute at OpenCollective or buy me a beer at Revolut or PayPal.

-
+
+
    +
  • niui.min.css
  • +
  • niui.min.js
  • +
  • Lightweight
  • +
  • ES module
  • +
  • Accessible
  • +
  • Feature-packed
  • +
  • Dozens of demo pages
  • +
  • Progressive enhancement
  • +
  • WordPress theme
  • +
  • No dependencies
  • +
  • Style agnostic
  • +
  • Prefixed BEM CSS classes
  • +
  • Nestable components
  • +
  • Dynamic init
  • +
  • RTL ready
  • +
  • Unbreakable
  • +
+
+
+

Reimplemented real world examples

-
-
+
+
+ Oslo + To Make a Film + Postbank + CNN Travel + Hasselblad Chinese + Rado.bg + Tutsplus + Enoden + Nikon D850 + VI.nl + Loco2 + Apex + Pixel Pioneers + Truphone + Seehotel Jägerwirt + Uncharted: The Lost Legacy + David Bowie Is (Japan) + Norwegian + Star Wars + Stripe + Amnesty + Tesla + Brand Union + Apple + Vitsœ + Daring Fireball + Google Design + GOV.UK + Airbnb + Mapbox + SWISS + MUBI + Mitsubishi Regional Jet + JetBlue + Seat 61 + Pebble + Imperial Innovations + Microsoft +
+
-
-
-

Usage

-

Get niui.min.css
niui.min.js
and index.html
and edit the latter.

-

Or install with NPM and include the niui files

-
-
npm i --save-dev niui-npm
-
-
-
-
<link rel="styleSheet" href="./node_modules/niui-npm/dist/niui.min.css" type="text/css">
-
-
-
<script src="./node_modules/niui-npm/dist/niui.min.js" type="module"></script>
-
- or -
-
import nui from './node_modules/niui-npm/js/niui.js';
-
+

Developed by Radoslav Sharapanov since 2014.

+

Contribute at OpenCollective or buy me a beer at Revolut or PayPal.

+
+
+
+
+
+
+
+

Usage

+

Get niui.min.css
niui.min.js
and index.html
and edit the latter.

+

Or install with NPM and include the niui files

+
+
npm i --save-dev niui-npm
+
+
+
+
<link rel="styleSheet" href="./node_modules/niui-npm/dist/niui.min.css" type="text/css">
+
+
+
<script src="./node_modules/niui-npm/dist/niui.min.js" type="module"></script>
+
+ or +
+
import nui from './node_modules/niui-npm/js/niui.js';
+
-

To customize the bundle, remove anything unnecessary from components/ and run

-
-
npm i --legacy-peer-deps
+						

To customize the bundle, remove anything unnecessary from components/ and run

+
+
npm i --legacy-peer-deps
 ./build.sh
-
+
- -

Page structure

-

Minimal

-
-
<!DOCTYPE html>
+						

Page structure

+

Minimal

+
+
<!DOCTYPE html>
 <html>
 	<head>
 		<link rel="styleSheet" href="niui.min.css" type="text/css">
@@ -198,10 +198,10 @@ 

Minimal

</body> </html>
-
-

Recommended

-
-
<!DOCTYPE html>
+						
+

Recommended

+
+
<!DOCTYPE html>
 <html>
 	<head>
 		<meta charset="utf-8">
@@ -222,98 +222,98 @@ 

Recommended

</body> </html>
-
-

Options

-
    -
  • -
    .n-viewport
    – full viewport height section -
  • -
  • Use -
    .n-section
    containers in -
    <main>
    to clear inner vertical margins -
  • -
  • -
    body.n-sticky-footer
    for a sticky footer and vertical space taken by -
    <main>
    . -
  • -
  • -
    html.n-vertical-page
    blocks horizontal overflow. -
  • -
-
+

Options

+
    +
  • +
    .n-viewport
    – full viewport height section +
  • +
  • Use +
    .n-section
    containers in +
    <main>
    to clear inner vertical margins +
  • +
  • +
    body.n-sticky-footer
    for a sticky footer and vertical space taken by +
    <main>
    . +
  • +
  • +
    html.n-vertical-page
    blocks horizontal overflow. +
  • +
+
-
-
-
-
-
-

Grid

-

Columns with classes like _1/3 inside a container of class n-row

-
+
+
+
+
+
+
+

Grid

+

Columns with classes like _1/3 inside a container of class n-row

-
-
-
-
_1/5
-
+
+
+
+
+
_1/5
-
-
-
_4/5
-
+
+
+
+
_4/5
-
-
-
_1/4
-
+
+
+
+
_1/4
-
-
-
_3/4
-
+
+
+
+
_3/4
-
-
-
_1/3
-
+
+
+
+
_1/3
-
-
-
_2/3
-
+
+
+
+
_2/3
-
-
-
_2/5
-
+
+
+
+
_2/5
-
-
-
_3/5
-
+
+
+
+
_3/5
-
-
-
_1/2
-
+
+
+
+
_1/2
-
-
-
_1/2
-
+
+
+
+
_1/2
-
-
-
_1/1
-
+
+
+
+
_1/1
-
-
-
-
<div class="n-row">
+				
+
+
+
+
<div class="n-row">
 	<div>
 		<div>...</div>
 	</div>
@@ -321,49 +321,49 @@ 

Columns with classes like _1/3 inside a container of class n-row

-
-
-
-

Alignment

-
+
+
+
+

Alignment

-
-
-
Left Top


-
-
-
-
Center Top
-
-
-
Right Top
-
-
-
Left Middle
-
-
-
Left Bottom
-
-
-
Center Middle
-
-
-
Right Middle
-
-
-
Center Bottom
-
-
-
Right Bottom
+
+
+
+
Left Top


-
ThisLineIsTooLongAndMustBeClippedByTheContainerEvenThoughOverflowXandYDontWorkAsExpected
-
-
-
-
<div class="n-row">
+					
+
Center Top
+
+
+
Right Top
+
+
+
Left Middle
+
+
+
Left Bottom
+
+
+
Center Middle
+
+
+
Right Middle
+
+
+
Center Bottom
+
+
+
Right Bottom
+
+
ThisLineIsTooLongAndMustBeClippedByTheContainerEvenThoughOverflowXandYDontWorkAsExpected
+
+
+
+
+
<div class="n-row">
 	<div>
 		<div>Left Top<p><br></p></div>
 	</div>
@@ -393,118 +393,118 @@ 

Alignment

</div> <div>ThisLineIsTooLongAndMustBeClippedByTheContainerEvenThoughOverflowXandYDontWorkAsExpected</div> </div>
-
-
-
-

Grid without column padding

-
+
+
+
+

Grid without column padding

-
-
-
Bottom-aligned 1/2 wide column
-
-
-
Right-aligned 1/2 wide column.


-


-
+
+
+
+
Bottom-aligned 1/2 wide column
+
+
+
Right-aligned 1/2 wide column.


+


-
-
-
Top part of a vertical row in a normal column.
-
Bottom part of a vertical row.
-
+
+
+
+
Top part of a vertical row in a normal column.
+
Bottom part of a vertical row.
-
-
-
-
<div class="n-row n-row--no-padding">
+				
+
+
+
+
<div class="n-row n-row--no-padding">
 	<div>
 		<div>...</div>
 	</div>
 </div>
-
-
-
-

Grid without column margin (gutter)

-
+
+
+
+

Grid without column margin (gutter)

-
-
-
Bottom-aligned 1/2 wide column
-
-
-
Right-aligned 1/2 wide column.


-


-
+
+
+
+
Bottom-aligned 1/2 wide column
+
+
+
Right-aligned 1/2 wide column.


+


-
-
-
Top part of a vertical row in a normal column.
-
Bottom part of a vertical row.
-
+
+
+
+
Top part of a vertical row in a normal column.
+
Bottom part of a vertical row.
-
-
-
-
<div class="n-row n-row--no-margin">
+				
+
+
+
+
<div class="n-row n-row--no-margin">
 	<div>
 		<div>...</div>
 	</div>
 </div>
-
-
-
-

Grid without spacing

-
+
+
+
+

Grid without spacing

-
-
-
-
1
-
2
-
3
-
+
+
+
+
+
1
+
2
+
3
-
-
-
-
<div class="n-row n-row--no-spacing">
+				
+
+
+
+
<div class="n-row n-row--no-spacing">
 	<div>
 		<div>...</div>
 	</div>
 </div>
-
-
-
-

Embedded grid

-
+
+
+
+

Embedded grid

-
-
-
-
Child grid column
-
Child grid column
-
-
-
-
Parent grid column
+
+
+
+
+
Child grid column
+
Child grid column
-
-
-
-
<div class="n-row">
+					
+
Parent grid column
+
+
+
+
+
+
<div class="n-row">
 	<div>
 		<div class="n-row">
 			<div>Child grid column</div>
@@ -515,31 +515,31 @@ 

Embedded grid

<div>Parent grid column</div> </div> </div>
-
-
-
-

Embedded grid without extra spacing

-
+
+
+
+

Embedded grid without extra spacing

-
-
-
-
Child grid column
-
Child grid column
-
-
-
-
Parent grid column
+
+
+
+
+
Child grid column
+
Child grid column
-
-
-
-
<div class="n-row">
-	<div>
-		<div class="n-row n-unpad">
+					
+
Parent grid column
+
+
+
+
+
+
<div class="n-row">
+	<div>
+		<div class="n-row n-unpad">
 			<div>Child grid column</div>
 			<div>Child grid column</div>
 		</div>							
@@ -548,252 +548,363 @@ 

Embedded grid without extra spacing

<div>Parent grid column</div> </div> </div>
-
-
-
-

Grid with borders

-
+
+
+
+

Grid with borders

-
-
-
-
-

Grid with borders

-
-
-
Middle
-
-
-
Full width
-
+
+
+
+
+
+

Grid with borders

-
-
-
<div class="n-row n-row--border">
+							
+
Middle
+
+
+
Full width
+
+
+
+
+
<div class="n-row n-row--border">
 	<div>...</div>
 </div>
+
+
+
+
+

Grid with all borders

-
-
-
-

Grid with all borders

-
-
-
Middle
-
-
-
Full width
-
-
-
Top
-
-
-
Center Bottom
-
-
-
-
-
Right
-
Right
-
+
+
Middle
+
+
+
Full width
+
+
+
Top
+
+
+
Center Bottom
+
+
+
+
+
Right
+
Right
-
-
-
-
<div class="n-row n-row--border-all">
+				
+
+
+
+
<div class="n-row n-row--border-all">
 	<div>...</div>
 </div>
-
-
-
-

Right to left layout

-
+
+
+
+

Right to left layout

-
-
-
-
Bottom-aligned 1/2 wide column
-
-
-
Right-aligned 1/2 wide column.


-


-
-
-
-
-
Top part of a vertical row in a normal column.
-
Bottom part of a vertical row.
-
-
-
-
1/5
centered
+
+
+
+
+
Bottom-aligned 1/2 wide column
+
+
+
Right-aligned 1/2 wide column.


+


-
-
1/5
+
+
+
+
Top part of a vertical row in a normal column.
+
Bottom part of a vertical row.
-
ThisLineIsTooLongAndMustBeClippedByTheContainerEvenThoughOverflowXandYDontWorkAsExpected
-
1/5
+
+
+
1/5
centered
+
+
1/5
+
ThisLineIsTooLongAndMustBeClippedByTheContainerEvenThoughOverflowXandYDontWorkAsExpected
+
1/5
+
1/5
-
-
-
-
<div dir="rtl">
+				
+
+
+
+
<div dir="rtl">
 	...
 </div>
-
-
-
-
-
-

Options

-
    -
  • Column class is optional. Minimum width 20%.
  • -
  • -
    .n-row > div > .n-row--vertical.n-row
    – a vertical row as tall as the parent row with equal-height full-width children. -
  • -
  • By default, all images inside a grid are limited to 100% width.
  • -
  • A column with -
    .n-full-mobile-width
    will take the full mobile width. -
  • -
-
- + -
-
-
-

Typography

-

For niui typography features like baseline alignment, wrap the below elements inside an .n-type container.

-
-
-

Headlines

-

Headline 1

-

Headline 2

-

Headline 3

-

Headline 4

-
Headline 5
-
Headline 6
-

Headlines use padding instead of margin, to take up vertical space divisible by page line height.

-

Quote

- The sky above the port was the color of television, tuned to a dead channel. -
-
<q>
+			
+
+
+
+
+

Typography

+

For niui typography features like baseline alignment, wrap the below elements inside an .n-type container.

+
+
+

Headlines

+

Headline 1

+

Headline 2

+

Headline 3

+

Headline 4

+
Headline 5
+
Headline 6
+

Headlines use padding instead of margin, to take up vertical space divisible by page line height.

+

Quote

+ The sky above the port was the color of television, tuned to a dead channel. +
+
<q>
 	...
 </q>
-
-
-

Drop cap

-

Call me Ishmael. Some years ago - never mind how long precisely - having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world.

-
-
<p class="n-drop-cap">
+				
+
+

Drop cap

+

Call me Ishmael. Some years ago - never mind how long precisely - having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world.

+
+
<p class="n-drop-cap">
 	...
 </p>
-
-

Links

-

Here is a first link.

-

Paragraph

-

Text elements are baseline-aligned with height divisible by the default line height. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

-
-

Height compensation according to line height

- - Portrait - -
-
<span class="n-adjust-height">
+					

Links

+

Here is a first link.

+

Paragraph

+

Text elements are baseline-aligned with height divisible by the default line height. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

+
+
+

Height compensation according to line height

+ + Portrait + +
+
<span class="n-adjust-height">
 	...
 </span>
-
-

To avoid shifting on page load, add niui-preload.min.js in <head>.

+

To avoid shifting on page load, add niui-preload.min.js in <head>.

-
-
-
-
-

Aspect ratio container

-

As the image is loading, the layout is already solid and the page doesn't jump after the download.

- - Lido - -
-
-
<picture class="n-aspect" style="--width: 1600; --height: 681;">
+			
+
+
+
+
+

Aspect ratio container

+

As the image is loading, the layout is already solid and the page doesn't jump after the download.

+ + Lido + +
+
+
<picture class="n-aspect" style="--width: 1600; --height: 681;">
 	<img src="images/lido.jpg" alt="Lido" width="1600" height="681">
 </picture>
-
-

Options

-
    -
  • If the element has inline style --ratio, the --width/--height combination is ignored.
  • - -
  • The container can be a div and the content doesn't need to be an image.
  • -
+

Options

+
    +
  • If the element has inline style --ratio, the --width/--height combination is ignored.
  • + +
  • The container can be a div and the content doesn't need to be an image.
  • +
-
- + +
+
+ +
+

Tabs at the bottom

+ -
-
-
-
- -
-

Tabs at the bottom

- -
-

Tabs on top with auto height

- +
+

Tabs on top with auto height

+ -
-

Vertical tabs

- +
+

Vertical tabs

+ -
-

Vertical tabs on the right

- +
+

Vertical tabs on the right

+ -
-

Tabs at the bottom with detached nav

- -
-
<div class="n-carousel n-carousel--tabs" id="detached-tabs">
+				
+
+

Tabs at the bottom with detached nav

+ +
+
<div class="n-carousel n-carousel--tabs" id="detached-tabs">
 	<div class="n-carousel__content">
 		<div> Tab 1 </div>
 		<div> Tab 2 </div>
@@ -1676,85 +1676,85 @@ 

Tab 2

<button><span>Tab 1</span></button> <button><span>Tab 2</span></button> </div>
-
-
-
-

Options

-
    -
  • This component inherits the carousel
  • -
+
-
- + -
-
-
-

Tables

-
-
-

Default

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

Tables

+
+
+

Default

+
TheTableWillBeScrollableOnNarrowScreensBecauseOfWideCell One Time Second Long col Three Four
B3✔︎✔︎✔︎
Row Two with Long Headline to Test Table on Narrow Screens1✔︎✔︎✔︎
+ - - - - - + + + + + -
A2✔︎✔︎✔︎TheTableWillBeScrollableOnNarrowScreensBecauseOfWideCell One Time Second Long col Three Four
-
-
<table class="n-table">
+						
+						
+							B
+							3
+							✔︎
+							✔︎
+							✔︎
+						
+						
+							Row Two with Long Headline to Test Table on Narrow Screens
+							1
+							✔︎
+							✔︎
+							✔︎
+						
+						
+							A
+							2
+							✔︎
+							✔︎
+							✔︎
+						
+					
+					
+
<table class="n-table">
 	<thead>
 		<tr>
 			<td>Head</td>
@@ -2444,10 +2444,11 @@ 

Default

</tr> ... </table>
-
-
-

Wide

+
+
+

Wide

+
@@ -2467,54 +2468,57 @@

Wide

✔︎
-
-
<table class="n-table">
-	<tr>
-		<td>First</td>
+					
+
+
<div class="n-table--wide">
+	<table class="n-table">
+		<tr>
+			<td>First</td>
+			...
+		</tr>
 		...
-	</tr>
-	...
-</table>
-
+ </table> +</div>
-
-

Sortable

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

Sortable

+
Bee37
Candy16
Asteroid49
Emily08
+ - - - + + + -
Due25
-
-
<table class="n-table">
+						
+						
+							Bee
+							3
+							7
+						
+						
+							Candy
+							1
+							6
+						
+						
+							Asteroid
+							4
+							9
+						
+						
+							Emily
+							0
+							8
+						
+						
+							Due
+							2
+							5
+						
+					
+					
+
<table class="n-table">
 	<thead>
 		<tr>
 			<td><button class="n-table__sort">Head</button></td>
@@ -2527,90 +2531,90 @@ 

Sortable

</tr> ... </table>
-
-
-
-
- -
- -
+
+
+
+
+ +
- -
+
-
+ +
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

+
-
+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

-
-
<div class="n-accordion">
+					
+ +
+
<div class="n-accordion">
 	<input type="checkbox">
 	<h2 class="n-accordion__label"> <button> Accordion </button></h2>
 	<div class="n-accordion__content">
 		...
 	</div>
 </div>
-
-
-
- -
- -
-
-

Content.

-
+
+
+
+ +
+
-
-
<div class="n-accordion">
+						
+

Content.

+
+
+
+
<div class="n-accordion">
 	<input type="checkbox" checked="true">
 	<h2 class="n-accordion__label" aria-expanded="true"> <button> Accordion </button></h2>
 	<div class="n-accordion__content">
 		...
 	</div>
 </div>
-
-
-
-
- -
-
-

Content 1

-

Link fourth.

-
+
+
+
+
+ +
+
+

Content 1

+

Link fourth.

-
- -
-
-

Content 2

-

Link fifth.

-
+
+
+ +
+
+

Content 2

+

Link fifth.

-
- -
-
-

Content 3

-

Link sixth.

-
+
+
+ +
+
+

Content 3

+

Link sixth.

-
-
<div role="group">
+					
+
+
<div role="group">
 	<div class="n-accordion">
 		...
 	</div>
@@ -2619,33 +2623,33 @@ 

Accordion

</div> ... </div>
-
-
-
- -
-
-
- -
-
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

-

Link seventh.

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

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

+

Link seventh.

-
- -
-
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

-

Link eighth.

-
+
+
+ +
+
+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

+

Link eighth.

-
-
<div class="n-accordion">
+					
+
+
<div class="n-accordion">
 	<input type="checkbox">
 	<h2 class="n-accordion__label">
 		<button>Title</button>
@@ -2656,141 +2660,141 @@ 

Accordion

</div> </div> </div>
-
-
-

Popin

-
-
-
-
Content for 1
-
-
-
-
Content for 2
-
-
-
-
Content for 3
-
-
-
-
Content for 4
-
-
-
-
Content for 5
-
-
-
-
Content for 6
-
-
-
-
Content for 7
-
-
-
-
Content for 8
-
-
-
-
Content for 9
-
-
-
-
Content for 10
-
+
+
+

Popin

+
+
+
+
Content for 1
-
-
-
<div class="n-accordion__popin" role="group">
+						
+
+
Content for 2
+
+
+
+
Content for 3
+
+
+
+
Content for 4
+
+
+
+
Content for 5
+
+
+
+
Content for 6
+
+
+
+
Content for 7
+
+
+
+
Content for 8
+
+
+
+
Content for 9
+
+
+
+
Content for 10
+
+
+
+
+
<div class="n-accordion__popin" role="group">
 	<div class="n-accordion">
 		...
 	</div>
 	...
 </div>
-
-
-

Mobile accordion

-
- - -
+
+
+

Mobile accordion

+
-
+ +
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

+
-
+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

-
-
<div class="n-accordion">
+					
+ +
+
<div class="n-accordion">
 	<input type="checkbox">
 	<h2 class="n-accordion__label"> <button> Accordion </button></h2>
 	<div class="n-accordion__content">
 		...
 	</div>
 </div>
-
-
-
-
+
+
+
+
+
-
-

Tooltip

-

- This text has a tooltip. - - Here is the tooltip
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -
-

-

- This text has a tooltip. - - Here is the tooltip
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -
-

-

The tip will appear on the side of the tool with the most space available and won't be affected by overflow: hidden around the tool.

-
-
<span class="n-tooltip" aria-describedby="tooltip1">This text has a tooltip.<span class="n-tooltip__icon"></span></span>
+						

Tooltip

+

+ This text has a tooltip. + + Here is the tooltip
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +
+

+

+ This text has a tooltip. + + Here is the tooltip
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +
+

+

The tip will appear on the side of the tool with the most space available and won't be affected by overflow: hidden around the tool.

+
+
<span class="n-tooltip" aria-describedby="tooltip1">This text has a tooltip.<span class="n-tooltip__icon"></span></span>
 <span class="n-tooltip__content" id="tooltip1" role="tooltip">Explanation</span>
-
-

Options

-
    -
  • Use -
    .n-tooltip__content { --nui-border-radius: .5em; }
    for rounded edges. -
  • -
+

Options

+
    +
  • Use +
    .n-tooltip__content { --nui-border-radius: .5em; }
    for rounded edges. +
  • +
-
- + -
-
-
-

Buttons

+
+ +
+
<button data-href="external.html#content?5.html" class="n-modal-link n-modal--blur n-btn n-btn--big">Blur</button>
+
+
+

Close a modal with nui.modal.close(element).

+
+
+
+
+
+
+

Buttons

+
+
-
-

Normal button

- Small button - -
-
-
<a href="#" class="n-btn">Small button</a>
+						

Normal button

+ Small button + +
+
+
<a href="#" class="n-btn">Small button</a>
 <button class="n-btn" disabled>Disabled button</button>
-
-
+
+
+
-
-

Big button

- Big button -
-
-
<a href="#" class="n-btn n-btn--big">Big button</a>
-
-
+

Big button

+ Big button +
+
+
<a href="#" class="n-btn n-btn--big">Big button</a>
+
+
+
-
-

Buttons in paragraph

-

Here is an Inline button inside a paragraph.

-
+

Buttons in paragraph

+

Here is an Inline button inside a paragraph.

+
+
-
-

Groups of buttons

-

Needed for proper spacing when wrapped

- -
- -
-
-
<div class="n-btn__group" role="group"> ... </div>
-
-
+

Groups of buttons

+

Needed for proper spacing when wrapped

+ -
-
-
-

Border

- -
-
<button class="n-btn" style="--nui-border-size: 1px; --nui-border-color: rebeccapurple;">Border</button>
-
+
+ -
-
-
-

Shadow

- -
-
<button class="n-btn" style="--nui-shadow-size: 1px; --nui-shadow-blur: 3px; --nui-shadow-color: rebeccapurple;">Shadow</button>
-
+
+
+
<div class="n-btn__group" role="group"> ... </div>
+
-
-
-

Ripple effect

- - Ripple -
-
-
<a href="#" class="n-btn n-btn--ripple">Ripple button</a>
-
-
+
+
+
+

Border

+ +
+
<button class="n-btn" style="--nui-border-size: 1px; --nui-border-color: rebeccapurple;">Border</button>
-
-

Options

-
    -
  • Both -
    <a href="#" class="n-btn">
    and -
    <button class="n-btn">
    supported. -
  • -
-
-
-
-
-
-

Lists

-
+
-

Ordered

-
    -
  1. First item
      -
    1. First item sub item 1
    2. -
    3. First item sub item 2
    4. -
    -
  2. -
  3. -

    Second item with a longer headline which shows what happens when there isn't enought space

    -

    An in-house study at Walmart.com came out with the results that saw an up to 2% increase in conversions on the site for every single second of improvement on the load time. The accumulative growth of revenues went up to 1% for every 100 milliseconds of load time improvement.

    -
      -
    1. Second item's sub item 1
    2. -
    3. Second item's sub item 2 Second item's sub item 2 Second item's sub item 2
        -
      1. Sub sub item
      2. -
      3. Another sub sub itemAnother sub sub itemAnother sub sub itemAnother sub sub itemAnother sub sub itemAnother sub sub itemAnother sub sub itemAnother sub sub itemAnother sub sub item
      4. -
      -
    4. -
    -
  4. -
+

Shadow

+ +
+
<button class="n-btn" style="--nui-shadow-size: 1px; --nui-shadow-blur: 3px; --nui-shadow-color: rebeccapurple;">Shadow</button>
+
+
+
-

Unordered

-
    -
  • Unordered one
  • -
  • Unordered two
      -
    • Nested one
    • -
    • Nested two
    • -
    -
  • -
  • Unordered three
  • -
-
-
-

Options

-
    -
  • ul.n-list--inline orders items on one line
  • -
  • ul.n-list--indent for margin on the left
  • -
  • ul.n-list--no-bullet for a clean list
  • -
  • Set colors by CSS variables --nui-list-bg and --nui-list-color.
  • -
+

Ripple effect

+ + Ripple +
+
+
<a href="#" class="n-btn n-btn--ripple">Ripple button</a>
+
+
-
-
-
-
-

Forms

-
-
-

Default

-
- - -
-

-

Mast

-
- -
+
+
+
+

Lists

+
+
+

Ordered

+
    +
  1. First item
      +
    1. First item sub item 1
    2. +
    3. First item sub item 2
    4. +
    +
  2. +
  3. +

    Second item with a longer headline which shows what happens when there isn't enought space

    +

    An in-house study at Walmart.com came out with the results that saw an up to 2% increase in conversions on the site for every single second of improvement on the load time. The accumulative growth of revenues went up to 1% for every 100 milliseconds of load time improvement.

    +
      +
    1. Second item's sub item 1
    2. +
    3. Second item's sub item 2 Second item's sub item 2 Second item's sub item 2
        +
      1. Sub sub item
      2. +
      3. Another sub sub itemAnother sub sub itemAnother sub sub itemAnother sub sub itemAnother sub sub itemAnother sub sub itemAnother sub sub itemAnother sub sub itemAnother sub sub item
      4. +
      +
    4. +
    +
  4. +
+
+
+

Unordered

+
    +
  • Unordered one
  • +
  • Unordered two
      +
    • Nested one
    • +
    • Nested two
    • +
    +
  • +
  • Unordered three
  • +
+
+
+

Options

+
    +
  • ul.n-list--inline orders items on one line
  • +
  • ul.n-list--indent for margin on the left
  • +
  • ul.n-list--no-bullet for a clean list
  • +
  • Set colors by CSS variables --nui-list-bg and --nui-list-color.
  • +
+
+
+
+
+
+
+

Forms

+
+
+

Default

+ + + + +

+

Mast

+
+ + + +
+ Please choose an option + First option + Second option - -
-
- Check this (Fieldset) - -
-
- - - -
-
<form class="n-form n-form--mast">
-	...
-</form>
-
-
-
-

Wide

-
- - +
- A very long piece of label text which wraps to another line - - + Check this (Fieldset) + I accept the Terms and Conditions.
- - - - +
+ + +
+
+
<form class="n-form n-form--mast">
+	...
+</form>
+
+
+
+

Wide

+
+ + +
+ A very long piece of label text which wraps to another line + First option + Second option has very long text which wraps to the next line - -
-
- Check this (Fieldset) - -
-
- -
- Disabled fieldset +
+
+ Check this (Fieldset) -
-
- Datalist examples - - - - - - - - - - - - + I accept the Terms and Conditions.
- - - -
-
<form class="n-form n-form--wide">
+						
+ +
+ Disabled fieldset + +
+
+ Datalist examples + + + + + + + + + + + + +
+ + + +
+
<form class="n-form n-form--wide">
 	...
 </form>
-
-
-

Elements

-
-
-

Text input

-
-
<label>
+				
+
+

Elements

+
+
+

Text input

+
+
<label>
 	<span>Label</span>
 	<input type="text">
 </label>
-
-
-

Number input

-
-
<label>
+						
+
+

Number input

+
+
<label>
 	<span>Label</span>
 	<input type="text" inputmode="numeric" pattern="[0-9]*" data-digits="5">
 </label>
-
-
-

Checkbox

-
-
<label> 
+						
+
+

Checkbox

+
+
<label> 
 	<input type="checkbox"> <b class="n-form__check-icon"></b>
 	Checkbox-specific label
 </label>
-
-
-

Radio buttons

-
-
<fieldset>
+						
+
+

Radio buttons

+
+
<fieldset>
 	<legend>Label for all buttons</legend>
 	<label> 
 		<input type="radio" name="radiodemo"> <b class="n-form__check-icon"></b>
@@ -3479,42 +3483,42 @@ 

Radio buttons

</label> ... </fieldset>
-
-
-

Textarea

-
-
<label>
+						
+
+

Textarea

+
+
<label>
 	<span>Label</span>
 	<textarea></textarea>
 </label>
-
-
-

Range input

-
-
<label>
+						
+
+

Range input

+
+
<label>
 	<span>Label</span>
 	<input type="range">
 </label>
-
-
-

File input

-
-
<label>
+						
+
+

File input

+
+
<label>
 	<span>Select a file</span>
 	<div class="n-form__file">
 		<input name="file" type="file">
 		<span><span class="n-form__file-tag">Drop or browse</span></span>
 	</div>
 </label>
-
-
-

Select

-
-
<label>
+						
+
+

Select

+
+
<label>
 	<span>Label</span>
 	<select>
 		<option value="First option">First option</option>
@@ -3522,15 +3526,15 @@ 

Select

... </select> </label>
-
-
-

Rich select

+
+
+

Rich select

-

Full info on standalone component home page.

+

Full info on standalone component home page.

-
-
<label>
+							
+
<label>
 	<span>Label</span>
 	<div class="n-select">
 		<select name="select1"> <!-- Optional -->
@@ -3545,12 +3549,12 @@ 

Rich select

</div> </div> </label>
-
-
-

Optional section

-
-
<div class="n-form__check n-form__condition" data-for="conditional_fieldset">
+						
+
+

Optional section

+
+
<div class="n-form__check n-form__condition" data-for="conditional_fieldset">
 	<span>Enable fieldset below</span>
 	<label>
 		<input type="checkbox"> <b class="n-form__check-icon"></b>
@@ -3560,251 +3564,251 @@ 

Optional section

... </fieldset>
-
-

Optional fieldsets are ignored by validation when disabled.

-
-

Options

-
    -
  • -
    .n-form__condition
    's optional -
    fieldset
    is selected either by a -
    data-for/id
    match or as a following sibling. -
  • -
  • Validation enabled by -
    <label class="n-form--mandatory">
    -
  • -
  • Set the placeholder colour with CSS variable --nui-placeholder-color.
  • -
  • -
    <form class="sticky-submit">
    to position the submit button absolutely on the right/center. -
  • -
  • -
    <textarea data-auto>
    for automatically adjusted textarea height. -
  • -
  • -
    data-digits=x
    – required digits in a number input -
  • -
  • The rich select can be used outside of a form without label. It can also contain links instead of option buttons. More info.
  • -
-

Colors for input and textarea

-
-
.n-form input, .n-form textarea {
+							

Optional fieldsets are ignored by validation when disabled.

+
+
+

Options

+
    +
  • +
    .n-form__condition
    's optional +
    fieldset
    is selected either by a +
    data-for/id
    match or as a following sibling. +
  • +
  • Validation enabled by +
    <label class="n-form--mandatory">
    +
  • +
  • Set the placeholder colour with CSS variable --nui-placeholder-color.
  • +
  • +
    <form class="sticky-submit">
    to position the submit button absolutely on the right/center. +
  • +
  • +
    <textarea data-auto>
    for automatically adjusted textarea height. +
  • +
  • +
    data-digits=x
    – required digits in a number input +
  • +
  • The rich select can be used outside of a form without label. It can also contain links instead of option buttons. More info.
  • +
+

Colors for input and textarea

+
+
.n-form input, .n-form textarea {
 	--nui-input-color: darkslateblue;
 	--nui-input-bg: aliceblue;	
 }
-
-
-
-
+
+ -
-
-
-
-

Cards

-
-
-

Standard

-
-
-

Card content.

- Link ninth. -
+
+
+
+
+
+

Cards

+
+
+

Standard

+
+
+

Card content.

+ Link ninth.
-
-
<div class="n-card">
+					
+
+
<div class="n-card">
 	<div class="n-card__content"> Content </div>
 </div>
-
-
-

Card with headline

-
-
-

Title

-
-
-

Card content.

- Link tenth. -
+
+
+

Card with headline

+
+
+

Title

-
-
<div class="n-card">
+						
+

Card content.

+ Link tenth. +
+
+
+
<div class="n-card">
 	<div class="n-card__head"> Headline </div>
 	<div class="n-card__content"> Content </div>
 </div>
-
-
-

Card with image

-
- A photo of red taxi -
-

Card content.

- Link eleventh. -
+
+
+

Card with image

+
+ A photo of red taxi +
+

Card content.

+ Link eleventh.
-
-
<div class="n-card">
+					
+
+
<div class="n-card">
 	<img src="image.jpg" alt="Image">
 	<div class="n-card__content"> Content </div>
 </div>
-
-
-

Card with headline and image

-
-
-

Title

-
-
-

Card content.

- Link twelfth. -
+
+
+

Card with headline and image

+
+
+

Title

-
-
<div class="n-card">
+						
+

Card content.

+ Link twelfth. +
+
+
+
<div class="n-card">
 	<div class="n-card__head n-card__head--image" style="background-image: url(image.jpg)"> Headline </div>
 	<div class="n-card__content"> Content </div>
 </div>
-
-
-
-

Options

-
    -
  • CSS variable -
    --nui-card-bg
    specifies the background colour. -
  • -
-
-
-
-
-
- - Lido beach -
-

-

Fixed background

-
-
<div class="n-fixed-bg">
+				
+

Options

+
    +
  • CSS variable +
    --nui-card-bg
    specifies the background colour. +
  • +
+
+
+
+
+
+
+
+ + Lido beach +
+

+

Fixed background

+
+
<div class="n-fixed-bg">
 	<picture class="n-fixed-bg__backdrop"><img></picture>
 	...
 </div>
-
-
-

The background image takes up the full browser window and is visible only through the - .n-fixed-bg section. -

-


+
+

The background image takes up the full browser window and is visible only through the + .n-fixed-bg section. +

+


-
-
-
-
-

Parallax scrolling

-
-
<div class="n-parallax">
+			
+
+
+
+
+

Parallax scrolling

+
+
<div class="n-parallax">
 	<div class="n-parallax__content"> ... </div>
 </div>
-
-
-
+
-




Offset relative either to scrolling parent or body.

-
+




Offset relative either to scrolling parent or body.

- -
+ +
-
-
-
-
-

Notification bar

-
-
<body>
+			
+
+
+
+
+

Notification bar

+
+
<body>
     <div class="n-notify"> Message </div>
     ...
 </body>
-
-

or

-
-
document.body.insertAdjacentHTML("afterbegin", "<div class='n-notify'> Message </div>");
-
-
-

or

-
-
nui.notify("Message");
-
-
- - -

Options

-
    -
  • Fixed on top: -
    <div class="n-notify n-notify--fixed">
    or -
    nui.notify("Message", "fixed");
    -
  • -
  • -
    nui.notify("Text", "timeout")
    to hide it automatically after 2 seconds -
  • -
+

or

+
+
document.body.insertAdjacentHTML("afterbegin", "<div class='n-notify'> Message </div>");
+
+
+

or

+
+
nui.notify("Message");
+
+
+ + +

Options

+
    +
  • Fixed on top: +
    <div class="n-notify n-notify--fixed">
    or +
    nui.notify("Message", "fixed");
    +
  • +
  • +
    nui.notify("Text", "timeout")
    to hide it automatically after 2 seconds +
  • +
-
-
-
+
+
+
+
+
+

Copy to clipboard

-

Copy to clipboard

-
-

Text to be copied to clipboard.

-
- -
-
-
nui.copyButton(document.getElementById("copybutton"), document.getElementById("copycontent"));
-
-

Options

-
    -
  • Add a third parameter to echo the content in a notification bar
  • -
+

Text to be copied to clipboard.

+ +
+
+
nui.copyButton(document.getElementById("copybutton"), document.getElementById("copycontent"));
+
+

Options

+
    +
  • Add a third parameter to echo the content in a notification bar
  • +
-
-
-
+
+
+
+
+
-
-

Dynamic components

-
-
nui.addComponent(host, `<div class="n-carousel">
+						

Dynamic components

+
+
nui.addComponent(host, `<div class="n-carousel">
 	<div class="n-carousel__next">
 		<button><span>Next</span></button>
 	</div>
@@ -3812,16 +3816,16 @@ 

Dynamic components

<button><span>Previous</span></button> </div><div class="n-carousel__content"><div>New</div><div>Carousel</div></div> </div>`);
-
-

Dynamically added component HTML will be automatically initialised by a mutation observer, which can be disabled by

-
-
nui.dynamicInit = false;
+						
+

Dynamically added component HTML will be automatically initialised by a mutation observer, which can be disabled by

+
+
nui.dynamicInit = false;
 
-
-
-
-
- -
- -
-
- -
- -
-
-
+
+ +
+
-
-
-
+
+
+
+
+
-
-

WordPress theme

-

- Rado.bg
- Demo site

-

Download

-

Note: Image gallery currently not supported in the Block Editor. Please use the Classic Editor for galleries.

-

Gallery Settings: 9 columns means a default lightbox, other values mean inline with thumbnails only.

-
+

WordPress theme

+

+ Rado.bg
+ Demo site

+

Download

+

Note: Image gallery currently not supported in the Block Editor. Please use the Classic Editor for galleries.

+

Gallery Settings: 9 columns means a default lightbox, other values mean inline with thumbnails only.

-
-
-
+
+
+
+
+
-
-

Theme

-
-
- Color scheme - - - -
-
-
-
:root {
+						

Theme

+
+
+ Color scheme + + + +
+
+
+
:root {
 	--nui-bg: black;
 	--nui-color: white;
 
@@ -3932,38 +3936,41 @@ 

Theme

--nui-shadow-color: red; --nui-shadow-color-dark: pink; }
-
-
    -
  • The default scheme is Light
  • -
  • -
    .n-scheme-dark
    uses Dark scheme -
  • -
  • -
    .n-scheme-auto
    uses Auto scheme -
  • -
  • Borders are done with box shadow, to avoid layout difference between elements with and without borders.
  • -
-
+
    +
  • The default scheme is Light
  • +
  • +
    .n-scheme-dark
    uses Dark scheme +
  • +
  • +
    .n-scheme-auto
    uses Auto scheme +
  • +
  • Borders are done with box shadow, to avoid layout difference between elements with and without borders.
  • +
+
-
-
- - + window.onpopstate = (event) => { + console.log( + `location: ${document.location}, state: ${JSON.stringify(event.state)}` + ); + clearTimeout(set_active_timeout); + document.querySelectorAll('aside nav [aria-current]').forEach(el => el.removeAttribute('aria-current')); + document.querySelector(`aside nav a[href="${location.hash}"`).setAttribute('aria-current', 'true'); + }; + + \ No newline at end of file diff --git a/js/niui.js b/js/niui.js index 3233fc14..34610ae6 100644 --- a/js/niui.js +++ b/js/niui.js @@ -369,7 +369,37 @@ let nui = (() => { initComponents(); return { registerComponent, initComponents, copyButton, addComponent } })(); -nui.dynamicInit = true;// Component Form – start +nui.dynamicInit = true;// Component Button – start +(function() { + let init = (host) => { + const ripple = e => { + let el = e.target.closest('.n-btn--ripple'); + let x = e.offsetX || el.clientWidth / 2; + let y = e.offsetY || el.clientHeight / 2; + let max_x = Math.max(x, el.clientWidth - x); + let max_y = Math.max(y, el.clientHeight - y); + let radius = Math.sqrt(max_x * max_x + max_y * max_y); + el.style.transitionProperty = 'none'; + el.style.setProperty('--ripple-x', `${x}px`); + el.style.setProperty('--ripple-y', `${y}px`); + el.style.setProperty('--ripple-radius', `0px`); + window.requestAnimationFrame(() => { + el.style.transitionProperty = ''; + el.style.setProperty('--ripple-radius', `${radius}px`); + }); + }; + document.querySelectorAll('.n-btn--ripple:not([data-ready])').forEach(el => { + el.addEventListener('pointerdown', ripple); + el.addEventListener('keydown', ripple); + el.dataset.ready = true; + }); + }; + nui.registerComponent("button", init); +})(); +// Component Button – end +//# sourceMappingURL=button.js.map + +// Component Form – start (function() { /* Form – start */ function submitForm(e) { @@ -451,35 +481,84 @@ nui.dynamicInit = true;// Component Form – start // Component Form – end //# sourceMappingURL=form.js.map -// Component Button – start +// Component Accordion (function() { - let init = (host) => { - const ripple = e => { - let el = e.target.closest('.n-btn--ripple'); - let x = e.offsetX || el.clientWidth / 2; - let y = e.offsetY || el.clientHeight / 2; - let max_x = Math.max(x, el.clientWidth - x); - let max_y = Math.max(y, el.clientHeight - y); - let radius = Math.sqrt(max_x * max_x + max_y * max_y); - el.style.transitionProperty = 'none'; - el.style.setProperty('--ripple-x', `${x}px`); - el.style.setProperty('--ripple-y', `${y}px`); - el.style.setProperty('--ripple-radius', `0px`); - window.requestAnimationFrame(() => { - el.style.transitionProperty = ''; - el.style.setProperty('--ripple-radius', `${radius}px`); - }); - }; - document.querySelectorAll('.n-btn--ripple:not([data-ready])').forEach(el => { - el.addEventListener('pointerdown', ripple); - el.addEventListener('keydown', ripple); - el.dataset.ready = true; + const animate_options = el => { return { easing: "ease-in-out", duration: window.matchMedia("(prefers-reduced-motion: no-preference)").matches ? (el.dataset.duration * 1000 || getComputedStyle(el).getPropertyValue('--duration') * 1000 || 200) : 0 } }; + const accordionContent = el => el.querySelector(":scope > .n-accordion__content"); + const openAccordion = (el) => { + el = accordionContent(el); + window.requestAnimationFrame(() => { + el.style.height = 0; + el.style.overflow = "hidden"; + let wrapper = el.parentNode; + wrapper.querySelector(":scope > .n-accordion__label").setAttribute("aria-expanded", true); + el.animate([{ height: 0 }, { height: `${el.scrollHeight}px` }], animate_options(wrapper)).onfinish = () => { + el.style.height = el.style.overflow = ""; + }; }); }; - nui.registerComponent("button", init); + const closeAccordion = (el, callback) => { + el = accordionContent(el); + window.requestAnimationFrame(() => { + el.style.overflow = "hidden"; + let wrapper = el.parentNode; + el.animate([{ height: `${el.scrollHeight}px` }, { height: 0 }], animate_options(wrapper)).onfinish = () => { + el.style.height = el.style.overflow = ""; + wrapper.querySelector(":scope > .n-accordion__label").setAttribute("aria-expanded", false); + typeof callback !== 'function' || callback(); + if (wrapper.classList.contains('n-accordion--close-nested')) { + el.querySelectorAll(".n-accordion__label[aria-expanded='true']").forEach(el => el.setAttribute("aria-expanded", false)); + } + }; + }); + }; + const toggleAccordion = (e) => { + let el = e.target.closest('.n-accordion'); // el = .n-accordion + if (!el.querySelector(":scope > [aria-expanded='true']")) { + let popin = el.closest(".n-accordion__popin"); + const updateRow = () => { + if (popin) { + let row = Math.floor(([...popin.children].indexOf(el) / getComputedStyle(popin).getPropertyValue("--n-popin-columns")) * 1) + 2; + popin.style.setProperty("--n-popin-open-row", row); + } + }; + if (el.parentNode.matches('[role="group"]') || popin) { + let other_accordion = el.parentNode.querySelector(":scope > .n-accordion > [aria-expanded='true']"); + if (other_accordion) { + closeAccordion(other_accordion.parentNode, () => { // el = .n-accordion + updateRow(); + openAccordion(el); + }); + } else { + updateRow(); + openAccordion(el); + } + } else { + openAccordion(el); + } + } else { + closeAccordion(el); + } + }; + + function init(host = document) { + host.querySelectorAll(".n-accordion:not([data-ready]) > .n-accordion__label").forEach((el) => { + el.addEventListener("click", toggleAccordion); + el.parentElement.querySelector(":scope > input")?.remove(); // Remove CSS-only solution + el.parentNode.dataset.ready = true; + el.setAttribute('aria-expanded', el.getAttribute('aria-expanded') === 'true'); + }); + } + const doInit = () => { + (typeof nui !== 'undefined' && typeof nui.registerComponent === "function") ? nui.registerComponent("n-accordion", init) : init(); + }; + if (document.readyState !== "loading") { + doInit(); + } else { + document.addEventListener("DOMContentLoaded", doInit); + } })(); -// Component Button – end -//# sourceMappingURL=button.js.map +//# sourceMappingURL=n-accordion@npm.js.map // import './node_modules/n-modal/n-modal.js'; (function() { @@ -1461,85 +1540,6 @@ nui.dynamicInit = true;// Component Form – start })(); //# sourceMappingURL=n-carousel@npm.js.map -// Component Accordion -(function() { - const animate_options = el => { return { easing: "ease-in-out", duration: window.matchMedia("(prefers-reduced-motion: no-preference)").matches ? (el.dataset.duration * 1000 || getComputedStyle(el).getPropertyValue('--duration') * 1000 || 200) : 0 } }; - const accordionContent = el => el.querySelector(":scope > .n-accordion__content"); - const openAccordion = (el) => { - el = accordionContent(el); - window.requestAnimationFrame(() => { - el.style.height = 0; - el.style.overflow = "hidden"; - let wrapper = el.parentNode; - wrapper.querySelector(":scope > .n-accordion__label").setAttribute("aria-expanded", true); - el.animate([{ height: 0 }, { height: `${el.scrollHeight}px` }], animate_options(wrapper)).onfinish = () => { - el.style.height = el.style.overflow = ""; - }; - }); - }; - const closeAccordion = (el, callback) => { - el = accordionContent(el); - window.requestAnimationFrame(() => { - el.style.overflow = "hidden"; - let wrapper = el.parentNode; - el.animate([{ height: `${el.scrollHeight}px` }, { height: 0 }], animate_options(wrapper)).onfinish = () => { - el.style.height = el.style.overflow = ""; - wrapper.querySelector(":scope > .n-accordion__label").setAttribute("aria-expanded", false); - typeof callback !== 'function' || callback(); - if (wrapper.classList.contains('n-accordion--close-nested')) { - el.querySelectorAll(".n-accordion__label[aria-expanded='true']").forEach(el => el.setAttribute("aria-expanded", false)); - } - }; - }); - }; - const toggleAccordion = (e) => { - let el = e.target.closest('.n-accordion'); // el = .n-accordion - if (!el.querySelector(":scope > [aria-expanded='true']")) { - let popin = el.closest(".n-accordion__popin"); - const updateRow = () => { - if (popin) { - let row = Math.floor(([...popin.children].indexOf(el) / getComputedStyle(popin).getPropertyValue("--n-popin-columns")) * 1) + 2; - popin.style.setProperty("--n-popin-open-row", row); - } - }; - if (el.parentNode.matches('[role="group"]') || popin) { - let other_accordion = el.parentNode.querySelector(":scope > .n-accordion > [aria-expanded='true']"); - if (other_accordion) { - closeAccordion(other_accordion.parentNode, () => { // el = .n-accordion - updateRow(); - openAccordion(el); - }); - } else { - updateRow(); - openAccordion(el); - } - } else { - openAccordion(el); - } - } else { - closeAccordion(el); - } - }; - - function init(host = document) { - host.querySelectorAll(".n-accordion:not([data-ready]) > .n-accordion__label").forEach((el) => { - el.addEventListener("click", toggleAccordion); - el.parentElement.querySelector(":scope > input")?.remove(); // Remove CSS-only solution - el.parentNode.dataset.ready = true; - el.setAttribute('aria-expanded', el.getAttribute('aria-expanded') === 'true'); - }); - } - const doInit = () => { - (typeof nui !== 'undefined' && typeof nui.registerComponent === "function") ? nui.registerComponent("n-accordion", init) : init(); - }; - if (document.readyState !== "loading") { - doInit(); - } else { - document.addEventListener("DOMContentLoaded", doInit); - } -})(); -//# sourceMappingURL=n-accordion@npm.js.map - /* Modal – start */ (function() { var scroll_timeout; @@ -2349,47 +2349,6 @@ nui.dynamicInit = true;// Component Form – start // Component Tooltip – end //# sourceMappingURL=n-tooltip@npm.js.map -// Component Notification bar – start -(function() { - function notifyClose(el) { - if (!!el) { - el.parentNode.removeChild(el); - } - } - - function notifyCloseEvent() { - if (document.querySelector(".n-notify")) { - document.querySelector(".n-notify").onclick = (e) => { - notifyClose(e.target); - }; - } - } - - function notify(content, option) { - document.body.insertAdjacentHTML("afterbegin", ``); - document.querySelector(".n-notify").focus(); - notifyCloseEvent(); - if (option && option.indexOf("timeout") !== -1) { - setTimeout(() => { - notifyClose(document.querySelector(".n-notify")); - }, 2000); - } - } - let init = (host) => { - /* Tooltip */ - host.querySelectorAll(".n-notify:not([data-ready])").forEach((el, i) => { - notifyCloseEvent(); - el.dataset.ready = true; - }); - }; - nui.registerComponent("notify", init, { - 'name': 'notify', - 'code': notify - }); -})(); -// Component Notification bar – end -//# sourceMappingURL=notify.js.map - // Component Nav – start (function() { /* Nav – start */ @@ -2642,6 +2601,47 @@ nui.dynamicInit = true;// Component Form – start // Component Nav – end //# sourceMappingURL=nav.js.map +// Component Notification bar – start +(function() { + function notifyClose(el) { + if (!!el) { + el.parentNode.removeChild(el); + } + } + + function notifyCloseEvent() { + if (document.querySelector(".n-notify")) { + document.querySelector(".n-notify").onclick = (e) => { + notifyClose(e.target); + }; + } + } + + function notify(content, option) { + document.body.insertAdjacentHTML("afterbegin", ``); + document.querySelector(".n-notify").focus(); + notifyCloseEvent(); + if (option && option.indexOf("timeout") !== -1) { + setTimeout(() => { + notifyClose(document.querySelector(".n-notify")); + }, 2000); + } + } + let init = (host) => { + /* Tooltip */ + host.querySelectorAll(".n-notify:not([data-ready])").forEach((el, i) => { + notifyCloseEvent(); + el.dataset.ready = true; + }); + }; + nui.registerComponent("notify", init, { + 'name': 'notify', + 'code': notify + }); +})(); +// Component Notification bar – end +//# sourceMappingURL=notify.js.map + // Component Parallax – start (function() { // Thanks Dave Rupert diff --git a/js/niui.js.map b/js/niui.js.map index fdbc1f6a..c4a4375f 100644 --- a/js/niui.js.map +++ b/js/niui.js.map @@ -1 +1 @@ -{"version":3,"sources":["components/form/form.js","components/button/button.js","node_modules/n-carousel/n-carousel.js","node_modules/n-accordion/n-accordion.js","node_modules/n-modal/n-modal.js","node_modules/n-select/n-select.js","node_modules/n-tooltip/n-tooltip.js","components/notify/notify.js","components/nav/nav.js","components/parallax/parallax.js","components/table/table.js","components/typography/typography.js"],"names":[],"mappings":"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","file":"niui.js","sourcesContent":["// Component Form – start\n(function() {\n /* Form – start */\n function submitForm(e) {\n var el = e.target;\n var ready_to_submit = true;\n el.querySelectorAll(\".n-form--mandatory:not([disabled])\").forEach((el) => {\n if (\n (el.querySelector(\"input, select, textarea\") && !el.querySelector(\"input, select, textarea\").value) ||\n (el.querySelector(\"input[type=checkbox]\") && !el.querySelector(\"input[type=checkbox]\").checked) ||\n (el.querySelector(\"input[type=radio]\") && !el.querySelector(\"input[type=radio]\").checked) ||\n (el.querySelector(\"input[type=email]\") && !RegExp(/^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$/).test(el.querySelector(\"input[type=email]\").value)) ||\n (el.querySelector(\"input[type=url]\") && !RegExp(/^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?$/).test(el.querySelector(\"input[type=url]\").value)) ||\n (el.querySelector(\"input[type=number]\") && !RegExp(/^\\d+$/).test(el.querySelector(\"input[type=number]\").value)) ||\n (el.querySelector(\"input[type=number][data-digits]\") &&\n el.querySelector(\"input[type=number]\").value.length !== parseInt(el.querySelector(\"input[type=number]\").dataset.digits))\n ) {\n ready_to_submit = false;\n el.querySelector(\"input\").focus();\n el.classList.add(\"n-form--alert\");\n // Margin animation, because transform animation hides neighbouring content on iPad\n let form = el.closest(\"form\");\n form.animate([{ width: `${form.scrollWidth}px` }, { marginLeft: `-9px` }, { marginLeft: `18px` }, { width: `${form.scrollWidth}px`, marginLeft: 0 }], 250);\n return;\n } else {\n el.classList.remove(\"n-form--alert\");\n }\n });\n return ready_to_submit;\n }\n\n function updateFileInput(e) {\n var el = e.target;\n el.parentNode.querySelector(\"span.n-form__file-name\").innerHTML = el.value.substring(el.value.lastIndexOf(\"\\\\\") + 1);\n }\n\n function toggleConditionalFieldset(e) {\n var el = e.target;\n var fieldset = document.querySelector(`fieldset#${el.closest(\".n-form__condition\").dataset.for}`) || el.closest(\".n-form__condition\").nextElementSibling;\n var attribute = \"disabled\";\n if (el.checked) {\n fieldset.removeAttribute(attribute);\n } else {\n fieldset.setAttribute(attribute, \"disabled\");\n }\n }\n /* Form – end */\n let init = (host) => {\n host.querySelectorAll(\"form.n-form\").forEach((el, i) => {\n el.onsubmit = el.onsubmit || submitForm;\n el.querySelectorAll(\"input[type=file]\").forEach((el, i) => {\n el.onchange = updateFileInput;\n el.parentNode.querySelector(\"span\").insertAdjacentHTML(\"afterbegin\", \"\");\n });\n // \tConditional form fieldsets\n el.querySelectorAll(\".n-form__check.n-form__condition input\").forEach((el, i) => {\n el.onchange = toggleConditionalFieldset;\n });\n // Auto textarea height.\n el.querySelectorAll(\"textarea[data-auto]\").forEach((el) => {\n el.onkeyup = (e) => {\n el = e.target;\n while (el.rows > 1 && el.scrollHeight < el.offsetHeight) {\n el.rows--;\n }\n while (el.scrollHeight > el.offsetHeight) {\n if (el.rows > 20) {\n break;\n }\n el.rows++;\n }\n el.rows++;\n };\n });\n el.dataset.ready = true;\n });\n };\n nui.registerComponent(\"form\", init);\n})();\n// Component Form – end","// Component Button – start\n(function() {\n\tlet init = (host) => {\n\t\tconst ripple = e => {\n\t\t\tlet el = e.target.closest('.n-btn--ripple');\n\t\t\tlet x = e.offsetX || el.clientWidth / 2;\n\t\t\tlet y = e.offsetY || el.clientHeight / 2;\n\t\t\tlet max_x = Math.max(x, el.clientWidth - x);\n\t\t\tlet max_y = Math.max(y, el.clientHeight - y);\n\t\t\tlet radius = Math.sqrt(max_x * max_x + max_y * max_y);\n\t\t\tel.style.transitionProperty = 'none';\n\t\t\tel.style.setProperty('--ripple-x', `${x}px`);\n\t\t\tel.style.setProperty('--ripple-y', `${y}px`);\n\t\t\tel.style.setProperty('--ripple-radius', `0px`);\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tel.style.transitionProperty = '';\n\t\t\t\tel.style.setProperty('--ripple-radius', `${radius}px`);\n\t\t\t});\n\t\t}\n\t\tdocument.querySelectorAll('.n-btn--ripple:not([data-ready])').forEach(el => {\n\t\t\tel.addEventListener('pointerdown', ripple);\n\t\t\tel.addEventListener('keydown', ripple);\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\tnui.registerComponent(\"button\", init);\n})();\n// Component Button – end","// import './node_modules/n-modal/n-modal.js';\n(function() {\n const ceilingWidth = (el) => Math.ceil(parseFloat(getComputedStyle(el).width));\n const ceilingHeight = (el) => Math.ceil(parseFloat(getComputedStyle(el).height));\n const focusableElements = 'button, [href], input, select, textarea, details, summary, video, [tabindex]:not([tabindex=\"-1\"])';\n // const _focusableElementsString = 'a[href],area[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),details,summary,iframe,object,embed,[contenteditable]';\n function isElementInViewport(el) {\n let rect = el.getBoundingClientRect();\n return (rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.offsetHeight) /* or $(window).height() */ && rect.right <= (window.innerWidth || document.documentElement.offsetWidth) /* or $(window).width() */ );\n }\n const default_duration = 500;\n const default_interval = 4000;\n const isChrome = !!navigator.userAgent.match(\"Chrome\");\n const isSafari = navigator.userAgent.match(/Safari/) && !isChrome;\n const isEndless = el => el.children.length > 2 && el.parentElement.classList.contains(\"n-carousel--endless\");\n const isFullScreen = () => { return !!(document.webkitFullscreenElement || document.fullscreenElement) };\n const isModal = el => { return el.closest(\".n-carousel\").classList.contains('n-carousel--overlay') };\n const isVertical = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--vertical\");\n const isAuto = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--auto-height\");\n const indexControls = index => {\n let controls_by_class = index.querySelectorAll('.n-carousel__control');\n return (controls_by_class.length > 0) ? controls_by_class : index.querySelectorAll('a, button');\n }\n const nextSlideHeight = (el) => {\n el.style.height = 0;\n el.style.overflow = \"auto\";\n const height = el.scrollHeight; // Ceiling when subpixel\n el.style.height = el.style.overflow = \"\";\n return height;\n };\n // const scrollableAncestor = (el) => {\n // \tel = el.parentNode;\n // \twhile (el) {\n // \t\tif (el.scrollHeight > el.offsetHeight || el.scrollWidth > el.offsetWidth) {\n // \t\t\treturn el;\n // \t\t} else {\n // \t\t\tel = el.parentNode;\n // \t\t}\n // \t}\n // \treturn false;\n // };\n const getIndex = (el) => 1 * (isVertical(el) ? el.dataset.y : el.dataset.x);\n const getIndexReal = (el) => {\n let active_slide = el.querySelector(':scope > [aria-current]');\n if (active_slide) {\n return [...el.children].indexOf(active_slide);\n } else {\n let hash_slide_index = (!!location.hash) ? [...el.children].indexOf(el.querySelector(`:scope > ${location.hash}`)) : 0;\n return (hash_slide_index > -1) ? hash_slide_index : 0;\n }\n // return active_slide ? [...el.children].indexOf(active_slide) : (el.querySelector(`:scope > ${location.hash}`) || 0);\n };\n const scrolledAncestor = (el) => {\n el = el.parentNode;\n while (el) {\n if (el.scrollTop !== 0 || el.scrollLeft !== 0) {\n return el;\n } else {\n el = el.parentNode;\n }\n }\n return false;\n };\n const scrolledAncestors = (el) => {\n let arr = [];\n let a = scrolledAncestor(el);\n while (a && typeof a.scrollLeft !== \"undefined\" && (a.scrollTop !== 0 || a.scrollLeft !== 0)) {\n arr.push(a);\n a = scrolledAncestor(a);\n }\n return arr;\n };\n const isRTL = (el) => getComputedStyle(el).direction === \"rtl\";\n const toggleFullScreen = (el) => {\n el = el.closest(\".n-carousel\");\n let carousel = el.querySelector(\":scope > .n-carousel__content\");\n const restoreScroll = () => {\n if (!isFullScreen()) {\n el.nuiAncestors.forEach((el) => {\n window.requestAnimationFrame(() => {\n el.scrollLeft = el.nuiScrollX;\n el.scrollTop = el.nuiScrollY;\n delete el.nuiScrollX;\n delete el.nuiScrollY;\n });\n });\n delete el.nuiAncestors;\n el.removeEventListener(\"webkitfullscreenchange\", restoreScroll);\n }\n };\n carousel.togglingFullScreen = true;\n if (isFullScreen()) {\n // Exit full screen\n !!document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen();\n if (isSafari) {\n // When exit finishes, update the carousel because on Safari 14, position is wrong or the slide is invisible\n setTimeout(() => {\n el.style.display = \"none\";\n window.requestAnimationFrame(() => {\n el.style.display = \"\";\n });\n }, 0);\n }\n if (isVertical(el) && isAuto(el)) {\n let updateExitFullScreen = e => {\n setTimeout(() => {\n let carousel = el.querySelector(\":scope > .n-carousel__content\");\n // console.log(carousel);\n // el.style.removeProperty('--height');\n // carousel.style.height = '';\n slideTo(carousel, parseInt(carousel.dataset.y));\n }, 100);\n el.removeEventListener('fullscreenchange', updateExitFullScreen);\n };\n el.addEventListener('fullscreenchange', updateExitFullScreen);\n }\n } else {\n // Enter full screen\n if (isSafari) {\n el.nuiAncestors = scrolledAncestors(el);\n el.nuiAncestors.forEach((el) => {\n el.nuiScrollX = el.scrollLeft;\n el.nuiScrollY = el.scrollTop;\n });\n el.addEventListener(\"webkitfullscreenchange\", restoreScroll, false);\n }!!el.requestFullscreen ? el.requestFullscreen() : el.webkitRequestFullscreen();\n }\n };\n const scrollStartX = (el) => el.scrollLeft; // Get correct start scroll position for LTR and RTL\n const scrollTo = (el, x, y) => {\n el.scrollTo(isRTL(el) ? -1 * Math.abs(x) : x, y); // Scroll to correct scroll position for LTR and RTL\n };\n const getScroll = (el) => (el === window ? {\n x: el.scrollX,\n y: el.scrollY\n } : {\n x: scrollStartX(el),\n y: el.scrollTop\n });\n let firstFocusableElement = null;\n let focusableContent = null;\n let lastFocusableElement = null;\n const focusHandler = e => {\n let isTabPressed = e.key === \"Tab\" || e.keyCode === 9;\n if (!isTabPressed) {\n return;\n }\n if (e.shiftKey) {\n // if shift key pressed for shift + tab combination\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus(); // add focus for the last focusable element\n e.preventDefault();\n }\n } else {\n // if tab key is pressed\n if (document.activeElement === lastFocusableElement) {\n // if focused has reached to last focusable element then focus first focusable element after pressing tab\n firstFocusableElement.focus(); // add focus for the first focusable element\n e.preventDefault();\n }\n }\n }\n const trapFocus = (modal, off = false) => {\n // FROM: https://uxdesign.cc/how-to-trap-focus-inside-modal-to-make-it-ada-compliant-6a50f9a70700\n // add all the elements inside modal which you want to make focusable\n firstFocusableElement = modal.querySelectorAll(focusableElements)[0]; // get first element to be focused inside modal\n focusableContent = modal.querySelectorAll(focusableElements);\n lastFocusableElement = focusableContent[focusableContent.length - 1]; // get last element to be focused inside modal\n if (off) {\n modal.removeEventListener(\"keydown\", focusHandler);\n } else {\n modal.addEventListener(\"keydown\", focusHandler);\n firstFocusableElement.focus();\n }\n };\n const inOutSine = (n) => (1 - Math.cos(Math.PI * n)) / 2;\n const paddingX = (el) => parseInt(getComputedStyle(el).paddingInlineStart) * 2;\n const paddingY = (el) => parseInt(getComputedStyle(el).paddingBlockStart) * 2;\n const getControl = (carousel, control) => {\n let detached_control = document.querySelector(`${control}[data-for=\"${carousel.id}\"]`);\n if (detached_control) {\n return detached_control;\n }\n for (let el of carousel.children) {\n if (el.matches(control)) {\n return el;\n }\n if (!el.matches(\".n-carousel__content\") && el.querySelector(control)) {\n return el.querySelector(control);\n }\n }\n };\n const closestCarousel = (el) => {\n var related_by_id = el.closest('[class*=\"n-carousel\"]').dataset.for;\n if (!!related_by_id) {\n return document.getElementById(related_by_id).querySelector(\".n-carousel__content\");\n } else {\n return el.closest(\".n-carousel\").querySelector(\".n-carousel__content\");\n }\n };\n const scrollAnimate = (el, distanceX, distanceY, new_height, old_height = false) => new Promise((resolve, reject) => {\n // Thanks https://stackoverflow.com/posts/46604409/revisions\n let wrapper = el.closest(\".n-carousel\");\n if (!!wrapper.nextSlideInstant || !wrapper.dataset.ready || window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches || wrapper.matches(\".n-carousel--instant\")) {\n scrollTo(el, getScroll(el).x + distanceX, getScroll(el).y + distanceY);\n el.style.height = `${new_height}px`;\n delete wrapper.nextSlideInstant;\n updateCarousel(el);\n resolve(el);\n return;\n }\n observersOff(el);\n let scroll_changing = true;\n if (distanceX === 0 && distanceY === 0) {\n scroll_changing = false;\n }\n if (!!new_height) {\n el.style.height = `${old_height}px`;\n if (isVertical(el) && isAuto(el)) {\n el.style.setProperty('--subpixel-compensation', 0);\n }\n } else {\n if (!isVertical(el)) {\n el.style.height = \"\";\n }\n }\n var startx = getScroll(el).x;\n var starty = getScroll(el).y;\n var starth = parseInt(el.style.height);\n var distanceH = new_height - starth;\n var duration = parseFloat(el.parentNode.dataset.duration) * 1000 || default_duration;\n var start = null;\n var end = null;\n let startAnim = (timeStamp) => {\n start = timeStamp;\n end = start + duration;\n draw(timeStamp);\n };\n let draw = (now) => {\n if (now - start >= duration) {\n window.requestAnimationFrame(() => {\n scrollTo(el, startx + distanceX, starty + distanceY);\n if (new_height) {\n el.style.height = `${new_height}px`;\n }\n updateCarousel(el);\n });\n resolve(el);\n return;\n }\n var p = (now - start) / duration;\n var val = inOutSine(p);\n var x = startx + distanceX * val;\n var y = starty + distanceY * val;\n if (scroll_changing) {\n scrollTo(el, x, y);\n }\n if (new_height) {\n window.requestAnimationFrame(() => {\n el.style.height = `${starth + distanceH * val}px`;\n }); // Timeout because Safari can't do scroll and height at once\n }\n requestAnimationFrame(draw);\n };\n requestAnimationFrame(startAnim);\n });\n const updateCarousel = (el, forced = false) => { // Forced means never skip unnecessary update\n // Called on init and scroll end\n observersOff(el);\n let saved_x = el.dataset.x; // On displaced slides and no change\n let saved_y = el.dataset.y;\n if (!el.togglingFullScreen) {\n if (el.openingModal) {\n delete el.openingModal;\n scrollTo(el, el.offsetWidth * el.dataset.x, el.offsetHeight * el.dataset.y);\n } else {\n el.dataset.x = Math.abs(Math.round(scrollStartX(el) / ceilingWidth(el.firstElementChild)));\n el.dataset.y = Math.abs(Math.round(el.scrollTop / ceilingHeight(el.firstElementChild)));\n }\n } else {\n delete el.togglingFullScreen;\n }\n // When inline\n if (el.dataset.x === \"NaN\") {\n el.dataset.x = 0;\n }\n if (el.dataset.y === \"NaN\") {\n el.dataset.y = 0;\n }\n let active_index = getIndex(el);\n if (active_index >= el.children.length) {\n active_index = el.children.length - 1;\n }\n // console.log('update at', active_index, el.dataset.x, el.dataset.y);\n let old_active_slide = el.querySelector(\":scope > [aria-current]\");\n let wrapper = el.parentElement;\n if (!wrapper.classList.contains(\"n-carousel--auto-height\")) {\n // Dynamic change from auto height to normal\n el.style.height = \"\";\n }\n let active_slide = el.children[active_index];\n if (old_active_slide && !forced) {\n if (active_slide === old_active_slide) {\n // Scroll snapping back to the same slide. Nothing to do here.\n el.dataset.x = saved_x;\n el.dataset.y = saved_y;\n observersOn(el);\n return;\n }\n old_active_slide.removeAttribute('aria-current');\n old_active_slide.style.height = \"\";\n if (!isVertical(el)) {\n el.style.height = \"\";\n }\n }\n var active_index_logical = active_index;\n // active_slide.ariaCurrent = true; // Unsupported by FF\n active_slide.setAttribute('aria-current', true);\n active_index_logical = getIndexReal(el);\n el.dataset.x = el.dataset.y = active_index_logical;\n // Endless carousel\n const restoreDisplacedSlides = el => {\n el.querySelectorAll(\":scope > [data-first]\").forEach(el2 => {\n el.append(el.firstElementChild);\n delete el2.dataset.first;\n active_index--;\n });\n el.querySelectorAll(\":scope > [data-last]\").forEach(el2 => {\n el.prepend(el.lastElementChild);\n delete el2.dataset.last;\n active_index++;\n });\n }\n wrapper.dataset.sliding = true;\n if (isEndless(el)) {\n if (active_index === 0) {\n if (!active_slide.dataset.first) {\n // Move the last one to the front as [data-first]\n if (el.lastElementChild.dataset.last) {\n delete el.lastElementChild.dataset.last;\n active_index_logical = 1;\n } else {\n el.lastElementChild.dataset.first = true;\n }\n el.prepend(el.lastElementChild);\n active_index = 1;\n } else {\n // Landed on fake first slide. Move it to the back, remove its [data-first] and move the first one to the back as [data-last]\n delete el.firstElementChild.dataset.first;\n el.append(el.firstElementChild);\n el.firstElementChild.dataset.last = true;\n el.append(el.firstElementChild);\n active_index_logical = el.children.length - 1;\n active_index = el.children.length - 2;\n }\n } else {\n if (active_index === el.children.length - 1) {\n if (!active_slide.dataset.last) {\n // Move the first one to the back as [data-last]\n if (el.firstElementChild.dataset.first) {\n delete el.firstElementChild.dataset.first;\n active_index_logical = el.children.length - 2;\n } else {\n el.firstElementChild.dataset.last = true;\n }\n el.append(el.firstElementChild);\n active_index = el.children.length - 2;\n } else {\n // Landed on fake last slide. Move it to the front, remove its [data-last] and move the last one to the front as [data-first]\n delete el.lastElementChild.dataset.last;\n el.prepend(el.lastElementChild);\n el.lastElementChild.dataset.first = true;\n el.prepend(el.lastElementChild);\n active_index_logical = 0;\n active_index = 1;\n }\n } else {\n // Middle slide\n restoreDisplacedSlides(el);\n active_index_logical = Math.max(0, [...el.children].indexOf(el.querySelector(\":scope > [aria-current]\"))); // Fixes position when sliding to/from first slide; max because of FF returning -1\n }\n }\n window.requestAnimationFrame(() => {\n el.dataset.x = el.dataset.y = active_index_logical;\n let scroll_x = ceilingWidth(el.firstElementChild) * active_index;\n let scroll_y = ceilingHeight(el.firstElementChild) * active_index;\n // console.log('updateCarousel() scrolling at', scroll_x);\n el.scroll_x = scroll_x;\n el.scroll_y = scroll_y;\n scrollTo(el, scroll_x, scroll_y); // First element size, because when Peeking, it differs from carousel size\n delete el.scroll_x;\n delete el.scroll_y;\n });\n } else { // Check and restore dynamically disabled endless option\n restoreDisplacedSlides(el);\n active_index_logical = Math.max(0, [...el.children].indexOf(el.querySelector(\":scope > [aria-current]\"))); // Fixes position when sliding to/from first slide; max because of FF returning -1\n }\n active_slide.style.height = \"\";\n wrapper.style.setProperty(\"--height\", `${el.parentNode.classList.contains(\"n-carousel--auto-height\") ? nextSlideHeight(active_slide) : active_slide.scrollHeight}px`);\n window.requestAnimationFrame(() => {\n if (!el.parentNode.dataset.ready && isAuto(el) && isVertical(el)) {\n el.style.height = `${parseFloat(getComputedStyle(el).height) - paddingY(el)}px`;\n }\n });\n // Sliding to a slide with a hash? Update the URI\n if (getComputedStyle(el).visibility !== 'hidden') {\n let previously_active = document.activeElement;\n let hash = active_slide.id;\n if (!!el.parentNode.dataset.ready && !!hash && !el.parentNode.closest('.n-carousel__content')) { // Hash works only with top-level carousel\n location.hash = `#${hash}`;\n }\n if (!!el.parentNode.dataset.ready && !hash && !el.parentNode.closest('.n-carousel__content') && window.nCarouselNav) { // Hash works only with top-level carousel\n location.hash = '';\n }\n previously_active.focus();\n }\n // Fix buttons\n let index = getControl(el.closest(\".n-carousel\"), \".n-carousel__index\");\n if (!!index) {\n index.querySelector(\"[aria-current]\")?.removeAttribute('aria-current');\n // index.children[active_index_logical].ariaCurrent = true; // Unsupported by FF\n indexControls(index)[active_index_logical].setAttribute('aria-current', true);\n }\n // Disable focus on children of non-active slides\n // Active slides of nested carousels should also have disabled focus\n [...el.children].forEach(el => { // Native \"inert\" attribute to replace the below \"focusDisabled\" loops from June 2022. \n el.inert = (el === active_slide) ? false : true;\n if (isSafari && el.querySelector('.n-carousel:-webkit-full-screen')) {\n // Safari full screen bug: parent scroll resets to 0, first slide becomes active and the full screen child lightbox is inside an inert parent\n let current = el.parentNode.querySelector(':scope > [aria-current=\"true\"]');\n current.inert = true;\n current.removeAttribute('aria-current');\n el.inert = false;\n el.setAttribute('aria-current', true);\n }\n });\n // Obsoleted by inert – start\n // [...el.children].forEach((slide) => {\n // if (slide !== active_slide) {\n // slide.setAttribute('aria-hidden', true);\n // slide.querySelectorAll(focusableElements).forEach((el2) => {\n // if (el2.closest(\".n-carousel__content > :not([aria-current])\")) {\n // if (el2.getAttribute(\"tabindex\") && !el2.dataset.focusDisabled) {\n // el2.dataset.oldTabIndex = el2.tabIndex;\n // }\n // el2.dataset.focusDisabled = true;\n // el2.tabIndex = -1;\n // }\n // });\n // }\n // });\n // active_slide.removeAttribute('aria-hidden');\n // active_slide.querySelectorAll(\"[data-focus-disabled]\").forEach((el2) => {\n // if (!el2.closest(\".n-carousel__content > :not([aria-current])\")) {\n // el2.removeAttribute(\"tabindex\");\n // delete el2.dataset.focusDisabled;\n // if (!!el2.dataset.oldTabIndex) {\n // el2.tabIndex = el2.dataset.oldTabIndex;\n // delete el2.dataset.oldTabIndex;\n // }\n // }\n // });\n // Obsoleted by inert – end\n if (/--vertical.*--auto-height/.test(wrapper.classList)) { // Undo jump to wrong slide when sliding to the last one\n el.scrollTop = el.offsetHeight * active_index_logical;\n }\n window.requestAnimationFrame(() => {\n observersOn(el);\n });\n };\n const slide = (el, offsetX = 0, offsetY = 0, index) => {\n clearTimeout(el.nCarouselTimeout);\n observersOff(el);\n if (!el.parentNode.dataset.sliding) {\n el.parentNode.dataset.sliding = true;\n let old_height = el.children[getIndexReal(el)].offsetHeight;\n let new_height = old_height;\n if (isAuto(el)) {\n let old_scroll_left = scrollStartX(el);\n let old_scroll_top = el.scrollTop;\n let slide = el.children[index];\n if (isVertical(el)) {\n slide.style.height = 'auto';\n let computed_max_height = getComputedStyle(el).maxHeight;\n let max_height = computed_max_height.match(/px/) ? Math.ceil(parseFloat(computed_max_height)) : 99999;\n // new_height = Math.min(slide.scrollHeight, max_height);\n new_height = Math.min(Math.ceil(parseFloat(getComputedStyle(slide).height)), max_height);\n // new_height = slide.scrollHeight;\n slide.style.height = '';\n } else {\n new_height = nextSlideHeight(slide);\n let old_height = getIndexReal(el) === index ? new_height : nextSlideHeight(el.children[getIndexReal(el)]);\n el.parentNode.style.setProperty(\"--height\", `${old_height}px`);\n }\n scrollTo(el, old_scroll_left + paddingX(el) / 2, old_scroll_top); // iPad bug\n scrollTo(el, old_scroll_left, old_scroll_top);\n }\n if (isVertical(el)) {\n if ((isModal(el) || isFullScreen()) && isAuto(el)) {\n old_height = new_height = el.offsetHeight;\n }\n offsetY = offsetY - index * old_height + index * new_height;\n }\n // console.log(index, offsetX, offsetY);\n window.requestAnimationFrame(() => {\n if (!el.parentNode.dataset.duration && !isAuto(el)) { // Unspecified duration, using native smooth scroll\n delete el.parentNode.dataset.sliding;\n el.dataset.next = index;\n el.scrollTo({\n top: el.scrollTop + offsetY,\n left: el.scrollLeft + offsetX,\n behavior: window.matchMedia('(prefers-reduced-motion: reduce)').matches ? \"auto\" : \"smooth\"\n });\n } else {\n scrollAnimate(el, offsetX, offsetY, new_height === old_height ? false : new_height, old_height); // Vertical version will need ceiling value\n }\n });\n }\n };\n const slideNext = (el) => {\n let index = getIndexReal(el);\n slideTo(el, index >= el.children.length - 1 ? 0 : index + 1);\n };\n const slidePrevious = (el) => {\n let index = getIndexReal(el);\n slideTo(el, index === 0 ? el.children.length - 1 : index - 1);\n };\n const slideTo = (el, index) => {\n if (isVertical(el)) {\n slide(el, 0, ceilingHeight(el.children[index]) * index - el.scrollTop, index);\n } else {\n let width = Math.ceil(parseFloat(getComputedStyle(el.children[index]).width));\n let new_offset = isRTL(el) ? Math.abs(scrollStartX(el)) - width * index : width * index - scrollStartX(el);\n slide(el, new_offset, 0, index);\n }\n };\n const carouselKeys = (e) => {\n // console.log('keydown', e);\n return;\n let keys = [\"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"PageUp\", \"PageDown\", \"Home\", \"End\"];\n let el = e.target;\n // if (e.key === \"Tab\") {\n // let carousel = el.closest(\".n-carousel__content\");\n // carousel.tabbing = true;\n // }\n if (el.matches(\".n-carousel__content\") && keys.includes(e.key)) {\n // Capture relevant keys\n e.preventDefault();\n switch (e.key) {\n case \"ArrowLeft\": {\n isRTL(el) ? slideNext(el) : slidePrevious(el);\n break;\n }\n case \"ArrowRight\": {\n isRTL(el) ? slidePrevious(el) : slideNext(el);\n break;\n }\n case \"ArrowUp\":\n case \"PageUp\": {\n slidePrevious(el);\n break;\n }\n case \"ArrowDown\":\n case \"PageDown\": {\n slideNext(el);\n break;\n }\n case \"Home\": {\n slideTo(el, 0);\n break;\n }\n case \"End\": {\n slideTo(el, el.children.length - 1);\n break;\n }\n }\n }\n };\n const slidePreviousEvent = (e) => slidePrevious(closestCarousel(e.target.closest('[class*=\"n-carousel\"]')));\n const slideNextEvent = (e) => slideNext(closestCarousel(e.target.closest('[class*=\"n-carousel\"]')));\n const slideIndexEvent = (e) => {\n let el = e.target.closest(\"a, button\");\n if (el && !(el.href && (e.ctrlKey || e.metaKey))) {\n const wrapper = document.querySelector(`.n-carousel#${el.parentNode.dataset.for}`) || el.closest(\".n-carousel\");\n const carousel = wrapper.querySelector(\":scope > .n-carousel__content\");\n let new_index = [...indexControls(el.parentNode)].indexOf(el);\n if (isEndless(carousel)) {\n var old_index = getIndex(carousel);\n if (old_index === 0) {\n if (new_index === carousel.children.length - 1) {\n new_index = 0;\n } else {\n new_index++;\n }\n }\n if (old_index === carousel.children.length - 1) {\n if (new_index === 0) {\n new_index = carousel.children.length - 1;\n } else {\n new_index--;\n }\n }\n }\n if (wrapper.classList.contains(\"n-carousel--inline\") && !isModal(carousel)) { // Opening an inline carousel\n wrapper.nextSlideInstant = true;\n // wrapper.classList.add(\"n-carousel--overlay\"); // Should trigger mutation and auto update?\n openModal(carousel);\n // Set new x, y\n window.requestAnimationFrame(() => {\n carousel.dataset.x = carousel.dataset.y = new_index;\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n document.body.dataset.frozen = document.body.scrollTop;\n updateCarousel(carousel);\n });\n } else {\n window.requestAnimationFrame(() => {\n slideTo(carousel, new_index);\n });\n }\n return false;\n }\n };\n const closeModal = (el) => {\n if (isFullScreen()) {\n !!document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen();\n }\n let carousel = closestCarousel(el);\n if (carousel) {\n carousel.closest(\".n-carousel\").classList.remove(\"n-carousel--overlay\");\n trapFocus(carousel.closest(\".n-carousel\"), true); // Disable focus trap\n delete document.body.dataset.frozen;\n }\n };\n const openModal = (el) => {\n let carousel = closestCarousel(el);\n if (carousel) {\n carousel.openingModal = true;\n carousel.closest(\".n-carousel\").classList.add(\"n-carousel--overlay\");\n trapFocus(carousel.closest(\".n-carousel\"));\n }\n };\n const autoHeightObserver = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let slide = e.target.querySelector(\":scope > [aria-current]\");\n let el = slide.closest(\".n-carousel__content\");\n if (!el.parentElement.dataset.sliding) {\n // console.log(e.target);\n el.parentNode.style.removeProperty('--height');\n if (isVertical(el)) {\n slide.style.height = 'auto';\n el.style.height = `${slide.scrollHeight}px`;\n slide.style.height = '';\n updateCarousel(el);\n } else {\n el.style.height = '';\n el.style.height = `${slide.scrollHeight}px`;\n updateCarousel(el, true);\n }\n }\n });\n });\n });\n const updateSubpixels = (el) => {\n if (!el.parentNode.dataset.sliding) {\n // Round down the padding, because sub pixel padding + scrolling is a problem\n let carousel = el;\n carousel.style.padding = ''; // Subpixel peeking fix\n carousel.style.removeProperty(\"--peek-int\");\n carousel.style.padding = isVertical(carousel) ? `${parseInt(getComputedStyle(carousel).paddingBlockStart)}px 0` : `0 ${parseInt(getComputedStyle(carousel).paddingInlineStart)}px`;\n if (carousel.style.padding === '0px') {\n carousel.style.padding = '';\n } else {\n // For Safari, which doesn't support inline end padding in a scrollable container\n carousel.style.setProperty(\"--peek-int\", isVertical(carousel) ? `${parseInt(getComputedStyle(carousel).paddingBlockStart)}px 0 0 0` : `0 ${parseInt(getComputedStyle(carousel).paddingInlineStart)}px 0 0`);\n }\n window.requestAnimationFrame(() => {\n if (isVertical(el)) {\n carousel.style.setProperty(\"--subpixel-compensation\", Math.ceil(carousel.getBoundingClientRect().height) - carousel.getBoundingClientRect().height);\n } else {\n carousel.style.setProperty(\"--subpixel-compensation\", Math.ceil(carousel.getBoundingClientRect().width) - carousel.getBoundingClientRect().width);\n }\n let offset = getIndexReal(carousel); // Real offset including displaced first/last slides\n scrollTo(carousel, offset * ceilingWidth(carousel.firstElementChild), offset * ceilingHeight(carousel.firstElementChild));\n });\n }\n };\n const observersOn = (el) => {\n window.requestAnimationFrame(() => {\n // setTimeout(() => {\n if (el.scroll_x && el.scroll_y) {\n scrollTo(el, el.scroll_x, el.scroll_y);\n }\n delete el.parentNode.dataset.sliding;\n // }, 0);\n if (el.parentNode.matches(\".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height\")) {\n height_minus_index.observe(el.parentNode);\n } else {\n height_minus_index.unobserve(el.parentNode);\n }\n subpixel_observer.observe(el);\n mutation_observer.observe(el.parentNode, {\n attributes: true,\n attributeFilter: [\"class\"],\n });\n });\n };\n const observersOff = (el) => {\n height_minus_index.unobserve(el.parentNode);\n subpixel_observer.unobserve(el);\n el.observerStarted = true;\n };\n const updateObserver = (el) => {\n observersOff(el);\n const doUpdate = el => {\n updateSubpixels(el);\n window.requestAnimationFrame(() => {\n let current_height = el.querySelector(\":scope > [aria-current]\").scrollHeight + \"px\";\n let previous_height = getComputedStyle(el).getPropertyValue(\"--height\");\n if (current_height !== previous_height) {\n el.parentNode.style.setProperty(\"--height\", current_height);\n }\n observersOn(el);\n });\n };\n doUpdate(el);\n el.querySelectorAll('.n-carousel__content').forEach(el => doUpdate(el));\n };\n const subpixel_observer = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let el = e.target;\n if (!!el.observerStarted) {\n el.observerStarted = false;\n return;\n }\n updateObserver(el);\n });\n });\n });\n const mutation_observer = new MutationObserver((mutations) => {\n for (let mutation of mutations) {\n if (mutation.target && !mutation.target.nextSlideInstant) {\n let carousel = mutation.target.querySelector(\":scope > .n-carousel__content\");\n updateObserver(carousel);\n updateCarousel(carousel, true);\n }\n }\n });\n const setIndexWidth = (el) => {\n let index = el.querySelector(\":scope > .n-carousel__index\");\n if (index && !el.dataset.sliding) {\n el.style.removeProperty(\"--height-minus-index\");\n index.style.position = \"absolute\";\n el.style.setProperty(\"--height-minus-index\", `${el.offsetHeight}px`);\n el.style.setProperty(\"--index-width\", getComputedStyle(el.querySelector(\":scope > .n-carousel__index\")).width);\n index.style.position = \"\";\n }\n };\n const height_minus_index = new ResizeObserver((entries) => {\n // Limit outside index height to carousel height\n window.requestAnimationFrame(() => {\n // Observing the carousel wrapper\n entries.forEach((e) => {\n let el = e.target;\n setIndexWidth(el);\n });\n });\n });\n const init = (host = document) => {\n host.querySelectorAll(\".n-carousel:not([data-ready])\").forEach((el) => {\n const previous = getControl(el, \".n-carousel__previous\");\n const next = getControl(el, \".n-carousel__next\");\n const index = getControl(el, \".n-carousel__index\");\n const close_modal = getControl(el, \".n-carousel__close\");\n const full_screen = getControl(el, \".n-carousel__full-screen\");\n const content = el.querySelector(\":scope > .n-carousel__content\");\n if (!content) {\n return;\n }\n if (!!previous) {\n previous.onclick = slidePreviousEvent;\n }\n if (!!next) {\n next.onclick = slideNextEvent;\n }\n if (!!index) {\n index.onclick = slideIndexEvent;\n }\n if (!!close_modal) {\n close_modal.onclick = e => {\n if (e.target.closest('.n-carousel').classList.contains('n-carousel--overlay')) {\n closeModal(e.target);\n } else {\n openModal(e.target);\n }\n }\n }\n if (!!full_screen) {\n full_screen.onclick = (e) => {\n let carousel = e.target.closest(\".n-carousel\").querySelector(\":scope > .n-carousel__content\");\n carousel.dataset.xx = carousel.dataset.x;\n carousel.dataset.yy = carousel.dataset.y;\n toggleFullScreen(e.target);\n };\n const fullScreenEvent = (e) => {\n let carousel = e.target.querySelector(\":scope > .n-carousel__content\");\n window.requestAnimationFrame(() => {\n updateCarousel(carousel);\n carousel.dataset.x = carousel.dataset.xx;\n carousel.dataset.y = carousel.dataset.yy;\n delete carousel.dataset.xx;\n delete carousel.dataset.yy;\n if (carousel.dataset.x !== \"undefined\" && carousel.dataset.y !== \"undefined\") {\n scrollTo(carousel, carousel.dataset.x * ceilingWidth(carousel.children[carousel.dataset.x]), carousel.dataset.y * ceilingHeight(carousel.children[carousel.dataset.y]));\n }\n });\n };\n if (isSafari) {\n el.onwebkitfullscreenchange = fullScreenEvent;\n } else {\n el.onfullscreenchange = fullScreenEvent;\n }\n }\n content.addEventListener(\"keydown\", carouselKeys);\n el.addEventListener(\"keyup\", (e) => {\n if (e.key === \"Escape\") {\n let el = e.target;\n if (!el.closest('.n-carousel--overlay')) {\n el = document.querySelector('.n-carousel--overlay');\n }\n if (el) {\n closeModal(el);\n }\n }\n });\n updateSubpixels(content);\n content.observerStarted = true;\n let hashed_slide = !!location.hash ? content.querySelector(\":scope > \" + location.hash) : false;\n if (hashed_slide) {\n if (el.classList.contains('n-carousel--inline')) {\n openModal(content);\n // el.classList.add('n-carousel--overlay');\n }\n let index = [...hashed_slide.parentNode.children].indexOf(hashed_slide);\n if (isVertical(content)) {\n content.dataset.y = index;\n } else {\n content.dataset.x = index;\n }\n // slideTo(content, index); // This slides to the wrong slide\n window.nCarouselNav = [content, location.hash];\n }\n if (el.matches(\".n-carousel--vertical.n-carousel--auto-height\")) {\n content.style.height = '';\n content.style.height = getComputedStyle(content).height;\n el.dataset.ready = true;\n content.scrollTop = 0; // Should be a different value if the initial active slide is other than the first one (unless updateCarousel() takes care of it)\n }\n if (el.matches(\".n-carousel--auto-height\")) {\n // Auto has a specified height which needs update on resize\n autoHeightObserver.observe(content);\n }\n window.requestAnimationFrame(() => {\n observersOn(content);\n if (el.parentNode.matches(\".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height\")) {\n setIndexWidth(el);\n }\n updateCarousel(content);\n el.dataset.ready = true;\n if (el.matches(\".n-carousel--auto-slide\")) {\n let auto_delay = (parseFloat(el.dataset.interval) * 1000 || default_interval) + (parseFloat(el.dataset.duration) * 1000 || default_duration);\n let carouselTimeout = () => {\n if (isElementInViewport(content)) {\n slideNext(content);\n }\n content.nCarouselTimeout = setTimeout(carouselTimeout, auto_delay);\n };\n content.nCarouselTimeout = setTimeout(carouselTimeout, parseFloat(el.dataset.interval) * 1000 || default_interval);\n content.addEventListener(\"pointerenter\", (e) => clearTimeout(e.target.nCarouselTimeout));\n }\n el.dataset.platform = navigator.platform; // iPhone doesn't support full screen, Windows scroll works differently\n });\n content.nCarouselUpdate = updateCarousel;\n const targets = content.querySelectorAll(':scope > *');\n let timeout = 0;\n const inView = target => {\n const interSecObs = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n let slide = entry.target;\n let carousel = slide.parentNode;\n if (entry.isIntersecting && !carousel.parentNode.dataset.sliding && getComputedStyle(carousel).visibility !== 'hidden') {\n if (carousel.dataset.next && parseInt(carousel.dataset.next) !== [...carousel.children].indexOf(slide)) {\n return;\n }\n delete carousel.dataset.next;\n observersOff(el);\n let x = carousel.scrollLeft;\n let y = carousel.scrollTop;\n let interval = 10; // Get rid of this magic number by timeout comparison with previous scroll offset\n let timeout_function = () => {\n // console.log(entry, entry.target, 'is intersecting at', entry.target.parentElement.scrollLeft, entry.target.parentElement.scrollTop);\n // if (Math.abs(x - carousel.scrollLeft) >= 1) {\n // console.log('intersection continue', x, carousel.scrollLeft, y, carousel.scrollLeft);\n // clearTimeout(timeout);\n // timeout = setTimeout(timeout_function, interval);\n // return;\n // }\n // console.log('intersection ', x, carousel.scrollLeft, y, carousel.scrollLeft);\n let index = [...carousel.children].indexOf(slide);\n if (isAuto(carousel)) {\n let old_height = parseFloat(getComputedStyle(carousel).height);\n let new_height;\n let offset_y = 0;\n let lastScrollX = carousel.scrollLeft;\n let lastScrollY = carousel.scrollTop;\n if (isVertical(carousel)) {\n let scroll_offset = carousel.scrollTop;\n slide.style.height = 'auto';\n let computed_max_height = getComputedStyle(el).maxHeight;\n let max_height = computed_max_height.match(/px/) ? Math.ceil(parseFloat(computed_max_height)) : 99999;\n // new_height = Math.min(slide.scrollHeight, max_height);\n new_height = Math.min(Math.ceil(parseFloat(getComputedStyle(slide).height)), max_height);\n // new_height = slide.scrollHeight;\n if (isModal(carousel) || isFullScreen()) {\n old_height = new_height = carousel.offsetHeight;\n }\n slide.style.height = '';\n carousel.scrollTop = scroll_offset;\n offset_y = index * new_height - carousel.scrollTop;\n } else {\n new_height = nextSlideHeight(slide); // ?\n // console.log(lastScrollX);\n if (!!lastScrollX) { // Because RTL auto height landing on first slide creates an infinite intersection observer loop\n scrollTo(carousel, lastScrollX, lastScrollY);\n }\n }\n if (old_height === new_height) {\n new_height = false;\n }\n carousel.parentNode.dataset.sliding = true;\n // interSecObs.unobserve(slide);\n window.requestAnimationFrame(() => {\n scrollAnimate(carousel, 0, offset_y, new_height, old_height).then(() => {});\n });\n } else {\n // console.log(carousel);\n window.requestAnimationFrame(() => {\n updateCarousel(carousel);\n });\n }\n // updateCarousel(entry.target.parentNode);\n };\n timeout = setTimeout(timeout_function, interval);\n }\n });\n }, { threshold: .996, root: target.parentElement }); // .99 works for all, including vertical auto height\n interSecObs.observe(target);\n // console.log('intersection observing ', target)\n };\n targets.forEach(inView);\n if (el.matches('.n-carousel--lightbox')) {\n let loaded = img => {\n img.closest('picture').dataset.loaded = true;\n };\n content.querySelectorAll(\"picture img\").forEach(el => {\n if (el.complete) {\n loaded(el);\n } else {\n el.addEventListener(\"load\", e => {\n loaded(e.target);\n });\n }\n });\n }\n });\n };\n window.nCarouselInit = init;\n window.addEventListener('popstate', e => { // Hash navigation support\n // console.log(e);\n if (!!location.hash) {\n let el = document.querySelector(location.hash);\n let carousel = el?.parentNode;\n if (!!carousel && carousel.classList.contains('n-carousel__content') && !carousel.parentNode.closest('.n-carousel__content')) {\n let modal_carousel = document.querySelector('.n-carousel--overlay > .n-carousel__content');\n if (modal_carousel && modal_carousel !== carousel) {\n closeModal(modal_carousel);\n // modal_carousel.parentNode.classList.remove('n-carousel--overlay');\n }\n if (carousel.parentNode.classList.contains('n-carousel--inline')) {\n closeModal(carousel);\n // carousel.parentNode.classList.add('n-carousel--overlay');\n }\n if (isSafari) { // Safari has already scrolled and needs to rewind it scroll position in order to animate it\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n }\n slideTo(carousel, [...carousel.children].indexOf(el));\n window.nCarouselNav = [carousel, location.hash];\n }\n } else {\n if (window.nCarouselNav) { // Previously navigated to a slide\n let carousel = window.nCarouselNav[0];\n delete window.nCarouselNav;\n if (isSafari) { // Safari has already scrolled and needs to rewind it scroll position in order to animate it\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n }\n slideTo(carousel, [...carousel.children].indexOf(carousel.querySelector(':scope > :not([id])')));\n }\n }\n });\n const doInit = () => {\n (typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-carousel\", init): init();\n };\n if (document.readyState !== \"loading\") {\n doInit();\n } else {\n document.addEventListener(\"DOMContentLoaded\", doInit);\n }\n})();","// Component Accordion\n(function() {\n\tconst animate_options = el => { return { easing: \"ease-in-out\", duration: window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? (el.dataset.duration * 1000 || getComputedStyle(el).getPropertyValue('--duration') * 1000 || 200) : 0 } };\n\tconst accordionContent = el => el.querySelector(\":scope > .n-accordion__content\");\n\tconst openAccordion = (el) => {\n\t\tel = accordionContent(el);\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tel.style.height = 0;\n\t\t\tel.style.overflow = \"hidden\";\n\t\t\tlet wrapper = el.parentNode;\n\t\t\twrapper.querySelector(\":scope > .n-accordion__label\").setAttribute(\"aria-expanded\", true);\n\t\t\tel.animate([{ height: 0 }, { height: `${el.scrollHeight}px` }], animate_options(wrapper)).onfinish = () => {\n\t\t\t\tel.style.height = el.style.overflow = \"\";\n\t\t\t};\n\t\t});\n\t};\n\tconst closeAccordion = (el, callback) => {\n\t\tel = accordionContent(el);\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tel.style.overflow = \"hidden\";\n\t\t\tlet wrapper = el.parentNode;\n\t\t\tel.animate([{ height: `${el.scrollHeight}px` }, { height: 0 }], animate_options(wrapper)).onfinish = () => {\n\t\t\t\tel.style.height = el.style.overflow = \"\";\n\t\t\t\twrapper.querySelector(\":scope > .n-accordion__label\").setAttribute(\"aria-expanded\", false);\n\t\t\t\ttypeof callback !== 'function' || callback();\n\t\t\t\tif (wrapper.classList.contains('n-accordion--close-nested')) {\n\t\t\t\t\tel.querySelectorAll(\".n-accordion__label[aria-expanded='true']\").forEach(el => el.setAttribute(\"aria-expanded\", false));\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t};\n\tconst toggleAccordion = (e) => {\n\t\tlet el = e.target.closest('.n-accordion'); // el = .n-accordion\n\t\tif (!el.querySelector(\":scope > [aria-expanded='true']\")) {\n\t\t\tlet popin = el.closest(\".n-accordion__popin\");\n\t\t\tconst updateRow = () => {\n\t\t\t\tif (popin) {\n\t\t\t\t\tlet row = Math.floor(([...popin.children].indexOf(el) / getComputedStyle(popin).getPropertyValue(\"--n-popin-columns\")) * 1) + 2;\n\t\t\t\t\tpopin.style.setProperty(\"--n-popin-open-row\", row);\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (el.parentNode.matches('[role=\"group\"]') || popin) {\n\t\t\t\tlet other_accordion = el.parentNode.querySelector(\":scope > .n-accordion > [aria-expanded='true']\");\n\t\t\t\tif (other_accordion) {\n\t\t\t\t\tcloseAccordion(other_accordion.parentNode, () => { // el = .n-accordion\n\t\t\t\t\t\tupdateRow();\n\t\t\t\t\t\topenAccordion(el);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tupdateRow();\n\t\t\t\t\topenAccordion(el);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\topenAccordion(el);\n\t\t\t}\n\t\t} else {\n\t\t\tcloseAccordion(el);\n\t\t}\n\t};\n\n\tfunction init(host = document) {\n\t\thost.querySelectorAll(\".n-accordion:not([data-ready]) > .n-accordion__label\").forEach((el) => {\n\t\t\tel.addEventListener(\"click\", toggleAccordion);\n\t\t\tel.parentElement.querySelector(\":scope > input\")?.remove(); // Remove CSS-only solution\n\t\t\tel.parentNode.dataset.ready = true;\n\t\t\tel.setAttribute('aria-expanded', el.getAttribute('aria-expanded') === 'true');\n\t\t});\n\t}\n\tconst doInit = () => {\n\t\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-accordion\", init) : init();\n\t};\n\tif (document.readyState !== \"loading\") {\n\t\tdoInit();\n\t} else {\n\t\tdocument.addEventListener(\"DOMContentLoaded\", doInit);\n\t}\n})();","/* Modal – start */\n(function() {\n // // left: 37, up: 38, right: 39, down: 40,\n // // spacebar: 32, pageup: 33, pagedown: 34, end: 35, home: 36\n // var keys = { 37: 1, 38: 1, 39: 1, 40: 1 };\n // \n // function preventDefault(e) {\n // e.preventDefault();\n // }\n // \n // function preventDefaultForScrollKeys(e) {\n // if (keys[e.keyCode]) {\n // preventDefault(e);\n // return false;\n // }\n // }\n // \n // // modern Chrome requires { passive: false } when adding event\n // var supportsPassive = false;\n // try {\n // window.addEventListener(\"test\", null, Object.defineProperty({}, 'passive', {\n // get: function() { supportsPassive = true; }\n // }));\n // } catch (e) {}\n // \n // var wheelOpt = supportsPassive ? { passive: false } : false;\n // var wheelEvent = 'onwheel' in document.createElement('div') ? 'wheel' : 'mousewheel';\n // \n // // call this to Disable\n // function disableScrolling() {\n // window.addEventListener(wheelEvent, preventDefault, wheelOpt); // modern desktop\n // window.addEventListener('touchmove', preventDefault, wheelOpt); // mobile\n // window.addEventListener('keydown', preventDefaultForScrollKeys, false);\n // }\n // \n // // call this to Enable\n // function enableScrolling() {\n // window.removeEventListener(wheelEvent, preventDefault, wheelOpt);\n // window.removeEventListener('touchmove', preventDefault, wheelOpt);\n // window.removeEventListener('keydown', preventDefaultForScrollKeys, false);\n // }\n // const isChrome = !!navigator.userAgent.match(\"Chrome\");\n // const isSafari = navigator.userAgent.match(/Safari/) && !isChrome;\n var x = window.scrollX;\n var y = window.scrollY;\n var scroll_timeout;\n const blockScroll = e => {\n // console.log(e);\n // if (isSafari) {\n document.querySelectorAll('dialog.n-modal[open]').forEach(el => {\n el.classList.add('n-modal--transparent');\n });\n clearTimeout(scroll_timeout);\n scroll_timeout = setTimeout(() => {\n document.querySelectorAll('dialog.n-modal[open]').forEach(el => {\n el.classList.remove('n-modal--transparent');\n });\n }, 67);\n // } else {\n // window.scrollTo(x, y);\n // }\n };\n\n function disableScrolling() {\n x = window.scrollX;\n y = window.scrollY;\n // window.onscroll = function() { window.scrollTo(x, y); };\n window.addEventListener('scroll', blockScroll, { 'passive': 'true' });\n }\n\n function enableScrolling() {\n // window.onscroll = function() {};\n window.removeEventListener('scroll', blockScroll);\n }\n // var previouslyFocused = previouslyFocused || false;\n function transferClass(origin, target, className) {\n let classes = typeof className === \"string\" ? new Array(className) : className;\n classes.forEach(el => {\n if (origin.classList.contains(el)) {\n target.classList.add(el);\n }\n });\n }\n const animationDuration = () => window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? (getComputedStyle(document.querySelector('.n-modal')).getPropertyValue('--duration') * 1000) : 0;\n let removeModal = e => {\n document.documentElement.classList.remove('transparent-scrollbar');\n let modal = e.target;\n modal.removeEventListener('close', removeModal);\n if (modal.existingDetachedElement) {\n // console.log(modal);\n if (!modal.existingModal) {\n let content = modal.querySelector('.n-modal__content');\n content.removeChild(content.firstElementChild);\n }\n delete modal.existingDetachedElement;\n modal.remove();\n }\n if (modal.attachedHiddenContent) {\n modal.replaceWith(modal.lastChild);\n } else {\n if (modal.dataset.existingAttachedContent) {\n modal.replaceWith(modal.lastChild.firstElementChild);\n } else {\n if (modal.existingModal) {\n delete modal.existingModal;\n delete modal.dataset.anim;\n } else {\n modal.remove();\n }\n }\n }\n }\n\n function closeModal(modal) {\n let direction_option = \"normal\";\n var animation = modal.dataset.anim; // Custom animation?\n if (!animation || animation.length < 11) {\n // '', 'null' or 'undefined'?\n animation = '[{ \"transform\": \"translate3d(0,0,0)\" }, { \"transform\": \"translate3d(0,-100vh,0)\" }]';\n } else {\n direction_option = \"reverse\";\n }\n modal.classList.add('n-modal--closing');\n setTimeout(() => { modal.classList.remove('n-modal--closing'); }, animationDuration());\n modal.animate(JSON.parse(animation), { duration: animationDuration(), direction: direction_option, easing: \"ease-in-out\" }).onfinish = () => {\n enableScrolling();\n // nuiDisableBodyScroll(false, modal); // Turn off and restore page scroll\n if (modal.existingModal) {\n if (!modal.existingDetachedElement) {\n modal.removeEventListener('close', removeModal);\n }\n // delete modal.existingModal;\n delete modal.dataset.anim;\n }\n modal.close();\n // document.querySelector(\"html\").classList.remove(\"no-scroll\");\n // window.scrollTo(modal.previousScrollX, modal.previousScrollY);\n };\n }\n\n function openModal(options) {\n // options: {content: \"\"/element, animation: \"\", trigger: element, closeSymbol: \"\", closeLabel: \"\"}\n // content is either an HTML string or an element\n // options can be solely content if it's a string or element\n // Fix Chrome flashing disappearing scrollbars on open\n document.documentElement.style.overflow = 'scroll';\n const scrollbar_width = window.innerWidth - document.documentElement.offsetWidth;\n document.documentElement.style.overflow = '';\n if (!scrollbar_width) { // Because Chrome flashes disappearing scrollbars on open (Mac)\n document.documentElement.classList.add('transparent-scrollbar');\n }\n if (typeof options === 'string' || !!options.tagName) {\n options = { content: options };\n }\n let animation = options.animation;\n let content = options.content;\n let trigger = options.trigger;\n var wrapper = {};\n var existingDetachedElement = false;\n if (content.parentNode) {\n // console.log(content.parentNode);\n if (content.parentNode.tagName === 'DIALOG' || content.parentNode.classList.contains('n-modal__content')) {\n return;\n }\n } else {\n if (content.tagName) {\n existingDetachedElement = true;\n }\n }\n const close_label = 'Close';\n const close_symbol = '╳';\n if (typeof content === 'object' && content.tagName === 'DIALOG') {\n if (!content.parentNode) { // Detached modal\n document.body.appendChild(content);\n }\n wrapper = content;\n wrapper.existingModal = true;\n let close_button = wrapper.querySelector('.n-modal__close');\n if (close_button) {\n close_button.dataset.closeSymbol = close_button.dataset.closeSymbol || close_symbol;\n close_button.ariaLabel = close_button.ariaLabel || close_label;\n }\n } else {\n wrapper = document.createElement(\"dialog\");\n wrapper.insertAdjacentHTML(\"afterbegin\", `
`);\n let modal_content = document.createElement(\"div\");\n if (typeof content === \"string\") {\n wrapper.lastChild.innerHTML = content;\n document.body.appendChild(wrapper);\n } else {\n let parent = content.parentElement;\n if (parent) {\n let marker = document.createElement('div');\n content.replaceWith(marker);\n wrapper.lastChild.appendChild(content);\n marker.replaceWith(wrapper);\n if (content.classList.contains('n-modal__content')) {\n wrapper.lastChild.replaceWith(content);\n wrapper.attachedHiddenContent = true;\n } else {\n wrapper.dataset.existingAttachedContent = true;\n }\n } else {\n wrapper.lastChild.appendChild(content);\n document.body.appendChild(wrapper);\n }\n }\n }\n if (options.blur) {\n wrapper.classList.add('n-modal--blur');\n }\n if (options.shadow) {\n wrapper.classList.add('n-modal--shadow');\n }\n if (options.rounded) {\n wrapper.classList.add('n-modal--rounded');\n }\n if (options.full) {\n wrapper.classList.add('n-modal--full');\n }\n wrapper.dataset.anim = animation;\n wrapper.classList.add(\"n-modal\");\n wrapper.onclick = (e) => {\n let el = e.target.closest('.n-modal');\n let button = e.target.closest('.n-modal__close');\n if (button || (e.target.matches('.n-modal') && (e.offsetX < 0 || e.offsetY < 0 || (e.offsetX - 2) > el.getBoundingClientRect().width || (e.offsetY - 2) > el.getBoundingClientRect().height))) {\n closeModal(el);\n }\n };\n wrapper.addEventListener(\"cancel\", e => {\n e.preventDefault();\n closeModal(e.target.closest('.n-modal'));\n });\n if (existingDetachedElement) {\n wrapper.existingDetachedElement = true;\n }\n wrapper.showModal();\n // nuiDisableBodyScroll(true, wrapper); // Turn on and block page scroll\n // if (document.querySelectorAll(\".n-modal\").length === 1) {\n // // Sole (first) modal\n // wrapper.previousScrollX = window.scrollX;\n // wrapper.previousScrollY = window.scrollY;\n // }\n // document.querySelector(\"html\").classList.add(\"no-scroll\");\n wrapper.animate(typeof animation === \"string\" ? JSON.parse(animation) : [{ transform: \"translate3d(0,-100vh,0)\" }, { transform: \"translate3d(0,0,0)\" }], {\n duration: animationDuration(),\n easing: \"ease-in-out\",\n }).onfinish = () => {\n wrapper.addEventListener('close', removeModal);\n disableScrolling();\n };\n return wrapper;\n }\n\n function parseHTML(str) {\n var tmp = document.implementation.createHTMLDocument(\"Parsed\");\n tmp.body.innerHTML = str;\n // To do: destroy the HTMLDocument before returning\n return tmp.body;\n }\n\n function modalWindowLink(e) {\n // Modal window of external file content\n var el = e.target;\n let trigger = el.closest(\".n-modal-link\");\n var link = trigger.dataset.href || trigger.href; // data-href for `;\n\t\t\t\t});\n\t\t\t\tel = document.createElement(\"span\");\n\t\t\t\tel.insertAdjacentHTML(\"beforeend\", options);\n\t\t\t\twrapper.prepend(el);\n\t\t\t}\n\t\t\tel.nuiSelectWrapper = wrapper;\n\t\t\tel.classList.add(\"n-select__options\");\n\t\t\tel.nuiNativeInput = el.nuiSelectWrapper.querySelector(\"select, input\") || nextMatchingSibling(el.nuiSelectWrapper, \"select\") || document.querySelector(`[data-n_select=\"${el.nuiSelectWrapper.dataset.n_select}\"]`); // As a sibling, child or data-n_select match (where data-n_select is the rich select's data-n_select attribute)\n\t\t\tif (!el.nuiNativeInput) {\n\t\t\t\t// Missing native select, so generate it\n\t\t\t\tlet input = document.createElement(\"select\");\n\t\t\t\tinput.name = input.id = el.dataset.name;\n\t\t\t\twrapper.append(input);\n\t\t\t\tel.nuiNativeInput = input;\n\t\t\t}\n\t\t\tlet initial_value = el.nuiNativeInput.value;\n\t\t\tlet initial_option = el.querySelector(`button[value=\"${initial_value}\"`);\n\t\t\tel.nuiNativeInput.innerHTML = \"\";\n\t\t\twrapper.addEventListener(\"pointerdown\", pointerDownSelect);\n\t\t\tel.addEventListener(\"click\", clickSelect); // Selects a clicked (pointer upped) option\n\t\t\tel.addEventListener(\"focusout\", (e) => {\n\t\t\t\tlet select = e.target.closest(\".n-select__options\");\n\t\t\t\t// If relatedTarget isn't a sibling, close and focus on select wrapper\n\t\t\t\tif (select.hasAttribute(\"aria-expanded\") && !!e.relatedTarget && e.relatedTarget.parentNode !== select) {\n\t\t\t\t\tcloseSelect(select);\n\t\t\t\t\tselect.nuiSelectWrapper.focus();\n\t\t\t\t}\n\t\t\t});\n\t\t\tel.ontransitionend = (e) => {\n\t\t\t\tlet el = e.target;\n\t\t\t\tel.style.removeProperty(\"--mask-position-y\");\n\t\t\t\tel.style.removeProperty(\"--mask-size-y\");\n\t\t\t\tdelete el.dataset.nSelectAnimation;\n\t\t\t\tel.addEventListener(\"pointerup\", pointerUpSelect);\n\t\t\t\t// el.dataset.transitionend = true;\n\t\t\t};\n\t\t\tel.addEventListener(\"keydown\", selectKeyboard);\n\t\t\twrapper.addEventListener(\"keydown\", selectKeyboard);\n\t\t\tel.addEventListener(\"keyup\", trapKeyboard);\n\t\t\twrapper.addEventListener(\"keyup\", trapKeyboard);\n\t\t\tel.lastElementChild.onkeydown = (e) => {\n\t\t\t\t// Close select on tab outside. To do: get last button only\n\t\t\t\tif (e.key === \"Tab\" && !e.shiftKey && e.target.parentNode.hasAttribute(\"aria-expanded\")) {\n\t\t\t\t\tcloseSelect(e.target.parentNode);\n\t\t\t\t\te.target.parentNode.nuiSelectWrapper.focus();\n\t\t\t\t}\n\t\t\t};\n\t\t\tel.querySelectorAll(\"button\").forEach((el) => {\n\t\t\t\tel.type = \"button\"; // Unlike the default 'submit'\n\t\t\t\tel.value = el.value || el.textContent.trim();\n\t\t\t});\n\t\t\twrapper.setAttribute(\"tabindex\", 0);\n\t\t\t(el.querySelector(\"[aria-selected]\") || el.firstElementChild).tabIndex = -1;\n\t\t\twrapper.style.setProperty(\"--inline-width\", `${el.getBoundingClientRect().width}px`);\n\t\t\tselectOption(el.querySelector(\"[aria-selected]\") || initial_option || el.querySelector(\"button\")); // Select the first option by default\n\t\t\tel.nuiSearchTerm = \"\";\n\t\t\t[\"n-select--rounded\", \"n-select--shadow\"].forEach((cls) => {\n\t\t\t\tif (wrapper.classList.contains(cls)) {\n\t\t\t\t\tel.classList.add(cls);\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet label = el.closest(\"label\") || document.querySelector(`label[for=\"${el.nuiNativeInput.id}\"]`);\n\t\t\tif (label) {\n\t\t\t\tlabel.onclick = (e) => {\n\t\t\t\t\tlet el = e.target;\n\t\t\t\t\tif (!el.closest(\".n-select\")) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tel = el.closest(\"label\");\n\t\t\t\t\t\tlet select = el.querySelector(\".n-select\") || document.getElementById(el.getAttribute(\"for\")).closest(\".n-select\");\n\t\t\t\t\t\tselect.focus();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t\twrapper.dataset.ready = true;\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t// wrapper.style.setProperty(\"--active-option-height\", `${el.querySelector(\"[aria-selected]\").getBoundingClientRect().height}px`);\n\t\t\t\tupdateOptionHeight(wrapper, el);\n\t\t\t\t[\"--nui-control-color\", \"--nui-control-bg\", \"--nui-control-active-color\", \"--nui-control-active-bg\", \"--nui-control-highlight\"].forEach((i) => {\n\t\t\t\t\tel.style.setProperty(i, wrapper.style.getPropertyValue(i));\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t};\n\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-select\", init) : init(document.body);\n})();","// Component Tooltip – start\n(function() {\n\tlet setTipPosition = (tool, tip) => {\n\t\t// Take up the most area available on top/right/bottom/left of the tool. Relative to body.\n\t\tlet rect = tool.getBoundingClientRect();\n\t\tlet top = rect.top;\n\t\tlet left = rect.left;\n\t\tlet right = window.innerWidth - left - rect.width;\n\t\tlet bottom = window.innerHeight - top - rect.height; // To do: check when body is shorter than viewport\n\t\tlet area_top = top * window.innerWidth;\n\t\tlet area_right = right * window.innerHeight;\n\t\tlet area_bottom = bottom * window.innerWidth;\n\t\tlet area_left = left * window.innerHeight;\n\t\tlet body_rect = document.body.getBoundingClientRect();\n\t\ttip.removeAttribute(\"style\");\n\t\tdelete tip.dataset.position;\n\t\ttip.classList.add('n-tooltip__content-visible');\n\t\tlet positionTop = () => {\n\t\t\ttip.style.bottom = 20 + body_rect.height + body_rect.y - top + \"px\";\n\t\t\ttip.style.maxHeight = top - 40 + \"px\";\n\t\t\ttip.style.left = `${rect.x + rect.width / 2 - tip.scrollWidth / 2}px`;\n\t\t\ttip.dataset.nPosition = \"top\";\n\t\t};\n\t\tlet positionBottom = () => {\n\t\t\ttip.style.top = 20 - body_rect.y + top + rect.height + \"px\";\n\t\t\ttip.style.maxHeight = bottom - 40 + \"px\";\n\t\t\ttip.style.left = `${rect.x + rect.width / 2 - tip.scrollWidth / 2}px`;\n\t\t\ttip.dataset.nPosition = \"bottom\";\n\t\t};\n\t\tlet positionLeft = () => {\n\t\t\ttip.style.left = \"auto\";\n\t\t\ttip.style.right = 20 + body_rect.width + body_rect.x - window.innerWidth + right + rect.width + \"px\";\n\t\t\ttip.style.maxWidth = left - 40 + \"px\";\n\t\t\ttip.style.top = `${-1 * body_rect.y + rect.top + rect.height / 2 - tip.scrollHeight / 2}px`;\n\t\t\ttip.dataset.nPosition = \"left\";\n\t\t};\n\t\tlet positionRight = () => {\n\t\t\ttip.style.left = rect.x - body_rect.x + rect.width + 20 + \"px\";\n\t\t\ttip.style.maxWidth = right - 40 + \"px\";\n\t\t\ttip.style.top = `${-1 * body_rect.y + rect.top + rect.height / 2 - tip.scrollHeight / 2}px`;\n\t\t\ttip.dataset.nPosition = \"right\";\n\t\t};\n\t\tif (area_left > area_right) {\n\t\t\tif (area_top > area_bottom) {\n\t\t\t\tif (area_top > area_left) {\n\t\t\t\t\t// Top\n\t\t\t\t\tpositionTop();\n\t\t\t\t} else {\n\t\t\t\t\t// Left\n\t\t\t\t\tpositionLeft();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (area_bottom > area_left) {\n\t\t\t\t\t// Bottom\n\t\t\t\t\tpositionBottom();\n\t\t\t\t} else {\n\t\t\t\t\t// Left\n\t\t\t\t\tpositionLeft();\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (area_top > area_bottom) {\n\t\t\t\tif (area_top > area_right) {\n\t\t\t\t\t// Top\n\t\t\t\t\tpositionTop();\n\t\t\t\t} else {\n\t\t\t\t\t// Right\n\t\t\t\t\tpositionRight();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (area_bottom > area_right) {\n\t\t\t\t\t// Bottom\n\t\t\t\t\tpositionBottom();\n\t\t\t\t} else {\n\t\t\t\t\t// Right\n\t\t\t\t\tpositionRight();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tlet rect_tip = tip.getBoundingClientRect();\n\t\tlet offset_y = 0;\n\t\tif (rect_tip.y < 0) {\n\t\t\toffset_y = Math.abs(rect_tip.y) + 10;\n\t\t} else {\n\t\t\tif (rect_tip.bottom > window.innerHeight) {\n\t\t\t\toffset_y = window.innerHeight - rect_tip.bottom - 10;\n\t\t\t}\n\t\t}\n\t\ttip.style.setProperty(\"--offset_y\", offset_y + \"px\");\n\t\tlet offset_x = 0;\n\t\tif (rect_tip.x < 0) {\n\t\t\toffset_x = Math.abs(rect_tip.x) + 10;\n\t\t} else {\n\t\t\tif (rect_tip.right > window.innerWidth) {\n\t\t\t\toffset_x = window.innerWidth - rect_tip.right - 10;\n\t\t\t}\n\t\t}\n\t\ttip.style.setProperty(\"--offset_x\", offset_x + \"px\");\n\t};\n\n\tfunction getToolTip(tool) {\n\t\treturn document.getElementById(tool.getAttribute('aria-describedby')) || tool.nextElementSibling;\n\t}\n\tconst hideTipFunction = tool => {\n\t\tlet tip = getToolTip(tool);\n\t\ttool.removeAttribute(\"aria-expanded\");\n\t\ttool.after(tip);\n\t\ttip.removeAttribute(\"style\");\n\t\tdelete tip.dataset.position;\n\t\ttip.classList.remove('n-tooltip__content-visible');\n\t}\n\tlet hideTip = (e) => {\n\t\thideTipFunction(e.target.closest(\".n-tooltip\"));\n\t};\n\tconst hideTipOnScroll = e => {\n\t\tdocument.querySelectorAll('.n-tooltip').forEach(el => hideTipFunction(el));\n\t\tdocument.removeEventListener('scroll', hideTipOnScroll);\n\t};\n\tlet showTip = (e) => {\n\t\tlet tool = e.target.closest(\".n-tooltip\");\n\t\tlet tip = getToolTip(tool);\n\t\ttool.setAttribute(\"aria-expanded\", true);\n\t\tdocument.body.appendChild(tip);\n\t\tsetTipPosition(tool, tip);\n\t\tdocument.addEventListener('scroll', hideTipOnScroll, true);\n\t};\n\tconst init = (host = document) => {\n\t\t/* Tooltip */\n\t\tlet tooltips = host.querySelectorAll(\".n-tooltip\")?.length;\n\t\thost.querySelectorAll(\".n-tooltip:not([data-ready])\").forEach((el) => {\n\t\t\tel.setAttribute(\"tabindex\", 0);\n\t\t\tel.addEventListener('touchend', showTip);\n\t\t\tel.addEventListener('mouseover', showTip);\n\t\t\tel.addEventListener('focus', showTip);\n\t\t\tel.addEventListener('mouseout', hideTip);\n\t\t\tel.addEventListener('blur', hideTip);\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-tooltip\", init): init();\n})();\n// Component Tooltip – end","// Component Notification bar – start\n(function() {\n\tfunction notifyClose(el) {\n\t\tif (!!el) {\n\t\t\tel.parentNode.removeChild(el);\n\t\t}\n\t}\n\n\tfunction notifyCloseEvent() {\n\t\tif (document.querySelector(\".n-notify\")) {\n\t\t\tdocument.querySelector(\".n-notify\").onclick = (e) => {\n\t\t\t\tnotifyClose(e.target);\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction notify(content, option) {\n\t\tdocument.body.insertAdjacentHTML(\"afterbegin\", ``);\n\t\tdocument.querySelector(\".n-notify\").focus();\n\t\tnotifyCloseEvent();\n\t\tif (option && option.indexOf(\"timeout\") !== -1) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tnotifyClose(document.querySelector(\".n-notify\"));\n\t\t\t}, 2000);\n\t\t}\n\t}\n\tlet init = (host) => {\n\t\t/* Tooltip */\n\t\thost.querySelectorAll(\".n-notify:not([data-ready])\").forEach((el, i) => {\n\t\t\tnotifyCloseEvent();\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\tnui.registerComponent(\"notify\", init, {\n\t\t'name': 'notify',\n\t\t'code': notify\n\t});\n})();\n// Component Notification bar – end","// Component Nav – start\n(function() {\n /* Nav – start */\n function closeDropNavClickedOutside(e) {\n // Close the nav when clicking outside\n if (!e.target.closest(\".n-nav li\")) {\n document.querySelectorAll(\".n-nav li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n if (document.querySelector(\".n-nav :focus\")) {\n document.querySelector(\".n-nav :focus\").blur();\n }\n }\n }\n\n function isDesktop(nav) {\n // Checks the UL sub nav element\n return !!getComputedStyle(nav).getPropertyValue(\"--desktop\");\n }\n let navAnimating = false;\n\n function dropNavBlur(e) {\n var this_nav = e.target.closest(\".n-nav\");\n if (navAnimating || !e.relatedTarget) {\n return;\n }\n e.stopPropagation();\n let el = e.target;\n let item = el.tagName === \"LI\" ? el.querySelector(\"ul\") : el.parentElement.querySelector(\"ul\");\n if (!this_nav.contains(e.relatedTarget) || (isDesktop(this_nav) && !!e.relatedTarget && !closestElement(e.relatedTarget, this_nav))) {\n // if e.relatedTarget is not a child of this_nav, then the next focused item is elsewhere\n this_nav.querySelectorAll(\"li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n return;\n }\n if (item) {\n if (item.parentNode.parentNode.querySelector(\"ul [aria-expanded]\")) {\n // To do: Unless it's the first/last item and user has back/forward tabbed away from it?\n return;\n }\n item.parentElement.removeAttribute(\"aria-expanded\");\n }\n // Close neighboring parent nav's sub navs.\n el = e.target;\n var target_parent = el.closest(\"[aria-haspopup]\");\n if (target_parent) {\n // Skip if it's a top-level-only item\n target_parent.querySelectorAll(\"li[aria-expanded]\").forEach((el) => {\n // Disable active grandchildren\n el.removeAttribute(\"aria-expanded\");\n });\n }\n el = e.target.parentNode;\n if (!el.nextElementSibling && // last item\n el.parentNode.parentNode.nodeName === \"LI\" && // of third-level nav\n !el.parentNode.parentNode.nextElementSibling) {\n el.parentNode.parentNode.removeAttribute(\"aria-expanded\");\n }\n }\n\n function dropNavFocus(e) {\n // Close focused third level child when focus moves to another top-level item\n e.stopPropagation();\n var el = e.target.closest(\".n-nav > ul > li\");\n // To do: on LI focus, make it aria-expanded and focus its a\n if (navAnimating) {\n return;\n }\n [\n [].slice.call(el.parentElement.children),\n [].slice.call(e.target.parentElement.parentElement.children),\n [].slice.call(e.target.parentElement.parentElement.parentElement.parentElement.children),\n ].forEach((el) => {\n el.forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n });\n el.setAttribute(\"aria-expanded\", true);\n // \t\topenItem(el.querySelector('ul'));\n if (el.parentNode.parentNode.getAttribute(\"aria-haspopup\")) {\n el.parentNode.parentNode.setAttribute(\"aria-expanded\", true);\n }\n el.querySelectorAll(\"li[aria-expanded]\").forEach((el) => {\n // Hide grandchildren\n el.removeAttribute(\"aria-expanded\");\n });\n // Make current focused item's ancestors visible\n el = e.target;\n el.parentNode.setAttribute(\"aria-expanded\", true);\n var grand_parent = el.parentElement.parentElement.parentElement;\n if (grand_parent.tagName === \"LI\") {\n grand_parent.setAttribute(\"aria-expanded\", true);\n }\n }\n var closeDropNavClickedOutsideEnabled = false;\n \n const getDuration = () => window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? 200 : 0;\n \n let closeItem = (item) => {\n navAnimating = true;\n item.style.overflow = \"hidden\";\n item.parentElement.setAttribute(\"aria-expanded\", true);\n item.animate([{ height: `${item.scrollHeight}px` }, { height: 0 }], getDuration()).onfinish = () => {\n item.removeAttribute(\"style\");\n item.parentElement.removeAttribute(\"aria-expanded\");\n navAnimating = false;\n item.querySelectorAll(\"[aria-expanded]\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n };\n };\n let openItem = (item) => {\n navAnimating = true;\n item.style.overflow = \"hidden\";\n item.parentElement.setAttribute(\"aria-expanded\", true);\n item.animate([{ height: 0 }, { height: `${item.scrollHeight}px` }], getDuration()).onfinish = () => {\n item.removeAttribute(\"style\");\n navAnimating = false;\n };\n };\n let clickEvent = (e) => {\n e.stopPropagation();\n // To do: also ancestors, also close when open\n let el = e.target;\n var this_nav = el.closest(\".n-nav\");\n this_nav.removeEventListener(\"focusout\", dropNavBlur);\n if (this_nav.contains(document.activeElement)) {\n document.activeElement.blur();\n }\n let item = el.tagName === \"LI\" ? el.querySelector(\"ul\") : el.parentElement.querySelector(\"ul\");\n if (isDesktop(this_nav)) {\n if (el.getAttribute(\"aria-expanded\")) {\n if (el.querySelector(\"a:focus\")) {\n // \t\t\t\t\t\tel.querySelector('a:focus').blur();\n } else {\n if (isDesktop(this_nav)) {\n el.removeAttribute(\"aria-expanded\");\n } else {\n closeItem(item);\n }\n }\n } else {\n [].slice.call(el.parentElement.children).forEach((item) => {\n item.removeAttribute(\"aria-expanded\");\n let old_item_open_child = item.querySelector(\"[aria-expanded]\");\n if (old_item_open_child) {\n old_item_open_child.removeAttribute(\"aria-expanded\");\n }\n });\n el.setAttribute(\"aria-expanded\", true);\n if (!isDesktop(this_nav)) {\n openItem(item);\n }\n }\n } else {\n if (item.parentNode.hasAttribute(\"aria-expanded\")) {\n closeItem(item);\n } else {\n // If new item is top level, close another top level item, if any is open\n if (item.parentElement.parentElement.matches(\"ul\")) {\n // It's top level, To do: also on secondary level, close open sibling\n let old_item = item.parentElement.closest(\"ul\").querySelector('[aria-expanded=\"true\"] > ul');\n if (old_item) {\n closeItem(old_item);\n }\n }\n openItem(item);\n }\n }\n this_nav.addEventListener(\"focusout\", dropNavBlur);\n };\n\n function checkSides(ul, menubar) {\n if (getComputedStyle(ul).direction !== 'rtl') {\n ul.classList.remove(\"n-right-overflow\");\n ul.style.removeProperty(\"--n-right-overflow\");\n //\t\tvar rect = ul.getBoundingClientRect(); // Firefox doesn't preserve this var\n if (ul.getBoundingClientRect().left > document.body.offsetWidth - (ul.getBoundingClientRect().left + ul.getBoundingClientRect().width)) {\n if (ul.getBoundingClientRect().right > window.innerWidth) {\n ul.style.setProperty(\"--n-right-overflow\", window.innerWidth - ul.getBoundingClientRect().right + \"px\");\n ul.classList.add(\"n-right-overflow\");\n }\n ul.classList.add(\"n-left-side\");\n } else {\n ul.classList.remove(\"n-left-side\");\n }\n }\n }\n\n function initNav(el) {\n // Delete all trigger inputs, add tabindex=0 to each li\n el.querySelectorAll(\"input\").forEach((el) => {\n el.outerHTML = \"\";\n });\n el.querySelectorAll(\"li > a\").forEach((el) => {\n el.setAttribute(\"tabindex\", 0);\n });\n if (!el.closest(\".n-nav.n-nav--drop\")) {\n // The rest is for drop nav only\n return;\n }\n if (!closeDropNavClickedOutsideEnabled) {\n window.addEventListener(\"touchend\", closeDropNavClickedOutside);\n window.addEventListener(\"mouseup\", closeDropNavClickedOutside);\n closeDropNavClickedOutsideEnabled = true;\n }\n el.addEventListener(\"keyup\", (e) => {\n // Check for sibling or children to expand on control keys Left/Right/etc\n if (e.key === \"Escape\") {\n e.target.closest(\".n-nav\").querySelectorAll(\"li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n document.activeElement.blur();\n }\n });\n let menubar = el;\n el.querySelectorAll(\"li\").forEach((el) => {\n let ul = el.querySelector(\"ul\");\n if (ul) {\n el.setAttribute(\"aria-haspopup\", true);\n if (el.children[0].nodeName === \"UL\") {\n el.insertBefore(el.children[1], el.children[0]); // Swap 'a' with 'ul'\n }\n }\n });\n el.addEventListener(\"mousedown\", clickEvent);\n el.addEventListener(\"focusin\", dropNavFocus);\n el.addEventListener(\"focusout\", dropNavBlur);\n window.requestAnimationFrame(() => {\n // Give the browser time to update\n el.querySelectorAll(\"ul\").forEach((ul) => {\n checkSides(ul, menubar);\n });\n });\n }\n window.addEventListener(\"resize\", function(e) {\n document.querySelectorAll(\".n-nav.n-nav--drop ul\").forEach((menubar) => {\n menubar.querySelectorAll(\"ul\").forEach((ul) => {\n checkSides(ul, menubar);\n });\n });\n });\n /* Nav – end */\n let init = (host) => {\n host.querySelectorAll(\".n-nav:not([data-ready]) > ul:not([role])\").forEach((el) => {\n initNav(el);\n el.closest(\".n-nav\").dataset.ready = true;\n });\n };\n nui.registerComponent(\"nav\", init);\n})();\n// Component Nav – end","// Component Parallax – start\n(function() {\n\t// Thanks Dave Rupert\n\tlet parallaxSpeed = 0.2;\n\tlet updateParallax = () => {\n\t\tdocument.querySelectorAll(\".n-parallax\").forEach((el) => {\n\t\t\tlet parent = el.parentElement;\n\t\t\tlet scroll_offset = parent.scrollHeight > parent.offsetHeight ? parent.getBoundingClientRect().y : document.body.scrollTop || document.documentElement.scrollTop;\n\t\t\tel.style.setProperty(\"--scrollparallax\", scroll_offset * parallaxSpeed);\n\t\t});\n\t};\n\tif (document.querySelector(\".n-parallax\")) {\n\t\twindow.addEventListener(\"scroll\", updateParallax, true);\n\t}\n\tlet init = (host) => {};\n\tnui.registerComponent(\"parallax\", init);\n})();\n// Component Parallax – end","// Component Table – start\n(function () {\n\t/* Sort parent table's rows by matching column number alternatively desc/asc on click */\n\tconst toggleSort = (th) => {\n\t\tlet previous = th.closest(\"tr\").querySelector(\"td[data-ascending]\");\n\t\tif (previous && previous !== th) {\n\t\t\tdelete previous.dataset.ascending;\n\t\t}\n\t\treturn th.toggleAttribute(\"data-ascending\");\n\t};\n\tconst getCellValue = (tr, idx) => tr.children[idx].innerText || tr.children[idx].textContent;\n\tconst comparer = (idx, asc) => (a, b) => ((v1, v2) => (v1 !== \"\" && v2 !== \"\" && !isNaN(v1) && !isNaN(v2) ? v1 - v2 : v1.toString().localeCompare(v2)))(getCellValue(asc ? a : b, idx), getCellValue(asc ? b : a, idx));\n\tlet init = (host) => {\n\t\thost.querySelectorAll(\".n-table:not([data-ready])\").forEach((el) => {\n\t\t\tel.querySelectorAll(\"thead td button.n-table__sort, th button.n-table__sort\").forEach((button) => button.addEventListener(\"click\", (e) => {\n\t\t\t\tlet th = e.target.closest(\"th\") || e.target.closest(\"td\");\n\t\t\t\tconst tbody = th.closest(\"table\").querySelector(\"tbody\");\n\t\t\t\tArray.from(tbody.querySelectorAll(\"tr\")).sort(comparer(Array.from(th.parentNode.children).indexOf(th), toggleSort(th))).forEach((tr) => tbody.appendChild(tr));\n\t\t\t}));\n\t\t\tel.dataset.ready = true;\n\t\t\tel.setAttribute(\"tabindex\", 0); // To scroll with arrow keys\n\t\t});\n\t};\n\tnui.registerComponent(\"table\", init);\n})();\n// Component Table – end","// Component Typography – start\n(function () {\n\tlet init = (host) => {\n\t\t/* Typography */\n\t\tif (typeof ResizeObserver === \"function\") {\n\t\t\t// Compensate element height according to line height\n\t\t\tlet ro = new ResizeObserver((entries) => {\n\t\t\t\tentries.forEach((el) => {\n\t\t\t\t\tlet a = el.target;\n\t\t\t\t\ta.style.removeProperty(\"--adjust-height\");\n\t\t\t\t\tlet style = getComputedStyle(a);\n\t\t\t\t\tlet line_height = parseFloat(style.lineHeight);\n\t\t\t\t\tlet adjust = line_height - (parseFloat(style.height) % line_height);\n\t\t\t\t\tif (adjust !== line_height) {\n\t\t\t\t\t\ta.style.setProperty(\"--adjust-height\", adjust);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tdocument.querySelectorAll(\".n-adjust-height:not([data-ready])\").forEach((el) => {\n\t\t\t\tro.observe(el);\n\t\t\t\tel.dataset.ready = true;\n\t\t\t});\n\t\t}\n\t};\n\tnui.registerComponent(\"typography\", init);\n})();\n// Component Typography – end"]} \ No newline at end of file +{"version":3,"sources":["components/button/button.js","components/form/form.js","node_modules/n-accordion/n-accordion.js","node_modules/n-carousel/n-carousel.js","node_modules/n-modal/n-modal.js","node_modules/n-select/n-select.js","node_modules/n-tooltip/n-tooltip.js","components/nav/nav.js","components/notify/notify.js","components/parallax/parallax.js","components/table/table.js","components/typography/typography.js"],"names":[],"mappings":"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","file":"niui.js","sourcesContent":["// Component Button – start\n(function() {\n\tlet init = (host) => {\n\t\tconst ripple = e => {\n\t\t\tlet el = e.target.closest('.n-btn--ripple');\n\t\t\tlet x = e.offsetX || el.clientWidth / 2;\n\t\t\tlet y = e.offsetY || el.clientHeight / 2;\n\t\t\tlet max_x = Math.max(x, el.clientWidth - x);\n\t\t\tlet max_y = Math.max(y, el.clientHeight - y);\n\t\t\tlet radius = Math.sqrt(max_x * max_x + max_y * max_y);\n\t\t\tel.style.transitionProperty = 'none';\n\t\t\tel.style.setProperty('--ripple-x', `${x}px`);\n\t\t\tel.style.setProperty('--ripple-y', `${y}px`);\n\t\t\tel.style.setProperty('--ripple-radius', `0px`);\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tel.style.transitionProperty = '';\n\t\t\t\tel.style.setProperty('--ripple-radius', `${radius}px`);\n\t\t\t});\n\t\t}\n\t\tdocument.querySelectorAll('.n-btn--ripple:not([data-ready])').forEach(el => {\n\t\t\tel.addEventListener('pointerdown', ripple);\n\t\t\tel.addEventListener('keydown', ripple);\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\tnui.registerComponent(\"button\", init);\n})();\n// Component Button – end","// Component Form – start\n(function() {\n /* Form – start */\n function submitForm(e) {\n var el = e.target;\n var ready_to_submit = true;\n el.querySelectorAll(\".n-form--mandatory:not([disabled])\").forEach((el) => {\n if (\n (el.querySelector(\"input, select, textarea\") && !el.querySelector(\"input, select, textarea\").value) ||\n (el.querySelector(\"input[type=checkbox]\") && !el.querySelector(\"input[type=checkbox]\").checked) ||\n (el.querySelector(\"input[type=radio]\") && !el.querySelector(\"input[type=radio]\").checked) ||\n (el.querySelector(\"input[type=email]\") && !RegExp(/^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$/).test(el.querySelector(\"input[type=email]\").value)) ||\n (el.querySelector(\"input[type=url]\") && !RegExp(/^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?$/).test(el.querySelector(\"input[type=url]\").value)) ||\n (el.querySelector(\"input[type=number]\") && !RegExp(/^\\d+$/).test(el.querySelector(\"input[type=number]\").value)) ||\n (el.querySelector(\"input[type=number][data-digits]\") &&\n el.querySelector(\"input[type=number]\").value.length !== parseInt(el.querySelector(\"input[type=number]\").dataset.digits))\n ) {\n ready_to_submit = false;\n el.querySelector(\"input\").focus();\n el.classList.add(\"n-form--alert\");\n // Margin animation, because transform animation hides neighbouring content on iPad\n let form = el.closest(\"form\");\n form.animate([{ width: `${form.scrollWidth}px` }, { marginLeft: `-9px` }, { marginLeft: `18px` }, { width: `${form.scrollWidth}px`, marginLeft: 0 }], 250);\n return;\n } else {\n el.classList.remove(\"n-form--alert\");\n }\n });\n return ready_to_submit;\n }\n\n function updateFileInput(e) {\n var el = e.target;\n el.parentNode.querySelector(\"span.n-form__file-name\").innerHTML = el.value.substring(el.value.lastIndexOf(\"\\\\\") + 1);\n }\n\n function toggleConditionalFieldset(e) {\n var el = e.target;\n var fieldset = document.querySelector(`fieldset#${el.closest(\".n-form__condition\").dataset.for}`) || el.closest(\".n-form__condition\").nextElementSibling;\n var attribute = \"disabled\";\n if (el.checked) {\n fieldset.removeAttribute(attribute);\n } else {\n fieldset.setAttribute(attribute, \"disabled\");\n }\n }\n /* Form – end */\n let init = (host) => {\n host.querySelectorAll(\"form.n-form\").forEach((el, i) => {\n el.onsubmit = el.onsubmit || submitForm;\n el.querySelectorAll(\"input[type=file]\").forEach((el, i) => {\n el.onchange = updateFileInput;\n el.parentNode.querySelector(\"span\").insertAdjacentHTML(\"afterbegin\", \"\");\n });\n // \tConditional form fieldsets\n el.querySelectorAll(\".n-form__check.n-form__condition input\").forEach((el, i) => {\n el.onchange = toggleConditionalFieldset;\n });\n // Auto textarea height.\n el.querySelectorAll(\"textarea[data-auto]\").forEach((el) => {\n el.onkeyup = (e) => {\n el = e.target;\n while (el.rows > 1 && el.scrollHeight < el.offsetHeight) {\n el.rows--;\n }\n while (el.scrollHeight > el.offsetHeight) {\n if (el.rows > 20) {\n break;\n }\n el.rows++;\n }\n el.rows++;\n };\n });\n el.dataset.ready = true;\n });\n };\n nui.registerComponent(\"form\", init);\n})();\n// Component Form – end","// Component Accordion\n(function() {\n\tconst animate_options = el => { return { easing: \"ease-in-out\", duration: window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? (el.dataset.duration * 1000 || getComputedStyle(el).getPropertyValue('--duration') * 1000 || 200) : 0 } };\n\tconst accordionContent = el => el.querySelector(\":scope > .n-accordion__content\");\n\tconst openAccordion = (el) => {\n\t\tel = accordionContent(el);\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tel.style.height = 0;\n\t\t\tel.style.overflow = \"hidden\";\n\t\t\tlet wrapper = el.parentNode;\n\t\t\twrapper.querySelector(\":scope > .n-accordion__label\").setAttribute(\"aria-expanded\", true);\n\t\t\tel.animate([{ height: 0 }, { height: `${el.scrollHeight}px` }], animate_options(wrapper)).onfinish = () => {\n\t\t\t\tel.style.height = el.style.overflow = \"\";\n\t\t\t};\n\t\t});\n\t};\n\tconst closeAccordion = (el, callback) => {\n\t\tel = accordionContent(el);\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tel.style.overflow = \"hidden\";\n\t\t\tlet wrapper = el.parentNode;\n\t\t\tel.animate([{ height: `${el.scrollHeight}px` }, { height: 0 }], animate_options(wrapper)).onfinish = () => {\n\t\t\t\tel.style.height = el.style.overflow = \"\";\n\t\t\t\twrapper.querySelector(\":scope > .n-accordion__label\").setAttribute(\"aria-expanded\", false);\n\t\t\t\ttypeof callback !== 'function' || callback();\n\t\t\t\tif (wrapper.classList.contains('n-accordion--close-nested')) {\n\t\t\t\t\tel.querySelectorAll(\".n-accordion__label[aria-expanded='true']\").forEach(el => el.setAttribute(\"aria-expanded\", false));\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t};\n\tconst toggleAccordion = (e) => {\n\t\tlet el = e.target.closest('.n-accordion'); // el = .n-accordion\n\t\tif (!el.querySelector(\":scope > [aria-expanded='true']\")) {\n\t\t\tlet popin = el.closest(\".n-accordion__popin\");\n\t\t\tconst updateRow = () => {\n\t\t\t\tif (popin) {\n\t\t\t\t\tlet row = Math.floor(([...popin.children].indexOf(el) / getComputedStyle(popin).getPropertyValue(\"--n-popin-columns\")) * 1) + 2;\n\t\t\t\t\tpopin.style.setProperty(\"--n-popin-open-row\", row);\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (el.parentNode.matches('[role=\"group\"]') || popin) {\n\t\t\t\tlet other_accordion = el.parentNode.querySelector(\":scope > .n-accordion > [aria-expanded='true']\");\n\t\t\t\tif (other_accordion) {\n\t\t\t\t\tcloseAccordion(other_accordion.parentNode, () => { // el = .n-accordion\n\t\t\t\t\t\tupdateRow();\n\t\t\t\t\t\topenAccordion(el);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tupdateRow();\n\t\t\t\t\topenAccordion(el);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\topenAccordion(el);\n\t\t\t}\n\t\t} else {\n\t\t\tcloseAccordion(el);\n\t\t}\n\t};\n\n\tfunction init(host = document) {\n\t\thost.querySelectorAll(\".n-accordion:not([data-ready]) > .n-accordion__label\").forEach((el) => {\n\t\t\tel.addEventListener(\"click\", toggleAccordion);\n\t\t\tel.parentElement.querySelector(\":scope > input\")?.remove(); // Remove CSS-only solution\n\t\t\tel.parentNode.dataset.ready = true;\n\t\t\tel.setAttribute('aria-expanded', el.getAttribute('aria-expanded') === 'true');\n\t\t});\n\t}\n\tconst doInit = () => {\n\t\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-accordion\", init) : init();\n\t};\n\tif (document.readyState !== \"loading\") {\n\t\tdoInit();\n\t} else {\n\t\tdocument.addEventListener(\"DOMContentLoaded\", doInit);\n\t}\n})();","// import './node_modules/n-modal/n-modal.js';\n(function() {\n const ceilingWidth = (el) => Math.ceil(parseFloat(getComputedStyle(el).width));\n const ceilingHeight = (el) => Math.ceil(parseFloat(getComputedStyle(el).height));\n const focusableElements = 'button, [href], input, select, textarea, details, summary, video, [tabindex]:not([tabindex=\"-1\"])';\n // const _focusableElementsString = 'a[href],area[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),details,summary,iframe,object,embed,[contenteditable]';\n function isElementInViewport(el) {\n let rect = el.getBoundingClientRect();\n return (rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.offsetHeight) /* or $(window).height() */ && rect.right <= (window.innerWidth || document.documentElement.offsetWidth) /* or $(window).width() */ );\n }\n const default_duration = 500;\n const default_interval = 4000;\n const isChrome = !!navigator.userAgent.match(\"Chrome\");\n const isSafari = navigator.userAgent.match(/Safari/) && !isChrome;\n const isEndless = el => el.children.length > 2 && el.parentElement.classList.contains(\"n-carousel--endless\");\n const isFullScreen = () => { return !!(document.webkitFullscreenElement || document.fullscreenElement) };\n const isModal = el => { return el.closest(\".n-carousel\").classList.contains('n-carousel--overlay') };\n const isVertical = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--vertical\");\n const isAuto = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--auto-height\");\n const indexControls = index => {\n let controls_by_class = index.querySelectorAll('.n-carousel__control');\n return (controls_by_class.length > 0) ? controls_by_class : index.querySelectorAll('a, button');\n }\n const nextSlideHeight = (el) => {\n el.style.height = 0;\n el.style.overflow = \"auto\";\n const height = el.scrollHeight; // Ceiling when subpixel\n el.style.height = el.style.overflow = \"\";\n return height;\n };\n // const scrollableAncestor = (el) => {\n // \tel = el.parentNode;\n // \twhile (el) {\n // \t\tif (el.scrollHeight > el.offsetHeight || el.scrollWidth > el.offsetWidth) {\n // \t\t\treturn el;\n // \t\t} else {\n // \t\t\tel = el.parentNode;\n // \t\t}\n // \t}\n // \treturn false;\n // };\n const getIndex = (el) => 1 * (isVertical(el) ? el.dataset.y : el.dataset.x);\n const getIndexReal = (el) => {\n let active_slide = el.querySelector(':scope > [aria-current]');\n if (active_slide) {\n return [...el.children].indexOf(active_slide);\n } else {\n let hash_slide_index = (!!location.hash) ? [...el.children].indexOf(el.querySelector(`:scope > ${location.hash}`)) : 0;\n return (hash_slide_index > -1) ? hash_slide_index : 0;\n }\n // return active_slide ? [...el.children].indexOf(active_slide) : (el.querySelector(`:scope > ${location.hash}`) || 0);\n };\n const scrolledAncestor = (el) => {\n el = el.parentNode;\n while (el) {\n if (el.scrollTop !== 0 || el.scrollLeft !== 0) {\n return el;\n } else {\n el = el.parentNode;\n }\n }\n return false;\n };\n const scrolledAncestors = (el) => {\n let arr = [];\n let a = scrolledAncestor(el);\n while (a && typeof a.scrollLeft !== \"undefined\" && (a.scrollTop !== 0 || a.scrollLeft !== 0)) {\n arr.push(a);\n a = scrolledAncestor(a);\n }\n return arr;\n };\n const isRTL = (el) => getComputedStyle(el).direction === \"rtl\";\n const toggleFullScreen = (el) => {\n el = el.closest(\".n-carousel\");\n let carousel = el.querySelector(\":scope > .n-carousel__content\");\n const restoreScroll = () => {\n if (!isFullScreen()) {\n el.nuiAncestors.forEach((el) => {\n window.requestAnimationFrame(() => {\n el.scrollLeft = el.nuiScrollX;\n el.scrollTop = el.nuiScrollY;\n delete el.nuiScrollX;\n delete el.nuiScrollY;\n });\n });\n delete el.nuiAncestors;\n el.removeEventListener(\"webkitfullscreenchange\", restoreScroll);\n }\n };\n carousel.togglingFullScreen = true;\n if (isFullScreen()) {\n // Exit full screen\n !!document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen();\n if (isSafari) {\n // When exit finishes, update the carousel because on Safari 14, position is wrong or the slide is invisible\n setTimeout(() => {\n el.style.display = \"none\";\n window.requestAnimationFrame(() => {\n el.style.display = \"\";\n });\n }, 0);\n }\n if (isVertical(el) && isAuto(el)) {\n let updateExitFullScreen = e => {\n setTimeout(() => {\n let carousel = el.querySelector(\":scope > .n-carousel__content\");\n // console.log(carousel);\n // el.style.removeProperty('--height');\n // carousel.style.height = '';\n slideTo(carousel, parseInt(carousel.dataset.y));\n }, 100);\n el.removeEventListener('fullscreenchange', updateExitFullScreen);\n };\n el.addEventListener('fullscreenchange', updateExitFullScreen);\n }\n } else {\n // Enter full screen\n if (isSafari) {\n el.nuiAncestors = scrolledAncestors(el);\n el.nuiAncestors.forEach((el) => {\n el.nuiScrollX = el.scrollLeft;\n el.nuiScrollY = el.scrollTop;\n });\n el.addEventListener(\"webkitfullscreenchange\", restoreScroll, false);\n }!!el.requestFullscreen ? el.requestFullscreen() : el.webkitRequestFullscreen();\n }\n };\n const scrollStartX = (el) => el.scrollLeft; // Get correct start scroll position for LTR and RTL\n const scrollTo = (el, x, y) => {\n el.scrollTo(isRTL(el) ? -1 * Math.abs(x) : x, y); // Scroll to correct scroll position for LTR and RTL\n };\n const getScroll = (el) => (el === window ? {\n x: el.scrollX,\n y: el.scrollY\n } : {\n x: scrollStartX(el),\n y: el.scrollTop\n });\n let firstFocusableElement = null;\n let focusableContent = null;\n let lastFocusableElement = null;\n const focusHandler = e => {\n let isTabPressed = e.key === \"Tab\" || e.keyCode === 9;\n if (!isTabPressed) {\n return;\n }\n if (e.shiftKey) {\n // if shift key pressed for shift + tab combination\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus(); // add focus for the last focusable element\n e.preventDefault();\n }\n } else {\n // if tab key is pressed\n if (document.activeElement === lastFocusableElement) {\n // if focused has reached to last focusable element then focus first focusable element after pressing tab\n firstFocusableElement.focus(); // add focus for the first focusable element\n e.preventDefault();\n }\n }\n }\n const trapFocus = (modal, off = false) => {\n // FROM: https://uxdesign.cc/how-to-trap-focus-inside-modal-to-make-it-ada-compliant-6a50f9a70700\n // add all the elements inside modal which you want to make focusable\n firstFocusableElement = modal.querySelectorAll(focusableElements)[0]; // get first element to be focused inside modal\n focusableContent = modal.querySelectorAll(focusableElements);\n lastFocusableElement = focusableContent[focusableContent.length - 1]; // get last element to be focused inside modal\n if (off) {\n modal.removeEventListener(\"keydown\", focusHandler);\n } else {\n modal.addEventListener(\"keydown\", focusHandler);\n firstFocusableElement.focus();\n }\n };\n const inOutSine = (n) => (1 - Math.cos(Math.PI * n)) / 2;\n const paddingX = (el) => parseInt(getComputedStyle(el).paddingInlineStart) * 2;\n const paddingY = (el) => parseInt(getComputedStyle(el).paddingBlockStart) * 2;\n const getControl = (carousel, control) => {\n let detached_control = document.querySelector(`${control}[data-for=\"${carousel.id}\"]`);\n if (detached_control) {\n return detached_control;\n }\n for (let el of carousel.children) {\n if (el.matches(control)) {\n return el;\n }\n if (!el.matches(\".n-carousel__content\") && el.querySelector(control)) {\n return el.querySelector(control);\n }\n }\n };\n const closestCarousel = (el) => {\n var related_by_id = el.closest('[class*=\"n-carousel\"]').dataset.for;\n if (!!related_by_id) {\n return document.getElementById(related_by_id).querySelector(\".n-carousel__content\");\n } else {\n return el.closest(\".n-carousel\").querySelector(\".n-carousel__content\");\n }\n };\n const scrollAnimate = (el, distanceX, distanceY, new_height, old_height = false) => new Promise((resolve, reject) => {\n // Thanks https://stackoverflow.com/posts/46604409/revisions\n let wrapper = el.closest(\".n-carousel\");\n if (!!wrapper.nextSlideInstant || !wrapper.dataset.ready || window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches || wrapper.matches(\".n-carousel--instant\")) {\n scrollTo(el, getScroll(el).x + distanceX, getScroll(el).y + distanceY);\n el.style.height = `${new_height}px`;\n delete wrapper.nextSlideInstant;\n updateCarousel(el);\n resolve(el);\n return;\n }\n observersOff(el);\n let scroll_changing = true;\n if (distanceX === 0 && distanceY === 0) {\n scroll_changing = false;\n }\n if (!!new_height) {\n el.style.height = `${old_height}px`;\n if (isVertical(el) && isAuto(el)) {\n el.style.setProperty('--subpixel-compensation', 0);\n }\n } else {\n if (!isVertical(el)) {\n el.style.height = \"\";\n }\n }\n var startx = getScroll(el).x;\n var starty = getScroll(el).y;\n var starth = parseInt(el.style.height);\n var distanceH = new_height - starth;\n var duration = parseFloat(el.parentNode.dataset.duration) * 1000 || default_duration;\n var start = null;\n var end = null;\n let startAnim = (timeStamp) => {\n start = timeStamp;\n end = start + duration;\n draw(timeStamp);\n };\n let draw = (now) => {\n if (now - start >= duration) {\n window.requestAnimationFrame(() => {\n scrollTo(el, startx + distanceX, starty + distanceY);\n if (new_height) {\n el.style.height = `${new_height}px`;\n }\n updateCarousel(el);\n });\n resolve(el);\n return;\n }\n var p = (now - start) / duration;\n var val = inOutSine(p);\n var x = startx + distanceX * val;\n var y = starty + distanceY * val;\n if (scroll_changing) {\n scrollTo(el, x, y);\n }\n if (new_height) {\n window.requestAnimationFrame(() => {\n el.style.height = `${starth + distanceH * val}px`;\n }); // Timeout because Safari can't do scroll and height at once\n }\n requestAnimationFrame(draw);\n };\n requestAnimationFrame(startAnim);\n });\n const updateCarousel = (el, forced = false) => { // Forced means never skip unnecessary update\n // Called on init and scroll end\n observersOff(el);\n let saved_x = el.dataset.x; // On displaced slides and no change\n let saved_y = el.dataset.y;\n if (!el.togglingFullScreen) {\n if (el.openingModal) {\n delete el.openingModal;\n scrollTo(el, el.offsetWidth * el.dataset.x, el.offsetHeight * el.dataset.y);\n } else {\n el.dataset.x = Math.abs(Math.round(scrollStartX(el) / ceilingWidth(el.firstElementChild)));\n el.dataset.y = Math.abs(Math.round(el.scrollTop / ceilingHeight(el.firstElementChild)));\n }\n } else {\n delete el.togglingFullScreen;\n }\n // When inline\n if (el.dataset.x === \"NaN\") {\n el.dataset.x = 0;\n }\n if (el.dataset.y === \"NaN\") {\n el.dataset.y = 0;\n }\n let active_index = getIndex(el);\n if (active_index >= el.children.length) {\n active_index = el.children.length - 1;\n }\n // console.log('update at', active_index, el.dataset.x, el.dataset.y);\n let old_active_slide = el.querySelector(\":scope > [aria-current]\");\n let wrapper = el.parentElement;\n if (!wrapper.classList.contains(\"n-carousel--auto-height\")) {\n // Dynamic change from auto height to normal\n el.style.height = \"\";\n }\n let active_slide = el.children[active_index];\n if (old_active_slide && !forced) {\n if (active_slide === old_active_slide) {\n // Scroll snapping back to the same slide. Nothing to do here.\n el.dataset.x = saved_x;\n el.dataset.y = saved_y;\n observersOn(el);\n return;\n }\n old_active_slide.removeAttribute('aria-current');\n old_active_slide.style.height = \"\";\n if (!isVertical(el)) {\n el.style.height = \"\";\n }\n }\n var active_index_logical = active_index;\n // active_slide.ariaCurrent = true; // Unsupported by FF\n active_slide.setAttribute('aria-current', true);\n active_index_logical = getIndexReal(el);\n el.dataset.x = el.dataset.y = active_index_logical;\n // Endless carousel\n const restoreDisplacedSlides = el => {\n el.querySelectorAll(\":scope > [data-first]\").forEach(el2 => {\n el.append(el.firstElementChild);\n delete el2.dataset.first;\n active_index--;\n });\n el.querySelectorAll(\":scope > [data-last]\").forEach(el2 => {\n el.prepend(el.lastElementChild);\n delete el2.dataset.last;\n active_index++;\n });\n }\n wrapper.dataset.sliding = true;\n if (isEndless(el)) {\n if (active_index === 0) {\n if (!active_slide.dataset.first) {\n // Move the last one to the front as [data-first]\n if (el.lastElementChild.dataset.last) {\n delete el.lastElementChild.dataset.last;\n active_index_logical = 1;\n } else {\n el.lastElementChild.dataset.first = true;\n }\n el.prepend(el.lastElementChild);\n active_index = 1;\n } else {\n // Landed on fake first slide. Move it to the back, remove its [data-first] and move the first one to the back as [data-last]\n delete el.firstElementChild.dataset.first;\n el.append(el.firstElementChild);\n el.firstElementChild.dataset.last = true;\n el.append(el.firstElementChild);\n active_index_logical = el.children.length - 1;\n active_index = el.children.length - 2;\n }\n } else {\n if (active_index === el.children.length - 1) {\n if (!active_slide.dataset.last) {\n // Move the first one to the back as [data-last]\n if (el.firstElementChild.dataset.first) {\n delete el.firstElementChild.dataset.first;\n active_index_logical = el.children.length - 2;\n } else {\n el.firstElementChild.dataset.last = true;\n }\n el.append(el.firstElementChild);\n active_index = el.children.length - 2;\n } else {\n // Landed on fake last slide. Move it to the front, remove its [data-last] and move the last one to the front as [data-first]\n delete el.lastElementChild.dataset.last;\n el.prepend(el.lastElementChild);\n el.lastElementChild.dataset.first = true;\n el.prepend(el.lastElementChild);\n active_index_logical = 0;\n active_index = 1;\n }\n } else {\n // Middle slide\n restoreDisplacedSlides(el);\n active_index_logical = Math.max(0, [...el.children].indexOf(el.querySelector(\":scope > [aria-current]\"))); // Fixes position when sliding to/from first slide; max because of FF returning -1\n }\n }\n window.requestAnimationFrame(() => {\n el.dataset.x = el.dataset.y = active_index_logical;\n let scroll_x = ceilingWidth(el.firstElementChild) * active_index;\n let scroll_y = ceilingHeight(el.firstElementChild) * active_index;\n // console.log('updateCarousel() scrolling at', scroll_x);\n el.scroll_x = scroll_x;\n el.scroll_y = scroll_y;\n scrollTo(el, scroll_x, scroll_y); // First element size, because when Peeking, it differs from carousel size\n delete el.scroll_x;\n delete el.scroll_y;\n });\n } else { // Check and restore dynamically disabled endless option\n restoreDisplacedSlides(el);\n active_index_logical = Math.max(0, [...el.children].indexOf(el.querySelector(\":scope > [aria-current]\"))); // Fixes position when sliding to/from first slide; max because of FF returning -1\n }\n active_slide.style.height = \"\";\n wrapper.style.setProperty(\"--height\", `${el.parentNode.classList.contains(\"n-carousel--auto-height\") ? nextSlideHeight(active_slide) : active_slide.scrollHeight}px`);\n window.requestAnimationFrame(() => {\n if (!el.parentNode.dataset.ready && isAuto(el) && isVertical(el)) {\n el.style.height = `${parseFloat(getComputedStyle(el).height) - paddingY(el)}px`;\n }\n });\n // Sliding to a slide with a hash? Update the URI\n if (getComputedStyle(el).visibility !== 'hidden') {\n let previously_active = document.activeElement;\n let hash = active_slide.id;\n if (!!el.parentNode.dataset.ready && !!hash && !el.parentNode.closest('.n-carousel__content')) { // Hash works only with top-level carousel\n location.hash = `#${hash}`;\n }\n if (!!el.parentNode.dataset.ready && !hash && !el.parentNode.closest('.n-carousel__content') && window.nCarouselNav) { // Hash works only with top-level carousel\n location.hash = '';\n }\n previously_active.focus();\n }\n // Fix buttons\n let index = getControl(el.closest(\".n-carousel\"), \".n-carousel__index\");\n if (!!index) {\n index.querySelector(\"[aria-current]\")?.removeAttribute('aria-current');\n // index.children[active_index_logical].ariaCurrent = true; // Unsupported by FF\n indexControls(index)[active_index_logical].setAttribute('aria-current', true);\n }\n // Disable focus on children of non-active slides\n // Active slides of nested carousels should also have disabled focus\n [...el.children].forEach(el => { // Native \"inert\" attribute to replace the below \"focusDisabled\" loops from June 2022. \n el.inert = (el === active_slide) ? false : true;\n if (isSafari && el.querySelector('.n-carousel:-webkit-full-screen')) {\n // Safari full screen bug: parent scroll resets to 0, first slide becomes active and the full screen child lightbox is inside an inert parent\n let current = el.parentNode.querySelector(':scope > [aria-current=\"true\"]');\n current.inert = true;\n current.removeAttribute('aria-current');\n el.inert = false;\n el.setAttribute('aria-current', true);\n }\n });\n // Obsoleted by inert – start\n // [...el.children].forEach((slide) => {\n // if (slide !== active_slide) {\n // slide.setAttribute('aria-hidden', true);\n // slide.querySelectorAll(focusableElements).forEach((el2) => {\n // if (el2.closest(\".n-carousel__content > :not([aria-current])\")) {\n // if (el2.getAttribute(\"tabindex\") && !el2.dataset.focusDisabled) {\n // el2.dataset.oldTabIndex = el2.tabIndex;\n // }\n // el2.dataset.focusDisabled = true;\n // el2.tabIndex = -1;\n // }\n // });\n // }\n // });\n // active_slide.removeAttribute('aria-hidden');\n // active_slide.querySelectorAll(\"[data-focus-disabled]\").forEach((el2) => {\n // if (!el2.closest(\".n-carousel__content > :not([aria-current])\")) {\n // el2.removeAttribute(\"tabindex\");\n // delete el2.dataset.focusDisabled;\n // if (!!el2.dataset.oldTabIndex) {\n // el2.tabIndex = el2.dataset.oldTabIndex;\n // delete el2.dataset.oldTabIndex;\n // }\n // }\n // });\n // Obsoleted by inert – end\n if (/--vertical.*--auto-height/.test(wrapper.classList)) { // Undo jump to wrong slide when sliding to the last one\n el.scrollTop = el.offsetHeight * active_index_logical;\n }\n window.requestAnimationFrame(() => {\n observersOn(el);\n });\n };\n const slide = (el, offsetX = 0, offsetY = 0, index) => {\n clearTimeout(el.nCarouselTimeout);\n observersOff(el);\n if (!el.parentNode.dataset.sliding) {\n el.parentNode.dataset.sliding = true;\n let old_height = el.children[getIndexReal(el)].offsetHeight;\n let new_height = old_height;\n if (isAuto(el)) {\n let old_scroll_left = scrollStartX(el);\n let old_scroll_top = el.scrollTop;\n let slide = el.children[index];\n if (isVertical(el)) {\n slide.style.height = 'auto';\n let computed_max_height = getComputedStyle(el).maxHeight;\n let max_height = computed_max_height.match(/px/) ? Math.ceil(parseFloat(computed_max_height)) : 99999;\n // new_height = Math.min(slide.scrollHeight, max_height);\n new_height = Math.min(Math.ceil(parseFloat(getComputedStyle(slide).height)), max_height);\n // new_height = slide.scrollHeight;\n slide.style.height = '';\n } else {\n new_height = nextSlideHeight(slide);\n let old_height = getIndexReal(el) === index ? new_height : nextSlideHeight(el.children[getIndexReal(el)]);\n el.parentNode.style.setProperty(\"--height\", `${old_height}px`);\n }\n scrollTo(el, old_scroll_left + paddingX(el) / 2, old_scroll_top); // iPad bug\n scrollTo(el, old_scroll_left, old_scroll_top);\n }\n if (isVertical(el)) {\n if ((isModal(el) || isFullScreen()) && isAuto(el)) {\n old_height = new_height = el.offsetHeight;\n }\n offsetY = offsetY - index * old_height + index * new_height;\n }\n // console.log(index, offsetX, offsetY);\n window.requestAnimationFrame(() => {\n if (!el.parentNode.dataset.duration && !isAuto(el)) { // Unspecified duration, using native smooth scroll\n delete el.parentNode.dataset.sliding;\n el.dataset.next = index;\n el.scrollTo({\n top: el.scrollTop + offsetY,\n left: el.scrollLeft + offsetX,\n behavior: window.matchMedia('(prefers-reduced-motion: reduce)').matches ? \"auto\" : \"smooth\"\n });\n } else {\n scrollAnimate(el, offsetX, offsetY, new_height === old_height ? false : new_height, old_height); // Vertical version will need ceiling value\n }\n });\n }\n };\n const slideNext = (el) => {\n let index = getIndexReal(el);\n slideTo(el, index >= el.children.length - 1 ? 0 : index + 1);\n };\n const slidePrevious = (el) => {\n let index = getIndexReal(el);\n slideTo(el, index === 0 ? el.children.length - 1 : index - 1);\n };\n const slideTo = (el, index) => {\n if (isVertical(el)) {\n slide(el, 0, ceilingHeight(el.children[index]) * index - el.scrollTop, index);\n } else {\n let width = Math.ceil(parseFloat(getComputedStyle(el.children[index]).width));\n let new_offset = isRTL(el) ? Math.abs(scrollStartX(el)) - width * index : width * index - scrollStartX(el);\n slide(el, new_offset, 0, index);\n }\n };\n const carouselKeys = (e) => {\n // console.log('keydown', e);\n return;\n let keys = [\"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"PageUp\", \"PageDown\", \"Home\", \"End\"];\n let el = e.target;\n // if (e.key === \"Tab\") {\n // let carousel = el.closest(\".n-carousel__content\");\n // carousel.tabbing = true;\n // }\n if (el.matches(\".n-carousel__content\") && keys.includes(e.key)) {\n // Capture relevant keys\n e.preventDefault();\n switch (e.key) {\n case \"ArrowLeft\": {\n isRTL(el) ? slideNext(el) : slidePrevious(el);\n break;\n }\n case \"ArrowRight\": {\n isRTL(el) ? slidePrevious(el) : slideNext(el);\n break;\n }\n case \"ArrowUp\":\n case \"PageUp\": {\n slidePrevious(el);\n break;\n }\n case \"ArrowDown\":\n case \"PageDown\": {\n slideNext(el);\n break;\n }\n case \"Home\": {\n slideTo(el, 0);\n break;\n }\n case \"End\": {\n slideTo(el, el.children.length - 1);\n break;\n }\n }\n }\n };\n const slidePreviousEvent = (e) => slidePrevious(closestCarousel(e.target.closest('[class*=\"n-carousel\"]')));\n const slideNextEvent = (e) => slideNext(closestCarousel(e.target.closest('[class*=\"n-carousel\"]')));\n const slideIndexEvent = (e) => {\n let el = e.target.closest(\"a, button\");\n if (el && !(el.href && (e.ctrlKey || e.metaKey))) {\n const wrapper = document.querySelector(`.n-carousel#${el.parentNode.dataset.for}`) || el.closest(\".n-carousel\");\n const carousel = wrapper.querySelector(\":scope > .n-carousel__content\");\n let new_index = [...indexControls(el.parentNode)].indexOf(el);\n if (isEndless(carousel)) {\n var old_index = getIndex(carousel);\n if (old_index === 0) {\n if (new_index === carousel.children.length - 1) {\n new_index = 0;\n } else {\n new_index++;\n }\n }\n if (old_index === carousel.children.length - 1) {\n if (new_index === 0) {\n new_index = carousel.children.length - 1;\n } else {\n new_index--;\n }\n }\n }\n if (wrapper.classList.contains(\"n-carousel--inline\") && !isModal(carousel)) { // Opening an inline carousel\n wrapper.nextSlideInstant = true;\n // wrapper.classList.add(\"n-carousel--overlay\"); // Should trigger mutation and auto update?\n openModal(carousel);\n // Set new x, y\n window.requestAnimationFrame(() => {\n carousel.dataset.x = carousel.dataset.y = new_index;\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n document.body.dataset.frozen = document.body.scrollTop;\n updateCarousel(carousel);\n });\n } else {\n window.requestAnimationFrame(() => {\n slideTo(carousel, new_index);\n });\n }\n return false;\n }\n };\n const closeModal = (el) => {\n if (isFullScreen()) {\n !!document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen();\n }\n let carousel = closestCarousel(el);\n if (carousel) {\n carousel.closest(\".n-carousel\").classList.remove(\"n-carousel--overlay\");\n trapFocus(carousel.closest(\".n-carousel\"), true); // Disable focus trap\n delete document.body.dataset.frozen;\n }\n };\n const openModal = (el) => {\n let carousel = closestCarousel(el);\n if (carousel) {\n carousel.openingModal = true;\n carousel.closest(\".n-carousel\").classList.add(\"n-carousel--overlay\");\n trapFocus(carousel.closest(\".n-carousel\"));\n }\n };\n const autoHeightObserver = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let slide = e.target.querySelector(\":scope > [aria-current]\");\n let el = slide.closest(\".n-carousel__content\");\n if (!el.parentElement.dataset.sliding) {\n // console.log(e.target);\n el.parentNode.style.removeProperty('--height');\n if (isVertical(el)) {\n slide.style.height = 'auto';\n el.style.height = `${slide.scrollHeight}px`;\n slide.style.height = '';\n updateCarousel(el);\n } else {\n el.style.height = '';\n el.style.height = `${slide.scrollHeight}px`;\n updateCarousel(el, true);\n }\n }\n });\n });\n });\n const updateSubpixels = (el) => {\n if (!el.parentNode.dataset.sliding) {\n // Round down the padding, because sub pixel padding + scrolling is a problem\n let carousel = el;\n carousel.style.padding = ''; // Subpixel peeking fix\n carousel.style.removeProperty(\"--peek-int\");\n carousel.style.padding = isVertical(carousel) ? `${parseInt(getComputedStyle(carousel).paddingBlockStart)}px 0` : `0 ${parseInt(getComputedStyle(carousel).paddingInlineStart)}px`;\n if (carousel.style.padding === '0px') {\n carousel.style.padding = '';\n } else {\n // For Safari, which doesn't support inline end padding in a scrollable container\n carousel.style.setProperty(\"--peek-int\", isVertical(carousel) ? `${parseInt(getComputedStyle(carousel).paddingBlockStart)}px 0 0 0` : `0 ${parseInt(getComputedStyle(carousel).paddingInlineStart)}px 0 0`);\n }\n window.requestAnimationFrame(() => {\n if (isVertical(el)) {\n carousel.style.setProperty(\"--subpixel-compensation\", Math.ceil(carousel.getBoundingClientRect().height) - carousel.getBoundingClientRect().height);\n } else {\n carousel.style.setProperty(\"--subpixel-compensation\", Math.ceil(carousel.getBoundingClientRect().width) - carousel.getBoundingClientRect().width);\n }\n let offset = getIndexReal(carousel); // Real offset including displaced first/last slides\n scrollTo(carousel, offset * ceilingWidth(carousel.firstElementChild), offset * ceilingHeight(carousel.firstElementChild));\n });\n }\n };\n const observersOn = (el) => {\n window.requestAnimationFrame(() => {\n // setTimeout(() => {\n if (el.scroll_x && el.scroll_y) {\n scrollTo(el, el.scroll_x, el.scroll_y);\n }\n delete el.parentNode.dataset.sliding;\n // }, 0);\n if (el.parentNode.matches(\".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height\")) {\n height_minus_index.observe(el.parentNode);\n } else {\n height_minus_index.unobserve(el.parentNode);\n }\n subpixel_observer.observe(el);\n mutation_observer.observe(el.parentNode, {\n attributes: true,\n attributeFilter: [\"class\"],\n });\n });\n };\n const observersOff = (el) => {\n height_minus_index.unobserve(el.parentNode);\n subpixel_observer.unobserve(el);\n el.observerStarted = true;\n };\n const updateObserver = (el) => {\n observersOff(el);\n const doUpdate = el => {\n updateSubpixels(el);\n window.requestAnimationFrame(() => {\n let current_height = el.querySelector(\":scope > [aria-current]\").scrollHeight + \"px\";\n let previous_height = getComputedStyle(el).getPropertyValue(\"--height\");\n if (current_height !== previous_height) {\n el.parentNode.style.setProperty(\"--height\", current_height);\n }\n observersOn(el);\n });\n };\n doUpdate(el);\n el.querySelectorAll('.n-carousel__content').forEach(el => doUpdate(el));\n };\n const subpixel_observer = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let el = e.target;\n if (!!el.observerStarted) {\n el.observerStarted = false;\n return;\n }\n updateObserver(el);\n });\n });\n });\n const mutation_observer = new MutationObserver((mutations) => {\n for (let mutation of mutations) {\n if (mutation.target && !mutation.target.nextSlideInstant) {\n let carousel = mutation.target.querySelector(\":scope > .n-carousel__content\");\n updateObserver(carousel);\n updateCarousel(carousel, true);\n }\n }\n });\n const setIndexWidth = (el) => {\n let index = el.querySelector(\":scope > .n-carousel__index\");\n if (index && !el.dataset.sliding) {\n el.style.removeProperty(\"--height-minus-index\");\n index.style.position = \"absolute\";\n el.style.setProperty(\"--height-minus-index\", `${el.offsetHeight}px`);\n el.style.setProperty(\"--index-width\", getComputedStyle(el.querySelector(\":scope > .n-carousel__index\")).width);\n index.style.position = \"\";\n }\n };\n const height_minus_index = new ResizeObserver((entries) => {\n // Limit outside index height to carousel height\n window.requestAnimationFrame(() => {\n // Observing the carousel wrapper\n entries.forEach((e) => {\n let el = e.target;\n setIndexWidth(el);\n });\n });\n });\n const init = (host = document) => {\n host.querySelectorAll(\".n-carousel:not([data-ready])\").forEach((el) => {\n const previous = getControl(el, \".n-carousel__previous\");\n const next = getControl(el, \".n-carousel__next\");\n const index = getControl(el, \".n-carousel__index\");\n const close_modal = getControl(el, \".n-carousel__close\");\n const full_screen = getControl(el, \".n-carousel__full-screen\");\n const content = el.querySelector(\":scope > .n-carousel__content\");\n if (!content) {\n return;\n }\n if (!!previous) {\n previous.onclick = slidePreviousEvent;\n }\n if (!!next) {\n next.onclick = slideNextEvent;\n }\n if (!!index) {\n index.onclick = slideIndexEvent;\n }\n if (!!close_modal) {\n close_modal.onclick = e => {\n if (e.target.closest('.n-carousel').classList.contains('n-carousel--overlay')) {\n closeModal(e.target);\n } else {\n openModal(e.target);\n }\n }\n }\n if (!!full_screen) {\n full_screen.onclick = (e) => {\n let carousel = e.target.closest(\".n-carousel\").querySelector(\":scope > .n-carousel__content\");\n carousel.dataset.xx = carousel.dataset.x;\n carousel.dataset.yy = carousel.dataset.y;\n toggleFullScreen(e.target);\n };\n const fullScreenEvent = (e) => {\n let carousel = e.target.querySelector(\":scope > .n-carousel__content\");\n window.requestAnimationFrame(() => {\n updateCarousel(carousel);\n carousel.dataset.x = carousel.dataset.xx;\n carousel.dataset.y = carousel.dataset.yy;\n delete carousel.dataset.xx;\n delete carousel.dataset.yy;\n if (carousel.dataset.x !== \"undefined\" && carousel.dataset.y !== \"undefined\") {\n scrollTo(carousel, carousel.dataset.x * ceilingWidth(carousel.children[carousel.dataset.x]), carousel.dataset.y * ceilingHeight(carousel.children[carousel.dataset.y]));\n }\n });\n };\n if (isSafari) {\n el.onwebkitfullscreenchange = fullScreenEvent;\n } else {\n el.onfullscreenchange = fullScreenEvent;\n }\n }\n content.addEventListener(\"keydown\", carouselKeys);\n el.addEventListener(\"keyup\", (e) => {\n if (e.key === \"Escape\") {\n let el = e.target;\n if (!el.closest('.n-carousel--overlay')) {\n el = document.querySelector('.n-carousel--overlay');\n }\n if (el) {\n closeModal(el);\n }\n }\n });\n updateSubpixels(content);\n content.observerStarted = true;\n let hashed_slide = !!location.hash ? content.querySelector(\":scope > \" + location.hash) : false;\n if (hashed_slide) {\n if (el.classList.contains('n-carousel--inline')) {\n openModal(content);\n // el.classList.add('n-carousel--overlay');\n }\n let index = [...hashed_slide.parentNode.children].indexOf(hashed_slide);\n if (isVertical(content)) {\n content.dataset.y = index;\n } else {\n content.dataset.x = index;\n }\n // slideTo(content, index); // This slides to the wrong slide\n window.nCarouselNav = [content, location.hash];\n }\n if (el.matches(\".n-carousel--vertical.n-carousel--auto-height\")) {\n content.style.height = '';\n content.style.height = getComputedStyle(content).height;\n el.dataset.ready = true;\n content.scrollTop = 0; // Should be a different value if the initial active slide is other than the first one (unless updateCarousel() takes care of it)\n }\n if (el.matches(\".n-carousel--auto-height\")) {\n // Auto has a specified height which needs update on resize\n autoHeightObserver.observe(content);\n }\n window.requestAnimationFrame(() => {\n observersOn(content);\n if (el.parentNode.matches(\".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height\")) {\n setIndexWidth(el);\n }\n updateCarousel(content);\n el.dataset.ready = true;\n if (el.matches(\".n-carousel--auto-slide\")) {\n let auto_delay = (parseFloat(el.dataset.interval) * 1000 || default_interval) + (parseFloat(el.dataset.duration) * 1000 || default_duration);\n let carouselTimeout = () => {\n if (isElementInViewport(content)) {\n slideNext(content);\n }\n content.nCarouselTimeout = setTimeout(carouselTimeout, auto_delay);\n };\n content.nCarouselTimeout = setTimeout(carouselTimeout, parseFloat(el.dataset.interval) * 1000 || default_interval);\n content.addEventListener(\"pointerenter\", (e) => clearTimeout(e.target.nCarouselTimeout));\n }\n el.dataset.platform = navigator.platform; // iPhone doesn't support full screen, Windows scroll works differently\n });\n content.nCarouselUpdate = updateCarousel;\n const targets = content.querySelectorAll(':scope > *');\n let timeout = 0;\n const inView = target => {\n const interSecObs = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n let slide = entry.target;\n let carousel = slide.parentNode;\n if (entry.isIntersecting && !carousel.parentNode.dataset.sliding && getComputedStyle(carousel).visibility !== 'hidden') {\n if (carousel.dataset.next && parseInt(carousel.dataset.next) !== [...carousel.children].indexOf(slide)) {\n return;\n }\n delete carousel.dataset.next;\n observersOff(el);\n let x = carousel.scrollLeft;\n let y = carousel.scrollTop;\n let interval = 10; // Get rid of this magic number by timeout comparison with previous scroll offset\n let timeout_function = () => {\n // console.log(entry, entry.target, 'is intersecting at', entry.target.parentElement.scrollLeft, entry.target.parentElement.scrollTop);\n // if (Math.abs(x - carousel.scrollLeft) >= 1) {\n // console.log('intersection continue', x, carousel.scrollLeft, y, carousel.scrollLeft);\n // clearTimeout(timeout);\n // timeout = setTimeout(timeout_function, interval);\n // return;\n // }\n // console.log('intersection ', x, carousel.scrollLeft, y, carousel.scrollLeft);\n let index = [...carousel.children].indexOf(slide);\n if (isAuto(carousel)) {\n let old_height = parseFloat(getComputedStyle(carousel).height);\n let new_height;\n let offset_y = 0;\n let lastScrollX = carousel.scrollLeft;\n let lastScrollY = carousel.scrollTop;\n if (isVertical(carousel)) {\n let scroll_offset = carousel.scrollTop;\n slide.style.height = 'auto';\n let computed_max_height = getComputedStyle(el).maxHeight;\n let max_height = computed_max_height.match(/px/) ? Math.ceil(parseFloat(computed_max_height)) : 99999;\n // new_height = Math.min(slide.scrollHeight, max_height);\n new_height = Math.min(Math.ceil(parseFloat(getComputedStyle(slide).height)), max_height);\n // new_height = slide.scrollHeight;\n if (isModal(carousel) || isFullScreen()) {\n old_height = new_height = carousel.offsetHeight;\n }\n slide.style.height = '';\n carousel.scrollTop = scroll_offset;\n offset_y = index * new_height - carousel.scrollTop;\n } else {\n new_height = nextSlideHeight(slide); // ?\n // console.log(lastScrollX);\n if (!!lastScrollX) { // Because RTL auto height landing on first slide creates an infinite intersection observer loop\n scrollTo(carousel, lastScrollX, lastScrollY);\n }\n }\n if (old_height === new_height) {\n new_height = false;\n }\n carousel.parentNode.dataset.sliding = true;\n // interSecObs.unobserve(slide);\n window.requestAnimationFrame(() => {\n scrollAnimate(carousel, 0, offset_y, new_height, old_height).then(() => {});\n });\n } else {\n // console.log(carousel);\n window.requestAnimationFrame(() => {\n updateCarousel(carousel);\n });\n }\n // updateCarousel(entry.target.parentNode);\n };\n timeout = setTimeout(timeout_function, interval);\n }\n });\n }, { threshold: .996, root: target.parentElement }); // .99 works for all, including vertical auto height\n interSecObs.observe(target);\n // console.log('intersection observing ', target)\n };\n targets.forEach(inView);\n if (el.matches('.n-carousel--lightbox')) {\n let loaded = img => {\n img.closest('picture').dataset.loaded = true;\n };\n content.querySelectorAll(\"picture img\").forEach(el => {\n if (el.complete) {\n loaded(el);\n } else {\n el.addEventListener(\"load\", e => {\n loaded(e.target);\n });\n }\n });\n }\n });\n };\n window.nCarouselInit = init;\n window.addEventListener('popstate', e => { // Hash navigation support\n // console.log(e);\n if (!!location.hash) {\n let el = document.querySelector(location.hash);\n let carousel = el?.parentNode;\n if (!!carousel && carousel.classList.contains('n-carousel__content') && !carousel.parentNode.closest('.n-carousel__content')) {\n let modal_carousel = document.querySelector('.n-carousel--overlay > .n-carousel__content');\n if (modal_carousel && modal_carousel !== carousel) {\n closeModal(modal_carousel);\n // modal_carousel.parentNode.classList.remove('n-carousel--overlay');\n }\n if (carousel.parentNode.classList.contains('n-carousel--inline')) {\n closeModal(carousel);\n // carousel.parentNode.classList.add('n-carousel--overlay');\n }\n if (isSafari) { // Safari has already scrolled and needs to rewind it scroll position in order to animate it\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n }\n slideTo(carousel, [...carousel.children].indexOf(el));\n window.nCarouselNav = [carousel, location.hash];\n }\n } else {\n if (window.nCarouselNav) { // Previously navigated to a slide\n let carousel = window.nCarouselNav[0];\n delete window.nCarouselNav;\n if (isSafari) { // Safari has already scrolled and needs to rewind it scroll position in order to animate it\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n }\n slideTo(carousel, [...carousel.children].indexOf(carousel.querySelector(':scope > :not([id])')));\n }\n }\n });\n const doInit = () => {\n (typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-carousel\", init): init();\n };\n if (document.readyState !== \"loading\") {\n doInit();\n } else {\n document.addEventListener(\"DOMContentLoaded\", doInit);\n }\n})();","/* Modal – start */\n(function() {\n // // left: 37, up: 38, right: 39, down: 40,\n // // spacebar: 32, pageup: 33, pagedown: 34, end: 35, home: 36\n // var keys = { 37: 1, 38: 1, 39: 1, 40: 1 };\n // \n // function preventDefault(e) {\n // e.preventDefault();\n // }\n // \n // function preventDefaultForScrollKeys(e) {\n // if (keys[e.keyCode]) {\n // preventDefault(e);\n // return false;\n // }\n // }\n // \n // // modern Chrome requires { passive: false } when adding event\n // var supportsPassive = false;\n // try {\n // window.addEventListener(\"test\", null, Object.defineProperty({}, 'passive', {\n // get: function() { supportsPassive = true; }\n // }));\n // } catch (e) {}\n // \n // var wheelOpt = supportsPassive ? { passive: false } : false;\n // var wheelEvent = 'onwheel' in document.createElement('div') ? 'wheel' : 'mousewheel';\n // \n // // call this to Disable\n // function disableScrolling() {\n // window.addEventListener(wheelEvent, preventDefault, wheelOpt); // modern desktop\n // window.addEventListener('touchmove', preventDefault, wheelOpt); // mobile\n // window.addEventListener('keydown', preventDefaultForScrollKeys, false);\n // }\n // \n // // call this to Enable\n // function enableScrolling() {\n // window.removeEventListener(wheelEvent, preventDefault, wheelOpt);\n // window.removeEventListener('touchmove', preventDefault, wheelOpt);\n // window.removeEventListener('keydown', preventDefaultForScrollKeys, false);\n // }\n // const isChrome = !!navigator.userAgent.match(\"Chrome\");\n // const isSafari = navigator.userAgent.match(/Safari/) && !isChrome;\n var x = window.scrollX;\n var y = window.scrollY;\n var scroll_timeout;\n const blockScroll = e => {\n // console.log(e);\n // if (isSafari) {\n document.querySelectorAll('dialog.n-modal[open]').forEach(el => {\n el.classList.add('n-modal--transparent');\n });\n clearTimeout(scroll_timeout);\n scroll_timeout = setTimeout(() => {\n document.querySelectorAll('dialog.n-modal[open]').forEach(el => {\n el.classList.remove('n-modal--transparent');\n });\n }, 67);\n // } else {\n // window.scrollTo(x, y);\n // }\n };\n\n function disableScrolling() {\n x = window.scrollX;\n y = window.scrollY;\n // window.onscroll = function() { window.scrollTo(x, y); };\n window.addEventListener('scroll', blockScroll, { 'passive': 'true' });\n }\n\n function enableScrolling() {\n // window.onscroll = function() {};\n window.removeEventListener('scroll', blockScroll);\n }\n // var previouslyFocused = previouslyFocused || false;\n function transferClass(origin, target, className) {\n let classes = typeof className === \"string\" ? new Array(className) : className;\n classes.forEach(el => {\n if (origin.classList.contains(el)) {\n target.classList.add(el);\n }\n });\n }\n const animationDuration = () => window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? (getComputedStyle(document.querySelector('.n-modal')).getPropertyValue('--duration') * 1000) : 0;\n let removeModal = e => {\n document.documentElement.classList.remove('transparent-scrollbar');\n let modal = e.target;\n modal.removeEventListener('close', removeModal);\n if (modal.existingDetachedElement) {\n // console.log(modal);\n if (!modal.existingModal) {\n let content = modal.querySelector('.n-modal__content');\n content.removeChild(content.firstElementChild);\n }\n delete modal.existingDetachedElement;\n modal.remove();\n }\n if (modal.attachedHiddenContent) {\n modal.replaceWith(modal.lastChild);\n } else {\n if (modal.dataset.existingAttachedContent) {\n modal.replaceWith(modal.lastChild.firstElementChild);\n } else {\n if (modal.existingModal) {\n delete modal.existingModal;\n delete modal.dataset.anim;\n } else {\n modal.remove();\n }\n }\n }\n }\n\n function closeModal(modal) {\n let direction_option = \"normal\";\n var animation = modal.dataset.anim; // Custom animation?\n if (!animation || animation.length < 11) {\n // '', 'null' or 'undefined'?\n animation = '[{ \"transform\": \"translate3d(0,0,0)\" }, { \"transform\": \"translate3d(0,-100vh,0)\" }]';\n } else {\n direction_option = \"reverse\";\n }\n modal.classList.add('n-modal--closing');\n setTimeout(() => { modal.classList.remove('n-modal--closing'); }, animationDuration());\n modal.animate(JSON.parse(animation), { duration: animationDuration(), direction: direction_option, easing: \"ease-in-out\" }).onfinish = () => {\n enableScrolling();\n // nuiDisableBodyScroll(false, modal); // Turn off and restore page scroll\n if (modal.existingModal) {\n if (!modal.existingDetachedElement) {\n modal.removeEventListener('close', removeModal);\n }\n // delete modal.existingModal;\n delete modal.dataset.anim;\n }\n modal.close();\n // document.querySelector(\"html\").classList.remove(\"no-scroll\");\n // window.scrollTo(modal.previousScrollX, modal.previousScrollY);\n };\n }\n\n function openModal(options) {\n // options: {content: \"\"/element, animation: \"\", trigger: element, closeSymbol: \"\", closeLabel: \"\"}\n // content is either an HTML string or an element\n // options can be solely content if it's a string or element\n // Fix Chrome flashing disappearing scrollbars on open\n document.documentElement.style.overflow = 'scroll';\n const scrollbar_width = window.innerWidth - document.documentElement.offsetWidth;\n document.documentElement.style.overflow = '';\n if (!scrollbar_width) { // Because Chrome flashes disappearing scrollbars on open (Mac)\n document.documentElement.classList.add('transparent-scrollbar');\n }\n if (typeof options === 'string' || !!options.tagName) {\n options = { content: options };\n }\n let animation = options.animation;\n let content = options.content;\n let trigger = options.trigger;\n var wrapper = {};\n var existingDetachedElement = false;\n if (content.parentNode) {\n // console.log(content.parentNode);\n if (content.parentNode.tagName === 'DIALOG' || content.parentNode.classList.contains('n-modal__content')) {\n return;\n }\n } else {\n if (content.tagName) {\n existingDetachedElement = true;\n }\n }\n const close_label = 'Close';\n const close_symbol = '╳';\n if (typeof content === 'object' && content.tagName === 'DIALOG') {\n if (!content.parentNode) { // Detached modal\n document.body.appendChild(content);\n }\n wrapper = content;\n wrapper.existingModal = true;\n let close_button = wrapper.querySelector('.n-modal__close');\n if (close_button) {\n close_button.dataset.closeSymbol = close_button.dataset.closeSymbol || close_symbol;\n close_button.ariaLabel = close_button.ariaLabel || close_label;\n }\n } else {\n wrapper = document.createElement(\"dialog\");\n wrapper.insertAdjacentHTML(\"afterbegin\", `
`);\n let modal_content = document.createElement(\"div\");\n if (typeof content === \"string\") {\n wrapper.lastChild.innerHTML = content;\n document.body.appendChild(wrapper);\n } else {\n let parent = content.parentElement;\n if (parent) {\n let marker = document.createElement('div');\n content.replaceWith(marker);\n wrapper.lastChild.appendChild(content);\n marker.replaceWith(wrapper);\n if (content.classList.contains('n-modal__content')) {\n wrapper.lastChild.replaceWith(content);\n wrapper.attachedHiddenContent = true;\n } else {\n wrapper.dataset.existingAttachedContent = true;\n }\n } else {\n wrapper.lastChild.appendChild(content);\n document.body.appendChild(wrapper);\n }\n }\n }\n if (options.blur) {\n wrapper.classList.add('n-modal--blur');\n }\n if (options.shadow) {\n wrapper.classList.add('n-modal--shadow');\n }\n if (options.rounded) {\n wrapper.classList.add('n-modal--rounded');\n }\n if (options.full) {\n wrapper.classList.add('n-modal--full');\n }\n wrapper.dataset.anim = animation;\n wrapper.classList.add(\"n-modal\");\n wrapper.onclick = (e) => {\n let el = e.target.closest('.n-modal');\n let button = e.target.closest('.n-modal__close');\n if (button || (e.target.matches('.n-modal') && (e.offsetX < 0 || e.offsetY < 0 || (e.offsetX - 2) > el.getBoundingClientRect().width || (e.offsetY - 2) > el.getBoundingClientRect().height))) {\n closeModal(el);\n }\n };\n wrapper.addEventListener(\"cancel\", e => {\n e.preventDefault();\n closeModal(e.target.closest('.n-modal'));\n });\n if (existingDetachedElement) {\n wrapper.existingDetachedElement = true;\n }\n wrapper.showModal();\n // nuiDisableBodyScroll(true, wrapper); // Turn on and block page scroll\n // if (document.querySelectorAll(\".n-modal\").length === 1) {\n // // Sole (first) modal\n // wrapper.previousScrollX = window.scrollX;\n // wrapper.previousScrollY = window.scrollY;\n // }\n // document.querySelector(\"html\").classList.add(\"no-scroll\");\n wrapper.animate(typeof animation === \"string\" ? JSON.parse(animation) : [{ transform: \"translate3d(0,-100vh,0)\" }, { transform: \"translate3d(0,0,0)\" }], {\n duration: animationDuration(),\n easing: \"ease-in-out\",\n }).onfinish = () => {\n wrapper.addEventListener('close', removeModal);\n disableScrolling();\n };\n return wrapper;\n }\n\n function parseHTML(str) {\n var tmp = document.implementation.createHTMLDocument(\"Parsed\");\n tmp.body.innerHTML = str;\n // To do: destroy the HTMLDocument before returning\n return tmp.body;\n }\n\n function modalWindowLink(e) {\n // Modal window of external file content\n var el = e.target;\n let trigger = el.closest(\".n-modal-link\");\n var link = trigger.dataset.href || trigger.href; // data-href for
`;\n\t\t\t\t});\n\t\t\t\tel = document.createElement(\"span\");\n\t\t\t\tel.insertAdjacentHTML(\"beforeend\", options);\n\t\t\t\twrapper.prepend(el);\n\t\t\t}\n\t\t\tel.nuiSelectWrapper = wrapper;\n\t\t\tel.classList.add(\"n-select__options\");\n\t\t\tel.nuiNativeInput = el.nuiSelectWrapper.querySelector(\"select, input\") || nextMatchingSibling(el.nuiSelectWrapper, \"select\") || document.querySelector(`[data-n_select=\"${el.nuiSelectWrapper.dataset.n_select}\"]`); // As a sibling, child or data-n_select match (where data-n_select is the rich select's data-n_select attribute)\n\t\t\tif (!el.nuiNativeInput) {\n\t\t\t\t// Missing native select, so generate it\n\t\t\t\tlet input = document.createElement(\"select\");\n\t\t\t\tinput.name = input.id = el.dataset.name;\n\t\t\t\twrapper.append(input);\n\t\t\t\tel.nuiNativeInput = input;\n\t\t\t}\n\t\t\tlet initial_value = el.nuiNativeInput.value;\n\t\t\tlet initial_option = el.querySelector(`button[value=\"${initial_value}\"`);\n\t\t\tel.nuiNativeInput.innerHTML = \"\";\n\t\t\twrapper.addEventListener(\"pointerdown\", pointerDownSelect);\n\t\t\tel.addEventListener(\"click\", clickSelect); // Selects a clicked (pointer upped) option\n\t\t\tel.addEventListener(\"focusout\", (e) => {\n\t\t\t\tlet select = e.target.closest(\".n-select__options\");\n\t\t\t\t// If relatedTarget isn't a sibling, close and focus on select wrapper\n\t\t\t\tif (select.hasAttribute(\"aria-expanded\") && !!e.relatedTarget && e.relatedTarget.parentNode !== select) {\n\t\t\t\t\tcloseSelect(select);\n\t\t\t\t\tselect.nuiSelectWrapper.focus();\n\t\t\t\t}\n\t\t\t});\n\t\t\tel.ontransitionend = (e) => {\n\t\t\t\tlet el = e.target;\n\t\t\t\tel.style.removeProperty(\"--mask-position-y\");\n\t\t\t\tel.style.removeProperty(\"--mask-size-y\");\n\t\t\t\tdelete el.dataset.nSelectAnimation;\n\t\t\t\tel.addEventListener(\"pointerup\", pointerUpSelect);\n\t\t\t\t// el.dataset.transitionend = true;\n\t\t\t};\n\t\t\tel.addEventListener(\"keydown\", selectKeyboard);\n\t\t\twrapper.addEventListener(\"keydown\", selectKeyboard);\n\t\t\tel.addEventListener(\"keyup\", trapKeyboard);\n\t\t\twrapper.addEventListener(\"keyup\", trapKeyboard);\n\t\t\tel.lastElementChild.onkeydown = (e) => {\n\t\t\t\t// Close select on tab outside. To do: get last button only\n\t\t\t\tif (e.key === \"Tab\" && !e.shiftKey && e.target.parentNode.hasAttribute(\"aria-expanded\")) {\n\t\t\t\t\tcloseSelect(e.target.parentNode);\n\t\t\t\t\te.target.parentNode.nuiSelectWrapper.focus();\n\t\t\t\t}\n\t\t\t};\n\t\t\tel.querySelectorAll(\"button\").forEach((el) => {\n\t\t\t\tel.type = \"button\"; // Unlike the default 'submit'\n\t\t\t\tel.value = el.value || el.textContent.trim();\n\t\t\t});\n\t\t\twrapper.setAttribute(\"tabindex\", 0);\n\t\t\t(el.querySelector(\"[aria-selected]\") || el.firstElementChild).tabIndex = -1;\n\t\t\twrapper.style.setProperty(\"--inline-width\", `${el.getBoundingClientRect().width}px`);\n\t\t\tselectOption(el.querySelector(\"[aria-selected]\") || initial_option || el.querySelector(\"button\")); // Select the first option by default\n\t\t\tel.nuiSearchTerm = \"\";\n\t\t\t[\"n-select--rounded\", \"n-select--shadow\"].forEach((cls) => {\n\t\t\t\tif (wrapper.classList.contains(cls)) {\n\t\t\t\t\tel.classList.add(cls);\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet label = el.closest(\"label\") || document.querySelector(`label[for=\"${el.nuiNativeInput.id}\"]`);\n\t\t\tif (label) {\n\t\t\t\tlabel.onclick = (e) => {\n\t\t\t\t\tlet el = e.target;\n\t\t\t\t\tif (!el.closest(\".n-select\")) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tel = el.closest(\"label\");\n\t\t\t\t\t\tlet select = el.querySelector(\".n-select\") || document.getElementById(el.getAttribute(\"for\")).closest(\".n-select\");\n\t\t\t\t\t\tselect.focus();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t\twrapper.dataset.ready = true;\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t// wrapper.style.setProperty(\"--active-option-height\", `${el.querySelector(\"[aria-selected]\").getBoundingClientRect().height}px`);\n\t\t\t\tupdateOptionHeight(wrapper, el);\n\t\t\t\t[\"--nui-control-color\", \"--nui-control-bg\", \"--nui-control-active-color\", \"--nui-control-active-bg\", \"--nui-control-highlight\"].forEach((i) => {\n\t\t\t\t\tel.style.setProperty(i, wrapper.style.getPropertyValue(i));\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t};\n\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-select\", init) : init(document.body);\n})();","// Component Tooltip – start\n(function() {\n\tlet setTipPosition = (tool, tip) => {\n\t\t// Take up the most area available on top/right/bottom/left of the tool. Relative to body.\n\t\tlet rect = tool.getBoundingClientRect();\n\t\tlet top = rect.top;\n\t\tlet left = rect.left;\n\t\tlet right = window.innerWidth - left - rect.width;\n\t\tlet bottom = window.innerHeight - top - rect.height; // To do: check when body is shorter than viewport\n\t\tlet area_top = top * window.innerWidth;\n\t\tlet area_right = right * window.innerHeight;\n\t\tlet area_bottom = bottom * window.innerWidth;\n\t\tlet area_left = left * window.innerHeight;\n\t\tlet body_rect = document.body.getBoundingClientRect();\n\t\ttip.removeAttribute(\"style\");\n\t\tdelete tip.dataset.position;\n\t\ttip.classList.add('n-tooltip__content-visible');\n\t\tlet positionTop = () => {\n\t\t\ttip.style.bottom = 20 + body_rect.height + body_rect.y - top + \"px\";\n\t\t\ttip.style.maxHeight = top - 40 + \"px\";\n\t\t\ttip.style.left = `${rect.x + rect.width / 2 - tip.scrollWidth / 2}px`;\n\t\t\ttip.dataset.nPosition = \"top\";\n\t\t};\n\t\tlet positionBottom = () => {\n\t\t\ttip.style.top = 20 - body_rect.y + top + rect.height + \"px\";\n\t\t\ttip.style.maxHeight = bottom - 40 + \"px\";\n\t\t\ttip.style.left = `${rect.x + rect.width / 2 - tip.scrollWidth / 2}px`;\n\t\t\ttip.dataset.nPosition = \"bottom\";\n\t\t};\n\t\tlet positionLeft = () => {\n\t\t\ttip.style.left = \"auto\";\n\t\t\ttip.style.right = 20 + body_rect.width + body_rect.x - window.innerWidth + right + rect.width + \"px\";\n\t\t\ttip.style.maxWidth = left - 40 + \"px\";\n\t\t\ttip.style.top = `${-1 * body_rect.y + rect.top + rect.height / 2 - tip.scrollHeight / 2}px`;\n\t\t\ttip.dataset.nPosition = \"left\";\n\t\t};\n\t\tlet positionRight = () => {\n\t\t\ttip.style.left = rect.x - body_rect.x + rect.width + 20 + \"px\";\n\t\t\ttip.style.maxWidth = right - 40 + \"px\";\n\t\t\ttip.style.top = `${-1 * body_rect.y + rect.top + rect.height / 2 - tip.scrollHeight / 2}px`;\n\t\t\ttip.dataset.nPosition = \"right\";\n\t\t};\n\t\tif (area_left > area_right) {\n\t\t\tif (area_top > area_bottom) {\n\t\t\t\tif (area_top > area_left) {\n\t\t\t\t\t// Top\n\t\t\t\t\tpositionTop();\n\t\t\t\t} else {\n\t\t\t\t\t// Left\n\t\t\t\t\tpositionLeft();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (area_bottom > area_left) {\n\t\t\t\t\t// Bottom\n\t\t\t\t\tpositionBottom();\n\t\t\t\t} else {\n\t\t\t\t\t// Left\n\t\t\t\t\tpositionLeft();\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (area_top > area_bottom) {\n\t\t\t\tif (area_top > area_right) {\n\t\t\t\t\t// Top\n\t\t\t\t\tpositionTop();\n\t\t\t\t} else {\n\t\t\t\t\t// Right\n\t\t\t\t\tpositionRight();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (area_bottom > area_right) {\n\t\t\t\t\t// Bottom\n\t\t\t\t\tpositionBottom();\n\t\t\t\t} else {\n\t\t\t\t\t// Right\n\t\t\t\t\tpositionRight();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tlet rect_tip = tip.getBoundingClientRect();\n\t\tlet offset_y = 0;\n\t\tif (rect_tip.y < 0) {\n\t\t\toffset_y = Math.abs(rect_tip.y) + 10;\n\t\t} else {\n\t\t\tif (rect_tip.bottom > window.innerHeight) {\n\t\t\t\toffset_y = window.innerHeight - rect_tip.bottom - 10;\n\t\t\t}\n\t\t}\n\t\ttip.style.setProperty(\"--offset_y\", offset_y + \"px\");\n\t\tlet offset_x = 0;\n\t\tif (rect_tip.x < 0) {\n\t\t\toffset_x = Math.abs(rect_tip.x) + 10;\n\t\t} else {\n\t\t\tif (rect_tip.right > window.innerWidth) {\n\t\t\t\toffset_x = window.innerWidth - rect_tip.right - 10;\n\t\t\t}\n\t\t}\n\t\ttip.style.setProperty(\"--offset_x\", offset_x + \"px\");\n\t};\n\n\tfunction getToolTip(tool) {\n\t\treturn document.getElementById(tool.getAttribute('aria-describedby')) || tool.nextElementSibling;\n\t}\n\tconst hideTipFunction = tool => {\n\t\tlet tip = getToolTip(tool);\n\t\ttool.removeAttribute(\"aria-expanded\");\n\t\ttool.after(tip);\n\t\ttip.removeAttribute(\"style\");\n\t\tdelete tip.dataset.position;\n\t\ttip.classList.remove('n-tooltip__content-visible');\n\t}\n\tlet hideTip = (e) => {\n\t\thideTipFunction(e.target.closest(\".n-tooltip\"));\n\t};\n\tconst hideTipOnScroll = e => {\n\t\tdocument.querySelectorAll('.n-tooltip').forEach(el => hideTipFunction(el));\n\t\tdocument.removeEventListener('scroll', hideTipOnScroll);\n\t};\n\tlet showTip = (e) => {\n\t\tlet tool = e.target.closest(\".n-tooltip\");\n\t\tlet tip = getToolTip(tool);\n\t\ttool.setAttribute(\"aria-expanded\", true);\n\t\tdocument.body.appendChild(tip);\n\t\tsetTipPosition(tool, tip);\n\t\tdocument.addEventListener('scroll', hideTipOnScroll, true);\n\t};\n\tconst init = (host = document) => {\n\t\t/* Tooltip */\n\t\tlet tooltips = host.querySelectorAll(\".n-tooltip\")?.length;\n\t\thost.querySelectorAll(\".n-tooltip:not([data-ready])\").forEach((el) => {\n\t\t\tel.setAttribute(\"tabindex\", 0);\n\t\t\tel.addEventListener('touchend', showTip);\n\t\t\tel.addEventListener('mouseover', showTip);\n\t\t\tel.addEventListener('focus', showTip);\n\t\t\tel.addEventListener('mouseout', hideTip);\n\t\t\tel.addEventListener('blur', hideTip);\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-tooltip\", init): init();\n})();\n// Component Tooltip – end","// Component Nav – start\n(function() {\n /* Nav – start */\n function closeDropNavClickedOutside(e) {\n // Close the nav when clicking outside\n if (!e.target.closest(\".n-nav li\")) {\n document.querySelectorAll(\".n-nav li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n if (document.querySelector(\".n-nav :focus\")) {\n document.querySelector(\".n-nav :focus\").blur();\n }\n }\n }\n\n function isDesktop(nav) {\n // Checks the UL sub nav element\n return !!getComputedStyle(nav).getPropertyValue(\"--desktop\");\n }\n let navAnimating = false;\n\n function dropNavBlur(e) {\n var this_nav = e.target.closest(\".n-nav\");\n if (navAnimating || !e.relatedTarget) {\n return;\n }\n e.stopPropagation();\n let el = e.target;\n let item = el.tagName === \"LI\" ? el.querySelector(\"ul\") : el.parentElement.querySelector(\"ul\");\n if (!this_nav.contains(e.relatedTarget) || (isDesktop(this_nav) && !!e.relatedTarget && !closestElement(e.relatedTarget, this_nav))) {\n // if e.relatedTarget is not a child of this_nav, then the next focused item is elsewhere\n this_nav.querySelectorAll(\"li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n return;\n }\n if (item) {\n if (item.parentNode.parentNode.querySelector(\"ul [aria-expanded]\")) {\n // To do: Unless it's the first/last item and user has back/forward tabbed away from it?\n return;\n }\n item.parentElement.removeAttribute(\"aria-expanded\");\n }\n // Close neighboring parent nav's sub navs.\n el = e.target;\n var target_parent = el.closest(\"[aria-haspopup]\");\n if (target_parent) {\n // Skip if it's a top-level-only item\n target_parent.querySelectorAll(\"li[aria-expanded]\").forEach((el) => {\n // Disable active grandchildren\n el.removeAttribute(\"aria-expanded\");\n });\n }\n el = e.target.parentNode;\n if (!el.nextElementSibling && // last item\n el.parentNode.parentNode.nodeName === \"LI\" && // of third-level nav\n !el.parentNode.parentNode.nextElementSibling) {\n el.parentNode.parentNode.removeAttribute(\"aria-expanded\");\n }\n }\n\n function dropNavFocus(e) {\n // Close focused third level child when focus moves to another top-level item\n e.stopPropagation();\n var el = e.target.closest(\".n-nav > ul > li\");\n // To do: on LI focus, make it aria-expanded and focus its a\n if (navAnimating) {\n return;\n }\n [\n [].slice.call(el.parentElement.children),\n [].slice.call(e.target.parentElement.parentElement.children),\n [].slice.call(e.target.parentElement.parentElement.parentElement.parentElement.children),\n ].forEach((el) => {\n el.forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n });\n el.setAttribute(\"aria-expanded\", true);\n // \t\topenItem(el.querySelector('ul'));\n if (el.parentNode.parentNode.getAttribute(\"aria-haspopup\")) {\n el.parentNode.parentNode.setAttribute(\"aria-expanded\", true);\n }\n el.querySelectorAll(\"li[aria-expanded]\").forEach((el) => {\n // Hide grandchildren\n el.removeAttribute(\"aria-expanded\");\n });\n // Make current focused item's ancestors visible\n el = e.target;\n el.parentNode.setAttribute(\"aria-expanded\", true);\n var grand_parent = el.parentElement.parentElement.parentElement;\n if (grand_parent.tagName === \"LI\") {\n grand_parent.setAttribute(\"aria-expanded\", true);\n }\n }\n var closeDropNavClickedOutsideEnabled = false;\n \n const getDuration = () => window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? 200 : 0;\n \n let closeItem = (item) => {\n navAnimating = true;\n item.style.overflow = \"hidden\";\n item.parentElement.setAttribute(\"aria-expanded\", true);\n item.animate([{ height: `${item.scrollHeight}px` }, { height: 0 }], getDuration()).onfinish = () => {\n item.removeAttribute(\"style\");\n item.parentElement.removeAttribute(\"aria-expanded\");\n navAnimating = false;\n item.querySelectorAll(\"[aria-expanded]\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n };\n };\n let openItem = (item) => {\n navAnimating = true;\n item.style.overflow = \"hidden\";\n item.parentElement.setAttribute(\"aria-expanded\", true);\n item.animate([{ height: 0 }, { height: `${item.scrollHeight}px` }], getDuration()).onfinish = () => {\n item.removeAttribute(\"style\");\n navAnimating = false;\n };\n };\n let clickEvent = (e) => {\n e.stopPropagation();\n // To do: also ancestors, also close when open\n let el = e.target;\n var this_nav = el.closest(\".n-nav\");\n this_nav.removeEventListener(\"focusout\", dropNavBlur);\n if (this_nav.contains(document.activeElement)) {\n document.activeElement.blur();\n }\n let item = el.tagName === \"LI\" ? el.querySelector(\"ul\") : el.parentElement.querySelector(\"ul\");\n if (isDesktop(this_nav)) {\n if (el.getAttribute(\"aria-expanded\")) {\n if (el.querySelector(\"a:focus\")) {\n // \t\t\t\t\t\tel.querySelector('a:focus').blur();\n } else {\n if (isDesktop(this_nav)) {\n el.removeAttribute(\"aria-expanded\");\n } else {\n closeItem(item);\n }\n }\n } else {\n [].slice.call(el.parentElement.children).forEach((item) => {\n item.removeAttribute(\"aria-expanded\");\n let old_item_open_child = item.querySelector(\"[aria-expanded]\");\n if (old_item_open_child) {\n old_item_open_child.removeAttribute(\"aria-expanded\");\n }\n });\n el.setAttribute(\"aria-expanded\", true);\n if (!isDesktop(this_nav)) {\n openItem(item);\n }\n }\n } else {\n if (item.parentNode.hasAttribute(\"aria-expanded\")) {\n closeItem(item);\n } else {\n // If new item is top level, close another top level item, if any is open\n if (item.parentElement.parentElement.matches(\"ul\")) {\n // It's top level, To do: also on secondary level, close open sibling\n let old_item = item.parentElement.closest(\"ul\").querySelector('[aria-expanded=\"true\"] > ul');\n if (old_item) {\n closeItem(old_item);\n }\n }\n openItem(item);\n }\n }\n this_nav.addEventListener(\"focusout\", dropNavBlur);\n };\n\n function checkSides(ul, menubar) {\n if (getComputedStyle(ul).direction !== 'rtl') {\n ul.classList.remove(\"n-right-overflow\");\n ul.style.removeProperty(\"--n-right-overflow\");\n //\t\tvar rect = ul.getBoundingClientRect(); // Firefox doesn't preserve this var\n if (ul.getBoundingClientRect().left > document.body.offsetWidth - (ul.getBoundingClientRect().left + ul.getBoundingClientRect().width)) {\n if (ul.getBoundingClientRect().right > window.innerWidth) {\n ul.style.setProperty(\"--n-right-overflow\", window.innerWidth - ul.getBoundingClientRect().right + \"px\");\n ul.classList.add(\"n-right-overflow\");\n }\n ul.classList.add(\"n-left-side\");\n } else {\n ul.classList.remove(\"n-left-side\");\n }\n }\n }\n\n function initNav(el) {\n // Delete all trigger inputs, add tabindex=0 to each li\n el.querySelectorAll(\"input\").forEach((el) => {\n el.outerHTML = \"\";\n });\n el.querySelectorAll(\"li > a\").forEach((el) => {\n el.setAttribute(\"tabindex\", 0);\n });\n if (!el.closest(\".n-nav.n-nav--drop\")) {\n // The rest is for drop nav only\n return;\n }\n if (!closeDropNavClickedOutsideEnabled) {\n window.addEventListener(\"touchend\", closeDropNavClickedOutside);\n window.addEventListener(\"mouseup\", closeDropNavClickedOutside);\n closeDropNavClickedOutsideEnabled = true;\n }\n el.addEventListener(\"keyup\", (e) => {\n // Check for sibling or children to expand on control keys Left/Right/etc\n if (e.key === \"Escape\") {\n e.target.closest(\".n-nav\").querySelectorAll(\"li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n document.activeElement.blur();\n }\n });\n let menubar = el;\n el.querySelectorAll(\"li\").forEach((el) => {\n let ul = el.querySelector(\"ul\");\n if (ul) {\n el.setAttribute(\"aria-haspopup\", true);\n if (el.children[0].nodeName === \"UL\") {\n el.insertBefore(el.children[1], el.children[0]); // Swap 'a' with 'ul'\n }\n }\n });\n el.addEventListener(\"mousedown\", clickEvent);\n el.addEventListener(\"focusin\", dropNavFocus);\n el.addEventListener(\"focusout\", dropNavBlur);\n window.requestAnimationFrame(() => {\n // Give the browser time to update\n el.querySelectorAll(\"ul\").forEach((ul) => {\n checkSides(ul, menubar);\n });\n });\n }\n window.addEventListener(\"resize\", function(e) {\n document.querySelectorAll(\".n-nav.n-nav--drop ul\").forEach((menubar) => {\n menubar.querySelectorAll(\"ul\").forEach((ul) => {\n checkSides(ul, menubar);\n });\n });\n });\n /* Nav – end */\n let init = (host) => {\n host.querySelectorAll(\".n-nav:not([data-ready]) > ul:not([role])\").forEach((el) => {\n initNav(el);\n el.closest(\".n-nav\").dataset.ready = true;\n });\n };\n nui.registerComponent(\"nav\", init);\n})();\n// Component Nav – end","// Component Notification bar – start\n(function() {\n\tfunction notifyClose(el) {\n\t\tif (!!el) {\n\t\t\tel.parentNode.removeChild(el);\n\t\t}\n\t}\n\n\tfunction notifyCloseEvent() {\n\t\tif (document.querySelector(\".n-notify\")) {\n\t\t\tdocument.querySelector(\".n-notify\").onclick = (e) => {\n\t\t\t\tnotifyClose(e.target);\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction notify(content, option) {\n\t\tdocument.body.insertAdjacentHTML(\"afterbegin\", ``);\n\t\tdocument.querySelector(\".n-notify\").focus();\n\t\tnotifyCloseEvent();\n\t\tif (option && option.indexOf(\"timeout\") !== -1) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tnotifyClose(document.querySelector(\".n-notify\"));\n\t\t\t}, 2000);\n\t\t}\n\t}\n\tlet init = (host) => {\n\t\t/* Tooltip */\n\t\thost.querySelectorAll(\".n-notify:not([data-ready])\").forEach((el, i) => {\n\t\t\tnotifyCloseEvent();\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\tnui.registerComponent(\"notify\", init, {\n\t\t'name': 'notify',\n\t\t'code': notify\n\t});\n})();\n// Component Notification bar – end","// Component Parallax – start\n(function() {\n\t// Thanks Dave Rupert\n\tlet parallaxSpeed = 0.2;\n\tlet updateParallax = () => {\n\t\tdocument.querySelectorAll(\".n-parallax\").forEach((el) => {\n\t\t\tlet parent = el.parentElement;\n\t\t\tlet scroll_offset = parent.scrollHeight > parent.offsetHeight ? parent.getBoundingClientRect().y : document.body.scrollTop || document.documentElement.scrollTop;\n\t\t\tel.style.setProperty(\"--scrollparallax\", scroll_offset * parallaxSpeed);\n\t\t});\n\t};\n\tif (document.querySelector(\".n-parallax\")) {\n\t\twindow.addEventListener(\"scroll\", updateParallax, true);\n\t}\n\tlet init = (host) => {};\n\tnui.registerComponent(\"parallax\", init);\n})();\n// Component Parallax – end","// Component Table – start\n(function () {\n\t/* Sort parent table's rows by matching column number alternatively desc/asc on click */\n\tconst toggleSort = (th) => {\n\t\tlet previous = th.closest(\"tr\").querySelector(\"td[data-ascending]\");\n\t\tif (previous && previous !== th) {\n\t\t\tdelete previous.dataset.ascending;\n\t\t}\n\t\treturn th.toggleAttribute(\"data-ascending\");\n\t};\n\tconst getCellValue = (tr, idx) => tr.children[idx].innerText || tr.children[idx].textContent;\n\tconst comparer = (idx, asc) => (a, b) => ((v1, v2) => (v1 !== \"\" && v2 !== \"\" && !isNaN(v1) && !isNaN(v2) ? v1 - v2 : v1.toString().localeCompare(v2)))(getCellValue(asc ? a : b, idx), getCellValue(asc ? b : a, idx));\n\tlet init = (host) => {\n\t\thost.querySelectorAll(\".n-table:not([data-ready])\").forEach((el) => {\n\t\t\tel.querySelectorAll(\"thead td button.n-table__sort, th button.n-table__sort\").forEach((button) => button.addEventListener(\"click\", (e) => {\n\t\t\t\tlet th = e.target.closest(\"th\") || e.target.closest(\"td\");\n\t\t\t\tconst tbody = th.closest(\"table\").querySelector(\"tbody\");\n\t\t\t\tArray.from(tbody.querySelectorAll(\"tr\")).sort(comparer(Array.from(th.parentNode.children).indexOf(th), toggleSort(th))).forEach((tr) => tbody.appendChild(tr));\n\t\t\t}));\n\t\t\tel.dataset.ready = true;\n\t\t\tel.setAttribute(\"tabindex\", 0); // To scroll with arrow keys\n\t\t});\n\t};\n\tnui.registerComponent(\"table\", init);\n})();\n// Component Table – end","// Component Typography – start\n(function () {\n\tlet init = (host) => {\n\t\t/* Typography */\n\t\tif (typeof ResizeObserver === \"function\") {\n\t\t\t// Compensate element height according to line height\n\t\t\tlet ro = new ResizeObserver((entries) => {\n\t\t\t\tentries.forEach((el) => {\n\t\t\t\t\tlet a = el.target;\n\t\t\t\t\ta.style.removeProperty(\"--adjust-height\");\n\t\t\t\t\tlet style = getComputedStyle(a);\n\t\t\t\t\tlet line_height = parseFloat(style.lineHeight);\n\t\t\t\t\tlet adjust = line_height - (parseFloat(style.height) % line_height);\n\t\t\t\t\tif (adjust !== line_height) {\n\t\t\t\t\t\ta.style.setProperty(\"--adjust-height\", adjust);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tdocument.querySelectorAll(\".n-adjust-height:not([data-ready])\").forEach((el) => {\n\t\t\t\tro.observe(el);\n\t\t\t\tel.dataset.ready = true;\n\t\t\t});\n\t\t}\n\t};\n\tnui.registerComponent(\"typography\", init);\n})();\n// Component Typography – end"]} \ No newline at end of file diff --git a/niui-wp.zip b/niui-wp.zip index 7472334b..302189d8 100644 Binary files a/niui-wp.zip and b/niui-wp.zip differ diff --git a/niui-wp/niui-wp.min.css b/niui-wp/niui-wp.min.css index 32a2bb2e..eaa5c928 100644 --- a/niui-wp/niui-wp.min.css +++ b/niui-wp/niui-wp.min.css @@ -1,2 +1,2 @@ -@charset "UTF-8";:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-btn,.n-form button[type=reset],.n-form button[type=submit],.n-form input[type=submit],.n-type a.n-btn[href],a.n-btn[href],button.n-btn{font-size:inherit;text-align:initial;line-height:var(--nui-line-height);min-height:var(--nui-line-height-em);text-decoration:none;display:inline-block;cursor:pointer;width:auto;word-break:break-word;padding:0 .6em;-webkit-appearance:none;background-color:#333;background-color:var(--nui-control-bg,#333);color:#eee;color:var(--nui-control-color,#eee);border:none;font-family:inherit;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-btn:not([disabled]):hover,.n-form button[type=reset]:not([disabled]):hover,.n-form button[type=submit]:not([disabled]):hover,.n-form input[type=submit]:not([disabled]):hover,.n-type a.n-btn[href]:not([disabled]):hover,a.n-btn[href]:not([disabled]):hover,button.n-btn:not([disabled]):hover{background-color:#eee;color:#333}button.n-btn[disabled]{cursor:default;opacity:.2;margin:0;font-size:inherit}.n-btn.n-btn--big,.n-form button,.n-form input[type=submit],a[href].n-btn.n-btn--big{margin:calc(var(--nui-line-height-em)/ 3) 0;font-size:1.2em;padding:.75em 1em;line-height:1.05em;min-height:0;font-weight:500}.n-btn__group{margin:0 -.25em}.n-btn__group .n-btn.n-btn--big,.n-btn__group>*,.n-btn__group>a[href].n-btn.n-btn--big{margin-inline-end:.25em;margin-inline-start:.25em}@media not screen and (min-width:600px){.n-btn.n-btn--big{display:block;text-align:center}}.n-btn--ripple{background:radial-gradient(circle,rgba(0,0,0,.05) 70%,rgba(0,0,0,0) 0) no-repeat var(--ripple-x) var(--ripple-y)/0 0;transition:.15s ease-out;transition-property:background-size,background-position}.n-btn--ripple:active{background-position:calc(var(--ripple-x) - var(--ripple-radius)) calc(var(--ripple-y) - var(--ripple-radius));background-size:calc(2 * var(--ripple-radius)) calc(2 * var(--ripple-radius))}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-card{margin:1em 0;--nui-card-bg:rgba(0, 0, 0, 0.1);background:var(--nui-card-bg,rgba(0,0,0,.1));border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color);overflow:hidden}.n-card>*{padding:1em}.n-card__content{background:var(--nui-card-bg)}.n-card__content p{margin:.75em 0}.n-card__content p:first-child{margin-top:0}.n-card>img{display:block;margin:0 auto;max-width:100%;padding:0}.n-card__head>*{margin:0}.n-card__head.n-card__head--image{background-position:center center;background-size:cover;background-repeat:no-repeat;color:#fff}.n-card__head.n-card__head--image:after{content:"";padding-bottom:56.25%;width:0;display:inline-block;vertical-align:bottom}.n-card__head.n-card__head--image>*{display:inline-block;margin:0}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-form{padding:var(--nui-line-height-em) 0;--nui-placeholder-color:#aaa}.n-form *{box-sizing:border-box}.n-form input,.n-form label,.n-form textarea{display:inline-block;vertical-align:middle}.n-form ::-webkit-input-placeholder{color:var(--nui-placeholder-color);-webkit-text-fill-color:var(--nui-placeholder-color)}.n-form button[type=submit],.n-form input[type=submit],.n-form label,.n-form label>span,.n-form__check span{line-height:var(--nui-line-height);min-height:var(--nui-line-height-em)}.n-form label{font-weight:700;max-width:100%;position:relative;padding:0;margin:0 0 var(--nui-line-height-em) 0;min-height:calc(var(--nui-line-height-em) * 2)}.n-form button,.n-form button[type=submit],.n-form input[type=submit]{height:auto;line-height:var(--nui-line-height);white-space:normal;word-break:break-all;margin:0;max-width:100%;padding:0 1em;font-weight:500}.n-form .n-form__file span,.n-form button,.n-form input,.n-form input[type=search],.n-form select,.n-form textarea{font-family:inherit;display:inline-block;overflow:hidden;resize:none;vertical-align:top;border-radius:0;padding:0 calc(var(--nui-line-height-em)/ 2);min-height:calc(var(--nui-line-height-em) * 2);border:0;font-size:1em;border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-form input[type=checkbox]{border-radius:0}.n-form .n-form__file span span{display:flex;align-items:center}.n-form textarea{border-bottom:1px dotted transparent;height:0;min-height:calc(var(--nui-line-height-em) * 3);padding-top:calc(var(--nui-line-height-em)/ 2);margin:var(--nui-line-height-em) 0}.n-form textarea:not([data-auto]){overflow:auto}.n-form textarea[data-auto]{transform:translate3d(0,0,0)}.n-form input,.n-form textarea{background-color:var(--nui-input-bg,#eee);color:var(--nui-input-color,#333)}.n-form select{-moz-appearance:none;-webkit-appearance:none;appearance:none;text-indent:.01px;min-height:0;text-indent:0;padding:0 1.6em 0 .8em;height:calc(var(--nui-line-height-em) * 2);white-space:nowrap;text-indent:-1px;margin:0;text-indent:1px;cursor:pointer;background:linear-gradient(to bottom left,transparent 30%,var(--nui-control-color,#333) 10%,var(--nui-control-color,#333) 50%,transparent 30%),linear-gradient(to bottom right,transparent 30%,var(--nui-control-color,#333) 10%,var(--nui-control-color,#333) 50%,transparent 30%);background-size:.4em .4em;background-repeat:no-repeat;background-position:calc(100% - .85em),calc(100% - .5em);color:var(--nui-control-color,#333);background-color:var(--nui-control-bg,#eee)}.n-form select option{padding:0;padding-inline-end:1.5em}.n-form select,.n-form__file{vertical-align:top;border:none;margin-inline-start:0}.n-form input[type=search]{-webkit-appearance:none;border-radius:0}.n-form input[type=search]::-webkit-search-cancel-button,.n-form input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.n-form label,.n-form label span,.n-form__check span{margin:0;text-align:start}.n-form input,.n-form select{display:inline-block;width:auto;padding-top:0;margin:var(--nui-line-height-em) 0;vertical-align:middle}.n-form.sticky-submit{position:relative}.n-form.sticky-submit button[type=submit],.n-form.sticky-submit input[type=submit]{position:absolute;top:0;bottom:0;inset-inline-end:0}.n-form fieldset,.n-form__check{display:block;min-height:var(--nui-line-height-em);margin-bottom:var(--nui-line-height-em);border-radius:var(--nui-border-radius)}.n-form fieldset span,.n-form__check span{display:inline-block;font-weight:700;margin-top:0;cursor:default}.n-form fieldset label,.n-form__check label{text-align:start;font-weight:400;clear:right;margin:0;cursor:pointer;min-height:0;user-select:none;padding-inline-start:0;padding-inline-end:.75em;padding-bottom:0;display:inline}.n-form fieldset label span,.n-form__check label span{width:auto}.n-form fieldset label:last-child,.n-form__check label:last-child{margin-bottom:0}.n-form fieldset label input[type=checkbox],.n-form fieldset label input[type=radio],.n-form__check label input[type=checkbox],.n-form__check label input[type=radio]{margin:-.25em .2em 0 0}.n-form__check-icon{width:1em;height:1em;display:inline-block;background-color:var(--nui-control-bg,#eee);color:var(--nui-control-color,#333);line-height:calc((var(--nui-line-height) + 1) * .6666666667);text-align:center;border:none;margin:0;position:absolute;inset-inline-start:0;z-index:1;top:.05em;vertical-align:middle}.n-form--mast .n-form__check-icon,.n-form--wide .n-form__check-icon{top:.25em}.n-form input[type=checkbox]+.n-form__check-icon:before{content:"✓";display:block;height:1em;line-height:1}.n-form input[type=checkbox]:not(:checked)+.n-form__check-icon:before{opacity:0}.n-form input[type=checkbox],.n-form input[type=radio]{-webkit-appearance:none;-moz-appearance:window;-ms-appearance:none;background:0 0;cursor:pointer;padding:0;min-height:0;height:1em;width:1em;display:inline-block;margin:0;border:none}.n-form input[type=radio]+.n-form__check-icon{border-radius:50%}.n-form input[type=radio]:checked+.n-form__check-icon:before{content:"";position:absolute;background-color:var(--nui-control-color,#333);top:25%;right:25%;bottom:25%;left:25%;border-radius:50%}.n-form--mandatory{position:relative}.n-form--mandatory fieldset:before,.n-form--mandatory span.n-form__check:before,.n-form--mandatory span.tip:after{display:none}.n-form--mandatory:before{content:"*";color:#a00;position:absolute;top:0;font-weight:700;inset-inline-start:auto;inset-inline-end:0}.n-form--mandatory:has(fieldset):before{top:-.25rem}.n-form--alert p,.n-form--alert span{background:#666;color:#eee;padding:0 .25em}.n-form--alert fieldset,.n-form--alert span.n-form__check{background:0 0;color:#555}.n-form--alert span.tip{background:#222}.n-form__file{font-weight:400;margin:0 0 var(--nui-line-height) 0;cursor:pointer;font-style:italic;padding:0;position:relative;z-index:0}.n-form__file span{text-align:start;border:none;white-space:nowrap;background-color:var(--nui-control-bg,#ddd);color:var(--nui-control-color,inherit);padding:0 calc(var(--nui-line-height-em)/ 2) 0 .75em;display:block;line-height:var(--nui-line-height-em);padding-top:calc(var(--nui-line-height-em)/ 2);letter-spacing:0;position:absolute;inset:0;z-index:-1}.n-form__file span .n-form__file-name:empty,.n-form__file span .n-form__file-name:not(:empty)~.n-form__file-tag{display:none}.n-form__file input[type=file]{width:100%;cursor:pointer;border:none;margin:0;background:0 0;color:transparent;text-indent:-100%;padding:0;opacity:0}.n-form__file input[type=file]:focus+span{outline:auto}.n-form input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:0 0;margin:0;padding:0;box-shadow:none}.n-form input[type=range]::-webkit-slider-runnable-track{width:100%;height:.7125em;cursor:pointer;background:var(--nui-control-bg,rgba(0,0,0,.1))}.n-form input[type=range]::-webkit-slider-thumb{height:1.625em;width:1.625em;border-radius:50%;background:var(--nui-control-highlight,#000);cursor:pointer;-webkit-appearance:none;margin-top:-.45625em}.n-form input[type=range]:focus::-webkit-slider-runnable-track{background:var(--nui-control-bg,rgba(0,0,0,.1))}.n-form input[type=range]::-moz-range-track{width:100%;height:.7125em;cursor:pointer;background:var(--nui-control-bg,rgba(0,0,0,.1))}.n-form input[type=range]::-moz-range-thumb{border:0 solid transparent;height:1.625em;width:1.625em;border-radius:50%;background:var(--nui-control-bg,rgba(0,0,0,.1));cursor:pointer}.n-form legend{font-weight:700}.n-form fieldset{border:1px solid;display:block;margin:var(--nui-line-height-em) 0;padding:calc(var(--nui-line-height-em)/ 2 - .5px)}.n-form fieldset[disabled]{display:none}.n-form button,.n-form input[type=submit]{width:auto;min-width:0;padding:0 1em;min-height:calc(var(--nui-line-height-em) * 1.6667);text-align:start;font-size:1.2em;border-radius:var(--nui-border-radius)}.n-form--mast textarea,.n-form--wide textarea{margin:calc(var(--nui-line-height-em)/ -2) 0 calc(var(--nui-line-height-em)/ 2) 0}.n-form--wide button,.n-form--wide button[type=submit],.n-form--wide input[type=submit]{margin-bottom:calc(var(--nui-line-height-em) - 5px);line-height:calc(var(--nui-line-height-em)/ 3 * 2);font-size:1.2em;min-height:2.50005em;width:100%}.n-form--wide select{width:100%;height:calc(var(--nui-line-height-em) * 2);margin:calc(var(--nui-line-height-em)/ -2) 0 calc(var(--nui-line-height-em)/ 2) 0}.n-form--wide .n-form__check span,.n-form--wide .n-form__file,.n-form--wide fieldset label,.n-form--wide label,.n-form--wide label span{display:block;width:100%;clear:both}.n-form--wide select,.n-form--wide textarea,.n-form--wide:not(.sticky-submit) input:not([type=checkbox]):not([type=radio]){display:block;width:100%;border:none;margin:0 0 var(--nui-line-height-em) 0}.n-form--wide:not(.sticky-submit) fieldset>input:not([type=checkbox]):not([type=radio]):last-of-type,.n-form--wide:not(.sticky-submit) fieldset>select:last-of-type,.n-form--wide:not(.sticky-submit) fieldset>textarea:last-of-type{margin:0}.n-form--wide .n-form__check label input[type=checkbox],.n-form--wide .n-form__check label input[type=radio],.n-form--wide fieldset label input[type=checkbox],.n-form--wide fieldset label input[type=radio]{margin-top:-.2em}.n-form.n-form--mast button,.n-form.n-form--mast button[type=submit],.n-form.n-form--mast input[type=submit]{margin-inline-start:calc(50% + .5em);margin-bottom:calc(var(--nui-line-height-em) * 1.5)}.n-form.n-form--mast fieldset,.n-form.n-form--mast label{width:100%;display:grid;grid-template:auto/1fr 1fr;column-gap:1em;margin-bottom:1.5em}.n-form.n-form--mast fieldset{border-color:transparent;border:none;padding:calc(var(--nui-line-height-em)/ 2);padding-top:0;padding-bottom:var(--nui-line-height-em)}.n-form.n-form--mast fieldset legend{margin-bottom:calc(-1 * var(--nui-line-height-em));text-align:end;grid-column:1/2;grid-row:1/2;width:50%}.n-form.n-form--mast fieldset label{margin:0;display:block}.n-form.n-form--mast fieldset>*,.n-form.n-form--mast>.n-form__check fieldset>*,.n-form.n-form--mast>.n-form__check>*,.n-form.n-form--mast>label>*{width:100%;margin:calc(var(--nui-line-height-em)/ -2) 0 calc(var(--nui-line-height-em) * 1.5) 0;grid-column:-2/-1}.n-form.n-form--mast>.n-form__check fieldset>span,.n-form.n-form--mast>.n-form__check>span,.n-form.n-form--mast>label>span{text-align:end;grid-column:1;margin:0}.n-form.n-form--mast>.n-form__check{display:grid;grid-template:auto/1fr 1fr;column-gap:1em}.n-form.n-form--mast>.n-form__check>*{margin:0}.n-form.n-form--mast>.n-form__check label{display:block}.n-form.n-form--mast>.n-form__check fieldset{display:contents}.n-form.n-form--mast>.n-form__check fieldset label,.n-form.n-form--mast>.n-form__check fieldset legend{margin:0}.n-form.n-form--mast>.n-form__check fieldset legend{grid-column:1}.n-form.n-form--mast .n-form--mandatory:before{inset-inline-start:calc(50% - .5em);z-index:-1}_::-webkit-full-page-media,_:future,:root .n-form.n-form--mast fieldset{display:block}_::-webkit-full-page-media,_:future,:root .n-form.n-form--mast fieldset legend{width:calc(50% - .5em)}_::-webkit-full-page-media,_:future,:root .n-form.n-form--mast fieldset label{width:calc(50% - .5em);float:inline-end}.n-aspect{display:block;aspect-ratio:var(--ratio,calc(var(--width)/ var(--height)))}.n-aspect>img{max-width:100%;height:auto;margin:0 auto;display:block}.n-aspect.n-bottom>*{align-self:flex-end;vertical-align:bottom}.n-aspect.n-middle>*{align-self:center;vertical-align:middle}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-row{width:100%;display:flex;flex-wrap:wrap;text-align:center}.n-row img,.n-row picture{max-width:100%;height:auto;border:none;text-align:center}.n-row video{height:auto;background:#000;margin:0 auto;display:block;max-width:100%}.n-row video a[href]{color:#fff}.n-row table:not(.n-table) td{word-break:break-word}.n-row>*{position:relative;word-wrap:break-word;width:calc(20% - var(--nui-line-height-em));--col-width:1/5;padding:calc(var(--nui-line-height-em)/ 4);margin:calc(var(--nui-line-height-em)/ 4);flex-grow:1;text-align:start;min-width:0}.n-row>[class*=" _"],.n-row>[class^=_]{flex-grow:0}.n-row>*,.n-row>*>*{max-width:100%}.n-row>*>img{display:block;margin:0 auto}.n-row>._2\/3{--col-width:2/3}.n-row>._3\/4{--col-width:3/4}.n-row>._1\/4{--col-width:1/4}.n-row>._1\/5{--col-width:1/5}.n-row>._1\/6{--col-width:1/6}.n-row>._2\/5{--col-width:2/5}.n-row>._3\/5{--col-width:3/5}.n-row>._4\/5{--col-width:4/5}.n-row>._1\/3{--col-width:1/3}.n-row>._1\/2{--col-width:1/2}.n-row>._1\/1,.n-row>:only-child:not([class^=_]){--col-width:1}@-moz-document url-prefix(){.n-row>*{margin:calc(var(--nui-line-height-em)/ 4 - .0009em)}}@supports (--a:1){.n-row>*,.n-row>[class^=_]{--spacing:var(--nui-line-height-em);flex-basis:calc(var(--col-width) * 100% - var(--spacing))}@media screen and (max-width:1024px){.n-row>*{--col-width:1/5}}@media not screen and (min-width:900px){.n-row>*{--col-width:1/3}}.n-row.n-row--no-padding,.n-row.n-row--no-padding>*{--spacing:calc(var(--nui-line-height-em) / 2);padding:0}.n-row.n-row--no-margin,.n-row.n-row--no-margin>*,.n-row.n-row--vertical>*{--spacing:calc(var(--nui-line-height-em) / 2);margin:0}.n-row.n-row--no-spacing>*{--spacing:0em;padding:0;margin:0}.n-row.n-row--spacing-horizontal>*{margin:0 calc(var(--nui-line-height-em)/ 2)}.n-row.n-row--spacing-vertical>*{margin:calc(var(--nui-line-height-em)/ 2) 0}}.n-left,.n-left>*,.n-row>.n-left{text-align:start}.n-right,.n-right>*,.n-row>.n-right{text-align:end}.n-center,.n-center>*,.n-row>.n-center{text-align:center}.n-row>.n-bottom,.n-row>.n-middle,.n-row>.n-top{display:flex}.n-row>.n-top,.n-top.n-row>*{vertical-align:top;justify-content:flex-start;flex-direction:column;display:flex}.n-middle.n-row>*,.n-row>.n-middle{vertical-align:middle;justify-content:center;flex-direction:column;display:flex}.n-bottom.n-row>*,.n-row>.n-bottom{vertical-align:bottom;justify-content:flex-end;flex-direction:column;display:flex}.n-align-children *,.n-row.n-align-children>*{text-align:inherit}.n-row.n-row--vertical{flex-direction:column;min-height:100%}.n-row.n-row--vertical>*,.n-row.n-row--vertical>[class*=" _"],.n-row.n-row--vertical>[class^=_]{width:100%;box-sizing:border-box}.n-section{position:relative}.n-section:after,.n-section:before{content:"";display:table;width:100%}.n-masonry{column-count:3;column-gap:0;margin:var(--nui-line-height-em) 0;margin-inline-end:calc(var(--nui-line-height-em)/ -2);max-width:none}.n-masonry>*{display:table;width:100%;-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid-column;margin:0;padding:calc(var(--nui-line-height-em)/ 2) 0;padding-inline-end:calc(var(--nui-line-height-em)/ 2);box-sizing:border-box;word-break:break-word;word-wrap:break-word}.n-masonry._1\/2{column-count:2}.n-masonry._1\/4{column-count:4}.n-masonry._1\/4{column-count:5}ul.n-masonry{min-height:0;padding:0}ol.n-masonry>*{padding-inline-start:2.5em}.n-pad{padding:calc(var(--nui-line-height-em)/ 2);box-sizing:border-box}.n-pad-half{padding:calc(var(--nui-line-height-em)/ 4);box-sizing:border-box}.n-row>*>.n-unpad,.n-unpad{margin:calc(var(--nui-line-height-em)/ -2);width:calc(var(--nui-line-height-em) + 100%);max-width:100%;overflow-x:hidden}.n-row>*>.n-unpad{max-width:none}.n-unpad-vertical{margin:calc(-1 * var(--nui-line-height-em)) 0}.n-row.n-row--border-all{box-shadow:inset 0 0 0 1px var(--nui-color,#000)}.n-row.n-row--border-all>*{box-shadow:inset 1px 1px 0 0 var(--nui-color,#000);margin:0;flex-basis:calc(var(--col-width) * 100% - var(--spacing)/ 2)}.n-row.n-row--border{box-shadow:inset 0 0 0 1px var(--nui-color,#000)}.n-row * .n-box{background:#fff;box-shadow:inset 0 0 0 1px #e6e6e6}.n-row.n-row--border-off,.n-row.n-row--border-off *{box-shadow:none}@media not screen and (min-width:600px){.n-row{box-sizing:border-box}.n-row:not(.n-row--half){display:block;max-width:100%}.n-row:not(.n-row--half)>*>.n-unpad{margin:-.6em 0 -.6em -.3em;width:calc(100% + .6em);max-width:none}.n-row>*,.n-row>[class^=_]{padding:0;width:100%;border:none;box-sizing:border-box}.n-row:not(.n-row--no-margin):not(.n-row--border-all):not(.n-tabs)>*,.n-row:not(.n-row--no-margin):not(.n-row--border-all)>[class^=_]{margin:calc(var(--nui-line-height-em)/ 6) 0}@supports (--a:1){.n-row>*,.n-row>[class^=_]{padding:.3em;flex:0 0 100%}}.n-row>:empty{display:none}.n-row>.n-full-mobile-width,.n-row>[class^=_].n-full-mobile-width{box-sizing:content-box;padding:0}.n-row.n-row--no-spacing>*,.n-row.n-row--no-spacing>[class^=_]{margin:0;padding:0}.n-row--no-mobile-gutter.n-row>*{padding:0}.n-row.n-row--border,.n-row.n-row--border>*,.n-row>*{border:none}.n-row.n-row--half>*{width:50%;flex:0 0 50%}.n-row.n-row--border-all .n-row{width:calc(100% + var(--nui-line-height-em))}.n-masonry,.n-masonry[class^=_]{-moz-column-count:2;-webkit-column-count:2;column-count:2}}.n-accordion{display:grid}.n-accordion--inline{display:inline-grid}.n-accordion>input[type=checkbox],.n-accordion__label{grid-column-start:1;grid-row-start:1;width:auto;height:auto;cursor:zoom-in;border:none;font:inherit;text-align:initial;margin:var(--accordion-margin,.25em) 0}.n-accordion>input[type=checkbox]{z-index:1;-webkit-appearance:none;appearance:none;margin:0}.n-accordion>input[type=checkbox]:checked{cursor:zoom-out}.n-accordion>input:not(:checked)~.n-accordion__content,.n-accordion[data-ready]>.n-accordion__label:not([aria-expanded=true])~.n-accordion__content{display:none}input:checked~.n-accordion__label button{background:var(--nui-control-active-bg,#fff);color:var(--nui-control-active-color,#222);cursor:zoom-out}input:checked~.n-accordion__label button:after{transform:rotate(180deg)}.n-accordion .n-accordion{margin:0 .5em}.n-accordion__label{user-select:none;cursor:zoom-in;letter-spacing:initial;position:relative}.n-accordion__label button{cursor:pointer;word-wrap:break-word;word-break:break-all;background-color:var(--nui-control-bg,inherit);color:var(--nui-control-color,inherit);border:none;width:100%;padding:calc(var(--line-height-em,1.5rem)/ 2);padding-inline-end:1.5em;text-align:start;font:inherit;border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-accordion__label button:after{transition:transform .2s ease-in-out;content:"";position:absolute;display:block;inset-inline-end:.5em;top:calc(50% - .5em);width:1em;height:1em;--icon:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(180) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A");-webkit-mask:var(--icon) center center no-repeat;-webkit-mask-size:.5em;mask:var(--icon) center center no-repeat;mask-size:.5em;background-color:var(--nui-control-color,#000)}.n-accordion__popin{display:grid;--n-popin-columns:1;grid-template:auto/repeat(var(--n-popin-columns),auto);column-gap:.5rem}.n-accordion__popin>*{display:contents}.n-accordion__popin .n-accordion__content{grid-row:var(--n-popin-open-row,0);grid-column:1/-1}.n-accordion__popin .n-accordion__label{grid-column:initial;grid-row:initial}.n-accordion__popin>:not([data-ready]) .n-accordion__content{display:none}@media (min-width:600px){.n-accordion__popin{--n-popin-columns:3}.n-accordion--mobile>.n-accordion__label,.n-accordion--mobile>input[type=checkbox]{display:none}.n-accordion--mobile>input:not(:checked)~.n-accordion__content,.n-accordion--mobile[data-ready]>.n-accordion__label:not([aria-expanded=true])~.n-accordion__content{display:initial}}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}ul.n-list{padding:0;line-height:var(--nui-line-height);min-height:var(--nui-line-height);margin:calc(var(--nui-line-height)/ 2) 0}ul.n-list.n-list--indent{margin-inline-start:1.5em}ul.n-list li{display:block;position:relative;width:100%;list-style:none;word-break:break-word;word-wrap:break-word}ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li{margin-inline-start:1em;max-width:calc(100% - 1em)}ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li:before{content:"•";position:absolute;margin-inline-start:-.67em;color:var(--nui-list-bg);font-size:1.5em;line-height:.9}ul.n-list.n-list--inline>li:first-child{margin-inline-start:0}ol.n-list{list-style-type:none;counter-reset:level1;padding:0;margin:0 0 var(--nui-line-height-em) 0}ol.n-list>li{text-indent:-2.3em;margin:var(--nui-line-height-em) 0 calc(var(--nui-line-height-em)/ 2) 2.3em}ol.n-list>li:before{width:auto;content:counter(level1);counter-increment:level1;font-weight:700;background:var(--nui-list-bg,#999);color:var(--nui-list-color,#fff);padding:0 .5em;border-radius:50%;margin-inline-end:.333em;min-height:1em;display:inline-block;text-indent:0;text-align:center}ol.n-list li>*{text-indent:0;display:inline-block;vertical-align:top;padding-top:0;margin-top:0}ol.n-list li>ul{display:block}ol.n-list>li ol{list-style-type:none;counter-reset:level2;display:block}ol.n-list>li ol>li:before{content:counter(level1) "." counter(level2) " ";counter-increment:level2;border-radius:1em}ol.n-list ol>li ol{list-style-type:none;counter-reset:level3;margin-inline-start:1em}ol.n-list ol>li ol li:before{content:counter(level1) "." counter(level2) "." counter(level3) " ";counter-increment:level3}ol.n-list ol>li{text-indent:-3.3em}ol.n-list ol ol>li{text-indent:-3.95em}ol.n-list ul{text-indent:.1em}ol.n-list p{text-indent:0}.n-nav.n-nav--scroll ul li,ul.n-list.n-list--inline,ul.n-list.n-list--inline li{vertical-align:top;display:inline-flex;width:auto}.n-nav ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li{margin-inline-start:0;max-width:100%}.n-nav ul.n-list li:before{display:none}[dir=rtl] ol.n-list>li{margin:var(--nui-line-height-em) 2.3em calc(var(--nui-line-height-em)/ 2) 0}[dir=rtl] ol.n-list>li:before{margin:0 0 0 .5em}body[data-frozen]{overflow:hidden}.n-carousel__content{display:flex;will-change:scroll;outline:0;box-sizing:border-box;overflow-anchor:none;list-style:none;scrollbar-width:none}@media (prefers-reduced-motion:reduce){.n-carousel__content{transition:none}}.n-carousel__content::-webkit-scrollbar{display:none}.n-carousel__content>*{flex:1 0 auto;box-sizing:content-box;overflow:auto;width:100%;padding-inline-end:calc(1px * var(--subpixel-compensation,0))}.n-carousel__content>*>*{overflow:auto}.n-carousel__content img{height:auto}.n-carousel__content>:not([aria-current]):not(:last-child){overflow:auto}.n-carousel:not(.n-carousel--vertical)>.n-carousel__content{overflow-x:auto;width:calc(100% - 0px);padding:0 var(--peek,0)}.n-carousel:not(.n-carousel--vertical):not(.n-carousel--auto-height)>.n-carousel__content>*{overflow:auto}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height:not(.n-carousel--controls-outside){grid-template:auto/auto;grid-template-areas:"f f f" "a1 a1 a1" "prev a2 next" "a3 a3 a3" "i i i"}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height:not([data-ready])>.n-carousel__content>:not(:first-child){height:0;overflow:visible}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height>.n-carousel__content{overflow-y:hidden;height:var(--height,auto)}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height>.n-carousel__content,.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height>.n-carousel__content>*{min-height:9em}.n-carousel--vertical:not(.n-carousel--auto-height)>.n-carousel__content,.n-carousel--vertical[data-ready]>.n-carousel__content{flex-direction:column}.n-carousel--vertical>.n-carousel__next button{transform:none}.n-carousel--vertical>.n-carousel__previous button{transform:rotate(180deg)}.n-carousel--vertical[data-ready].n-carousel--auto-height>.n-carousel__content{overflow:hidden;overflow-y:auto}@keyframes carousel-css-only{100%{height:100%}}.n-carousel{--max-height:100vh;--peek:0px;display:grid;grid-template:auto 1fr auto 1fr auto/auto 1fr auto;position:relative;grid-template-areas:"f f f" "a1 a1 a1" "prev a2 next" "a3 a3 a3" "i i i"}.n-carousel.n-carousel--overlay,.n-carousel:fullscreen{max-height:100%!important}.n-carousel.n-carousel--overlay>.n-carousel__content,.n-carousel:fullscreen>.n-carousel__content{height:100%!important;height:100dvh!important}.n-carousel.n-carousel--overlay>.n-carousel__content figure,.n-carousel.n-carousel--overlay>.n-carousel__content iframe,.n-carousel.n-carousel--overlay>.n-carousel__content img,.n-carousel.n-carousel--overlay>.n-carousel__content video,.n-carousel:fullscreen>.n-carousel__content figure,.n-carousel:fullscreen>.n-carousel__content iframe,.n-carousel:fullscreen>.n-carousel__content img,.n-carousel:fullscreen>.n-carousel__content video{max-height:100%}.n-carousel:fullscreen .n-carousel__close{display:none}.n-carousel.n-carousel--overlay,.n-carousel:-webkit-full-screen{max-height:100%!important}.n-carousel.n-carousel--overlay>.n-carousel__content,.n-carousel:-webkit-full-screen>.n-carousel__content{height:100%!important;height:100dvh!important}.n-carousel.n-carousel--overlay>.n-carousel__content figure,.n-carousel.n-carousel--overlay>.n-carousel__content iframe,.n-carousel.n-carousel--overlay>.n-carousel__content img,.n-carousel.n-carousel--overlay>.n-carousel__content video,.n-carousel:-webkit-full-screen>.n-carousel__content figure,.n-carousel:-webkit-full-screen>.n-carousel__content iframe,.n-carousel:-webkit-full-screen>.n-carousel__content img,.n-carousel:-webkit-full-screen>.n-carousel__content video{max-height:100%}.n-carousel:-webkit-full-screen .n-carousel__close{display:none}.n-carousel.n-carousel--vertical{--max-height:75vh;height:var(--max-height,100%);max-height:100%}.n-carousel.n-carousel--vertical.n-carousel--auto-height:not([data-ready])>.n-carousel__content>:not(:first-child){display:none}.n-carousel.n-carousel--vertical>.n-carousel__content{max-height:100%}.n-carousel.n-carousel--vertical:not(.n-carousel--auto-height):-webkit-full-screen>.n-carousel__content{height:100%!important}.n-carousel.n-carousel--vertical:not(.n-carousel--auto-height):fullscreen>.n-carousel__content{height:100%!important}.n-carousel.n-carousel--vertical>.n-carousel__content{overflow-y:auto;box-sizing:content-box;padding:var(--peek,0) 0}.n-carousel.n-carousel--vertical>.n-carousel__content>*{width:100%;padding-inline-end:0;height:100%;padding-block-end:calc(1px * var(--subpixel-compensation,0))}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside)>.n-carousel__index{position:absolute;max-height:100%;overflow:auto;justify-content:initial;grid-area:auto}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--inline:not(.n-carousel--overlay){height:auto}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--inline:not(.n-carousel--overlay)>.n-carousel__index{position:static}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--inline:not(.n-carousel--overlay)>.n-carousel__index>*{display:initial;margin:0}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--index-end>.n-carousel__index{inset-inline-end:0;inset-inline-start:auto;grid-area:auto}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--index-end.n-carousel--index-align-end>.n-carousel__index{position:absolute}.n-carousel.n-carousel--vertical.n-carousel--auto-height:not(.n-carousel--overlay){height:auto}.n-carousel.n-carousel--vertical.n-carousel--auto-height.n-carousel--peek>.n-carousel__content>*{height:calc(100% + 1px * var(--subpixel-compensation,0))}.n-carousel.n-carousel--vertical.n-carousel--auto-height.n-carousel--peek>.n-carousel__content:after,.n-carousel.n-carousel--vertical.n-carousel--auto-height.n-carousel--peek>.n-carousel__content:before{display:none}.n-carousel:not([data-ready])>*>button{cursor:not-allowed}.n-carousel:not([data-ready])>.n-carousel--auto-height>:not(:first-child){height:0;animation:carousel-css-only 2 .1s linear 1s forwards}.n-carousel:not([data-ready])>.n-carousel--auto-height>:first-child{min-height:100%}.n-carousel[data-sliding]{pointer-events:none}.n-carousel.n-carousel--rtl{direction:rtl}.n-carousel.n-carousel--peek{--peek:15%}.n-carousel:not([data-sliding])>.n-carousel__content{scroll-snap-type:x mandatory}.n-carousel:not([data-sliding])>.n-carousel__content>*{scroll-snap-align:center;scroll-snap-stop:always}.n-carousel.n-carousel--vertical:not([data-sliding])>.n-carousel__content{scroll-snap-type:y mandatory}.n-carousel.n-carousel--index-align-start>.n-carousel__index{justify-self:start}.n-carousel.n-carousel--index-align-center:not(.n-carousel--vertical)>.n-carousel__index{justify-self:center}.n-carousel.n-carousel--index-align-end>.n-carousel__index{justify-self:end}.n-carousel>.n-carousel__content{padding:0;margin:0;grid-row:1/-1;grid-column:1/-1}@media (prefers-reduced-motion:no-preference){.n-carousel>.n-carousel__content{transition:opacity .2s ease-in-out}}.n-carousel>:not(.n-carousel__content){z-index:1}.n-carousel>.n-carousel__previous{grid-area:prev;align-self:center}.n-carousel>.n-carousel__next{grid-area:next;align-self:center;justify-self:end}.n-carousel>.n-carousel__index{grid-area:i;align-self:end;justify-self:center;justify-content:center;overflow:auto;white-space:nowrap;vertical-align:middle}.n-carousel>.n-carousel__index img{width:3em;height:3em;object-fit:cover;padding:0}.n-carousel.n-carousel--thumbnails>.n-carousel__index{padding:1px}.n-carousel.n-carousel--thumbnails>.n-carousel__index>*{padding:0;vertical-align:middle;margin:.125em;border-radius:var(--nui-border-radius);overflow:hidden}.n-carousel.n-carousel--thumbnails>.n-carousel__index>* span{padding:0 1ch}.n-carousel.n-carousel--thumbnails>.n-carousel__index [aria-current]{box-shadow:0 0 0 1px var(--nui-control-bg,grey)}.n-carousel[data-platform=iPhone] .n-carousel__full-screen,.n-carousel[data-platform=iPod] .n-carousel__full-screen{display:none}.n-carousel[data-platform=iPhone] .n-carousel__close,.n-carousel[data-platform=iPod] .n-carousel__close{grid-area:f}.n-carousel.n-carousel--index-start{grid-template-areas:"i i i" "a1 a1 a1" "prev a2 next" "a3 a3 a3" "f f f"}.n-carousel.n-carousel--index-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--index-start .n-carousel__index{justify-content:flex-start}.n-carousel.n-carousel--index-start .n-carousel__close,.n-carousel.n-carousel--index-start .n-carousel__full-screen{align-self:end}.n-carousel.n-carousel--index-end>.n-carousel__index{justify-content:flex-end}.n-carousel.n-carousel--controls-outside{grid-template-areas:"f f f" "a1 content a2" "prev content next" "b1 content b2" "i i i"}.n-carousel.n-carousel--controls-outside>.n-carousel__content{grid-area:content}.n-carousel.n-carousel--controls-outside.n-carousel--index-start{grid-template-areas:"i i i" "a1 content a2" "prev content next" "b1 content b2" "f f f"}.n-carousel.n-carousel--controls-outside.n-carousel--index-align-start>.n-carousel__index{text-align:start}.n-carousel.n-carousel--controls-outside.n-carousel--index-align-end>.n-carousel__index{text-align:end}.n-carousel.n-carousel--vertical{grid-template:auto 1fr auto/auto 1fr auto 1fr auto;grid-template-areas:"i a1 prev a3 f" "i a1 a2 a3 f" "i a1 next a3 f"}.n-carousel.n-carousel--vertical:has(>.n-carousel__controls):before{content:"";grid-area:i;width:3em}.n-carousel.n-carousel--vertical>.n-carousel__index{align-self:center;justify-self:initial}.n-carousel.n-carousel--vertical>.n-carousel__index>*{display:block;white-space:normal;max-width:25vw}.n-carousel.n-carousel--vertical.n-carousel--index-align-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--index-align-end>.n-carousel__index{align-self:end;inset-inline-start:0}.n-carousel.n-carousel--vertical.n-carousel--index-end{grid-template-areas:"f a1 prev a3 i" "f a1 a2 a3 i" "f a1 next a3 i"}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start:not(.n-carousel--index-end){grid-template:1fr auto auto/auto auto auto 1fr auto auto;grid-template-areas:"f c a1 prev a2 i" "a3 a3 a3 a3 a3 i" "a4 a4 a4 next a5 b2";grid-template-columns:repeat(5,1fr);grid-template-rows:auto}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start:not(.n-carousel--index-end)>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start{grid-template:1fr auto auto/auto auto 1fr auto auto;grid-template-areas:"f c prev a2 a2 i" "a3 a3 a3 a3 a3 i" "a4 a4 next a5 a5 a5"}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start>.n-carousel__previous{justify-self:center}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-end{grid-template:1fr auto auto/auto auto 1fr auto auto;grid-template-areas:"f c prev a2 a2 a2" "a3 a3 a3 a3 a3 i" "a4 a4 next a5 a5 i"}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-end>.n-carousel__index{align-self:end}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-end>.n-carousel__previous{justify-self:center}.n-carousel.n-carousel--vertical>.n-carousel__previous{align-self:start}.n-carousel.n-carousel--vertical>.n-carousel__next{align-self:end}.n-carousel.n-carousel--vertical.n-carousel--controls-outside{grid-template-areas:"i a1 prev a2 f" "i content content content f" "i b1 next b2 f"}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-align-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-end{grid-template-areas:"f a1 prev a2 i" "f content content content i" "f b1 next b2 i"}.n-carousel.n-carousel--vertical.n-carousel--controls-outside>.n-carousel__index{max-height:var(--max-height,100%)}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height:not([data-ready])>.n-carousel__index{max-height:0}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height[data-ready]{overflow:hidden}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height[data-ready][data-sliding]>.n-carousel__index{max-height:none}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height[data-ready].n-carousel--index-end>.n-carousel__index{margin-inline-start:calc(-1px * var(--index-width)/ 2)}.n-carousel:-webkit-full-screen{background:#000;--max-height:100vh}.n-carousel:fullscreen{background:#000;--max-height:100vh}.n-carousel.n-carousel--overlay{--max-height:100vh;position:fixed;top:0;left:0;right:0;z-index:2;max-height:none;height:100%;height:100dvh;background:rgba(255,255,255,.9)}@media (prefers-color-scheme:dark){.n-carousel.n-carousel--overlay{background:rgba(0,0,0,.9)}}.n-carousel.n-carousel--inline:not(.n-carousel--overlay){display:block}.n-carousel.n-carousel--inline:not(.n-carousel--overlay)>.n-carousel__index>[aria-current]{box-shadow:none}.n-carousel.n-carousel--inline:not(.n-carousel--overlay)>*{text-align:start}.n-carousel.n-carousel--inline:not(.n-carousel--overlay)>:not(.n-carousel__index){visibility:hidden;position:absolute;width:0;height:0;opacity:0;overflow:hidden}@supports not (aspect-ratio:1){_::-webkit-full-page-media,_:future,:root .n-carousel[data-sliding] > .n-carousel__content{scroll-snap-type:both mandatory}}_::-webkit-full-page-media,_:future,:root .n-carousel[data-sliding] > .n-carousel__content > *{scroll-snap-align:center}_::-webkit-full-page-media,_:future,:root .n-carousel.n-carousel--peek:not(.n-carousel--vertical) > .n-carousel__content:after{content:"";padding:var(--peek-int,0);flex-shrink:0}.n-carousel__close>*,.n-carousel__full-screen>*,.n-carousel__index>*,.n-carousel__next>*,.n-carousel__previous>*{box-sizing:border-box;text-decoration:none!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;all:revert;border:none;color:var(--nui-control-color,#333);background:var(--nui-control-bg,#eee);min-width:2.25em;min-height:2.25em;border-radius:var(--nui-border-radius,2.25em);margin:.25em;font:inherit;display:inline-flex;justify-content:center;align-items:center;padding:0 1ch;cursor:pointer}.n-carousel__close>* span,.n-carousel__full-screen>* span,.n-carousel__index>* span,.n-carousel__next>* span,.n-carousel__previous>* span{color:var(--nui-control-color,#333)}.n-carousel__close>[aria-current] span,.n-carousel__full-screen>[aria-current] span,.n-carousel__index>[aria-current] span,.n-carousel__next>[aria-current] span,.n-carousel__previous>[aria-current] span{color:var(--nui-control-active-color,#00f)}.n-carousel--tabs>.n-carousel__index,.n-carousel__close>*,.n-carousel__full-screen>*,.n-carousel__index>*,.n-carousel__next>*,.n-carousel__previous>*{box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-carousel--tabs>.n-carousel__index>*{box-shadow:none}.n-carousel[data-ready]{--height:0}.n-carousel[data-ready] .n-carousel__close>*,.n-carousel[data-ready] .n-carousel__full-screen>*,.n-carousel[data-ready]>.n-carousel__index>*,.n-carousel[data-ready]>.n-carousel__next>*,.n-carousel[data-ready]>.n-carousel__previous>*{cursor:pointer}.n-carousel[data-ready].n-carousel--auto-height:not(.n-carousel--vertical):not([data-sliding])>.n-carousel__content>:not([aria-current]){overflow:visible}.n-carousel[data-ready].n-carousel--auto-height>.n-carousel__content>*{overflow:hidden!important}.n-carousel__close,.n-carousel__full-screen,.n-carousel__next,.n-carousel__previous{height:2.85em;width:2.85em}.n-carousel__close button span,.n-carousel__full-screen button span,.n-carousel__next button span,.n-carousel__previous button span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.n-carousel__close button:before,.n-carousel__full-screen button:before,.n-carousel__next button:before,.n-carousel__previous button:before{content:"";background-color:var(--nui-control-color,#333);--chevron:url("data:image/svg+xml,%3Csvg height='18' viewBox='0 0 18 18' width='18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m9.003 7.626 7.081-7.081 1.916 1.915-8.997 8.998-9.003-9 1.917-1.916z' transform='translate(0 5)'/%3E%3C/svg%3E");-webkit-mask:var(--chevron) no-repeat 0 0/contain;-webkit-mask-size:100%;mask:var(--chevron) no-repeat 0 0;mask-size:100%;width:1em;height:1em;display:inline-block}.n-carousel__full-screen{grid-area:f;justify-self:baseline}.n-carousel__full-screen button:before{--chevron:url("data:image/svg+xml,%3Csvg viewBox='0 0 46 46' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000' fill-rule='nonzero'%3E%3Cpath d='M.778 17.444h5.555V6.334h11.111V.777H.778zM28.556.778v5.555h11.11v11.111h5.556V.778zM39.667 39.667H28.556v5.555h16.666V28.556h-5.555zM6.333 28.556H.778v16.666h16.666v-5.555H6.334z'/%3E%3C/g%3E%3C/svg%3E")}.n-carousel__full-screen~.n-carousel__close{grid-area:c}.n-carousel__controls{grid-area:f;display:flex;justify-self:start}.n-carousel--vertical>.n-carousel__controls{flex-direction:column;align-self:start}.n-carousel__close{grid-area:f;justify-self:baseline}.n-carousel__close button:before{--chevron:url("data:image/svg+xml,%3Csvg viewBox='0 0 480 480' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%2523000' fill-rule='evenodd'%3E%3Cpath d='M68.88 368.693l42.427 42.427L411.12 111.307 368.693 68.88 168.818 268.756z'/%3E%3Cpath d='M111.307 68.88L68.88 111.307 368.693 411.12l42.427-42.427-199.876-199.875z'/%3E%3C/g%3E%3C/svg%3E")}.n-carousel__close~.n-carousel__full-screen{grid-area:c}.n-carousel:not(.n-carousel--overlay)>.n-carousel__controls .n-carousel__close button:before{transform:rotate(45deg)}.n-carousel--rtl>.n-carousel__next button,.n-carousel__previous button,[dir=rtl] .n-carousel__next button{transform:rotate(90deg)}.n-carousel--rtl>.n-carousel__previous button,.n-carousel__next button,[dir=rtl] .n-carousel__previous button{transform:rotate(-90deg)}.n-carousel--tabs.n-carousel>.n-carousel__index{display:flex;justify-content:start;overflow:auto;max-width:100%;max-height:100%;color:var(--nui-control-color,#333);border-radius:var(--nui-border-radius)}.n-carousel--tabs.n-carousel>.n-carousel__index>*{box-sizing:border-box;border-radius:0;margin:0;display:flex;justify-content:flex-start;padding:.5ch 1ch;text-align:start;word-break:break-word;outline-offset:-3px;min-width:1.5em;min-inline-size:min-content}.n-carousel--tabs.n-carousel>.n-carousel__index>:focus{z-index:0}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index{display:block}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index>*{width:100%}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index>:first-child{border-radius:0;border-start-start-radius:var(--nui-border-radius);border-start-end-radius:var(--nui-border-radius)}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index>:last-child{border-radius:0;border-end-start-radius:var(--nui-border-radius);border-end-end-radius:var(--nui-border-radius)}.n-carousel--tabs.n-carousel.n-carousel--vertical.n-carousel--auto-height>.n-carousel__index>*{white-space:nowrap}.n-carousel--tabs.n-carousel.n-carousel--tabs-align-end>.n-carousel__index>*{text-align:end}.n-carousel--tabs.n-carousel>.n-carousel__next,.n-carousel--tabs.n-carousel>.n-carousel__previous{display:none}@-moz-document url-prefix(){.n-carousel--vertical>.n-carousel__content{display:block}.n-carousel--vertical>.n-carousel__content>:last-child{margin-block-end:var(--peek,0)}}.n-carousel--lightbox{flex:1;--nui-carousel-bg:transparent}.n-carousel--lightbox:not(.n-carousel--auto-height){max-height:var(--max-height,100vh)}.n-carousel--lightbox figure{height:100%;margin:0;display:grid;grid-template:auto 1fr/auto;box-sizing:border-box}.n-carousel--lightbox figure>*{grid-row:1/3;grid-column:1/1;display:flex;justify-content:center;align-items:center;justify-self:center}.n-carousel--lightbox figure>figcaption{grid-row:1/2;justify-self:center;padding:.5em .75em;background:rgba(0,0,0,.3);color:#ddd;z-index:0;border-radius:var(--nui-border-radius);margin:.25em}.n-carousel--lightbox.n-carousel--auto-height figure,.n-carousel--lightbox.n-carousel--auto-height iframe,.n-carousel--lightbox.n-carousel--auto-height video{height:auto;max-height:none}.n-carousel--lightbox.n-carousel--auto-height :not(:-webkit-full-screen):not(.n-carousel--overlay)>.n-carousel__content{max-height:var(--max-height)}.n-carousel--lightbox.n-carousel--auto-height :not(:fullscreen):not(.n-carousel--overlay)>.n-carousel__content{max-height:var(--max-height)}.n-carousel--lightbox.n-carousel--index-start figure{grid-template:1fr auto/auto}.n-carousel--lightbox.n-carousel--index-start figure>figcaption{grid-row:2/3}.n-carousel--lightbox.n-carousel--vertical:not(.n-carousel--controls-outside) figure>figcaption{margin-top:3em}.n-carousel--lightbox.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--index-start figure>figcaption{margin-top:none;margin-bottom:3em}.n-carousel--lightbox img{display:block;max-height:100%;max-width:100%;object-fit:contain;box-sizing:border-box;padding:0 .5px;z-index:0}.n-carousel--lightbox.n-carousel--auto-height img{max-height:none}.n-carousel--lightbox:-webkit-full-screen img{max-height:100%}.n-carousel--lightbox:-webkit-full-screen.n-carousel--auto-height figure{height:100%}.n-carousel--lightbox:fullscreen img{max-height:100%}.n-carousel--lightbox:fullscreen.n-carousel--auto-height figure{height:100%}.n-carousel--lightbox.n-carousel--overlay img{max-height:100%}.n-carousel--lightbox.n-carousel--overlay.n-carousel--auto-height figure{height:100%}.n-carousel--lightbox iframe,.n-carousel--lightbox video{border:none;margin:auto;max-width:100%;max-height:100%;height:auto;aspect-ratio:16/9}.n-carousel--lightbox>.n-carousel__content picture:not([data-loaded]){position:relative}.n-carousel--lightbox>.n-carousel__content picture:not([data-loaded]):before{content:"";position:absolute;inset:0;filter:blur(4px);background:var(--placeholder,none) center no-repeat;background-size:contain}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect{--max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect>.n-carousel__content>* figure{aspect-ratio:var(--ratio,16/9);position:relative;width:100%;height:auto}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect.n-carousel--auto-height img{max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect.n-carousel--vertical{height:var(--height)}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect.n-carousel--vertical>.n-carousel__content>*{height:auto;flex-grow:initial}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect{--max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect>.n-carousel__content>* figure{aspect-ratio:var(--ratio,16/9);position:relative;width:100%;height:auto}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect.n-carousel--auto-height img{max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect.n-carousel--vertical{height:var(--height)}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect.n-carousel--vertical>.n-carousel__content>*{height:auto;flex-grow:initial}@media only screen and (min-device-width:768px) and (max-device-width:1024px){.n-carousel:fullscreen .n-carousel__full-screen{display:none}}.transparent-scrollbar body>:not(dialog) ::-webkit-scrollbar{width:0;height:0}.transparent-scrollbar body>:not(dialog) ::-webkit-scrollbar-track{background:0 0}.n-modal{transition:opacity 67ms ease-in-out;overscroll-behavior:contain;background:var(--nui-bg,#fff);color:var(--nui-color,#000);border:0;text-align:right;overscroll-behavior:contain}.n-modal,.n-modal::backdrop{--duration:.2}.n-modal::backdrop{background:rgba(255,255,255,.9)}@media (prefers-reduced-motion:no-preference){.n-modal::backdrop{animation:backdrop_fade_in calc(var(--duration) * 1s) ease-in-out forwards}}@media (prefers-color-scheme:dark){.n-modal::backdrop{background:rgba(0,0,0,.9)}}.n-modal.n-modal--closing::backdrop{animation-name:backdrop_fade_out}.n-modal__content{display:none;overflow:auto;background:0 0;text-align:initial;max-height:calc(100vh - 2rem - 40px - 12px - 1em);padding:.25em}.n-modal>.n-modal__content{display:revert}.n-modal>.n-modal__close{min-width:40px;min-height:40px;margin:.25em;color:var(--nui-control-color,#fff);cursor:pointer;padding:.75em;font:inherit;background-color:var(--nui-control-bg,rgba(0,0,0,.7));z-index:1;top:0;position:sticky;border:0;padding:.5rem;font-weight:400}.n-modal>.n-modal__close:before{content:attr(data-close-symbol)}.n-modal.n-modal--full{margin:auto;width:100%;width:calc(100vw - 2 * env(safe-area-inset-left));height:100%;box-shadow:0 0 0 6px var(--nui-bg,#fff)}@media (prefers-color-scheme:dark){.n-modal.n-modal--full{box-shadow:0 0 0 6px var(--nui-bg,#000)}}.n-modal.n-modal--full::backdrop{opacity:0;animation:none}.n-modal[data-existing-attached-content]::backdrop{animation:none;background:#fff}@media (prefers-color-scheme:dark){.n-modal[data-existing-attached-content]::backdrop{background:#000}}.n-modal.n-modal--shadow{box-shadow:0 0 .25rem .125rem rgba(0,0,0,.5);max-height:calc(100% - 3.5rem);max-width:calc(100% - 3.5rem)}@media (prefers-color-scheme:dark){.n-modal.n-modal--shadow{box-shadow:0 0 .25rem .125rem rgba(255,255,255,.5)}}.n-modal.n-modal--shadow::backdrop{opacity:0;animation-name:none}.n-modal.n-modal--blur::backdrop{opacity:1;background:0 0;animation-name:backdrop_blur;animation-fill-mode:forwards}.n-modal.n-modal--blur.n-modal--closing::backdrop{animation-name:backdrop_blur_back}.n-modal.n-modal--rounded{border-radius:.5ch}.n-modal.n-modal--rounded .n-modal__close{border-radius:20px}.n-modal>*{background:var(--nui-bg,#fff);position:relative}@media (prefers-reduced-motion:no-preference){.n-modal.n-modal--transparent{opacity:0}.n-modal.n-modal--transparent::backdrop{opacity:.5;animation-name:none;transition:opacity 67ms ease-in-out}}_::-webkit-full-page-media,_:future,:root .n-modal{text-align:left}@keyframes backdrop_fade_in{from{opacity:0}to{opacity:1}}@keyframes backdrop_fade_out{from{opacity:1}to{opacity:0}}@keyframes backdrop_blur{from{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}}@keyframes backdrop_blur_back{from{-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}to{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}.n-modal,.n-modal__close{border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-tooltip{cursor:help}.n-tooltip__icon{display:inline-block;border-radius:.5em;min-width:1em;height:1em;text-align:center;line-height:1;background-color:var(--nui-control-bg,#444)}.n-tooltip__icon:empty:after{content:"?"}.n-tooltip__content,.n-tooltip__icon{color:var(--nui-control-color,#ddd)}.n-tooltip__content{overflow:hidden;max-height:calc(100vh - 40px);padding:calc(var(--line-height-em)/ 2);font-size:.8em;font-weight:400;position:absolute;z-index:999;text-align:start;transition:opacity .2s ease-in-out;width:min(30em,80vw);line-height:calc(var(--line-height-em)/ 1.25);padding:2em;box-sizing:border-box;display:none}.n-tooltip__content-visible{display:block}.n-tooltip__content:after{content:"";position:absolute;background-color:var(--nui-control-bg,#444);transform:rotate(45deg);width:1em;height:1em}.n-tooltip__content:before{content:"";inset:0;position:absolute;margin:1em;background:var(--nui-control-bg,#444);border-radius:var(--nui-border-radius);z-index:-1}.n-tooltip__content:not([data-n-position=top]){-webkit-mask:linear-gradient(red,red) no-repeat;-webkit-mask-size:100% calc(100% - 1em);mask:linear-gradient(red,red) no-repeat;mask-size:100% calc(100% - 1em)}.n-tooltip__content[data-n-position=bottom],.n-tooltip__content[data-n-position=top]{margin-left:var(--offset_x,0)}.n-tooltip__content[data-n-position=bottom]:after,.n-tooltip__content[data-n-position=top]:after{left:calc(50% - .5em - var(--offset_x,0));bottom:.55em}.n-tooltip__content[data-n-position=bottom]:after{top:.55em}.n-tooltip__content[data-n-position=left],.n-tooltip__content[data-n-position=right]{margin-top:var(--offset_y,0)}.n-tooltip__content[data-n-position=left]:after,.n-tooltip__content[data-n-position=right]:after{top:calc(50% - .5em - var(--offset_y,0));left:.55em}.n-tooltip__content[data-n-position=left]:after{right:.55em;left:auto}body:has(>.n-tooltip__content){position:relative}@-moz-document url-prefix(){body{position:relative}}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-nav{vertical-align:baseline;display:inline-block;color:var(--nui-control-color,inherit);--nui-nav-gap:0.75em;--n-nav-duration:0}@media (prefers-reduced-motion:no-preference){.n-nav{--n-nav-duration:.2s}}.n-nav a:focus{z-index:1}.n-nav ul{margin:0;padding:0;display:inline-block;width:auto;list-style:none;display:flex;flex-wrap:wrap;border-inline-start:var(--nui-nav-gap) solid var(--nui-control-bg);border-radius:var(--nui-border-radius);background-color:var(--nui-control-bg,transparent)}.n-nav ul li:last-child{margin-inline-end:0}.n-nav.n-nav--scroll{overflow:auto;max-width:100%;background-color:var(--nui-control-bg,transparent);border-radius:var(--nui-border-radius)}.n-nav.n-nav--scroll>ul{display:flex;flex-wrap:nowrap;white-space:nowrap}.n-nav a{position:relative;padding-inline-end:var(--nui-nav-gap);display:inline-block}.n-nav.n-big-text{--nui-nav-gap:1em}.n-nav a[aria-current],.n-nav a[aria-current][href]{text-decoration:none;color:var(--nui-control-active-color);cursor:initial}.n-nav:not(.n-nav--drop) a[href^="#"]{text-decoration:none}.n-nav.n-row{display:inline-flex}.n-nav.n-nav--vertical ul{display:grid;border:none}.n-nav.n-nav--vertical ul a{display:block;padding-inline-start:var(--nui-nav-gap)}.n-nav.n-nav--vertical ul li:first-child a{border-start-end-radius:var(--nui-border-radius);border-start-start-radius:var(--nui-border-radius)}.n-nav.n-nav--vertical ul li:last-child a{border-start-end-radius:0;border-end-start-radius:var(--nui-border-radius)}.n-nav.n-nav--vertical.n-nav--vertical-wide{display:block}.n-nav--scroll>ul{overflow:auto;max-width:100%;transform:translate3d(0,0,0);border:none}.n-nav--scroll ul li{padding:calc(var(--nui-line-height-em)/ 2) 0}.n-nav--scroll ul li:first-of-type a{padding-inline-start:var(--nui-nav-gap)}.n-nav--drop{--nui-nav-gap:0;color:var(--nui-control-color,#333);background-color:transparent;max-width:100%}.n-nav--drop ul{padding:0;margin:0;min-height:0;z-index:1;border-radius:0}.n-nav--drop ul ul{padding:0;position:absolute;inset-inline-start:0;top:100%}.n-nav--drop ul ul ul{margin-inline-start:100%;top:0}.n-nav--drop ul ul.n-left-side.n-right-overflow{margin-inline-start:var(--n-right-overflow,0)}.n-nav--drop ul ul.n-left-side ul{margin-inline-start:0;inset-inline-start:auto;inset-inline-end:100%}.n-nav--drop ul li{display:inline-block;vertical-align:top;margin:0;padding:0;box-sizing:border-box;position:relative;width:auto;background-color:var(--nui-control-bg,#fff)}.n-nav--drop li>a{padding:.75em;display:block}.n-nav--drop.n-nav li>a{background:0 0}.n-nav--drop a:focus,.n-nav--drop li>:focus{outline-offset:-7px}.n-nav--drop a[href]{position:relative}.n-nav--drop li:not([aria-haspopup])>a{z-index:0}.n-nav--drop ul[role=menubar] li>a{margin-inline-end:0;padding-inline-end:.75em}.n-nav--drop ul[role=menubar] li[aria-haspopup]>a{margin-inline-end:1.75em;padding-inline-end:.75em}.n-nav--drop[data-ready] ul[role=menubar] li[aria-haspopup]>a{margin-inline-end:0;padding-inline-end:.75em}.n-nav--drop li li{display:block;width:100%}.n-nav--drop ul li:not([aria-expanded])>ul{min-height:0;max-height:0;overflow:hidden;position:absolute}.n-nav--drop :focus~ul,.n-nav--drop a:focus~ul,.n-nav--drop li li:not(:focus) :checked~ul,.n-nav--drop li li[aria-expanded]>ul,.n-nav--drop ul li>:checked~ul,.n-nav--drop ul li[aria-expanded]>ul{max-height:none;overflow:visible;opacity:1;z-index:2;background-color:var(--nui-control-bg,#fff)}.n-nav--drop li li:not(:focus) :checked~ul,.n-nav--drop li li[aria-expanded]>ul,.n-nav--drop ul li[aria-expanded]>ul{z-index:2}.n-nav--drop li>input{-webkit-appearance:none;-moz-appearance:none;display:block;position:absolute;width:100%;height:100%;border:none;border-radius:0;inset-inline-end:0;width:1.875em;margin:0;font-size:inherit;cursor:pointer}.n-nav--drop li[aria-haspopup]:before{content:"";position:absolute;display:block;inset-inline-end:0;top:0;width:1.875em;height:100%}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li:before{content:"";margin:0;font-size:1em}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li:not([aria-haspopup=true]):before{display:none}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline).n-left-side li:before{inset-inline-end:auto;transform:rotate(180deg);inset-inline-start:0;margin:0;top:0;height:2em}.n-nav--drop.n-nav ul.n-list li:before{display:block;height:100%}.n-nav--drop li>input,.n-nav--drop li[aria-haspopup]:before{--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(180) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A") center center no-repeat;-webkit-mask:var(--mask);-webkit-mask-size:.5em;-webkit-mask-repeat:no-repeat;mask:var(--mask);mask-size:.5em;background-color:var(--nui-control-color,#000);mask-repeat:no-repeat}.n-nav--drop[data-ready] li>ul~a{background:0 0}.n-nav--drop li[aria-haspopup]{padding-inline-end:1.875em}@media (min-width:600px){.n-nav--drop{--desktop:true}.n-nav--drop ul ul{transition:transform var(--n-nav-duration) ease-in-out;transform-origin:top;transform:scaleY(0)}.n-nav--drop :focus~ul,.n-nav--drop a:focus~ul,.n-nav--drop li li:not(:focus) :checked~ul,.n-nav--drop li li[aria-expanded]>ul,.n-nav--drop ul li>:checked~ul,.n-nav--drop ul li[aria-expanded]>ul{transform:scaleY(1)}.n-nav--drop :focus~ul ul,.n-nav--drop a:focus~ul ul,.n-nav--drop li li:not(:focus) :checked~ul ul,.n-nav--drop li li[aria-expanded]>ul ul,.n-nav--drop ul li>:checked~ul ul,.n-nav--drop ul li[aria-expanded]>ul ul{transform:scaleX(1);transform-origin:left}.n-nav--drop li li>input,.n-nav--drop li li[aria-haspopup]:before{--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(90) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A");-webkit-mask-image:var(--mask);-webkit-mask-position:center;mask-image:var(--mask);mask-position:center}.n-nav--drop:not([data-ready]) li{display:flex}.n-nav--drop:not([data-ready]) li>input{position:static;order:1}.n-nav--drop:not([data-ready]) li:not([tabindex])>ul~a{padding-inline-end:.75em}.n-nav--drop li:not([tabindex])>ul~a{padding-inline-end:2.75em}.n-nav--drop ul.n-left-side li[aria-haspopup]{padding-inline-end:0;padding-inline-start:1.875em}.n-nav--drop ul.n-left-side li[aria-haspopup]:before{transform:rotate(180deg);inset-inline-start:0}html:not(.can-touch) .n-nav--drop ul li:not([aria-expanded]) ul ul{transition:calc(var(--n-nav-duration)/ 2) var(--n-nav-duration);opacity:0;position:absolute;transform:scaleX(0);transform-origin:left}html:not(.can-touch) .n-nav--drop ul li:not([aria-expanded]) ul.n-left-side ul{transform-origin:right}html:not(.can-touch) .n-nav--drop>ul>li>ul li{background-color:var(--nui-control-bg,#fff)}html:not(.can-touch) .n-nav--drop>ul li ul>li:hover>input:not(:checked)~ul,html:not(.can-touch) .n-nav--drop>ul li:not([aria-haspopup]) ul li:hover>input:not(:checked)~ul,html:not(.can-touch) .n-nav--drop>ul>li:hover>input:not(:checked)~ul,html:not(.can-touch) .n-nav--drop>ul>li:not([aria-haspopup]):hover>input:not(:checked)~ul{min-height:0;max-height:0;overflow:hidden;z-index:1;position:absolute}html:not(.can-touch) .n-nav--drop ul ul li:not([aria-expanded]) :checked~ul,html:not(.can-touch) .n-nav--drop>ul li ul>li:hover>ul,html:not(.can-touch) .n-nav--drop>ul li:not([aria-haspopup]) ul li:hover~ul,html:not(.can-touch) .n-nav--drop>ul>li:hover>ul,html:not(.can-touch) .n-nav--drop>ul>li:not([aria-haspopup]):hover>ul{max-height:none;overflow:visible;opacity:1;z-index:2;background-color:var(--nui-control-bg,#fff);transform:scaleY(1)}html:not(.can-touch) .n-nav--drop>ul li ul li:hover ul{transition-delay:var(--n-nav-duration);transform:scaleX(1)}nav.n-nav--drop ul[role=menubar]>li>a{max-width:100vw;white-space:normal}nav.n-nav--drop li{white-space:nowrap}nav.n-nav--drop li li li a,nav.n-nav--drop li li[haspopup]>a{white-space:normal;max-width:calc(33.33vw - 2em);width:100em}html.can-touch .n-nav--drop li .n-left-side>li:not([aria-expanded]){overflow:hidden}[dir=rtl] .n-nav--drop li ul:not(.n-left-side)>li[aria-haspopup]:before{transform:rotate(180deg)}html:not(.can-touch) [dir=rtl] .n-nav--drop ul li:not([aria-expanded]) ul ul,html:not(.can-touch)[dir=rtl] .n-nav--drop ul li:not([aria-expanded]) ul ul{transform-origin:right}}@media not screen and (min-width:600px){.n-nav--drop ul li:not([aria-expanded])>ul{position:static;width:calc(100% + 3em);transition:max-height var(--n-nav-duration) ease-in-out}.n-nav--drop ul ul{position:static;width:calc(100% + 3em);padding-inline-start:.5em;overflow:hidden;box-sizing:border-box}.n-nav--drop ul ul ul{margin:0}.n-nav--drop ul li{width:100%}.n-nav--drop ul li[aria-haspopup]{padding-inline-end:3em}.n-nav--drop ul li[aria-haspopup][aria-expanded]:before{--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(0) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A");-webkit-mask-image:var(--mask);mask-image:var(--mask);-webkit-mask-position-x:center;mask-position-x:center;-webkit-mask-position-y:1.15em;mask-position-y:1.15em}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline).n-left-side li:before{inset-inline-end:0;inset-inline-start:auto;transform:none}.n-nav--drop li>input{-webkit-mask-position-y:1.15em;mask-position-y:1.15em;z-index:1}html:not([data-nui-js]) .n-nav--drop{width:100%}html:not([data-nui-js]) .n-nav--drop ul li{display:flex;flex-direction:column}html:not([data-nui-js]) .n-nav--drop ul li a{order:-1}html:not([data-nui-js]) .n-nav--drop ul li:not([aria-expanded])>ul{width:100%}html:not([data-nui-js]) .n-accordion.n-accordion--mobile:not([aria-expanded]) .n-accordion__content{max-width:100%}}@supports (-webkit-overflow-scrolling:touch){.n-nav--drop :focus{outline-style:dotted;outline-width:1px}}.n-nav--scroll,.n-nav:not(.n-nav--drop) ul{box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}@keyframes n-select{100%{visibility:hidden}}@keyframes n-select-native{100%{visibility:visible}}.n-select{position:relative;display:inline-grid;vertical-align:middle;max-width:100%;width:var(--width,auto);z-index:0;background-color:var(--nui-control-bg,#fff);line-height:var(--line-height,1.333)}.n-select:before{content:"";position:absolute;cursor:pointer;background-color:var(--nui-control-color,#333);--chevron:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16.003 18.626l7.081-7.081L25 13.46l-8.997 8.998-9.003-9 1.917-1.916z'/%3E%3C/svg%3E");-webkit-mask:var(--chevron) no-repeat 0 0/contain;mask:var(--chevron) no-repeat 0 0/contain;-webkit-mask-size:150%;-webkit-mask-position:50%;mask-size:150%;mask-position:50%;width:.75em;height:.75em;inset-inline-end:.625em;top:calc(50% - .375em);z-index:-1}@supports not (inset-inline-end:0){.n-select:before{right:.625rem}}.n-select:after{position:absolute;top:0;z-index:5}.n-select[data-ready]{font-size:1em;transition:height .2s ease-in-out}.n-select[data-ready]>.n-select__options>:not([aria-selected]){height:0;padding-top:0;padding-bottom:0;visibility:hidden;overflow:hidden;display:block}.n-select:not([data-ready]) .n-select__options,.n-select:not([data-ready]) select{animation-duration:.1s;animation-fill-mode:forwards;animation-delay:2s}.n-select:not([data-ready]) select{-webkit-appearance:none;appearance:none;border:none;width:100%;padding:var(--padding,.5em);padding-inline-end:1.961em;height:auto;margin:0;background:0 0}.n-select:not([data-ready]) select:not(:only-child){visibility:hidden;animation-name:n-select-native}.n-select:not([data-ready]) .n-select__options{display:inline-grid}.n-select:not([data-ready]) .n-select__options>*{grid-column:1/2;grid-row:1/2}.n-select:not([data-ready]) .n-select__options>:not(:first-child):not([aria-selected]){opacity:0}.n-select:not([data-ready]) .n-select__options:not([aria-expanded]) button[aria-selected]{background:var(--nui-control-bg,#fff)}.n-select>input{display:none}.n-select.n-select--wide{width:100%}.n-select.n-select--open{opacity:0;height:var(--active-option-height,auto)}.n-select,.n-select__options{--padding:.5em;--line-height:1.5em;border-radius:var(--nui-border-radius)}.n-select select,.n-select__options{width:auto;max-width:100%;color:var(--nui-control-color,#333);background-color:transparent;top:0;z-index:5;box-sizing:border-box;-webkit-appearance:none;appearance:none;font:inherit;border:none;grid-column:1/1;grid-row:1/1;overflow:hidden;-webkit-tap-highlight-color:transparent}.n-select select{padding:var(--padding,.5em);padding-inline-end:1.961em;cursor:pointer;line-height:calc(1 + var(--line-height,1.5em))}.n-select select~.n-select__options{animation-name:n-select}.n-select__options>*{display:block;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;user-select:none;line-height:inherit}.n-select__options button{-webkit-appearance:none;appearance:none;background:0 0;cursor:pointer;border:0;width:100%;text-align:start;margin:0;font-size:1em;position:relative;color:var(--nui-control-color,#333);background-color:var(--nui-control-bg,#fff);display:flex;align-items:center}.n-select__options button *{pointer-events:none;vertical-align:middle}.n-select__options button img{display:inline-block;object-fit:contain;width:2em;height:2em;margin-inline-end:.5em;max-width:none}.n-select__options.n-scrollbar{scrollbar-width:none;scrollbar-color:#999 transparent}.n-select__options.n-scrollbar::-webkit-scrollbar{width:.333em}.n-select__options.n-scrollbar::-webkit-scrollbar-thumb{background:#999;border-radius:.333em}.n-select__options.n-scrollbar::-webkit-scrollbar-track{background:0 0;border-radius:.333em}.n-select__options[aria-expanded]{position:absolute;margin-top:calc(-1px * (var(--active-option-offset,0) - var(--top-offset,0)) - 1px * var(--scroll-help-top,0));max-height:var(--max-height);overflow:auto;background:0 0;padding:0 calc(var(--padding,1em)/ 2);margin-inline-start:calc(-1 * var(--padding,1em)/ 2);left:calc(1px * var(--body-offset-x));top:calc(1px * var(--body-offset-y));box-sizing:content-box;min-width:var(--max-width)}.n-select__options[aria-expanded]>:first-child{margin-top:calc(2 * var(--padding,.5em));border-top-left-radius:var(--nui-border-radius);border-top-right-radius:var(--nui-border-radius)}.n-select__options[aria-expanded]>:last-child{margin-bottom:calc(2 * var(--padding,.5em));border-bottom-left-radius:var(--nui-border-radius);border-bottom-right-radius:var(--nui-border-radius)}.n-select__options[aria-expanded].n-select--crop-top{top:calc(1px * var(--body-offset-y));margin-top:calc(-1px * (var(--active-option-offset,0) - var(--top-offset,0)) - 1px * var(--scroll-help-top,0))}.n-select__options[aria-expanded]:not(.n-select--crop-top){padding-top:calc(1px * var(--scroll-help-top,0))}.n-select__options[aria-expanded]:not(.n-select--crop-top):before{margin-top:calc(1px * var(--scroll-help-top,0))}.n-select__options[aria-expanded] [aria-selected]{background-color:var(--nui-control-active-bg,#eee);color:var(--nui-control-active-color,#000)}.n-select__options[aria-expanded] a[href],.n-select__options[aria-expanded] button{width:100%;box-sizing:border-box}.n-select__options[aria-expanded] a[href]:not([aria-selected]):hover,.n-select__options[aria-expanded] button:not([aria-selected]):hover{background-color:var(--nui-control-highlight,#ececec);color:var(--nui-control-active-color,inherit)}.n-select__options[aria-expanded] a[href]:focus,.n-select__options[aria-expanded] button:focus{z-index:1}.n-select__options[aria-expanded]:before{content:"";position:absolute;background-color:var(--nui-control-bg,#fff);top:calc(2 * var(--padding,.5em));left:calc(var(--padding,.5em)/ 2);right:calc(var(--padding,.5em)/ 2);height:calc(var(--select-scroll-height) - 4 * var(--padding,.5em));border-radius:var(--nui-border-radius)}.n-select__options[aria-expanded].n-select--scroll-help-top:before{height:calc(100% + 1px * var(--top-offset,0))}.n-select__options[aria-expanded].n-select--shadow:before{box-shadow:0 0 4px 3px rgba(51,51,51,.5490196078)}.n-select__options:not([aria-expanded]){cursor:pointer;box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-select__options:not([aria-expanded]) button{white-space:nowrap;overflow:hidden;max-width:calc(100% - 1.5em);width:auto;margin:0;outline-offset:-1.5px;font-size:1em;border:none;padding:var(--padding,.5em);padding-inline-end:2em;font-weight:400;min-height:0;color:var(--nui-control-color,#333);background:0 0}.n-select__options>*,.n-select__options>button{padding:var(--padding,.5em);padding-inline-end:2em;position:relative;font-family:inherit;background-color:var(--nui-control-bg,#fff);box-shadow:none}.n-select[data-ready] select,.n-select[data-ready]+select,select[data-n_select]{display:none}.n-select__options[aria-expanded]{-webkit-mask:linear-gradient(0,#000,#000) no-repeat 0 calc((var(--mask-position-y) + var(--scroll-help-top,0)) * 1px)/calc(var(--max-width) + 2 * var(--padding,.5em)) var(--mask-size-y);overscroll-behavior:contain}.n-select__options[aria-expanded][data-n-select-animation]{transition:-webkit-mask-size .15s ease-in-out,-webkit-mask-position-y .15s ease-in-out;-webkit-mask-size:100% 100%;-webkit-mask-position-y:0}@media (prefers-reduced-motion:reduce){.n-select__options[aria-expanded][data-n-select-animation]{transition:none}}@media (min-width:600px){.n-select .n-select__options[aria-expanded]{width:calc(var(--max-width) + var(--padding,.5em))}}.n-select--rounded{--nui-border-radius:.333em}.n-select:focus:not(:focus-visible),.n-select__options button:focus:not(:focus-visible){outline:0}_::-webkit-full-page-media,_:future,:root body.n-select--open{overflow:hidden;-webkit-user-select:none;user-select:none}[dir=rtl] .n-select__options[aria-expanded]{margin-inline-end:0;left:auto;right:calc(100% - 1px * var(--body-offset-x) - var(--max-width));-webkit-mask-position-x:100%;mask-position-x:100%}@supports not (inset-inline-end:0){[dir=rtl] .n-select:before{left:.625rem;right:auto}}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-notify{background:rgba(0,0,0,.8);text-align:center;padding:1em;color:#fff;cursor:crosshair;z-index:1;-webkit-appearance:none;appearance:none;border:none;width:100%;font:inherit}.n-notify:after{content:" ✕"}.n-notify--fixed{font-weight:500;position:fixed;left:0;right:0;z-index:2}.n-notify:focus:focus-visible{outline-offset:-3px;outline:auto}.n-parallax{overflow:hidden}.n-parallax__content{will-change:transform;transform:translateY(calc(var(--scrollparallax,0) * 1px))}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-type{-webkit-text-size-adjust:none;font-size:var(--nui-font-size,16px);line-height:var(--nui-line-height);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;letter-spacing:.25px}.n-type h1,.n-type h2,.n-type h3,.n-type h4,.n-type h5,.n-type h6{line-height:var(--nui-line-height);word-break:break-word;word-wrap:break-word;font-size:1em;font-weight:500;margin:24px 0;line-height:3rem}@media not screen and (min-width:600px){.n-type h1,.n-type h2,.n-type h3,.n-type h4,.n-type h5,.n-type h6{-webkit-hyphens:auto;hyphens:auto}}.n-type h1+p:not(.n-drop-cap),.n-type h2+p:not(.n-drop-cap),.n-type h3+p:not(.n-drop-cap),.n-type h4+p:not(.n-drop-cap),.n-type h5+p:not(.n-drop-cap),.n-type h6+p:not(.n-drop-cap){margin-top:0}.n-type h4,.n-type h5,.n-type h6{line-height:1.5rem}.n-type h1{font-size:2.75rem}.n-type h2{font-size:2.25rem}.n-type h3{font-size:2rem}.n-type h4{font-size:1.75rem}.n-type h5{font-size:1.5rem}.n-type h6{font-size:1.25rem}.n-type pre{overflow:auto}.n-type p{font-size:1em;margin:var(--nui-line-height-em) 0;line-height:var(--nui-line-height)}.n-type .n-drop-cap:first-letter{float:left;font-size:5em;padding:.1em .1em .1em 0;margin-top:-.2em;line-height:1em}.n-type a[href]{color:inherit}.n-type p a[href]{display:inline}.n-type hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}.n-type .n-quote,.n-type blockquote,.n-type q{border-inline-start:1px solid #bbb;padding-inline-start:1em;display:block;margin:var(--nui-line-height-em) 0;margin-inline-start:1em}.n-type .n-big-text{font-size:1.125em;line-height:calc(2 * var(--nui-line-height-em));min-height:1.3334em}.n-adjust-height,.n-row picture.n-adjust-height{border-bottom:calc(1px * var(--adjust-height)) solid transparent;box-sizing:content-box}.n-burger{width:1.5em;height:1.5em;line-height:1.5em;font-size:2em;display:inline-block;text-align:center;position:relative;background:var(--nui-control-bg,#fff)}.n-burger:before{content:"";position:absolute;left:.25em;width:1em;top:.15em;box-shadow:0 .25em 0 1px var(--nui-control-color,#333),0 .625em 0 1px var(--nui-control-color,#333),0 1em 0 1px var(--nui-control-color,#333);height:.1px}[dir=rtl] .n-type .n-drop-cap:first-letter,[dir=rtl].n-type .n-drop-cap:first-letter{float:right}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-table{overflow:auto;border-collapse:collapse;border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color);display:inline-block}.n-table--wide{display:table;width:100%;overflow:hidden;table-layout:fixed}.n-table td,.n-table th{padding:var(--nui-line-height-em) calc(var(--nui-line-height-em)/ 2);vertical-align:middle}.n-table th,.n-table thead td{color:#fff;font-weight:700;padding-bottom:var(--nui-line-height-em);font-size:1.1em;background:rgba(0,0,0,.3);text-align:start}.n-table th button.n-table__sort,.n-table thead td button.n-table__sort{width:100%;cursor:pointer;-webkit-appearance:none;appearance:none;font:inherit;text-align:inherit;border:0;padding:0;background:0 0;color:inherit;user-select:none}.n-table th button.n-table__sort:after,.n-table thead td button.n-table__sort:after{content:"⇳";margin-left:.5em}.n-table tr:nth-child(2n+1){background:rgba(0,0,0,.025)}.n-table iframe,.n-table td,.n-table th,.n-table tr{border:none}@media not screen and (min-width:600px){.n-table{table-layout:auto}.n-table td{word-break:normal}}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-contain{max-width:100rem;margin:0 auto;width:100%}html.n-vertical-page,html.n-vertical-page body{height:100%;margin:0 auto;overflow-x:hidden}html.n-vertical-page body{overflow:hidden;height:auto}body.n-sticky-footer{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}body.n-sticky-footer main{flex-grow:1}.n-header a.n-logo{display:inline-block}.n-wide-screen{display:block}.n-narrow-screen{display:none}.n-footer{position:relative}.n-footer>*{position:static}.n-fixed-bg{position:relative;z-index:0}.n-fixed-bg__backdrop{position:absolute;clip:rect(auto,auto,auto,auto);width:100%;height:100%;inset:0;z-index:-1}.n-fixed-bg__backdrop img{inset:0;width:100%;height:100vh;height:100dvh;position:fixed;object-fit:cover;object-position:center}.n-fixed{position:fixed}.n-fixed.n-header{position:static}a[href].span-relative-parent{position:absolute;top:0;right:0;bottom:0;left:0}.n-viewport{min-height:100vh;min-height:100dvh}@media not screen and (min-width:600px){.n-wide-screen{display:none}.n-narrow-screen{display:block}.n-viewport.n-header-banner{height:auto;overflow:hidden}.n-header .head-right{text-align:start}.n-header.n-fixed{position:fixed;top:0;left:0;right:0;background:#fff;z-index:7}.n-header a.n-logo{float:right}}:root{--nui-border-size:0px;--nui-border-color:var(--nui-control-color);--nui-shadow-size:0px;--nui-shadow-blur:0;--nui-shadow-color:var(--nui-control-color);--nui-border-color:transparent}.n-scheme-dark{--nui-color:var(--nui-color-dark);--nui-bg:var(--nui-bg-dark);--nui-control-color:var(--nui-control-color-dark);--nui-control-bg:var(--nui-control-bg-dark);--nui-control-active-bg:var(--nui-control-active-bg-dark);--nui-control-active-color:var(--nui-control-active-color-dark);--nui-control-highlight:var(--nui-control-highlight-dark);--nui-input-color:var(--nui-input-color-dark);--nui-input-bg:var(--nui-input-bg-dark);--nui-list-color:var(--nui-list-color-dark);--nui-list-bg:var(--nui-list-bg-dark);--nui-border-color:var(--nui-border-color-dark);--nui-shadow-color:var(--nui-shadow-color-dark);--nui-border-color-dark:transparent;--nui-shadow-color-dark:transparent}@media (prefers-color-scheme:dark){.n-scheme-auto{--nui-color:var(--nui-color-dark);--nui-bg:var(--nui-bg-dark);--nui-control-color:var(--nui-control-color-dark);--nui-control-bg:var(--nui-control-bg-dark);--nui-control-active-bg:var(--nui-control-active-bg-dark);--nui-control-active-color:var(--nui-control-active-color-dark);--nui-control-highlight:var(--nui-control-highlight-dark);--nui-input-color:var(--nui-input-color-dark);--nui-input-bg:var(--nui-input-bg-dark);--nui-list-color:var(--nui-list-color-dark);--nui-list-bg:var(--nui-list-bg-dark);--nui-border-color:var(--nui-border-color-dark);--nui-shadow-color:var(--nui-shadow-color-dark);--nui-border-color-dark:transparent;--nui-shadow-color-dark:transparent}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body .n-contain{max-width:1312px}:root{--color-teal:#488e89}.n-carousel{background:#eee}.n-wp .n-carousel.n-carousel--thumbnails>.n-carousel__index>* span{padding:0}.n-wp body{margin:0}.n-wp .n-carousel.n-carousel--lightbox>.n-carousel__content{grid-row:1/-2}.n-wp .n-carousel.n-carousel--lightbox.n-carousel--overlay{margin:0}.n-wp .n-carousel.n-carousel--lightbox.n-carousel--overlay>.n-carousel__content{grid-row:1/-1}.n-wp .n-carousel.n-carousel--lightbox.n-carousel--overlay .gallery{flex-wrap:nowrap;margin:0;overflow:auto;overflow-y:hidden}.n-wp .n-carousel.n-carousel--lightbox.n-carousel--overlay .gallery a{width:2em}.n-wp .n-carousel.n-carousel--lightbox:-webkit-full-screen{margin:0}.n-wp .n-carousel.n-carousel--lightbox:-webkit-full-screen>.n-carousel__content{grid-row:1/-1}.n-wp .n-carousel.n-carousel--lightbox:-webkit-full-screen .gallery{flex-wrap:nowrap;margin:0}.n-wp .n-carousel.n-carousel--lightbox:-webkit-full-screen .gallery a{width:2em}.n-wp .n-carousel.n-carousel--lightbox:fullscreen{margin:0}.n-wp .n-carousel.n-carousel--lightbox:fullscreen>.n-carousel__content{grid-row:1/-1}.n-wp .n-carousel.n-carousel--lightbox:fullscreen .gallery{flex-wrap:nowrap;margin:0}.n-wp .n-carousel.n-carousel--lightbox:fullscreen .gallery a{width:2em}.n-carousel__content.featured{margin-bottom:22px}.n-carousel__content.featured h2 a[href]{position:absolute;display:block;top:0;right:0;bottom:0;left:0}.n-carousel .n-carousel__content.featured{margin-bottom:0}.n-carousel__content.featured>*{position:relative;text-align:center;padding:9% 0;overflow:visible}.n-carousel__content.featured a[href],.n-carousel__content.featured p{color:#fff}.n-carousel__content.featured>div>*{padding:0 .5em;display:inline-block;background:rgba(0,0,0,.5);color:#fff}.n-wp .n-carousel__content.featured img{display:none}.n-wp .n-carousel__content.featured picture img[class*=thumbnail]{position:absolute;z-index:-1;margin:auto;top:0;right:0;bottom:0;left:0;max-height:none;padding:0;display:block}.n-wp .sidebar form{margin:0;padding:0}.n-wp img{display:block;max-width:100%;height:auto}.n-wp img :not(.avatar){margin:0 auto}.n-wp .n-aspect img,.n-wp .wp-caption>img{display:inline-block}.n-wp .comments ul,.n-wp .sidebar li,.n-wp .sidebar li a[href],.n-wp .sidebar ul{list-style:none;padding-left:0;margin:0;display:block}.n-wp .sidebar li{margin-bottom:.5em}button.search-submit{display:none}.n-wp .n-carousel--lightbox{margin-top:1.5em}.n-wp .n-carousel--lightbox .n-aspect{max-height:100%;display:flex}.n-wp .n-carousel--lightbox .gallery{margin:.5em -.7em;display:flex;flex-wrap:wrap;max-width:100%;margin:1rem 0;justify-content:flex-start;max-height:20em;position:relative;max-width:100%;width:100%;-webkit-mask-image:-webkit-linear-gradient(270deg,#000,#000 95%,transparent);-webkit-mask-size:100% 20em;-webkit-mask-repeat:no-repeat;mask-image:linear-gradient(180deg,#000,#000 95%,transparent);mask-size:100% 20em;mask-repeat:no-repeat}.n-wp .n-carousel--lightbox .gallery a{display:block;width:20%;margin:0;border:1px solid transparent;text-align:center;box-sizing:border-box}.n-wp .n-carousel--lightbox .gallery a:not([aria-current]){--nui-control-bg:transparent}.n-wp .n-carousel--lightbox .gallery a img{display:inline-block;vertical-align:middle;width:auto;height:auto}.n-wp .n-carousel--lightbox.n-carousel--overlay .gallery{justify-content:center}.n-wp .n-carousel--lightbox.n-carousel--inline:not(.n-carousel--overlay) .gallery [aria-current]{--nui-control-bg:transparent}.n-wp .n-carousel--lightbox .gallery body{min-height:100%;display:flex;flex-direction:column}.n-wp.n-type h2 a[href]{color:#fff}#full-window .n-carousel__next,#full-window .n-carousel__previous{top:49%}.wp-caption,iframe{max-width:100%}article h2 a,iframe{margin:0 auto;display:block}.archive article,.home article,.search-results article{margin-bottom:44px;position:relative}.n-type.n-wp section>article>blockquote,.n-type.n-wp section>article>ol,.n-type.n-wp section>article>p:not(.has-image):not(.has-iframe),.n-type.n-wp section>article>ul{max-width:40em;margin:1.5em auto;box-sizing:border-box}.n-type.n-wp section>article>p.has-image{text-align:center}.n-type.n-wp section>article>p.has-image img{display:inline-block}.n-type.n-wp section>article>.headline+p.has-image{margin-top:.5em}article ul{padding-left:2px}article .n-aspect{z-index:0;position:relative;overflow:hidden}article .n-aspect:before{content:"";background-size:contain;background-repeat:no-repeat;background-image:var(--placeholder,none);position:absolute;inset:0;filter:blur(4px);z-index:-1}article p.has-image .n-aspect{max-width:calc(1px * var(--width));margin:auto}.comments li{margin-bottom:2em}.comments p{width:100%;margin-bottom:0}.comments .n-form{padding:0}.comments .n-form.n-form--wide label span{display:inline}.comments .comments form input{border:0}.comments .comment-meta.commentmetadata{font-size:.75em}.comments .n-form label{min-height:2em}.comments .comment-body{padding-right:1em}.comments textarea{width:100%}.n-wp .img-crop{width:100%;display:flex;flex-direction:column;background-color:transparent;overflow:hidden;position:relative;white-space:nowrap}.n-wp .img-crop:before{display:inline-block;vertical-align:middle;content:"";padding-top:25vmin}.n-wp .img-crop:after{content:"";position:absolute;inset:0;background:var(--placeholder,none) center no-repeat;background-size:cover;filter:blur(4px);overflow:hidden}.n-wp .img-crop img{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.img-crop h2,article h2 a[href]{display:inline-block;vertical-align:bottom;padding:.5em;font-size:1.5rem;background:var(--color-teal);color:#fff;text-decoration:none}article h2 a[href]:after{content:" →"}.comment-author img{padding-bottom:0}.img-crop:hover h2,.menu .current_page_item a:link,.menu .current_page_item a:visited,.n-form button.search-submit:hover,.n-type article .img-crop:hover h2,.n-wp.n-type article .headline:hover h2 a[href]{color:#e82}.n-header .logo{max-width:480px}.n-header .logo~.n-accordion{margin-top:1em}.n-header .logo div{flex-grow:1}.n-header .logo div h2,.n-header .logo div h3{padding-top:0}.n-header .logo div h2{font-size:2em}.logo-img{min-height:37px}.rsswidget img{display:none}footer{flex-grow:1;display:flex;justify-content:flex-end;flex-direction:column;padding-bottom:1em}.comment-form p label{display:block}nav.n-nav a{color:var(--nui-control-color,#666);text-transform:uppercase;text-decoration:none}nav.n-nav a.active[href],nav.n-nav a[href]:hover{color:var(--nui-control-highlight,#e82)}nav.n-nav.n-nav--drop{--nui-control-bg:#eee}nav.n-nav.n-nav--drop li.current_page_item{--nui-control-bg:#ddd}.single h1{margin-top:.25em}.n-type h3.comment-reply-title{padding-top:0}.n-type a[href]{color:#f08080;text-decoration:none}.n-type a.n-btn[href]:hover,.n-type a[href]:hover,.n-type button.n-btn:hover,.n-type input[type=submit]:hover{color:var(--nui-control-highlight,#e82)}.n-type .page_item a[href]{color:unset;padding:0 .5em;line-height:1.5}.n-type p{text-align:left}.n-type article h1,.n-type article h2,.n-type article h3,.n-type article h4,.n-type article h5{font-weight:500;color:var(--color-teal)}.n-type article .headline>h2{padding:0;line-height:1.33}.n-type article .img-crop h2{color:#fff;position:relative;white-space:normal;line-height:1.33;background:rgba(72,142,137,.88);transition:background-color .2s ease-in-out;margin-bottom:0;z-index:1}.n-type article .img-crop:hover h2{background:#488e89}.wp-block-image{margin:1em 0;max-width:100%}.wp-block-image figure,.wp-block-image figure[class*=align]{display:block;margin:0}.wp-block-image,.wp-block-image figure,.wp-block-image figure[class*=align]{display:inline-flex;flex-direction:column;max-width:100%}.wp-block-image{display:flex;flex-direction:row;flex-wrap:wrap}.wp-block-image:has(>.aligncenter){justify-content:center}.wp-block-image:has(>.alignright){justify-content:flex-end}.wp-block-image .aligncenter .n-aspect{margin:0 auto}.wp-block-image .alignright .n-aspect{margin:0 0 0 auto}.n-aspect.aligncenter{display:flex;margin:0 auto}.n-aspect.alignright{display:flex;margin:0 0 0 auto}.wp-caption{margin:.5em auto}.wp-caption a[href]{display:inline-block;max-width:100%}.wp-caption.alignright{margin:0 0 0 auto}.wp-caption p.wp-caption-text{margin:0;font-size:12px;line-height:24px;padding:0}a.n-backtotop[href]{background:0 0;bottom:-1em}.textwidget a{margin-bottom:.5em;display:inline-block}@media (min-width:600px){.home section{display:flex;flex-wrap:wrap}.home section article{width:calc(50% - .75em);margin:0 0 3em 0}.home section article:nth-child(2)~:nth-child(2n+1),.home.paged section article:first-child{margin-right:1.5em}.home section .pagination,.home:not(.paged) section article:nth-child(1),.home:not(.paged) section article:nth-child(2){width:100%}.home section .pagination .n-carousel--lightbox:not(.n-carousel--overlay) .gallery a,.home:not(.paged) section article:nth-child(1) .n-carousel--lightbox:not(.n-carousel--overlay) .gallery a,.home:not(.paged) section article:nth-child(2) .n-carousel--lightbox:not(.n-carousel--overlay) .gallery a{width:10%}.home section .pagination .img-crop,.home:not(.paged) section article:nth-child(1) .img-crop,.home:not(.paged) section article:nth-child(2) .img-crop{background-size:cover}.n-wp .n-carousel--lightbox .gallery a{width:10%}.comments{display:grid;grid-template-columns:1fr 1fr}.comments>h2{grid-column:1/3}.comments>ul{grid-column:1/2}.comments>div{grid-column:2/3}}.n-nav--drop li[aria-haspopup]{padding-right:1em}.wp-video{margin:1.5em auto 0 auto}@media (max-width:599.9px){.single h1{font-size:1.5em}}.n-accordion__label,.n-btn,.n-carousel__close,.n-carousel__full-screen,.n-carousel__index .n-tool:after,.n-carousel__next,.n-carousel__previous,.n-form,.n-form button[type=reset],.n-form button[type=submit],.n-form input[type=submit],.n-nav--drop,.n-nav--drop ul li,.n-ovrl>.n-ovrl--close,.n-type a.n-btn[href],.n-type nav.n-nav a[href],a.n-btn[href],button.n-btn{--nui-control-bg:lightcoral;--nui-control-color:#222;--nui-control-active-bg:#cc7c7e;--nui-control-active-color:#eee;--nui-control-highlight:#bf2a2a}.n-form input,.n-form textarea{--nui-input-color:darkslateblue;--nui-input-bg:aliceblue}@media (prefers-color-scheme:dark){.n-carousel,.n-ovrl>*,body{background:#000}.n-type{color:#ddd}.img-crop{background-color:#222}.n-form input,.n-form textarea{--nui-input-color:#ddd;--nui-input-bg:#222}.logo .default-logo{background:url(img/logo-white.svg) top left no-repeat;background-size:contain}.logo .default-logo img{opacity:0}}figcaption:empty{display:none}article .featured-image{text-align:center}article .featured-image .n-aspect:before{max-width:calc(1px * var(--width));max-height:calc(1px * var(--height));margin:0 auto}.n-carousel--lightbox>.n-carousel__content picture:not([data-loaded])>*{--placeholder:inherit!important}.headline picture:not([data-loaded=true]) img,.n-wp picture[style*="--placeholder"]:not([data-loaded=true]) img{-webkit-mask:-webkit-linear-gradient(0deg,red,red) no-repeat center/calc(100% - 3px) calc(100% - 3px);mask:linear-gradient(0deg,red,red) no-repeat center/calc(100% - 3px) calc(100% - 3px)}.n-carousel--lightbox>.n-carousel__content picture:not([data-loaded]):before,article .n-carousel--lightbox>.n-carousel__content [data-loaded]>.n-aspect:before{display:none} +@charset "UTF-8";:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-card{margin:1em 0;--nui-card-bg:rgba(0, 0, 0, 0.1);background:var(--nui-card-bg,rgba(0,0,0,.1));border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color);overflow:hidden}.n-card>*{padding:1em}.n-card__content{background:var(--nui-card-bg)}.n-card__content p{margin:.75em 0}.n-card__content p:first-child{margin-top:0}.n-card>img{display:block;margin:0 auto;max-width:100%;padding:0}.n-card__head>*{margin:0}.n-card__head.n-card__head--image{background-position:center center;background-size:cover;background-repeat:no-repeat;color:#fff}.n-card__head.n-card__head--image:after{content:"";padding-bottom:56.25%;width:0;display:inline-block;vertical-align:bottom}.n-card__head.n-card__head--image>*{display:inline-block;margin:0}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-btn,.n-form button[type=reset],.n-form button[type=submit],.n-form input[type=submit],.n-type a.n-btn[href],a.n-btn[href],button.n-btn{font-size:inherit;text-align:initial;line-height:var(--nui-line-height);min-height:var(--nui-line-height-em);text-decoration:none;display:inline-block;cursor:pointer;width:auto;word-break:break-word;padding:0 .6em;-webkit-appearance:none;background-color:#333;background-color:var(--nui-control-bg,#333);color:#eee;color:var(--nui-control-color,#eee);border:none;font-family:inherit;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-btn:not([disabled]):hover,.n-form button[type=reset]:not([disabled]):hover,.n-form button[type=submit]:not([disabled]):hover,.n-form input[type=submit]:not([disabled]):hover,.n-type a.n-btn[href]:not([disabled]):hover,a.n-btn[href]:not([disabled]):hover,button.n-btn:not([disabled]):hover{background-color:#eee;color:#333}button.n-btn[disabled]{cursor:default;opacity:.2;margin:0;font-size:inherit}.n-btn.n-btn--big,.n-form button,.n-form input[type=submit],a[href].n-btn.n-btn--big{margin:calc(var(--nui-line-height-em)/ 3) 0;font-size:1.2em;padding:.75em 1em;line-height:1.05em;min-height:0;font-weight:500}.n-btn__group{margin:0 -.25em}.n-btn__group .n-btn.n-btn--big,.n-btn__group>*,.n-btn__group>a[href].n-btn.n-btn--big{margin-inline-end:.25em;margin-inline-start:.25em}@media not screen and (min-width:600px){.n-btn.n-btn--big{display:block;text-align:center}}.n-btn--ripple{background:radial-gradient(circle,rgba(0,0,0,.05) 70%,rgba(0,0,0,0) 0) no-repeat var(--ripple-x) var(--ripple-y)/0 0;transition:.15s ease-out;transition-property:background-size,background-position}.n-btn--ripple:active{background-position:calc(var(--ripple-x) - var(--ripple-radius)) calc(var(--ripple-y) - var(--ripple-radius));background-size:calc(2 * var(--ripple-radius)) calc(2 * var(--ripple-radius))}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-form{padding:var(--nui-line-height-em) 0;--nui-placeholder-color:#aaa}.n-form *{box-sizing:border-box}.n-form input,.n-form label,.n-form textarea{display:inline-block;vertical-align:middle}.n-form ::-webkit-input-placeholder{color:var(--nui-placeholder-color);-webkit-text-fill-color:var(--nui-placeholder-color)}.n-form button[type=submit],.n-form input[type=submit],.n-form label,.n-form label>span,.n-form__check span{line-height:var(--nui-line-height);min-height:var(--nui-line-height-em)}.n-form label{font-weight:700;max-width:100%;position:relative;padding:0;margin:0 0 var(--nui-line-height-em) 0;min-height:calc(var(--nui-line-height-em) * 2)}.n-form button,.n-form button[type=submit],.n-form input[type=submit]{height:auto;line-height:var(--nui-line-height);white-space:normal;word-break:break-all;margin:0;max-width:100%;padding:0 1em;font-weight:500}.n-form .n-form__file span,.n-form button,.n-form input,.n-form input[type=search],.n-form select,.n-form textarea{font-family:inherit;display:inline-block;overflow:hidden;resize:none;vertical-align:top;border-radius:0;padding:0 calc(var(--nui-line-height-em)/ 2);min-height:calc(var(--nui-line-height-em) * 2);border:0;font-size:1em;border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-form input[type=checkbox]{border-radius:0}.n-form .n-form__file span span{display:flex;align-items:center}.n-form textarea{border-bottom:1px dotted transparent;height:0;min-height:calc(var(--nui-line-height-em) * 3);padding-top:calc(var(--nui-line-height-em)/ 2);margin:var(--nui-line-height-em) 0}.n-form textarea:not([data-auto]){overflow:auto}.n-form textarea[data-auto]{transform:translate3d(0,0,0)}.n-form input,.n-form textarea{background-color:var(--nui-input-bg,#eee);color:var(--nui-input-color,#333)}.n-form select{-moz-appearance:none;-webkit-appearance:none;appearance:none;text-indent:.01px;min-height:0;text-indent:0;padding:0 1.6em 0 .8em;height:calc(var(--nui-line-height-em) * 2);white-space:nowrap;text-indent:-1px;margin:0;text-indent:1px;cursor:pointer;background:linear-gradient(to bottom left,transparent 30%,var(--nui-control-color,#333) 10%,var(--nui-control-color,#333) 50%,transparent 30%),linear-gradient(to bottom right,transparent 30%,var(--nui-control-color,#333) 10%,var(--nui-control-color,#333) 50%,transparent 30%);background-size:.4em .4em;background-repeat:no-repeat;background-position:calc(100% - .85em),calc(100% - .5em);color:var(--nui-control-color,#333);background-color:var(--nui-control-bg,#eee)}.n-form select option{padding:0;padding-inline-end:1.5em}.n-form select,.n-form__file{vertical-align:top;border:none;margin-inline-start:0}.n-form input[type=search]{-webkit-appearance:none;border-radius:0}.n-form input[type=search]::-webkit-search-cancel-button,.n-form input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.n-form label,.n-form label span,.n-form__check span{margin:0;text-align:start}.n-form input,.n-form select{display:inline-block;width:auto;padding-top:0;margin:var(--nui-line-height-em) 0;vertical-align:middle}.n-form.sticky-submit{position:relative}.n-form.sticky-submit button[type=submit],.n-form.sticky-submit input[type=submit]{position:absolute;top:0;bottom:0;inset-inline-end:0}.n-form fieldset,.n-form__check{display:block;min-height:var(--nui-line-height-em);margin-bottom:var(--nui-line-height-em);border-radius:var(--nui-border-radius)}.n-form fieldset span,.n-form__check span{display:inline-block;font-weight:700;margin-top:0;cursor:default}.n-form fieldset label,.n-form__check label{text-align:start;font-weight:400;clear:right;margin:0;cursor:pointer;min-height:0;user-select:none;padding-inline-start:0;padding-inline-end:.75em;padding-bottom:0;display:inline}.n-form fieldset label span,.n-form__check label span{width:auto}.n-form fieldset label:last-child,.n-form__check label:last-child{margin-bottom:0}.n-form fieldset label input[type=checkbox],.n-form fieldset label input[type=radio],.n-form__check label input[type=checkbox],.n-form__check label input[type=radio]{margin:-.25em .2em 0 0}.n-form__check-icon{width:1em;height:1em;display:inline-block;background-color:var(--nui-control-bg,#eee);color:var(--nui-control-color,#333);line-height:calc((var(--nui-line-height) + 1) * .6666666667);text-align:center;border:none;margin:0;position:absolute;inset-inline-start:0;z-index:1;top:.05em;vertical-align:middle}.n-form--mast .n-form__check-icon,.n-form--wide .n-form__check-icon{top:.25em}.n-form input[type=checkbox]+.n-form__check-icon:before{content:"✓";display:block;height:1em;line-height:1}.n-form input[type=checkbox]:not(:checked)+.n-form__check-icon:before{opacity:0}.n-form input[type=checkbox],.n-form input[type=radio]{-webkit-appearance:none;-moz-appearance:window;-ms-appearance:none;background:0 0;cursor:pointer;padding:0;min-height:0;height:1em;width:1em;display:inline-block;margin:0;border:none}.n-form input[type=radio]+.n-form__check-icon{border-radius:50%}.n-form input[type=radio]:checked+.n-form__check-icon:before{content:"";position:absolute;background-color:var(--nui-control-color,#333);top:25%;right:25%;bottom:25%;left:25%;border-radius:50%}.n-form--mandatory{position:relative}.n-form--mandatory fieldset:before,.n-form--mandatory span.n-form__check:before,.n-form--mandatory span.tip:after{display:none}.n-form--mandatory:before{content:"*";color:#a00;position:absolute;top:0;font-weight:700;inset-inline-start:auto;inset-inline-end:0}.n-form--mandatory:has(fieldset):before{top:-.25rem}.n-form--alert p,.n-form--alert span{background:#666;color:#eee;padding:0 .25em}.n-form--alert fieldset,.n-form--alert span.n-form__check{background:0 0;color:#555}.n-form--alert span.tip{background:#222}.n-form__file{font-weight:400;margin:0 0 var(--nui-line-height) 0;cursor:pointer;font-style:italic;padding:0;position:relative;z-index:0}.n-form__file span{text-align:start;border:none;white-space:nowrap;background-color:var(--nui-control-bg,#ddd);color:var(--nui-control-color,inherit);padding:0 calc(var(--nui-line-height-em)/ 2) 0 .75em;display:block;line-height:var(--nui-line-height-em);padding-top:calc(var(--nui-line-height-em)/ 2);letter-spacing:0;position:absolute;inset:0;z-index:-1}.n-form__file span .n-form__file-name:empty,.n-form__file span .n-form__file-name:not(:empty)~.n-form__file-tag{display:none}.n-form__file input[type=file]{width:100%;cursor:pointer;border:none;margin:0;background:0 0;color:transparent;text-indent:-100%;padding:0;opacity:0}.n-form__file input[type=file]:focus+span{outline:auto}.n-form input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:0 0;margin:0;padding:0;box-shadow:none}.n-form input[type=range]::-webkit-slider-runnable-track{width:100%;height:.7125em;cursor:pointer;background:var(--nui-control-bg,rgba(0,0,0,.1))}.n-form input[type=range]::-webkit-slider-thumb{height:1.625em;width:1.625em;border-radius:50%;background:var(--nui-control-highlight,#000);cursor:pointer;-webkit-appearance:none;margin-top:-.45625em}.n-form input[type=range]:focus::-webkit-slider-runnable-track{background:var(--nui-control-bg,rgba(0,0,0,.1))}.n-form input[type=range]::-moz-range-track{width:100%;height:.7125em;cursor:pointer;background:var(--nui-control-bg,rgba(0,0,0,.1))}.n-form input[type=range]::-moz-range-thumb{border:0 solid transparent;height:1.625em;width:1.625em;border-radius:50%;background:var(--nui-control-bg,rgba(0,0,0,.1));cursor:pointer}.n-form legend{font-weight:700}.n-form fieldset{border:1px solid;display:block;margin:var(--nui-line-height-em) 0;padding:calc(var(--nui-line-height-em)/ 2 - .5px)}.n-form fieldset[disabled]{display:none}.n-form button,.n-form input[type=submit]{width:auto;min-width:0;padding:0 1em;min-height:calc(var(--nui-line-height-em) * 1.6667);text-align:start;font-size:1.2em;border-radius:var(--nui-border-radius)}.n-form--mast textarea,.n-form--wide textarea{margin:calc(var(--nui-line-height-em)/ -2) 0 calc(var(--nui-line-height-em)/ 2) 0}.n-form--wide button,.n-form--wide button[type=submit],.n-form--wide input[type=submit]{margin-bottom:calc(var(--nui-line-height-em) - 5px);line-height:calc(var(--nui-line-height-em)/ 3 * 2);font-size:1.2em;min-height:2.50005em;width:100%}.n-form--wide select{width:100%;height:calc(var(--nui-line-height-em) * 2);margin:calc(var(--nui-line-height-em)/ -2) 0 calc(var(--nui-line-height-em)/ 2) 0}.n-form--wide .n-form__check span,.n-form--wide .n-form__file,.n-form--wide fieldset label,.n-form--wide label,.n-form--wide label span{display:block;width:100%;clear:both}.n-form--wide select,.n-form--wide textarea,.n-form--wide:not(.sticky-submit) input:not([type=checkbox]):not([type=radio]){display:block;width:100%;border:none;margin:0 0 var(--nui-line-height-em) 0}.n-form--wide:not(.sticky-submit) fieldset>input:not([type=checkbox]):not([type=radio]):last-of-type,.n-form--wide:not(.sticky-submit) fieldset>select:last-of-type,.n-form--wide:not(.sticky-submit) fieldset>textarea:last-of-type{margin:0}.n-form--wide .n-form__check label input[type=checkbox],.n-form--wide .n-form__check label input[type=radio],.n-form--wide fieldset label input[type=checkbox],.n-form--wide fieldset label input[type=radio]{margin-top:-.2em}.n-form.n-form--mast button,.n-form.n-form--mast button[type=submit],.n-form.n-form--mast input[type=submit]{margin-inline-start:calc(50% + .5em);margin-bottom:calc(var(--nui-line-height-em) * 1.5)}.n-form.n-form--mast fieldset,.n-form.n-form--mast label{width:100%;display:grid;grid-template:auto/1fr 1fr;column-gap:1em;margin-bottom:1.5em}.n-form.n-form--mast fieldset{border-color:transparent;border:none;padding:calc(var(--nui-line-height-em)/ 2);padding-top:0;padding-bottom:var(--nui-line-height-em)}.n-form.n-form--mast fieldset legend{margin-bottom:calc(-1 * var(--nui-line-height-em));text-align:end;grid-column:1/2;grid-row:1/2;width:50%}.n-form.n-form--mast fieldset label{margin:0;display:block}.n-form.n-form--mast fieldset>*,.n-form.n-form--mast>.n-form__check fieldset>*,.n-form.n-form--mast>.n-form__check>*,.n-form.n-form--mast>label>*{width:100%;margin:calc(var(--nui-line-height-em)/ -2) 0 calc(var(--nui-line-height-em) * 1.5) 0;grid-column:-2/-1}.n-form.n-form--mast>.n-form__check fieldset>span,.n-form.n-form--mast>.n-form__check>span,.n-form.n-form--mast>label>span{text-align:end;grid-column:1;margin:0}.n-form.n-form--mast>.n-form__check{display:grid;grid-template:auto/1fr 1fr;column-gap:1em}.n-form.n-form--mast>.n-form__check>*{margin:0}.n-form.n-form--mast>.n-form__check label{display:block}.n-form.n-form--mast>.n-form__check fieldset{display:contents}.n-form.n-form--mast>.n-form__check fieldset label,.n-form.n-form--mast>.n-form__check fieldset legend{margin:0}.n-form.n-form--mast>.n-form__check fieldset legend{grid-column:1}.n-form.n-form--mast .n-form--mandatory:before{inset-inline-start:calc(50% - .5em);z-index:-1}_::-webkit-full-page-media,_:future,:root .n-form.n-form--mast fieldset{display:block}_::-webkit-full-page-media,_:future,:root .n-form.n-form--mast fieldset legend{width:calc(50% - .5em)}_::-webkit-full-page-media,_:future,:root .n-form.n-form--mast fieldset label{width:calc(50% - .5em);float:inline-end}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}ul.n-list{padding:0;line-height:var(--nui-line-height);min-height:var(--nui-line-height);margin:calc(var(--nui-line-height)/ 2) 0}ul.n-list.n-list--indent{margin-inline-start:1.5em}ul.n-list li{display:block;position:relative;width:100%;list-style:none;word-break:break-word;word-wrap:break-word}ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li{margin-inline-start:1em;max-width:calc(100% - 1em)}ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li:before{content:"•";position:absolute;margin-inline-start:-.67em;color:var(--nui-list-bg);font-size:1.5em;line-height:.9}ul.n-list.n-list--inline>li:first-child{margin-inline-start:0}ol.n-list{list-style-type:none;counter-reset:level1;padding:0;margin:0 0 var(--nui-line-height-em) 0}ol.n-list>li{text-indent:-2.3em;margin:var(--nui-line-height-em) 0 calc(var(--nui-line-height-em)/ 2) 2.3em}ol.n-list>li:before{width:auto;content:counter(level1);counter-increment:level1;font-weight:700;background:var(--nui-list-bg,#999);color:var(--nui-list-color,#fff);padding:0 .5em;border-radius:50%;margin-inline-end:.333em;min-height:1em;display:inline-block;text-indent:0;text-align:center}ol.n-list li>*{text-indent:0;display:inline-block;vertical-align:top;padding-top:0;margin-top:0}ol.n-list li>ul{display:block}ol.n-list>li ol{list-style-type:none;counter-reset:level2;display:block}ol.n-list>li ol>li:before{content:counter(level1) "." counter(level2) " ";counter-increment:level2;border-radius:1em}ol.n-list ol>li ol{list-style-type:none;counter-reset:level3;margin-inline-start:1em}ol.n-list ol>li ol li:before{content:counter(level1) "." counter(level2) "." counter(level3) " ";counter-increment:level3}ol.n-list ol>li{text-indent:-3.3em}ol.n-list ol ol>li{text-indent:-3.95em}ol.n-list ul{text-indent:.1em}ol.n-list p{text-indent:0}.n-nav.n-nav--scroll ul li,ul.n-list.n-list--inline,ul.n-list.n-list--inline li{vertical-align:top;display:inline-flex;width:auto}.n-nav ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li{margin-inline-start:0;max-width:100%}.n-nav ul.n-list li:before{display:none}[dir=rtl] ol.n-list>li{margin:var(--nui-line-height-em) 2.3em calc(var(--nui-line-height-em)/ 2) 0}[dir=rtl] ol.n-list>li:before{margin:0 0 0 .5em}.n-accordion{display:grid}.n-accordion--inline{display:inline-grid}.n-accordion>input[type=checkbox],.n-accordion__label{grid-column-start:1;grid-row-start:1;width:auto;height:auto;cursor:zoom-in;border:none;font:inherit;text-align:initial;margin:var(--accordion-margin,.25em) 0}.n-accordion>input[type=checkbox]{z-index:1;-webkit-appearance:none;appearance:none;margin:0}.n-accordion>input[type=checkbox]:checked{cursor:zoom-out}.n-accordion>input:not(:checked)~.n-accordion__content,.n-accordion[data-ready]>.n-accordion__label:not([aria-expanded=true])~.n-accordion__content{display:none}input:checked~.n-accordion__label button{background:var(--nui-control-active-bg,#fff);color:var(--nui-control-active-color,#222);cursor:zoom-out}input:checked~.n-accordion__label button:after{transform:rotate(180deg)}.n-accordion .n-accordion{margin:0 .5em}.n-accordion__label{user-select:none;cursor:zoom-in;letter-spacing:initial;position:relative}.n-accordion__label button{cursor:pointer;word-wrap:break-word;word-break:break-all;background-color:var(--nui-control-bg,inherit);color:var(--nui-control-color,inherit);border:none;width:100%;padding:calc(var(--line-height-em,1.5rem)/ 2);padding-inline-end:1.5em;text-align:start;font:inherit;border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-accordion__label button:after{transition:transform .2s ease-in-out;content:"";position:absolute;display:block;inset-inline-end:.5em;top:calc(50% - .5em);width:1em;height:1em;--icon:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(180) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A");-webkit-mask:var(--icon) center center no-repeat;-webkit-mask-size:.5em;mask:var(--icon) center center no-repeat;mask-size:.5em;background-color:var(--nui-control-color,#000)}.n-accordion__popin{display:grid;--n-popin-columns:1;grid-template:auto/repeat(var(--n-popin-columns),auto);column-gap:.5rem}.n-accordion__popin>*{display:contents}.n-accordion__popin .n-accordion__content{grid-row:var(--n-popin-open-row,0);grid-column:1/-1}.n-accordion__popin .n-accordion__label{grid-column:initial;grid-row:initial}.n-accordion__popin>:not([data-ready]) .n-accordion__content{display:none}@media (min-width:600px){.n-accordion__popin{--n-popin-columns:3}.n-accordion--mobile>.n-accordion__label,.n-accordion--mobile>input[type=checkbox]{display:none}.n-accordion--mobile>input:not(:checked)~.n-accordion__content,.n-accordion--mobile[data-ready]>.n-accordion__label:not([aria-expanded=true])~.n-accordion__content{display:initial}}.n-aspect{display:block;aspect-ratio:var(--ratio,calc(var(--width)/ var(--height)))}.n-aspect>img{max-width:100%;height:auto;margin:0 auto;display:block}.n-aspect.n-bottom>*{align-self:flex-end;vertical-align:bottom}.n-aspect.n-middle>*{align-self:center;vertical-align:middle}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-row{width:100%;display:flex;flex-wrap:wrap;text-align:center}.n-row img,.n-row picture{max-width:100%;height:auto;border:none;text-align:center}.n-row video{height:auto;background:#000;margin:0 auto;display:block;max-width:100%}.n-row video a[href]{color:#fff}.n-row table:not(.n-table) td{word-break:break-word}.n-row>*{position:relative;word-wrap:break-word;width:calc(20% - var(--nui-line-height-em));--col-width:1/5;padding:calc(var(--nui-line-height-em)/ 4);margin:calc(var(--nui-line-height-em)/ 4);flex-grow:1;text-align:start;min-width:0}.n-row>[class*=" _"],.n-row>[class^=_]{flex-grow:0}.n-row>*,.n-row>*>*{max-width:100%}.n-row>*>img{display:block;margin:0 auto}.n-row>._2\/3{--col-width:2/3}.n-row>._3\/4{--col-width:3/4}.n-row>._1\/4{--col-width:1/4}.n-row>._1\/5{--col-width:1/5}.n-row>._1\/6{--col-width:1/6}.n-row>._2\/5{--col-width:2/5}.n-row>._3\/5{--col-width:3/5}.n-row>._4\/5{--col-width:4/5}.n-row>._1\/3{--col-width:1/3}.n-row>._1\/2{--col-width:1/2}.n-row>._1\/1,.n-row>:only-child:not([class^=_]){--col-width:1}@-moz-document url-prefix(){.n-row>*{margin:calc(var(--nui-line-height-em)/ 4 - .0009em)}}@supports (--a:1){.n-row>*,.n-row>[class^=_]{--spacing:var(--nui-line-height-em);flex-basis:calc(var(--col-width) * 100% - var(--spacing))}@media screen and (max-width:1024px){.n-row>*{--col-width:1/5}}@media not screen and (min-width:900px){.n-row>*{--col-width:1/3}}.n-row.n-row--no-padding,.n-row.n-row--no-padding>*{--spacing:calc(var(--nui-line-height-em) / 2);padding:0}.n-row.n-row--no-margin,.n-row.n-row--no-margin>*,.n-row.n-row--vertical>*{--spacing:calc(var(--nui-line-height-em) / 2);margin:0}.n-row.n-row--no-spacing>*{--spacing:0em;padding:0;margin:0}.n-row.n-row--spacing-horizontal>*{margin:0 calc(var(--nui-line-height-em)/ 2)}.n-row.n-row--spacing-vertical>*{margin:calc(var(--nui-line-height-em)/ 2) 0}}.n-left,.n-left>*,.n-row>.n-left{text-align:start}.n-right,.n-right>*,.n-row>.n-right{text-align:end}.n-center,.n-center>*,.n-row>.n-center{text-align:center}.n-row>.n-bottom,.n-row>.n-middle,.n-row>.n-top{display:flex}.n-row>.n-top,.n-top.n-row>*{vertical-align:top;justify-content:flex-start;flex-direction:column;display:flex}.n-middle.n-row>*,.n-row>.n-middle{vertical-align:middle;justify-content:center;flex-direction:column;display:flex}.n-bottom.n-row>*,.n-row>.n-bottom{vertical-align:bottom;justify-content:flex-end;flex-direction:column;display:flex}.n-align-children *,.n-row.n-align-children>*{text-align:inherit}.n-row.n-row--vertical{flex-direction:column;min-height:100%}.n-row.n-row--vertical>*,.n-row.n-row--vertical>[class*=" _"],.n-row.n-row--vertical>[class^=_]{width:100%;box-sizing:border-box}.n-section{position:relative}.n-section:after,.n-section:before{content:"";display:table;width:100%}.n-masonry{column-count:3;column-gap:0;margin:var(--nui-line-height-em) 0;margin-inline-end:calc(var(--nui-line-height-em)/ -2);max-width:none}.n-masonry>*{display:table;width:100%;-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid-column;margin:0;padding:calc(var(--nui-line-height-em)/ 2) 0;padding-inline-end:calc(var(--nui-line-height-em)/ 2);box-sizing:border-box;word-break:break-word;word-wrap:break-word}.n-masonry._1\/2{column-count:2}.n-masonry._1\/4{column-count:4}.n-masonry._1\/4{column-count:5}ul.n-masonry{min-height:0;padding:0}ol.n-masonry>*{padding-inline-start:2.5em}.n-pad{padding:calc(var(--nui-line-height-em)/ 2);box-sizing:border-box}.n-pad-half{padding:calc(var(--nui-line-height-em)/ 4);box-sizing:border-box}.n-row>*>.n-unpad,.n-unpad{margin:calc(var(--nui-line-height-em)/ -2);width:calc(var(--nui-line-height-em) + 100%);max-width:100%;overflow-x:hidden}.n-row>*>.n-unpad{max-width:none}.n-unpad-vertical{margin:calc(-1 * var(--nui-line-height-em)) 0}.n-row.n-row--border-all{box-shadow:inset 0 0 0 1px var(--nui-color,#000)}.n-row.n-row--border-all>*{box-shadow:inset 1px 1px 0 0 var(--nui-color,#000);margin:0;flex-basis:calc(var(--col-width) * 100% - var(--spacing)/ 2)}.n-row.n-row--border{box-shadow:inset 0 0 0 1px var(--nui-color,#000)}.n-row * .n-box{background:#fff;box-shadow:inset 0 0 0 1px #e6e6e6}.n-row.n-row--border-off,.n-row.n-row--border-off *{box-shadow:none}@media not screen and (min-width:600px){.n-row{box-sizing:border-box}.n-row:not(.n-row--half){display:block;max-width:100%}.n-row:not(.n-row--half)>*>.n-unpad{margin:-.6em 0 -.6em -.3em;width:calc(100% + .6em);max-width:none}.n-row>*,.n-row>[class^=_]{padding:0;width:100%;border:none;box-sizing:border-box}.n-row:not(.n-row--no-margin):not(.n-row--border-all):not(.n-tabs)>*,.n-row:not(.n-row--no-margin):not(.n-row--border-all)>[class^=_]{margin:calc(var(--nui-line-height-em)/ 6) 0}@supports (--a:1){.n-row>*,.n-row>[class^=_]{padding:.3em;flex:0 0 100%}}.n-row>:empty{display:none}.n-row>.n-full-mobile-width,.n-row>[class^=_].n-full-mobile-width{box-sizing:content-box;padding:0}.n-row.n-row--no-spacing>*,.n-row.n-row--no-spacing>[class^=_]{margin:0;padding:0}.n-row--no-mobile-gutter.n-row>*{padding:0}.n-row.n-row--border,.n-row.n-row--border>*,.n-row>*{border:none}.n-row.n-row--half>*{width:50%;flex:0 0 50%}.n-row.n-row--border-all .n-row{width:calc(100% + var(--nui-line-height-em))}.n-masonry,.n-masonry[class^=_]{-moz-column-count:2;-webkit-column-count:2;column-count:2}}body[data-frozen]{overflow:hidden}.n-carousel__content{display:flex;will-change:scroll;outline:0;box-sizing:border-box;overflow-anchor:none;list-style:none;scrollbar-width:none}@media (prefers-reduced-motion:reduce){.n-carousel__content{transition:none}}.n-carousel__content::-webkit-scrollbar{display:none}.n-carousel__content>*{flex:1 0 auto;box-sizing:content-box;overflow:auto;width:100%;padding-inline-end:calc(1px * var(--subpixel-compensation,0))}.n-carousel__content>*>*{overflow:auto}.n-carousel__content img{height:auto}.n-carousel__content>:not([aria-current]):not(:last-child){overflow:auto}.n-carousel:not(.n-carousel--vertical)>.n-carousel__content{overflow-x:auto;width:calc(100% - 0px);padding:0 var(--peek,0)}.n-carousel:not(.n-carousel--vertical):not(.n-carousel--auto-height)>.n-carousel__content>*{overflow:auto}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height:not(.n-carousel--controls-outside){grid-template:auto/auto;grid-template-areas:"f f f" "a1 a1 a1" "prev a2 next" "a3 a3 a3" "i i i"}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height:not([data-ready])>.n-carousel__content>:not(:first-child){height:0;overflow:visible}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height>.n-carousel__content{overflow-y:hidden;height:var(--height,auto)}.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height>.n-carousel__content,.n-carousel:not(.n-carousel--vertical).n-carousel--auto-height>.n-carousel__content>*{min-height:9em}.n-carousel--vertical:not(.n-carousel--auto-height)>.n-carousel__content,.n-carousel--vertical[data-ready]>.n-carousel__content{flex-direction:column}.n-carousel--vertical>.n-carousel__next button{transform:none}.n-carousel--vertical>.n-carousel__previous button{transform:rotate(180deg)}.n-carousel--vertical[data-ready].n-carousel--auto-height>.n-carousel__content{overflow:hidden;overflow-y:auto}@keyframes carousel-css-only{100%{height:100%}}.n-carousel{--max-height:100vh;--peek:0px;display:grid;grid-template:auto 1fr auto 1fr auto/auto 1fr auto;position:relative;grid-template-areas:"f f f" "a1 a1 a1" "prev a2 next" "a3 a3 a3" "i i i"}.n-carousel.n-carousel--overlay,.n-carousel:fullscreen{max-height:100%!important}.n-carousel.n-carousel--overlay>.n-carousel__content,.n-carousel:fullscreen>.n-carousel__content{height:100%!important;height:100dvh!important}.n-carousel.n-carousel--overlay>.n-carousel__content figure,.n-carousel.n-carousel--overlay>.n-carousel__content iframe,.n-carousel.n-carousel--overlay>.n-carousel__content img,.n-carousel.n-carousel--overlay>.n-carousel__content video,.n-carousel:fullscreen>.n-carousel__content figure,.n-carousel:fullscreen>.n-carousel__content iframe,.n-carousel:fullscreen>.n-carousel__content img,.n-carousel:fullscreen>.n-carousel__content video{max-height:100%}.n-carousel:fullscreen .n-carousel__close{display:none}.n-carousel.n-carousel--overlay,.n-carousel:-webkit-full-screen{max-height:100%!important}.n-carousel.n-carousel--overlay>.n-carousel__content,.n-carousel:-webkit-full-screen>.n-carousel__content{height:100%!important;height:100dvh!important}.n-carousel.n-carousel--overlay>.n-carousel__content figure,.n-carousel.n-carousel--overlay>.n-carousel__content iframe,.n-carousel.n-carousel--overlay>.n-carousel__content img,.n-carousel.n-carousel--overlay>.n-carousel__content video,.n-carousel:-webkit-full-screen>.n-carousel__content figure,.n-carousel:-webkit-full-screen>.n-carousel__content iframe,.n-carousel:-webkit-full-screen>.n-carousel__content img,.n-carousel:-webkit-full-screen>.n-carousel__content video{max-height:100%}.n-carousel:-webkit-full-screen .n-carousel__close{display:none}.n-carousel.n-carousel--vertical{--max-height:75vh;height:var(--max-height,100%);max-height:100%}.n-carousel.n-carousel--vertical.n-carousel--auto-height:not([data-ready])>.n-carousel__content>:not(:first-child){display:none}.n-carousel.n-carousel--vertical>.n-carousel__content{max-height:100%}.n-carousel.n-carousel--vertical:not(.n-carousel--auto-height):-webkit-full-screen>.n-carousel__content{height:100%!important}.n-carousel.n-carousel--vertical:not(.n-carousel--auto-height):fullscreen>.n-carousel__content{height:100%!important}.n-carousel.n-carousel--vertical>.n-carousel__content{overflow-y:auto;box-sizing:content-box;padding:var(--peek,0) 0}.n-carousel.n-carousel--vertical>.n-carousel__content>*{width:100%;padding-inline-end:0;height:100%;padding-block-end:calc(1px * var(--subpixel-compensation,0))}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside)>.n-carousel__index{position:absolute;max-height:100%;overflow:auto;justify-content:initial;grid-area:auto}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--inline:not(.n-carousel--overlay){height:auto}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--inline:not(.n-carousel--overlay)>.n-carousel__index{position:static}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--inline:not(.n-carousel--overlay)>.n-carousel__index>*{display:initial;margin:0}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--index-end>.n-carousel__index{inset-inline-end:0;inset-inline-start:auto;grid-area:auto}.n-carousel.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--index-end.n-carousel--index-align-end>.n-carousel__index{position:absolute}.n-carousel.n-carousel--vertical.n-carousel--auto-height:not(.n-carousel--overlay){height:auto}.n-carousel.n-carousel--vertical.n-carousel--auto-height.n-carousel--peek>.n-carousel__content>*{height:calc(100% + 1px * var(--subpixel-compensation,0))}.n-carousel.n-carousel--vertical.n-carousel--auto-height.n-carousel--peek>.n-carousel__content:after,.n-carousel.n-carousel--vertical.n-carousel--auto-height.n-carousel--peek>.n-carousel__content:before{display:none}.n-carousel:not([data-ready])>*>button{cursor:not-allowed}.n-carousel:not([data-ready])>.n-carousel--auto-height>:not(:first-child){height:0;animation:carousel-css-only 2 .1s linear 1s forwards}.n-carousel:not([data-ready])>.n-carousel--auto-height>:first-child{min-height:100%}.n-carousel[data-sliding]{pointer-events:none}.n-carousel.n-carousel--rtl{direction:rtl}.n-carousel.n-carousel--peek{--peek:15%}.n-carousel:not([data-sliding])>.n-carousel__content{scroll-snap-type:x mandatory}.n-carousel:not([data-sliding])>.n-carousel__content>*{scroll-snap-align:center;scroll-snap-stop:always}.n-carousel.n-carousel--vertical:not([data-sliding])>.n-carousel__content{scroll-snap-type:y mandatory}.n-carousel.n-carousel--index-align-start>.n-carousel__index{justify-self:start}.n-carousel.n-carousel--index-align-center:not(.n-carousel--vertical)>.n-carousel__index{justify-self:center}.n-carousel.n-carousel--index-align-end>.n-carousel__index{justify-self:end}.n-carousel>.n-carousel__content{padding:0;margin:0;grid-row:1/-1;grid-column:1/-1}@media (prefers-reduced-motion:no-preference){.n-carousel>.n-carousel__content{transition:opacity .2s ease-in-out}}.n-carousel>:not(.n-carousel__content){z-index:1}.n-carousel>.n-carousel__previous{grid-area:prev;align-self:center}.n-carousel>.n-carousel__next{grid-area:next;align-self:center;justify-self:end}.n-carousel>.n-carousel__index{grid-area:i;align-self:end;justify-self:center;justify-content:center;overflow:auto;white-space:nowrap;vertical-align:middle}.n-carousel>.n-carousel__index img{width:3em;height:3em;object-fit:cover;padding:0}.n-carousel.n-carousel--thumbnails>.n-carousel__index{padding:1px}.n-carousel.n-carousel--thumbnails>.n-carousel__index>*{padding:0;vertical-align:middle;margin:.125em;border-radius:var(--nui-border-radius);overflow:hidden}.n-carousel.n-carousel--thumbnails>.n-carousel__index>* span{padding:0 1ch}.n-carousel.n-carousel--thumbnails>.n-carousel__index [aria-current]{box-shadow:0 0 0 1px var(--nui-control-bg,grey)}.n-carousel[data-platform=iPhone] .n-carousel__full-screen,.n-carousel[data-platform=iPod] .n-carousel__full-screen{display:none}.n-carousel[data-platform=iPhone] .n-carousel__close,.n-carousel[data-platform=iPod] .n-carousel__close{grid-area:f}.n-carousel.n-carousel--index-start{grid-template-areas:"i i i" "a1 a1 a1" "prev a2 next" "a3 a3 a3" "f f f"}.n-carousel.n-carousel--index-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--index-start .n-carousel__index{justify-content:flex-start}.n-carousel.n-carousel--index-start .n-carousel__close,.n-carousel.n-carousel--index-start .n-carousel__full-screen{align-self:end}.n-carousel.n-carousel--index-end>.n-carousel__index{justify-content:flex-end}.n-carousel.n-carousel--controls-outside{grid-template-areas:"f f f" "a1 content a2" "prev content next" "b1 content b2" "i i i"}.n-carousel.n-carousel--controls-outside>.n-carousel__content{grid-area:content}.n-carousel.n-carousel--controls-outside.n-carousel--index-start{grid-template-areas:"i i i" "a1 content a2" "prev content next" "b1 content b2" "f f f"}.n-carousel.n-carousel--controls-outside.n-carousel--index-align-start>.n-carousel__index{text-align:start}.n-carousel.n-carousel--controls-outside.n-carousel--index-align-end>.n-carousel__index{text-align:end}.n-carousel.n-carousel--vertical{grid-template:auto 1fr auto/auto 1fr auto 1fr auto;grid-template-areas:"i a1 prev a3 f" "i a1 a2 a3 f" "i a1 next a3 f"}.n-carousel.n-carousel--vertical:has(>.n-carousel__controls):before{content:"";grid-area:i;width:3em}.n-carousel.n-carousel--vertical>.n-carousel__index{align-self:center;justify-self:initial}.n-carousel.n-carousel--vertical>.n-carousel__index>*{display:block;white-space:normal;max-width:25vw}.n-carousel.n-carousel--vertical.n-carousel--index-align-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--index-align-end>.n-carousel__index{align-self:end;inset-inline-start:0}.n-carousel.n-carousel--vertical.n-carousel--index-end{grid-template-areas:"f a1 prev a3 i" "f a1 a2 a3 i" "f a1 next a3 i"}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start:not(.n-carousel--index-end){grid-template:1fr auto auto/auto auto auto 1fr auto auto;grid-template-areas:"f c a1 prev a2 i" "a3 a3 a3 a3 a3 i" "a4 a4 a4 next a5 b2";grid-template-columns:repeat(5,1fr);grid-template-rows:auto}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start:not(.n-carousel--index-end)>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start{grid-template:1fr auto auto/auto auto 1fr auto auto;grid-template-areas:"f c prev a2 a2 i" "a3 a3 a3 a3 a3 i" "a4 a4 next a5 a5 a5"}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-start>.n-carousel__previous{justify-self:center}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-end{grid-template:1fr auto auto/auto auto 1fr auto auto;grid-template-areas:"f c prev a2 a2 a2" "a3 a3 a3 a3 a3 i" "a4 a4 next a5 a5 i"}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-end>.n-carousel__index{align-self:end}.n-carousel.n-carousel--vertical.n-carousel--index-end.n-carousel--index-align-end>.n-carousel__previous{justify-self:center}.n-carousel.n-carousel--vertical>.n-carousel__previous{align-self:start}.n-carousel.n-carousel--vertical>.n-carousel__next{align-self:end}.n-carousel.n-carousel--vertical.n-carousel--controls-outside{grid-template-areas:"i a1 prev a2 f" "i content content content f" "i b1 next b2 f"}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-align-start>.n-carousel__index{align-self:start}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-end{grid-template-areas:"f a1 prev a2 i" "f content content content i" "f b1 next b2 i"}.n-carousel.n-carousel--vertical.n-carousel--controls-outside>.n-carousel__index{max-height:var(--max-height,100%)}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height:not([data-ready])>.n-carousel__index{max-height:0}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height[data-ready]{overflow:hidden}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height[data-ready][data-sliding]>.n-carousel__index{max-height:none}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height[data-ready].n-carousel--index-end>.n-carousel__index{margin-inline-start:calc(-1px * var(--index-width)/ 2)}.n-carousel:-webkit-full-screen{background:#000;--max-height:100vh}.n-carousel:fullscreen{background:#000;--max-height:100vh}.n-carousel.n-carousel--overlay{--max-height:100vh;position:fixed;top:0;left:0;right:0;z-index:2;max-height:none;height:100%;height:100dvh;background:rgba(255,255,255,.9)}@media (prefers-color-scheme:dark){.n-carousel.n-carousel--overlay{background:rgba(0,0,0,.9)}}.n-carousel.n-carousel--inline:not(.n-carousel--overlay){display:block}.n-carousel.n-carousel--inline:not(.n-carousel--overlay)>.n-carousel__index>[aria-current]{box-shadow:none}.n-carousel.n-carousel--inline:not(.n-carousel--overlay)>*{text-align:start}.n-carousel.n-carousel--inline:not(.n-carousel--overlay)>:not(.n-carousel__index){visibility:hidden;position:absolute;width:0;height:0;opacity:0;overflow:hidden}@supports not (aspect-ratio:1){_::-webkit-full-page-media,_:future,:root .n-carousel[data-sliding] > .n-carousel__content{scroll-snap-type:both mandatory}}_::-webkit-full-page-media,_:future,:root .n-carousel[data-sliding] > .n-carousel__content > *{scroll-snap-align:center}_::-webkit-full-page-media,_:future,:root .n-carousel.n-carousel--peek:not(.n-carousel--vertical) > .n-carousel__content:after{content:"";padding:var(--peek-int,0);flex-shrink:0}.n-carousel__close>*,.n-carousel__full-screen>*,.n-carousel__index>*,.n-carousel__next>*,.n-carousel__previous>*{box-sizing:border-box;text-decoration:none!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;all:revert;border:none;color:var(--nui-control-color,#333);background:var(--nui-control-bg,#eee);min-width:2.25em;min-height:2.25em;border-radius:var(--nui-border-radius,2.25em);margin:.25em;font:inherit;display:inline-flex;justify-content:center;align-items:center;padding:0 1ch;cursor:pointer}.n-carousel__close>* span,.n-carousel__full-screen>* span,.n-carousel__index>* span,.n-carousel__next>* span,.n-carousel__previous>* span{color:var(--nui-control-color,#333)}.n-carousel__close>[aria-current] span,.n-carousel__full-screen>[aria-current] span,.n-carousel__index>[aria-current] span,.n-carousel__next>[aria-current] span,.n-carousel__previous>[aria-current] span{color:var(--nui-control-active-color,#00f)}.n-carousel--tabs>.n-carousel__index,.n-carousel__close>*,.n-carousel__full-screen>*,.n-carousel__index>*,.n-carousel__next>*,.n-carousel__previous>*{box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-carousel--tabs>.n-carousel__index>*{box-shadow:none}.n-carousel[data-ready]{--height:0}.n-carousel[data-ready] .n-carousel__close>*,.n-carousel[data-ready] .n-carousel__full-screen>*,.n-carousel[data-ready]>.n-carousel__index>*,.n-carousel[data-ready]>.n-carousel__next>*,.n-carousel[data-ready]>.n-carousel__previous>*{cursor:pointer}.n-carousel[data-ready].n-carousel--auto-height:not(.n-carousel--vertical):not([data-sliding])>.n-carousel__content>:not([aria-current]){overflow:visible}.n-carousel[data-ready].n-carousel--auto-height>.n-carousel__content>*{overflow:hidden!important}.n-carousel__close,.n-carousel__full-screen,.n-carousel__next,.n-carousel__previous{height:2.85em;width:2.85em}.n-carousel__close button span,.n-carousel__full-screen button span,.n-carousel__next button span,.n-carousel__previous button span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.n-carousel__close button:before,.n-carousel__full-screen button:before,.n-carousel__next button:before,.n-carousel__previous button:before{content:"";background-color:var(--nui-control-color,#333);--chevron:url("data:image/svg+xml,%3Csvg height='18' viewBox='0 0 18 18' width='18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m9.003 7.626 7.081-7.081 1.916 1.915-8.997 8.998-9.003-9 1.917-1.916z' transform='translate(0 5)'/%3E%3C/svg%3E");-webkit-mask:var(--chevron) no-repeat 0 0/contain;-webkit-mask-size:100%;mask:var(--chevron) no-repeat 0 0;mask-size:100%;width:1em;height:1em;display:inline-block}.n-carousel__full-screen{grid-area:f;justify-self:baseline}.n-carousel__full-screen button:before{--chevron:url("data:image/svg+xml,%3Csvg viewBox='0 0 46 46' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000' fill-rule='nonzero'%3E%3Cpath d='M.778 17.444h5.555V6.334h11.111V.777H.778zM28.556.778v5.555h11.11v11.111h5.556V.778zM39.667 39.667H28.556v5.555h16.666V28.556h-5.555zM6.333 28.556H.778v16.666h16.666v-5.555H6.334z'/%3E%3C/g%3E%3C/svg%3E")}.n-carousel__full-screen~.n-carousel__close{grid-area:c}.n-carousel__controls{grid-area:f;display:flex;justify-self:start}.n-carousel--vertical>.n-carousel__controls{flex-direction:column;align-self:start}.n-carousel__close{grid-area:f;justify-self:baseline}.n-carousel__close button:before{--chevron:url("data:image/svg+xml,%3Csvg viewBox='0 0 480 480' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%2523000' fill-rule='evenodd'%3E%3Cpath d='M68.88 368.693l42.427 42.427L411.12 111.307 368.693 68.88 168.818 268.756z'/%3E%3Cpath d='M111.307 68.88L68.88 111.307 368.693 411.12l42.427-42.427-199.876-199.875z'/%3E%3C/g%3E%3C/svg%3E")}.n-carousel__close~.n-carousel__full-screen{grid-area:c}.n-carousel:not(.n-carousel--overlay)>.n-carousel__controls .n-carousel__close button:before{transform:rotate(45deg)}.n-carousel--rtl>.n-carousel__next button,.n-carousel__previous button,[dir=rtl] .n-carousel__next button{transform:rotate(90deg)}.n-carousel--rtl>.n-carousel__previous button,.n-carousel__next button,[dir=rtl] .n-carousel__previous button{transform:rotate(-90deg)}.n-carousel--tabs.n-carousel>.n-carousel__index{display:flex;justify-content:start;overflow:auto;max-width:100%;max-height:100%;color:var(--nui-control-color,#333);border-radius:var(--nui-border-radius)}.n-carousel--tabs.n-carousel>.n-carousel__index>*{box-sizing:border-box;border-radius:0;margin:0;display:flex;justify-content:flex-start;padding:.5ch 1ch;text-align:start;word-break:break-word;outline-offset:-3px;min-width:1.5em;min-inline-size:min-content}.n-carousel--tabs.n-carousel>.n-carousel__index>:focus{z-index:0}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index{display:block}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index>*{width:100%}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index>:first-child{border-radius:0;border-start-start-radius:var(--nui-border-radius);border-start-end-radius:var(--nui-border-radius)}.n-carousel--tabs.n-carousel.n-carousel--vertical>.n-carousel__index>:last-child{border-radius:0;border-end-start-radius:var(--nui-border-radius);border-end-end-radius:var(--nui-border-radius)}.n-carousel--tabs.n-carousel.n-carousel--vertical.n-carousel--auto-height>.n-carousel__index>*{white-space:nowrap}.n-carousel--tabs.n-carousel.n-carousel--tabs-align-end>.n-carousel__index>*{text-align:end}.n-carousel--tabs.n-carousel>.n-carousel__next,.n-carousel--tabs.n-carousel>.n-carousel__previous{display:none}@-moz-document url-prefix(){.n-carousel--vertical>.n-carousel__content{display:block}.n-carousel--vertical>.n-carousel__content>:last-child{margin-block-end:var(--peek,0)}}.n-carousel--lightbox{flex:1;--nui-carousel-bg:transparent}.n-carousel--lightbox:not(.n-carousel--auto-height){max-height:var(--max-height,100vh)}.n-carousel--lightbox figure{height:100%;margin:0;display:grid;grid-template:auto 1fr/auto;box-sizing:border-box}.n-carousel--lightbox figure>*{grid-row:1/3;grid-column:1/1;display:flex;justify-content:center;align-items:center;justify-self:center}.n-carousel--lightbox figure>figcaption{grid-row:1/2;justify-self:center;padding:.5em .75em;background:rgba(0,0,0,.3);color:#ddd;z-index:0;border-radius:var(--nui-border-radius);margin:.25em}.n-carousel--lightbox.n-carousel--auto-height figure,.n-carousel--lightbox.n-carousel--auto-height iframe,.n-carousel--lightbox.n-carousel--auto-height video{height:auto;max-height:none}.n-carousel--lightbox.n-carousel--auto-height :not(:-webkit-full-screen):not(.n-carousel--overlay)>.n-carousel__content{max-height:var(--max-height)}.n-carousel--lightbox.n-carousel--auto-height :not(:fullscreen):not(.n-carousel--overlay)>.n-carousel__content{max-height:var(--max-height)}.n-carousel--lightbox.n-carousel--index-start figure{grid-template:1fr auto/auto}.n-carousel--lightbox.n-carousel--index-start figure>figcaption{grid-row:2/3}.n-carousel--lightbox.n-carousel--vertical:not(.n-carousel--controls-outside) figure>figcaption{margin-top:3em}.n-carousel--lightbox.n-carousel--vertical:not(.n-carousel--controls-outside).n-carousel--index-start figure>figcaption{margin-top:none;margin-bottom:3em}.n-carousel--lightbox img{display:block;max-height:100%;max-width:100%;object-fit:contain;box-sizing:border-box;padding:0 .5px;z-index:0}.n-carousel--lightbox.n-carousel--auto-height img{max-height:none}.n-carousel--lightbox:-webkit-full-screen img{max-height:100%}.n-carousel--lightbox:-webkit-full-screen.n-carousel--auto-height figure{height:100%}.n-carousel--lightbox:fullscreen img{max-height:100%}.n-carousel--lightbox:fullscreen.n-carousel--auto-height figure{height:100%}.n-carousel--lightbox.n-carousel--overlay img{max-height:100%}.n-carousel--lightbox.n-carousel--overlay.n-carousel--auto-height figure{height:100%}.n-carousel--lightbox iframe,.n-carousel--lightbox video{border:none;margin:auto;max-width:100%;max-height:100%;height:auto;aspect-ratio:16/9}.n-carousel--lightbox>.n-carousel__content picture:not([data-loaded]){position:relative}.n-carousel--lightbox>.n-carousel__content picture:not([data-loaded]):before{content:"";position:absolute;inset:0;filter:blur(4px);background:var(--placeholder,none) center no-repeat;background-size:contain}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect{--max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect>.n-carousel__content>* figure{aspect-ratio:var(--ratio,16/9);position:relative;width:100%;height:auto}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect.n-carousel--auto-height img{max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect.n-carousel--vertical{height:var(--height)}.n-carousel--lightbox:not(.n-carousel--overlay):not(:fullscreen).n-carousel--aspect.n-carousel--vertical>.n-carousel__content>*{height:auto;flex-grow:initial}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect{--max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect>.n-carousel__content>* figure{aspect-ratio:var(--ratio,16/9);position:relative;width:100%;height:auto}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect.n-carousel--auto-height img{max-height:100%}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect.n-carousel--vertical{height:var(--height)}.n-carousel--lightbox:not(.n-carousel--overlay):not(:-webkit-full-screen).n-carousel--aspect.n-carousel--vertical>.n-carousel__content>*{height:auto;flex-grow:initial}@media only screen and (min-device-width:768px) and (max-device-width:1024px){.n-carousel:fullscreen .n-carousel__full-screen{display:none}}.transparent-scrollbar body>:not(dialog) ::-webkit-scrollbar{width:0;height:0}.transparent-scrollbar body>:not(dialog) ::-webkit-scrollbar-track{background:0 0}.n-modal{transition:opacity 67ms ease-in-out;overscroll-behavior:contain;background:var(--nui-bg,#fff);color:var(--nui-color,#000);border:0;text-align:right;overscroll-behavior:contain}.n-modal,.n-modal::backdrop{--duration:.2}.n-modal::backdrop{background:rgba(255,255,255,.9)}@media (prefers-reduced-motion:no-preference){.n-modal::backdrop{animation:backdrop_fade_in calc(var(--duration) * 1s) ease-in-out forwards}}@media (prefers-color-scheme:dark){.n-modal::backdrop{background:rgba(0,0,0,.9)}}.n-modal.n-modal--closing::backdrop{animation-name:backdrop_fade_out}.n-modal__content{display:none;overflow:auto;background:0 0;text-align:initial;max-height:calc(100vh - 2rem - 40px - 12px - 1em);padding:.25em}.n-modal>.n-modal__content{display:revert}.n-modal>.n-modal__close{min-width:40px;min-height:40px;margin:.25em;color:var(--nui-control-color,#fff);cursor:pointer;padding:.75em;font:inherit;background-color:var(--nui-control-bg,rgba(0,0,0,.7));z-index:1;top:0;position:sticky;border:0;padding:.5rem;font-weight:400}.n-modal>.n-modal__close:before{content:attr(data-close-symbol)}.n-modal.n-modal--full{margin:auto;width:100%;width:calc(100vw - 2 * env(safe-area-inset-left));height:100%;box-shadow:0 0 0 6px var(--nui-bg,#fff)}@media (prefers-color-scheme:dark){.n-modal.n-modal--full{box-shadow:0 0 0 6px var(--nui-bg,#000)}}.n-modal.n-modal--full::backdrop{opacity:0;animation:none}.n-modal[data-existing-attached-content]::backdrop{animation:none;background:#fff}@media (prefers-color-scheme:dark){.n-modal[data-existing-attached-content]::backdrop{background:#000}}.n-modal.n-modal--shadow{box-shadow:0 0 .25rem .125rem rgba(0,0,0,.5);max-height:calc(100% - 3.5rem);max-width:calc(100% - 3.5rem)}@media (prefers-color-scheme:dark){.n-modal.n-modal--shadow{box-shadow:0 0 .25rem .125rem rgba(255,255,255,.5)}}.n-modal.n-modal--shadow::backdrop{opacity:0;animation-name:none}.n-modal.n-modal--blur::backdrop{opacity:1;background:0 0;animation-name:backdrop_blur;animation-fill-mode:forwards}.n-modal.n-modal--blur.n-modal--closing::backdrop{animation-name:backdrop_blur_back}.n-modal.n-modal--rounded{border-radius:.5ch}.n-modal.n-modal--rounded .n-modal__close{border-radius:20px}.n-modal>*{background:var(--nui-bg,#fff);position:relative}@media (prefers-reduced-motion:no-preference){.n-modal.n-modal--transparent{opacity:0}.n-modal.n-modal--transparent::backdrop{opacity:.5;animation-name:none;transition:opacity 67ms ease-in-out}}_::-webkit-full-page-media,_:future,:root .n-modal{text-align:left}@keyframes backdrop_fade_in{from{opacity:0}to{opacity:1}}@keyframes backdrop_fade_out{from{opacity:1}to{opacity:0}}@keyframes backdrop_blur{from{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}}@keyframes backdrop_blur_back{from{-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}to{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}.n-modal,.n-modal__close{border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}@keyframes n-select{100%{visibility:hidden}}@keyframes n-select-native{100%{visibility:visible}}.n-select{position:relative;display:inline-grid;vertical-align:middle;max-width:100%;width:var(--width,auto);z-index:0;background-color:var(--nui-control-bg,#fff);line-height:var(--line-height,1.333)}.n-select:before{content:"";position:absolute;cursor:pointer;background-color:var(--nui-control-color,#333);--chevron:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16.003 18.626l7.081-7.081L25 13.46l-8.997 8.998-9.003-9 1.917-1.916z'/%3E%3C/svg%3E");-webkit-mask:var(--chevron) no-repeat 0 0/contain;mask:var(--chevron) no-repeat 0 0/contain;-webkit-mask-size:150%;-webkit-mask-position:50%;mask-size:150%;mask-position:50%;width:.75em;height:.75em;inset-inline-end:.625em;top:calc(50% - .375em);z-index:-1}@supports not (inset-inline-end:0){.n-select:before{right:.625rem}}.n-select:after{position:absolute;top:0;z-index:5}.n-select[data-ready]{font-size:1em;transition:height .2s ease-in-out}.n-select[data-ready]>.n-select__options>:not([aria-selected]){height:0;padding-top:0;padding-bottom:0;visibility:hidden;overflow:hidden;display:block}.n-select:not([data-ready]) .n-select__options,.n-select:not([data-ready]) select{animation-duration:.1s;animation-fill-mode:forwards;animation-delay:2s}.n-select:not([data-ready]) select{-webkit-appearance:none;appearance:none;border:none;width:100%;padding:var(--padding,.5em);padding-inline-end:1.961em;height:auto;margin:0;background:0 0}.n-select:not([data-ready]) select:not(:only-child){visibility:hidden;animation-name:n-select-native}.n-select:not([data-ready]) .n-select__options{display:inline-grid}.n-select:not([data-ready]) .n-select__options>*{grid-column:1/2;grid-row:1/2}.n-select:not([data-ready]) .n-select__options>:not(:first-child):not([aria-selected]){opacity:0}.n-select:not([data-ready]) .n-select__options:not([aria-expanded]) button[aria-selected]{background:var(--nui-control-bg,#fff)}.n-select>input{display:none}.n-select.n-select--wide{width:100%}.n-select.n-select--open{opacity:0;height:var(--active-option-height,auto)}.n-select,.n-select__options{--padding:.5em;--line-height:1.5em;border-radius:var(--nui-border-radius)}.n-select select,.n-select__options{width:auto;max-width:100%;color:var(--nui-control-color,#333);background-color:transparent;top:0;z-index:5;box-sizing:border-box;-webkit-appearance:none;appearance:none;font:inherit;border:none;grid-column:1/1;grid-row:1/1;overflow:hidden;-webkit-tap-highlight-color:transparent}.n-select select{padding:var(--padding,.5em);padding-inline-end:1.961em;cursor:pointer;line-height:calc(1 + var(--line-height,1.5em))}.n-select select~.n-select__options{animation-name:n-select}.n-select__options>*{display:block;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;user-select:none;line-height:inherit}.n-select__options button{-webkit-appearance:none;appearance:none;background:0 0;cursor:pointer;border:0;width:100%;text-align:start;margin:0;font-size:1em;position:relative;color:var(--nui-control-color,#333);background-color:var(--nui-control-bg,#fff);display:flex;align-items:center}.n-select__options button *{pointer-events:none;vertical-align:middle}.n-select__options button img{display:inline-block;object-fit:contain;width:2em;height:2em;margin-inline-end:.5em;max-width:none}.n-select__options.n-scrollbar{scrollbar-width:none;scrollbar-color:#999 transparent}.n-select__options.n-scrollbar::-webkit-scrollbar{width:.333em}.n-select__options.n-scrollbar::-webkit-scrollbar-thumb{background:#999;border-radius:.333em}.n-select__options.n-scrollbar::-webkit-scrollbar-track{background:0 0;border-radius:.333em}.n-select__options[aria-expanded]{position:absolute;margin-top:calc(-1px * (var(--active-option-offset,0) - var(--top-offset,0)) - 1px * var(--scroll-help-top,0));max-height:var(--max-height);overflow:auto;background:0 0;padding:0 calc(var(--padding,1em)/ 2);margin-inline-start:calc(-1 * var(--padding,1em)/ 2);left:calc(1px * var(--body-offset-x));top:calc(1px * var(--body-offset-y));box-sizing:content-box;min-width:var(--max-width)}.n-select__options[aria-expanded]>:first-child{margin-top:calc(2 * var(--padding,.5em));border-top-left-radius:var(--nui-border-radius);border-top-right-radius:var(--nui-border-radius)}.n-select__options[aria-expanded]>:last-child{margin-bottom:calc(2 * var(--padding,.5em));border-bottom-left-radius:var(--nui-border-radius);border-bottom-right-radius:var(--nui-border-radius)}.n-select__options[aria-expanded].n-select--crop-top{top:calc(1px * var(--body-offset-y));margin-top:calc(-1px * (var(--active-option-offset,0) - var(--top-offset,0)) - 1px * var(--scroll-help-top,0))}.n-select__options[aria-expanded]:not(.n-select--crop-top){padding-top:calc(1px * var(--scroll-help-top,0))}.n-select__options[aria-expanded]:not(.n-select--crop-top):before{margin-top:calc(1px * var(--scroll-help-top,0))}.n-select__options[aria-expanded] [aria-selected]{background-color:var(--nui-control-active-bg,#eee);color:var(--nui-control-active-color,#000)}.n-select__options[aria-expanded] a[href],.n-select__options[aria-expanded] button{width:100%;box-sizing:border-box}.n-select__options[aria-expanded] a[href]:not([aria-selected]):hover,.n-select__options[aria-expanded] button:not([aria-selected]):hover{background-color:var(--nui-control-highlight,#ececec);color:var(--nui-control-active-color,inherit)}.n-select__options[aria-expanded] a[href]:focus,.n-select__options[aria-expanded] button:focus{z-index:1}.n-select__options[aria-expanded]:before{content:"";position:absolute;background-color:var(--nui-control-bg,#fff);top:calc(2 * var(--padding,.5em));left:calc(var(--padding,.5em)/ 2);right:calc(var(--padding,.5em)/ 2);height:calc(var(--select-scroll-height) - 4 * var(--padding,.5em));border-radius:var(--nui-border-radius)}.n-select__options[aria-expanded].n-select--scroll-help-top:before{height:calc(100% + 1px * var(--top-offset,0))}.n-select__options[aria-expanded].n-select--shadow:before{box-shadow:0 0 4px 3px rgba(51,51,51,.5490196078)}.n-select__options:not([aria-expanded]){cursor:pointer;box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}.n-select__options:not([aria-expanded]) button{white-space:nowrap;overflow:hidden;max-width:calc(100% - 1.5em);width:auto;margin:0;outline-offset:-1.5px;font-size:1em;border:none;padding:var(--padding,.5em);padding-inline-end:2em;font-weight:400;min-height:0;color:var(--nui-control-color,#333);background:0 0}.n-select__options>*,.n-select__options>button{padding:var(--padding,.5em);padding-inline-end:2em;position:relative;font-family:inherit;background-color:var(--nui-control-bg,#fff);box-shadow:none}.n-select[data-ready] select,.n-select[data-ready]+select,select[data-n_select]{display:none}.n-select__options[aria-expanded]{-webkit-mask:linear-gradient(0,#000,#000) no-repeat 0 calc((var(--mask-position-y) + var(--scroll-help-top,0)) * 1px)/calc(var(--max-width) + 2 * var(--padding,.5em)) var(--mask-size-y);overscroll-behavior:contain}.n-select__options[aria-expanded][data-n-select-animation]{transition:-webkit-mask-size .15s ease-in-out,-webkit-mask-position-y .15s ease-in-out;-webkit-mask-size:100% 100%;-webkit-mask-position-y:0}@media (prefers-reduced-motion:reduce){.n-select__options[aria-expanded][data-n-select-animation]{transition:none}}@media (min-width:600px){.n-select .n-select__options[aria-expanded]{width:calc(var(--max-width) + var(--padding,.5em))}}.n-select--rounded{--nui-border-radius:.333em}.n-select:focus:not(:focus-visible),.n-select__options button:focus:not(:focus-visible){outline:0}_::-webkit-full-page-media,_:future,:root body.n-select--open{overflow:hidden;-webkit-user-select:none;user-select:none}[dir=rtl] .n-select__options[aria-expanded]{margin-inline-end:0;left:auto;right:calc(100% - 1px * var(--body-offset-x) - var(--max-width));-webkit-mask-position-x:100%;mask-position-x:100%}@supports not (inset-inline-end:0){[dir=rtl] .n-select:before{left:.625rem;right:auto}}.n-tooltip{cursor:help}.n-tooltip__icon{display:inline-block;border-radius:.5em;min-width:1em;height:1em;text-align:center;line-height:1;background-color:var(--nui-control-bg,#444)}.n-tooltip__icon:empty:after{content:"?"}.n-tooltip__content,.n-tooltip__icon{color:var(--nui-control-color,#ddd)}.n-tooltip__content{overflow:hidden;max-height:calc(100vh - 40px);padding:calc(var(--line-height-em)/ 2);font-size:.8em;font-weight:400;position:absolute;z-index:999;text-align:start;transition:opacity .2s ease-in-out;width:min(30em,80vw);line-height:calc(var(--line-height-em)/ 1.25);padding:2em;box-sizing:border-box;display:none}.n-tooltip__content-visible{display:block}.n-tooltip__content:after{content:"";position:absolute;background-color:var(--nui-control-bg,#444);transform:rotate(45deg);width:1em;height:1em}.n-tooltip__content:before{content:"";inset:0;position:absolute;margin:1em;background:var(--nui-control-bg,#444);border-radius:var(--nui-border-radius);z-index:-1}.n-tooltip__content:not([data-n-position=top]){-webkit-mask:linear-gradient(red,red) no-repeat;-webkit-mask-size:100% calc(100% - 1em);mask:linear-gradient(red,red) no-repeat;mask-size:100% calc(100% - 1em)}.n-tooltip__content[data-n-position=bottom],.n-tooltip__content[data-n-position=top]{margin-left:var(--offset_x,0)}.n-tooltip__content[data-n-position=bottom]:after,.n-tooltip__content[data-n-position=top]:after{left:calc(50% - .5em - var(--offset_x,0));bottom:.55em}.n-tooltip__content[data-n-position=bottom]:after{top:.55em}.n-tooltip__content[data-n-position=left],.n-tooltip__content[data-n-position=right]{margin-top:var(--offset_y,0)}.n-tooltip__content[data-n-position=left]:after,.n-tooltip__content[data-n-position=right]:after{top:calc(50% - .5em - var(--offset_y,0));left:.55em}.n-tooltip__content[data-n-position=left]:after{right:.55em;left:auto}body:has(>.n-tooltip__content){position:relative}@-moz-document url-prefix(){body{position:relative}}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-nav{vertical-align:baseline;display:inline-block;color:var(--nui-control-color,inherit);--nui-nav-gap:0.75em;--n-nav-duration:0}@media (prefers-reduced-motion:no-preference){.n-nav{--n-nav-duration:.2s}}.n-nav a:focus{z-index:1}.n-nav ul{margin:0;padding:0;display:inline-block;width:auto;list-style:none;display:flex;flex-wrap:wrap;border-inline-start:var(--nui-nav-gap) solid var(--nui-control-bg);border-radius:var(--nui-border-radius);background-color:var(--nui-control-bg,transparent)}.n-nav ul li:last-child{margin-inline-end:0}.n-nav.n-nav--scroll{overflow:auto;max-width:100%;background-color:var(--nui-control-bg,transparent);border-radius:var(--nui-border-radius)}.n-nav.n-nav--scroll>ul{display:flex;flex-wrap:nowrap;white-space:nowrap}.n-nav a{position:relative;padding-inline-end:var(--nui-nav-gap);display:inline-block}.n-nav.n-big-text{--nui-nav-gap:1em}.n-nav a[aria-current],.n-nav a[aria-current][href]{text-decoration:none;color:var(--nui-control-active-color);cursor:initial}.n-nav:not(.n-nav--drop) a[href^="#"]{text-decoration:none}.n-nav.n-row{display:inline-flex}.n-nav.n-nav--vertical ul{display:grid;border:none}.n-nav.n-nav--vertical ul a{display:block;padding-inline-start:var(--nui-nav-gap)}.n-nav.n-nav--vertical ul li:first-child a{border-start-end-radius:var(--nui-border-radius);border-start-start-radius:var(--nui-border-radius)}.n-nav.n-nav--vertical ul li:last-child a{border-start-end-radius:0;border-end-start-radius:var(--nui-border-radius)}.n-nav.n-nav--vertical.n-nav--vertical-wide{display:block}.n-nav--scroll>ul{overflow:auto;max-width:100%;transform:translate3d(0,0,0);border:none}.n-nav--scroll ul li{padding:calc(var(--nui-line-height-em)/ 2) 0}.n-nav--scroll ul li:first-of-type a{padding-inline-start:var(--nui-nav-gap)}.n-nav--drop{--nui-nav-gap:0;color:var(--nui-control-color,#333);background-color:transparent;max-width:100%}.n-nav--drop ul{padding:0;margin:0;min-height:0;z-index:1;border-radius:0}.n-nav--drop ul ul{padding:0;position:absolute;inset-inline-start:0;top:100%}.n-nav--drop ul ul ul{margin-inline-start:100%;top:0}.n-nav--drop ul ul.n-left-side.n-right-overflow{margin-inline-start:var(--n-right-overflow,0)}.n-nav--drop ul ul.n-left-side ul{margin-inline-start:0;inset-inline-start:auto;inset-inline-end:100%}.n-nav--drop ul li{display:inline-block;vertical-align:top;margin:0;padding:0;box-sizing:border-box;position:relative;width:auto;background-color:var(--nui-control-bg,#fff)}.n-nav--drop li>a{padding:.75em;display:block}.n-nav--drop.n-nav li>a{background:0 0}.n-nav--drop a:focus,.n-nav--drop li>:focus{outline-offset:-7px}.n-nav--drop a[href]{position:relative}.n-nav--drop li:not([aria-haspopup])>a{z-index:0}.n-nav--drop ul[role=menubar] li>a{margin-inline-end:0;padding-inline-end:.75em}.n-nav--drop ul[role=menubar] li[aria-haspopup]>a{margin-inline-end:1.75em;padding-inline-end:.75em}.n-nav--drop[data-ready] ul[role=menubar] li[aria-haspopup]>a{margin-inline-end:0;padding-inline-end:.75em}.n-nav--drop li li{display:block;width:100%}.n-nav--drop ul li:not([aria-expanded])>ul{min-height:0;max-height:0;overflow:hidden;position:absolute}.n-nav--drop :focus~ul,.n-nav--drop a:focus~ul,.n-nav--drop li li:not(:focus) :checked~ul,.n-nav--drop li li[aria-expanded]>ul,.n-nav--drop ul li>:checked~ul,.n-nav--drop ul li[aria-expanded]>ul{max-height:none;overflow:visible;opacity:1;z-index:2;background-color:var(--nui-control-bg,#fff)}.n-nav--drop li li:not(:focus) :checked~ul,.n-nav--drop li li[aria-expanded]>ul,.n-nav--drop ul li[aria-expanded]>ul{z-index:2}.n-nav--drop li>input{-webkit-appearance:none;-moz-appearance:none;display:block;position:absolute;width:100%;height:100%;border:none;border-radius:0;inset-inline-end:0;width:1.875em;margin:0;font-size:inherit;cursor:pointer}.n-nav--drop li[aria-haspopup]:before{content:"";position:absolute;display:block;inset-inline-end:0;top:0;width:1.875em;height:100%}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li:before{content:"";margin:0;font-size:1em}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline) li:not([aria-haspopup=true]):before{display:none}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline).n-left-side li:before{inset-inline-end:auto;transform:rotate(180deg);inset-inline-start:0;margin:0;top:0;height:2em}.n-nav--drop.n-nav ul.n-list li:before{display:block;height:100%}.n-nav--drop li>input,.n-nav--drop li[aria-haspopup]:before{--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(180) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A") center center no-repeat;-webkit-mask:var(--mask);-webkit-mask-size:.5em;-webkit-mask-repeat:no-repeat;mask:var(--mask);mask-size:.5em;background-color:var(--nui-control-color,#000);mask-repeat:no-repeat}.n-nav--drop[data-ready] li>ul~a{background:0 0}.n-nav--drop li[aria-haspopup]{padding-inline-end:1.875em}@media (min-width:600px){.n-nav--drop{--desktop:true}.n-nav--drop ul ul{transition:transform var(--n-nav-duration) ease-in-out;transform-origin:top;transform:scaleY(0)}.n-nav--drop :focus~ul,.n-nav--drop a:focus~ul,.n-nav--drop li li:not(:focus) :checked~ul,.n-nav--drop li li[aria-expanded]>ul,.n-nav--drop ul li>:checked~ul,.n-nav--drop ul li[aria-expanded]>ul{transform:scaleY(1)}.n-nav--drop :focus~ul ul,.n-nav--drop a:focus~ul ul,.n-nav--drop li li:not(:focus) :checked~ul ul,.n-nav--drop li li[aria-expanded]>ul ul,.n-nav--drop ul li>:checked~ul ul,.n-nav--drop ul li[aria-expanded]>ul ul{transform:scaleX(1);transform-origin:left}.n-nav--drop li li>input,.n-nav--drop li li[aria-haspopup]:before{--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(90) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A");-webkit-mask-image:var(--mask);-webkit-mask-position:center;mask-image:var(--mask);mask-position:center}.n-nav--drop:not([data-ready]) li{display:flex}.n-nav--drop:not([data-ready]) li>input{position:static;order:1}.n-nav--drop:not([data-ready]) li:not([tabindex])>ul~a{padding-inline-end:.75em}.n-nav--drop li:not([tabindex])>ul~a{padding-inline-end:2.75em}.n-nav--drop ul.n-left-side li[aria-haspopup]{padding-inline-end:0;padding-inline-start:1.875em}.n-nav--drop ul.n-left-side li[aria-haspopup]:before{transform:rotate(180deg);inset-inline-start:0}html:not(.can-touch) .n-nav--drop ul li:not([aria-expanded]) ul ul{transition:calc(var(--n-nav-duration)/ 2) var(--n-nav-duration);opacity:0;position:absolute;transform:scaleX(0);transform-origin:left}html:not(.can-touch) .n-nav--drop ul li:not([aria-expanded]) ul.n-left-side ul{transform-origin:right}html:not(.can-touch) .n-nav--drop>ul>li>ul li{background-color:var(--nui-control-bg,#fff)}html:not(.can-touch) .n-nav--drop>ul li ul>li:hover>input:not(:checked)~ul,html:not(.can-touch) .n-nav--drop>ul li:not([aria-haspopup]) ul li:hover>input:not(:checked)~ul,html:not(.can-touch) .n-nav--drop>ul>li:hover>input:not(:checked)~ul,html:not(.can-touch) .n-nav--drop>ul>li:not([aria-haspopup]):hover>input:not(:checked)~ul{min-height:0;max-height:0;overflow:hidden;z-index:1;position:absolute}html:not(.can-touch) .n-nav--drop ul ul li:not([aria-expanded]) :checked~ul,html:not(.can-touch) .n-nav--drop>ul li ul>li:hover>ul,html:not(.can-touch) .n-nav--drop>ul li:not([aria-haspopup]) ul li:hover~ul,html:not(.can-touch) .n-nav--drop>ul>li:hover>ul,html:not(.can-touch) .n-nav--drop>ul>li:not([aria-haspopup]):hover>ul{max-height:none;overflow:visible;opacity:1;z-index:2;background-color:var(--nui-control-bg,#fff);transform:scaleY(1)}html:not(.can-touch) .n-nav--drop>ul li ul li:hover ul{transition-delay:var(--n-nav-duration);transform:scaleX(1)}nav.n-nav--drop ul[role=menubar]>li>a{max-width:100vw;white-space:normal}nav.n-nav--drop li{white-space:nowrap}nav.n-nav--drop li li li a,nav.n-nav--drop li li[haspopup]>a{white-space:normal;max-width:calc(33.33vw - 2em);width:100em}html.can-touch .n-nav--drop li .n-left-side>li:not([aria-expanded]){overflow:hidden}[dir=rtl] .n-nav--drop li ul:not(.n-left-side)>li[aria-haspopup]:before{transform:rotate(180deg)}html:not(.can-touch) [dir=rtl] .n-nav--drop ul li:not([aria-expanded]) ul ul,html:not(.can-touch)[dir=rtl] .n-nav--drop ul li:not([aria-expanded]) ul ul{transform-origin:right}}@media not screen and (min-width:600px){.n-nav--drop ul li:not([aria-expanded])>ul{position:static;width:calc(100% + 3em);transition:max-height var(--n-nav-duration) ease-in-out}.n-nav--drop ul ul{position:static;width:calc(100% + 3em);padding-inline-start:.5em;overflow:hidden;box-sizing:border-box}.n-nav--drop ul ul ul{margin:0}.n-nav--drop ul li{width:100%}.n-nav--drop ul li[aria-haspopup]{padding-inline-end:3em}.n-nav--drop ul li[aria-haspopup][aria-expanded]:before{--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpolygon transform='translate(8 8) rotate(0) translate(-8 -8)' points='8 0 16 16 0 16' fill='%23000' fill-rule='nonzero'/%3E%3C/g%3E%3C/svg%3E%0A");-webkit-mask-image:var(--mask);mask-image:var(--mask);-webkit-mask-position-x:center;mask-position-x:center;-webkit-mask-position-y:1.15em;mask-position-y:1.15em}.n-nav--drop ul.n-list:not(.n-list--no-bullet):not(.n-list--inline).n-left-side li:before{inset-inline-end:0;inset-inline-start:auto;transform:none}.n-nav--drop li>input{-webkit-mask-position-y:1.15em;mask-position-y:1.15em;z-index:1}html:not([data-nui-js]) .n-nav--drop{width:100%}html:not([data-nui-js]) .n-nav--drop ul li{display:flex;flex-direction:column}html:not([data-nui-js]) .n-nav--drop ul li a{order:-1}html:not([data-nui-js]) .n-nav--drop ul li:not([aria-expanded])>ul{width:100%}html:not([data-nui-js]) .n-accordion.n-accordion--mobile:not([aria-expanded]) .n-accordion__content{max-width:100%}}@supports (-webkit-overflow-scrolling:touch){.n-nav--drop :focus{outline-style:dotted;outline-width:1px}}.n-nav--scroll,.n-nav:not(.n-nav--drop) ul{box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color)}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-notify{background:rgba(0,0,0,.8);text-align:center;padding:1em;color:#fff;cursor:crosshair;z-index:1;-webkit-appearance:none;appearance:none;border:none;width:100%;font:inherit}.n-notify:after{content:" ✕"}.n-notify--fixed{font-weight:500;position:fixed;left:0;right:0;z-index:2}.n-notify:focus:focus-visible{outline-offset:-3px;outline:auto}.n-parallax{overflow:hidden}.n-parallax__content{will-change:transform;transform:translateY(calc(var(--scrollparallax,0) * 1px))}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-table,.n-table--wide{overflow:auto;border-collapse:collapse;border-radius:var(--nui-border-radius);box-shadow:0 0 0 var(--nui-border-size) var(--nui-border-color),0 0 var(--nui-shadow-blur) calc(var(--nui-border-size) + var(--nui-shadow-size)) var(--nui-shadow-color);display:inline-block}.n-table--wide{width:100%;overflow:auto}.n-table--wide .n-table{width:100%;display:table}.n-table td,.n-table th{padding:var(--nui-line-height-em) calc(var(--nui-line-height-em)/ 2);vertical-align:middle}.n-table th,.n-table thead td{color:#fff;font-weight:700;padding-bottom:var(--nui-line-height-em);font-size:1.1em;background:rgba(0,0,0,.3);text-align:start}.n-table th button.n-table__sort,.n-table thead td button.n-table__sort{width:100%;cursor:pointer;-webkit-appearance:none;appearance:none;font:inherit;text-align:inherit;border:0;padding:0;background:0 0;color:inherit;user-select:none}.n-table th button.n-table__sort:after,.n-table thead td button.n-table__sort:after{content:"⇳";margin-left:.5em}.n-table tr:nth-child(2n+1){background:rgba(0,0,0,.025)}.n-table iframe,.n-table td,.n-table th,.n-table tr{border:none}@media not screen and (min-width:600px){.n-table{table-layout:auto}.n-table td{word-break:normal}}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-type{-webkit-text-size-adjust:none;font-size:var(--nui-font-size,16px);line-height:var(--nui-line-height);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;letter-spacing:.25px}.n-type h1,.n-type h2,.n-type h3,.n-type h4,.n-type h5,.n-type h6{line-height:var(--nui-line-height);word-break:break-word;word-wrap:break-word;font-size:1em;font-weight:500;margin:24px 0;line-height:3rem}@media not screen and (min-width:600px){.n-type h1,.n-type h2,.n-type h3,.n-type h4,.n-type h5,.n-type h6{-webkit-hyphens:auto;hyphens:auto}}.n-type h1+p:not(.n-drop-cap),.n-type h2+p:not(.n-drop-cap),.n-type h3+p:not(.n-drop-cap),.n-type h4+p:not(.n-drop-cap),.n-type h5+p:not(.n-drop-cap),.n-type h6+p:not(.n-drop-cap){margin-top:0}.n-type h4,.n-type h5,.n-type h6{line-height:1.5rem}.n-type h1{font-size:2.75rem}.n-type h2{font-size:2.25rem}.n-type h3{font-size:2rem}.n-type h4{font-size:1.75rem}.n-type h5{font-size:1.5rem}.n-type h6{font-size:1.25rem}.n-type pre{overflow:auto}.n-type p{font-size:1em;margin:var(--nui-line-height-em) 0;line-height:var(--nui-line-height)}.n-type .n-drop-cap:first-letter{float:left;font-size:5em;padding:.1em .1em .1em 0;margin-top:-.2em;line-height:1em}.n-type a[href]{color:inherit}.n-type p a[href]{display:inline}.n-type hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}.n-type .n-quote,.n-type blockquote,.n-type q{border-inline-start:1px solid #bbb;padding-inline-start:1em;display:block;margin:var(--nui-line-height-em) 0;margin-inline-start:1em}.n-type .n-big-text{font-size:1.125em;line-height:calc(2 * var(--nui-line-height-em));min-height:1.3334em}.n-adjust-height,.n-row picture.n-adjust-height{border-bottom:calc(1px * var(--adjust-height)) solid transparent;box-sizing:content-box}.n-burger{width:1.5em;height:1.5em;line-height:1.5em;font-size:2em;display:inline-block;text-align:center;position:relative;background:var(--nui-control-bg,#fff)}.n-burger:before{content:"";position:absolute;left:.25em;width:1em;top:.15em;box-shadow:0 .25em 0 1px var(--nui-control-color,#333),0 .625em 0 1px var(--nui-control-color,#333),0 1em 0 1px var(--nui-control-color,#333);height:.1px}[dir=rtl] .n-type .n-drop-cap:first-letter,[dir=rtl].n-type .n-drop-cap:first-letter{float:right}:root{--nui-font-size:16px;--nui-line-height:1.5;--nui-line-height-em:calc(1rem * var(--nui-line-height));--nui-color:#333}.n-contain{max-width:100rem;margin:0 auto;width:100%}html.n-vertical-page,html.n-vertical-page body{height:100%;margin:0 auto;overflow-x:hidden}html.n-vertical-page body{overflow:hidden;height:auto}body.n-sticky-footer{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}body.n-sticky-footer main{flex-grow:1}.n-header a.n-logo{display:inline-block}.n-wide-screen{display:block}.n-narrow-screen{display:none}.n-footer{position:relative}.n-footer>*{position:static}.n-fixed-bg{position:relative;z-index:0}.n-fixed-bg__backdrop{position:absolute;clip:rect(auto,auto,auto,auto);width:100%;height:100%;inset:0;z-index:-1}.n-fixed-bg__backdrop img{inset:0;width:100%;height:100vh;height:100dvh;position:fixed;object-fit:cover;object-position:center}.n-fixed{position:fixed}.n-fixed.n-header{position:static}a[href].span-relative-parent{position:absolute;top:0;right:0;bottom:0;left:0}.n-viewport{min-height:100vh;min-height:100dvh}@media not screen and (min-width:600px){.n-wide-screen{display:none}.n-narrow-screen{display:block}.n-viewport.n-header-banner{height:auto;overflow:hidden}.n-header .head-right{text-align:start}.n-header.n-fixed{position:fixed;top:0;left:0;right:0;background:#fff;z-index:7}.n-header a.n-logo{float:right}}:root{--nui-border-size:0px;--nui-border-color:var(--nui-control-color);--nui-shadow-size:0px;--nui-shadow-blur:0;--nui-shadow-color:var(--nui-control-color);--nui-border-color:transparent}.n-scheme-dark{--nui-color:var(--nui-color-dark);--nui-bg:var(--nui-bg-dark);--nui-control-color:var(--nui-control-color-dark);--nui-control-bg:var(--nui-control-bg-dark);--nui-control-active-bg:var(--nui-control-active-bg-dark);--nui-control-active-color:var(--nui-control-active-color-dark);--nui-control-highlight:var(--nui-control-highlight-dark);--nui-input-color:var(--nui-input-color-dark);--nui-input-bg:var(--nui-input-bg-dark);--nui-list-color:var(--nui-list-color-dark);--nui-list-bg:var(--nui-list-bg-dark);--nui-border-color:var(--nui-border-color-dark);--nui-shadow-color:var(--nui-shadow-color-dark);--nui-border-color-dark:transparent;--nui-shadow-color-dark:transparent}@media (prefers-color-scheme:dark){.n-scheme-auto{--nui-color:var(--nui-color-dark);--nui-bg:var(--nui-bg-dark);--nui-control-color:var(--nui-control-color-dark);--nui-control-bg:var(--nui-control-bg-dark);--nui-control-active-bg:var(--nui-control-active-bg-dark);--nui-control-active-color:var(--nui-control-active-color-dark);--nui-control-highlight:var(--nui-control-highlight-dark);--nui-input-color:var(--nui-input-color-dark);--nui-input-bg:var(--nui-input-bg-dark);--nui-list-color:var(--nui-list-color-dark);--nui-list-bg:var(--nui-list-bg-dark);--nui-border-color:var(--nui-border-color-dark);--nui-shadow-color:var(--nui-shadow-color-dark);--nui-border-color-dark:transparent;--nui-shadow-color-dark:transparent}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body .n-contain{max-width:1312px}:root{--color-teal:#488e89}.n-carousel{background:#eee}.n-wp .n-carousel.n-carousel--thumbnails>.n-carousel__index>* span{padding:0}.n-wp body{margin:0}.n-wp .n-carousel.n-carousel--lightbox>.n-carousel__content{grid-row:1/-2}.n-wp .n-carousel.n-carousel--lightbox.n-carousel--overlay{margin:0}.n-wp .n-carousel.n-carousel--lightbox.n-carousel--overlay>.n-carousel__content{grid-row:1/-1}.n-wp .n-carousel.n-carousel--lightbox.n-carousel--overlay .gallery{flex-wrap:nowrap;margin:0;overflow:auto;overflow-y:hidden}.n-wp .n-carousel.n-carousel--lightbox.n-carousel--overlay .gallery a{width:2em}.n-wp .n-carousel.n-carousel--lightbox:-webkit-full-screen{margin:0}.n-wp .n-carousel.n-carousel--lightbox:-webkit-full-screen>.n-carousel__content{grid-row:1/-1}.n-wp .n-carousel.n-carousel--lightbox:-webkit-full-screen .gallery{flex-wrap:nowrap;margin:0}.n-wp .n-carousel.n-carousel--lightbox:-webkit-full-screen .gallery a{width:2em}.n-wp .n-carousel.n-carousel--lightbox:fullscreen{margin:0}.n-wp .n-carousel.n-carousel--lightbox:fullscreen>.n-carousel__content{grid-row:1/-1}.n-wp .n-carousel.n-carousel--lightbox:fullscreen .gallery{flex-wrap:nowrap;margin:0}.n-wp .n-carousel.n-carousel--lightbox:fullscreen .gallery a{width:2em}.n-carousel__content.featured{margin-bottom:22px}.n-carousel__content.featured h2 a[href]{position:absolute;display:block;top:0;right:0;bottom:0;left:0}.n-carousel .n-carousel__content.featured{margin-bottom:0}.n-carousel__content.featured>*{position:relative;text-align:center;padding:9% 0;overflow:visible}.n-carousel__content.featured a[href],.n-carousel__content.featured p{color:#fff}.n-carousel__content.featured>div>*{padding:0 .5em;display:inline-block;background:rgba(0,0,0,.5);color:#fff}.n-wp .n-carousel__content.featured img{display:none}.n-wp .n-carousel__content.featured picture img[class*=thumbnail]{position:absolute;z-index:-1;margin:auto;top:0;right:0;bottom:0;left:0;max-height:none;padding:0;display:block}.n-wp .sidebar form{margin:0;padding:0}.n-wp img{display:block;max-width:100%;height:auto}.n-wp img :not(.avatar){margin:0 auto}.n-wp .n-aspect img,.n-wp .wp-caption>img{display:inline-block}.n-wp .comments ul,.n-wp .sidebar li,.n-wp .sidebar li a[href],.n-wp .sidebar ul{list-style:none;padding-left:0;margin:0;display:block}.n-wp .sidebar li{margin-bottom:.5em}button.search-submit{display:none}.n-wp .n-carousel--lightbox{margin-top:1.5em}.n-wp .n-carousel--lightbox .n-aspect{max-height:100%;display:flex}.n-wp .n-carousel--lightbox .gallery{margin:.5em -.7em;display:flex;flex-wrap:wrap;max-width:100%;margin:1rem 0;justify-content:flex-start;max-height:20em;position:relative;max-width:100%;width:100%;-webkit-mask-image:-webkit-linear-gradient(270deg,#000,#000 95%,transparent);-webkit-mask-size:100% 20em;-webkit-mask-repeat:no-repeat;mask-image:linear-gradient(180deg,#000,#000 95%,transparent);mask-size:100% 20em;mask-repeat:no-repeat}.n-wp .n-carousel--lightbox .gallery a{display:block;width:20%;margin:0;border:1px solid transparent;text-align:center;box-sizing:border-box}.n-wp .n-carousel--lightbox .gallery a:not([aria-current]){--nui-control-bg:transparent}.n-wp .n-carousel--lightbox .gallery a img{display:inline-block;vertical-align:middle;width:auto;height:auto}.n-wp .n-carousel--lightbox.n-carousel--overlay .gallery{justify-content:center}.n-wp .n-carousel--lightbox.n-carousel--inline:not(.n-carousel--overlay) .gallery [aria-current]{--nui-control-bg:transparent}.n-wp .n-carousel--lightbox .gallery body{min-height:100%;display:flex;flex-direction:column}.n-wp.n-type h2 a[href]{color:#fff}#full-window .n-carousel__next,#full-window .n-carousel__previous{top:49%}.wp-caption,iframe{max-width:100%}article h2 a,iframe{margin:0 auto;display:block}.archive article,.home article,.search-results article{margin-bottom:44px;position:relative}.n-type.n-wp section>article>blockquote,.n-type.n-wp section>article>ol,.n-type.n-wp section>article>p:not(.has-image):not(.has-iframe),.n-type.n-wp section>article>ul{max-width:40em;margin:1.5em auto;box-sizing:border-box}.n-type.n-wp section>article>p.has-image{text-align:center}.n-type.n-wp section>article>p.has-image img{display:inline-block}.n-type.n-wp section>article>.headline+p.has-image{margin-top:.5em}article ul{padding-left:2px}article .n-aspect{z-index:0;position:relative;overflow:hidden}article .n-aspect:before{content:"";background-size:contain;background-repeat:no-repeat;background-image:var(--placeholder,none);position:absolute;inset:0;filter:blur(4px);z-index:-1}article p.has-image .n-aspect{max-width:calc(1px * var(--width));margin:auto}.comments li{margin-bottom:2em}.comments p{width:100%;margin-bottom:0}.comments .n-form{padding:0}.comments .n-form.n-form--wide label span{display:inline}.comments .comments form input{border:0}.comments .comment-meta.commentmetadata{font-size:.75em}.comments .n-form label{min-height:2em}.comments .comment-body{padding-right:1em}.comments textarea{width:100%}.n-wp .img-crop{width:100%;display:flex;flex-direction:column;background-color:transparent;overflow:hidden;position:relative;white-space:nowrap}.n-wp .img-crop:before{display:inline-block;vertical-align:middle;content:"";padding-top:25vmin}.n-wp .img-crop:after{content:"";position:absolute;inset:0;background:var(--placeholder,none) center no-repeat;background-size:cover;filter:blur(4px);overflow:hidden}.n-wp .img-crop img{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.img-crop h2,article h2 a[href]{display:inline-block;vertical-align:bottom;padding:.5em;font-size:1.5rem;background:var(--color-teal);color:#fff;text-decoration:none}article h2 a[href]:after{content:" →"}.comment-author img{padding-bottom:0}.img-crop:hover h2,.menu .current_page_item a:link,.menu .current_page_item a:visited,.n-form button.search-submit:hover,.n-type article .img-crop:hover h2,.n-wp.n-type article .headline:hover h2 a[href]{color:#e82}.n-header .logo{max-width:480px}.n-header .logo~.n-accordion{margin-top:1em}.n-header .logo div{flex-grow:1}.n-header .logo div h2,.n-header .logo div h3{padding-top:0}.n-header .logo div h2{font-size:2em}.logo-img{min-height:37px}.rsswidget img{display:none}footer{flex-grow:1;display:flex;justify-content:flex-end;flex-direction:column;padding-bottom:1em}.comment-form p label{display:block}nav.n-nav a{color:var(--nui-control-color,#666);text-transform:uppercase;text-decoration:none}nav.n-nav a.active[href],nav.n-nav a[href]:hover{color:var(--nui-control-highlight,#e82)}nav.n-nav.n-nav--drop{--nui-control-bg:#eee}nav.n-nav.n-nav--drop li.current_page_item{--nui-control-bg:#ddd}.single h1{margin-top:.25em}.n-type h3.comment-reply-title{padding-top:0}.n-type a[href]{color:#f08080;text-decoration:none}.n-type a.n-btn[href]:hover,.n-type a[href]:hover,.n-type button.n-btn:hover,.n-type input[type=submit]:hover{color:var(--nui-control-highlight,#e82)}.n-type .page_item a[href]{color:unset;padding:0 .5em;line-height:1.5}.n-type p{text-align:left}.n-type article h1,.n-type article h2,.n-type article h3,.n-type article h4,.n-type article h5{font-weight:500;color:var(--color-teal)}.n-type article .headline>h2{padding:0;line-height:1.33}.n-type article .img-crop h2{color:#fff;position:relative;white-space:normal;line-height:1.33;background:rgba(72,142,137,.88);transition:background-color .2s ease-in-out;margin-bottom:0;z-index:1}.n-type article .img-crop:hover h2{background:#488e89}.wp-block-image{margin:1em 0;max-width:100%}.wp-block-image figure,.wp-block-image figure[class*=align]{display:block;margin:0}.wp-block-image,.wp-block-image figure,.wp-block-image figure[class*=align]{display:inline-flex;flex-direction:column;max-width:100%}.wp-block-image{display:flex;flex-direction:row;flex-wrap:wrap}.wp-block-image:has(>.aligncenter){justify-content:center}.wp-block-image:has(>.alignright){justify-content:flex-end}.wp-block-image .aligncenter .n-aspect{margin:0 auto}.wp-block-image .alignright .n-aspect{margin:0 0 0 auto}.n-aspect.aligncenter{display:flex;margin:0 auto}.n-aspect.alignright{display:flex;margin:0 0 0 auto}.wp-caption{margin:.5em auto}.wp-caption a[href]{display:inline-block;max-width:100%}.wp-caption.alignright{margin:0 0 0 auto}.wp-caption p.wp-caption-text{margin:0;font-size:12px;line-height:24px;padding:0}a.n-backtotop[href]{background:0 0;bottom:-1em}.textwidget a{margin-bottom:.5em;display:inline-block}@media (min-width:600px){.home section{display:flex;flex-wrap:wrap}.home section article{width:calc(50% - .75em);margin:0 0 3em 0}.home section article:nth-child(2)~:nth-child(2n+1),.home.paged section article:first-child{margin-right:1.5em}.home section .pagination,.home:not(.paged) section article:nth-child(1),.home:not(.paged) section article:nth-child(2){width:100%}.home section .pagination .n-carousel--lightbox:not(.n-carousel--overlay) .gallery a,.home:not(.paged) section article:nth-child(1) .n-carousel--lightbox:not(.n-carousel--overlay) .gallery a,.home:not(.paged) section article:nth-child(2) .n-carousel--lightbox:not(.n-carousel--overlay) .gallery a{width:10%}.home section .pagination .img-crop,.home:not(.paged) section article:nth-child(1) .img-crop,.home:not(.paged) section article:nth-child(2) .img-crop{background-size:cover}.n-wp .n-carousel--lightbox .gallery a{width:10%}.comments{display:grid;grid-template-columns:1fr 1fr}.comments>h2{grid-column:1/3}.comments>ul{grid-column:1/2}.comments>div{grid-column:2/3}}.n-nav--drop li[aria-haspopup]{padding-right:1em}.wp-video{margin:1.5em auto 0 auto}@media (max-width:599.9px){.single h1{font-size:1.5em}}.n-accordion__label,.n-btn,.n-carousel__close,.n-carousel__full-screen,.n-carousel__index .n-tool:after,.n-carousel__next,.n-carousel__previous,.n-form,.n-form button[type=reset],.n-form button[type=submit],.n-form input[type=submit],.n-nav--drop,.n-nav--drop ul li,.n-ovrl>.n-ovrl--close,.n-type a.n-btn[href],.n-type nav.n-nav a[href],a.n-btn[href],button.n-btn{--nui-control-bg:lightcoral;--nui-control-color:#222;--nui-control-active-bg:#cc7c7e;--nui-control-active-color:#eee;--nui-control-highlight:#bf2a2a}.n-form input,.n-form textarea{--nui-input-color:darkslateblue;--nui-input-bg:aliceblue}@media (prefers-color-scheme:dark){.n-carousel,.n-ovrl>*,body{background:#000}.n-type{color:#ddd}.img-crop{background-color:#222}.n-form input,.n-form textarea{--nui-input-color:#ddd;--nui-input-bg:#222}.logo .default-logo{background:url(img/logo-white.svg) top left no-repeat;background-size:contain}.logo .default-logo img{opacity:0}}figcaption:empty{display:none}article .featured-image{text-align:center}article .featured-image .n-aspect:before{max-width:calc(1px * var(--width));max-height:calc(1px * var(--height));margin:0 auto}.n-carousel--lightbox>.n-carousel__content picture:not([data-loaded])>*{--placeholder:inherit!important}.headline picture:not([data-loaded=true]) img,.n-wp picture[style*="--placeholder"]:not([data-loaded=true]) img{-webkit-mask:-webkit-linear-gradient(0deg,red,red) no-repeat center/calc(100% - 3px) calc(100% - 3px);mask:linear-gradient(0deg,red,red) no-repeat center/calc(100% - 3px) calc(100% - 3px)}.n-carousel--lightbox>.n-carousel__content picture:not([data-loaded]):before,article .n-carousel--lightbox>.n-carousel__content [data-loaded]>.n-aspect:before{display:none} /*# sourceMappingURL=niui-wp.min.css.map */ diff --git a/niui-wp/niui-wp.min.css.map b/niui-wp/niui-wp.min.css.map index 84790e68..ef8c7631 100644 --- a/niui-wp/niui-wp.min.css.map +++ b/niui-wp/niui-wp.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../css/niui-setup.scss","button/button.scss","card/card.scss","form/form.scss","grid/aspect-ratio.scss","grid/grid.scss","../../node_modules/n-accordion/n-accordion.scss","list/list.scss","../../node_modules/n-carousel/n-carousel.scss","../../node_modules/n-modal/n-modal.scss","../../node_modules/n-tooltip/n-tooltip.scss","nav/nav.scss","../../node_modules/n-select/n-select.scss","notify/notify.scss","parallax/parallax.scss","typography/typography.scss","table/table.scss","niui-setup.scss","niui-core.scss","niui-wp.scss"],"names":[],"mappings":"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","file":"niui-wp.min.css","sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"// Line height is 1.5 * 16px = 24px and every element height must be divisible by 24 to achieve baseline alignment\n$screen-narrow: 600px;\n// < @media screen and (min-width: $screen-narrow) { }\n// > @media not screen and (min-width: $screen-narrow) { }\n$screen-limited: 900px;\n// < @media screen and (min-width: $screen-limited) { }\n// > @media not screen and (min-width: $screen-limited) { }\n\n:root {\n\t--nui-font-size: 16px;\n\t--nui-line-height: 1.5;\n\t--nui-line-height-em: calc(1rem * var(--nui-line-height));\n\t--nui-color: #333;\n}","/* niui – rado.bg */\n@charset \"utf-8\";\n@import \"niui-setup\";\n\n.n-contain {\n max-width: 100rem;\n margin: 0 auto;\n width: 100%;\n}\n\nhtml.n-vertical-page {\n\n &,\n body {\n height: 100%;\n margin: 0 auto;\n overflow-x: hidden;\n }\n\n body {\n overflow: hidden;\n height: auto;\n }\n}\n\nbody.n-sticky-footer {\n min-height: 100vh; // % has problems with Chrome 67\n min-height: 100dvh;\n display: flex;\n flex-direction: column;\n\n main {\n flex-grow: 1;\n }\n}\n\n.n-header a.n-logo {\n display: inline-block;\n}\n\n.n-wide-screen {\n display: block;\n}\n\n.n-narrow-screen {\n display: none;\n}\n\n/* Footer */\n.n-footer {\n position: relative; // Because of the n-backtotop button\n}\n\n.n-footer > * {\n position: static;\n}\n\n/* Element as a window to an image spanning viewport dimensions */\n.n-fixed-bg {\n position: relative;\n z-index: 0;\n\n &__backdrop {\n\n position: absolute;\n clip: rect(auto, auto, auto, auto);\n width: 100%;\n height: 100%;\n inset: 0;\n z-index: -1;\n\n img {\n inset: 0;\n width: 100%;\n height: 100vh; // Mobile browser resize when hiding/showing toolbars\n height: 100dvh;\n position: fixed;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n.n-fixed {\n position: fixed;\n\n &.n-header {\n position: static;\n }\n}\n\na[href].span-relative-parent {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n\n.n-viewport {\n min-height: 100vh;\n min-height: 100dvh;\n}\n\n/* Narrow Screens */\n@media not screen and (min-width: $screen-narrow) {\n .n-wide-screen {\n display: none;\n }\n\n .n-narrow-screen {\n display: block;\n }\n\n .n-viewport.n-header-banner {\n height: auto;\n overflow: hidden;\n }\n\n .n-header {\n .head-right {\n text-align: start;\n }\n\n &.n-fixed {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n background: #fff;\n z-index: 7;\n }\n\n a.n-logo {\n float: right;\n }\n }\n}\n\n:root {\n --nui-border-size: 0px;\n --nui-border-color: var(--nui-control-color);\n --nui-shadow-size: 0px;\n --nui-shadow-blur: 0;\n --nui-shadow-color: var(--nui-control-color);\n --nui-border-color: transparent;}\n\n@mixin dark-theme {\n --nui-color: var(--nui-color-dark);\n --nui-bg: var(--nui-bg-dark);\n --nui-control-color: var(--nui-control-color-dark);\n --nui-control-bg: var(--nui-control-bg-dark);\n --nui-control-active-bg: var(--nui-control-active-bg-dark);\n --nui-control-active-color: var(--nui-control-active-color-dark);\n --nui-control-highlight: var(--nui-control-highlight-dark);\n --nui-input-color: var(--nui-input-color-dark);\n --nui-input-bg: var(--nui-input-bg-dark);\n --nui-list-color: var(--nui-list-color-dark);\n --nui-list-bg: var(--nui-list-bg-dark);\n --nui-border-color: var(--nui-border-color-dark);\n --nui-shadow-color: var(--nui-shadow-color-dark);\n --nui-border-color-dark: transparent;\n --nui-shadow-color-dark: transparent;\n}\n\n.n-scheme-dark {\n @include dark-theme;\n}\n\n.n-scheme-auto {\n @media (prefers-color-scheme: dark) {\n @include dark-theme;\n }\n}","/* niui WordPress – rado.bg */\n@charset 'utf-8';\n\n@media (prefers-reduced-motion: no-preference) {\n\thtml {\n\t\tscroll-behavior: smooth;\n\t}\n}\n\nbody .n-contain {\n\tmax-width: 1312px;\n}\n\n:root {\n\t--color-teal: #488e89;\n}\n\n.n-carousel {\n\tbackground: #eee;\n}\n\n.n-wp {\n\t.n-carousel.n-carousel--thumbnails > .n-carousel__index > * span {\n\t\tpadding: 0;\n\t}\n\n\tbody {\n\t\tmargin: 0;\n\t}\n}\n\n.n-wp .n-carousel.n-carousel--lightbox {\n\n\t// grid-template-areas:\n\t// \t\"f c a3 a3 a3 a3\"\n\t// \t\"prev a2 a2 a2 a2 next\"\n\t// \t\"v v v v v v\"\n\t// \t\"i i i i i i\";\n\n\t> .n-carousel__content {\n\t\tgrid-row: 1/-2;\n\t}\n\n\t&.n-carousel--overlay {\n\t\tmargin: 0;\n\t\t// grid-template-areas:\n\t\t// \t\"f c a3 a3 a3 a3\"\n\t\t// \t\"prev a2 a2 a2 a2 next\"\n\t\t// \t\"i i i i i i\";\n\n\t\t> .n-carousel__content {\n\t\t\tgrid-row: 1/-1;\n\t\t}\n\n\t\t// .n-aspect {\n\t\t// \tdisplay: contents;\n\t\t// }\n\n\t\t.gallery {\n\t\t\tflex-wrap: nowrap;\n\t\t\tmargin: 0;\n\t\t\toverflow: auto;\n\t\t\toverflow-y: hidden;\n\n\t\t\ta {\n\t\t\t\twidth: 2em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&:-webkit-full-screen {\n\t\tmargin: 0;\n\t\t// grid-template-areas:\n\t\t// \t\"f c a3 a3 a3 a3\"\n\t\t// \t\"prev a2 a2 a2 a2 next\"\n\t\t// \t\"i i i i i i\";\n\n\t\t> .n-carousel__content {\n\t\t\tgrid-row: 1/-1;\n\t\t}\n\n\t\t// .n-aspect {\n\t\t// \tdisplay: contents;\n\t\t// }\n\n\t\t.gallery {\n\t\t\tflex-wrap: nowrap;\n\t\t\tmargin: 0;\n\n\t\t\ta {\n\t\t\t\twidth: 2em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&:fullscreen {\n\t\tmargin: 0;\n\t\t// grid-template-areas:\n\t\t// \t\"f c a3 a3 a3 a3\"\n\t\t// \t\"prev a2 a2 a2 a2 next\"\n\t\t// \t\"i i i i i i\";\n\n\t\t> .n-carousel__content {\n\t\t\tgrid-row: 1/-1;\n\t\t}\n\n\t\t// .n-aspect {\n\t\t// \tdisplay: contents;\n\t\t// }\n\n\t\t.gallery {\n\t\t\tflex-wrap: nowrap;\n\t\t\tmargin: 0;\n\n\t\t\ta {\n\t\t\t\twidth: 2em;\n\t\t\t}\n\t\t}\n\t}\n\n}\n\n.n-carousel__content.featured {\n\tmargin-bottom: 22px;\n}\n\n.n-carousel__content.featured h2 a[href] {\n\tposition: absolute;\n\tdisplay: block;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n}\n\n.n-carousel .n-carousel__content.featured {\n\tmargin-bottom: 0;\n}\n\n.n-carousel__content.featured > * {\n\tposition: relative;\n\ttext-align: center;\n\tpadding: 9% 0;\n\toverflow: visible;\n}\n\n.n-carousel__content.featured a[href],\n.n-carousel__content.featured p {\n\tcolor: #fff;\n}\n\n.n-carousel__content.featured > div > * {\n\tpadding: 0 0.5em;\n\tdisplay: inline-block;\n\tbackground: rgba(0, 0, 0, 0.5);\n\tcolor: #fff;\n}\n\n.n-wp .n-carousel__content.featured img {\n\tdisplay: none;\n}\n\n.n-wp .n-carousel__content.featured picture img[class*=\"thumbnail\"] {\n\tposition: absolute;\n\tz-index: -1;\n\tmargin: auto;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tmax-height: none;\n\tpadding: 0;\n\tdisplay: block;\n}\n\n.n-wp .sidebar form {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.n-wp img {\n\tdisplay: block;\n\tmax-width: 100%;\n\theight: auto;\n\n\t:not(.avatar) {\n\t\tmargin: 0 auto;\n\t}\n}\n\n.n-wp .n-aspect img,\n.n-wp .wp-caption > img {\n\tdisplay: inline-block;\n}\n\n.n-wp .sidebar ul,\n.n-wp .sidebar li,\n.n-wp .comments ul,\n.n-wp .sidebar li a[href] {\n\tlist-style: none;\n\tpadding-left: 0;\n\tmargin: 0;\n\tdisplay: block;\n}\n\n.n-wp .sidebar li {\n\tmargin-bottom: 0.5em;\n}\n\nbutton.search-submit {\n\tdisplay: none;\n}\n\n.n-wp .n-carousel--lightbox {\n\n\tmargin-top: 1.5em;\n\n\t.n-aspect {\n\t\tmax-height: 100%;\n\t\tdisplay: flex;\n\t}\n\n\t.gallery {\n\t\tmargin: 0.5em -0.7em;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tmax-width: 100%;\n\t\tmargin: 1rem 0;\n\t\tjustify-content: flex-start;\n\t\tmax-height: 20em;\n\t\t// overflow: hidden;\n\t\tposition: relative;\n\t\tmax-width: 100%;\n\t\twidth: 100%;\n\n\t\t-webkit-mask-image: -webkit-linear-gradient(270deg, black, black 95%, transparent); // Chrome\n\t\t-webkit-mask-size: 100% 20em;\n\t\t-webkit-mask-repeat: no-repeat;\n\t\tmask-image: linear-gradient(180deg, black, black 95%, transparent); // Safari, Firefox\n\t\tmask-size: 100% 20em;\n\t\tmask-repeat: no-repeat;\n\n\t\ta {\n\t\t\tdisplay: block;\n\t\t\twidth: 20%;\n\t\t\tmargin: 0;\n\t\t\tborder: 1px solid transparent;\n\t\t\ttext-align: center;\n\t\t\tbox-sizing: border-box;\n\n\t\t\t&:not([aria-current]) {\n\t\t\t\t--nui-control-bg: transparent;\n\t\t\t}\n\n\t\t\timg {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tvertical-align: middle;\n\t\t\t\twidth: auto;\n\t\t\t\theight: auto;\n\t\t\t}\n\t\t}\n\n\t}\n\n\t&.n-carousel--overlay {\n\n\t\t.gallery {\n\t\t\tjustify-content: center;\n\t\t}\n\n\t}\n\n\t&.n-carousel--inline:not(.n-carousel--overlay) {\n\t\t.gallery [aria-current] {\n\t\t\t--nui-control-bg: transparent;\n\t\t}\n\t}\n}\n\n.n-wp .n-carousel--lightbox .gallery body {\n\tmin-height: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.n-wp.n-type h2 a[href] {\n\tcolor: #fff;\n}\n\n#full-window .n-carousel__previous,\n#full-window .n-carousel__next {\n\ttop: 49%;\n}\n\n.wp-caption,\niframe {\n\tmax-width: 100%;\n}\n\niframe,\narticle h2 a {\n\tmargin: 0 auto;\n\tdisplay: block;\n}\n\n.home article,\n.archive article,\n.search-results article {\n\tmargin-bottom: 44px;\n\tposition: relative;\n\t//\toverflow: hidden;\n}\n\n.n-type.n-wp section > article > {\n\n\tp:not(.has-image):not(.has-iframe),\n\tol,\n\tul,\n\tblockquote {\n\t\tmax-width: 40em;\n\t\tmargin: 1.5em auto;\n\t\tbox-sizing: border-box;\n\t}\n\n\tp.has-image {\n\t\ttext-align: center;\n\n\t\t//\t\tfont-size: 0; // Disable legacy images' captions, because they appear in the wrong place\n\t\timg {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t.headline + p.has-image {\n\t\tmargin-top: 0.5em;\n\t}\n}\n\narticle {\n\tul {\n\t\tpadding-left: 2px;\n\t}\n\n\t.n-aspect {\n\t\t// background-size: contain;\n\t\t// background-repeat: no-repeat;\n\t\t// background-image: var(--placeholder, none);\n\t\tz-index: 0;\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\t// display: inline-flex; // breaks aspect-ratio\n\n\t\t&:before {\n\t\t\tcontent: \"\";\n\t\t\tbackground-size: contain;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-image: var(--placeholder, none);\n\t\t\tposition: absolute;\n\t\t\tinset: 0;\n\t\t\tfilter: blur(4px);\n\t\t\tz-index: -1;\n\t\t}\n\t}\n\n\tp.has-image .n-aspect {\n\t\tmax-width: calc(1px * var(--width));\n\t\tmargin: auto;\n\t}\n}\n\n.comments {\n\tli {\n\t\tmargin-bottom: 2em;\n\t}\n\n\tp {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0;\n\t}\n\n\t.n-form {\n\t\tpadding: 0;\n\t}\n\n\t.n-form.n-form--wide label span {\n\t\tdisplay: inline;\n\t}\n\n\t.comments form input {\n\t\tborder: 0;\n\t}\n\n\t.comment-meta.commentmetadata {\n\t\tfont-size: 0.75em;\n\t}\n\n\t.n-form label {\n\t\tmin-height: 2em;\n\t}\n\n\t.comment-body {\n\t\tpadding-right: 1em;\n\t}\n\n\ttextarea {\n\t\twidth: 100%;\n\t}\n}\n\n.n-wp .img-crop {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tbackground-color: transparent;\n\toverflow: hidden;\n\tposition: relative;\n\twhite-space: nowrap;\n\n\t&:before {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tcontent: \"\";\n\t\tpadding-top: 25vmin;\n\t}\n\n\t&:after {\n\t\tcontent: \"\";\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tbackground: var(--placeholder, none) center no-repeat;\n\t\tbackground-size: cover;\n\t\tfilter: blur(4px);\n\t\toverflow: hidden;\n\t}\n\n\timg {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tobject-fit: cover;\n\t\tobject-position: center;\n\t}\n}\n\n.img-crop h2,\narticle h2 a[href] {\n\tdisplay: inline-block;\n\tvertical-align: bottom;\n\tpadding: 0.5em;\n\tfont-size: 1.5rem;\n\tbackground: var(--color-teal);\n\tcolor: #fff;\n\ttext-decoration: none;\n}\n\narticle h2 a[href]:after {\n\tcontent: \" →\";\n}\n\n.comment-author img {\n\tpadding-bottom: 0;\n}\n\n/*\n#head .logo a {\n\t\n\tdisplay: block;\n\tmax-width: calc(100% - .5em);\n\n}\n*/\n.menu .current_page_item a:link,\n.menu .current_page_item a:visited,\n.img-crop:hover h2,\n.n-form button.search-submit:hover,\n.n-type article .img-crop:hover h2,\n.n-wp.n-type article .headline:hover h2 a[href] {\n\tcolor: #e82;\n}\n\n/*\narticle {\n\t\n\toverflow: hidden;\n\n}\n*/\n.n-header .logo {\n\t// display: flex;\n\tmax-width: 480px;\n\n\t~ .n-accordion {\n\t\tmargin-top: 1em;\n\t}\n\n\tdiv {\n\t\t// padding: 0 1em;\n\t\tflex-grow: 1;\n\n\t\th2,\n\t\th3 {\n\t\t\tpadding-top: 0;\n\t\t}\n\n\t\th2 {\n\t\t\tfont-size: 2em;\n\t\t}\n\t}\n}\n\n.logo-img {\n\tmin-height: 37px;\n}\n\n.rsswidget img {\n\tdisplay: none;\n}\n\nfooter {\n\t// Stick footer to the bottom\n\tflex-grow: 1;\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tflex-direction: column;\n\tpadding-bottom: 1em;\n}\n\n.comment-form p label {\n\tdisplay: block;\n}\n\nnav.n-nav {\n\ta {\n\t\tcolor: var(--nui-control-color, #666);\n\t\ttext-transform: uppercase;\n\t\ttext-decoration: none;\n\n\t\t&.active[href],\n\t\t&[href]:hover {\n\t\t\tcolor: var(--nui-control-highlight, #ee8822);\n\t\t}\n\t}\n\n\t&.n-nav--drop {\n\t\t--nui-control-bg: #eee;\n\n\t\tli.current_page_item {\n\t\t\t--nui-control-bg: #ddd;\n\t\t}\n\t}\n}\n\n.single h1 {\n\tmargin-top: 0.25em;\n}\n\n.n-type {\n\th3.comment-reply-title {\n\t\tpadding-top: 0;\n\t}\n\n\ta[href] {\n\t\tcolor: lightcoral;\n\t\ttext-decoration: none;\n\t}\n\n\ta[href]:hover,\n\tinput[type=\"submit\"]:hover,\n\ta.n-btn[href]:hover,\n\tbutton.n-btn:hover {\n\t\tcolor: var(--nui-control-highlight, #ee8822);\n\t}\n\n\t.page_item a[href] {\n\t\tcolor: unset;\n\t\tpadding: 0 0.5em;\n\t\tline-height: 1.5;\n\t}\n\n\tp {\n\t\ttext-align: left;\n\t}\n\n\tarticle {\n\n\t\th1,\n\t\th2,\n\t\th3,\n\t\th4,\n\t\th5 {\n\t\t\tfont-weight: 500;\n\t\t\tcolor: var(--color-teal);\n\t\t}\n\n\t\t.headline > h2 {\n\t\t\tpadding: 0;\n\t\t\tline-height: 1.33;\n\t\t}\n\n\t\t.img-crop {\n\t\t\th2 {\n\t\t\t\tcolor: #fff;\n\t\t\t\tposition: relative;\n\t\t\t\twhite-space: normal;\n\t\t\t\tline-height: 1.33;\n\t\t\t\tbackground: rgba(72, 142, 137, 0.88);\n\t\t\t\ttransition: background-color 0.2s ease-in-out;\n\t\t\t\tmargin-bottom: 0;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t&:hover h2 {\n\t\t\t\tbackground: rgb(72, 142, 137);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.wp-block-image {\n\tmargin: 1em 0;\n\tmax-width: 100%;\n\n\tfigure,\n\tfigure[class*=\"align\"] {\n\t\tdisplay: block;\n\t\tmargin: 0;\n\t}\n\n\t&,\n\tfigure,\n\tfigure[class*=\"align\"] {\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\tmax-width: 100%;\n\t}\n\n\t& {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\t&:has(> .aligncenter) {\n\t\t\tjustify-content: center;\n\t\t}\n\t\t&:has(> .alignright) {\n\t\t\tjustify-content: flex-end;\n\t\t}\n\t}\n\n\t.aligncenter {\n\t\t// text-align: center;\n\n\t\t.n-aspect {\n\t\t\tmargin: 0 auto;\n\t\t}\n\t}\n\n\t.alignright {\n\t\t// text-align: right;\n\n\t\t.n-aspect {\n\t\t\tmargin: 0 0 0 auto;\n\t\t}\n\t}\n}\n\n.n-aspect.aligncenter {\n\tdisplay: flex;\n\tmargin: 0 auto;\n}\n\n.n-aspect.alignright {\n\tdisplay: flex;\n\tmargin: 0 0 0 auto;\n}\n\n.n-header .n-accordion.n-accordion--mobile {\n\t//\tdisplay: inline-block; // Enable closing the n-burger by tapping on its right\n}\n\n/*\n\t.n-accordion span.n-burger:before { // Workaround for the weirdest bug where the fallback value of the CSS variable disappears\n\t\t\n\t --nui-control-color: #333;\n\t \n\t}\n\t*/\n// Image captions\n.wp-caption {\n\tmargin: 0.5em auto;\n\n\ta[href] {\n\t\tdisplay: inline-block;\n\t\tmax-width: 100%;\n\t}\n\n\t&.alignright {\n\t\tmargin: 0 0 0 auto;\n\t}\n\n\tp.wp-caption-text {\n\t\tmargin: 0;\n\t\tfont-size: 12px;\n\t\tline-height: 24px;\n\t\tpadding: 0;\n\t}\n}\n\na.n-backtotop[href] {\n\tbackground: none;\n\tbottom: -1em;\n}\n\n.textwidget a {\n\tmargin-bottom: 0.5em;\n\tdisplay: inline-block;\n}\n\n@media (min-width: 600px) {\n\n\t.home section {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\n\t.home section article {\n\t\twidth: calc(50% - 0.75em);\n\t\tmargin: 0 0 3em 0;\n\t}\n\n\t.home section article:nth-child(2) ~ :nth-child(2n + 1),\n\t.home.paged section article:first-child {\n\t\tmargin-right: 1.5em;\n\t}\n\n\t.home:not(.paged) section article:nth-child(1),\n\t.home:not(.paged) section article:nth-child(2),\n\t.home section .pagination {\n\t\twidth: 100%;\n\n\t\t.n-carousel--lightbox:not(.n-carousel--overlay) .gallery a {\n\t\t\t// Retina thumbnails\n\t\t\twidth: 10%;\n\t\t}\n\n\t\t.img-crop {\n\t\t\tbackground-size: cover;\n\t\t}\n\n\t}\n\n\t.n-wp .n-carousel--lightbox .gallery a {\n\t\t// Retina thumbnails\n\t\twidth: 10%;\n\t}\n\n\t.comments {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: 1fr 1fr;\n\n\t\t> h2 {\n\t\t\tgrid-column: 1 / 3;\n\t\t}\n\n\t\t> ul {\n\t\t\tgrid-column: 1 / 2;\n\t\t}\n\n\t\t> div {\n\t\t\tgrid-column: 2 / 3;\n\t\t}\n\t}\n}\n\n.n-nav--drop li[aria-haspopup] {\n\tpadding-right: 1em;\n}\n\n.wp-video {\n\tmargin: 1.5em auto 0 auto;\n}\n\n@media (max-width: 599.9px) {\n\t.single h1 {\n\t\tfont-size: 1.5em;\n\t}\n}\n\n// Color scheme\n.n-carousel__previous,\n.n-carousel__next,\n.n-carousel__full-screen,\n.n-carousel__close,\n.n-carousel__index .n-tool:after,\n.n-btn,\n.n-form input[type=\"submit\"],\n.n-form button[type=\"submit\"],\n.n-form button[type=\"reset\"],\nbutton.n-btn,\na.n-btn[href],\n.n-type a.n-btn[href],\n.n-accordion__label,\n.n-nav--drop,\n.n-form,\n.n-ovrl > .n-ovrl--close,\n.n-nav--drop ul li,\n.n-type nav.n-nav a[href] {\n\t--nui-control-bg: lightcoral;\n\t--nui-control-color: #222;\n\t--nui-control-active-bg: #cc7c7e;\n\t--nui-control-active-color: #eee;\n\t--nui-control-highlight: #bf2a2a;\n}\n\n.n-form input,\n.n-form textarea {\n\t--nui-input-color: darkslateblue;\n\t--nui-input-bg: aliceblue;\n}\n\n// Auto dark mode\n@media (prefers-color-scheme: dark) {\n\n\tbody,\n\t.n-ovrl > *,\n\t.n-carousel {\n\t\tbackground: #000;\n\t}\n\n\t.n-type {\n\t\tcolor: #ddd;\n\t}\n\n\t.img-crop {\n\t\tbackground-color: #222;\n\t}\n\n\t.n-form input,\n\t.n-form textarea {\n\t\t--nui-input-color: #ddd;\n\t\t--nui-input-bg: #222;\n\t}\n\n\t.logo .default-logo {\n\t\tbackground: url(img/logo-white.svg) top left no-repeat;\n\t\tbackground-size: contain;\n\n\t\timg {\n\t\t\topacity: 0;\n\t\t}\n\t}\n}\n\nfigcaption:empty {\n\tdisplay: none;\n}\n\narticle .featured-image {\n\ttext-align: center;\n\n\t.n-aspect:before {\n\t\tmax-width: calc(1px * var(--width));\n\t\tmax-height: calc(1px * var(--height));\n\t\tmargin: 0 auto;\n\t}\n}\n\n.n-carousel--lightbox > .n-carousel__content picture:not([data-loaded]) > * {\n\t// background-image: inherit !important;\n\t// background-image: var(--placeholder);\n\t--placeholder: inherit !important;\n}\n\n// Clip images border while loading\n.n-wp picture[style*=\"--placeholder\"],\n.headline picture {\n\t&:not([data-loaded=\"true\"]) img {\n\t\t-webkit-mask: -webkit-linear-gradient(0deg, red, red) no-repeat center / calc(100% - 3px) calc(100% - 3px);\n\t\tmask: linear-gradient(0deg, red, red) no-repeat center / calc(100% - 3px) calc(100% - 3px);\n\t}\n}\n\n// Use the .n-aspect child instead\n.n-carousel--lightbox > .n-carousel__content picture:not([data-loaded]):before,\narticle .n-carousel--lightbox > .n-carousel__content [data-loaded] > .n-aspect:before {\n\tdisplay: none;\n}"]} \ No newline at end of file +{"version":3,"sources":["../../css/niui-setup.scss","card/card.scss","button/button.scss","form/form.scss","list/list.scss","../../node_modules/n-accordion/n-accordion.scss","grid/aspect-ratio.scss","grid/grid.scss","../../node_modules/n-carousel/n-carousel.scss","../../node_modules/n-modal/n-modal.scss","../../node_modules/n-select/n-select.scss","../../node_modules/n-tooltip/n-tooltip.scss","nav/nav.scss","notify/notify.scss","parallax/parallax.scss","table/table.scss","typography/typography.scss","niui-setup.scss","niui-core.scss","niui-wp.scss"],"names":[],"mappings":"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","file":"niui-wp.min.css","sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"// Line height is 1.5 * 16px = 24px and every element height must be divisible by 24 to achieve baseline alignment\n$screen-narrow: 600px;\n// < @media screen and (min-width: $screen-narrow) { }\n// > @media not screen and (min-width: $screen-narrow) { }\n$screen-limited: 900px;\n// < @media screen and (min-width: $screen-limited) { }\n// > @media not screen and (min-width: $screen-limited) { }\n\n:root {\n\t--nui-font-size: 16px;\n\t--nui-line-height: 1.5;\n\t--nui-line-height-em: calc(1rem * var(--nui-line-height));\n\t--nui-color: #333;\n}","/* niui – rado.bg */\n@charset \"utf-8\";\n@import \"niui-setup\";\n\n.n-contain {\n max-width: 100rem;\n margin: 0 auto;\n width: 100%;\n}\n\nhtml.n-vertical-page {\n\n &,\n body {\n height: 100%;\n margin: 0 auto;\n overflow-x: hidden;\n }\n\n body {\n overflow: hidden;\n height: auto;\n }\n}\n\nbody.n-sticky-footer {\n min-height: 100vh; // % has problems with Chrome 67\n min-height: 100dvh;\n display: flex;\n flex-direction: column;\n\n main {\n flex-grow: 1;\n }\n}\n\n.n-header a.n-logo {\n display: inline-block;\n}\n\n.n-wide-screen {\n display: block;\n}\n\n.n-narrow-screen {\n display: none;\n}\n\n/* Footer */\n.n-footer {\n position: relative; // Because of the n-backtotop button\n}\n\n.n-footer > * {\n position: static;\n}\n\n/* Element as a window to an image spanning viewport dimensions */\n.n-fixed-bg {\n position: relative;\n z-index: 0;\n\n &__backdrop {\n\n position: absolute;\n clip: rect(auto, auto, auto, auto);\n width: 100%;\n height: 100%;\n inset: 0;\n z-index: -1;\n\n img {\n inset: 0;\n width: 100%;\n height: 100vh; // Mobile browser resize when hiding/showing toolbars\n height: 100dvh;\n position: fixed;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n.n-fixed {\n position: fixed;\n\n &.n-header {\n position: static;\n }\n}\n\na[href].span-relative-parent {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n\n.n-viewport {\n min-height: 100vh;\n min-height: 100dvh;\n}\n\n/* Narrow Screens */\n@media not screen and (min-width: $screen-narrow) {\n .n-wide-screen {\n display: none;\n }\n\n .n-narrow-screen {\n display: block;\n }\n\n .n-viewport.n-header-banner {\n height: auto;\n overflow: hidden;\n }\n\n .n-header {\n .head-right {\n text-align: start;\n }\n\n &.n-fixed {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n background: #fff;\n z-index: 7;\n }\n\n a.n-logo {\n float: right;\n }\n }\n}\n\n:root {\n --nui-border-size: 0px;\n --nui-border-color: var(--nui-control-color);\n --nui-shadow-size: 0px;\n --nui-shadow-blur: 0;\n --nui-shadow-color: var(--nui-control-color);\n --nui-border-color: transparent;}\n\n@mixin dark-theme {\n --nui-color: var(--nui-color-dark);\n --nui-bg: var(--nui-bg-dark);\n --nui-control-color: var(--nui-control-color-dark);\n --nui-control-bg: var(--nui-control-bg-dark);\n --nui-control-active-bg: var(--nui-control-active-bg-dark);\n --nui-control-active-color: var(--nui-control-active-color-dark);\n --nui-control-highlight: var(--nui-control-highlight-dark);\n --nui-input-color: var(--nui-input-color-dark);\n --nui-input-bg: var(--nui-input-bg-dark);\n --nui-list-color: var(--nui-list-color-dark);\n --nui-list-bg: var(--nui-list-bg-dark);\n --nui-border-color: var(--nui-border-color-dark);\n --nui-shadow-color: var(--nui-shadow-color-dark);\n --nui-border-color-dark: transparent;\n --nui-shadow-color-dark: transparent;\n}\n\n.n-scheme-dark {\n @include dark-theme;\n}\n\n.n-scheme-auto {\n @media (prefers-color-scheme: dark) {\n @include dark-theme;\n }\n}","/* niui WordPress – rado.bg */\n@charset 'utf-8';\n\n@media (prefers-reduced-motion: no-preference) {\n\thtml {\n\t\tscroll-behavior: smooth;\n\t}\n}\n\nbody .n-contain {\n\tmax-width: 1312px;\n}\n\n:root {\n\t--color-teal: #488e89;\n}\n\n.n-carousel {\n\tbackground: #eee;\n}\n\n.n-wp {\n\t.n-carousel.n-carousel--thumbnails > .n-carousel__index > * span {\n\t\tpadding: 0;\n\t}\n\n\tbody {\n\t\tmargin: 0;\n\t}\n}\n\n.n-wp .n-carousel.n-carousel--lightbox {\n\n\t// grid-template-areas:\n\t// \t\"f c a3 a3 a3 a3\"\n\t// \t\"prev a2 a2 a2 a2 next\"\n\t// \t\"v v v v v v\"\n\t// \t\"i i i i i i\";\n\n\t> .n-carousel__content {\n\t\tgrid-row: 1/-2;\n\t}\n\n\t&.n-carousel--overlay {\n\t\tmargin: 0;\n\t\t// grid-template-areas:\n\t\t// \t\"f c a3 a3 a3 a3\"\n\t\t// \t\"prev a2 a2 a2 a2 next\"\n\t\t// \t\"i i i i i i\";\n\n\t\t> .n-carousel__content {\n\t\t\tgrid-row: 1/-1;\n\t\t}\n\n\t\t// .n-aspect {\n\t\t// \tdisplay: contents;\n\t\t// }\n\n\t\t.gallery {\n\t\t\tflex-wrap: nowrap;\n\t\t\tmargin: 0;\n\t\t\toverflow: auto;\n\t\t\toverflow-y: hidden;\n\n\t\t\ta {\n\t\t\t\twidth: 2em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&:-webkit-full-screen {\n\t\tmargin: 0;\n\t\t// grid-template-areas:\n\t\t// \t\"f c a3 a3 a3 a3\"\n\t\t// \t\"prev a2 a2 a2 a2 next\"\n\t\t// \t\"i i i i i i\";\n\n\t\t> .n-carousel__content {\n\t\t\tgrid-row: 1/-1;\n\t\t}\n\n\t\t// .n-aspect {\n\t\t// \tdisplay: contents;\n\t\t// }\n\n\t\t.gallery {\n\t\t\tflex-wrap: nowrap;\n\t\t\tmargin: 0;\n\n\t\t\ta {\n\t\t\t\twidth: 2em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&:fullscreen {\n\t\tmargin: 0;\n\t\t// grid-template-areas:\n\t\t// \t\"f c a3 a3 a3 a3\"\n\t\t// \t\"prev a2 a2 a2 a2 next\"\n\t\t// \t\"i i i i i i\";\n\n\t\t> .n-carousel__content {\n\t\t\tgrid-row: 1/-1;\n\t\t}\n\n\t\t// .n-aspect {\n\t\t// \tdisplay: contents;\n\t\t// }\n\n\t\t.gallery {\n\t\t\tflex-wrap: nowrap;\n\t\t\tmargin: 0;\n\n\t\t\ta {\n\t\t\t\twidth: 2em;\n\t\t\t}\n\t\t}\n\t}\n\n}\n\n.n-carousel__content.featured {\n\tmargin-bottom: 22px;\n}\n\n.n-carousel__content.featured h2 a[href] {\n\tposition: absolute;\n\tdisplay: block;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n}\n\n.n-carousel .n-carousel__content.featured {\n\tmargin-bottom: 0;\n}\n\n.n-carousel__content.featured > * {\n\tposition: relative;\n\ttext-align: center;\n\tpadding: 9% 0;\n\toverflow: visible;\n}\n\n.n-carousel__content.featured a[href],\n.n-carousel__content.featured p {\n\tcolor: #fff;\n}\n\n.n-carousel__content.featured > div > * {\n\tpadding: 0 0.5em;\n\tdisplay: inline-block;\n\tbackground: rgba(0, 0, 0, 0.5);\n\tcolor: #fff;\n}\n\n.n-wp .n-carousel__content.featured img {\n\tdisplay: none;\n}\n\n.n-wp .n-carousel__content.featured picture img[class*=\"thumbnail\"] {\n\tposition: absolute;\n\tz-index: -1;\n\tmargin: auto;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tmax-height: none;\n\tpadding: 0;\n\tdisplay: block;\n}\n\n.n-wp .sidebar form {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.n-wp img {\n\tdisplay: block;\n\tmax-width: 100%;\n\theight: auto;\n\n\t:not(.avatar) {\n\t\tmargin: 0 auto;\n\t}\n}\n\n.n-wp .n-aspect img,\n.n-wp .wp-caption > img {\n\tdisplay: inline-block;\n}\n\n.n-wp .sidebar ul,\n.n-wp .sidebar li,\n.n-wp .comments ul,\n.n-wp .sidebar li a[href] {\n\tlist-style: none;\n\tpadding-left: 0;\n\tmargin: 0;\n\tdisplay: block;\n}\n\n.n-wp .sidebar li {\n\tmargin-bottom: 0.5em;\n}\n\nbutton.search-submit {\n\tdisplay: none;\n}\n\n.n-wp .n-carousel--lightbox {\n\n\tmargin-top: 1.5em;\n\n\t.n-aspect {\n\t\tmax-height: 100%;\n\t\tdisplay: flex;\n\t}\n\n\t.gallery {\n\t\tmargin: 0.5em -0.7em;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tmax-width: 100%;\n\t\tmargin: 1rem 0;\n\t\tjustify-content: flex-start;\n\t\tmax-height: 20em;\n\t\t// overflow: hidden;\n\t\tposition: relative;\n\t\tmax-width: 100%;\n\t\twidth: 100%;\n\n\t\t-webkit-mask-image: -webkit-linear-gradient(270deg, black, black 95%, transparent); // Chrome\n\t\t-webkit-mask-size: 100% 20em;\n\t\t-webkit-mask-repeat: no-repeat;\n\t\tmask-image: linear-gradient(180deg, black, black 95%, transparent); // Safari, Firefox\n\t\tmask-size: 100% 20em;\n\t\tmask-repeat: no-repeat;\n\n\t\ta {\n\t\t\tdisplay: block;\n\t\t\twidth: 20%;\n\t\t\tmargin: 0;\n\t\t\tborder: 1px solid transparent;\n\t\t\ttext-align: center;\n\t\t\tbox-sizing: border-box;\n\n\t\t\t&:not([aria-current]) {\n\t\t\t\t--nui-control-bg: transparent;\n\t\t\t}\n\n\t\t\timg {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tvertical-align: middle;\n\t\t\t\twidth: auto;\n\t\t\t\theight: auto;\n\t\t\t}\n\t\t}\n\n\t}\n\n\t&.n-carousel--overlay {\n\n\t\t.gallery {\n\t\t\tjustify-content: center;\n\t\t}\n\n\t}\n\n\t&.n-carousel--inline:not(.n-carousel--overlay) {\n\t\t.gallery [aria-current] {\n\t\t\t--nui-control-bg: transparent;\n\t\t}\n\t}\n}\n\n.n-wp .n-carousel--lightbox .gallery body {\n\tmin-height: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.n-wp.n-type h2 a[href] {\n\tcolor: #fff;\n}\n\n#full-window .n-carousel__previous,\n#full-window .n-carousel__next {\n\ttop: 49%;\n}\n\n.wp-caption,\niframe {\n\tmax-width: 100%;\n}\n\niframe,\narticle h2 a {\n\tmargin: 0 auto;\n\tdisplay: block;\n}\n\n.home article,\n.archive article,\n.search-results article {\n\tmargin-bottom: 44px;\n\tposition: relative;\n\t//\toverflow: hidden;\n}\n\n.n-type.n-wp section > article > {\n\n\tp:not(.has-image):not(.has-iframe),\n\tol,\n\tul,\n\tblockquote {\n\t\tmax-width: 40em;\n\t\tmargin: 1.5em auto;\n\t\tbox-sizing: border-box;\n\t}\n\n\tp.has-image {\n\t\ttext-align: center;\n\n\t\t//\t\tfont-size: 0; // Disable legacy images' captions, because they appear in the wrong place\n\t\timg {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t.headline + p.has-image {\n\t\tmargin-top: 0.5em;\n\t}\n}\n\narticle {\n\tul {\n\t\tpadding-left: 2px;\n\t}\n\n\t.n-aspect {\n\t\t// background-size: contain;\n\t\t// background-repeat: no-repeat;\n\t\t// background-image: var(--placeholder, none);\n\t\tz-index: 0;\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\t// display: inline-flex; // breaks aspect-ratio\n\n\t\t&:before {\n\t\t\tcontent: \"\";\n\t\t\tbackground-size: contain;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-image: var(--placeholder, none);\n\t\t\tposition: absolute;\n\t\t\tinset: 0;\n\t\t\tfilter: blur(4px);\n\t\t\tz-index: -1;\n\t\t}\n\t}\n\n\tp.has-image .n-aspect {\n\t\tmax-width: calc(1px * var(--width));\n\t\tmargin: auto;\n\t}\n}\n\n.comments {\n\tli {\n\t\tmargin-bottom: 2em;\n\t}\n\n\tp {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0;\n\t}\n\n\t.n-form {\n\t\tpadding: 0;\n\t}\n\n\t.n-form.n-form--wide label span {\n\t\tdisplay: inline;\n\t}\n\n\t.comments form input {\n\t\tborder: 0;\n\t}\n\n\t.comment-meta.commentmetadata {\n\t\tfont-size: 0.75em;\n\t}\n\n\t.n-form label {\n\t\tmin-height: 2em;\n\t}\n\n\t.comment-body {\n\t\tpadding-right: 1em;\n\t}\n\n\ttextarea {\n\t\twidth: 100%;\n\t}\n}\n\n.n-wp .img-crop {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tbackground-color: transparent;\n\toverflow: hidden;\n\tposition: relative;\n\twhite-space: nowrap;\n\n\t&:before {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tcontent: \"\";\n\t\tpadding-top: 25vmin;\n\t}\n\n\t&:after {\n\t\tcontent: \"\";\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\tbackground: var(--placeholder, none) center no-repeat;\n\t\tbackground-size: cover;\n\t\tfilter: blur(4px);\n\t\toverflow: hidden;\n\t}\n\n\timg {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tobject-fit: cover;\n\t\tobject-position: center;\n\t}\n}\n\n.img-crop h2,\narticle h2 a[href] {\n\tdisplay: inline-block;\n\tvertical-align: bottom;\n\tpadding: 0.5em;\n\tfont-size: 1.5rem;\n\tbackground: var(--color-teal);\n\tcolor: #fff;\n\ttext-decoration: none;\n}\n\narticle h2 a[href]:after {\n\tcontent: \" →\";\n}\n\n.comment-author img {\n\tpadding-bottom: 0;\n}\n\n/*\n#head .logo a {\n\t\n\tdisplay: block;\n\tmax-width: calc(100% - .5em);\n\n}\n*/\n.menu .current_page_item a:link,\n.menu .current_page_item a:visited,\n.img-crop:hover h2,\n.n-form button.search-submit:hover,\n.n-type article .img-crop:hover h2,\n.n-wp.n-type article .headline:hover h2 a[href] {\n\tcolor: #e82;\n}\n\n/*\narticle {\n\t\n\toverflow: hidden;\n\n}\n*/\n.n-header .logo {\n\t// display: flex;\n\tmax-width: 480px;\n\n\t~ .n-accordion {\n\t\tmargin-top: 1em;\n\t}\n\n\tdiv {\n\t\t// padding: 0 1em;\n\t\tflex-grow: 1;\n\n\t\th2,\n\t\th3 {\n\t\t\tpadding-top: 0;\n\t\t}\n\n\t\th2 {\n\t\t\tfont-size: 2em;\n\t\t}\n\t}\n}\n\n.logo-img {\n\tmin-height: 37px;\n}\n\n.rsswidget img {\n\tdisplay: none;\n}\n\nfooter {\n\t// Stick footer to the bottom\n\tflex-grow: 1;\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tflex-direction: column;\n\tpadding-bottom: 1em;\n}\n\n.comment-form p label {\n\tdisplay: block;\n}\n\nnav.n-nav {\n\ta {\n\t\tcolor: var(--nui-control-color, #666);\n\t\ttext-transform: uppercase;\n\t\ttext-decoration: none;\n\n\t\t&.active[href],\n\t\t&[href]:hover {\n\t\t\tcolor: var(--nui-control-highlight, #ee8822);\n\t\t}\n\t}\n\n\t&.n-nav--drop {\n\t\t--nui-control-bg: #eee;\n\n\t\tli.current_page_item {\n\t\t\t--nui-control-bg: #ddd;\n\t\t}\n\t}\n}\n\n.single h1 {\n\tmargin-top: 0.25em;\n}\n\n.n-type {\n\th3.comment-reply-title {\n\t\tpadding-top: 0;\n\t}\n\n\ta[href] {\n\t\tcolor: lightcoral;\n\t\ttext-decoration: none;\n\t}\n\n\ta[href]:hover,\n\tinput[type=\"submit\"]:hover,\n\ta.n-btn[href]:hover,\n\tbutton.n-btn:hover {\n\t\tcolor: var(--nui-control-highlight, #ee8822);\n\t}\n\n\t.page_item a[href] {\n\t\tcolor: unset;\n\t\tpadding: 0 0.5em;\n\t\tline-height: 1.5;\n\t}\n\n\tp {\n\t\ttext-align: left;\n\t}\n\n\tarticle {\n\n\t\th1,\n\t\th2,\n\t\th3,\n\t\th4,\n\t\th5 {\n\t\t\tfont-weight: 500;\n\t\t\tcolor: var(--color-teal);\n\t\t}\n\n\t\t.headline > h2 {\n\t\t\tpadding: 0;\n\t\t\tline-height: 1.33;\n\t\t}\n\n\t\t.img-crop {\n\t\t\th2 {\n\t\t\t\tcolor: #fff;\n\t\t\t\tposition: relative;\n\t\t\t\twhite-space: normal;\n\t\t\t\tline-height: 1.33;\n\t\t\t\tbackground: rgba(72, 142, 137, 0.88);\n\t\t\t\ttransition: background-color 0.2s ease-in-out;\n\t\t\t\tmargin-bottom: 0;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t&:hover h2 {\n\t\t\t\tbackground: rgb(72, 142, 137);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.wp-block-image {\n\tmargin: 1em 0;\n\tmax-width: 100%;\n\n\tfigure,\n\tfigure[class*=\"align\"] {\n\t\tdisplay: block;\n\t\tmargin: 0;\n\t}\n\n\t&,\n\tfigure,\n\tfigure[class*=\"align\"] {\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\tmax-width: 100%;\n\t}\n\n\t& {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\t&:has(> .aligncenter) {\n\t\t\tjustify-content: center;\n\t\t}\n\t\t&:has(> .alignright) {\n\t\t\tjustify-content: flex-end;\n\t\t}\n\t}\n\n\t.aligncenter {\n\t\t// text-align: center;\n\n\t\t.n-aspect {\n\t\t\tmargin: 0 auto;\n\t\t}\n\t}\n\n\t.alignright {\n\t\t// text-align: right;\n\n\t\t.n-aspect {\n\t\t\tmargin: 0 0 0 auto;\n\t\t}\n\t}\n}\n\n.n-aspect.aligncenter {\n\tdisplay: flex;\n\tmargin: 0 auto;\n}\n\n.n-aspect.alignright {\n\tdisplay: flex;\n\tmargin: 0 0 0 auto;\n}\n\n.n-header .n-accordion.n-accordion--mobile {\n\t//\tdisplay: inline-block; // Enable closing the n-burger by tapping on its right\n}\n\n/*\n\t.n-accordion span.n-burger:before { // Workaround for the weirdest bug where the fallback value of the CSS variable disappears\n\t\t\n\t --nui-control-color: #333;\n\t \n\t}\n\t*/\n// Image captions\n.wp-caption {\n\tmargin: 0.5em auto;\n\n\ta[href] {\n\t\tdisplay: inline-block;\n\t\tmax-width: 100%;\n\t}\n\n\t&.alignright {\n\t\tmargin: 0 0 0 auto;\n\t}\n\n\tp.wp-caption-text {\n\t\tmargin: 0;\n\t\tfont-size: 12px;\n\t\tline-height: 24px;\n\t\tpadding: 0;\n\t}\n}\n\na.n-backtotop[href] {\n\tbackground: none;\n\tbottom: -1em;\n}\n\n.textwidget a {\n\tmargin-bottom: 0.5em;\n\tdisplay: inline-block;\n}\n\n@media (min-width: 600px) {\n\n\t.home section {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\n\t.home section article {\n\t\twidth: calc(50% - 0.75em);\n\t\tmargin: 0 0 3em 0;\n\t}\n\n\t.home section article:nth-child(2) ~ :nth-child(2n + 1),\n\t.home.paged section article:first-child {\n\t\tmargin-right: 1.5em;\n\t}\n\n\t.home:not(.paged) section article:nth-child(1),\n\t.home:not(.paged) section article:nth-child(2),\n\t.home section .pagination {\n\t\twidth: 100%;\n\n\t\t.n-carousel--lightbox:not(.n-carousel--overlay) .gallery a {\n\t\t\t// Retina thumbnails\n\t\t\twidth: 10%;\n\t\t}\n\n\t\t.img-crop {\n\t\t\tbackground-size: cover;\n\t\t}\n\n\t}\n\n\t.n-wp .n-carousel--lightbox .gallery a {\n\t\t// Retina thumbnails\n\t\twidth: 10%;\n\t}\n\n\t.comments {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: 1fr 1fr;\n\n\t\t> h2 {\n\t\t\tgrid-column: 1 / 3;\n\t\t}\n\n\t\t> ul {\n\t\t\tgrid-column: 1 / 2;\n\t\t}\n\n\t\t> div {\n\t\t\tgrid-column: 2 / 3;\n\t\t}\n\t}\n}\n\n.n-nav--drop li[aria-haspopup] {\n\tpadding-right: 1em;\n}\n\n.wp-video {\n\tmargin: 1.5em auto 0 auto;\n}\n\n@media (max-width: 599.9px) {\n\t.single h1 {\n\t\tfont-size: 1.5em;\n\t}\n}\n\n// Color scheme\n.n-carousel__previous,\n.n-carousel__next,\n.n-carousel__full-screen,\n.n-carousel__close,\n.n-carousel__index .n-tool:after,\n.n-btn,\n.n-form input[type=\"submit\"],\n.n-form button[type=\"submit\"],\n.n-form button[type=\"reset\"],\nbutton.n-btn,\na.n-btn[href],\n.n-type a.n-btn[href],\n.n-accordion__label,\n.n-nav--drop,\n.n-form,\n.n-ovrl > .n-ovrl--close,\n.n-nav--drop ul li,\n.n-type nav.n-nav a[href] {\n\t--nui-control-bg: lightcoral;\n\t--nui-control-color: #222;\n\t--nui-control-active-bg: #cc7c7e;\n\t--nui-control-active-color: #eee;\n\t--nui-control-highlight: #bf2a2a;\n}\n\n.n-form input,\n.n-form textarea {\n\t--nui-input-color: darkslateblue;\n\t--nui-input-bg: aliceblue;\n}\n\n// Auto dark mode\n@media (prefers-color-scheme: dark) {\n\n\tbody,\n\t.n-ovrl > *,\n\t.n-carousel {\n\t\tbackground: #000;\n\t}\n\n\t.n-type {\n\t\tcolor: #ddd;\n\t}\n\n\t.img-crop {\n\t\tbackground-color: #222;\n\t}\n\n\t.n-form input,\n\t.n-form textarea {\n\t\t--nui-input-color: #ddd;\n\t\t--nui-input-bg: #222;\n\t}\n\n\t.logo .default-logo {\n\t\tbackground: url(img/logo-white.svg) top left no-repeat;\n\t\tbackground-size: contain;\n\n\t\timg {\n\t\t\topacity: 0;\n\t\t}\n\t}\n}\n\nfigcaption:empty {\n\tdisplay: none;\n}\n\narticle .featured-image {\n\ttext-align: center;\n\n\t.n-aspect:before {\n\t\tmax-width: calc(1px * var(--width));\n\t\tmax-height: calc(1px * var(--height));\n\t\tmargin: 0 auto;\n\t}\n}\n\n.n-carousel--lightbox > .n-carousel__content picture:not([data-loaded]) > * {\n\t// background-image: inherit !important;\n\t// background-image: var(--placeholder);\n\t--placeholder: inherit !important;\n}\n\n// Clip images border while loading\n.n-wp picture[style*=\"--placeholder\"],\n.headline picture {\n\t&:not([data-loaded=\"true\"]) img {\n\t\t-webkit-mask: -webkit-linear-gradient(0deg, red, red) no-repeat center / calc(100% - 3px) calc(100% - 3px);\n\t\tmask: linear-gradient(0deg, red, red) no-repeat center / calc(100% - 3px) calc(100% - 3px);\n\t}\n}\n\n// Use the .n-aspect child instead\n.n-carousel--lightbox > .n-carousel__content picture:not([data-loaded]):before,\narticle .n-carousel--lightbox > .n-carousel__content [data-loaded] > .n-aspect:before {\n\tdisplay: none;\n}"]} \ No newline at end of file diff --git a/niui-wp/niui.min.js b/niui-wp/niui.min.js index 73a06b6b..18cf40b3 100644 --- a/niui-wp/niui.min.js +++ b/niui-wp/niui.min.js @@ -1,2 +1,2 @@ -let nui=(()=>{function e(e){return document.querySelector(e)}function t(e,t){e.classList.add(t)}function n(e,t){e.classList.remove(t)}document.body.dataset.nuiJs=!0,window.chrome&&(document.body.dataset.nuiChrome=!0),navigator.userAgent.match(/Safari/)&&!navigator.userAgent.match(/Chrome/)&&(document.body.dataset.nuiSafari=!0),(navigator.platform.match(/Mac/)||navigator.platform.match(/iPhone/)||navigator.platform.match(/iPod/)||navigator.platform.match(/iPad/))&&(document.body.dataset.nuiApple=!0),navigator.platform.match(/iPad/);let o=()=>{e(".n-target")&&n(e(".n-target"),"n-target"),location.hash&&e(location.hash)&&t(e(location.hash),"n-target")};o(),window.addEventListener("hashchange",o);var r=document.createElement("temp");for(var a in{animation:"animationend",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd"})r.style[a];!function(){var o,r=!1;let a=n=>{clearTimeout(o),r=!0,t(e("html"),"can-touch"),o=setTimeout((()=>{r=!1}),500)};document.addEventListener("mouseover",(t=>{r||(r=!1,n(e("html"),"can-touch"))}),!1),document.addEventListener("touchstart",a,!1),a()}(),e(".n-carousel__content");var l=new Array;function i(e=document.body){c();for(let t in l)l[t][0].init(e);d()}var s=!1;function d(){s&&s.observe(document.body,{childList:!0,subtree:!0})}function c(){s&&s.disconnect()}return"function"==typeof MutationObserver&&(s=new MutationObserver(((e,t)=>{if(window.nui.dynamicInit){c();let t=e[0];if("childList"===t.type&&t.addedNodes.length>0)for(let e of t.addedNodes)"object"==typeof e&&"#text"!==e.nodeName&&!e.dataset.ready&&e.parentNode&&i(e.parentNode);d()}}))),i(),{registerComponent:function(e,t,n=!1){l[e]=new Array,l[e].push({init:t}),t(document),n&&(nui[n.name]=n.code)},initComponents:i,copyButton:function(e,t,n){e.addEventListener("click",(e=>{window.getSelection().removeAllRanges();var o=document.createRange();o.selectNode(t),window.getSelection().addRange(o);try{document.execCommand("copy"),n&&nui.notify&&nui.notify("📋 "+t.textContent,"fixed timeout")}catch(e){}}))},addComponent:function(e,t){e.insertAdjacentHTML("afterbegin",t),i(e)}}})();nui.dynamicInit=!0,function(){function e(e){var t=e.target,n=!0;return t.querySelectorAll(".n-form--mandatory:not([disabled])").forEach((e=>{if(e.querySelector("input, select, textarea")&&!e.querySelector("input, select, textarea").value||e.querySelector("input[type=checkbox]")&&!e.querySelector("input[type=checkbox]").checked||e.querySelector("input[type=radio]")&&!e.querySelector("input[type=radio]").checked||e.querySelector("input[type=email]")&&!RegExp(/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/).test(e.querySelector("input[type=email]").value)||e.querySelector("input[type=url]")&&!RegExp(/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/).test(e.querySelector("input[type=url]").value)||e.querySelector("input[type=number]")&&!RegExp(/^\d+$/).test(e.querySelector("input[type=number]").value)||e.querySelector("input[type=number][data-digits]")&&e.querySelector("input[type=number]").value.length!==parseInt(e.querySelector("input[type=number]").dataset.digits)){n=!1,e.querySelector("input").focus(),e.classList.add("n-form--alert");let t=e.closest("form");t.animate([{width:`${t.scrollWidth}px`},{marginLeft:"-9px"},{marginLeft:"18px"},{width:`${t.scrollWidth}px`,marginLeft:0}],250)}else e.classList.remove("n-form--alert")})),n}function t(e){var t=e.target;t.parentNode.querySelector("span.n-form__file-name").innerHTML=t.value.substring(t.value.lastIndexOf("\\")+1)}function n(e){var t=e.target,n=document.querySelector(`fieldset#${t.closest(".n-form__condition").dataset.for}`)||t.closest(".n-form__condition").nextElementSibling,o="disabled";t.checked?n.removeAttribute(o):n.setAttribute(o,"disabled")}nui.registerComponent("form",(o=>{o.querySelectorAll("form.n-form").forEach(((o,r)=>{o.onsubmit=o.onsubmit||e,o.querySelectorAll("input[type=file]").forEach(((e,n)=>{e.onchange=t,e.parentNode.querySelector("span").insertAdjacentHTML("afterbegin","")})),o.querySelectorAll(".n-form__check.n-form__condition input").forEach(((e,t)=>{e.onchange=n})),o.querySelectorAll("textarea[data-auto]").forEach((e=>{e.onkeyup=t=>{for(e=t.target;e.rows>1&&e.scrollHeighte.offsetHeight&&!(e.rows>20);)e.rows++;e.rows++}})),o.dataset.ready=!0}))}))}(),nui.registerComponent("button",(e=>{const t=e=>{let t=e.target.closest(".n-btn--ripple"),n=e.offsetX||t.clientWidth/2,o=e.offsetY||t.clientHeight/2,r=Math.max(n,t.clientWidth-n),a=Math.max(o,t.clientHeight-o),l=Math.sqrt(r*r+a*a);t.style.transitionProperty="none",t.style.setProperty("--ripple-x",`${n}px`),t.style.setProperty("--ripple-y",`${o}px`),t.style.setProperty("--ripple-radius","0px"),window.requestAnimationFrame((()=>{t.style.transitionProperty="",t.style.setProperty("--ripple-radius",`${l}px`)}))};document.querySelectorAll(".n-btn--ripple:not([data-ready])").forEach((e=>{e.addEventListener("pointerdown",t),e.addEventListener("keydown",t),e.dataset.ready=!0}))})),function(){const e=e=>Math.ceil(parseFloat(getComputedStyle(e).width)),t=e=>Math.ceil(parseFloat(getComputedStyle(e).height)),n='button, [href], input, select, textarea, details, summary, video, [tabindex]:not([tabindex="-1"])';const o=!!navigator.userAgent.match("Chrome"),r=navigator.userAgent.match(/Safari/)&&!o,a=e=>e.children.length>2&&e.parentElement.classList.contains("n-carousel--endless"),l=()=>!(!document.webkitFullscreenElement&&!document.fullscreenElement),i=e=>e.closest(".n-carousel").classList.contains("n-carousel--overlay"),s=e=>e.closest(".n-carousel").matches(".n-carousel--vertical"),d=e=>e.closest(".n-carousel").matches(".n-carousel--auto-height"),c=e=>{let t=e.querySelectorAll(".n-carousel__control");return t.length>0?t:e.querySelectorAll("a, button")},u=e=>{e.style.height=0,e.style.overflow="auto";const t=e.scrollHeight;return e.style.height=e.style.overflow="",t},p=e=>1*(s(e)?e.dataset.y:e.dataset.x),h=e=>{let t=e.querySelector(":scope > [aria-current]");if(t)return[...e.children].indexOf(t);{let t=location.hash?[...e.children].indexOf(e.querySelector(`:scope > ${location.hash}`)):0;return t>-1?t:0}},m=e=>{for(e=e.parentNode;e;){if(0!==e.scrollTop||0!==e.scrollLeft)return e;e=e.parentNode}return!1},y=e=>"rtl"===getComputedStyle(e).direction,g=e=>{let t=(e=e.closest(".n-carousel")).querySelector(":scope > .n-carousel__content");const n=()=>{l()||(e.nuiAncestors.forEach((e=>{window.requestAnimationFrame((()=>{e.scrollLeft=e.nuiScrollX,e.scrollTop=e.nuiScrollY,delete e.nuiScrollX,delete e.nuiScrollY}))})),delete e.nuiAncestors,e.removeEventListener("webkitfullscreenchange",n))};if(t.togglingFullScreen=!0,l()){if(document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen(),r&&setTimeout((()=>{e.style.display="none",window.requestAnimationFrame((()=>{e.style.display=""}))}),0),s(e)&&d(e)){let t=n=>{setTimeout((()=>{let t=e.querySelector(":scope > .n-carousel__content");P(t,parseInt(t.dataset.y))}),100),e.removeEventListener("fullscreenchange",t)};e.addEventListener("fullscreenchange",t)}}else r&&(e.nuiAncestors=(e=>{let t=[],n=m(e);for(;n&&void 0!==n.scrollLeft&&(0!==n.scrollTop||0!==n.scrollLeft);)t.push(n),n=m(n);return t})(e),e.nuiAncestors.forEach((e=>{e.nuiScrollX=e.scrollLeft,e.nuiScrollY=e.scrollTop})),e.addEventListener("webkitfullscreenchange",n,!1)),e.requestFullscreen?e.requestFullscreen():e.webkitRequestFullscreen()},f=e=>e.scrollLeft,v=(e,t,n)=>{e.scrollTo(y(e)?-1*Math.abs(t):t,n)},b=e=>e===window?{x:e.scrollX,y:e.scrollY}:{x:f(e),y:e.scrollTop};let x=null,S=null,w=null;const E=e=>{("Tab"===e.key||9===e.keyCode)&&(e.shiftKey?document.activeElement===x&&(w.focus(),e.preventDefault()):document.activeElement===w&&(x.focus(),e.preventDefault()))},q=(e,t=!1)=>{x=e.querySelectorAll(n)[0],S=e.querySelectorAll(n),w=S[S.length-1],t?e.removeEventListener("keydown",E):(e.addEventListener("keydown",E),x.focus())},A=(e,t)=>{let n=document.querySelector(`${t}[data-for="${e.id}"]`);if(n)return n;for(let n of e.children){if(n.matches(t))return n;if(!n.matches(".n-carousel__content")&&n.querySelector(t))return n.querySelector(t)}},C=e=>{var t=e.closest('[class*="n-carousel"]').dataset.for;return t?document.getElementById(t).querySelector(".n-carousel__content"):e.closest(".n-carousel").querySelector(".n-carousel__content")},L=(e,t,n,o,r=!1)=>new Promise(((a,l)=>{let i=e.closest(".n-carousel");if(i.nextSlideInstant||!i.dataset.ready||window.matchMedia("(prefers-reduced-motion: reduce)").matches||i.matches(".n-carousel--instant"))return v(e,b(e).x+t,b(e).y+n),e.style.height=`${o}px`,delete i.nextSlideInstant,_(e),void a(e);O(e);let c=!0;0===t&&0===n&&(c=!1),o?(e.style.height=`${r}px`,s(e)&&d(e)&&e.style.setProperty("--subpixel-compensation",0)):s(e)||(e.style.height="");var u=b(e).x,p=b(e).y,h=parseInt(e.style.height),m=o-h,y=1e3*parseFloat(e.parentNode.dataset.duration)||500,g=null;let f=r=>{if(r-g>=y)return window.requestAnimationFrame((()=>{v(e,u+t,p+n),o&&(e.style.height=`${o}px`),_(e)})),void a(e);var l,i=(l=(r-g)/y,(1-Math.cos(Math.PI*l))/2);c&&v(e,u+t*i,p+n*i),o&&window.requestAnimationFrame((()=>{e.style.height=`${h+m*i}px`})),requestAnimationFrame(f)};requestAnimationFrame((e=>{g=e,f(e)}))})),_=(n,o=!1)=>{O(n);let l=n.dataset.x,i=n.dataset.y;n.togglingFullScreen?delete n.togglingFullScreen:n.openingModal?(delete n.openingModal,v(n,n.offsetWidth*n.dataset.x,n.offsetHeight*n.dataset.y)):(n.dataset.x=Math.abs(Math.round(f(n)/e(n.firstElementChild))),n.dataset.y=Math.abs(Math.round(n.scrollTop/t(n.firstElementChild)))),"NaN"===n.dataset.x&&(n.dataset.x=0),"NaN"===n.dataset.y&&(n.dataset.y=0);let m=p(n);m>=n.children.length&&(m=n.children.length-1);let y=n.querySelector(":scope > [aria-current]"),g=n.parentElement;g.classList.contains("n-carousel--auto-height")||(n.style.height="");let b=n.children[m];if(y&&!o){if(b===y)return n.dataset.x=l,n.dataset.y=i,void W(n);y.removeAttribute("aria-current"),y.style.height="",s(n)||(n.style.height="")}var x=m;b.setAttribute("aria-current",!0),x=h(n),n.dataset.x=n.dataset.y=x;const S=e=>{e.querySelectorAll(":scope > [data-first]").forEach((t=>{e.append(e.firstElementChild),delete t.dataset.first,m--})),e.querySelectorAll(":scope > [data-last]").forEach((t=>{e.prepend(e.lastElementChild),delete t.dataset.last,m++}))};if(g.dataset.sliding=!0,a(n)?(0===m?b.dataset.first?(delete n.firstElementChild.dataset.first,n.append(n.firstElementChild),n.firstElementChild.dataset.last=!0,n.append(n.firstElementChild),x=n.children.length-1,m=n.children.length-2):(n.lastElementChild.dataset.last?(delete n.lastElementChild.dataset.last,x=1):n.lastElementChild.dataset.first=!0,n.prepend(n.lastElementChild),m=1):m===n.children.length-1?b.dataset.last?(delete n.lastElementChild.dataset.last,n.prepend(n.lastElementChild),n.lastElementChild.dataset.first=!0,n.prepend(n.lastElementChild),x=0,m=1):(n.firstElementChild.dataset.first?(delete n.firstElementChild.dataset.first,x=n.children.length-2):n.firstElementChild.dataset.last=!0,n.append(n.firstElementChild),m=n.children.length-2):(S(n),x=Math.max(0,[...n.children].indexOf(n.querySelector(":scope > [aria-current]")))),window.requestAnimationFrame((()=>{n.dataset.x=n.dataset.y=x;let o=e(n.firstElementChild)*m,r=t(n.firstElementChild)*m;n.scroll_x=o,n.scroll_y=r,v(n,o,r),delete n.scroll_x,delete n.scroll_y}))):(S(n),x=Math.max(0,[...n.children].indexOf(n.querySelector(":scope > [aria-current]")))),b.style.height="",g.style.setProperty("--height",`${n.parentNode.classList.contains("n-carousel--auto-height")?u(b):b.scrollHeight}px`),window.requestAnimationFrame((()=>{!n.parentNode.dataset.ready&&d(n)&&s(n)&&(n.style.height=parseFloat(getComputedStyle(n).height)-(e=>2*parseInt(getComputedStyle(e).paddingBlockStart))(n)+"px")})),"hidden"!==getComputedStyle(n).visibility){let e=document.activeElement,t=b.id;n.parentNode.dataset.ready&&t&&!n.parentNode.closest(".n-carousel__content")&&(location.hash=`#${t}`),n.parentNode.dataset.ready&&!t&&!n.parentNode.closest(".n-carousel__content")&&window.nCarouselNav&&(location.hash=""),e.focus()}let w=A(n.closest(".n-carousel"),".n-carousel__index");w&&(w.querySelector("[aria-current]")?.removeAttribute("aria-current"),c(w)[x].setAttribute("aria-current",!0)),[...n.children].forEach((e=>{if(e.inert=e!==b,r&&e.querySelector(".n-carousel:-webkit-full-screen")){let t=e.parentNode.querySelector(':scope > [aria-current="true"]');t.inert=!0,t.removeAttribute("aria-current"),e.inert=!1,e.setAttribute("aria-current",!0)}})),/--vertical.*--auto-height/.test(g.classList)&&(n.scrollTop=n.offsetHeight*x),window.requestAnimationFrame((()=>{W(n)}))},N=(e,t=0,n=0,o)=>{if(clearTimeout(e.nCarouselTimeout),O(e),!e.parentNode.dataset.sliding){e.parentNode.dataset.sliding=!0;let r=e.children[h(e)].offsetHeight,a=r;if(d(e)){let t=f(e),n=e.scrollTop,r=e.children[o];if(s(e)){r.style.height="auto";let t=getComputedStyle(e).maxHeight,n=t.match(/px/)?Math.ceil(parseFloat(t)):99999;a=Math.min(Math.ceil(parseFloat(getComputedStyle(r).height)),n),r.style.height=""}else{a=u(r);let t=h(e)===o?a:u(e.children[h(e)]);e.parentNode.style.setProperty("--height",`${t}px`)}v(e,t+(e=>2*parseInt(getComputedStyle(e).paddingInlineStart))(e)/2,n),v(e,t,n)}s(e)&&((i(e)||l())&&d(e)&&(r=a=e.offsetHeight),n=n-o*r+o*a),window.requestAnimationFrame((()=>{e.parentNode.dataset.duration||d(e)?L(e,t,n,a!==r&&a,r):(delete e.parentNode.dataset.sliding,e.dataset.next=o,e.scrollTo({top:e.scrollTop+n,left:e.scrollLeft+t,behavior:window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth"}))}))}},T=e=>{let t=h(e);P(e,t>=e.children.length-1?0:t+1)},P=(e,n)=>{if(s(e))N(e,0,t(e.children[n])*n-e.scrollTop,n);else{let t=Math.ceil(parseFloat(getComputedStyle(e.children[n]).width)),o=y(e)?Math.abs(f(e))-t*n:t*n-f(e);N(e,o,0,n)}},k=e=>{},M=e=>(e=>{let t=h(e);P(e,0===t?e.children.length-1:t-1)})(C(e.target.closest('[class*="n-carousel"]'))),H=e=>T(C(e.target.closest('[class*="n-carousel"]'))),F=e=>{let t=e.target.closest("a, button");if(t&&(!t.href||!e.ctrlKey&&!e.metaKey)){const e=document.querySelector(`.n-carousel#${t.parentNode.dataset.for}`)||t.closest(".n-carousel"),o=e.querySelector(":scope > .n-carousel__content");let r=[...c(t.parentNode)].indexOf(t);if(a(o)){var n=p(o);0===n&&(r===o.children.length-1?r=0:r++),n===o.children.length-1&&(0===r?r=o.children.length-1:r--)}return e.classList.contains("n-carousel--inline")&&!i(o)?(e.nextSlideInstant=!0,B(o),window.requestAnimationFrame((()=>{o.dataset.x=o.dataset.y=r,v(o,o.offsetWidth*o.dataset.x,o.offsetHeight*o.dataset.y),document.body.dataset.frozen=document.body.scrollTop,_(o)}))):window.requestAnimationFrame((()=>{P(o,r)})),!1}},R=e=>{l()&&(document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen());let t=C(e);t&&(t.closest(".n-carousel").classList.remove("n-carousel--overlay"),q(t.closest(".n-carousel"),!0),delete document.body.dataset.frozen)},B=e=>{let t=C(e);t&&(t.openingModal=!0,t.closest(".n-carousel").classList.add("n-carousel--overlay"),q(t.closest(".n-carousel")))},$=new ResizeObserver((e=>{window.requestAnimationFrame((()=>{e.forEach((e=>{let t=e.target.querySelector(":scope > [aria-current]"),n=t.closest(".n-carousel__content");n.parentElement.dataset.sliding||(n.parentNode.style.removeProperty("--height"),s(n)?(t.style.height="auto",n.style.height=`${t.scrollHeight}px`,t.style.height="",_(n)):(n.style.height="",n.style.height=`${t.scrollHeight}px`,_(n,!0)))}))}))})),I=n=>{if(!n.parentNode.dataset.sliding){let o=n;o.style.padding="",o.style.removeProperty("--peek-int"),o.style.padding=s(o)?`${parseInt(getComputedStyle(o).paddingBlockStart)}px 0`:`0 ${parseInt(getComputedStyle(o).paddingInlineStart)}px`,"0px"===o.style.padding?o.style.padding="":o.style.setProperty("--peek-int",s(o)?`${parseInt(getComputedStyle(o).paddingBlockStart)}px 0 0 0`:`0 ${parseInt(getComputedStyle(o).paddingInlineStart)}px 0 0`),window.requestAnimationFrame((()=>{s(n)?o.style.setProperty("--subpixel-compensation",Math.ceil(o.getBoundingClientRect().height)-o.getBoundingClientRect().height):o.style.setProperty("--subpixel-compensation",Math.ceil(o.getBoundingClientRect().width)-o.getBoundingClientRect().width);let r=h(o);v(o,r*e(o.firstElementChild),r*t(o.firstElementChild))}))}},W=e=>{window.requestAnimationFrame((()=>{e.scroll_x&&e.scroll_y&&v(e,e.scroll_x,e.scroll_y),delete e.parentNode.dataset.sliding,e.parentNode.matches(".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height")?Y.observe(e.parentNode):Y.unobserve(e.parentNode),D.observe(e),j.observe(e.parentNode,{attributes:!0,attributeFilter:["class"]})}))},O=e=>{Y.unobserve(e.parentNode),D.unobserve(e),e.observerStarted=!0},z=e=>{O(e);const t=e=>{I(e),window.requestAnimationFrame((()=>{let t=e.querySelector(":scope > [aria-current]").scrollHeight+"px";t!==getComputedStyle(e).getPropertyValue("--height")&&e.parentNode.style.setProperty("--height",t),W(e)}))};t(e),e.querySelectorAll(".n-carousel__content").forEach((e=>t(e)))},D=new ResizeObserver((e=>{window.requestAnimationFrame((()=>{e.forEach((e=>{let t=e.target;t.observerStarted?t.observerStarted=!1:z(t)}))}))})),j=new MutationObserver((e=>{for(let t of e)if(t.target&&!t.target.nextSlideInstant){let e=t.target.querySelector(":scope > .n-carousel__content");z(e),_(e,!0)}})),X=e=>{let t=e.querySelector(":scope > .n-carousel__index");t&&!e.dataset.sliding&&(e.style.removeProperty("--height-minus-index"),t.style.position="absolute",e.style.setProperty("--height-minus-index",`${e.offsetHeight}px`),e.style.setProperty("--index-width",getComputedStyle(e.querySelector(":scope > .n-carousel__index")).width),t.style.position="")},Y=new ResizeObserver((e=>{window.requestAnimationFrame((()=>{e.forEach((e=>{let t=e.target;X(t)}))}))})),V=(n=document)=>{n.querySelectorAll(".n-carousel:not([data-ready])").forEach((n=>{const o=A(n,".n-carousel__previous"),a=A(n,".n-carousel__next"),c=A(n,".n-carousel__index"),p=A(n,".n-carousel__close"),h=A(n,".n-carousel__full-screen"),m=n.querySelector(":scope > .n-carousel__content");if(!m)return;if(o&&(o.onclick=M),a&&(a.onclick=H),c&&(c.onclick=F),p&&(p.onclick=e=>{e.target.closest(".n-carousel").classList.contains("n-carousel--overlay")?R(e.target):B(e.target)}),h){h.onclick=e=>{let t=e.target.closest(".n-carousel").querySelector(":scope > .n-carousel__content");t.dataset.xx=t.dataset.x,t.dataset.yy=t.dataset.y,g(e.target)};const o=n=>{let o=n.target.querySelector(":scope > .n-carousel__content");window.requestAnimationFrame((()=>{_(o),o.dataset.x=o.dataset.xx,o.dataset.y=o.dataset.yy,delete o.dataset.xx,delete o.dataset.yy,"undefined"!==o.dataset.x&&"undefined"!==o.dataset.y&&v(o,o.dataset.x*e(o.children[o.dataset.x]),o.dataset.y*t(o.children[o.dataset.y]))}))};r?n.onwebkitfullscreenchange=o:n.onfullscreenchange=o}m.addEventListener("keydown",k),n.addEventListener("keyup",(e=>{if("Escape"===e.key){let t=e.target;t.closest(".n-carousel--overlay")||(t=document.querySelector(".n-carousel--overlay")),t&&R(t)}})),I(m),m.observerStarted=!0;let y=!!location.hash&&m.querySelector(":scope > "+location.hash);if(y){n.classList.contains("n-carousel--inline")&&B(m);let e=[...y.parentNode.children].indexOf(y);s(m)?m.dataset.y=e:m.dataset.x=e,window.nCarouselNav=[m,location.hash]}n.matches(".n-carousel--vertical.n-carousel--auto-height")&&(m.style.height="",m.style.height=getComputedStyle(m).height,n.dataset.ready=!0,m.scrollTop=0),n.matches(".n-carousel--auto-height")&&$.observe(m),window.requestAnimationFrame((()=>{if(W(m),n.parentNode.matches(".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height")&&X(n),_(m),n.dataset.ready=!0,n.matches(".n-carousel--auto-slide")){let e=(1e3*parseFloat(n.dataset.interval)||4e3)+(1e3*parseFloat(n.dataset.duration)||500),t=()=>{(function(e){let t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.offsetHeight)&&t.right<=(window.innerWidth||document.documentElement.offsetWidth)})(m)&&T(m),m.nCarouselTimeout=setTimeout(t,e)};m.nCarouselTimeout=setTimeout(t,1e3*parseFloat(n.dataset.interval)||4e3),m.addEventListener("pointerenter",(e=>clearTimeout(e.target.nCarouselTimeout)))}n.dataset.platform=navigator.platform})),m.nCarouselUpdate=_;if(m.querySelectorAll(":scope > *").forEach((e=>{const t=new IntersectionObserver((e=>{e.forEach((e=>{let t=e.target,o=t.parentNode;if(e.isIntersecting&&!o.parentNode.dataset.sliding&&"hidden"!==getComputedStyle(o).visibility){if(o.dataset.next&&parseInt(o.dataset.next)!==[...o.children].indexOf(t))return;delete o.dataset.next,O(n),o.scrollLeft,o.scrollTop;let e=()=>{let e=[...o.children].indexOf(t);if(d(o)){let r,a=parseFloat(getComputedStyle(o).height),d=0,c=o.scrollLeft,p=o.scrollTop;if(s(o)){let s=o.scrollTop;t.style.height="auto";let c=getComputedStyle(n).maxHeight,u=c.match(/px/)?Math.ceil(parseFloat(c)):99999;r=Math.min(Math.ceil(parseFloat(getComputedStyle(t).height)),u),(i(o)||l())&&(a=r=o.offsetHeight),t.style.height="",o.scrollTop=s,d=e*r-o.scrollTop}else r=u(t),c&&v(o,c,p);a===r&&(r=!1),o.parentNode.dataset.sliding=!0,window.requestAnimationFrame((()=>{L(o,0,d,r,a).then((()=>{}))}))}else window.requestAnimationFrame((()=>{_(o)}))};setTimeout(e,10)}}))}),{threshold:.996,root:e.parentElement});t.observe(e)})),n.matches(".n-carousel--lightbox")){let e=e=>{e.closest("picture").dataset.loaded=!0};m.querySelectorAll("picture img").forEach((t=>{t.complete?e(t):t.addEventListener("load",(t=>{e(t.target)}))}))}}))};window.nCarouselInit=V,window.addEventListener("popstate",(e=>{if(location.hash){let e=document.querySelector(location.hash),t=e?.parentNode;if(t&&t.classList.contains("n-carousel__content")&&!t.parentNode.closest(".n-carousel__content")){let n=document.querySelector(".n-carousel--overlay > .n-carousel__content");n&&n!==t&&R(n),t.parentNode.classList.contains("n-carousel--inline")&&R(t),r&&v(t,t.offsetWidth*t.dataset.x,t.offsetHeight*t.dataset.y),P(t,[...t.children].indexOf(e)),window.nCarouselNav=[t,location.hash]}}else if(window.nCarouselNav){let e=window.nCarouselNav[0];delete window.nCarouselNav,r&&v(e,e.offsetWidth*e.dataset.x,e.offsetHeight*e.dataset.y),P(e,[...e.children].indexOf(e.querySelector(":scope > :not([id])")))}}));const K=()=>{void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-carousel",V):V()};"loading"!==document.readyState?K():document.addEventListener("DOMContentLoaded",K)}(),function(){const e=e=>({easing:"ease-in-out",duration:window.matchMedia("(prefers-reduced-motion: no-preference)").matches?1e3*e.dataset.duration||1e3*getComputedStyle(e).getPropertyValue("--duration")||200:0}),t=e=>e.querySelector(":scope > .n-accordion__content"),n=n=>{n=t(n),window.requestAnimationFrame((()=>{n.style.height=0,n.style.overflow="hidden";let t=n.parentNode;t.querySelector(":scope > .n-accordion__label").setAttribute("aria-expanded",!0),n.animate([{height:0},{height:`${n.scrollHeight}px`}],e(t)).onfinish=()=>{n.style.height=n.style.overflow=""}}))},o=(n,o)=>{n=t(n),window.requestAnimationFrame((()=>{n.style.overflow="hidden";let t=n.parentNode;n.animate([{height:`${n.scrollHeight}px`},{height:0}],e(t)).onfinish=()=>{n.style.height=n.style.overflow="",t.querySelector(":scope > .n-accordion__label").setAttribute("aria-expanded",!1),"function"!=typeof o||o(),t.classList.contains("n-accordion--close-nested")&&n.querySelectorAll(".n-accordion__label[aria-expanded='true']").forEach((e=>e.setAttribute("aria-expanded",!1)))}}))},r=e=>{let t=e.target.closest(".n-accordion");if(t.querySelector(":scope > [aria-expanded='true']"))o(t);else{let e=t.closest(".n-accordion__popin");const r=()=>{if(e){let n=Math.floor([...e.children].indexOf(t)/getComputedStyle(e).getPropertyValue("--n-popin-columns")*1)+2;e.style.setProperty("--n-popin-open-row",n)}};if(t.parentNode.matches('[role="group"]')||e){let e=t.parentNode.querySelector(":scope > .n-accordion > [aria-expanded='true']");e?o(e.parentNode,(()=>{r(),n(t)})):(r(),n(t))}else n(t)}};function a(e=document){e.querySelectorAll(".n-accordion:not([data-ready]) > .n-accordion__label").forEach((e=>{e.addEventListener("click",r),e.parentElement.querySelector(":scope > input")?.remove(),e.parentNode.dataset.ready=!0,e.setAttribute("aria-expanded","true"===e.getAttribute("aria-expanded"))}))}const l=()=>{void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-accordion",a):a()};"loading"!==document.readyState?l():document.addEventListener("DOMContentLoaded",l)}(),function(){var e;const t=t=>{document.querySelectorAll("dialog.n-modal[open]").forEach((e=>{e.classList.add("n-modal--transparent")})),clearTimeout(e),e=setTimeout((()=>{document.querySelectorAll("dialog.n-modal[open]").forEach((e=>{e.classList.remove("n-modal--transparent")}))}),67)};const n=()=>window.matchMedia("(prefers-reduced-motion: no-preference)").matches?1e3*getComputedStyle(document.querySelector(".n-modal")).getPropertyValue("--duration"):0;let o=e=>{document.documentElement.classList.remove("transparent-scrollbar");let t=e.target;if(t.removeEventListener("close",o),t.existingDetachedElement){if(!t.existingModal){let e=t.querySelector(".n-modal__content");e.removeChild(e.firstElementChild)}delete t.existingDetachedElement,t.remove()}t.attachedHiddenContent?t.replaceWith(t.lastChild):t.dataset.existingAttachedContent?t.replaceWith(t.lastChild.firstElementChild):t.existingModal?(delete t.existingModal,delete t.dataset.anim):t.remove()};function r(e){let r="normal";var a=e.dataset.anim;!a||a.length<11?a='[{ "transform": "translate3d(0,0,0)" }, { "transform": "translate3d(0,-100vh,0)" }]':r="reverse",e.classList.add("n-modal--closing"),setTimeout((()=>{e.classList.remove("n-modal--closing")}),n()),e.animate(JSON.parse(a),{duration:n(),direction:r,easing:"ease-in-out"}).onfinish=()=>{window.removeEventListener("scroll",t),e.existingModal&&(e.existingDetachedElement||e.removeEventListener("close",o),delete e.dataset.anim),e.close()}}function a(e){document.documentElement.style.overflow="scroll";const a=window.innerWidth-document.documentElement.offsetWidth;document.documentElement.style.overflow="",a||document.documentElement.classList.add("transparent-scrollbar"),("string"==typeof e||e.tagName)&&(e={content:e});let l=e.animation,i=e.content,s=e.trigger;var d={},c=!1;if(i.parentNode){if("DIALOG"===i.parentNode.tagName||i.parentNode.classList.contains("n-modal__content"))return}else i.tagName&&(c=!0);const u="Close";if("object"==typeof i&&"DIALOG"===i.tagName){i.parentNode||document.body.appendChild(i),(d=i).existingModal=!0;let e=d.querySelector(".n-modal__close");e&&(e.dataset.closeSymbol=e.dataset.closeSymbol||"╳",e.ariaLabel=e.ariaLabel||u)}else if((d=document.createElement("dialog")).insertAdjacentHTML("afterbegin",`
`),document.createElement("div"),"string"==typeof i)d.lastChild.innerHTML=i,document.body.appendChild(d);else{if(i.parentElement){let e=document.createElement("div");i.replaceWith(e),d.lastChild.appendChild(i),e.replaceWith(d),i.classList.contains("n-modal__content")?(d.lastChild.replaceWith(i),d.attachedHiddenContent=!0):d.dataset.existingAttachedContent=!0}else d.lastChild.appendChild(i),document.body.appendChild(d)}return e.blur&&d.classList.add("n-modal--blur"),e.shadow&&d.classList.add("n-modal--shadow"),e.rounded&&d.classList.add("n-modal--rounded"),e.full&&d.classList.add("n-modal--full"),d.dataset.anim=l,d.classList.add("n-modal"),d.onclick=e=>{let t=e.target.closest(".n-modal");(e.target.closest(".n-modal__close")||e.target.matches(".n-modal")&&(e.offsetX<0||e.offsetY<0||e.offsetX-2>t.getBoundingClientRect().width||e.offsetY-2>t.getBoundingClientRect().height))&&r(t)},d.addEventListener("cancel",(e=>{e.preventDefault(),r(e.target.closest(".n-modal"))})),c&&(d.existingDetachedElement=!0),d.showModal(),d.animate("string"==typeof l?JSON.parse(l):[{transform:"translate3d(0,-100vh,0)"},{transform:"translate3d(0,0,0)"}],{duration:n(),easing:"ease-in-out"}).onfinish=()=>{d.addEventListener("close",o),window.addEventListener("scroll",t,{passive:"true"})},d}function l(e){let t=e.target.closest(".n-modal-link");var n=t.dataset.href||t.href,o=t.dataset.anim;const r=e=>{return n=t,r=a({content:e,animation:o,trigger:t}),void("string"==typeof(l=["n-modal--full","n-modal--rounded","n-modal--shadow","n-modal--blur"])?new Array(l):l).forEach((e=>{n.classList.contains(e)&&r.classList.add(e)}));var n,r,l};return t.dataset.for?r(document.getElementById(t.dataset.for)):fetch(n.split("#")[0]).then((e=>e.text())).then((e=>{var t,o,a=(t=e,(o=document.implementation.createHTMLDocument("Parsed")).body.innerHTML=t,o.body),l=n.split("#")[1]?"#"+n.split("#")[1].split("?")[0]:0;a=l&&a.querySelector(l)?a.querySelector(l).innerHTML:a.innerHTML,r(a)})).catch((e=>{r(e)})),!1}let i=(e=document)=>{e.querySelectorAll(".n-modal-link:not([data-ready])").forEach((e=>{e.href!==location.href.split("#")[0]+"#"&&(e.onclick=l),e.href&&!e.getAttribute("rel")&&e.setAttribute("rel","prefetch"),e.dataset.ready=!0}))},s=document.querySelector(`.n-modal${location.hash}.n-modal--uri`);location.hash&&s&&a(s);let d=a;d.close=r,d.init=i,void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-modal",i,{name:"modal",code:d}):(i(),window.nui={},window.nui.modal=d)}(),function(){navigator.userAgent.match("Chrome");navigator.userAgent.match(/Safari/);let e=e=>{e.target.closest(".n-select__options > *")||e.target.closest(".n-select")||document.querySelectorAll(".n-select__options[aria-expanded]:not([data-n-select-animation])").forEach((e=>{a(e)}))},t=e=>{let t=document.querySelector(".n-select__options[aria-expanded]");("resize"===e.type||"scroll"===e.type&&e.target!==t)&&a(t)};const n=(e,t)=>{e.style.setProperty("--active-option-height",`${t.querySelector("[aria-selected]").getBoundingClientRect().height}px`)};let o=(e,t=!0)=>{if(!e||"BUTTON"!==e.tagName)return;let o=e.closest(".n-select__options");o.querySelectorAll("[aria-selected]").forEach((e=>e.removeAttribute("aria-selected"))),e.setAttribute("aria-selected",!0),o.nuiSelectWrapper.dataset.value=e.value,o.hasAttribute("aria-expanded")&&(e.focus(),t&&a(o));let r=o.children[0];n(o.nuiSelectWrapper,o),r.style.removeProperty("--top-offset"),r.style.removeProperty("--max-height");let l=o.nuiNativeInput;l.innerHTML=``;const i=new Event("change");l.dispatchEvent(i),o.nuiOnChange&&o.nuiOnChange(index,l.value)};const r=["font-family","font-size","font-style","font-weight","line-height","font-variant"];let a=n=>{if(!n)return;delete n.dataset.nSelectAnimation,n.removeAttribute("aria-expanded"),r.forEach((e=>{n.style[e]=""})),n.nuiSelectWrapper.prepend(n),window.removeEventListener("resize",t),window.removeEventListener("scroll",t),n.querySelector("[aria-selected]").tabIndex=-1,window.removeEventListener("pointerup",e),n.removeEventListener("pointerup",c);let o=n.parentNode;o.classList.remove("n-select--open"),o.style.removeProperty("--width"),n.style.removeProperty("--scroll-help-top"),n.classList.remove("n-select--scroll-help-top"),n.nuiSelectWrapper.focus(),n.classList.remove("n-scrollbar")},l=o=>{let l=document.body.querySelector(".n-select__options[aria-expanded]");l&&a(l);let i=o.parentNode;n(i,o),i.style.setProperty("--width",`${i.getBoundingClientRect().width}px`),i.classList.add("n-select--open"),o.style.removeProperty("--top-offset"),o.style.removeProperty("--max-height"),o.style.removeProperty("--select-scroll-height"),o.style.removeProperty("--active-option-offset"),o.classList.remove("n-select--crop-top");let s=o.getBoundingClientRect().height;o.style.setProperty("--max-width",`${o.parentNode.getBoundingClientRect().width}px`);let d=document.querySelector("html").getBoundingClientRect().x;o.style.setProperty("--body-offset-x",i.getBoundingClientRect().x-d-("relative"===document.body.style.position?parseFloat(getComputedStyle(document.body).borderInlineStartWidth)-d+document.body.getBoundingClientRect().x:0)),o.style.setProperty("--body-offset-y",-document.body.getBoundingClientRect().y+i.getBoundingClientRect().y-("relative"===document.body.style.position?parseFloat(getComputedStyle(document.body).borderBlockStartWidth):0)),o.querySelector("[aria-selected]").removeAttribute("tabindex"),o.setAttribute("aria-expanded",!0),r.forEach((e=>{o.style[e]=getComputedStyle(i)[e]})),document.body.appendChild(o),o.style.setProperty("--select-scroll-height",`${o.getBoundingClientRect().height}px`);let c=o.querySelector("[aria-selected]").getBoundingClientRect().y-o.getBoundingClientRect().y,u=0;if(o.style.setProperty("--active-option-offset",c),o.getBoundingClientRect().y<0){let e=o.getBoundingClientRect().height+o.getBoundingClientRect().y;o.style.setProperty("--max-height",`${e}px`),o.scrollTop=Math.abs(Math.round(o.getBoundingClientRect().y)),u=Math.abs(o.getBoundingClientRect().y),o.style.setProperty("--top-offset",u),o.classList.add("n-select--crop-top"),o.getBoundingClientRect().height>window.innerHeight&&o.style.setProperty("--max-height",e-Math.abs(window.innerHeight-o.getBoundingClientRect().height)+"px")}else{o.getBoundingClientRect().y+o.getBoundingClientRect().height>window.innerHeight&&o.style.setProperty("--max-height",`${Math.abs(window.innerHeight-o.getBoundingClientRect().y)}px`);let e=o.getBoundingClientRect().y;if(o.scrollHeight>o.getBoundingClientRect().height){let t=o.getBoundingClientRect().height-o.scrollHeight,n=Math.abs(Math.min(t,e))-2*parseInt(getComputedStyle(o).paddingInlineEnd);n>0&&(o.style.setProperty("--scroll-help-top",n),o.classList.add("n-select--scroll-help-top"))}}o.getBoundingClientRect().width>o.querySelector("button").getBoundingClientRect().width+2*parseInt(getComputedStyle(o).paddingInlineEnd)&&o.classList.add("n-scrollbar"),o.style.setProperty("--mask-position-y",""+(c-u)),o.style.setProperty("--mask-size-y",`${s}px`),window.requestAnimationFrame((e=>{setTimeout((()=>{o.dataset.nSelectAnimation=!0,o.querySelector("[aria-selected]").focus()}),1)})),window.addEventListener("resize",t),window.addEventListener("scroll",t,!0),window.addEventListener("pointerup",e)},i=(e,t)=>{let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}return!1},s=e=>{let t=e.target.closest(".n-select__options"),n=e.target;t.hasAttribute("aria-expanded")&&(n.href?a(t):o(n))},d=e=>{let t=e.target.closest(".n-select__options")||e.target.querySelector(".n-select__options");t&&!t.hasAttribute("aria-expanded")&&(l(t),t.removeEventListener("click",s),setTimeout((()=>{t.addEventListener("click",s)}),100))},c=e=>{let t=e.target.closest("button"),n=e.target.closest(".n-select__options");if(e.target.href)e.target.click();else{if(!t||!n.hasAttribute("aria-expanded")||t.hasAttribute("aria-selected"))return;o(t)}document.body.style.pointerEvents="none",setTimeout((()=>{document.body.style.pointerEvents=""}),100)},u=null,p=e=>{[32,35,36,37,38,39,40].includes(e.keyCode)&&(e.stopPropagation(),e.preventDefault())},h=e=>{if("SELECT"===e.target.tagName)return;p(e);let t=e.target.closest(".n-select__options");if(e.target.classList.contains("n-select")&&(t=e.target.querySelector(".n-select__options")),t){switch(e.key){case"Enter":e.target.classList.contains("n-select")&&l(t);break;case"Escape":a(t);break;case"ArrowDown":if(t.hasAttribute("aria-expanded")){let n=i(e.target,"button, a[href]");n?n.focus():t.querySelector("button").focus()}else l(t);break;case"ArrowUp":if(t.hasAttribute("aria-expanded")){let n=((e,t)=>{let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}return!1})(e.target,"button, a[href]");if(n)n.focus();else{let e=t.querySelectorAll("button");e[e.length-1].focus()}}else l(t);break;case"Home":t.querySelector("button").focus();break;case"End":t.querySelector("button:last-of-type").focus();break;default:t.nuiSearchTerm+=e.key.toLowerCase(),clearTimeout(u),u=setTimeout((()=>{for(let e of t.querySelectorAll("button"))e.textContent.trim().toLowerCase().startsWith(t.nuiSearchTerm)&&(t.getAttribute("aria-expanded")?e.focus():o(e,!1));t.nuiSearchTerm=""}),200)}return!1}},m=e=>{window.PointerEvent&&e.querySelectorAll(".n-select:not([data-ready])").forEach((e=>{let t=e;if("SELECT"===e.tagName)return;if(!(e=e.querySelector(".n-select__options"))){let n="";t.querySelectorAll("option").forEach((e=>{n+=``})),(e=document.createElement("span")).insertAdjacentHTML("beforeend",n),t.prepend(e)}if(e.nuiSelectWrapper=t,e.classList.add("n-select__options"),e.nuiNativeInput=e.nuiSelectWrapper.querySelector("select, input")||i(e.nuiSelectWrapper,"select")||document.querySelector(`[data-n_select="${e.nuiSelectWrapper.dataset.n_select}"]`),!e.nuiNativeInput){let n=document.createElement("select");n.name=n.id=e.dataset.name,t.append(n),e.nuiNativeInput=n}let r=e.nuiNativeInput.value,l=e.querySelector(`button[value="${r}"`);e.nuiNativeInput.innerHTML="",t.addEventListener("pointerdown",d),e.addEventListener("click",s),e.addEventListener("focusout",(e=>{let t=e.target.closest(".n-select__options");t.hasAttribute("aria-expanded")&&e.relatedTarget&&e.relatedTarget.parentNode!==t&&(a(t),t.nuiSelectWrapper.focus())})),e.ontransitionend=e=>{let t=e.target;t.style.removeProperty("--mask-position-y"),t.style.removeProperty("--mask-size-y"),delete t.dataset.nSelectAnimation,t.addEventListener("pointerup",c)},e.addEventListener("keydown",h),t.addEventListener("keydown",h),e.addEventListener("keyup",p),t.addEventListener("keyup",p),e.lastElementChild.onkeydown=e=>{"Tab"===e.key&&!e.shiftKey&&e.target.parentNode.hasAttribute("aria-expanded")&&(a(e.target.parentNode),e.target.parentNode.nuiSelectWrapper.focus())},e.querySelectorAll("button").forEach((e=>{e.type="button",e.value=e.value||e.textContent.trim()})),t.setAttribute("tabindex",0),(e.querySelector("[aria-selected]")||e.firstElementChild).tabIndex=-1,t.style.setProperty("--inline-width",`${e.getBoundingClientRect().width}px`),o(e.querySelector("[aria-selected]")||l||e.querySelector("button")),e.nuiSearchTerm="",["n-select--rounded","n-select--shadow"].forEach((n=>{t.classList.contains(n)&&e.classList.add(n)}));let u=e.closest("label")||document.querySelector(`label[for="${e.nuiNativeInput.id}"]`);u&&(u.onclick=e=>{let t=e.target;if(!t.closest(".n-select")){e.preventDefault(),t=t.closest("label"),(t.querySelector(".n-select")||document.getElementById(t.getAttribute("for")).closest(".n-select")).focus()}}),t.dataset.ready=!0,window.requestAnimationFrame((()=>{n(t,e),["--nui-control-color","--nui-control-bg","--nui-control-active-color","--nui-control-active-bg","--nui-control-highlight"].forEach((n=>{e.style.setProperty(n,t.style.getPropertyValue(n))}))}))}))};void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-select",m):m(document.body)}(),function(){function e(e){return document.getElementById(e.getAttribute("aria-describedby"))||e.nextElementSibling}const t=t=>{let n=e(t);t.removeAttribute("aria-expanded"),t.after(n),n.removeAttribute("style"),delete n.dataset.position,n.classList.remove("n-tooltip__content-visible")};let n=e=>{t(e.target.closest(".n-tooltip"))};const o=e=>{document.querySelectorAll(".n-tooltip").forEach((e=>t(e))),document.removeEventListener("scroll",o)};let r=t=>{let n=t.target.closest(".n-tooltip"),r=e(n);n.setAttribute("aria-expanded",!0),document.body.appendChild(r),((e,t)=>{let n=e.getBoundingClientRect(),o=n.top,r=n.left,a=window.innerWidth-r-n.width,l=window.innerHeight-o-n.height,i=o*window.innerWidth,s=a*window.innerHeight,d=l*window.innerWidth,c=r*window.innerHeight,u=document.body.getBoundingClientRect();t.removeAttribute("style"),delete t.dataset.position,t.classList.add("n-tooltip__content-visible");let p=()=>{t.style.bottom=20+u.height+u.y-o+"px",t.style.maxHeight=o-40+"px",t.style.left=n.x+n.width/2-t.scrollWidth/2+"px",t.dataset.nPosition="top"},h=()=>{t.style.top=20-u.y+o+n.height+"px",t.style.maxHeight=l-40+"px",t.style.left=n.x+n.width/2-t.scrollWidth/2+"px",t.dataset.nPosition="bottom"},m=()=>{t.style.left="auto",t.style.right=20+u.width+u.x-window.innerWidth+a+n.width+"px",t.style.maxWidth=r-40+"px",t.style.top=-1*u.y+n.top+n.height/2-t.scrollHeight/2+"px",t.dataset.nPosition="left"},y=()=>{t.style.left=n.x-u.x+n.width+20+"px",t.style.maxWidth=a-40+"px",t.style.top=-1*u.y+n.top+n.height/2-t.scrollHeight/2+"px",t.dataset.nPosition="right"};c>s?i>d?i>c?p():m():d>c?h():m():i>d?i>s?p():y():d>s?h():y();let g=t.getBoundingClientRect(),f=0;g.y<0?f=Math.abs(g.y)+10:g.bottom>window.innerHeight&&(f=window.innerHeight-g.bottom-10),t.style.setProperty("--offset_y",f+"px");let v=0;g.x<0?v=Math.abs(g.x)+10:g.right>window.innerWidth&&(v=window.innerWidth-g.right-10),t.style.setProperty("--offset_x",v+"px")})(n,r),document.addEventListener("scroll",o,!0)};const a=(e=document)=>{e.querySelectorAll(".n-tooltip")?.length,e.querySelectorAll(".n-tooltip:not([data-ready])").forEach((e=>{e.setAttribute("tabindex",0),e.addEventListener("touchend",r),e.addEventListener("mouseover",r),e.addEventListener("focus",r),e.addEventListener("mouseout",n),e.addEventListener("blur",n),e.dataset.ready=!0}))};void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-tooltip",a):a()}(),function(){function e(e){e&&e.parentNode.removeChild(e)}function t(){document.querySelector(".n-notify")&&(document.querySelector(".n-notify").onclick=t=>{e(t.target)})}nui.registerComponent("notify",(e=>{e.querySelectorAll(".n-notify:not([data-ready])").forEach(((e,n)=>{t(),e.dataset.ready=!0}))}),{name:"notify",code:function(n,o){document.body.insertAdjacentHTML("afterbegin",``),document.querySelector(".n-notify").focus(),t(),o&&-1!==o.indexOf("timeout")&&setTimeout((()=>{e(document.querySelector(".n-notify"))}),2e3)}})}(),function(){function e(e){e.target.closest(".n-nav li")||(document.querySelectorAll(".n-nav li").forEach((e=>{e.removeAttribute("aria-expanded")})),document.querySelector(".n-nav :focus")&&document.querySelector(".n-nav :focus").blur())}function t(e){return!!getComputedStyle(e).getPropertyValue("--desktop")}let n=!1;function o(e){var o=e.target.closest(".n-nav");if(n||!e.relatedTarget)return;e.stopPropagation();let r=e.target,a="LI"===r.tagName?r.querySelector("ul"):r.parentElement.querySelector("ul");if(!o.contains(e.relatedTarget)||t(o)&&e.relatedTarget&&!closestElement(e.relatedTarget,o))o.querySelectorAll("li").forEach((e=>{e.removeAttribute("aria-expanded")}));else{if(a){if(a.parentNode.parentNode.querySelector("ul [aria-expanded]"))return;a.parentElement.removeAttribute("aria-expanded")}r=e.target;var l=r.closest("[aria-haspopup]");l&&l.querySelectorAll("li[aria-expanded]").forEach((e=>{e.removeAttribute("aria-expanded")})),r=e.target.parentNode,r.nextElementSibling||"LI"!==r.parentNode.parentNode.nodeName||r.parentNode.parentNode.nextElementSibling||r.parentNode.parentNode.removeAttribute("aria-expanded")}}function r(e){e.stopPropagation();var t=e.target.closest(".n-nav > ul > li");if(!n){[[].slice.call(t.parentElement.children),[].slice.call(e.target.parentElement.parentElement.children),[].slice.call(e.target.parentElement.parentElement.parentElement.parentElement.children)].forEach((e=>{e.forEach((e=>{e.removeAttribute("aria-expanded")}))})),t.setAttribute("aria-expanded",!0),t.parentNode.parentNode.getAttribute("aria-haspopup")&&t.parentNode.parentNode.setAttribute("aria-expanded",!0),t.querySelectorAll("li[aria-expanded]").forEach((e=>{e.removeAttribute("aria-expanded")})),(t=e.target).parentNode.setAttribute("aria-expanded",!0);var o=t.parentElement.parentElement.parentElement;"LI"===o.tagName&&o.setAttribute("aria-expanded",!0)}}var a=!1;const l=()=>window.matchMedia("(prefers-reduced-motion: no-preference)").matches?200:0;let i=e=>{n=!0,e.style.overflow="hidden",e.parentElement.setAttribute("aria-expanded",!0),e.animate([{height:`${e.scrollHeight}px`},{height:0}],l()).onfinish=()=>{e.removeAttribute("style"),e.parentElement.removeAttribute("aria-expanded"),n=!1,e.querySelectorAll("[aria-expanded]").forEach((e=>{e.removeAttribute("aria-expanded")}))}},s=e=>{n=!0,e.style.overflow="hidden",e.parentElement.setAttribute("aria-expanded",!0),e.animate([{height:0},{height:`${e.scrollHeight}px`}],l()).onfinish=()=>{e.removeAttribute("style"),n=!1}},d=e=>{e.stopPropagation();let n=e.target;var r=n.closest(".n-nav");r.removeEventListener("focusout",o),r.contains(document.activeElement)&&document.activeElement.blur();let a="LI"===n.tagName?n.querySelector("ul"):n.parentElement.querySelector("ul");if(t(r))n.getAttribute("aria-expanded")?n.querySelector("a:focus")||(t(r)?n.removeAttribute("aria-expanded"):i(a)):([].slice.call(n.parentElement.children).forEach((e=>{e.removeAttribute("aria-expanded");let t=e.querySelector("[aria-expanded]");t&&t.removeAttribute("aria-expanded")})),n.setAttribute("aria-expanded",!0),t(r)||s(a));else if(a.parentNode.hasAttribute("aria-expanded"))i(a);else{if(a.parentElement.parentElement.matches("ul")){let e=a.parentElement.closest("ul").querySelector('[aria-expanded="true"] > ul');e&&i(e)}s(a)}r.addEventListener("focusout",o)};function c(e,t){"rtl"!==getComputedStyle(e).direction&&(e.classList.remove("n-right-overflow"),e.style.removeProperty("--n-right-overflow"),e.getBoundingClientRect().left>document.body.offsetWidth-(e.getBoundingClientRect().left+e.getBoundingClientRect().width)?(e.getBoundingClientRect().right>window.innerWidth&&(e.style.setProperty("--n-right-overflow",window.innerWidth-e.getBoundingClientRect().right+"px"),e.classList.add("n-right-overflow")),e.classList.add("n-left-side")):e.classList.remove("n-left-side"))}window.addEventListener("resize",(function(e){document.querySelectorAll(".n-nav.n-nav--drop ul").forEach((e=>{e.querySelectorAll("ul").forEach((e=>{c(e)}))}))}));nui.registerComponent("nav",(t=>{t.querySelectorAll(".n-nav:not([data-ready]) > ul:not([role])").forEach((t=>{!function(t){t.querySelectorAll("input").forEach((e=>{e.outerHTML=""})),t.querySelectorAll("li > a").forEach((e=>{e.setAttribute("tabindex",0)})),t.closest(".n-nav.n-nav--drop")&&(a||(window.addEventListener("touchend",e),window.addEventListener("mouseup",e),a=!0),t.addEventListener("keyup",(e=>{"Escape"===e.key&&(e.target.closest(".n-nav").querySelectorAll("li").forEach((e=>{e.removeAttribute("aria-expanded")})),document.activeElement.blur())})),t.querySelectorAll("li").forEach((e=>{e.querySelector("ul")&&(e.setAttribute("aria-haspopup",!0),"UL"===e.children[0].nodeName&&e.insertBefore(e.children[1],e.children[0]))})),t.addEventListener("mousedown",d),t.addEventListener("focusin",r),t.addEventListener("focusout",o),window.requestAnimationFrame((()=>{t.querySelectorAll("ul").forEach((e=>{c(e)}))})))}(t),t.closest(".n-nav").dataset.ready=!0}))}))}(),function(){let e=()=>{document.querySelectorAll(".n-parallax").forEach((e=>{let t=e.parentElement,n=t.scrollHeight>t.offsetHeight?t.getBoundingClientRect().y:document.body.scrollTop||document.documentElement.scrollTop;e.style.setProperty("--scrollparallax",.2*n)}))};document.querySelector(".n-parallax")&&window.addEventListener("scroll",e,!0);nui.registerComponent("parallax",(e=>{}))}(),function(){const e=(e,t)=>e.children[t].innerText||e.children[t].textContent;nui.registerComponent("table",(t=>{t.querySelectorAll(".n-table:not([data-ready])").forEach((t=>{t.querySelectorAll("thead td button.n-table__sort, th button.n-table__sort").forEach((t=>t.addEventListener("click",(t=>{let n=t.target.closest("th")||t.target.closest("td");const o=n.closest("table").querySelector("tbody");var r,a;Array.from(o.querySelectorAll("tr")).sort((r=Array.from(n.parentNode.children).indexOf(n),a=(e=>{let t=e.closest("tr").querySelector("td[data-ascending]");return t&&t!==e&&delete t.dataset.ascending,e.toggleAttribute("data-ascending")})(n),(t,n)=>{return o=e(a?t:n,r),l=e(a?n:t,r),""===o||""===l||isNaN(o)||isNaN(l)?o.toString().localeCompare(l):o-l;var o,l})).forEach((e=>o.appendChild(e)))})))),t.dataset.ready=!0,t.setAttribute("tabindex",0)}))}))}(),nui.registerComponent("typography",(e=>{if("function"==typeof ResizeObserver){let e=new ResizeObserver((e=>{e.forEach((e=>{let t=e.target;t.style.removeProperty("--adjust-height");let n=getComputedStyle(t),o=parseFloat(n.lineHeight),r=o-parseFloat(n.height)%o;r!==o&&t.style.setProperty("--adjust-height",r)}))}));document.querySelectorAll(".n-adjust-height:not([data-ready])").forEach((t=>{e.observe(t),t.dataset.ready=!0}))}}));window.nui=nui; +let nui=(()=>{function e(e){return document.querySelector(e)}function t(e,t){e.classList.add(t)}function n(e,t){e.classList.remove(t)}document.body.dataset.nuiJs=!0,window.chrome&&(document.body.dataset.nuiChrome=!0),navigator.userAgent.match(/Safari/)&&!navigator.userAgent.match(/Chrome/)&&(document.body.dataset.nuiSafari=!0),(navigator.platform.match(/Mac/)||navigator.platform.match(/iPhone/)||navigator.platform.match(/iPod/)||navigator.platform.match(/iPad/))&&(document.body.dataset.nuiApple=!0),navigator.platform.match(/iPad/);let o=()=>{e(".n-target")&&n(e(".n-target"),"n-target"),location.hash&&e(location.hash)&&t(e(location.hash),"n-target")};o(),window.addEventListener("hashchange",o);var r=document.createElement("temp");for(var a in{animation:"animationend",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd"})r.style[a];!function(){var o,r=!1;let a=n=>{clearTimeout(o),r=!0,t(e("html"),"can-touch"),o=setTimeout((()=>{r=!1}),500)};document.addEventListener("mouseover",(t=>{r||(r=!1,n(e("html"),"can-touch"))}),!1),document.addEventListener("touchstart",a,!1),a()}(),e(".n-carousel__content");var l=new Array;function i(e=document.body){c();for(let t in l)l[t][0].init(e);d()}var s=!1;function d(){s&&s.observe(document.body,{childList:!0,subtree:!0})}function c(){s&&s.disconnect()}return"function"==typeof MutationObserver&&(s=new MutationObserver(((e,t)=>{if(window.nui.dynamicInit){c();let t=e[0];if("childList"===t.type&&t.addedNodes.length>0)for(let e of t.addedNodes)"object"==typeof e&&"#text"!==e.nodeName&&!e.dataset.ready&&e.parentNode&&i(e.parentNode);d()}}))),i(),{registerComponent:function(e,t,n=!1){l[e]=new Array,l[e].push({init:t}),t(document),n&&(nui[n.name]=n.code)},initComponents:i,copyButton:function(e,t,n){e.addEventListener("click",(e=>{window.getSelection().removeAllRanges();var o=document.createRange();o.selectNode(t),window.getSelection().addRange(o);try{document.execCommand("copy"),n&&nui.notify&&nui.notify("📋 "+t.textContent,"fixed timeout")}catch(e){}}))},addComponent:function(e,t){e.insertAdjacentHTML("afterbegin",t),i(e)}}})();nui.dynamicInit=!0,nui.registerComponent("button",(e=>{const t=e=>{let t=e.target.closest(".n-btn--ripple"),n=e.offsetX||t.clientWidth/2,o=e.offsetY||t.clientHeight/2,r=Math.max(n,t.clientWidth-n),a=Math.max(o,t.clientHeight-o),l=Math.sqrt(r*r+a*a);t.style.transitionProperty="none",t.style.setProperty("--ripple-x",`${n}px`),t.style.setProperty("--ripple-y",`${o}px`),t.style.setProperty("--ripple-radius","0px"),window.requestAnimationFrame((()=>{t.style.transitionProperty="",t.style.setProperty("--ripple-radius",`${l}px`)}))};document.querySelectorAll(".n-btn--ripple:not([data-ready])").forEach((e=>{e.addEventListener("pointerdown",t),e.addEventListener("keydown",t),e.dataset.ready=!0}))})),function(){function e(e){var t=e.target,n=!0;return t.querySelectorAll(".n-form--mandatory:not([disabled])").forEach((e=>{if(e.querySelector("input, select, textarea")&&!e.querySelector("input, select, textarea").value||e.querySelector("input[type=checkbox]")&&!e.querySelector("input[type=checkbox]").checked||e.querySelector("input[type=radio]")&&!e.querySelector("input[type=radio]").checked||e.querySelector("input[type=email]")&&!RegExp(/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/).test(e.querySelector("input[type=email]").value)||e.querySelector("input[type=url]")&&!RegExp(/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/).test(e.querySelector("input[type=url]").value)||e.querySelector("input[type=number]")&&!RegExp(/^\d+$/).test(e.querySelector("input[type=number]").value)||e.querySelector("input[type=number][data-digits]")&&e.querySelector("input[type=number]").value.length!==parseInt(e.querySelector("input[type=number]").dataset.digits)){n=!1,e.querySelector("input").focus(),e.classList.add("n-form--alert");let t=e.closest("form");t.animate([{width:`${t.scrollWidth}px`},{marginLeft:"-9px"},{marginLeft:"18px"},{width:`${t.scrollWidth}px`,marginLeft:0}],250)}else e.classList.remove("n-form--alert")})),n}function t(e){var t=e.target;t.parentNode.querySelector("span.n-form__file-name").innerHTML=t.value.substring(t.value.lastIndexOf("\\")+1)}function n(e){var t=e.target,n=document.querySelector(`fieldset#${t.closest(".n-form__condition").dataset.for}`)||t.closest(".n-form__condition").nextElementSibling,o="disabled";t.checked?n.removeAttribute(o):n.setAttribute(o,"disabled")}nui.registerComponent("form",(o=>{o.querySelectorAll("form.n-form").forEach(((o,r)=>{o.onsubmit=o.onsubmit||e,o.querySelectorAll("input[type=file]").forEach(((e,n)=>{e.onchange=t,e.parentNode.querySelector("span").insertAdjacentHTML("afterbegin","")})),o.querySelectorAll(".n-form__check.n-form__condition input").forEach(((e,t)=>{e.onchange=n})),o.querySelectorAll("textarea[data-auto]").forEach((e=>{e.onkeyup=t=>{for(e=t.target;e.rows>1&&e.scrollHeighte.offsetHeight&&!(e.rows>20);)e.rows++;e.rows++}})),o.dataset.ready=!0}))}))}(),function(){const e=e=>({easing:"ease-in-out",duration:window.matchMedia("(prefers-reduced-motion: no-preference)").matches?1e3*e.dataset.duration||1e3*getComputedStyle(e).getPropertyValue("--duration")||200:0}),t=e=>e.querySelector(":scope > .n-accordion__content"),n=n=>{n=t(n),window.requestAnimationFrame((()=>{n.style.height=0,n.style.overflow="hidden";let t=n.parentNode;t.querySelector(":scope > .n-accordion__label").setAttribute("aria-expanded",!0),n.animate([{height:0},{height:`${n.scrollHeight}px`}],e(t)).onfinish=()=>{n.style.height=n.style.overflow=""}}))},o=(n,o)=>{n=t(n),window.requestAnimationFrame((()=>{n.style.overflow="hidden";let t=n.parentNode;n.animate([{height:`${n.scrollHeight}px`},{height:0}],e(t)).onfinish=()=>{n.style.height=n.style.overflow="",t.querySelector(":scope > .n-accordion__label").setAttribute("aria-expanded",!1),"function"!=typeof o||o(),t.classList.contains("n-accordion--close-nested")&&n.querySelectorAll(".n-accordion__label[aria-expanded='true']").forEach((e=>e.setAttribute("aria-expanded",!1)))}}))},r=e=>{let t=e.target.closest(".n-accordion");if(t.querySelector(":scope > [aria-expanded='true']"))o(t);else{let e=t.closest(".n-accordion__popin");const r=()=>{if(e){let n=Math.floor([...e.children].indexOf(t)/getComputedStyle(e).getPropertyValue("--n-popin-columns")*1)+2;e.style.setProperty("--n-popin-open-row",n)}};if(t.parentNode.matches('[role="group"]')||e){let e=t.parentNode.querySelector(":scope > .n-accordion > [aria-expanded='true']");e?o(e.parentNode,(()=>{r(),n(t)})):(r(),n(t))}else n(t)}};function a(e=document){e.querySelectorAll(".n-accordion:not([data-ready]) > .n-accordion__label").forEach((e=>{e.addEventListener("click",r),e.parentElement.querySelector(":scope > input")?.remove(),e.parentNode.dataset.ready=!0,e.setAttribute("aria-expanded","true"===e.getAttribute("aria-expanded"))}))}const l=()=>{void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-accordion",a):a()};"loading"!==document.readyState?l():document.addEventListener("DOMContentLoaded",l)}(),function(){const e=e=>Math.ceil(parseFloat(getComputedStyle(e).width)),t=e=>Math.ceil(parseFloat(getComputedStyle(e).height)),n='button, [href], input, select, textarea, details, summary, video, [tabindex]:not([tabindex="-1"])';const o=!!navigator.userAgent.match("Chrome"),r=navigator.userAgent.match(/Safari/)&&!o,a=e=>e.children.length>2&&e.parentElement.classList.contains("n-carousel--endless"),l=()=>!(!document.webkitFullscreenElement&&!document.fullscreenElement),i=e=>e.closest(".n-carousel").classList.contains("n-carousel--overlay"),s=e=>e.closest(".n-carousel").matches(".n-carousel--vertical"),d=e=>e.closest(".n-carousel").matches(".n-carousel--auto-height"),c=e=>{let t=e.querySelectorAll(".n-carousel__control");return t.length>0?t:e.querySelectorAll("a, button")},u=e=>{e.style.height=0,e.style.overflow="auto";const t=e.scrollHeight;return e.style.height=e.style.overflow="",t},p=e=>1*(s(e)?e.dataset.y:e.dataset.x),h=e=>{let t=e.querySelector(":scope > [aria-current]");if(t)return[...e.children].indexOf(t);{let t=location.hash?[...e.children].indexOf(e.querySelector(`:scope > ${location.hash}`)):0;return t>-1?t:0}},m=e=>{for(e=e.parentNode;e;){if(0!==e.scrollTop||0!==e.scrollLeft)return e;e=e.parentNode}return!1},y=e=>"rtl"===getComputedStyle(e).direction,g=e=>{let t=(e=e.closest(".n-carousel")).querySelector(":scope > .n-carousel__content");const n=()=>{l()||(e.nuiAncestors.forEach((e=>{window.requestAnimationFrame((()=>{e.scrollLeft=e.nuiScrollX,e.scrollTop=e.nuiScrollY,delete e.nuiScrollX,delete e.nuiScrollY}))})),delete e.nuiAncestors,e.removeEventListener("webkitfullscreenchange",n))};if(t.togglingFullScreen=!0,l()){if(document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen(),r&&setTimeout((()=>{e.style.display="none",window.requestAnimationFrame((()=>{e.style.display=""}))}),0),s(e)&&d(e)){let t=n=>{setTimeout((()=>{let t=e.querySelector(":scope > .n-carousel__content");P(t,parseInt(t.dataset.y))}),100),e.removeEventListener("fullscreenchange",t)};e.addEventListener("fullscreenchange",t)}}else r&&(e.nuiAncestors=(e=>{let t=[],n=m(e);for(;n&&void 0!==n.scrollLeft&&(0!==n.scrollTop||0!==n.scrollLeft);)t.push(n),n=m(n);return t})(e),e.nuiAncestors.forEach((e=>{e.nuiScrollX=e.scrollLeft,e.nuiScrollY=e.scrollTop})),e.addEventListener("webkitfullscreenchange",n,!1)),e.requestFullscreen?e.requestFullscreen():e.webkitRequestFullscreen()},f=e=>e.scrollLeft,v=(e,t,n)=>{e.scrollTo(y(e)?-1*Math.abs(t):t,n)},b=e=>e===window?{x:e.scrollX,y:e.scrollY}:{x:f(e),y:e.scrollTop};let x=null,S=null,w=null;const E=e=>{("Tab"===e.key||9===e.keyCode)&&(e.shiftKey?document.activeElement===x&&(w.focus(),e.preventDefault()):document.activeElement===w&&(x.focus(),e.preventDefault()))},q=(e,t=!1)=>{x=e.querySelectorAll(n)[0],S=e.querySelectorAll(n),w=S[S.length-1],t?e.removeEventListener("keydown",E):(e.addEventListener("keydown",E),x.focus())},A=(e,t)=>{let n=document.querySelector(`${t}[data-for="${e.id}"]`);if(n)return n;for(let n of e.children){if(n.matches(t))return n;if(!n.matches(".n-carousel__content")&&n.querySelector(t))return n.querySelector(t)}},C=e=>{var t=e.closest('[class*="n-carousel"]').dataset.for;return t?document.getElementById(t).querySelector(".n-carousel__content"):e.closest(".n-carousel").querySelector(".n-carousel__content")},L=(e,t,n,o,r=!1)=>new Promise(((a,l)=>{let i=e.closest(".n-carousel");if(i.nextSlideInstant||!i.dataset.ready||window.matchMedia("(prefers-reduced-motion: reduce)").matches||i.matches(".n-carousel--instant"))return v(e,b(e).x+t,b(e).y+n),e.style.height=`${o}px`,delete i.nextSlideInstant,_(e),void a(e);O(e);let c=!0;0===t&&0===n&&(c=!1),o?(e.style.height=`${r}px`,s(e)&&d(e)&&e.style.setProperty("--subpixel-compensation",0)):s(e)||(e.style.height="");var u=b(e).x,p=b(e).y,h=parseInt(e.style.height),m=o-h,y=1e3*parseFloat(e.parentNode.dataset.duration)||500,g=null;let f=r=>{if(r-g>=y)return window.requestAnimationFrame((()=>{v(e,u+t,p+n),o&&(e.style.height=`${o}px`),_(e)})),void a(e);var l,i=(l=(r-g)/y,(1-Math.cos(Math.PI*l))/2);c&&v(e,u+t*i,p+n*i),o&&window.requestAnimationFrame((()=>{e.style.height=`${h+m*i}px`})),requestAnimationFrame(f)};requestAnimationFrame((e=>{g=e,f(e)}))})),_=(n,o=!1)=>{O(n);let l=n.dataset.x,i=n.dataset.y;n.togglingFullScreen?delete n.togglingFullScreen:n.openingModal?(delete n.openingModal,v(n,n.offsetWidth*n.dataset.x,n.offsetHeight*n.dataset.y)):(n.dataset.x=Math.abs(Math.round(f(n)/e(n.firstElementChild))),n.dataset.y=Math.abs(Math.round(n.scrollTop/t(n.firstElementChild)))),"NaN"===n.dataset.x&&(n.dataset.x=0),"NaN"===n.dataset.y&&(n.dataset.y=0);let m=p(n);m>=n.children.length&&(m=n.children.length-1);let y=n.querySelector(":scope > [aria-current]"),g=n.parentElement;g.classList.contains("n-carousel--auto-height")||(n.style.height="");let b=n.children[m];if(y&&!o){if(b===y)return n.dataset.x=l,n.dataset.y=i,void W(n);y.removeAttribute("aria-current"),y.style.height="",s(n)||(n.style.height="")}var x=m;b.setAttribute("aria-current",!0),x=h(n),n.dataset.x=n.dataset.y=x;const S=e=>{e.querySelectorAll(":scope > [data-first]").forEach((t=>{e.append(e.firstElementChild),delete t.dataset.first,m--})),e.querySelectorAll(":scope > [data-last]").forEach((t=>{e.prepend(e.lastElementChild),delete t.dataset.last,m++}))};if(g.dataset.sliding=!0,a(n)?(0===m?b.dataset.first?(delete n.firstElementChild.dataset.first,n.append(n.firstElementChild),n.firstElementChild.dataset.last=!0,n.append(n.firstElementChild),x=n.children.length-1,m=n.children.length-2):(n.lastElementChild.dataset.last?(delete n.lastElementChild.dataset.last,x=1):n.lastElementChild.dataset.first=!0,n.prepend(n.lastElementChild),m=1):m===n.children.length-1?b.dataset.last?(delete n.lastElementChild.dataset.last,n.prepend(n.lastElementChild),n.lastElementChild.dataset.first=!0,n.prepend(n.lastElementChild),x=0,m=1):(n.firstElementChild.dataset.first?(delete n.firstElementChild.dataset.first,x=n.children.length-2):n.firstElementChild.dataset.last=!0,n.append(n.firstElementChild),m=n.children.length-2):(S(n),x=Math.max(0,[...n.children].indexOf(n.querySelector(":scope > [aria-current]")))),window.requestAnimationFrame((()=>{n.dataset.x=n.dataset.y=x;let o=e(n.firstElementChild)*m,r=t(n.firstElementChild)*m;n.scroll_x=o,n.scroll_y=r,v(n,o,r),delete n.scroll_x,delete n.scroll_y}))):(S(n),x=Math.max(0,[...n.children].indexOf(n.querySelector(":scope > [aria-current]")))),b.style.height="",g.style.setProperty("--height",`${n.parentNode.classList.contains("n-carousel--auto-height")?u(b):b.scrollHeight}px`),window.requestAnimationFrame((()=>{!n.parentNode.dataset.ready&&d(n)&&s(n)&&(n.style.height=parseFloat(getComputedStyle(n).height)-(e=>2*parseInt(getComputedStyle(e).paddingBlockStart))(n)+"px")})),"hidden"!==getComputedStyle(n).visibility){let e=document.activeElement,t=b.id;n.parentNode.dataset.ready&&t&&!n.parentNode.closest(".n-carousel__content")&&(location.hash=`#${t}`),n.parentNode.dataset.ready&&!t&&!n.parentNode.closest(".n-carousel__content")&&window.nCarouselNav&&(location.hash=""),e.focus()}let w=A(n.closest(".n-carousel"),".n-carousel__index");w&&(w.querySelector("[aria-current]")?.removeAttribute("aria-current"),c(w)[x].setAttribute("aria-current",!0)),[...n.children].forEach((e=>{if(e.inert=e!==b,r&&e.querySelector(".n-carousel:-webkit-full-screen")){let t=e.parentNode.querySelector(':scope > [aria-current="true"]');t.inert=!0,t.removeAttribute("aria-current"),e.inert=!1,e.setAttribute("aria-current",!0)}})),/--vertical.*--auto-height/.test(g.classList)&&(n.scrollTop=n.offsetHeight*x),window.requestAnimationFrame((()=>{W(n)}))},N=(e,t=0,n=0,o)=>{if(clearTimeout(e.nCarouselTimeout),O(e),!e.parentNode.dataset.sliding){e.parentNode.dataset.sliding=!0;let r=e.children[h(e)].offsetHeight,a=r;if(d(e)){let t=f(e),n=e.scrollTop,r=e.children[o];if(s(e)){r.style.height="auto";let t=getComputedStyle(e).maxHeight,n=t.match(/px/)?Math.ceil(parseFloat(t)):99999;a=Math.min(Math.ceil(parseFloat(getComputedStyle(r).height)),n),r.style.height=""}else{a=u(r);let t=h(e)===o?a:u(e.children[h(e)]);e.parentNode.style.setProperty("--height",`${t}px`)}v(e,t+(e=>2*parseInt(getComputedStyle(e).paddingInlineStart))(e)/2,n),v(e,t,n)}s(e)&&((i(e)||l())&&d(e)&&(r=a=e.offsetHeight),n=n-o*r+o*a),window.requestAnimationFrame((()=>{e.parentNode.dataset.duration||d(e)?L(e,t,n,a!==r&&a,r):(delete e.parentNode.dataset.sliding,e.dataset.next=o,e.scrollTo({top:e.scrollTop+n,left:e.scrollLeft+t,behavior:window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth"}))}))}},T=e=>{let t=h(e);P(e,t>=e.children.length-1?0:t+1)},P=(e,n)=>{if(s(e))N(e,0,t(e.children[n])*n-e.scrollTop,n);else{let t=Math.ceil(parseFloat(getComputedStyle(e.children[n]).width)),o=y(e)?Math.abs(f(e))-t*n:t*n-f(e);N(e,o,0,n)}},k=e=>{},M=e=>(e=>{let t=h(e);P(e,0===t?e.children.length-1:t-1)})(C(e.target.closest('[class*="n-carousel"]'))),H=e=>T(C(e.target.closest('[class*="n-carousel"]'))),F=e=>{let t=e.target.closest("a, button");if(t&&(!t.href||!e.ctrlKey&&!e.metaKey)){const e=document.querySelector(`.n-carousel#${t.parentNode.dataset.for}`)||t.closest(".n-carousel"),o=e.querySelector(":scope > .n-carousel__content");let r=[...c(t.parentNode)].indexOf(t);if(a(o)){var n=p(o);0===n&&(r===o.children.length-1?r=0:r++),n===o.children.length-1&&(0===r?r=o.children.length-1:r--)}return e.classList.contains("n-carousel--inline")&&!i(o)?(e.nextSlideInstant=!0,B(o),window.requestAnimationFrame((()=>{o.dataset.x=o.dataset.y=r,v(o,o.offsetWidth*o.dataset.x,o.offsetHeight*o.dataset.y),document.body.dataset.frozen=document.body.scrollTop,_(o)}))):window.requestAnimationFrame((()=>{P(o,r)})),!1}},R=e=>{l()&&(document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen());let t=C(e);t&&(t.closest(".n-carousel").classList.remove("n-carousel--overlay"),q(t.closest(".n-carousel"),!0),delete document.body.dataset.frozen)},B=e=>{let t=C(e);t&&(t.openingModal=!0,t.closest(".n-carousel").classList.add("n-carousel--overlay"),q(t.closest(".n-carousel")))},$=new ResizeObserver((e=>{window.requestAnimationFrame((()=>{e.forEach((e=>{let t=e.target.querySelector(":scope > [aria-current]"),n=t.closest(".n-carousel__content");n.parentElement.dataset.sliding||(n.parentNode.style.removeProperty("--height"),s(n)?(t.style.height="auto",n.style.height=`${t.scrollHeight}px`,t.style.height="",_(n)):(n.style.height="",n.style.height=`${t.scrollHeight}px`,_(n,!0)))}))}))})),I=n=>{if(!n.parentNode.dataset.sliding){let o=n;o.style.padding="",o.style.removeProperty("--peek-int"),o.style.padding=s(o)?`${parseInt(getComputedStyle(o).paddingBlockStart)}px 0`:`0 ${parseInt(getComputedStyle(o).paddingInlineStart)}px`,"0px"===o.style.padding?o.style.padding="":o.style.setProperty("--peek-int",s(o)?`${parseInt(getComputedStyle(o).paddingBlockStart)}px 0 0 0`:`0 ${parseInt(getComputedStyle(o).paddingInlineStart)}px 0 0`),window.requestAnimationFrame((()=>{s(n)?o.style.setProperty("--subpixel-compensation",Math.ceil(o.getBoundingClientRect().height)-o.getBoundingClientRect().height):o.style.setProperty("--subpixel-compensation",Math.ceil(o.getBoundingClientRect().width)-o.getBoundingClientRect().width);let r=h(o);v(o,r*e(o.firstElementChild),r*t(o.firstElementChild))}))}},W=e=>{window.requestAnimationFrame((()=>{e.scroll_x&&e.scroll_y&&v(e,e.scroll_x,e.scroll_y),delete e.parentNode.dataset.sliding,e.parentNode.matches(".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height")?Y.observe(e.parentNode):Y.unobserve(e.parentNode),D.observe(e),j.observe(e.parentNode,{attributes:!0,attributeFilter:["class"]})}))},O=e=>{Y.unobserve(e.parentNode),D.unobserve(e),e.observerStarted=!0},z=e=>{O(e);const t=e=>{I(e),window.requestAnimationFrame((()=>{let t=e.querySelector(":scope > [aria-current]").scrollHeight+"px";t!==getComputedStyle(e).getPropertyValue("--height")&&e.parentNode.style.setProperty("--height",t),W(e)}))};t(e),e.querySelectorAll(".n-carousel__content").forEach((e=>t(e)))},D=new ResizeObserver((e=>{window.requestAnimationFrame((()=>{e.forEach((e=>{let t=e.target;t.observerStarted?t.observerStarted=!1:z(t)}))}))})),j=new MutationObserver((e=>{for(let t of e)if(t.target&&!t.target.nextSlideInstant){let e=t.target.querySelector(":scope > .n-carousel__content");z(e),_(e,!0)}})),X=e=>{let t=e.querySelector(":scope > .n-carousel__index");t&&!e.dataset.sliding&&(e.style.removeProperty("--height-minus-index"),t.style.position="absolute",e.style.setProperty("--height-minus-index",`${e.offsetHeight}px`),e.style.setProperty("--index-width",getComputedStyle(e.querySelector(":scope > .n-carousel__index")).width),t.style.position="")},Y=new ResizeObserver((e=>{window.requestAnimationFrame((()=>{e.forEach((e=>{let t=e.target;X(t)}))}))})),V=(n=document)=>{n.querySelectorAll(".n-carousel:not([data-ready])").forEach((n=>{const o=A(n,".n-carousel__previous"),a=A(n,".n-carousel__next"),c=A(n,".n-carousel__index"),p=A(n,".n-carousel__close"),h=A(n,".n-carousel__full-screen"),m=n.querySelector(":scope > .n-carousel__content");if(!m)return;if(o&&(o.onclick=M),a&&(a.onclick=H),c&&(c.onclick=F),p&&(p.onclick=e=>{e.target.closest(".n-carousel").classList.contains("n-carousel--overlay")?R(e.target):B(e.target)}),h){h.onclick=e=>{let t=e.target.closest(".n-carousel").querySelector(":scope > .n-carousel__content");t.dataset.xx=t.dataset.x,t.dataset.yy=t.dataset.y,g(e.target)};const o=n=>{let o=n.target.querySelector(":scope > .n-carousel__content");window.requestAnimationFrame((()=>{_(o),o.dataset.x=o.dataset.xx,o.dataset.y=o.dataset.yy,delete o.dataset.xx,delete o.dataset.yy,"undefined"!==o.dataset.x&&"undefined"!==o.dataset.y&&v(o,o.dataset.x*e(o.children[o.dataset.x]),o.dataset.y*t(o.children[o.dataset.y]))}))};r?n.onwebkitfullscreenchange=o:n.onfullscreenchange=o}m.addEventListener("keydown",k),n.addEventListener("keyup",(e=>{if("Escape"===e.key){let t=e.target;t.closest(".n-carousel--overlay")||(t=document.querySelector(".n-carousel--overlay")),t&&R(t)}})),I(m),m.observerStarted=!0;let y=!!location.hash&&m.querySelector(":scope > "+location.hash);if(y){n.classList.contains("n-carousel--inline")&&B(m);let e=[...y.parentNode.children].indexOf(y);s(m)?m.dataset.y=e:m.dataset.x=e,window.nCarouselNav=[m,location.hash]}n.matches(".n-carousel--vertical.n-carousel--auto-height")&&(m.style.height="",m.style.height=getComputedStyle(m).height,n.dataset.ready=!0,m.scrollTop=0),n.matches(".n-carousel--auto-height")&&$.observe(m),window.requestAnimationFrame((()=>{if(W(m),n.parentNode.matches(".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height")&&X(n),_(m),n.dataset.ready=!0,n.matches(".n-carousel--auto-slide")){let e=(1e3*parseFloat(n.dataset.interval)||4e3)+(1e3*parseFloat(n.dataset.duration)||500),t=()=>{(function(e){let t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.offsetHeight)&&t.right<=(window.innerWidth||document.documentElement.offsetWidth)})(m)&&T(m),m.nCarouselTimeout=setTimeout(t,e)};m.nCarouselTimeout=setTimeout(t,1e3*parseFloat(n.dataset.interval)||4e3),m.addEventListener("pointerenter",(e=>clearTimeout(e.target.nCarouselTimeout)))}n.dataset.platform=navigator.platform})),m.nCarouselUpdate=_;if(m.querySelectorAll(":scope > *").forEach((e=>{const t=new IntersectionObserver((e=>{e.forEach((e=>{let t=e.target,o=t.parentNode;if(e.isIntersecting&&!o.parentNode.dataset.sliding&&"hidden"!==getComputedStyle(o).visibility){if(o.dataset.next&&parseInt(o.dataset.next)!==[...o.children].indexOf(t))return;delete o.dataset.next,O(n),o.scrollLeft,o.scrollTop;let e=()=>{let e=[...o.children].indexOf(t);if(d(o)){let r,a=parseFloat(getComputedStyle(o).height),d=0,c=o.scrollLeft,p=o.scrollTop;if(s(o)){let s=o.scrollTop;t.style.height="auto";let c=getComputedStyle(n).maxHeight,u=c.match(/px/)?Math.ceil(parseFloat(c)):99999;r=Math.min(Math.ceil(parseFloat(getComputedStyle(t).height)),u),(i(o)||l())&&(a=r=o.offsetHeight),t.style.height="",o.scrollTop=s,d=e*r-o.scrollTop}else r=u(t),c&&v(o,c,p);a===r&&(r=!1),o.parentNode.dataset.sliding=!0,window.requestAnimationFrame((()=>{L(o,0,d,r,a).then((()=>{}))}))}else window.requestAnimationFrame((()=>{_(o)}))};setTimeout(e,10)}}))}),{threshold:.996,root:e.parentElement});t.observe(e)})),n.matches(".n-carousel--lightbox")){let e=e=>{e.closest("picture").dataset.loaded=!0};m.querySelectorAll("picture img").forEach((t=>{t.complete?e(t):t.addEventListener("load",(t=>{e(t.target)}))}))}}))};window.nCarouselInit=V,window.addEventListener("popstate",(e=>{if(location.hash){let e=document.querySelector(location.hash),t=e?.parentNode;if(t&&t.classList.contains("n-carousel__content")&&!t.parentNode.closest(".n-carousel__content")){let n=document.querySelector(".n-carousel--overlay > .n-carousel__content");n&&n!==t&&R(n),t.parentNode.classList.contains("n-carousel--inline")&&R(t),r&&v(t,t.offsetWidth*t.dataset.x,t.offsetHeight*t.dataset.y),P(t,[...t.children].indexOf(e)),window.nCarouselNav=[t,location.hash]}}else if(window.nCarouselNav){let e=window.nCarouselNav[0];delete window.nCarouselNav,r&&v(e,e.offsetWidth*e.dataset.x,e.offsetHeight*e.dataset.y),P(e,[...e.children].indexOf(e.querySelector(":scope > :not([id])")))}}));const K=()=>{void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-carousel",V):V()};"loading"!==document.readyState?K():document.addEventListener("DOMContentLoaded",K)}(),function(){var e;const t=t=>{document.querySelectorAll("dialog.n-modal[open]").forEach((e=>{e.classList.add("n-modal--transparent")})),clearTimeout(e),e=setTimeout((()=>{document.querySelectorAll("dialog.n-modal[open]").forEach((e=>{e.classList.remove("n-modal--transparent")}))}),67)};const n=()=>window.matchMedia("(prefers-reduced-motion: no-preference)").matches?1e3*getComputedStyle(document.querySelector(".n-modal")).getPropertyValue("--duration"):0;let o=e=>{document.documentElement.classList.remove("transparent-scrollbar");let t=e.target;if(t.removeEventListener("close",o),t.existingDetachedElement){if(!t.existingModal){let e=t.querySelector(".n-modal__content");e.removeChild(e.firstElementChild)}delete t.existingDetachedElement,t.remove()}t.attachedHiddenContent?t.replaceWith(t.lastChild):t.dataset.existingAttachedContent?t.replaceWith(t.lastChild.firstElementChild):t.existingModal?(delete t.existingModal,delete t.dataset.anim):t.remove()};function r(e){let r="normal";var a=e.dataset.anim;!a||a.length<11?a='[{ "transform": "translate3d(0,0,0)" }, { "transform": "translate3d(0,-100vh,0)" }]':r="reverse",e.classList.add("n-modal--closing"),setTimeout((()=>{e.classList.remove("n-modal--closing")}),n()),e.animate(JSON.parse(a),{duration:n(),direction:r,easing:"ease-in-out"}).onfinish=()=>{window.removeEventListener("scroll",t),e.existingModal&&(e.existingDetachedElement||e.removeEventListener("close",o),delete e.dataset.anim),e.close()}}function a(e){document.documentElement.style.overflow="scroll";const a=window.innerWidth-document.documentElement.offsetWidth;document.documentElement.style.overflow="",a||document.documentElement.classList.add("transparent-scrollbar"),("string"==typeof e||e.tagName)&&(e={content:e});let l=e.animation,i=e.content,s=e.trigger;var d={},c=!1;if(i.parentNode){if("DIALOG"===i.parentNode.tagName||i.parentNode.classList.contains("n-modal__content"))return}else i.tagName&&(c=!0);const u="Close";if("object"==typeof i&&"DIALOG"===i.tagName){i.parentNode||document.body.appendChild(i),(d=i).existingModal=!0;let e=d.querySelector(".n-modal__close");e&&(e.dataset.closeSymbol=e.dataset.closeSymbol||"╳",e.ariaLabel=e.ariaLabel||u)}else if((d=document.createElement("dialog")).insertAdjacentHTML("afterbegin",`
`),document.createElement("div"),"string"==typeof i)d.lastChild.innerHTML=i,document.body.appendChild(d);else{if(i.parentElement){let e=document.createElement("div");i.replaceWith(e),d.lastChild.appendChild(i),e.replaceWith(d),i.classList.contains("n-modal__content")?(d.lastChild.replaceWith(i),d.attachedHiddenContent=!0):d.dataset.existingAttachedContent=!0}else d.lastChild.appendChild(i),document.body.appendChild(d)}return e.blur&&d.classList.add("n-modal--blur"),e.shadow&&d.classList.add("n-modal--shadow"),e.rounded&&d.classList.add("n-modal--rounded"),e.full&&d.classList.add("n-modal--full"),d.dataset.anim=l,d.classList.add("n-modal"),d.onclick=e=>{let t=e.target.closest(".n-modal");(e.target.closest(".n-modal__close")||e.target.matches(".n-modal")&&(e.offsetX<0||e.offsetY<0||e.offsetX-2>t.getBoundingClientRect().width||e.offsetY-2>t.getBoundingClientRect().height))&&r(t)},d.addEventListener("cancel",(e=>{e.preventDefault(),r(e.target.closest(".n-modal"))})),c&&(d.existingDetachedElement=!0),d.showModal(),d.animate("string"==typeof l?JSON.parse(l):[{transform:"translate3d(0,-100vh,0)"},{transform:"translate3d(0,0,0)"}],{duration:n(),easing:"ease-in-out"}).onfinish=()=>{d.addEventListener("close",o),window.addEventListener("scroll",t,{passive:"true"})},d}function l(e){let t=e.target.closest(".n-modal-link");var n=t.dataset.href||t.href,o=t.dataset.anim;const r=e=>{return n=t,r=a({content:e,animation:o,trigger:t}),void("string"==typeof(l=["n-modal--full","n-modal--rounded","n-modal--shadow","n-modal--blur"])?new Array(l):l).forEach((e=>{n.classList.contains(e)&&r.classList.add(e)}));var n,r,l};return t.dataset.for?r(document.getElementById(t.dataset.for)):fetch(n.split("#")[0]).then((e=>e.text())).then((e=>{var t,o,a=(t=e,(o=document.implementation.createHTMLDocument("Parsed")).body.innerHTML=t,o.body),l=n.split("#")[1]?"#"+n.split("#")[1].split("?")[0]:0;a=l&&a.querySelector(l)?a.querySelector(l).innerHTML:a.innerHTML,r(a)})).catch((e=>{r(e)})),!1}let i=(e=document)=>{e.querySelectorAll(".n-modal-link:not([data-ready])").forEach((e=>{e.href!==location.href.split("#")[0]+"#"&&(e.onclick=l),e.href&&!e.getAttribute("rel")&&e.setAttribute("rel","prefetch"),e.dataset.ready=!0}))},s=document.querySelector(`.n-modal${location.hash}.n-modal--uri`);location.hash&&s&&a(s);let d=a;d.close=r,d.init=i,void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-modal",i,{name:"modal",code:d}):(i(),window.nui={},window.nui.modal=d)}(),function(){navigator.userAgent.match("Chrome");navigator.userAgent.match(/Safari/);let e=e=>{e.target.closest(".n-select__options > *")||e.target.closest(".n-select")||document.querySelectorAll(".n-select__options[aria-expanded]:not([data-n-select-animation])").forEach((e=>{a(e)}))},t=e=>{let t=document.querySelector(".n-select__options[aria-expanded]");("resize"===e.type||"scroll"===e.type&&e.target!==t)&&a(t)};const n=(e,t)=>{e.style.setProperty("--active-option-height",`${t.querySelector("[aria-selected]").getBoundingClientRect().height}px`)};let o=(e,t=!0)=>{if(!e||"BUTTON"!==e.tagName)return;let o=e.closest(".n-select__options");o.querySelectorAll("[aria-selected]").forEach((e=>e.removeAttribute("aria-selected"))),e.setAttribute("aria-selected",!0),o.nuiSelectWrapper.dataset.value=e.value,o.hasAttribute("aria-expanded")&&(e.focus(),t&&a(o));let r=o.children[0];n(o.nuiSelectWrapper,o),r.style.removeProperty("--top-offset"),r.style.removeProperty("--max-height");let l=o.nuiNativeInput;l.innerHTML=``;const i=new Event("change");l.dispatchEvent(i),o.nuiOnChange&&o.nuiOnChange(index,l.value)};const r=["font-family","font-size","font-style","font-weight","line-height","font-variant"];let a=n=>{if(!n)return;delete n.dataset.nSelectAnimation,n.removeAttribute("aria-expanded"),r.forEach((e=>{n.style[e]=""})),n.nuiSelectWrapper.prepend(n),window.removeEventListener("resize",t),window.removeEventListener("scroll",t),n.querySelector("[aria-selected]").tabIndex=-1,window.removeEventListener("pointerup",e),n.removeEventListener("pointerup",c);let o=n.parentNode;o.classList.remove("n-select--open"),o.style.removeProperty("--width"),n.style.removeProperty("--scroll-help-top"),n.classList.remove("n-select--scroll-help-top"),n.nuiSelectWrapper.focus(),n.classList.remove("n-scrollbar")},l=o=>{let l=document.body.querySelector(".n-select__options[aria-expanded]");l&&a(l);let i=o.parentNode;n(i,o),i.style.setProperty("--width",`${i.getBoundingClientRect().width}px`),i.classList.add("n-select--open"),o.style.removeProperty("--top-offset"),o.style.removeProperty("--max-height"),o.style.removeProperty("--select-scroll-height"),o.style.removeProperty("--active-option-offset"),o.classList.remove("n-select--crop-top");let s=o.getBoundingClientRect().height;o.style.setProperty("--max-width",`${o.parentNode.getBoundingClientRect().width}px`);let d=document.querySelector("html").getBoundingClientRect().x;o.style.setProperty("--body-offset-x",i.getBoundingClientRect().x-d-("relative"===document.body.style.position?parseFloat(getComputedStyle(document.body).borderInlineStartWidth)-d+document.body.getBoundingClientRect().x:0)),o.style.setProperty("--body-offset-y",-document.body.getBoundingClientRect().y+i.getBoundingClientRect().y-("relative"===document.body.style.position?parseFloat(getComputedStyle(document.body).borderBlockStartWidth):0)),o.querySelector("[aria-selected]").removeAttribute("tabindex"),o.setAttribute("aria-expanded",!0),r.forEach((e=>{o.style[e]=getComputedStyle(i)[e]})),document.body.appendChild(o),o.style.setProperty("--select-scroll-height",`${o.getBoundingClientRect().height}px`);let c=o.querySelector("[aria-selected]").getBoundingClientRect().y-o.getBoundingClientRect().y,u=0;if(o.style.setProperty("--active-option-offset",c),o.getBoundingClientRect().y<0){let e=o.getBoundingClientRect().height+o.getBoundingClientRect().y;o.style.setProperty("--max-height",`${e}px`),o.scrollTop=Math.abs(Math.round(o.getBoundingClientRect().y)),u=Math.abs(o.getBoundingClientRect().y),o.style.setProperty("--top-offset",u),o.classList.add("n-select--crop-top"),o.getBoundingClientRect().height>window.innerHeight&&o.style.setProperty("--max-height",e-Math.abs(window.innerHeight-o.getBoundingClientRect().height)+"px")}else{o.getBoundingClientRect().y+o.getBoundingClientRect().height>window.innerHeight&&o.style.setProperty("--max-height",`${Math.abs(window.innerHeight-o.getBoundingClientRect().y)}px`);let e=o.getBoundingClientRect().y;if(o.scrollHeight>o.getBoundingClientRect().height){let t=o.getBoundingClientRect().height-o.scrollHeight,n=Math.abs(Math.min(t,e))-2*parseInt(getComputedStyle(o).paddingInlineEnd);n>0&&(o.style.setProperty("--scroll-help-top",n),o.classList.add("n-select--scroll-help-top"))}}o.getBoundingClientRect().width>o.querySelector("button").getBoundingClientRect().width+2*parseInt(getComputedStyle(o).paddingInlineEnd)&&o.classList.add("n-scrollbar"),o.style.setProperty("--mask-position-y",""+(c-u)),o.style.setProperty("--mask-size-y",`${s}px`),window.requestAnimationFrame((e=>{setTimeout((()=>{o.dataset.nSelectAnimation=!0,o.querySelector("[aria-selected]").focus()}),1)})),window.addEventListener("resize",t),window.addEventListener("scroll",t,!0),window.addEventListener("pointerup",e)},i=(e,t)=>{let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}return!1},s=e=>{let t=e.target.closest(".n-select__options"),n=e.target;t.hasAttribute("aria-expanded")&&(n.href?a(t):o(n))},d=e=>{let t=e.target.closest(".n-select__options")||e.target.querySelector(".n-select__options");t&&!t.hasAttribute("aria-expanded")&&(l(t),t.removeEventListener("click",s),setTimeout((()=>{t.addEventListener("click",s)}),100))},c=e=>{let t=e.target.closest("button"),n=e.target.closest(".n-select__options");if(e.target.href)e.target.click();else{if(!t||!n.hasAttribute("aria-expanded")||t.hasAttribute("aria-selected"))return;o(t)}document.body.style.pointerEvents="none",setTimeout((()=>{document.body.style.pointerEvents=""}),100)},u=null,p=e=>{[32,35,36,37,38,39,40].includes(e.keyCode)&&(e.stopPropagation(),e.preventDefault())},h=e=>{if("SELECT"===e.target.tagName)return;p(e);let t=e.target.closest(".n-select__options");if(e.target.classList.contains("n-select")&&(t=e.target.querySelector(".n-select__options")),t){switch(e.key){case"Enter":e.target.classList.contains("n-select")&&l(t);break;case"Escape":a(t);break;case"ArrowDown":if(t.hasAttribute("aria-expanded")){let n=i(e.target,"button, a[href]");n?n.focus():t.querySelector("button").focus()}else l(t);break;case"ArrowUp":if(t.hasAttribute("aria-expanded")){let n=((e,t)=>{let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}return!1})(e.target,"button, a[href]");if(n)n.focus();else{let e=t.querySelectorAll("button");e[e.length-1].focus()}}else l(t);break;case"Home":t.querySelector("button").focus();break;case"End":t.querySelector("button:last-of-type").focus();break;default:t.nuiSearchTerm+=e.key.toLowerCase(),clearTimeout(u),u=setTimeout((()=>{for(let e of t.querySelectorAll("button"))e.textContent.trim().toLowerCase().startsWith(t.nuiSearchTerm)&&(t.getAttribute("aria-expanded")?e.focus():o(e,!1));t.nuiSearchTerm=""}),200)}return!1}},m=e=>{window.PointerEvent&&e.querySelectorAll(".n-select:not([data-ready])").forEach((e=>{let t=e;if("SELECT"===e.tagName)return;if(!(e=e.querySelector(".n-select__options"))){let n="";t.querySelectorAll("option").forEach((e=>{n+=``})),(e=document.createElement("span")).insertAdjacentHTML("beforeend",n),t.prepend(e)}if(e.nuiSelectWrapper=t,e.classList.add("n-select__options"),e.nuiNativeInput=e.nuiSelectWrapper.querySelector("select, input")||i(e.nuiSelectWrapper,"select")||document.querySelector(`[data-n_select="${e.nuiSelectWrapper.dataset.n_select}"]`),!e.nuiNativeInput){let n=document.createElement("select");n.name=n.id=e.dataset.name,t.append(n),e.nuiNativeInput=n}let r=e.nuiNativeInput.value,l=e.querySelector(`button[value="${r}"`);e.nuiNativeInput.innerHTML="",t.addEventListener("pointerdown",d),e.addEventListener("click",s),e.addEventListener("focusout",(e=>{let t=e.target.closest(".n-select__options");t.hasAttribute("aria-expanded")&&e.relatedTarget&&e.relatedTarget.parentNode!==t&&(a(t),t.nuiSelectWrapper.focus())})),e.ontransitionend=e=>{let t=e.target;t.style.removeProperty("--mask-position-y"),t.style.removeProperty("--mask-size-y"),delete t.dataset.nSelectAnimation,t.addEventListener("pointerup",c)},e.addEventListener("keydown",h),t.addEventListener("keydown",h),e.addEventListener("keyup",p),t.addEventListener("keyup",p),e.lastElementChild.onkeydown=e=>{"Tab"===e.key&&!e.shiftKey&&e.target.parentNode.hasAttribute("aria-expanded")&&(a(e.target.parentNode),e.target.parentNode.nuiSelectWrapper.focus())},e.querySelectorAll("button").forEach((e=>{e.type="button",e.value=e.value||e.textContent.trim()})),t.setAttribute("tabindex",0),(e.querySelector("[aria-selected]")||e.firstElementChild).tabIndex=-1,t.style.setProperty("--inline-width",`${e.getBoundingClientRect().width}px`),o(e.querySelector("[aria-selected]")||l||e.querySelector("button")),e.nuiSearchTerm="",["n-select--rounded","n-select--shadow"].forEach((n=>{t.classList.contains(n)&&e.classList.add(n)}));let u=e.closest("label")||document.querySelector(`label[for="${e.nuiNativeInput.id}"]`);u&&(u.onclick=e=>{let t=e.target;if(!t.closest(".n-select")){e.preventDefault(),t=t.closest("label"),(t.querySelector(".n-select")||document.getElementById(t.getAttribute("for")).closest(".n-select")).focus()}}),t.dataset.ready=!0,window.requestAnimationFrame((()=>{n(t,e),["--nui-control-color","--nui-control-bg","--nui-control-active-color","--nui-control-active-bg","--nui-control-highlight"].forEach((n=>{e.style.setProperty(n,t.style.getPropertyValue(n))}))}))}))};void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-select",m):m(document.body)}(),function(){function e(e){return document.getElementById(e.getAttribute("aria-describedby"))||e.nextElementSibling}const t=t=>{let n=e(t);t.removeAttribute("aria-expanded"),t.after(n),n.removeAttribute("style"),delete n.dataset.position,n.classList.remove("n-tooltip__content-visible")};let n=e=>{t(e.target.closest(".n-tooltip"))};const o=e=>{document.querySelectorAll(".n-tooltip").forEach((e=>t(e))),document.removeEventListener("scroll",o)};let r=t=>{let n=t.target.closest(".n-tooltip"),r=e(n);n.setAttribute("aria-expanded",!0),document.body.appendChild(r),((e,t)=>{let n=e.getBoundingClientRect(),o=n.top,r=n.left,a=window.innerWidth-r-n.width,l=window.innerHeight-o-n.height,i=o*window.innerWidth,s=a*window.innerHeight,d=l*window.innerWidth,c=r*window.innerHeight,u=document.body.getBoundingClientRect();t.removeAttribute("style"),delete t.dataset.position,t.classList.add("n-tooltip__content-visible");let p=()=>{t.style.bottom=20+u.height+u.y-o+"px",t.style.maxHeight=o-40+"px",t.style.left=n.x+n.width/2-t.scrollWidth/2+"px",t.dataset.nPosition="top"},h=()=>{t.style.top=20-u.y+o+n.height+"px",t.style.maxHeight=l-40+"px",t.style.left=n.x+n.width/2-t.scrollWidth/2+"px",t.dataset.nPosition="bottom"},m=()=>{t.style.left="auto",t.style.right=20+u.width+u.x-window.innerWidth+a+n.width+"px",t.style.maxWidth=r-40+"px",t.style.top=-1*u.y+n.top+n.height/2-t.scrollHeight/2+"px",t.dataset.nPosition="left"},y=()=>{t.style.left=n.x-u.x+n.width+20+"px",t.style.maxWidth=a-40+"px",t.style.top=-1*u.y+n.top+n.height/2-t.scrollHeight/2+"px",t.dataset.nPosition="right"};c>s?i>d?i>c?p():m():d>c?h():m():i>d?i>s?p():y():d>s?h():y();let g=t.getBoundingClientRect(),f=0;g.y<0?f=Math.abs(g.y)+10:g.bottom>window.innerHeight&&(f=window.innerHeight-g.bottom-10),t.style.setProperty("--offset_y",f+"px");let v=0;g.x<0?v=Math.abs(g.x)+10:g.right>window.innerWidth&&(v=window.innerWidth-g.right-10),t.style.setProperty("--offset_x",v+"px")})(n,r),document.addEventListener("scroll",o,!0)};const a=(e=document)=>{e.querySelectorAll(".n-tooltip")?.length,e.querySelectorAll(".n-tooltip:not([data-ready])").forEach((e=>{e.setAttribute("tabindex",0),e.addEventListener("touchend",r),e.addEventListener("mouseover",r),e.addEventListener("focus",r),e.addEventListener("mouseout",n),e.addEventListener("blur",n),e.dataset.ready=!0}))};void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-tooltip",a):a()}(),function(){function e(e){e.target.closest(".n-nav li")||(document.querySelectorAll(".n-nav li").forEach((e=>{e.removeAttribute("aria-expanded")})),document.querySelector(".n-nav :focus")&&document.querySelector(".n-nav :focus").blur())}function t(e){return!!getComputedStyle(e).getPropertyValue("--desktop")}let n=!1;function o(e){var o=e.target.closest(".n-nav");if(n||!e.relatedTarget)return;e.stopPropagation();let r=e.target,a="LI"===r.tagName?r.querySelector("ul"):r.parentElement.querySelector("ul");if(!o.contains(e.relatedTarget)||t(o)&&e.relatedTarget&&!closestElement(e.relatedTarget,o))o.querySelectorAll("li").forEach((e=>{e.removeAttribute("aria-expanded")}));else{if(a){if(a.parentNode.parentNode.querySelector("ul [aria-expanded]"))return;a.parentElement.removeAttribute("aria-expanded")}r=e.target;var l=r.closest("[aria-haspopup]");l&&l.querySelectorAll("li[aria-expanded]").forEach((e=>{e.removeAttribute("aria-expanded")})),r=e.target.parentNode,r.nextElementSibling||"LI"!==r.parentNode.parentNode.nodeName||r.parentNode.parentNode.nextElementSibling||r.parentNode.parentNode.removeAttribute("aria-expanded")}}function r(e){e.stopPropagation();var t=e.target.closest(".n-nav > ul > li");if(!n){[[].slice.call(t.parentElement.children),[].slice.call(e.target.parentElement.parentElement.children),[].slice.call(e.target.parentElement.parentElement.parentElement.parentElement.children)].forEach((e=>{e.forEach((e=>{e.removeAttribute("aria-expanded")}))})),t.setAttribute("aria-expanded",!0),t.parentNode.parentNode.getAttribute("aria-haspopup")&&t.parentNode.parentNode.setAttribute("aria-expanded",!0),t.querySelectorAll("li[aria-expanded]").forEach((e=>{e.removeAttribute("aria-expanded")})),(t=e.target).parentNode.setAttribute("aria-expanded",!0);var o=t.parentElement.parentElement.parentElement;"LI"===o.tagName&&o.setAttribute("aria-expanded",!0)}}var a=!1;const l=()=>window.matchMedia("(prefers-reduced-motion: no-preference)").matches?200:0;let i=e=>{n=!0,e.style.overflow="hidden",e.parentElement.setAttribute("aria-expanded",!0),e.animate([{height:`${e.scrollHeight}px`},{height:0}],l()).onfinish=()=>{e.removeAttribute("style"),e.parentElement.removeAttribute("aria-expanded"),n=!1,e.querySelectorAll("[aria-expanded]").forEach((e=>{e.removeAttribute("aria-expanded")}))}},s=e=>{n=!0,e.style.overflow="hidden",e.parentElement.setAttribute("aria-expanded",!0),e.animate([{height:0},{height:`${e.scrollHeight}px`}],l()).onfinish=()=>{e.removeAttribute("style"),n=!1}},d=e=>{e.stopPropagation();let n=e.target;var r=n.closest(".n-nav");r.removeEventListener("focusout",o),r.contains(document.activeElement)&&document.activeElement.blur();let a="LI"===n.tagName?n.querySelector("ul"):n.parentElement.querySelector("ul");if(t(r))n.getAttribute("aria-expanded")?n.querySelector("a:focus")||(t(r)?n.removeAttribute("aria-expanded"):i(a)):([].slice.call(n.parentElement.children).forEach((e=>{e.removeAttribute("aria-expanded");let t=e.querySelector("[aria-expanded]");t&&t.removeAttribute("aria-expanded")})),n.setAttribute("aria-expanded",!0),t(r)||s(a));else if(a.parentNode.hasAttribute("aria-expanded"))i(a);else{if(a.parentElement.parentElement.matches("ul")){let e=a.parentElement.closest("ul").querySelector('[aria-expanded="true"] > ul');e&&i(e)}s(a)}r.addEventListener("focusout",o)};function c(e,t){"rtl"!==getComputedStyle(e).direction&&(e.classList.remove("n-right-overflow"),e.style.removeProperty("--n-right-overflow"),e.getBoundingClientRect().left>document.body.offsetWidth-(e.getBoundingClientRect().left+e.getBoundingClientRect().width)?(e.getBoundingClientRect().right>window.innerWidth&&(e.style.setProperty("--n-right-overflow",window.innerWidth-e.getBoundingClientRect().right+"px"),e.classList.add("n-right-overflow")),e.classList.add("n-left-side")):e.classList.remove("n-left-side"))}window.addEventListener("resize",(function(e){document.querySelectorAll(".n-nav.n-nav--drop ul").forEach((e=>{e.querySelectorAll("ul").forEach((e=>{c(e)}))}))}));nui.registerComponent("nav",(t=>{t.querySelectorAll(".n-nav:not([data-ready]) > ul:not([role])").forEach((t=>{!function(t){t.querySelectorAll("input").forEach((e=>{e.outerHTML=""})),t.querySelectorAll("li > a").forEach((e=>{e.setAttribute("tabindex",0)})),t.closest(".n-nav.n-nav--drop")&&(a||(window.addEventListener("touchend",e),window.addEventListener("mouseup",e),a=!0),t.addEventListener("keyup",(e=>{"Escape"===e.key&&(e.target.closest(".n-nav").querySelectorAll("li").forEach((e=>{e.removeAttribute("aria-expanded")})),document.activeElement.blur())})),t.querySelectorAll("li").forEach((e=>{e.querySelector("ul")&&(e.setAttribute("aria-haspopup",!0),"UL"===e.children[0].nodeName&&e.insertBefore(e.children[1],e.children[0]))})),t.addEventListener("mousedown",d),t.addEventListener("focusin",r),t.addEventListener("focusout",o),window.requestAnimationFrame((()=>{t.querySelectorAll("ul").forEach((e=>{c(e)}))})))}(t),t.closest(".n-nav").dataset.ready=!0}))}))}(),function(){function e(e){e&&e.parentNode.removeChild(e)}function t(){document.querySelector(".n-notify")&&(document.querySelector(".n-notify").onclick=t=>{e(t.target)})}nui.registerComponent("notify",(e=>{e.querySelectorAll(".n-notify:not([data-ready])").forEach(((e,n)=>{t(),e.dataset.ready=!0}))}),{name:"notify",code:function(n,o){document.body.insertAdjacentHTML("afterbegin",``),document.querySelector(".n-notify").focus(),t(),o&&-1!==o.indexOf("timeout")&&setTimeout((()=>{e(document.querySelector(".n-notify"))}),2e3)}})}(),function(){let e=()=>{document.querySelectorAll(".n-parallax").forEach((e=>{let t=e.parentElement,n=t.scrollHeight>t.offsetHeight?t.getBoundingClientRect().y:document.body.scrollTop||document.documentElement.scrollTop;e.style.setProperty("--scrollparallax",.2*n)}))};document.querySelector(".n-parallax")&&window.addEventListener("scroll",e,!0);nui.registerComponent("parallax",(e=>{}))}(),function(){const e=(e,t)=>e.children[t].innerText||e.children[t].textContent;nui.registerComponent("table",(t=>{t.querySelectorAll(".n-table:not([data-ready])").forEach((t=>{t.querySelectorAll("thead td button.n-table__sort, th button.n-table__sort").forEach((t=>t.addEventListener("click",(t=>{let n=t.target.closest("th")||t.target.closest("td");const o=n.closest("table").querySelector("tbody");var r,a;Array.from(o.querySelectorAll("tr")).sort((r=Array.from(n.parentNode.children).indexOf(n),a=(e=>{let t=e.closest("tr").querySelector("td[data-ascending]");return t&&t!==e&&delete t.dataset.ascending,e.toggleAttribute("data-ascending")})(n),(t,n)=>{return o=e(a?t:n,r),l=e(a?n:t,r),""===o||""===l||isNaN(o)||isNaN(l)?o.toString().localeCompare(l):o-l;var o,l})).forEach((e=>o.appendChild(e)))})))),t.dataset.ready=!0,t.setAttribute("tabindex",0)}))}))}(),nui.registerComponent("typography",(e=>{if("function"==typeof ResizeObserver){let e=new ResizeObserver((e=>{e.forEach((e=>{let t=e.target;t.style.removeProperty("--adjust-height");let n=getComputedStyle(t),o=parseFloat(n.lineHeight),r=o-parseFloat(n.height)%o;r!==o&&t.style.setProperty("--adjust-height",r)}))}));document.querySelectorAll(".n-adjust-height:not([data-ready])").forEach((t=>{e.observe(t),t.dataset.ready=!0}))}}));window.nui=nui; //# sourceMappingURL=niui.min.js.map diff --git a/niui-wp/niui.min.js.map b/niui-wp/niui.min.js.map index 9344d451..ad423233 100644 --- a/niui-wp/niui.min.js.map +++ b/niui-wp/niui.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["js/niui.js"],"names":["nui","q","selector","document","querySelector","addClass","el","className","classList","add","removeClass","remove","body","dataset","nuiJs","window","nuiChrome","navigator","userAgent","match","nuiSafari","platform","nuiApple","setHashClass","location","hash","addEventListener","temp","createElement","t","animation","MozAnimation","WebkitAnimation","style","isTouchTimer","isTouch","addtouchclass","e","clearTimeout","setTimeout","components","Array","initComponents","host","observerOff","key","init","observerOn","observer","observe","childList","subtree","disconnect","MutationObserver","mutations","dynamicInit","mutation","type","addedNodes","length","nodeName","ready","parentNode","registerComponent","name","componentFunction","push","code","copyButton","target","echo","event","getSelection","removeAllRanges","range","createRange","selectNode","addRange","execCommand","notify","textContent","err","addComponent","insertAdjacentHTML","submitForm","ready_to_submit","querySelectorAll","forEach","value","checked","RegExp","test","parseInt","digits","focus","form","closest","animate","width","scrollWidth","marginLeft","updateFileInput","innerHTML","substring","lastIndexOf","toggleConditionalFieldset","fieldset","for","nextElementSibling","attribute","removeAttribute","setAttribute","i","onsubmit","onchange","onkeyup","rows","scrollHeight","offsetHeight","ripple","x","offsetX","clientWidth","y","offsetY","clientHeight","max_x","Math","max","max_y","radius","sqrt","transitionProperty","setProperty","requestAnimationFrame","ceilingWidth","ceil","parseFloat","getComputedStyle","ceilingHeight","height","focusableElements","isChrome","isSafari","isEndless","children","parentElement","contains","isFullScreen","webkitFullscreenElement","fullscreenElement","isModal","isVertical","matches","isAuto","indexControls","index","controls_by_class","nextSlideHeight","overflow","getIndex","getIndexReal","active_slide","indexOf","hash_slide_index","scrolledAncestor","scrollTop","scrollLeft","isRTL","direction","toggleFullScreen","carousel","restoreScroll","nuiAncestors","nuiScrollX","nuiScrollY","removeEventListener","togglingFullScreen","exitFullscreen","webkitExitFullscreen","display","updateExitFullScreen","slideTo","arr","a","scrolledAncestors","requestFullscreen","webkitRequestFullscreen","scrollStartX","scrollTo","abs","getScroll","scrollX","scrollY","firstFocusableElement","focusableContent","lastFocusableElement","focusHandler","keyCode","shiftKey","activeElement","preventDefault","trapFocus","modal","off","getControl","control","detached_control","id","closestCarousel","related_by_id","getElementById","scrollAnimate","distanceX","distanceY","new_height","old_height","Promise","resolve","reject","wrapper","nextSlideInstant","matchMedia","updateCarousel","observersOff","scroll_changing","startx","starty","starth","distanceH","duration","start","draw","now","n","val","cos","PI","timeStamp","forced","saved_x","saved_y","openingModal","offsetWidth","round","firstElementChild","active_index","old_active_slide","observersOn","active_index_logical","restoreDisplacedSlides","el2","append","first","prepend","lastElementChild","last","sliding","scroll_x","scroll_y","paddingBlockStart","paddingY","visibility","previously_active","nCarouselNav","inert","current","slide","nCarouselTimeout","old_scroll_left","old_scroll_top","computed_max_height","maxHeight","max_height","min","paddingInlineStart","paddingX","next","top","left","behavior","slideNext","new_offset","carouselKeys","slidePreviousEvent","slidePrevious","slideNextEvent","slideIndexEvent","href","ctrlKey","metaKey","new_index","old_index","openModal","frozen","closeModal","autoHeightObserver","ResizeObserver","entries","removeProperty","updateSubpixels","padding","getBoundingClientRect","offset","height_minus_index","unobserve","subpixel_observer","mutation_observer","attributes","attributeFilter","observerStarted","updateObserver","doUpdate","current_height","getPropertyValue","setIndexWidth","position","previous","close_modal","full_screen","content","onclick","xx","yy","fullScreenEvent","onwebkitfullscreenchange","onfullscreenchange","hashed_slide","auto_delay","interval","carouselTimeout","rect","bottom","innerHeight","documentElement","right","innerWidth","isElementInViewport","nCarouselUpdate","interSecObs","IntersectionObserver","entry","isIntersecting","timeout_function","offset_y","lastScrollX","lastScrollY","scroll_offset","then","threshold","root","loaded","img","complete","nCarouselInit","modal_carousel","doInit","readyState","animate_options","easing","accordionContent","openAccordion","onfinish","closeAccordion","callback","toggleAccordion","popin","updateRow","row","floor","other_accordion","getAttribute","scroll_timeout","blockScroll","animationDuration","removeModal","existingDetachedElement","existingModal","removeChild","attachedHiddenContent","replaceWith","lastChild","existingAttachedContent","anim","direction_option","JSON","parse","close","options","scrollbar_width","tagName","trigger","close_label","appendChild","close_button","closeSymbol","ariaLabel","closeLabel","marker","blur","shadow","rounded","full","showModal","transform","passive","modalWindowLink","link","openTheModal","transferClass","origin","fetch","split","response","text","str","tmp","parsed","implementation","createHTMLDocument","container","catch","error","hash_modal","clickOutsideSelect","select","closeSelect","closeSelectOnResizeScroll","open_select","updateOptionHeight","selectOption","nuiSelectWrapper","hasAttribute","select_native","nuiNativeInput","Event","dispatchEvent","nuiOnChange","font_properties","nSelectAnimation","tabIndex","pointerUpSelect","openSelect","previous_open_select","option_height","document_offset","borderInlineStartWidth","borderBlockStartWidth","active_option_offset","top_offset","current_max_height","available_top_space","cropped_space","scroll_help_top","paddingInlineEnd","nextMatchingSibling","sibling","clickSelect","pointerDownSelect","click","pointerEvents","timeout","trapKeyboard","includes","stopPropagation","selectKeyboard","previousElementSibling","previousMatchingSibling","nuiSearchTerm","toLowerCase","trim","startsWith","PointerEvent","n_select","input","initial_value","initial_option","relatedTarget","ontransitionend","onkeydown","cls","label","getToolTip","tool","hideTipFunction","tip","after","hideTip","hideTipOnScroll","showTip","area_top","area_right","area_bottom","area_left","body_rect","positionTop","nPosition","positionBottom","positionLeft","maxWidth","positionRight","rect_tip","offset_x","setTipPosition","notifyClose","notifyCloseEvent","option","closeDropNavClickedOutside","isDesktop","nav","navAnimating","dropNavBlur","this_nav","item","closestElement","target_parent","dropNavFocus","slice","call","grand_parent","closeDropNavClickedOutsideEnabled","getDuration","closeItem","openItem","clickEvent","old_item_open_child","old_item","checkSides","ul","menubar","outerHTML","insertBefore","initNav","updateParallax","parent","getCellValue","tr","idx","innerText","button","th","tbody","asc","from","sort","ascending","toggleAttribute","toggleSort","b","v1","v2","isNaN","toString","localeCompare","ro","line_height","lineHeight","adjust"],"mappings":"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","file":"niui.min.js","sourcesContent":["let nui = (() => {\n /* niui by rado.bg */\n /* DOM functions via http://youmightnotneedjquery.com */\n document.body.dataset.nuiJs = true;\n if (!!window[\"chrome\"]) {\n document.body.dataset.nuiChrome = true;\n }\n if (navigator.userAgent.match(/Safari/) && !navigator.userAgent.match(/Chrome/)) {\n document.body.dataset.nuiSafari = true;\n }\n if (navigator.platform.match(/Mac/) || navigator.platform.match(/iPhone/) || navigator.platform.match(/iPod/) || navigator.platform.match(/iPad/)) {\n document.body.dataset.nuiApple = true; // Apple devices: left-hand ⤫ button, disappearing thin scrollbars\n }\n var is_iPad = !!navigator.platform.match(/iPad/);\n // DOM functions – start\n function q(selector) {\n return document.querySelector(selector);\n }\n\n function qa(selector) {\n return document.querySelectorAll(selector);\n }\n\n function addClass(el, className) {\n el.classList.add(className);\n }\n\n function removeClass(el, className) {\n // To do: remove a single '.' for foolproof operation; Support multiple classes separated by space, dot, comma\n el.classList.remove(className);\n }\n\n function hasClass(el, className) {\n return el.classList.contains(className);\n // To do: remove a single '.' for foolproof operation; Support multiple classes separated by space, dot, comma\n }\n\n function toggleClass(el, className) {\n if (hasClass(el, className)) {\n removeClass(el, className);\n } else {\n addClass(el, className);\n }\n }\n\n function toggleAttribute(el, attribute) {\n if (el.getAttribute(attribute)) {\n el.removeAttribute(attribute);\n } else {\n el.setAttribute(attribute, true);\n }\n }\n // DOM functions – end\n function transferClass(el_origin, el_target, className) {\n let classes = typeof className === \"string\" ? new Array(className) : className;\n classes.forEach((el) => {\n if (hasClass(el_origin, el)) {\n addClass(el_target, el);\n }\n });\n }\n\n function parseHTML(str) {\n var tmp = document.implementation.createHTMLDocument(\"Parsed\");\n tmp.body.innerHTML = str;\n // To do: destroy the HTMLDocument before returning\n return tmp.body;\n }\n\n function stopEvent(e) {\n if (!e) {\n if (!window.event) {\n return;\n }\n }\n if (!e) {\n return false;\n }\n //e.cancelBubble is supported by IE, this will kill the bubbling process.\n e.cancelBubble = true;\n e.returnValue = false;\n //e.stopPropagation works only in Firefox.\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n if (e.preventDefault) {\n e.preventDefault();\n }\n return false;\n }\n\n function thisIndex(el) {\n return [...el.parentNode.children].indexOf(el);\n }\n\n function getCookie(k) {\n // Thanks Simon Steinberger\n var v = document.cookie.match(\"(^|;) ?\" + k + \"=([^;]*)(;|$)\");\n return v ? v[2] : null;\n }\n\n function wrap(toWrap, wrapper) {\n // Thanks yckart\n // \tobserverOff();\n wrapper = wrapper || document.createElement(\"div\");\n var sibling = toWrap.nextSibling;\n var parent = toWrap.parentNode;\n wrapper.appendChild(toWrap);\n if (parent) {\n // Already attached to DOM\n if (sibling) {\n // Attach the wrapper\n parent.insertBefore(wrapper, sibling);\n } else {\n parent.appendChild(wrapper);\n }\n }\n // observerOn();\n return wrapper;\n }\n\n function removeHash() {\n history.pushState(\"\", document.title, window.location.pathname + window.location.search);\n }\n /* ––– */\n function getURLParameters() {\n // return all URL parameters in an array\n var res = {};\n var re = /[?&]([^?&]+)=([^?&]+)/g;\n location.href.replace(re, (_, k, v) => {\n res[k] = v;\n });\n return res;\n }\n\n function arrow_keys_handler(e) {\n switch (e.keyCode) {\n case 37:\n case 39:\n case 38:\n case 40: // Arrow keys\n case 32:\n e.preventDefault();\n break; // Space\n default:\n break; // do not block other keys\n }\n }\n var external = RegExp(\"^((f|ht)tps?:)?//(?!\" + location.host + \")\");\n var full_window_content = null;\n var previousScrollOffset = 0;\n var previouslyFocused = false;\n /* Animate anchor links */\n function getCumulativeOffset(obj) {\n // Offset from element to top of page\n var left, top;\n left = top = 0;\n if (obj.offsetParent) {\n do {\n left += obj.offsetLeft;\n top += obj.offsetTop;\n obj = obj.offsetParent;\n } while (obj);\n }\n return {\n x: left,\n y: top,\n };\n }\n // function animateAnchors(e) {\n // if (!e || q(\"html\").clientHeight > document.body.clientHeight) {\n // return;\n // }\n // var el = e.target;\n // while (typeof el.href !== \"string\") {\n // // If a child of the link is clicked\n // el = el.parentNode;\n // }\n // if (el.href.split(/#|\\?/)[0] != window.location.href.split(/#|\\?/)[0]) {\n // // External page?\n // return;\n // }\n // var hash = null;\n // if (el.href.split(\"#\").pop().length > 0) {\n // hash = document.getElementById(el.href.split(\"#\").pop());\n // }\n // scrollToAnimated(hash === null ? 0 : getCumulativeOffset(hash).y, 0.5, (e) => {\n // // To do: fix jumping to new hash – is the fallback executed properly in animate()?\n // window.location = el.href.split(\"#\")[0] + \"#\" + el.href.split(\"#\").pop();\n // });\n // return false;\n // }\n function closestElement(el, target) {\n // Thanks http://gomakethings.com/ditching-jquery/ – Accepts either a selector string or an actual element\n for (; el && el !== document; el = el.parentNode) {\n if (el === target) {\n return el;\n }\n }\n return false;\n }\n // Add .n-target to the :target element now, because :target is available too late, after all page content is loaded\n let setHashClass = () => {\n if (q(\".n-target\")) {\n removeClass(q(\".n-target\"), \"n-target\");\n }\n if (!!location.hash && q(location.hash)) {\n addClass(q(location.hash), \"n-target\");\n }\n };\n setHashClass();\n window.addEventListener(\"hashchange\", setHashClass);\n /* Chainable animation specified as CSS Animation */\n var temp = document.createElement(\"temp\");\n var animations = {\n animation: \"animationend\",\n MozAnimation: \"animationend\",\n WebkitAnimation: \"webkitAnimationEnd\",\n };\n var animationEndEvent = false;\n for (var t in animations) {\n if (temp.style[t] !== \"undefined\") {\n animationEndEvent = animations[t];\n }\n }\n // Scroll the page to any position\n function scrollToAnimated(to, duration, callback) {\n var difference = document.body.clientHeight - window.innerHeight;\n if (to > difference) {\n to = difference;\n }\n\n function scrollToCallback(callback) {\n q(\"html\").scrollTop = document.body.scrollTop = to;\n if (typeof callback === \"function\") {\n callback();\n }\n }\n q(\"html\").animate(\n [{ transform: \"translate3d(0, 0, 0)\" }, { transform: `translate3d(0, ${-1 * (to - (document.documentElement.scrollTop || document.body.scrollTop))}px, 0)` }], duration).onfinish = () => {\n scrollToCallback(callback);\n };\n }\n // Scroll window to top, animated with easing\n // To do: suport any element and direction. Use it to slide sliders on browsers where CSS transforms are slower. Replace the above scrollToAnimated()\n let scrollToElement = (duration = 1000) => {\n let cosParameter = window.scrollY / 2;\n let scrollCount = 0;\n let oldTimestamp = performance.now();\n let step = (newTimestamp) => {\n scrollCount += Math.PI / (duration / (newTimestamp - oldTimestamp));\n if (scrollCount >= Math.PI) window.scrollTo(0, 0);\n if (window.scrollY === 0) return;\n window.scrollTo(0, Math.round(cosParameter + cosParameter * Math.cos(scrollCount)));\n oldTimestamp = newTimestamp;\n window.requestAnimationFrame(step);\n };\n window.requestAnimationFrame(step);\n };\n // Clicking a button copies a target element's contents\n function copyButton(el, target, echo) {\n el.addEventListener(\"click\", (event) => {\n window.getSelection().removeAllRanges(); // Clear previous clipboard\n var range = document.createRange();\n range.selectNode(target);\n window.getSelection().addRange(range);\n try {\n document.execCommand(\"copy\");\n if (!!echo && nui.notify) {\n nui.notify(\"📋 \" + target.textContent, \"fixed timeout\");\n }\n } catch (err) {}\n });\n }\n // Real time touch detection to support devices with both touch and mouse. http://www.javascriptkit.com/dhtmltutors/sticky-hover-issue-solutions.shtml\n // To do: use an attribute instead of class\n (function() {\n var isTouch = false; //var to indicate current input type (is touch versus no touch)\n var isTouchTimer;\n let addtouchclass = (e) => {\n clearTimeout(isTouchTimer);\n isTouch = true;\n addClass(q(\"html\"), \"can-touch\");\n isTouchTimer = setTimeout(() => {\n isTouch = false;\n }, 500); //maintain \"istouch\" state for 500ms so removetouchclass doesn't get fired immediately following a touch event\n };\n let removetouchclass = (e) => {\n if (!isTouch) {\n //remove 'can-touch' class if not triggered by a touch event and class is present\n isTouch = false;\n removeClass(q(\"html\"), \"can-touch\");\n }\n };\n document.addEventListener(\"mouseover\", removetouchclass, false); //this event gets called when input type is everything from touch to mouse/ trackpad\n document.addEventListener(\"touchstart\", addtouchclass, false); //this event only gets called when input type is touch\n addtouchclass();\n })();\n // function makeReady(el) {\n // el.dataset.ready = true;\n // }\n function focusWithin(selector) {\n var result = null;\n qa(selector).forEach((el) => {\n if (el.querySelector(\":focus\")) {\n result = el;\n }\n });\n return result;\n }\n\n function addComponent(host, el) {\n host.insertAdjacentHTML(\"afterbegin\", el);\n initComponents(host);\n }\n var current_slider = q(\".n-carousel__content\");\n var components = new Array();\n\n function registerComponent(name, init, componentFunction = false) {\n components[name] = new Array();\n components[name].push({ init: init });\n init(document);\n if (componentFunction) {\n nui[componentFunction.name] = componentFunction.code;\n }\n }\n\n function initComponents(host = document.body) {\n observerOff();\n for (let key in components) {\n components[key][0].init(host);\n }\n observerOn();\n }\n var observer = false;\n\n function observerOn() {\n if (observer) {\n observer.observe(document.body, { childList: true, subtree: true });\n }\n }\n\n function observerOff() {\n if (observer) {\n observer.disconnect();\n }\n }\n if (typeof MutationObserver === \"function\") {\n observer = new MutationObserver((mutations, observer) => {\n if (window.nui.dynamicInit) {\n observerOff();\n let mutation = mutations[0];\n if (mutation.type === \"childList\" && mutation.addedNodes.length > 0) {\n for (let el of mutation.addedNodes) {\n if (typeof el === \"object\" && el.nodeName !== \"#text\" && !el.dataset.ready && el.parentNode) {\n initComponents(el.parentNode);\n }\n }\n }\n observerOn();\n }\n });\n }\n // initThreshold(document.body);\n // Animate anchor link jumps\n // qa('a[href^=\"#\"]').forEach((el) => {\n // el.onclick = el.onclick || animateAnchors; // Don't add to previous onclick event handler\n // });\n initComponents();\n return { registerComponent, initComponents, copyButton, addComponent }\n})();\nnui.dynamicInit = true;// Component Form – start\n(function() {\n /* Form – start */\n function submitForm(e) {\n var el = e.target;\n var ready_to_submit = true;\n el.querySelectorAll(\".n-form--mandatory:not([disabled])\").forEach((el) => {\n if (\n (el.querySelector(\"input, select, textarea\") && !el.querySelector(\"input, select, textarea\").value) ||\n (el.querySelector(\"input[type=checkbox]\") && !el.querySelector(\"input[type=checkbox]\").checked) ||\n (el.querySelector(\"input[type=radio]\") && !el.querySelector(\"input[type=radio]\").checked) ||\n (el.querySelector(\"input[type=email]\") && !RegExp(/^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$/).test(el.querySelector(\"input[type=email]\").value)) ||\n (el.querySelector(\"input[type=url]\") && !RegExp(/^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?$/).test(el.querySelector(\"input[type=url]\").value)) ||\n (el.querySelector(\"input[type=number]\") && !RegExp(/^\\d+$/).test(el.querySelector(\"input[type=number]\").value)) ||\n (el.querySelector(\"input[type=number][data-digits]\") &&\n el.querySelector(\"input[type=number]\").value.length !== parseInt(el.querySelector(\"input[type=number]\").dataset.digits))\n ) {\n ready_to_submit = false;\n el.querySelector(\"input\").focus();\n el.classList.add(\"n-form--alert\");\n // Margin animation, because transform animation hides neighbouring content on iPad\n let form = el.closest(\"form\");\n form.animate([{ width: `${form.scrollWidth}px` }, { marginLeft: `-9px` }, { marginLeft: `18px` }, { width: `${form.scrollWidth}px`, marginLeft: 0 }], 250);\n return;\n } else {\n el.classList.remove(\"n-form--alert\");\n }\n });\n return ready_to_submit;\n }\n\n function updateFileInput(e) {\n var el = e.target;\n el.parentNode.querySelector(\"span.n-form__file-name\").innerHTML = el.value.substring(el.value.lastIndexOf(\"\\\\\") + 1);\n }\n\n function toggleConditionalFieldset(e) {\n var el = e.target;\n var fieldset = document.querySelector(`fieldset#${el.closest(\".n-form__condition\").dataset.for}`) || el.closest(\".n-form__condition\").nextElementSibling;\n var attribute = \"disabled\";\n if (el.checked) {\n fieldset.removeAttribute(attribute);\n } else {\n fieldset.setAttribute(attribute, \"disabled\");\n }\n }\n /* Form – end */\n let init = (host) => {\n host.querySelectorAll(\"form.n-form\").forEach((el, i) => {\n el.onsubmit = el.onsubmit || submitForm;\n el.querySelectorAll(\"input[type=file]\").forEach((el, i) => {\n el.onchange = updateFileInput;\n el.parentNode.querySelector(\"span\").insertAdjacentHTML(\"afterbegin\", \"\");\n });\n // \tConditional form fieldsets\n el.querySelectorAll(\".n-form__check.n-form__condition input\").forEach((el, i) => {\n el.onchange = toggleConditionalFieldset;\n });\n // Auto textarea height.\n el.querySelectorAll(\"textarea[data-auto]\").forEach((el) => {\n el.onkeyup = (e) => {\n el = e.target;\n while (el.rows > 1 && el.scrollHeight < el.offsetHeight) {\n el.rows--;\n }\n while (el.scrollHeight > el.offsetHeight) {\n if (el.rows > 20) {\n break;\n }\n el.rows++;\n }\n el.rows++;\n };\n });\n el.dataset.ready = true;\n });\n };\n nui.registerComponent(\"form\", init);\n})();\n// Component Form – end\n//# sourceMappingURL=form.js.map\n\n// Component Button – start\n(function() {\n\tlet init = (host) => {\n\t\tconst ripple = e => {\n\t\t\tlet el = e.target.closest('.n-btn--ripple');\n\t\t\tlet x = e.offsetX || el.clientWidth / 2;\n\t\t\tlet y = e.offsetY || el.clientHeight / 2;\n\t\t\tlet max_x = Math.max(x, el.clientWidth - x);\n\t\t\tlet max_y = Math.max(y, el.clientHeight - y);\n\t\t\tlet radius = Math.sqrt(max_x * max_x + max_y * max_y);\n\t\t\tel.style.transitionProperty = 'none';\n\t\t\tel.style.setProperty('--ripple-x', `${x}px`);\n\t\t\tel.style.setProperty('--ripple-y', `${y}px`);\n\t\t\tel.style.setProperty('--ripple-radius', `0px`);\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tel.style.transitionProperty = '';\n\t\t\t\tel.style.setProperty('--ripple-radius', `${radius}px`);\n\t\t\t});\n\t\t};\n\t\tdocument.querySelectorAll('.n-btn--ripple:not([data-ready])').forEach(el => {\n\t\t\tel.addEventListener('pointerdown', ripple);\n\t\t\tel.addEventListener('keydown', ripple);\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\tnui.registerComponent(\"button\", init);\n})();\n// Component Button – end\n//# sourceMappingURL=button.js.map\n\n// import './node_modules/n-modal/n-modal.js';\n(function() {\n const ceilingWidth = (el) => Math.ceil(parseFloat(getComputedStyle(el).width));\n const ceilingHeight = (el) => Math.ceil(parseFloat(getComputedStyle(el).height));\n const focusableElements = 'button, [href], input, select, textarea, details, summary, video, [tabindex]:not([tabindex=\"-1\"])';\n // const _focusableElementsString = 'a[href],area[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),details,summary,iframe,object,embed,[contenteditable]';\n function isElementInViewport(el) {\n let rect = el.getBoundingClientRect();\n return (rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.offsetHeight) /* or $(window).height() */ && rect.right <= (window.innerWidth || document.documentElement.offsetWidth) /* or $(window).width() */ );\n }\n const default_duration = 500;\n const default_interval = 4000;\n const isChrome = !!navigator.userAgent.match(\"Chrome\");\n const isSafari = navigator.userAgent.match(/Safari/) && !isChrome;\n const isEndless = el => el.children.length > 2 && el.parentElement.classList.contains(\"n-carousel--endless\");\n const isFullScreen = () => { return !!(document.webkitFullscreenElement || document.fullscreenElement) };\n const isModal = el => { return el.closest(\".n-carousel\").classList.contains('n-carousel--overlay') };\n const isVertical = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--vertical\");\n const isAuto = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--auto-height\");\n const indexControls = index => {\n let controls_by_class = index.querySelectorAll('.n-carousel__control');\n return (controls_by_class.length > 0) ? controls_by_class : index.querySelectorAll('a, button');\n };\n const nextSlideHeight = (el) => {\n el.style.height = 0;\n el.style.overflow = \"auto\";\n const height = el.scrollHeight; // Ceiling when subpixel\n el.style.height = el.style.overflow = \"\";\n return height;\n };\n // const scrollableAncestor = (el) => {\n // \tel = el.parentNode;\n // \twhile (el) {\n // \t\tif (el.scrollHeight > el.offsetHeight || el.scrollWidth > el.offsetWidth) {\n // \t\t\treturn el;\n // \t\t} else {\n // \t\t\tel = el.parentNode;\n // \t\t}\n // \t}\n // \treturn false;\n // };\n const getIndex = (el) => 1 * (isVertical(el) ? el.dataset.y : el.dataset.x);\n const getIndexReal = (el) => {\n let active_slide = el.querySelector(':scope > [aria-current]');\n if (active_slide) {\n return [...el.children].indexOf(active_slide);\n } else {\n let hash_slide_index = (!!location.hash) ? [...el.children].indexOf(el.querySelector(`:scope > ${location.hash}`)) : 0;\n return (hash_slide_index > -1) ? hash_slide_index : 0;\n }\n // return active_slide ? [...el.children].indexOf(active_slide) : (el.querySelector(`:scope > ${location.hash}`) || 0);\n };\n const scrolledAncestor = (el) => {\n el = el.parentNode;\n while (el) {\n if (el.scrollTop !== 0 || el.scrollLeft !== 0) {\n return el;\n } else {\n el = el.parentNode;\n }\n }\n return false;\n };\n const scrolledAncestors = (el) => {\n let arr = [];\n let a = scrolledAncestor(el);\n while (a && typeof a.scrollLeft !== \"undefined\" && (a.scrollTop !== 0 || a.scrollLeft !== 0)) {\n arr.push(a);\n a = scrolledAncestor(a);\n }\n return arr;\n };\n const isRTL = (el) => getComputedStyle(el).direction === \"rtl\";\n const toggleFullScreen = (el) => {\n el = el.closest(\".n-carousel\");\n let carousel = el.querySelector(\":scope > .n-carousel__content\");\n const restoreScroll = () => {\n if (!isFullScreen()) {\n el.nuiAncestors.forEach((el) => {\n window.requestAnimationFrame(() => {\n el.scrollLeft = el.nuiScrollX;\n el.scrollTop = el.nuiScrollY;\n delete el.nuiScrollX;\n delete el.nuiScrollY;\n });\n });\n delete el.nuiAncestors;\n el.removeEventListener(\"webkitfullscreenchange\", restoreScroll);\n }\n };\n carousel.togglingFullScreen = true;\n if (isFullScreen()) {\n // Exit full screen\n !!document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen();\n if (isSafari) {\n // When exit finishes, update the carousel because on Safari 14, position is wrong or the slide is invisible\n setTimeout(() => {\n el.style.display = \"none\";\n window.requestAnimationFrame(() => {\n el.style.display = \"\";\n });\n }, 0);\n }\n if (isVertical(el) && isAuto(el)) {\n let updateExitFullScreen = e => {\n setTimeout(() => {\n let carousel = el.querySelector(\":scope > .n-carousel__content\");\n // console.log(carousel);\n // el.style.removeProperty('--height');\n // carousel.style.height = '';\n slideTo(carousel, parseInt(carousel.dataset.y));\n }, 100);\n el.removeEventListener('fullscreenchange', updateExitFullScreen);\n };\n el.addEventListener('fullscreenchange', updateExitFullScreen);\n }\n } else {\n // Enter full screen\n if (isSafari) {\n el.nuiAncestors = scrolledAncestors(el);\n el.nuiAncestors.forEach((el) => {\n el.nuiScrollX = el.scrollLeft;\n el.nuiScrollY = el.scrollTop;\n });\n el.addEventListener(\"webkitfullscreenchange\", restoreScroll, false);\n }!!el.requestFullscreen ? el.requestFullscreen() : el.webkitRequestFullscreen();\n }\n };\n const scrollStartX = (el) => el.scrollLeft; // Get correct start scroll position for LTR and RTL\n const scrollTo = (el, x, y) => {\n el.scrollTo(isRTL(el) ? -1 * Math.abs(x) : x, y); // Scroll to correct scroll position for LTR and RTL\n };\n const getScroll = (el) => (el === window ? {\n x: el.scrollX,\n y: el.scrollY\n } : {\n x: scrollStartX(el),\n y: el.scrollTop\n });\n let firstFocusableElement = null;\n let focusableContent = null;\n let lastFocusableElement = null;\n const focusHandler = e => {\n let isTabPressed = e.key === \"Tab\" || e.keyCode === 9;\n if (!isTabPressed) {\n return;\n }\n if (e.shiftKey) {\n // if shift key pressed for shift + tab combination\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus(); // add focus for the last focusable element\n e.preventDefault();\n }\n } else {\n // if tab key is pressed\n if (document.activeElement === lastFocusableElement) {\n // if focused has reached to last focusable element then focus first focusable element after pressing tab\n firstFocusableElement.focus(); // add focus for the first focusable element\n e.preventDefault();\n }\n }\n };\n const trapFocus = (modal, off = false) => {\n // FROM: https://uxdesign.cc/how-to-trap-focus-inside-modal-to-make-it-ada-compliant-6a50f9a70700\n // add all the elements inside modal which you want to make focusable\n firstFocusableElement = modal.querySelectorAll(focusableElements)[0]; // get first element to be focused inside modal\n focusableContent = modal.querySelectorAll(focusableElements);\n lastFocusableElement = focusableContent[focusableContent.length - 1]; // get last element to be focused inside modal\n if (off) {\n modal.removeEventListener(\"keydown\", focusHandler);\n } else {\n modal.addEventListener(\"keydown\", focusHandler);\n firstFocusableElement.focus();\n }\n };\n const inOutSine = (n) => (1 - Math.cos(Math.PI * n)) / 2;\n const paddingX = (el) => parseInt(getComputedStyle(el).paddingInlineStart) * 2;\n const paddingY = (el) => parseInt(getComputedStyle(el).paddingBlockStart) * 2;\n const getControl = (carousel, control) => {\n let detached_control = document.querySelector(`${control}[data-for=\"${carousel.id}\"]`);\n if (detached_control) {\n return detached_control;\n }\n for (let el of carousel.children) {\n if (el.matches(control)) {\n return el;\n }\n if (!el.matches(\".n-carousel__content\") && el.querySelector(control)) {\n return el.querySelector(control);\n }\n }\n };\n const closestCarousel = (el) => {\n var related_by_id = el.closest('[class*=\"n-carousel\"]').dataset.for;\n if (!!related_by_id) {\n return document.getElementById(related_by_id).querySelector(\".n-carousel__content\");\n } else {\n return el.closest(\".n-carousel\").querySelector(\".n-carousel__content\");\n }\n };\n const scrollAnimate = (el, distanceX, distanceY, new_height, old_height = false) => new Promise((resolve, reject) => {\n // Thanks https://stackoverflow.com/posts/46604409/revisions\n let wrapper = el.closest(\".n-carousel\");\n if (!!wrapper.nextSlideInstant || !wrapper.dataset.ready || window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches || wrapper.matches(\".n-carousel--instant\")) {\n scrollTo(el, getScroll(el).x + distanceX, getScroll(el).y + distanceY);\n el.style.height = `${new_height}px`;\n delete wrapper.nextSlideInstant;\n updateCarousel(el);\n resolve(el);\n return;\n }\n observersOff(el);\n let scroll_changing = true;\n if (distanceX === 0 && distanceY === 0) {\n scroll_changing = false;\n }\n if (!!new_height) {\n el.style.height = `${old_height}px`;\n if (isVertical(el) && isAuto(el)) {\n el.style.setProperty('--subpixel-compensation', 0);\n }\n } else {\n if (!isVertical(el)) {\n el.style.height = \"\";\n }\n }\n var startx = getScroll(el).x;\n var starty = getScroll(el).y;\n var starth = parseInt(el.style.height);\n var distanceH = new_height - starth;\n var duration = parseFloat(el.parentNode.dataset.duration) * 1000 || default_duration;\n var start = null;\n let startAnim = (timeStamp) => {\n start = timeStamp;\n draw(timeStamp);\n };\n let draw = (now) => {\n if (now - start >= duration) {\n window.requestAnimationFrame(() => {\n scrollTo(el, startx + distanceX, starty + distanceY);\n if (new_height) {\n el.style.height = `${new_height}px`;\n }\n updateCarousel(el);\n });\n resolve(el);\n return;\n }\n var p = (now - start) / duration;\n var val = inOutSine(p);\n var x = startx + distanceX * val;\n var y = starty + distanceY * val;\n if (scroll_changing) {\n scrollTo(el, x, y);\n }\n if (new_height) {\n window.requestAnimationFrame(() => {\n el.style.height = `${starth + distanceH * val}px`;\n }); // Timeout because Safari can't do scroll and height at once\n }\n requestAnimationFrame(draw);\n };\n requestAnimationFrame(startAnim);\n });\n const updateCarousel = (el, forced = false) => { // Forced means never skip unnecessary update\n // Called on init and scroll end\n observersOff(el);\n let saved_x = el.dataset.x; // On displaced slides and no change\n let saved_y = el.dataset.y;\n if (!el.togglingFullScreen) {\n if (el.openingModal) {\n delete el.openingModal;\n scrollTo(el, el.offsetWidth * el.dataset.x, el.offsetHeight * el.dataset.y);\n } else {\n el.dataset.x = Math.abs(Math.round(scrollStartX(el) / ceilingWidth(el.firstElementChild)));\n el.dataset.y = Math.abs(Math.round(el.scrollTop / ceilingHeight(el.firstElementChild)));\n }\n } else {\n delete el.togglingFullScreen;\n }\n // When inline\n if (el.dataset.x === \"NaN\") {\n el.dataset.x = 0;\n }\n if (el.dataset.y === \"NaN\") {\n el.dataset.y = 0;\n }\n let active_index = getIndex(el);\n if (active_index >= el.children.length) {\n active_index = el.children.length - 1;\n }\n // console.log('update at', active_index, el.dataset.x, el.dataset.y);\n let old_active_slide = el.querySelector(\":scope > [aria-current]\");\n let wrapper = el.parentElement;\n if (!wrapper.classList.contains(\"n-carousel--auto-height\")) {\n // Dynamic change from auto height to normal\n el.style.height = \"\";\n }\n let active_slide = el.children[active_index];\n if (old_active_slide && !forced) {\n if (active_slide === old_active_slide) {\n // Scroll snapping back to the same slide. Nothing to do here.\n el.dataset.x = saved_x;\n el.dataset.y = saved_y;\n observersOn(el);\n return;\n }\n old_active_slide.removeAttribute('aria-current');\n old_active_slide.style.height = \"\";\n if (!isVertical(el)) {\n el.style.height = \"\";\n }\n }\n var active_index_logical = active_index;\n // active_slide.ariaCurrent = true; // Unsupported by FF\n active_slide.setAttribute('aria-current', true);\n active_index_logical = getIndexReal(el);\n el.dataset.x = el.dataset.y = active_index_logical;\n // Endless carousel\n const restoreDisplacedSlides = el => {\n el.querySelectorAll(\":scope > [data-first]\").forEach(el2 => {\n el.append(el.firstElementChild);\n delete el2.dataset.first;\n active_index--;\n });\n el.querySelectorAll(\":scope > [data-last]\").forEach(el2 => {\n el.prepend(el.lastElementChild);\n delete el2.dataset.last;\n active_index++;\n });\n };\n wrapper.dataset.sliding = true;\n if (isEndless(el)) {\n if (active_index === 0) {\n if (!active_slide.dataset.first) {\n // Move the last one to the front as [data-first]\n if (el.lastElementChild.dataset.last) {\n delete el.lastElementChild.dataset.last;\n active_index_logical = 1;\n } else {\n el.lastElementChild.dataset.first = true;\n }\n el.prepend(el.lastElementChild);\n active_index = 1;\n } else {\n // Landed on fake first slide. Move it to the back, remove its [data-first] and move the first one to the back as [data-last]\n delete el.firstElementChild.dataset.first;\n el.append(el.firstElementChild);\n el.firstElementChild.dataset.last = true;\n el.append(el.firstElementChild);\n active_index_logical = el.children.length - 1;\n active_index = el.children.length - 2;\n }\n } else {\n if (active_index === el.children.length - 1) {\n if (!active_slide.dataset.last) {\n // Move the first one to the back as [data-last]\n if (el.firstElementChild.dataset.first) {\n delete el.firstElementChild.dataset.first;\n active_index_logical = el.children.length - 2;\n } else {\n el.firstElementChild.dataset.last = true;\n }\n el.append(el.firstElementChild);\n active_index = el.children.length - 2;\n } else {\n // Landed on fake last slide. Move it to the front, remove its [data-last] and move the last one to the front as [data-first]\n delete el.lastElementChild.dataset.last;\n el.prepend(el.lastElementChild);\n el.lastElementChild.dataset.first = true;\n el.prepend(el.lastElementChild);\n active_index_logical = 0;\n active_index = 1;\n }\n } else {\n // Middle slide\n restoreDisplacedSlides(el);\n active_index_logical = Math.max(0, [...el.children].indexOf(el.querySelector(\":scope > [aria-current]\"))); // Fixes position when sliding to/from first slide; max because of FF returning -1\n }\n }\n window.requestAnimationFrame(() => {\n el.dataset.x = el.dataset.y = active_index_logical;\n let scroll_x = ceilingWidth(el.firstElementChild) * active_index;\n let scroll_y = ceilingHeight(el.firstElementChild) * active_index;\n // console.log('updateCarousel() scrolling at', scroll_x);\n el.scroll_x = scroll_x;\n el.scroll_y = scroll_y;\n scrollTo(el, scroll_x, scroll_y); // First element size, because when Peeking, it differs from carousel size\n delete el.scroll_x;\n delete el.scroll_y;\n });\n } else { // Check and restore dynamically disabled endless option\n restoreDisplacedSlides(el);\n active_index_logical = Math.max(0, [...el.children].indexOf(el.querySelector(\":scope > [aria-current]\"))); // Fixes position when sliding to/from first slide; max because of FF returning -1\n }\n active_slide.style.height = \"\";\n wrapper.style.setProperty(\"--height\", `${el.parentNode.classList.contains(\"n-carousel--auto-height\") ? nextSlideHeight(active_slide) : active_slide.scrollHeight}px`);\n window.requestAnimationFrame(() => {\n if (!el.parentNode.dataset.ready && isAuto(el) && isVertical(el)) {\n el.style.height = `${parseFloat(getComputedStyle(el).height) - paddingY(el)}px`;\n }\n });\n // Sliding to a slide with a hash? Update the URI\n if (getComputedStyle(el).visibility !== 'hidden') {\n let previously_active = document.activeElement;\n let hash = active_slide.id;\n if (!!el.parentNode.dataset.ready && !!hash && !el.parentNode.closest('.n-carousel__content')) { // Hash works only with top-level carousel\n location.hash = `#${hash}`;\n }\n if (!!el.parentNode.dataset.ready && !hash && !el.parentNode.closest('.n-carousel__content') && window.nCarouselNav) { // Hash works only with top-level carousel\n location.hash = '';\n }\n previously_active.focus();\n }\n // Fix buttons\n let index = getControl(el.closest(\".n-carousel\"), \".n-carousel__index\");\n if (!!index) {\n index.querySelector(\"[aria-current]\")?.removeAttribute('aria-current');\n // index.children[active_index_logical].ariaCurrent = true; // Unsupported by FF\n indexControls(index)[active_index_logical].setAttribute('aria-current', true);\n }\n // Disable focus on children of non-active slides\n // Active slides of nested carousels should also have disabled focus\n [...el.children].forEach(el => { // Native \"inert\" attribute to replace the below \"focusDisabled\" loops from June 2022. \n el.inert = (el === active_slide) ? false : true;\n if (isSafari && el.querySelector('.n-carousel:-webkit-full-screen')) {\n // Safari full screen bug: parent scroll resets to 0, first slide becomes active and the full screen child lightbox is inside an inert parent\n let current = el.parentNode.querySelector(':scope > [aria-current=\"true\"]');\n current.inert = true;\n current.removeAttribute('aria-current');\n el.inert = false;\n el.setAttribute('aria-current', true);\n }\n });\n // Obsoleted by inert – start\n // [...el.children].forEach((slide) => {\n // if (slide !== active_slide) {\n // slide.setAttribute('aria-hidden', true);\n // slide.querySelectorAll(focusableElements).forEach((el2) => {\n // if (el2.closest(\".n-carousel__content > :not([aria-current])\")) {\n // if (el2.getAttribute(\"tabindex\") && !el2.dataset.focusDisabled) {\n // el2.dataset.oldTabIndex = el2.tabIndex;\n // }\n // el2.dataset.focusDisabled = true;\n // el2.tabIndex = -1;\n // }\n // });\n // }\n // });\n // active_slide.removeAttribute('aria-hidden');\n // active_slide.querySelectorAll(\"[data-focus-disabled]\").forEach((el2) => {\n // if (!el2.closest(\".n-carousel__content > :not([aria-current])\")) {\n // el2.removeAttribute(\"tabindex\");\n // delete el2.dataset.focusDisabled;\n // if (!!el2.dataset.oldTabIndex) {\n // el2.tabIndex = el2.dataset.oldTabIndex;\n // delete el2.dataset.oldTabIndex;\n // }\n // }\n // });\n // Obsoleted by inert – end\n if (/--vertical.*--auto-height/.test(wrapper.classList)) { // Undo jump to wrong slide when sliding to the last one\n el.scrollTop = el.offsetHeight * active_index_logical;\n }\n window.requestAnimationFrame(() => {\n observersOn(el);\n });\n };\n const slide = (el, offsetX = 0, offsetY = 0, index) => {\n clearTimeout(el.nCarouselTimeout);\n observersOff(el);\n if (!el.parentNode.dataset.sliding) {\n el.parentNode.dataset.sliding = true;\n let old_height = el.children[getIndexReal(el)].offsetHeight;\n let new_height = old_height;\n if (isAuto(el)) {\n let old_scroll_left = scrollStartX(el);\n let old_scroll_top = el.scrollTop;\n let slide = el.children[index];\n if (isVertical(el)) {\n slide.style.height = 'auto';\n let computed_max_height = getComputedStyle(el).maxHeight;\n let max_height = computed_max_height.match(/px/) ? Math.ceil(parseFloat(computed_max_height)) : 99999;\n // new_height = Math.min(slide.scrollHeight, max_height);\n new_height = Math.min(Math.ceil(parseFloat(getComputedStyle(slide).height)), max_height);\n // new_height = slide.scrollHeight;\n slide.style.height = '';\n } else {\n new_height = nextSlideHeight(slide);\n let old_height = getIndexReal(el) === index ? new_height : nextSlideHeight(el.children[getIndexReal(el)]);\n el.parentNode.style.setProperty(\"--height\", `${old_height}px`);\n }\n scrollTo(el, old_scroll_left + paddingX(el) / 2, old_scroll_top); // iPad bug\n scrollTo(el, old_scroll_left, old_scroll_top);\n }\n if (isVertical(el)) {\n if ((isModal(el) || isFullScreen()) && isAuto(el)) {\n old_height = new_height = el.offsetHeight;\n }\n offsetY = offsetY - index * old_height + index * new_height;\n }\n // console.log(index, offsetX, offsetY);\n window.requestAnimationFrame(() => {\n if (!el.parentNode.dataset.duration && !isAuto(el)) { // Unspecified duration, using native smooth scroll\n delete el.parentNode.dataset.sliding;\n el.dataset.next = index;\n el.scrollTo({\n top: el.scrollTop + offsetY,\n left: el.scrollLeft + offsetX,\n behavior: window.matchMedia('(prefers-reduced-motion: reduce)').matches ? \"auto\" : \"smooth\"\n });\n } else {\n scrollAnimate(el, offsetX, offsetY, new_height === old_height ? false : new_height, old_height); // Vertical version will need ceiling value\n }\n });\n }\n };\n const slideNext = (el) => {\n let index = getIndexReal(el);\n slideTo(el, index >= el.children.length - 1 ? 0 : index + 1);\n };\n const slidePrevious = (el) => {\n let index = getIndexReal(el);\n slideTo(el, index === 0 ? el.children.length - 1 : index - 1);\n };\n const slideTo = (el, index) => {\n if (isVertical(el)) {\n slide(el, 0, ceilingHeight(el.children[index]) * index - el.scrollTop, index);\n } else {\n let width = Math.ceil(parseFloat(getComputedStyle(el.children[index]).width));\n let new_offset = isRTL(el) ? Math.abs(scrollStartX(el)) - width * index : width * index - scrollStartX(el);\n slide(el, new_offset, 0, index);\n }\n };\n const carouselKeys = (e) => {\n // console.log('keydown', e);\n return;\n };\n const slidePreviousEvent = (e) => slidePrevious(closestCarousel(e.target.closest('[class*=\"n-carousel\"]')));\n const slideNextEvent = (e) => slideNext(closestCarousel(e.target.closest('[class*=\"n-carousel\"]')));\n const slideIndexEvent = (e) => {\n let el = e.target.closest(\"a, button\");\n if (el && !(el.href && (e.ctrlKey || e.metaKey))) {\n const wrapper = document.querySelector(`.n-carousel#${el.parentNode.dataset.for}`) || el.closest(\".n-carousel\");\n const carousel = wrapper.querySelector(\":scope > .n-carousel__content\");\n let new_index = [...indexControls(el.parentNode)].indexOf(el);\n if (isEndless(carousel)) {\n var old_index = getIndex(carousel);\n if (old_index === 0) {\n if (new_index === carousel.children.length - 1) {\n new_index = 0;\n } else {\n new_index++;\n }\n }\n if (old_index === carousel.children.length - 1) {\n if (new_index === 0) {\n new_index = carousel.children.length - 1;\n } else {\n new_index--;\n }\n }\n }\n if (wrapper.classList.contains(\"n-carousel--inline\") && !isModal(carousel)) { // Opening an inline carousel\n wrapper.nextSlideInstant = true;\n // wrapper.classList.add(\"n-carousel--overlay\"); // Should trigger mutation and auto update?\n openModal(carousel);\n // Set new x, y\n window.requestAnimationFrame(() => {\n carousel.dataset.x = carousel.dataset.y = new_index;\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n document.body.dataset.frozen = document.body.scrollTop;\n updateCarousel(carousel);\n });\n } else {\n window.requestAnimationFrame(() => {\n slideTo(carousel, new_index);\n });\n }\n return false;\n }\n };\n const closeModal = (el) => {\n if (isFullScreen()) {\n !!document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen();\n }\n let carousel = closestCarousel(el);\n if (carousel) {\n carousel.closest(\".n-carousel\").classList.remove(\"n-carousel--overlay\");\n trapFocus(carousel.closest(\".n-carousel\"), true); // Disable focus trap\n delete document.body.dataset.frozen;\n }\n };\n const openModal = (el) => {\n let carousel = closestCarousel(el);\n if (carousel) {\n carousel.openingModal = true;\n carousel.closest(\".n-carousel\").classList.add(\"n-carousel--overlay\");\n trapFocus(carousel.closest(\".n-carousel\"));\n }\n };\n const autoHeightObserver = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let slide = e.target.querySelector(\":scope > [aria-current]\");\n let el = slide.closest(\".n-carousel__content\");\n if (!el.parentElement.dataset.sliding) {\n // console.log(e.target);\n el.parentNode.style.removeProperty('--height');\n if (isVertical(el)) {\n slide.style.height = 'auto';\n el.style.height = `${slide.scrollHeight}px`;\n slide.style.height = '';\n updateCarousel(el);\n } else {\n el.style.height = '';\n el.style.height = `${slide.scrollHeight}px`;\n updateCarousel(el, true);\n }\n }\n });\n });\n });\n const updateSubpixels = (el) => {\n if (!el.parentNode.dataset.sliding) {\n // Round down the padding, because sub pixel padding + scrolling is a problem\n let carousel = el;\n carousel.style.padding = ''; // Subpixel peeking fix\n carousel.style.removeProperty(\"--peek-int\");\n carousel.style.padding = isVertical(carousel) ? `${parseInt(getComputedStyle(carousel).paddingBlockStart)}px 0` : `0 ${parseInt(getComputedStyle(carousel).paddingInlineStart)}px`;\n if (carousel.style.padding === '0px') {\n carousel.style.padding = '';\n } else {\n // For Safari, which doesn't support inline end padding in a scrollable container\n carousel.style.setProperty(\"--peek-int\", isVertical(carousel) ? `${parseInt(getComputedStyle(carousel).paddingBlockStart)}px 0 0 0` : `0 ${parseInt(getComputedStyle(carousel).paddingInlineStart)}px 0 0`);\n }\n window.requestAnimationFrame(() => {\n if (isVertical(el)) {\n carousel.style.setProperty(\"--subpixel-compensation\", Math.ceil(carousel.getBoundingClientRect().height) - carousel.getBoundingClientRect().height);\n } else {\n carousel.style.setProperty(\"--subpixel-compensation\", Math.ceil(carousel.getBoundingClientRect().width) - carousel.getBoundingClientRect().width);\n }\n let offset = getIndexReal(carousel); // Real offset including displaced first/last slides\n scrollTo(carousel, offset * ceilingWidth(carousel.firstElementChild), offset * ceilingHeight(carousel.firstElementChild));\n });\n }\n };\n const observersOn = (el) => {\n window.requestAnimationFrame(() => {\n // setTimeout(() => {\n if (el.scroll_x && el.scroll_y) {\n scrollTo(el, el.scroll_x, el.scroll_y);\n }\n delete el.parentNode.dataset.sliding;\n // }, 0);\n if (el.parentNode.matches(\".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height\")) {\n height_minus_index.observe(el.parentNode);\n } else {\n height_minus_index.unobserve(el.parentNode);\n }\n subpixel_observer.observe(el);\n mutation_observer.observe(el.parentNode, {\n attributes: true,\n attributeFilter: [\"class\"],\n });\n });\n };\n const observersOff = (el) => {\n height_minus_index.unobserve(el.parentNode);\n subpixel_observer.unobserve(el);\n el.observerStarted = true;\n };\n const updateObserver = (el) => {\n observersOff(el);\n const doUpdate = el => {\n updateSubpixels(el);\n window.requestAnimationFrame(() => {\n let current_height = el.querySelector(\":scope > [aria-current]\").scrollHeight + \"px\";\n let previous_height = getComputedStyle(el).getPropertyValue(\"--height\");\n if (current_height !== previous_height) {\n el.parentNode.style.setProperty(\"--height\", current_height);\n }\n observersOn(el);\n });\n };\n doUpdate(el);\n el.querySelectorAll('.n-carousel__content').forEach(el => doUpdate(el));\n };\n const subpixel_observer = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let el = e.target;\n if (!!el.observerStarted) {\n el.observerStarted = false;\n return;\n }\n updateObserver(el);\n });\n });\n });\n const mutation_observer = new MutationObserver((mutations) => {\n for (let mutation of mutations) {\n if (mutation.target && !mutation.target.nextSlideInstant) {\n let carousel = mutation.target.querySelector(\":scope > .n-carousel__content\");\n updateObserver(carousel);\n updateCarousel(carousel, true);\n }\n }\n });\n const setIndexWidth = (el) => {\n let index = el.querySelector(\":scope > .n-carousel__index\");\n if (index && !el.dataset.sliding) {\n el.style.removeProperty(\"--height-minus-index\");\n index.style.position = \"absolute\";\n el.style.setProperty(\"--height-minus-index\", `${el.offsetHeight}px`);\n el.style.setProperty(\"--index-width\", getComputedStyle(el.querySelector(\":scope > .n-carousel__index\")).width);\n index.style.position = \"\";\n }\n };\n const height_minus_index = new ResizeObserver((entries) => {\n // Limit outside index height to carousel height\n window.requestAnimationFrame(() => {\n // Observing the carousel wrapper\n entries.forEach((e) => {\n let el = e.target;\n setIndexWidth(el);\n });\n });\n });\n const init = (host = document) => {\n host.querySelectorAll(\".n-carousel:not([data-ready])\").forEach((el) => {\n const previous = getControl(el, \".n-carousel__previous\");\n const next = getControl(el, \".n-carousel__next\");\n const index = getControl(el, \".n-carousel__index\");\n const close_modal = getControl(el, \".n-carousel__close\");\n const full_screen = getControl(el, \".n-carousel__full-screen\");\n const content = el.querySelector(\":scope > .n-carousel__content\");\n if (!content) {\n return;\n }\n if (!!previous) {\n previous.onclick = slidePreviousEvent;\n }\n if (!!next) {\n next.onclick = slideNextEvent;\n }\n if (!!index) {\n index.onclick = slideIndexEvent;\n }\n if (!!close_modal) {\n close_modal.onclick = e => {\n if (e.target.closest('.n-carousel').classList.contains('n-carousel--overlay')) {\n closeModal(e.target);\n } else {\n openModal(e.target);\n }\n };\n }\n if (!!full_screen) {\n full_screen.onclick = (e) => {\n let carousel = e.target.closest(\".n-carousel\").querySelector(\":scope > .n-carousel__content\");\n carousel.dataset.xx = carousel.dataset.x;\n carousel.dataset.yy = carousel.dataset.y;\n toggleFullScreen(e.target);\n };\n const fullScreenEvent = (e) => {\n let carousel = e.target.querySelector(\":scope > .n-carousel__content\");\n window.requestAnimationFrame(() => {\n updateCarousel(carousel);\n carousel.dataset.x = carousel.dataset.xx;\n carousel.dataset.y = carousel.dataset.yy;\n delete carousel.dataset.xx;\n delete carousel.dataset.yy;\n if (carousel.dataset.x !== \"undefined\" && carousel.dataset.y !== \"undefined\") {\n scrollTo(carousel, carousel.dataset.x * ceilingWidth(carousel.children[carousel.dataset.x]), carousel.dataset.y * ceilingHeight(carousel.children[carousel.dataset.y]));\n }\n });\n };\n if (isSafari) {\n el.onwebkitfullscreenchange = fullScreenEvent;\n } else {\n el.onfullscreenchange = fullScreenEvent;\n }\n }\n content.addEventListener(\"keydown\", carouselKeys);\n el.addEventListener(\"keyup\", (e) => {\n if (e.key === \"Escape\") {\n let el = e.target;\n if (!el.closest('.n-carousel--overlay')) {\n el = document.querySelector('.n-carousel--overlay');\n }\n if (el) {\n closeModal(el);\n }\n }\n });\n updateSubpixels(content);\n content.observerStarted = true;\n let hashed_slide = !!location.hash ? content.querySelector(\":scope > \" + location.hash) : false;\n if (hashed_slide) {\n if (el.classList.contains('n-carousel--inline')) {\n openModal(content);\n // el.classList.add('n-carousel--overlay');\n }\n let index = [...hashed_slide.parentNode.children].indexOf(hashed_slide);\n if (isVertical(content)) {\n content.dataset.y = index;\n } else {\n content.dataset.x = index;\n }\n // slideTo(content, index); // This slides to the wrong slide\n window.nCarouselNav = [content, location.hash];\n }\n if (el.matches(\".n-carousel--vertical.n-carousel--auto-height\")) {\n content.style.height = '';\n content.style.height = getComputedStyle(content).height;\n el.dataset.ready = true;\n content.scrollTop = 0; // Should be a different value if the initial active slide is other than the first one (unless updateCarousel() takes care of it)\n }\n if (el.matches(\".n-carousel--auto-height\")) {\n // Auto has a specified height which needs update on resize\n autoHeightObserver.observe(content);\n }\n window.requestAnimationFrame(() => {\n observersOn(content);\n if (el.parentNode.matches(\".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height\")) {\n setIndexWidth(el);\n }\n updateCarousel(content);\n el.dataset.ready = true;\n if (el.matches(\".n-carousel--auto-slide\")) {\n let auto_delay = (parseFloat(el.dataset.interval) * 1000 || default_interval) + (parseFloat(el.dataset.duration) * 1000 || default_duration);\n let carouselTimeout = () => {\n if (isElementInViewport(content)) {\n slideNext(content);\n }\n content.nCarouselTimeout = setTimeout(carouselTimeout, auto_delay);\n };\n content.nCarouselTimeout = setTimeout(carouselTimeout, parseFloat(el.dataset.interval) * 1000 || default_interval);\n content.addEventListener(\"pointerenter\", (e) => clearTimeout(e.target.nCarouselTimeout));\n }\n el.dataset.platform = navigator.platform; // iPhone doesn't support full screen, Windows scroll works differently\n });\n content.nCarouselUpdate = updateCarousel;\n const targets = content.querySelectorAll(':scope > *');\n const inView = target => {\n const interSecObs = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n let slide = entry.target;\n let carousel = slide.parentNode;\n if (entry.isIntersecting && !carousel.parentNode.dataset.sliding && getComputedStyle(carousel).visibility !== 'hidden') {\n if (carousel.dataset.next && parseInt(carousel.dataset.next) !== [...carousel.children].indexOf(slide)) {\n return;\n }\n delete carousel.dataset.next;\n observersOff(el);\n carousel.scrollLeft;\n carousel.scrollTop;\n let interval = 10; // Get rid of this magic number by timeout comparison with previous scroll offset\n let timeout_function = () => {\n // console.log(entry, entry.target, 'is intersecting at', entry.target.parentElement.scrollLeft, entry.target.parentElement.scrollTop);\n // if (Math.abs(x - carousel.scrollLeft) >= 1) {\n // console.log('intersection continue', x, carousel.scrollLeft, y, carousel.scrollLeft);\n // clearTimeout(timeout);\n // timeout = setTimeout(timeout_function, interval);\n // return;\n // }\n // console.log('intersection ', x, carousel.scrollLeft, y, carousel.scrollLeft);\n let index = [...carousel.children].indexOf(slide);\n if (isAuto(carousel)) {\n let old_height = parseFloat(getComputedStyle(carousel).height);\n let new_height;\n let offset_y = 0;\n let lastScrollX = carousel.scrollLeft;\n let lastScrollY = carousel.scrollTop;\n if (isVertical(carousel)) {\n let scroll_offset = carousel.scrollTop;\n slide.style.height = 'auto';\n let computed_max_height = getComputedStyle(el).maxHeight;\n let max_height = computed_max_height.match(/px/) ? Math.ceil(parseFloat(computed_max_height)) : 99999;\n // new_height = Math.min(slide.scrollHeight, max_height);\n new_height = Math.min(Math.ceil(parseFloat(getComputedStyle(slide).height)), max_height);\n // new_height = slide.scrollHeight;\n if (isModal(carousel) || isFullScreen()) {\n old_height = new_height = carousel.offsetHeight;\n }\n slide.style.height = '';\n carousel.scrollTop = scroll_offset;\n offset_y = index * new_height - carousel.scrollTop;\n } else {\n new_height = nextSlideHeight(slide); // ?\n // console.log(lastScrollX);\n if (!!lastScrollX) { // Because RTL auto height landing on first slide creates an infinite intersection observer loop\n scrollTo(carousel, lastScrollX, lastScrollY);\n }\n }\n if (old_height === new_height) {\n new_height = false;\n }\n carousel.parentNode.dataset.sliding = true;\n // interSecObs.unobserve(slide);\n window.requestAnimationFrame(() => {\n scrollAnimate(carousel, 0, offset_y, new_height, old_height).then(() => {});\n });\n } else {\n // console.log(carousel);\n window.requestAnimationFrame(() => {\n updateCarousel(carousel);\n });\n }\n // updateCarousel(entry.target.parentNode);\n };\n setTimeout(timeout_function, interval);\n }\n });\n }, { threshold: .996, root: target.parentElement }); // .99 works for all, including vertical auto height\n interSecObs.observe(target);\n // console.log('intersection observing ', target)\n };\n targets.forEach(inView);\n if (el.matches('.n-carousel--lightbox')) {\n let loaded = img => {\n img.closest('picture').dataset.loaded = true;\n };\n content.querySelectorAll(\"picture img\").forEach(el => {\n if (el.complete) {\n loaded(el);\n } else {\n el.addEventListener(\"load\", e => {\n loaded(e.target);\n });\n }\n });\n }\n });\n };\n window.nCarouselInit = init;\n window.addEventListener('popstate', e => { // Hash navigation support\n // console.log(e);\n if (!!location.hash) {\n let el = document.querySelector(location.hash);\n let carousel = el?.parentNode;\n if (!!carousel && carousel.classList.contains('n-carousel__content') && !carousel.parentNode.closest('.n-carousel__content')) {\n let modal_carousel = document.querySelector('.n-carousel--overlay > .n-carousel__content');\n if (modal_carousel && modal_carousel !== carousel) {\n closeModal(modal_carousel);\n // modal_carousel.parentNode.classList.remove('n-carousel--overlay');\n }\n if (carousel.parentNode.classList.contains('n-carousel--inline')) {\n closeModal(carousel);\n // carousel.parentNode.classList.add('n-carousel--overlay');\n }\n if (isSafari) { // Safari has already scrolled and needs to rewind it scroll position in order to animate it\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n }\n slideTo(carousel, [...carousel.children].indexOf(el));\n window.nCarouselNav = [carousel, location.hash];\n }\n } else {\n if (window.nCarouselNav) { // Previously navigated to a slide\n let carousel = window.nCarouselNav[0];\n delete window.nCarouselNav;\n if (isSafari) { // Safari has already scrolled and needs to rewind it scroll position in order to animate it\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n }\n slideTo(carousel, [...carousel.children].indexOf(carousel.querySelector(':scope > :not([id])')));\n }\n }\n });\n const doInit = () => {\n (typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-carousel\", init): init();\n };\n if (document.readyState !== \"loading\") {\n doInit();\n } else {\n document.addEventListener(\"DOMContentLoaded\", doInit);\n }\n})();\n//# sourceMappingURL=n-carousel@npm.js.map\n\n// Component Accordion\n(function() {\n\tconst animate_options = el => { return { easing: \"ease-in-out\", duration: window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? (el.dataset.duration * 1000 || getComputedStyle(el).getPropertyValue('--duration') * 1000 || 200) : 0 } };\n\tconst accordionContent = el => el.querySelector(\":scope > .n-accordion__content\");\n\tconst openAccordion = (el) => {\n\t\tel = accordionContent(el);\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tel.style.height = 0;\n\t\t\tel.style.overflow = \"hidden\";\n\t\t\tlet wrapper = el.parentNode;\n\t\t\twrapper.querySelector(\":scope > .n-accordion__label\").setAttribute(\"aria-expanded\", true);\n\t\t\tel.animate([{ height: 0 }, { height: `${el.scrollHeight}px` }], animate_options(wrapper)).onfinish = () => {\n\t\t\t\tel.style.height = el.style.overflow = \"\";\n\t\t\t};\n\t\t});\n\t};\n\tconst closeAccordion = (el, callback) => {\n\t\tel = accordionContent(el);\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tel.style.overflow = \"hidden\";\n\t\t\tlet wrapper = el.parentNode;\n\t\t\tel.animate([{ height: `${el.scrollHeight}px` }, { height: 0 }], animate_options(wrapper)).onfinish = () => {\n\t\t\t\tel.style.height = el.style.overflow = \"\";\n\t\t\t\twrapper.querySelector(\":scope > .n-accordion__label\").setAttribute(\"aria-expanded\", false);\n\t\t\t\ttypeof callback !== 'function' || callback();\n\t\t\t\tif (wrapper.classList.contains('n-accordion--close-nested')) {\n\t\t\t\t\tel.querySelectorAll(\".n-accordion__label[aria-expanded='true']\").forEach(el => el.setAttribute(\"aria-expanded\", false));\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t};\n\tconst toggleAccordion = (e) => {\n\t\tlet el = e.target.closest('.n-accordion'); // el = .n-accordion\n\t\tif (!el.querySelector(\":scope > [aria-expanded='true']\")) {\n\t\t\tlet popin = el.closest(\".n-accordion__popin\");\n\t\t\tconst updateRow = () => {\n\t\t\t\tif (popin) {\n\t\t\t\t\tlet row = Math.floor(([...popin.children].indexOf(el) / getComputedStyle(popin).getPropertyValue(\"--n-popin-columns\")) * 1) + 2;\n\t\t\t\t\tpopin.style.setProperty(\"--n-popin-open-row\", row);\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (el.parentNode.matches('[role=\"group\"]') || popin) {\n\t\t\t\tlet other_accordion = el.parentNode.querySelector(\":scope > .n-accordion > [aria-expanded='true']\");\n\t\t\t\tif (other_accordion) {\n\t\t\t\t\tcloseAccordion(other_accordion.parentNode, () => { // el = .n-accordion\n\t\t\t\t\t\tupdateRow();\n\t\t\t\t\t\topenAccordion(el);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tupdateRow();\n\t\t\t\t\topenAccordion(el);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\topenAccordion(el);\n\t\t\t}\n\t\t} else {\n\t\t\tcloseAccordion(el);\n\t\t}\n\t};\n\n\tfunction init(host = document) {\n\t\thost.querySelectorAll(\".n-accordion:not([data-ready]) > .n-accordion__label\").forEach((el) => {\n\t\t\tel.addEventListener(\"click\", toggleAccordion);\n\t\t\tel.parentElement.querySelector(\":scope > input\")?.remove(); // Remove CSS-only solution\n\t\t\tel.parentNode.dataset.ready = true;\n\t\t\tel.setAttribute('aria-expanded', el.getAttribute('aria-expanded') === 'true');\n\t\t});\n\t}\n\tconst doInit = () => {\n\t\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-accordion\", init) : init();\n\t};\n\tif (document.readyState !== \"loading\") {\n\t\tdoInit();\n\t} else {\n\t\tdocument.addEventListener(\"DOMContentLoaded\", doInit);\n\t}\n})();\n//# sourceMappingURL=n-accordion@npm.js.map\n\n/* Modal – start */\n(function() {\n var scroll_timeout;\n const blockScroll = e => {\n // console.log(e);\n // if (isSafari) {\n document.querySelectorAll('dialog.n-modal[open]').forEach(el => {\n el.classList.add('n-modal--transparent');\n });\n clearTimeout(scroll_timeout);\n scroll_timeout = setTimeout(() => {\n document.querySelectorAll('dialog.n-modal[open]').forEach(el => {\n el.classList.remove('n-modal--transparent');\n });\n }, 67);\n // } else {\n // window.scrollTo(x, y);\n // }\n };\n\n function disableScrolling() {\n // window.onscroll = function() { window.scrollTo(x, y); };\n window.addEventListener('scroll', blockScroll, { 'passive': 'true' });\n }\n\n function enableScrolling() {\n // window.onscroll = function() {};\n window.removeEventListener('scroll', blockScroll);\n }\n // var previouslyFocused = previouslyFocused || false;\n function transferClass(origin, target, className) {\n let classes = typeof className === \"string\" ? new Array(className) : className;\n classes.forEach(el => {\n if (origin.classList.contains(el)) {\n target.classList.add(el);\n }\n });\n }\n const animationDuration = () => window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? (getComputedStyle(document.querySelector('.n-modal')).getPropertyValue('--duration') * 1000) : 0;\n let removeModal = e => {\n document.documentElement.classList.remove('transparent-scrollbar');\n let modal = e.target;\n modal.removeEventListener('close', removeModal);\n if (modal.existingDetachedElement) {\n // console.log(modal);\n if (!modal.existingModal) {\n let content = modal.querySelector('.n-modal__content');\n content.removeChild(content.firstElementChild);\n }\n delete modal.existingDetachedElement;\n modal.remove();\n }\n if (modal.attachedHiddenContent) {\n modal.replaceWith(modal.lastChild);\n } else {\n if (modal.dataset.existingAttachedContent) {\n modal.replaceWith(modal.lastChild.firstElementChild);\n } else {\n if (modal.existingModal) {\n delete modal.existingModal;\n delete modal.dataset.anim;\n } else {\n modal.remove();\n }\n }\n }\n };\n\n function closeModal(modal) {\n let direction_option = \"normal\";\n var animation = modal.dataset.anim; // Custom animation?\n if (!animation || animation.length < 11) {\n // '', 'null' or 'undefined'?\n animation = '[{ \"transform\": \"translate3d(0,0,0)\" }, { \"transform\": \"translate3d(0,-100vh,0)\" }]';\n } else {\n direction_option = \"reverse\";\n }\n modal.classList.add('n-modal--closing');\n setTimeout(() => { modal.classList.remove('n-modal--closing'); }, animationDuration());\n modal.animate(JSON.parse(animation), { duration: animationDuration(), direction: direction_option, easing: \"ease-in-out\" }).onfinish = () => {\n enableScrolling();\n // nuiDisableBodyScroll(false, modal); // Turn off and restore page scroll\n if (modal.existingModal) {\n if (!modal.existingDetachedElement) {\n modal.removeEventListener('close', removeModal);\n }\n // delete modal.existingModal;\n delete modal.dataset.anim;\n }\n modal.close();\n // document.querySelector(\"html\").classList.remove(\"no-scroll\");\n // window.scrollTo(modal.previousScrollX, modal.previousScrollY);\n };\n }\n\n function openModal(options) {\n // options: {content: \"\"/element, animation: \"\", trigger: element, closeSymbol: \"\", closeLabel: \"\"}\n // content is either an HTML string or an element\n // options can be solely content if it's a string or element\n // Fix Chrome flashing disappearing scrollbars on open\n document.documentElement.style.overflow = 'scroll';\n const scrollbar_width = window.innerWidth - document.documentElement.offsetWidth;\n document.documentElement.style.overflow = '';\n if (!scrollbar_width) { // Because Chrome flashes disappearing scrollbars on open (Mac)\n document.documentElement.classList.add('transparent-scrollbar');\n }\n if (typeof options === 'string' || !!options.tagName) {\n options = { content: options };\n }\n let animation = options.animation;\n let content = options.content;\n let trigger = options.trigger;\n var wrapper = {};\n var existingDetachedElement = false;\n if (content.parentNode) {\n // console.log(content.parentNode);\n if (content.parentNode.tagName === 'DIALOG' || content.parentNode.classList.contains('n-modal__content')) {\n return;\n }\n } else {\n if (content.tagName) {\n existingDetachedElement = true;\n }\n }\n const close_label = 'Close';\n const close_symbol = '╳';\n if (typeof content === 'object' && content.tagName === 'DIALOG') {\n if (!content.parentNode) { // Detached modal\n document.body.appendChild(content);\n }\n wrapper = content;\n wrapper.existingModal = true;\n let close_button = wrapper.querySelector('.n-modal__close');\n if (close_button) {\n close_button.dataset.closeSymbol = close_button.dataset.closeSymbol || close_symbol;\n close_button.ariaLabel = close_button.ariaLabel || close_label;\n }\n } else {\n wrapper = document.createElement(\"dialog\");\n wrapper.insertAdjacentHTML(\"afterbegin\", `
`);\n document.createElement(\"div\");\n if (typeof content === \"string\") {\n wrapper.lastChild.innerHTML = content;\n document.body.appendChild(wrapper);\n } else {\n let parent = content.parentElement;\n if (parent) {\n let marker = document.createElement('div');\n content.replaceWith(marker);\n wrapper.lastChild.appendChild(content);\n marker.replaceWith(wrapper);\n if (content.classList.contains('n-modal__content')) {\n wrapper.lastChild.replaceWith(content);\n wrapper.attachedHiddenContent = true;\n } else {\n wrapper.dataset.existingAttachedContent = true;\n }\n } else {\n wrapper.lastChild.appendChild(content);\n document.body.appendChild(wrapper);\n }\n }\n }\n if (options.blur) {\n wrapper.classList.add('n-modal--blur');\n }\n if (options.shadow) {\n wrapper.classList.add('n-modal--shadow');\n }\n if (options.rounded) {\n wrapper.classList.add('n-modal--rounded');\n }\n if (options.full) {\n wrapper.classList.add('n-modal--full');\n }\n wrapper.dataset.anim = animation;\n wrapper.classList.add(\"n-modal\");\n wrapper.onclick = (e) => {\n let el = e.target.closest('.n-modal');\n let button = e.target.closest('.n-modal__close');\n if (button || (e.target.matches('.n-modal') && (e.offsetX < 0 || e.offsetY < 0 || (e.offsetX - 2) > el.getBoundingClientRect().width || (e.offsetY - 2) > el.getBoundingClientRect().height))) {\n closeModal(el);\n }\n };\n wrapper.addEventListener(\"cancel\", e => {\n e.preventDefault();\n closeModal(e.target.closest('.n-modal'));\n });\n if (existingDetachedElement) {\n wrapper.existingDetachedElement = true;\n }\n wrapper.showModal();\n // nuiDisableBodyScroll(true, wrapper); // Turn on and block page scroll\n // if (document.querySelectorAll(\".n-modal\").length === 1) {\n // // Sole (first) modal\n // wrapper.previousScrollX = window.scrollX;\n // wrapper.previousScrollY = window.scrollY;\n // }\n // document.querySelector(\"html\").classList.add(\"no-scroll\");\n wrapper.animate(typeof animation === \"string\" ? JSON.parse(animation) : [{ transform: \"translate3d(0,-100vh,0)\" }, { transform: \"translate3d(0,0,0)\" }], {\n duration: animationDuration(),\n easing: \"ease-in-out\",\n }).onfinish = () => {\n wrapper.addEventListener('close', removeModal);\n disableScrolling();\n };\n return wrapper;\n }\n\n function parseHTML(str) {\n var tmp = document.implementation.createHTMLDocument(\"Parsed\");\n tmp.body.innerHTML = str;\n // To do: destroy the HTMLDocument before returning\n return tmp.body;\n }\n\n function modalWindowLink(e) {\n // Modal window of external file content\n var el = e.target;\n let trigger = el.closest(\".n-modal-link\");\n var link = trigger.dataset.href || trigger.href; // data-href for
`;\n\t\t\t\t});\n\t\t\t\tel = document.createElement(\"span\");\n\t\t\t\tel.insertAdjacentHTML(\"beforeend\", options);\n\t\t\t\twrapper.prepend(el);\n\t\t\t}\n\t\t\tel.nuiSelectWrapper = wrapper;\n\t\t\tel.classList.add(\"n-select__options\");\n\t\t\tel.nuiNativeInput = el.nuiSelectWrapper.querySelector(\"select, input\") || nextMatchingSibling(el.nuiSelectWrapper, \"select\") || document.querySelector(`[data-n_select=\"${el.nuiSelectWrapper.dataset.n_select}\"]`); // As a sibling, child or data-n_select match (where data-n_select is the rich select's data-n_select attribute)\n\t\t\tif (!el.nuiNativeInput) {\n\t\t\t\t// Missing native select, so generate it\n\t\t\t\tlet input = document.createElement(\"select\");\n\t\t\t\tinput.name = input.id = el.dataset.name;\n\t\t\t\twrapper.append(input);\n\t\t\t\tel.nuiNativeInput = input;\n\t\t\t}\n\t\t\tlet initial_value = el.nuiNativeInput.value;\n\t\t\tlet initial_option = el.querySelector(`button[value=\"${initial_value}\"`);\n\t\t\tel.nuiNativeInput.innerHTML = \"\";\n\t\t\twrapper.addEventListener(\"pointerdown\", pointerDownSelect);\n\t\t\tel.addEventListener(\"click\", clickSelect); // Selects a clicked (pointer upped) option\n\t\t\tel.addEventListener(\"focusout\", (e) => {\n\t\t\t\tlet select = e.target.closest(\".n-select__options\");\n\t\t\t\t// If relatedTarget isn't a sibling, close and focus on select wrapper\n\t\t\t\tif (select.hasAttribute(\"aria-expanded\") && !!e.relatedTarget && e.relatedTarget.parentNode !== select) {\n\t\t\t\t\tcloseSelect(select);\n\t\t\t\t\tselect.nuiSelectWrapper.focus();\n\t\t\t\t}\n\t\t\t});\n\t\t\tel.ontransitionend = (e) => {\n\t\t\t\tlet el = e.target;\n\t\t\t\tel.style.removeProperty(\"--mask-position-y\");\n\t\t\t\tel.style.removeProperty(\"--mask-size-y\");\n\t\t\t\tdelete el.dataset.nSelectAnimation;\n\t\t\t\tel.addEventListener(\"pointerup\", pointerUpSelect);\n\t\t\t\t// el.dataset.transitionend = true;\n\t\t\t};\n\t\t\tel.addEventListener(\"keydown\", selectKeyboard);\n\t\t\twrapper.addEventListener(\"keydown\", selectKeyboard);\n\t\t\tel.addEventListener(\"keyup\", trapKeyboard);\n\t\t\twrapper.addEventListener(\"keyup\", trapKeyboard);\n\t\t\tel.lastElementChild.onkeydown = (e) => {\n\t\t\t\t// Close select on tab outside. To do: get last button only\n\t\t\t\tif (e.key === \"Tab\" && !e.shiftKey && e.target.parentNode.hasAttribute(\"aria-expanded\")) {\n\t\t\t\t\tcloseSelect(e.target.parentNode);\n\t\t\t\t\te.target.parentNode.nuiSelectWrapper.focus();\n\t\t\t\t}\n\t\t\t};\n\t\t\tel.querySelectorAll(\"button\").forEach((el) => {\n\t\t\t\tel.type = \"button\"; // Unlike the default 'submit'\n\t\t\t\tel.value = el.value || el.textContent.trim();\n\t\t\t});\n\t\t\twrapper.setAttribute(\"tabindex\", 0);\n\t\t\t(el.querySelector(\"[aria-selected]\") || el.firstElementChild).tabIndex = -1;\n\t\t\twrapper.style.setProperty(\"--inline-width\", `${el.getBoundingClientRect().width}px`);\n\t\t\tselectOption(el.querySelector(\"[aria-selected]\") || initial_option || el.querySelector(\"button\")); // Select the first option by default\n\t\t\tel.nuiSearchTerm = \"\";\n\t\t\t[\"n-select--rounded\", \"n-select--shadow\"].forEach((cls) => {\n\t\t\t\tif (wrapper.classList.contains(cls)) {\n\t\t\t\t\tel.classList.add(cls);\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet label = el.closest(\"label\") || document.querySelector(`label[for=\"${el.nuiNativeInput.id}\"]`);\n\t\t\tif (label) {\n\t\t\t\tlabel.onclick = (e) => {\n\t\t\t\t\tlet el = e.target;\n\t\t\t\t\tif (!el.closest(\".n-select\")) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tel = el.closest(\"label\");\n\t\t\t\t\t\tlet select = el.querySelector(\".n-select\") || document.getElementById(el.getAttribute(\"for\")).closest(\".n-select\");\n\t\t\t\t\t\tselect.focus();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t\twrapper.dataset.ready = true;\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t// wrapper.style.setProperty(\"--active-option-height\", `${el.querySelector(\"[aria-selected]\").getBoundingClientRect().height}px`);\n\t\t\t\tupdateOptionHeight(wrapper, el);\n\t\t\t\t[\"--nui-control-color\", \"--nui-control-bg\", \"--nui-control-active-color\", \"--nui-control-active-bg\", \"--nui-control-highlight\"].forEach((i) => {\n\t\t\t\t\tel.style.setProperty(i, wrapper.style.getPropertyValue(i));\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t};\n\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-select\", init) : init(document.body);\n})();\n//# sourceMappingURL=n-select@npm.js.map\n\n// Component Tooltip – start\n(function() {\n\tlet setTipPosition = (tool, tip) => {\n\t\t// Take up the most area available on top/right/bottom/left of the tool. Relative to body.\n\t\tlet rect = tool.getBoundingClientRect();\n\t\tlet top = rect.top;\n\t\tlet left = rect.left;\n\t\tlet right = window.innerWidth - left - rect.width;\n\t\tlet bottom = window.innerHeight - top - rect.height; // To do: check when body is shorter than viewport\n\t\tlet area_top = top * window.innerWidth;\n\t\tlet area_right = right * window.innerHeight;\n\t\tlet area_bottom = bottom * window.innerWidth;\n\t\tlet area_left = left * window.innerHeight;\n\t\tlet body_rect = document.body.getBoundingClientRect();\n\t\ttip.removeAttribute(\"style\");\n\t\tdelete tip.dataset.position;\n\t\ttip.classList.add('n-tooltip__content-visible');\n\t\tlet positionTop = () => {\n\t\t\ttip.style.bottom = 20 + body_rect.height + body_rect.y - top + \"px\";\n\t\t\ttip.style.maxHeight = top - 40 + \"px\";\n\t\t\ttip.style.left = `${rect.x + rect.width / 2 - tip.scrollWidth / 2}px`;\n\t\t\ttip.dataset.nPosition = \"top\";\n\t\t};\n\t\tlet positionBottom = () => {\n\t\t\ttip.style.top = 20 - body_rect.y + top + rect.height + \"px\";\n\t\t\ttip.style.maxHeight = bottom - 40 + \"px\";\n\t\t\ttip.style.left = `${rect.x + rect.width / 2 - tip.scrollWidth / 2}px`;\n\t\t\ttip.dataset.nPosition = \"bottom\";\n\t\t};\n\t\tlet positionLeft = () => {\n\t\t\ttip.style.left = \"auto\";\n\t\t\ttip.style.right = 20 + body_rect.width + body_rect.x - window.innerWidth + right + rect.width + \"px\";\n\t\t\ttip.style.maxWidth = left - 40 + \"px\";\n\t\t\ttip.style.top = `${-1 * body_rect.y + rect.top + rect.height / 2 - tip.scrollHeight / 2}px`;\n\t\t\ttip.dataset.nPosition = \"left\";\n\t\t};\n\t\tlet positionRight = () => {\n\t\t\ttip.style.left = rect.x - body_rect.x + rect.width + 20 + \"px\";\n\t\t\ttip.style.maxWidth = right - 40 + \"px\";\n\t\t\ttip.style.top = `${-1 * body_rect.y + rect.top + rect.height / 2 - tip.scrollHeight / 2}px`;\n\t\t\ttip.dataset.nPosition = \"right\";\n\t\t};\n\t\tif (area_left > area_right) {\n\t\t\tif (area_top > area_bottom) {\n\t\t\t\tif (area_top > area_left) {\n\t\t\t\t\t// Top\n\t\t\t\t\tpositionTop();\n\t\t\t\t} else {\n\t\t\t\t\t// Left\n\t\t\t\t\tpositionLeft();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (area_bottom > area_left) {\n\t\t\t\t\t// Bottom\n\t\t\t\t\tpositionBottom();\n\t\t\t\t} else {\n\t\t\t\t\t// Left\n\t\t\t\t\tpositionLeft();\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (area_top > area_bottom) {\n\t\t\t\tif (area_top > area_right) {\n\t\t\t\t\t// Top\n\t\t\t\t\tpositionTop();\n\t\t\t\t} else {\n\t\t\t\t\t// Right\n\t\t\t\t\tpositionRight();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (area_bottom > area_right) {\n\t\t\t\t\t// Bottom\n\t\t\t\t\tpositionBottom();\n\t\t\t\t} else {\n\t\t\t\t\t// Right\n\t\t\t\t\tpositionRight();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tlet rect_tip = tip.getBoundingClientRect();\n\t\tlet offset_y = 0;\n\t\tif (rect_tip.y < 0) {\n\t\t\toffset_y = Math.abs(rect_tip.y) + 10;\n\t\t} else {\n\t\t\tif (rect_tip.bottom > window.innerHeight) {\n\t\t\t\toffset_y = window.innerHeight - rect_tip.bottom - 10;\n\t\t\t}\n\t\t}\n\t\ttip.style.setProperty(\"--offset_y\", offset_y + \"px\");\n\t\tlet offset_x = 0;\n\t\tif (rect_tip.x < 0) {\n\t\t\toffset_x = Math.abs(rect_tip.x) + 10;\n\t\t} else {\n\t\t\tif (rect_tip.right > window.innerWidth) {\n\t\t\t\toffset_x = window.innerWidth - rect_tip.right - 10;\n\t\t\t}\n\t\t}\n\t\ttip.style.setProperty(\"--offset_x\", offset_x + \"px\");\n\t};\n\n\tfunction getToolTip(tool) {\n\t\treturn document.getElementById(tool.getAttribute('aria-describedby')) || tool.nextElementSibling;\n\t}\n\tconst hideTipFunction = tool => {\n\t\tlet tip = getToolTip(tool);\n\t\ttool.removeAttribute(\"aria-expanded\");\n\t\ttool.after(tip);\n\t\ttip.removeAttribute(\"style\");\n\t\tdelete tip.dataset.position;\n\t\ttip.classList.remove('n-tooltip__content-visible');\n\t};\n\tlet hideTip = (e) => {\n\t\thideTipFunction(e.target.closest(\".n-tooltip\"));\n\t};\n\tconst hideTipOnScroll = e => {\n\t\tdocument.querySelectorAll('.n-tooltip').forEach(el => hideTipFunction(el));\n\t\tdocument.removeEventListener('scroll', hideTipOnScroll);\n\t};\n\tlet showTip = (e) => {\n\t\tlet tool = e.target.closest(\".n-tooltip\");\n\t\tlet tip = getToolTip(tool);\n\t\ttool.setAttribute(\"aria-expanded\", true);\n\t\tdocument.body.appendChild(tip);\n\t\tsetTipPosition(tool, tip);\n\t\tdocument.addEventListener('scroll', hideTipOnScroll, true);\n\t};\n\tconst init = (host = document) => {\n\t\t/* Tooltip */\n\t\thost.querySelectorAll(\".n-tooltip\")?.length;\n\t\thost.querySelectorAll(\".n-tooltip:not([data-ready])\").forEach((el) => {\n\t\t\tel.setAttribute(\"tabindex\", 0);\n\t\t\tel.addEventListener('touchend', showTip);\n\t\t\tel.addEventListener('mouseover', showTip);\n\t\t\tel.addEventListener('focus', showTip);\n\t\t\tel.addEventListener('mouseout', hideTip);\n\t\t\tel.addEventListener('blur', hideTip);\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-tooltip\", init): init();\n})();\n// Component Tooltip – end\n//# sourceMappingURL=n-tooltip@npm.js.map\n\n// Component Notification bar – start\n(function() {\n\tfunction notifyClose(el) {\n\t\tif (!!el) {\n\t\t\tel.parentNode.removeChild(el);\n\t\t}\n\t}\n\n\tfunction notifyCloseEvent() {\n\t\tif (document.querySelector(\".n-notify\")) {\n\t\t\tdocument.querySelector(\".n-notify\").onclick = (e) => {\n\t\t\t\tnotifyClose(e.target);\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction notify(content, option) {\n\t\tdocument.body.insertAdjacentHTML(\"afterbegin\", ``);\n\t\tdocument.querySelector(\".n-notify\").focus();\n\t\tnotifyCloseEvent();\n\t\tif (option && option.indexOf(\"timeout\") !== -1) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tnotifyClose(document.querySelector(\".n-notify\"));\n\t\t\t}, 2000);\n\t\t}\n\t}\n\tlet init = (host) => {\n\t\t/* Tooltip */\n\t\thost.querySelectorAll(\".n-notify:not([data-ready])\").forEach((el, i) => {\n\t\t\tnotifyCloseEvent();\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\tnui.registerComponent(\"notify\", init, {\n\t\t'name': 'notify',\n\t\t'code': notify\n\t});\n})();\n// Component Notification bar – end\n//# sourceMappingURL=notify.js.map\n\n// Component Nav – start\n(function() {\n /* Nav – start */\n function closeDropNavClickedOutside(e) {\n // Close the nav when clicking outside\n if (!e.target.closest(\".n-nav li\")) {\n document.querySelectorAll(\".n-nav li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n if (document.querySelector(\".n-nav :focus\")) {\n document.querySelector(\".n-nav :focus\").blur();\n }\n }\n }\n\n function isDesktop(nav) {\n // Checks the UL sub nav element\n return !!getComputedStyle(nav).getPropertyValue(\"--desktop\");\n }\n let navAnimating = false;\n\n function dropNavBlur(e) {\n var this_nav = e.target.closest(\".n-nav\");\n if (navAnimating || !e.relatedTarget) {\n return;\n }\n e.stopPropagation();\n let el = e.target;\n let item = el.tagName === \"LI\" ? el.querySelector(\"ul\") : el.parentElement.querySelector(\"ul\");\n if (!this_nav.contains(e.relatedTarget) || (isDesktop(this_nav) && !!e.relatedTarget && !closestElement(e.relatedTarget, this_nav))) {\n // if e.relatedTarget is not a child of this_nav, then the next focused item is elsewhere\n this_nav.querySelectorAll(\"li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n return;\n }\n if (item) {\n if (item.parentNode.parentNode.querySelector(\"ul [aria-expanded]\")) {\n // To do: Unless it's the first/last item and user has back/forward tabbed away from it?\n return;\n }\n item.parentElement.removeAttribute(\"aria-expanded\");\n }\n // Close neighboring parent nav's sub navs.\n el = e.target;\n var target_parent = el.closest(\"[aria-haspopup]\");\n if (target_parent) {\n // Skip if it's a top-level-only item\n target_parent.querySelectorAll(\"li[aria-expanded]\").forEach((el) => {\n // Disable active grandchildren\n el.removeAttribute(\"aria-expanded\");\n });\n }\n el = e.target.parentNode;\n if (!el.nextElementSibling && // last item\n el.parentNode.parentNode.nodeName === \"LI\" && // of third-level nav\n !el.parentNode.parentNode.nextElementSibling) {\n el.parentNode.parentNode.removeAttribute(\"aria-expanded\");\n }\n }\n\n function dropNavFocus(e) {\n // Close focused third level child when focus moves to another top-level item\n e.stopPropagation();\n var el = e.target.closest(\".n-nav > ul > li\");\n // To do: on LI focus, make it aria-expanded and focus its a\n if (navAnimating) {\n return;\n }\n [\n [].slice.call(el.parentElement.children),\n [].slice.call(e.target.parentElement.parentElement.children),\n [].slice.call(e.target.parentElement.parentElement.parentElement.parentElement.children),\n ].forEach((el) => {\n el.forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n });\n el.setAttribute(\"aria-expanded\", true);\n // \t\topenItem(el.querySelector('ul'));\n if (el.parentNode.parentNode.getAttribute(\"aria-haspopup\")) {\n el.parentNode.parentNode.setAttribute(\"aria-expanded\", true);\n }\n el.querySelectorAll(\"li[aria-expanded]\").forEach((el) => {\n // Hide grandchildren\n el.removeAttribute(\"aria-expanded\");\n });\n // Make current focused item's ancestors visible\n el = e.target;\n el.parentNode.setAttribute(\"aria-expanded\", true);\n var grand_parent = el.parentElement.parentElement.parentElement;\n if (grand_parent.tagName === \"LI\") {\n grand_parent.setAttribute(\"aria-expanded\", true);\n }\n }\n var closeDropNavClickedOutsideEnabled = false;\n \n const getDuration = () => window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? 200 : 0;\n \n let closeItem = (item) => {\n navAnimating = true;\n item.style.overflow = \"hidden\";\n item.parentElement.setAttribute(\"aria-expanded\", true);\n item.animate([{ height: `${item.scrollHeight}px` }, { height: 0 }], getDuration()).onfinish = () => {\n item.removeAttribute(\"style\");\n item.parentElement.removeAttribute(\"aria-expanded\");\n navAnimating = false;\n item.querySelectorAll(\"[aria-expanded]\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n };\n };\n let openItem = (item) => {\n navAnimating = true;\n item.style.overflow = \"hidden\";\n item.parentElement.setAttribute(\"aria-expanded\", true);\n item.animate([{ height: 0 }, { height: `${item.scrollHeight}px` }], getDuration()).onfinish = () => {\n item.removeAttribute(\"style\");\n navAnimating = false;\n };\n };\n let clickEvent = (e) => {\n e.stopPropagation();\n // To do: also ancestors, also close when open\n let el = e.target;\n var this_nav = el.closest(\".n-nav\");\n this_nav.removeEventListener(\"focusout\", dropNavBlur);\n if (this_nav.contains(document.activeElement)) {\n document.activeElement.blur();\n }\n let item = el.tagName === \"LI\" ? el.querySelector(\"ul\") : el.parentElement.querySelector(\"ul\");\n if (isDesktop(this_nav)) {\n if (el.getAttribute(\"aria-expanded\")) {\n if (el.querySelector(\"a:focus\")) ; else {\n if (isDesktop(this_nav)) {\n el.removeAttribute(\"aria-expanded\");\n } else {\n closeItem(item);\n }\n }\n } else {\n [].slice.call(el.parentElement.children).forEach((item) => {\n item.removeAttribute(\"aria-expanded\");\n let old_item_open_child = item.querySelector(\"[aria-expanded]\");\n if (old_item_open_child) {\n old_item_open_child.removeAttribute(\"aria-expanded\");\n }\n });\n el.setAttribute(\"aria-expanded\", true);\n if (!isDesktop(this_nav)) {\n openItem(item);\n }\n }\n } else {\n if (item.parentNode.hasAttribute(\"aria-expanded\")) {\n closeItem(item);\n } else {\n // If new item is top level, close another top level item, if any is open\n if (item.parentElement.parentElement.matches(\"ul\")) {\n // It's top level, To do: also on secondary level, close open sibling\n let old_item = item.parentElement.closest(\"ul\").querySelector('[aria-expanded=\"true\"] > ul');\n if (old_item) {\n closeItem(old_item);\n }\n }\n openItem(item);\n }\n }\n this_nav.addEventListener(\"focusout\", dropNavBlur);\n };\n\n function checkSides(ul, menubar) {\n if (getComputedStyle(ul).direction !== 'rtl') {\n ul.classList.remove(\"n-right-overflow\");\n ul.style.removeProperty(\"--n-right-overflow\");\n //\t\tvar rect = ul.getBoundingClientRect(); // Firefox doesn't preserve this var\n if (ul.getBoundingClientRect().left > document.body.offsetWidth - (ul.getBoundingClientRect().left + ul.getBoundingClientRect().width)) {\n if (ul.getBoundingClientRect().right > window.innerWidth) {\n ul.style.setProperty(\"--n-right-overflow\", window.innerWidth - ul.getBoundingClientRect().right + \"px\");\n ul.classList.add(\"n-right-overflow\");\n }\n ul.classList.add(\"n-left-side\");\n } else {\n ul.classList.remove(\"n-left-side\");\n }\n }\n }\n\n function initNav(el) {\n // Delete all trigger inputs, add tabindex=0 to each li\n el.querySelectorAll(\"input\").forEach((el) => {\n el.outerHTML = \"\";\n });\n el.querySelectorAll(\"li > a\").forEach((el) => {\n el.setAttribute(\"tabindex\", 0);\n });\n if (!el.closest(\".n-nav.n-nav--drop\")) {\n // The rest is for drop nav only\n return;\n }\n if (!closeDropNavClickedOutsideEnabled) {\n window.addEventListener(\"touchend\", closeDropNavClickedOutside);\n window.addEventListener(\"mouseup\", closeDropNavClickedOutside);\n closeDropNavClickedOutsideEnabled = true;\n }\n el.addEventListener(\"keyup\", (e) => {\n // Check for sibling or children to expand on control keys Left/Right/etc\n if (e.key === \"Escape\") {\n e.target.closest(\".n-nav\").querySelectorAll(\"li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n document.activeElement.blur();\n }\n });\n el.querySelectorAll(\"li\").forEach((el) => {\n let ul = el.querySelector(\"ul\");\n if (ul) {\n el.setAttribute(\"aria-haspopup\", true);\n if (el.children[0].nodeName === \"UL\") {\n el.insertBefore(el.children[1], el.children[0]); // Swap 'a' with 'ul'\n }\n }\n });\n el.addEventListener(\"mousedown\", clickEvent);\n el.addEventListener(\"focusin\", dropNavFocus);\n el.addEventListener(\"focusout\", dropNavBlur);\n window.requestAnimationFrame(() => {\n // Give the browser time to update\n el.querySelectorAll(\"ul\").forEach((ul) => {\n checkSides(ul);\n });\n });\n }\n window.addEventListener(\"resize\", function(e) {\n document.querySelectorAll(\".n-nav.n-nav--drop ul\").forEach((menubar) => {\n menubar.querySelectorAll(\"ul\").forEach((ul) => {\n checkSides(ul);\n });\n });\n });\n /* Nav – end */\n let init = (host) => {\n host.querySelectorAll(\".n-nav:not([data-ready]) > ul:not([role])\").forEach((el) => {\n initNav(el);\n el.closest(\".n-nav\").dataset.ready = true;\n });\n };\n nui.registerComponent(\"nav\", init);\n})();\n// Component Nav – end\n//# sourceMappingURL=nav.js.map\n\n// Component Parallax – start\n(function() {\n\t// Thanks Dave Rupert\n\tlet parallaxSpeed = 0.2;\n\tlet updateParallax = () => {\n\t\tdocument.querySelectorAll(\".n-parallax\").forEach((el) => {\n\t\t\tlet parent = el.parentElement;\n\t\t\tlet scroll_offset = parent.scrollHeight > parent.offsetHeight ? parent.getBoundingClientRect().y : document.body.scrollTop || document.documentElement.scrollTop;\n\t\t\tel.style.setProperty(\"--scrollparallax\", scroll_offset * parallaxSpeed);\n\t\t});\n\t};\n\tif (document.querySelector(\".n-parallax\")) {\n\t\twindow.addEventListener(\"scroll\", updateParallax, true);\n\t}\n\tlet init = (host) => {};\n\tnui.registerComponent(\"parallax\", init);\n})();\n// Component Parallax – end\n//# sourceMappingURL=parallax.js.map\n\n// Component Table – start\n(function () {\n\t/* Sort parent table's rows by matching column number alternatively desc/asc on click */\n\tconst toggleSort = (th) => {\n\t\tlet previous = th.closest(\"tr\").querySelector(\"td[data-ascending]\");\n\t\tif (previous && previous !== th) {\n\t\t\tdelete previous.dataset.ascending;\n\t\t}\n\t\treturn th.toggleAttribute(\"data-ascending\");\n\t};\n\tconst getCellValue = (tr, idx) => tr.children[idx].innerText || tr.children[idx].textContent;\n\tconst comparer = (idx, asc) => (a, b) => ((v1, v2) => (v1 !== \"\" && v2 !== \"\" && !isNaN(v1) && !isNaN(v2) ? v1 - v2 : v1.toString().localeCompare(v2)))(getCellValue(asc ? a : b, idx), getCellValue(asc ? b : a, idx));\n\tlet init = (host) => {\n\t\thost.querySelectorAll(\".n-table:not([data-ready])\").forEach((el) => {\n\t\t\tel.querySelectorAll(\"thead td button.n-table__sort, th button.n-table__sort\").forEach((button) => button.addEventListener(\"click\", (e) => {\n\t\t\t\tlet th = e.target.closest(\"th\") || e.target.closest(\"td\");\n\t\t\t\tconst tbody = th.closest(\"table\").querySelector(\"tbody\");\n\t\t\t\tArray.from(tbody.querySelectorAll(\"tr\")).sort(comparer(Array.from(th.parentNode.children).indexOf(th), toggleSort(th))).forEach((tr) => tbody.appendChild(tr));\n\t\t\t}));\n\t\t\tel.dataset.ready = true;\n\t\t\tel.setAttribute(\"tabindex\", 0); // To scroll with arrow keys\n\t\t});\n\t};\n\tnui.registerComponent(\"table\", init);\n})();\n// Component Table – end\n//# sourceMappingURL=table.js.map\n\n// Component Typography – start\n(function () {\n\tlet init = (host) => {\n\t\t/* Typography */\n\t\tif (typeof ResizeObserver === \"function\") {\n\t\t\t// Compensate element height according to line height\n\t\t\tlet ro = new ResizeObserver((entries) => {\n\t\t\t\tentries.forEach((el) => {\n\t\t\t\t\tlet a = el.target;\n\t\t\t\t\ta.style.removeProperty(\"--adjust-height\");\n\t\t\t\t\tlet style = getComputedStyle(a);\n\t\t\t\t\tlet line_height = parseFloat(style.lineHeight);\n\t\t\t\t\tlet adjust = line_height - (parseFloat(style.height) % line_height);\n\t\t\t\t\tif (adjust !== line_height) {\n\t\t\t\t\t\ta.style.setProperty(\"--adjust-height\", adjust);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tdocument.querySelectorAll(\".n-adjust-height:not([data-ready])\").forEach((el) => {\n\t\t\t\tro.observe(el);\n\t\t\t\tel.dataset.ready = true;\n\t\t\t});\n\t\t}\n\t};\n\tnui.registerComponent(\"typography\", init);\n})();\n// Component Typography – end\n//# sourceMappingURL=typography.js.map\nexport default nui;\n//# sourceMappingURL=niui.js.map\n"]} \ No newline at end of file +{"version":3,"sources":["js/niui.js"],"names":["nui","q","selector","document","querySelector","addClass","el","className","classList","add","removeClass","remove","body","dataset","nuiJs","window","nuiChrome","navigator","userAgent","match","nuiSafari","platform","nuiApple","setHashClass","location","hash","addEventListener","temp","createElement","t","animation","MozAnimation","WebkitAnimation","style","isTouchTimer","isTouch","addtouchclass","e","clearTimeout","setTimeout","components","Array","initComponents","host","observerOff","key","init","observerOn","observer","observe","childList","subtree","disconnect","MutationObserver","mutations","dynamicInit","mutation","type","addedNodes","length","nodeName","ready","parentNode","registerComponent","name","componentFunction","push","code","copyButton","target","echo","event","getSelection","removeAllRanges","range","createRange","selectNode","addRange","execCommand","notify","textContent","err","addComponent","insertAdjacentHTML","ripple","closest","x","offsetX","clientWidth","y","offsetY","clientHeight","max_x","Math","max","max_y","radius","sqrt","transitionProperty","setProperty","requestAnimationFrame","querySelectorAll","forEach","submitForm","ready_to_submit","value","checked","RegExp","test","parseInt","digits","focus","form","animate","width","scrollWidth","marginLeft","updateFileInput","innerHTML","substring","lastIndexOf","toggleConditionalFieldset","fieldset","for","nextElementSibling","attribute","removeAttribute","setAttribute","i","onsubmit","onchange","onkeyup","rows","scrollHeight","offsetHeight","animate_options","easing","duration","matchMedia","matches","getComputedStyle","getPropertyValue","accordionContent","openAccordion","height","overflow","wrapper","onfinish","closeAccordion","callback","contains","toggleAccordion","popin","updateRow","row","floor","children","indexOf","other_accordion","parentElement","getAttribute","doInit","readyState","ceilingWidth","ceil","parseFloat","ceilingHeight","focusableElements","isChrome","isSafari","isEndless","isFullScreen","webkitFullscreenElement","fullscreenElement","isModal","isVertical","isAuto","indexControls","index","controls_by_class","nextSlideHeight","getIndex","getIndexReal","active_slide","hash_slide_index","scrolledAncestor","scrollTop","scrollLeft","isRTL","direction","toggleFullScreen","carousel","restoreScroll","nuiAncestors","nuiScrollX","nuiScrollY","removeEventListener","togglingFullScreen","exitFullscreen","webkitExitFullscreen","display","updateExitFullScreen","slideTo","arr","a","scrolledAncestors","requestFullscreen","webkitRequestFullscreen","scrollStartX","scrollTo","abs","getScroll","scrollX","scrollY","firstFocusableElement","focusableContent","lastFocusableElement","focusHandler","keyCode","shiftKey","activeElement","preventDefault","trapFocus","modal","off","getControl","control","detached_control","id","closestCarousel","related_by_id","getElementById","scrollAnimate","distanceX","distanceY","new_height","old_height","Promise","resolve","reject","nextSlideInstant","updateCarousel","observersOff","scroll_changing","startx","starty","starth","distanceH","start","draw","now","n","val","cos","PI","timeStamp","forced","saved_x","saved_y","openingModal","offsetWidth","round","firstElementChild","active_index","old_active_slide","observersOn","active_index_logical","restoreDisplacedSlides","el2","append","first","prepend","lastElementChild","last","sliding","scroll_x","scroll_y","paddingBlockStart","paddingY","visibility","previously_active","nCarouselNav","inert","current","slide","nCarouselTimeout","old_scroll_left","old_scroll_top","computed_max_height","maxHeight","max_height","min","paddingInlineStart","paddingX","next","top","left","behavior","slideNext","new_offset","carouselKeys","slidePreviousEvent","slidePrevious","slideNextEvent","slideIndexEvent","href","ctrlKey","metaKey","new_index","old_index","openModal","frozen","closeModal","autoHeightObserver","ResizeObserver","entries","removeProperty","updateSubpixels","padding","getBoundingClientRect","offset","height_minus_index","unobserve","subpixel_observer","mutation_observer","attributes","attributeFilter","observerStarted","updateObserver","doUpdate","current_height","setIndexWidth","position","previous","close_modal","full_screen","content","onclick","xx","yy","fullScreenEvent","onwebkitfullscreenchange","onfullscreenchange","hashed_slide","auto_delay","interval","carouselTimeout","rect","bottom","innerHeight","documentElement","right","innerWidth","isElementInViewport","nCarouselUpdate","interSecObs","IntersectionObserver","entry","isIntersecting","timeout_function","offset_y","lastScrollX","lastScrollY","scroll_offset","then","threshold","root","loaded","img","complete","nCarouselInit","modal_carousel","scroll_timeout","blockScroll","animationDuration","removeModal","existingDetachedElement","existingModal","removeChild","attachedHiddenContent","replaceWith","lastChild","existingAttachedContent","anim","direction_option","JSON","parse","close","options","scrollbar_width","tagName","trigger","close_label","appendChild","close_button","closeSymbol","ariaLabel","closeLabel","marker","blur","shadow","rounded","full","showModal","transform","passive","modalWindowLink","link","openTheModal","transferClass","origin","fetch","split","response","text","str","tmp","parsed","implementation","createHTMLDocument","container","catch","error","hash_modal","clickOutsideSelect","select","closeSelect","closeSelectOnResizeScroll","open_select","updateOptionHeight","selectOption","nuiSelectWrapper","hasAttribute","select_native","nuiNativeInput","Event","dispatchEvent","nuiOnChange","font_properties","nSelectAnimation","tabIndex","pointerUpSelect","openSelect","previous_open_select","option_height","document_offset","borderInlineStartWidth","borderBlockStartWidth","active_option_offset","top_offset","current_max_height","available_top_space","cropped_space","scroll_help_top","paddingInlineEnd","nextMatchingSibling","sibling","clickSelect","pointerDownSelect","click","pointerEvents","timeout","trapKeyboard","includes","stopPropagation","selectKeyboard","previousElementSibling","previousMatchingSibling","nuiSearchTerm","toLowerCase","trim","startsWith","PointerEvent","n_select","input","initial_value","initial_option","relatedTarget","ontransitionend","onkeydown","cls","label","getToolTip","tool","hideTipFunction","tip","after","hideTip","hideTipOnScroll","showTip","area_top","area_right","area_bottom","area_left","body_rect","positionTop","nPosition","positionBottom","positionLeft","maxWidth","positionRight","rect_tip","offset_x","setTipPosition","closeDropNavClickedOutside","isDesktop","nav","navAnimating","dropNavBlur","this_nav","item","closestElement","target_parent","dropNavFocus","slice","call","grand_parent","closeDropNavClickedOutsideEnabled","getDuration","closeItem","openItem","clickEvent","old_item_open_child","old_item","checkSides","ul","menubar","outerHTML","insertBefore","initNav","notifyClose","notifyCloseEvent","option","updateParallax","parent","getCellValue","tr","idx","innerText","button","th","tbody","asc","from","sort","ascending","toggleAttribute","toggleSort","b","v1","v2","isNaN","toString","localeCompare","ro","line_height","lineHeight","adjust"],"mappings":"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","file":"niui.min.js","sourcesContent":["let nui = (() => {\n /* niui by rado.bg */\n /* DOM functions via http://youmightnotneedjquery.com */\n document.body.dataset.nuiJs = true;\n if (!!window[\"chrome\"]) {\n document.body.dataset.nuiChrome = true;\n }\n if (navigator.userAgent.match(/Safari/) && !navigator.userAgent.match(/Chrome/)) {\n document.body.dataset.nuiSafari = true;\n }\n if (navigator.platform.match(/Mac/) || navigator.platform.match(/iPhone/) || navigator.platform.match(/iPod/) || navigator.platform.match(/iPad/)) {\n document.body.dataset.nuiApple = true; // Apple devices: left-hand ⤫ button, disappearing thin scrollbars\n }\n var is_iPad = !!navigator.platform.match(/iPad/);\n // DOM functions – start\n function q(selector) {\n return document.querySelector(selector);\n }\n\n function qa(selector) {\n return document.querySelectorAll(selector);\n }\n\n function addClass(el, className) {\n el.classList.add(className);\n }\n\n function removeClass(el, className) {\n // To do: remove a single '.' for foolproof operation; Support multiple classes separated by space, dot, comma\n el.classList.remove(className);\n }\n\n function hasClass(el, className) {\n return el.classList.contains(className);\n // To do: remove a single '.' for foolproof operation; Support multiple classes separated by space, dot, comma\n }\n\n function toggleClass(el, className) {\n if (hasClass(el, className)) {\n removeClass(el, className);\n } else {\n addClass(el, className);\n }\n }\n\n function toggleAttribute(el, attribute) {\n if (el.getAttribute(attribute)) {\n el.removeAttribute(attribute);\n } else {\n el.setAttribute(attribute, true);\n }\n }\n // DOM functions – end\n function transferClass(el_origin, el_target, className) {\n let classes = typeof className === \"string\" ? new Array(className) : className;\n classes.forEach((el) => {\n if (hasClass(el_origin, el)) {\n addClass(el_target, el);\n }\n });\n }\n\n function parseHTML(str) {\n var tmp = document.implementation.createHTMLDocument(\"Parsed\");\n tmp.body.innerHTML = str;\n // To do: destroy the HTMLDocument before returning\n return tmp.body;\n }\n\n function stopEvent(e) {\n if (!e) {\n if (!window.event) {\n return;\n }\n }\n if (!e) {\n return false;\n }\n //e.cancelBubble is supported by IE, this will kill the bubbling process.\n e.cancelBubble = true;\n e.returnValue = false;\n //e.stopPropagation works only in Firefox.\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n if (e.preventDefault) {\n e.preventDefault();\n }\n return false;\n }\n\n function thisIndex(el) {\n return [...el.parentNode.children].indexOf(el);\n }\n\n function getCookie(k) {\n // Thanks Simon Steinberger\n var v = document.cookie.match(\"(^|;) ?\" + k + \"=([^;]*)(;|$)\");\n return v ? v[2] : null;\n }\n\n function wrap(toWrap, wrapper) {\n // Thanks yckart\n // \tobserverOff();\n wrapper = wrapper || document.createElement(\"div\");\n var sibling = toWrap.nextSibling;\n var parent = toWrap.parentNode;\n wrapper.appendChild(toWrap);\n if (parent) {\n // Already attached to DOM\n if (sibling) {\n // Attach the wrapper\n parent.insertBefore(wrapper, sibling);\n } else {\n parent.appendChild(wrapper);\n }\n }\n // observerOn();\n return wrapper;\n }\n\n function removeHash() {\n history.pushState(\"\", document.title, window.location.pathname + window.location.search);\n }\n /* ––– */\n function getURLParameters() {\n // return all URL parameters in an array\n var res = {};\n var re = /[?&]([^?&]+)=([^?&]+)/g;\n location.href.replace(re, (_, k, v) => {\n res[k] = v;\n });\n return res;\n }\n\n function arrow_keys_handler(e) {\n switch (e.keyCode) {\n case 37:\n case 39:\n case 38:\n case 40: // Arrow keys\n case 32:\n e.preventDefault();\n break; // Space\n default:\n break; // do not block other keys\n }\n }\n var external = RegExp(\"^((f|ht)tps?:)?//(?!\" + location.host + \")\");\n var full_window_content = null;\n var previousScrollOffset = 0;\n var previouslyFocused = false;\n /* Animate anchor links */\n function getCumulativeOffset(obj) {\n // Offset from element to top of page\n var left, top;\n left = top = 0;\n if (obj.offsetParent) {\n do {\n left += obj.offsetLeft;\n top += obj.offsetTop;\n obj = obj.offsetParent;\n } while (obj);\n }\n return {\n x: left,\n y: top,\n };\n }\n // function animateAnchors(e) {\n // if (!e || q(\"html\").clientHeight > document.body.clientHeight) {\n // return;\n // }\n // var el = e.target;\n // while (typeof el.href !== \"string\") {\n // // If a child of the link is clicked\n // el = el.parentNode;\n // }\n // if (el.href.split(/#|\\?/)[0] != window.location.href.split(/#|\\?/)[0]) {\n // // External page?\n // return;\n // }\n // var hash = null;\n // if (el.href.split(\"#\").pop().length > 0) {\n // hash = document.getElementById(el.href.split(\"#\").pop());\n // }\n // scrollToAnimated(hash === null ? 0 : getCumulativeOffset(hash).y, 0.5, (e) => {\n // // To do: fix jumping to new hash – is the fallback executed properly in animate()?\n // window.location = el.href.split(\"#\")[0] + \"#\" + el.href.split(\"#\").pop();\n // });\n // return false;\n // }\n function closestElement(el, target) {\n // Thanks http://gomakethings.com/ditching-jquery/ – Accepts either a selector string or an actual element\n for (; el && el !== document; el = el.parentNode) {\n if (el === target) {\n return el;\n }\n }\n return false;\n }\n // Add .n-target to the :target element now, because :target is available too late, after all page content is loaded\n let setHashClass = () => {\n if (q(\".n-target\")) {\n removeClass(q(\".n-target\"), \"n-target\");\n }\n if (!!location.hash && q(location.hash)) {\n addClass(q(location.hash), \"n-target\");\n }\n };\n setHashClass();\n window.addEventListener(\"hashchange\", setHashClass);\n /* Chainable animation specified as CSS Animation */\n var temp = document.createElement(\"temp\");\n var animations = {\n animation: \"animationend\",\n MozAnimation: \"animationend\",\n WebkitAnimation: \"webkitAnimationEnd\",\n };\n var animationEndEvent = false;\n for (var t in animations) {\n if (temp.style[t] !== \"undefined\") {\n animationEndEvent = animations[t];\n }\n }\n // Scroll the page to any position\n function scrollToAnimated(to, duration, callback) {\n var difference = document.body.clientHeight - window.innerHeight;\n if (to > difference) {\n to = difference;\n }\n\n function scrollToCallback(callback) {\n q(\"html\").scrollTop = document.body.scrollTop = to;\n if (typeof callback === \"function\") {\n callback();\n }\n }\n q(\"html\").animate(\n [{ transform: \"translate3d(0, 0, 0)\" }, { transform: `translate3d(0, ${-1 * (to - (document.documentElement.scrollTop || document.body.scrollTop))}px, 0)` }], duration).onfinish = () => {\n scrollToCallback(callback);\n };\n }\n // Scroll window to top, animated with easing\n // To do: suport any element and direction. Use it to slide sliders on browsers where CSS transforms are slower. Replace the above scrollToAnimated()\n let scrollToElement = (duration = 1000) => {\n let cosParameter = window.scrollY / 2;\n let scrollCount = 0;\n let oldTimestamp = performance.now();\n let step = (newTimestamp) => {\n scrollCount += Math.PI / (duration / (newTimestamp - oldTimestamp));\n if (scrollCount >= Math.PI) window.scrollTo(0, 0);\n if (window.scrollY === 0) return;\n window.scrollTo(0, Math.round(cosParameter + cosParameter * Math.cos(scrollCount)));\n oldTimestamp = newTimestamp;\n window.requestAnimationFrame(step);\n };\n window.requestAnimationFrame(step);\n };\n // Clicking a button copies a target element's contents\n function copyButton(el, target, echo) {\n el.addEventListener(\"click\", (event) => {\n window.getSelection().removeAllRanges(); // Clear previous clipboard\n var range = document.createRange();\n range.selectNode(target);\n window.getSelection().addRange(range);\n try {\n document.execCommand(\"copy\");\n if (!!echo && nui.notify) {\n nui.notify(\"📋 \" + target.textContent, \"fixed timeout\");\n }\n } catch (err) {}\n });\n }\n // Real time touch detection to support devices with both touch and mouse. http://www.javascriptkit.com/dhtmltutors/sticky-hover-issue-solutions.shtml\n // To do: use an attribute instead of class\n (function() {\n var isTouch = false; //var to indicate current input type (is touch versus no touch)\n var isTouchTimer;\n let addtouchclass = (e) => {\n clearTimeout(isTouchTimer);\n isTouch = true;\n addClass(q(\"html\"), \"can-touch\");\n isTouchTimer = setTimeout(() => {\n isTouch = false;\n }, 500); //maintain \"istouch\" state for 500ms so removetouchclass doesn't get fired immediately following a touch event\n };\n let removetouchclass = (e) => {\n if (!isTouch) {\n //remove 'can-touch' class if not triggered by a touch event and class is present\n isTouch = false;\n removeClass(q(\"html\"), \"can-touch\");\n }\n };\n document.addEventListener(\"mouseover\", removetouchclass, false); //this event gets called when input type is everything from touch to mouse/ trackpad\n document.addEventListener(\"touchstart\", addtouchclass, false); //this event only gets called when input type is touch\n addtouchclass();\n })();\n // function makeReady(el) {\n // el.dataset.ready = true;\n // }\n function focusWithin(selector) {\n var result = null;\n qa(selector).forEach((el) => {\n if (el.querySelector(\":focus\")) {\n result = el;\n }\n });\n return result;\n }\n\n function addComponent(host, el) {\n host.insertAdjacentHTML(\"afterbegin\", el);\n initComponents(host);\n }\n var current_slider = q(\".n-carousel__content\");\n var components = new Array();\n\n function registerComponent(name, init, componentFunction = false) {\n components[name] = new Array();\n components[name].push({ init: init });\n init(document);\n if (componentFunction) {\n nui[componentFunction.name] = componentFunction.code;\n }\n }\n\n function initComponents(host = document.body) {\n observerOff();\n for (let key in components) {\n components[key][0].init(host);\n }\n observerOn();\n }\n var observer = false;\n\n function observerOn() {\n if (observer) {\n observer.observe(document.body, { childList: true, subtree: true });\n }\n }\n\n function observerOff() {\n if (observer) {\n observer.disconnect();\n }\n }\n if (typeof MutationObserver === \"function\") {\n observer = new MutationObserver((mutations, observer) => {\n if (window.nui.dynamicInit) {\n observerOff();\n let mutation = mutations[0];\n if (mutation.type === \"childList\" && mutation.addedNodes.length > 0) {\n for (let el of mutation.addedNodes) {\n if (typeof el === \"object\" && el.nodeName !== \"#text\" && !el.dataset.ready && el.parentNode) {\n initComponents(el.parentNode);\n }\n }\n }\n observerOn();\n }\n });\n }\n // initThreshold(document.body);\n // Animate anchor link jumps\n // qa('a[href^=\"#\"]').forEach((el) => {\n // el.onclick = el.onclick || animateAnchors; // Don't add to previous onclick event handler\n // });\n initComponents();\n return { registerComponent, initComponents, copyButton, addComponent }\n})();\nnui.dynamicInit = true;// Component Button – start\n(function() {\n\tlet init = (host) => {\n\t\tconst ripple = e => {\n\t\t\tlet el = e.target.closest('.n-btn--ripple');\n\t\t\tlet x = e.offsetX || el.clientWidth / 2;\n\t\t\tlet y = e.offsetY || el.clientHeight / 2;\n\t\t\tlet max_x = Math.max(x, el.clientWidth - x);\n\t\t\tlet max_y = Math.max(y, el.clientHeight - y);\n\t\t\tlet radius = Math.sqrt(max_x * max_x + max_y * max_y);\n\t\t\tel.style.transitionProperty = 'none';\n\t\t\tel.style.setProperty('--ripple-x', `${x}px`);\n\t\t\tel.style.setProperty('--ripple-y', `${y}px`);\n\t\t\tel.style.setProperty('--ripple-radius', `0px`);\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tel.style.transitionProperty = '';\n\t\t\t\tel.style.setProperty('--ripple-radius', `${radius}px`);\n\t\t\t});\n\t\t};\n\t\tdocument.querySelectorAll('.n-btn--ripple:not([data-ready])').forEach(el => {\n\t\t\tel.addEventListener('pointerdown', ripple);\n\t\t\tel.addEventListener('keydown', ripple);\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\tnui.registerComponent(\"button\", init);\n})();\n// Component Button – end\n//# sourceMappingURL=button.js.map\n\n// Component Form – start\n(function() {\n /* Form – start */\n function submitForm(e) {\n var el = e.target;\n var ready_to_submit = true;\n el.querySelectorAll(\".n-form--mandatory:not([disabled])\").forEach((el) => {\n if (\n (el.querySelector(\"input, select, textarea\") && !el.querySelector(\"input, select, textarea\").value) ||\n (el.querySelector(\"input[type=checkbox]\") && !el.querySelector(\"input[type=checkbox]\").checked) ||\n (el.querySelector(\"input[type=radio]\") && !el.querySelector(\"input[type=radio]\").checked) ||\n (el.querySelector(\"input[type=email]\") && !RegExp(/^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$/).test(el.querySelector(\"input[type=email]\").value)) ||\n (el.querySelector(\"input[type=url]\") && !RegExp(/^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?$/).test(el.querySelector(\"input[type=url]\").value)) ||\n (el.querySelector(\"input[type=number]\") && !RegExp(/^\\d+$/).test(el.querySelector(\"input[type=number]\").value)) ||\n (el.querySelector(\"input[type=number][data-digits]\") &&\n el.querySelector(\"input[type=number]\").value.length !== parseInt(el.querySelector(\"input[type=number]\").dataset.digits))\n ) {\n ready_to_submit = false;\n el.querySelector(\"input\").focus();\n el.classList.add(\"n-form--alert\");\n // Margin animation, because transform animation hides neighbouring content on iPad\n let form = el.closest(\"form\");\n form.animate([{ width: `${form.scrollWidth}px` }, { marginLeft: `-9px` }, { marginLeft: `18px` }, { width: `${form.scrollWidth}px`, marginLeft: 0 }], 250);\n return;\n } else {\n el.classList.remove(\"n-form--alert\");\n }\n });\n return ready_to_submit;\n }\n\n function updateFileInput(e) {\n var el = e.target;\n el.parentNode.querySelector(\"span.n-form__file-name\").innerHTML = el.value.substring(el.value.lastIndexOf(\"\\\\\") + 1);\n }\n\n function toggleConditionalFieldset(e) {\n var el = e.target;\n var fieldset = document.querySelector(`fieldset#${el.closest(\".n-form__condition\").dataset.for}`) || el.closest(\".n-form__condition\").nextElementSibling;\n var attribute = \"disabled\";\n if (el.checked) {\n fieldset.removeAttribute(attribute);\n } else {\n fieldset.setAttribute(attribute, \"disabled\");\n }\n }\n /* Form – end */\n let init = (host) => {\n host.querySelectorAll(\"form.n-form\").forEach((el, i) => {\n el.onsubmit = el.onsubmit || submitForm;\n el.querySelectorAll(\"input[type=file]\").forEach((el, i) => {\n el.onchange = updateFileInput;\n el.parentNode.querySelector(\"span\").insertAdjacentHTML(\"afterbegin\", \"\");\n });\n // \tConditional form fieldsets\n el.querySelectorAll(\".n-form__check.n-form__condition input\").forEach((el, i) => {\n el.onchange = toggleConditionalFieldset;\n });\n // Auto textarea height.\n el.querySelectorAll(\"textarea[data-auto]\").forEach((el) => {\n el.onkeyup = (e) => {\n el = e.target;\n while (el.rows > 1 && el.scrollHeight < el.offsetHeight) {\n el.rows--;\n }\n while (el.scrollHeight > el.offsetHeight) {\n if (el.rows > 20) {\n break;\n }\n el.rows++;\n }\n el.rows++;\n };\n });\n el.dataset.ready = true;\n });\n };\n nui.registerComponent(\"form\", init);\n})();\n// Component Form – end\n//# sourceMappingURL=form.js.map\n\n// Component Accordion\n(function() {\n\tconst animate_options = el => { return { easing: \"ease-in-out\", duration: window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? (el.dataset.duration * 1000 || getComputedStyle(el).getPropertyValue('--duration') * 1000 || 200) : 0 } };\n\tconst accordionContent = el => el.querySelector(\":scope > .n-accordion__content\");\n\tconst openAccordion = (el) => {\n\t\tel = accordionContent(el);\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tel.style.height = 0;\n\t\t\tel.style.overflow = \"hidden\";\n\t\t\tlet wrapper = el.parentNode;\n\t\t\twrapper.querySelector(\":scope > .n-accordion__label\").setAttribute(\"aria-expanded\", true);\n\t\t\tel.animate([{ height: 0 }, { height: `${el.scrollHeight}px` }], animate_options(wrapper)).onfinish = () => {\n\t\t\t\tel.style.height = el.style.overflow = \"\";\n\t\t\t};\n\t\t});\n\t};\n\tconst closeAccordion = (el, callback) => {\n\t\tel = accordionContent(el);\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tel.style.overflow = \"hidden\";\n\t\t\tlet wrapper = el.parentNode;\n\t\t\tel.animate([{ height: `${el.scrollHeight}px` }, { height: 0 }], animate_options(wrapper)).onfinish = () => {\n\t\t\t\tel.style.height = el.style.overflow = \"\";\n\t\t\t\twrapper.querySelector(\":scope > .n-accordion__label\").setAttribute(\"aria-expanded\", false);\n\t\t\t\ttypeof callback !== 'function' || callback();\n\t\t\t\tif (wrapper.classList.contains('n-accordion--close-nested')) {\n\t\t\t\t\tel.querySelectorAll(\".n-accordion__label[aria-expanded='true']\").forEach(el => el.setAttribute(\"aria-expanded\", false));\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t};\n\tconst toggleAccordion = (e) => {\n\t\tlet el = e.target.closest('.n-accordion'); // el = .n-accordion\n\t\tif (!el.querySelector(\":scope > [aria-expanded='true']\")) {\n\t\t\tlet popin = el.closest(\".n-accordion__popin\");\n\t\t\tconst updateRow = () => {\n\t\t\t\tif (popin) {\n\t\t\t\t\tlet row = Math.floor(([...popin.children].indexOf(el) / getComputedStyle(popin).getPropertyValue(\"--n-popin-columns\")) * 1) + 2;\n\t\t\t\t\tpopin.style.setProperty(\"--n-popin-open-row\", row);\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (el.parentNode.matches('[role=\"group\"]') || popin) {\n\t\t\t\tlet other_accordion = el.parentNode.querySelector(\":scope > .n-accordion > [aria-expanded='true']\");\n\t\t\t\tif (other_accordion) {\n\t\t\t\t\tcloseAccordion(other_accordion.parentNode, () => { // el = .n-accordion\n\t\t\t\t\t\tupdateRow();\n\t\t\t\t\t\topenAccordion(el);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tupdateRow();\n\t\t\t\t\topenAccordion(el);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\topenAccordion(el);\n\t\t\t}\n\t\t} else {\n\t\t\tcloseAccordion(el);\n\t\t}\n\t};\n\n\tfunction init(host = document) {\n\t\thost.querySelectorAll(\".n-accordion:not([data-ready]) > .n-accordion__label\").forEach((el) => {\n\t\t\tel.addEventListener(\"click\", toggleAccordion);\n\t\t\tel.parentElement.querySelector(\":scope > input\")?.remove(); // Remove CSS-only solution\n\t\t\tel.parentNode.dataset.ready = true;\n\t\t\tel.setAttribute('aria-expanded', el.getAttribute('aria-expanded') === 'true');\n\t\t});\n\t}\n\tconst doInit = () => {\n\t\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-accordion\", init) : init();\n\t};\n\tif (document.readyState !== \"loading\") {\n\t\tdoInit();\n\t} else {\n\t\tdocument.addEventListener(\"DOMContentLoaded\", doInit);\n\t}\n})();\n//# sourceMappingURL=n-accordion@npm.js.map\n\n// import './node_modules/n-modal/n-modal.js';\n(function() {\n const ceilingWidth = (el) => Math.ceil(parseFloat(getComputedStyle(el).width));\n const ceilingHeight = (el) => Math.ceil(parseFloat(getComputedStyle(el).height));\n const focusableElements = 'button, [href], input, select, textarea, details, summary, video, [tabindex]:not([tabindex=\"-1\"])';\n // const _focusableElementsString = 'a[href],area[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),details,summary,iframe,object,embed,[contenteditable]';\n function isElementInViewport(el) {\n let rect = el.getBoundingClientRect();\n return (rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.offsetHeight) /* or $(window).height() */ && rect.right <= (window.innerWidth || document.documentElement.offsetWidth) /* or $(window).width() */ );\n }\n const default_duration = 500;\n const default_interval = 4000;\n const isChrome = !!navigator.userAgent.match(\"Chrome\");\n const isSafari = navigator.userAgent.match(/Safari/) && !isChrome;\n const isEndless = el => el.children.length > 2 && el.parentElement.classList.contains(\"n-carousel--endless\");\n const isFullScreen = () => { return !!(document.webkitFullscreenElement || document.fullscreenElement) };\n const isModal = el => { return el.closest(\".n-carousel\").classList.contains('n-carousel--overlay') };\n const isVertical = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--vertical\");\n const isAuto = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--auto-height\");\n const indexControls = index => {\n let controls_by_class = index.querySelectorAll('.n-carousel__control');\n return (controls_by_class.length > 0) ? controls_by_class : index.querySelectorAll('a, button');\n };\n const nextSlideHeight = (el) => {\n el.style.height = 0;\n el.style.overflow = \"auto\";\n const height = el.scrollHeight; // Ceiling when subpixel\n el.style.height = el.style.overflow = \"\";\n return height;\n };\n // const scrollableAncestor = (el) => {\n // \tel = el.parentNode;\n // \twhile (el) {\n // \t\tif (el.scrollHeight > el.offsetHeight || el.scrollWidth > el.offsetWidth) {\n // \t\t\treturn el;\n // \t\t} else {\n // \t\t\tel = el.parentNode;\n // \t\t}\n // \t}\n // \treturn false;\n // };\n const getIndex = (el) => 1 * (isVertical(el) ? el.dataset.y : el.dataset.x);\n const getIndexReal = (el) => {\n let active_slide = el.querySelector(':scope > [aria-current]');\n if (active_slide) {\n return [...el.children].indexOf(active_slide);\n } else {\n let hash_slide_index = (!!location.hash) ? [...el.children].indexOf(el.querySelector(`:scope > ${location.hash}`)) : 0;\n return (hash_slide_index > -1) ? hash_slide_index : 0;\n }\n // return active_slide ? [...el.children].indexOf(active_slide) : (el.querySelector(`:scope > ${location.hash}`) || 0);\n };\n const scrolledAncestor = (el) => {\n el = el.parentNode;\n while (el) {\n if (el.scrollTop !== 0 || el.scrollLeft !== 0) {\n return el;\n } else {\n el = el.parentNode;\n }\n }\n return false;\n };\n const scrolledAncestors = (el) => {\n let arr = [];\n let a = scrolledAncestor(el);\n while (a && typeof a.scrollLeft !== \"undefined\" && (a.scrollTop !== 0 || a.scrollLeft !== 0)) {\n arr.push(a);\n a = scrolledAncestor(a);\n }\n return arr;\n };\n const isRTL = (el) => getComputedStyle(el).direction === \"rtl\";\n const toggleFullScreen = (el) => {\n el = el.closest(\".n-carousel\");\n let carousel = el.querySelector(\":scope > .n-carousel__content\");\n const restoreScroll = () => {\n if (!isFullScreen()) {\n el.nuiAncestors.forEach((el) => {\n window.requestAnimationFrame(() => {\n el.scrollLeft = el.nuiScrollX;\n el.scrollTop = el.nuiScrollY;\n delete el.nuiScrollX;\n delete el.nuiScrollY;\n });\n });\n delete el.nuiAncestors;\n el.removeEventListener(\"webkitfullscreenchange\", restoreScroll);\n }\n };\n carousel.togglingFullScreen = true;\n if (isFullScreen()) {\n // Exit full screen\n !!document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen();\n if (isSafari) {\n // When exit finishes, update the carousel because on Safari 14, position is wrong or the slide is invisible\n setTimeout(() => {\n el.style.display = \"none\";\n window.requestAnimationFrame(() => {\n el.style.display = \"\";\n });\n }, 0);\n }\n if (isVertical(el) && isAuto(el)) {\n let updateExitFullScreen = e => {\n setTimeout(() => {\n let carousel = el.querySelector(\":scope > .n-carousel__content\");\n // console.log(carousel);\n // el.style.removeProperty('--height');\n // carousel.style.height = '';\n slideTo(carousel, parseInt(carousel.dataset.y));\n }, 100);\n el.removeEventListener('fullscreenchange', updateExitFullScreen);\n };\n el.addEventListener('fullscreenchange', updateExitFullScreen);\n }\n } else {\n // Enter full screen\n if (isSafari) {\n el.nuiAncestors = scrolledAncestors(el);\n el.nuiAncestors.forEach((el) => {\n el.nuiScrollX = el.scrollLeft;\n el.nuiScrollY = el.scrollTop;\n });\n el.addEventListener(\"webkitfullscreenchange\", restoreScroll, false);\n }!!el.requestFullscreen ? el.requestFullscreen() : el.webkitRequestFullscreen();\n }\n };\n const scrollStartX = (el) => el.scrollLeft; // Get correct start scroll position for LTR and RTL\n const scrollTo = (el, x, y) => {\n el.scrollTo(isRTL(el) ? -1 * Math.abs(x) : x, y); // Scroll to correct scroll position for LTR and RTL\n };\n const getScroll = (el) => (el === window ? {\n x: el.scrollX,\n y: el.scrollY\n } : {\n x: scrollStartX(el),\n y: el.scrollTop\n });\n let firstFocusableElement = null;\n let focusableContent = null;\n let lastFocusableElement = null;\n const focusHandler = e => {\n let isTabPressed = e.key === \"Tab\" || e.keyCode === 9;\n if (!isTabPressed) {\n return;\n }\n if (e.shiftKey) {\n // if shift key pressed for shift + tab combination\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus(); // add focus for the last focusable element\n e.preventDefault();\n }\n } else {\n // if tab key is pressed\n if (document.activeElement === lastFocusableElement) {\n // if focused has reached to last focusable element then focus first focusable element after pressing tab\n firstFocusableElement.focus(); // add focus for the first focusable element\n e.preventDefault();\n }\n }\n };\n const trapFocus = (modal, off = false) => {\n // FROM: https://uxdesign.cc/how-to-trap-focus-inside-modal-to-make-it-ada-compliant-6a50f9a70700\n // add all the elements inside modal which you want to make focusable\n firstFocusableElement = modal.querySelectorAll(focusableElements)[0]; // get first element to be focused inside modal\n focusableContent = modal.querySelectorAll(focusableElements);\n lastFocusableElement = focusableContent[focusableContent.length - 1]; // get last element to be focused inside modal\n if (off) {\n modal.removeEventListener(\"keydown\", focusHandler);\n } else {\n modal.addEventListener(\"keydown\", focusHandler);\n firstFocusableElement.focus();\n }\n };\n const inOutSine = (n) => (1 - Math.cos(Math.PI * n)) / 2;\n const paddingX = (el) => parseInt(getComputedStyle(el).paddingInlineStart) * 2;\n const paddingY = (el) => parseInt(getComputedStyle(el).paddingBlockStart) * 2;\n const getControl = (carousel, control) => {\n let detached_control = document.querySelector(`${control}[data-for=\"${carousel.id}\"]`);\n if (detached_control) {\n return detached_control;\n }\n for (let el of carousel.children) {\n if (el.matches(control)) {\n return el;\n }\n if (!el.matches(\".n-carousel__content\") && el.querySelector(control)) {\n return el.querySelector(control);\n }\n }\n };\n const closestCarousel = (el) => {\n var related_by_id = el.closest('[class*=\"n-carousel\"]').dataset.for;\n if (!!related_by_id) {\n return document.getElementById(related_by_id).querySelector(\".n-carousel__content\");\n } else {\n return el.closest(\".n-carousel\").querySelector(\".n-carousel__content\");\n }\n };\n const scrollAnimate = (el, distanceX, distanceY, new_height, old_height = false) => new Promise((resolve, reject) => {\n // Thanks https://stackoverflow.com/posts/46604409/revisions\n let wrapper = el.closest(\".n-carousel\");\n if (!!wrapper.nextSlideInstant || !wrapper.dataset.ready || window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches || wrapper.matches(\".n-carousel--instant\")) {\n scrollTo(el, getScroll(el).x + distanceX, getScroll(el).y + distanceY);\n el.style.height = `${new_height}px`;\n delete wrapper.nextSlideInstant;\n updateCarousel(el);\n resolve(el);\n return;\n }\n observersOff(el);\n let scroll_changing = true;\n if (distanceX === 0 && distanceY === 0) {\n scroll_changing = false;\n }\n if (!!new_height) {\n el.style.height = `${old_height}px`;\n if (isVertical(el) && isAuto(el)) {\n el.style.setProperty('--subpixel-compensation', 0);\n }\n } else {\n if (!isVertical(el)) {\n el.style.height = \"\";\n }\n }\n var startx = getScroll(el).x;\n var starty = getScroll(el).y;\n var starth = parseInt(el.style.height);\n var distanceH = new_height - starth;\n var duration = parseFloat(el.parentNode.dataset.duration) * 1000 || default_duration;\n var start = null;\n let startAnim = (timeStamp) => {\n start = timeStamp;\n draw(timeStamp);\n };\n let draw = (now) => {\n if (now - start >= duration) {\n window.requestAnimationFrame(() => {\n scrollTo(el, startx + distanceX, starty + distanceY);\n if (new_height) {\n el.style.height = `${new_height}px`;\n }\n updateCarousel(el);\n });\n resolve(el);\n return;\n }\n var p = (now - start) / duration;\n var val = inOutSine(p);\n var x = startx + distanceX * val;\n var y = starty + distanceY * val;\n if (scroll_changing) {\n scrollTo(el, x, y);\n }\n if (new_height) {\n window.requestAnimationFrame(() => {\n el.style.height = `${starth + distanceH * val}px`;\n }); // Timeout because Safari can't do scroll and height at once\n }\n requestAnimationFrame(draw);\n };\n requestAnimationFrame(startAnim);\n });\n const updateCarousel = (el, forced = false) => { // Forced means never skip unnecessary update\n // Called on init and scroll end\n observersOff(el);\n let saved_x = el.dataset.x; // On displaced slides and no change\n let saved_y = el.dataset.y;\n if (!el.togglingFullScreen) {\n if (el.openingModal) {\n delete el.openingModal;\n scrollTo(el, el.offsetWidth * el.dataset.x, el.offsetHeight * el.dataset.y);\n } else {\n el.dataset.x = Math.abs(Math.round(scrollStartX(el) / ceilingWidth(el.firstElementChild)));\n el.dataset.y = Math.abs(Math.round(el.scrollTop / ceilingHeight(el.firstElementChild)));\n }\n } else {\n delete el.togglingFullScreen;\n }\n // When inline\n if (el.dataset.x === \"NaN\") {\n el.dataset.x = 0;\n }\n if (el.dataset.y === \"NaN\") {\n el.dataset.y = 0;\n }\n let active_index = getIndex(el);\n if (active_index >= el.children.length) {\n active_index = el.children.length - 1;\n }\n // console.log('update at', active_index, el.dataset.x, el.dataset.y);\n let old_active_slide = el.querySelector(\":scope > [aria-current]\");\n let wrapper = el.parentElement;\n if (!wrapper.classList.contains(\"n-carousel--auto-height\")) {\n // Dynamic change from auto height to normal\n el.style.height = \"\";\n }\n let active_slide = el.children[active_index];\n if (old_active_slide && !forced) {\n if (active_slide === old_active_slide) {\n // Scroll snapping back to the same slide. Nothing to do here.\n el.dataset.x = saved_x;\n el.dataset.y = saved_y;\n observersOn(el);\n return;\n }\n old_active_slide.removeAttribute('aria-current');\n old_active_slide.style.height = \"\";\n if (!isVertical(el)) {\n el.style.height = \"\";\n }\n }\n var active_index_logical = active_index;\n // active_slide.ariaCurrent = true; // Unsupported by FF\n active_slide.setAttribute('aria-current', true);\n active_index_logical = getIndexReal(el);\n el.dataset.x = el.dataset.y = active_index_logical;\n // Endless carousel\n const restoreDisplacedSlides = el => {\n el.querySelectorAll(\":scope > [data-first]\").forEach(el2 => {\n el.append(el.firstElementChild);\n delete el2.dataset.first;\n active_index--;\n });\n el.querySelectorAll(\":scope > [data-last]\").forEach(el2 => {\n el.prepend(el.lastElementChild);\n delete el2.dataset.last;\n active_index++;\n });\n };\n wrapper.dataset.sliding = true;\n if (isEndless(el)) {\n if (active_index === 0) {\n if (!active_slide.dataset.first) {\n // Move the last one to the front as [data-first]\n if (el.lastElementChild.dataset.last) {\n delete el.lastElementChild.dataset.last;\n active_index_logical = 1;\n } else {\n el.lastElementChild.dataset.first = true;\n }\n el.prepend(el.lastElementChild);\n active_index = 1;\n } else {\n // Landed on fake first slide. Move it to the back, remove its [data-first] and move the first one to the back as [data-last]\n delete el.firstElementChild.dataset.first;\n el.append(el.firstElementChild);\n el.firstElementChild.dataset.last = true;\n el.append(el.firstElementChild);\n active_index_logical = el.children.length - 1;\n active_index = el.children.length - 2;\n }\n } else {\n if (active_index === el.children.length - 1) {\n if (!active_slide.dataset.last) {\n // Move the first one to the back as [data-last]\n if (el.firstElementChild.dataset.first) {\n delete el.firstElementChild.dataset.first;\n active_index_logical = el.children.length - 2;\n } else {\n el.firstElementChild.dataset.last = true;\n }\n el.append(el.firstElementChild);\n active_index = el.children.length - 2;\n } else {\n // Landed on fake last slide. Move it to the front, remove its [data-last] and move the last one to the front as [data-first]\n delete el.lastElementChild.dataset.last;\n el.prepend(el.lastElementChild);\n el.lastElementChild.dataset.first = true;\n el.prepend(el.lastElementChild);\n active_index_logical = 0;\n active_index = 1;\n }\n } else {\n // Middle slide\n restoreDisplacedSlides(el);\n active_index_logical = Math.max(0, [...el.children].indexOf(el.querySelector(\":scope > [aria-current]\"))); // Fixes position when sliding to/from first slide; max because of FF returning -1\n }\n }\n window.requestAnimationFrame(() => {\n el.dataset.x = el.dataset.y = active_index_logical;\n let scroll_x = ceilingWidth(el.firstElementChild) * active_index;\n let scroll_y = ceilingHeight(el.firstElementChild) * active_index;\n // console.log('updateCarousel() scrolling at', scroll_x);\n el.scroll_x = scroll_x;\n el.scroll_y = scroll_y;\n scrollTo(el, scroll_x, scroll_y); // First element size, because when Peeking, it differs from carousel size\n delete el.scroll_x;\n delete el.scroll_y;\n });\n } else { // Check and restore dynamically disabled endless option\n restoreDisplacedSlides(el);\n active_index_logical = Math.max(0, [...el.children].indexOf(el.querySelector(\":scope > [aria-current]\"))); // Fixes position when sliding to/from first slide; max because of FF returning -1\n }\n active_slide.style.height = \"\";\n wrapper.style.setProperty(\"--height\", `${el.parentNode.classList.contains(\"n-carousel--auto-height\") ? nextSlideHeight(active_slide) : active_slide.scrollHeight}px`);\n window.requestAnimationFrame(() => {\n if (!el.parentNode.dataset.ready && isAuto(el) && isVertical(el)) {\n el.style.height = `${parseFloat(getComputedStyle(el).height) - paddingY(el)}px`;\n }\n });\n // Sliding to a slide with a hash? Update the URI\n if (getComputedStyle(el).visibility !== 'hidden') {\n let previously_active = document.activeElement;\n let hash = active_slide.id;\n if (!!el.parentNode.dataset.ready && !!hash && !el.parentNode.closest('.n-carousel__content')) { // Hash works only with top-level carousel\n location.hash = `#${hash}`;\n }\n if (!!el.parentNode.dataset.ready && !hash && !el.parentNode.closest('.n-carousel__content') && window.nCarouselNav) { // Hash works only with top-level carousel\n location.hash = '';\n }\n previously_active.focus();\n }\n // Fix buttons\n let index = getControl(el.closest(\".n-carousel\"), \".n-carousel__index\");\n if (!!index) {\n index.querySelector(\"[aria-current]\")?.removeAttribute('aria-current');\n // index.children[active_index_logical].ariaCurrent = true; // Unsupported by FF\n indexControls(index)[active_index_logical].setAttribute('aria-current', true);\n }\n // Disable focus on children of non-active slides\n // Active slides of nested carousels should also have disabled focus\n [...el.children].forEach(el => { // Native \"inert\" attribute to replace the below \"focusDisabled\" loops from June 2022. \n el.inert = (el === active_slide) ? false : true;\n if (isSafari && el.querySelector('.n-carousel:-webkit-full-screen')) {\n // Safari full screen bug: parent scroll resets to 0, first slide becomes active and the full screen child lightbox is inside an inert parent\n let current = el.parentNode.querySelector(':scope > [aria-current=\"true\"]');\n current.inert = true;\n current.removeAttribute('aria-current');\n el.inert = false;\n el.setAttribute('aria-current', true);\n }\n });\n // Obsoleted by inert – start\n // [...el.children].forEach((slide) => {\n // if (slide !== active_slide) {\n // slide.setAttribute('aria-hidden', true);\n // slide.querySelectorAll(focusableElements).forEach((el2) => {\n // if (el2.closest(\".n-carousel__content > :not([aria-current])\")) {\n // if (el2.getAttribute(\"tabindex\") && !el2.dataset.focusDisabled) {\n // el2.dataset.oldTabIndex = el2.tabIndex;\n // }\n // el2.dataset.focusDisabled = true;\n // el2.tabIndex = -1;\n // }\n // });\n // }\n // });\n // active_slide.removeAttribute('aria-hidden');\n // active_slide.querySelectorAll(\"[data-focus-disabled]\").forEach((el2) => {\n // if (!el2.closest(\".n-carousel__content > :not([aria-current])\")) {\n // el2.removeAttribute(\"tabindex\");\n // delete el2.dataset.focusDisabled;\n // if (!!el2.dataset.oldTabIndex) {\n // el2.tabIndex = el2.dataset.oldTabIndex;\n // delete el2.dataset.oldTabIndex;\n // }\n // }\n // });\n // Obsoleted by inert – end\n if (/--vertical.*--auto-height/.test(wrapper.classList)) { // Undo jump to wrong slide when sliding to the last one\n el.scrollTop = el.offsetHeight * active_index_logical;\n }\n window.requestAnimationFrame(() => {\n observersOn(el);\n });\n };\n const slide = (el, offsetX = 0, offsetY = 0, index) => {\n clearTimeout(el.nCarouselTimeout);\n observersOff(el);\n if (!el.parentNode.dataset.sliding) {\n el.parentNode.dataset.sliding = true;\n let old_height = el.children[getIndexReal(el)].offsetHeight;\n let new_height = old_height;\n if (isAuto(el)) {\n let old_scroll_left = scrollStartX(el);\n let old_scroll_top = el.scrollTop;\n let slide = el.children[index];\n if (isVertical(el)) {\n slide.style.height = 'auto';\n let computed_max_height = getComputedStyle(el).maxHeight;\n let max_height = computed_max_height.match(/px/) ? Math.ceil(parseFloat(computed_max_height)) : 99999;\n // new_height = Math.min(slide.scrollHeight, max_height);\n new_height = Math.min(Math.ceil(parseFloat(getComputedStyle(slide).height)), max_height);\n // new_height = slide.scrollHeight;\n slide.style.height = '';\n } else {\n new_height = nextSlideHeight(slide);\n let old_height = getIndexReal(el) === index ? new_height : nextSlideHeight(el.children[getIndexReal(el)]);\n el.parentNode.style.setProperty(\"--height\", `${old_height}px`);\n }\n scrollTo(el, old_scroll_left + paddingX(el) / 2, old_scroll_top); // iPad bug\n scrollTo(el, old_scroll_left, old_scroll_top);\n }\n if (isVertical(el)) {\n if ((isModal(el) || isFullScreen()) && isAuto(el)) {\n old_height = new_height = el.offsetHeight;\n }\n offsetY = offsetY - index * old_height + index * new_height;\n }\n // console.log(index, offsetX, offsetY);\n window.requestAnimationFrame(() => {\n if (!el.parentNode.dataset.duration && !isAuto(el)) { // Unspecified duration, using native smooth scroll\n delete el.parentNode.dataset.sliding;\n el.dataset.next = index;\n el.scrollTo({\n top: el.scrollTop + offsetY,\n left: el.scrollLeft + offsetX,\n behavior: window.matchMedia('(prefers-reduced-motion: reduce)').matches ? \"auto\" : \"smooth\"\n });\n } else {\n scrollAnimate(el, offsetX, offsetY, new_height === old_height ? false : new_height, old_height); // Vertical version will need ceiling value\n }\n });\n }\n };\n const slideNext = (el) => {\n let index = getIndexReal(el);\n slideTo(el, index >= el.children.length - 1 ? 0 : index + 1);\n };\n const slidePrevious = (el) => {\n let index = getIndexReal(el);\n slideTo(el, index === 0 ? el.children.length - 1 : index - 1);\n };\n const slideTo = (el, index) => {\n if (isVertical(el)) {\n slide(el, 0, ceilingHeight(el.children[index]) * index - el.scrollTop, index);\n } else {\n let width = Math.ceil(parseFloat(getComputedStyle(el.children[index]).width));\n let new_offset = isRTL(el) ? Math.abs(scrollStartX(el)) - width * index : width * index - scrollStartX(el);\n slide(el, new_offset, 0, index);\n }\n };\n const carouselKeys = (e) => {\n // console.log('keydown', e);\n return;\n };\n const slidePreviousEvent = (e) => slidePrevious(closestCarousel(e.target.closest('[class*=\"n-carousel\"]')));\n const slideNextEvent = (e) => slideNext(closestCarousel(e.target.closest('[class*=\"n-carousel\"]')));\n const slideIndexEvent = (e) => {\n let el = e.target.closest(\"a, button\");\n if (el && !(el.href && (e.ctrlKey || e.metaKey))) {\n const wrapper = document.querySelector(`.n-carousel#${el.parentNode.dataset.for}`) || el.closest(\".n-carousel\");\n const carousel = wrapper.querySelector(\":scope > .n-carousel__content\");\n let new_index = [...indexControls(el.parentNode)].indexOf(el);\n if (isEndless(carousel)) {\n var old_index = getIndex(carousel);\n if (old_index === 0) {\n if (new_index === carousel.children.length - 1) {\n new_index = 0;\n } else {\n new_index++;\n }\n }\n if (old_index === carousel.children.length - 1) {\n if (new_index === 0) {\n new_index = carousel.children.length - 1;\n } else {\n new_index--;\n }\n }\n }\n if (wrapper.classList.contains(\"n-carousel--inline\") && !isModal(carousel)) { // Opening an inline carousel\n wrapper.nextSlideInstant = true;\n // wrapper.classList.add(\"n-carousel--overlay\"); // Should trigger mutation and auto update?\n openModal(carousel);\n // Set new x, y\n window.requestAnimationFrame(() => {\n carousel.dataset.x = carousel.dataset.y = new_index;\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n document.body.dataset.frozen = document.body.scrollTop;\n updateCarousel(carousel);\n });\n } else {\n window.requestAnimationFrame(() => {\n slideTo(carousel, new_index);\n });\n }\n return false;\n }\n };\n const closeModal = (el) => {\n if (isFullScreen()) {\n !!document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen();\n }\n let carousel = closestCarousel(el);\n if (carousel) {\n carousel.closest(\".n-carousel\").classList.remove(\"n-carousel--overlay\");\n trapFocus(carousel.closest(\".n-carousel\"), true); // Disable focus trap\n delete document.body.dataset.frozen;\n }\n };\n const openModal = (el) => {\n let carousel = closestCarousel(el);\n if (carousel) {\n carousel.openingModal = true;\n carousel.closest(\".n-carousel\").classList.add(\"n-carousel--overlay\");\n trapFocus(carousel.closest(\".n-carousel\"));\n }\n };\n const autoHeightObserver = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let slide = e.target.querySelector(\":scope > [aria-current]\");\n let el = slide.closest(\".n-carousel__content\");\n if (!el.parentElement.dataset.sliding) {\n // console.log(e.target);\n el.parentNode.style.removeProperty('--height');\n if (isVertical(el)) {\n slide.style.height = 'auto';\n el.style.height = `${slide.scrollHeight}px`;\n slide.style.height = '';\n updateCarousel(el);\n } else {\n el.style.height = '';\n el.style.height = `${slide.scrollHeight}px`;\n updateCarousel(el, true);\n }\n }\n });\n });\n });\n const updateSubpixels = (el) => {\n if (!el.parentNode.dataset.sliding) {\n // Round down the padding, because sub pixel padding + scrolling is a problem\n let carousel = el;\n carousel.style.padding = ''; // Subpixel peeking fix\n carousel.style.removeProperty(\"--peek-int\");\n carousel.style.padding = isVertical(carousel) ? `${parseInt(getComputedStyle(carousel).paddingBlockStart)}px 0` : `0 ${parseInt(getComputedStyle(carousel).paddingInlineStart)}px`;\n if (carousel.style.padding === '0px') {\n carousel.style.padding = '';\n } else {\n // For Safari, which doesn't support inline end padding in a scrollable container\n carousel.style.setProperty(\"--peek-int\", isVertical(carousel) ? `${parseInt(getComputedStyle(carousel).paddingBlockStart)}px 0 0 0` : `0 ${parseInt(getComputedStyle(carousel).paddingInlineStart)}px 0 0`);\n }\n window.requestAnimationFrame(() => {\n if (isVertical(el)) {\n carousel.style.setProperty(\"--subpixel-compensation\", Math.ceil(carousel.getBoundingClientRect().height) - carousel.getBoundingClientRect().height);\n } else {\n carousel.style.setProperty(\"--subpixel-compensation\", Math.ceil(carousel.getBoundingClientRect().width) - carousel.getBoundingClientRect().width);\n }\n let offset = getIndexReal(carousel); // Real offset including displaced first/last slides\n scrollTo(carousel, offset * ceilingWidth(carousel.firstElementChild), offset * ceilingHeight(carousel.firstElementChild));\n });\n }\n };\n const observersOn = (el) => {\n window.requestAnimationFrame(() => {\n // setTimeout(() => {\n if (el.scroll_x && el.scroll_y) {\n scrollTo(el, el.scroll_x, el.scroll_y);\n }\n delete el.parentNode.dataset.sliding;\n // }, 0);\n if (el.parentNode.matches(\".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height\")) {\n height_minus_index.observe(el.parentNode);\n } else {\n height_minus_index.unobserve(el.parentNode);\n }\n subpixel_observer.observe(el);\n mutation_observer.observe(el.parentNode, {\n attributes: true,\n attributeFilter: [\"class\"],\n });\n });\n };\n const observersOff = (el) => {\n height_minus_index.unobserve(el.parentNode);\n subpixel_observer.unobserve(el);\n el.observerStarted = true;\n };\n const updateObserver = (el) => {\n observersOff(el);\n const doUpdate = el => {\n updateSubpixels(el);\n window.requestAnimationFrame(() => {\n let current_height = el.querySelector(\":scope > [aria-current]\").scrollHeight + \"px\";\n let previous_height = getComputedStyle(el).getPropertyValue(\"--height\");\n if (current_height !== previous_height) {\n el.parentNode.style.setProperty(\"--height\", current_height);\n }\n observersOn(el);\n });\n };\n doUpdate(el);\n el.querySelectorAll('.n-carousel__content').forEach(el => doUpdate(el));\n };\n const subpixel_observer = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let el = e.target;\n if (!!el.observerStarted) {\n el.observerStarted = false;\n return;\n }\n updateObserver(el);\n });\n });\n });\n const mutation_observer = new MutationObserver((mutations) => {\n for (let mutation of mutations) {\n if (mutation.target && !mutation.target.nextSlideInstant) {\n let carousel = mutation.target.querySelector(\":scope > .n-carousel__content\");\n updateObserver(carousel);\n updateCarousel(carousel, true);\n }\n }\n });\n const setIndexWidth = (el) => {\n let index = el.querySelector(\":scope > .n-carousel__index\");\n if (index && !el.dataset.sliding) {\n el.style.removeProperty(\"--height-minus-index\");\n index.style.position = \"absolute\";\n el.style.setProperty(\"--height-minus-index\", `${el.offsetHeight}px`);\n el.style.setProperty(\"--index-width\", getComputedStyle(el.querySelector(\":scope > .n-carousel__index\")).width);\n index.style.position = \"\";\n }\n };\n const height_minus_index = new ResizeObserver((entries) => {\n // Limit outside index height to carousel height\n window.requestAnimationFrame(() => {\n // Observing the carousel wrapper\n entries.forEach((e) => {\n let el = e.target;\n setIndexWidth(el);\n });\n });\n });\n const init = (host = document) => {\n host.querySelectorAll(\".n-carousel:not([data-ready])\").forEach((el) => {\n const previous = getControl(el, \".n-carousel__previous\");\n const next = getControl(el, \".n-carousel__next\");\n const index = getControl(el, \".n-carousel__index\");\n const close_modal = getControl(el, \".n-carousel__close\");\n const full_screen = getControl(el, \".n-carousel__full-screen\");\n const content = el.querySelector(\":scope > .n-carousel__content\");\n if (!content) {\n return;\n }\n if (!!previous) {\n previous.onclick = slidePreviousEvent;\n }\n if (!!next) {\n next.onclick = slideNextEvent;\n }\n if (!!index) {\n index.onclick = slideIndexEvent;\n }\n if (!!close_modal) {\n close_modal.onclick = e => {\n if (e.target.closest('.n-carousel').classList.contains('n-carousel--overlay')) {\n closeModal(e.target);\n } else {\n openModal(e.target);\n }\n };\n }\n if (!!full_screen) {\n full_screen.onclick = (e) => {\n let carousel = e.target.closest(\".n-carousel\").querySelector(\":scope > .n-carousel__content\");\n carousel.dataset.xx = carousel.dataset.x;\n carousel.dataset.yy = carousel.dataset.y;\n toggleFullScreen(e.target);\n };\n const fullScreenEvent = (e) => {\n let carousel = e.target.querySelector(\":scope > .n-carousel__content\");\n window.requestAnimationFrame(() => {\n updateCarousel(carousel);\n carousel.dataset.x = carousel.dataset.xx;\n carousel.dataset.y = carousel.dataset.yy;\n delete carousel.dataset.xx;\n delete carousel.dataset.yy;\n if (carousel.dataset.x !== \"undefined\" && carousel.dataset.y !== \"undefined\") {\n scrollTo(carousel, carousel.dataset.x * ceilingWidth(carousel.children[carousel.dataset.x]), carousel.dataset.y * ceilingHeight(carousel.children[carousel.dataset.y]));\n }\n });\n };\n if (isSafari) {\n el.onwebkitfullscreenchange = fullScreenEvent;\n } else {\n el.onfullscreenchange = fullScreenEvent;\n }\n }\n content.addEventListener(\"keydown\", carouselKeys);\n el.addEventListener(\"keyup\", (e) => {\n if (e.key === \"Escape\") {\n let el = e.target;\n if (!el.closest('.n-carousel--overlay')) {\n el = document.querySelector('.n-carousel--overlay');\n }\n if (el) {\n closeModal(el);\n }\n }\n });\n updateSubpixels(content);\n content.observerStarted = true;\n let hashed_slide = !!location.hash ? content.querySelector(\":scope > \" + location.hash) : false;\n if (hashed_slide) {\n if (el.classList.contains('n-carousel--inline')) {\n openModal(content);\n // el.classList.add('n-carousel--overlay');\n }\n let index = [...hashed_slide.parentNode.children].indexOf(hashed_slide);\n if (isVertical(content)) {\n content.dataset.y = index;\n } else {\n content.dataset.x = index;\n }\n // slideTo(content, index); // This slides to the wrong slide\n window.nCarouselNav = [content, location.hash];\n }\n if (el.matches(\".n-carousel--vertical.n-carousel--auto-height\")) {\n content.style.height = '';\n content.style.height = getComputedStyle(content).height;\n el.dataset.ready = true;\n content.scrollTop = 0; // Should be a different value if the initial active slide is other than the first one (unless updateCarousel() takes care of it)\n }\n if (el.matches(\".n-carousel--auto-height\")) {\n // Auto has a specified height which needs update on resize\n autoHeightObserver.observe(content);\n }\n window.requestAnimationFrame(() => {\n observersOn(content);\n if (el.parentNode.matches(\".n-carousel--vertical.n-carousel--controls-outside.n-carousel--auto-height\")) {\n setIndexWidth(el);\n }\n updateCarousel(content);\n el.dataset.ready = true;\n if (el.matches(\".n-carousel--auto-slide\")) {\n let auto_delay = (parseFloat(el.dataset.interval) * 1000 || default_interval) + (parseFloat(el.dataset.duration) * 1000 || default_duration);\n let carouselTimeout = () => {\n if (isElementInViewport(content)) {\n slideNext(content);\n }\n content.nCarouselTimeout = setTimeout(carouselTimeout, auto_delay);\n };\n content.nCarouselTimeout = setTimeout(carouselTimeout, parseFloat(el.dataset.interval) * 1000 || default_interval);\n content.addEventListener(\"pointerenter\", (e) => clearTimeout(e.target.nCarouselTimeout));\n }\n el.dataset.platform = navigator.platform; // iPhone doesn't support full screen, Windows scroll works differently\n });\n content.nCarouselUpdate = updateCarousel;\n const targets = content.querySelectorAll(':scope > *');\n const inView = target => {\n const interSecObs = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n let slide = entry.target;\n let carousel = slide.parentNode;\n if (entry.isIntersecting && !carousel.parentNode.dataset.sliding && getComputedStyle(carousel).visibility !== 'hidden') {\n if (carousel.dataset.next && parseInt(carousel.dataset.next) !== [...carousel.children].indexOf(slide)) {\n return;\n }\n delete carousel.dataset.next;\n observersOff(el);\n carousel.scrollLeft;\n carousel.scrollTop;\n let interval = 10; // Get rid of this magic number by timeout comparison with previous scroll offset\n let timeout_function = () => {\n // console.log(entry, entry.target, 'is intersecting at', entry.target.parentElement.scrollLeft, entry.target.parentElement.scrollTop);\n // if (Math.abs(x - carousel.scrollLeft) >= 1) {\n // console.log('intersection continue', x, carousel.scrollLeft, y, carousel.scrollLeft);\n // clearTimeout(timeout);\n // timeout = setTimeout(timeout_function, interval);\n // return;\n // }\n // console.log('intersection ', x, carousel.scrollLeft, y, carousel.scrollLeft);\n let index = [...carousel.children].indexOf(slide);\n if (isAuto(carousel)) {\n let old_height = parseFloat(getComputedStyle(carousel).height);\n let new_height;\n let offset_y = 0;\n let lastScrollX = carousel.scrollLeft;\n let lastScrollY = carousel.scrollTop;\n if (isVertical(carousel)) {\n let scroll_offset = carousel.scrollTop;\n slide.style.height = 'auto';\n let computed_max_height = getComputedStyle(el).maxHeight;\n let max_height = computed_max_height.match(/px/) ? Math.ceil(parseFloat(computed_max_height)) : 99999;\n // new_height = Math.min(slide.scrollHeight, max_height);\n new_height = Math.min(Math.ceil(parseFloat(getComputedStyle(slide).height)), max_height);\n // new_height = slide.scrollHeight;\n if (isModal(carousel) || isFullScreen()) {\n old_height = new_height = carousel.offsetHeight;\n }\n slide.style.height = '';\n carousel.scrollTop = scroll_offset;\n offset_y = index * new_height - carousel.scrollTop;\n } else {\n new_height = nextSlideHeight(slide); // ?\n // console.log(lastScrollX);\n if (!!lastScrollX) { // Because RTL auto height landing on first slide creates an infinite intersection observer loop\n scrollTo(carousel, lastScrollX, lastScrollY);\n }\n }\n if (old_height === new_height) {\n new_height = false;\n }\n carousel.parentNode.dataset.sliding = true;\n // interSecObs.unobserve(slide);\n window.requestAnimationFrame(() => {\n scrollAnimate(carousel, 0, offset_y, new_height, old_height).then(() => {});\n });\n } else {\n // console.log(carousel);\n window.requestAnimationFrame(() => {\n updateCarousel(carousel);\n });\n }\n // updateCarousel(entry.target.parentNode);\n };\n setTimeout(timeout_function, interval);\n }\n });\n }, { threshold: .996, root: target.parentElement }); // .99 works for all, including vertical auto height\n interSecObs.observe(target);\n // console.log('intersection observing ', target)\n };\n targets.forEach(inView);\n if (el.matches('.n-carousel--lightbox')) {\n let loaded = img => {\n img.closest('picture').dataset.loaded = true;\n };\n content.querySelectorAll(\"picture img\").forEach(el => {\n if (el.complete) {\n loaded(el);\n } else {\n el.addEventListener(\"load\", e => {\n loaded(e.target);\n });\n }\n });\n }\n });\n };\n window.nCarouselInit = init;\n window.addEventListener('popstate', e => { // Hash navigation support\n // console.log(e);\n if (!!location.hash) {\n let el = document.querySelector(location.hash);\n let carousel = el?.parentNode;\n if (!!carousel && carousel.classList.contains('n-carousel__content') && !carousel.parentNode.closest('.n-carousel__content')) {\n let modal_carousel = document.querySelector('.n-carousel--overlay > .n-carousel__content');\n if (modal_carousel && modal_carousel !== carousel) {\n closeModal(modal_carousel);\n // modal_carousel.parentNode.classList.remove('n-carousel--overlay');\n }\n if (carousel.parentNode.classList.contains('n-carousel--inline')) {\n closeModal(carousel);\n // carousel.parentNode.classList.add('n-carousel--overlay');\n }\n if (isSafari) { // Safari has already scrolled and needs to rewind it scroll position in order to animate it\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n }\n slideTo(carousel, [...carousel.children].indexOf(el));\n window.nCarouselNav = [carousel, location.hash];\n }\n } else {\n if (window.nCarouselNav) { // Previously navigated to a slide\n let carousel = window.nCarouselNav[0];\n delete window.nCarouselNav;\n if (isSafari) { // Safari has already scrolled and needs to rewind it scroll position in order to animate it\n scrollTo(carousel, carousel.offsetWidth * carousel.dataset.x, carousel.offsetHeight * carousel.dataset.y);\n }\n slideTo(carousel, [...carousel.children].indexOf(carousel.querySelector(':scope > :not([id])')));\n }\n }\n });\n const doInit = () => {\n (typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-carousel\", init): init();\n };\n if (document.readyState !== \"loading\") {\n doInit();\n } else {\n document.addEventListener(\"DOMContentLoaded\", doInit);\n }\n})();\n//# sourceMappingURL=n-carousel@npm.js.map\n\n/* Modal – start */\n(function() {\n var scroll_timeout;\n const blockScroll = e => {\n // console.log(e);\n // if (isSafari) {\n document.querySelectorAll('dialog.n-modal[open]').forEach(el => {\n el.classList.add('n-modal--transparent');\n });\n clearTimeout(scroll_timeout);\n scroll_timeout = setTimeout(() => {\n document.querySelectorAll('dialog.n-modal[open]').forEach(el => {\n el.classList.remove('n-modal--transparent');\n });\n }, 67);\n // } else {\n // window.scrollTo(x, y);\n // }\n };\n\n function disableScrolling() {\n // window.onscroll = function() { window.scrollTo(x, y); };\n window.addEventListener('scroll', blockScroll, { 'passive': 'true' });\n }\n\n function enableScrolling() {\n // window.onscroll = function() {};\n window.removeEventListener('scroll', blockScroll);\n }\n // var previouslyFocused = previouslyFocused || false;\n function transferClass(origin, target, className) {\n let classes = typeof className === \"string\" ? new Array(className) : className;\n classes.forEach(el => {\n if (origin.classList.contains(el)) {\n target.classList.add(el);\n }\n });\n }\n const animationDuration = () => window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? (getComputedStyle(document.querySelector('.n-modal')).getPropertyValue('--duration') * 1000) : 0;\n let removeModal = e => {\n document.documentElement.classList.remove('transparent-scrollbar');\n let modal = e.target;\n modal.removeEventListener('close', removeModal);\n if (modal.existingDetachedElement) {\n // console.log(modal);\n if (!modal.existingModal) {\n let content = modal.querySelector('.n-modal__content');\n content.removeChild(content.firstElementChild);\n }\n delete modal.existingDetachedElement;\n modal.remove();\n }\n if (modal.attachedHiddenContent) {\n modal.replaceWith(modal.lastChild);\n } else {\n if (modal.dataset.existingAttachedContent) {\n modal.replaceWith(modal.lastChild.firstElementChild);\n } else {\n if (modal.existingModal) {\n delete modal.existingModal;\n delete modal.dataset.anim;\n } else {\n modal.remove();\n }\n }\n }\n };\n\n function closeModal(modal) {\n let direction_option = \"normal\";\n var animation = modal.dataset.anim; // Custom animation?\n if (!animation || animation.length < 11) {\n // '', 'null' or 'undefined'?\n animation = '[{ \"transform\": \"translate3d(0,0,0)\" }, { \"transform\": \"translate3d(0,-100vh,0)\" }]';\n } else {\n direction_option = \"reverse\";\n }\n modal.classList.add('n-modal--closing');\n setTimeout(() => { modal.classList.remove('n-modal--closing'); }, animationDuration());\n modal.animate(JSON.parse(animation), { duration: animationDuration(), direction: direction_option, easing: \"ease-in-out\" }).onfinish = () => {\n enableScrolling();\n // nuiDisableBodyScroll(false, modal); // Turn off and restore page scroll\n if (modal.existingModal) {\n if (!modal.existingDetachedElement) {\n modal.removeEventListener('close', removeModal);\n }\n // delete modal.existingModal;\n delete modal.dataset.anim;\n }\n modal.close();\n // document.querySelector(\"html\").classList.remove(\"no-scroll\");\n // window.scrollTo(modal.previousScrollX, modal.previousScrollY);\n };\n }\n\n function openModal(options) {\n // options: {content: \"\"/element, animation: \"\", trigger: element, closeSymbol: \"\", closeLabel: \"\"}\n // content is either an HTML string or an element\n // options can be solely content if it's a string or element\n // Fix Chrome flashing disappearing scrollbars on open\n document.documentElement.style.overflow = 'scroll';\n const scrollbar_width = window.innerWidth - document.documentElement.offsetWidth;\n document.documentElement.style.overflow = '';\n if (!scrollbar_width) { // Because Chrome flashes disappearing scrollbars on open (Mac)\n document.documentElement.classList.add('transparent-scrollbar');\n }\n if (typeof options === 'string' || !!options.tagName) {\n options = { content: options };\n }\n let animation = options.animation;\n let content = options.content;\n let trigger = options.trigger;\n var wrapper = {};\n var existingDetachedElement = false;\n if (content.parentNode) {\n // console.log(content.parentNode);\n if (content.parentNode.tagName === 'DIALOG' || content.parentNode.classList.contains('n-modal__content')) {\n return;\n }\n } else {\n if (content.tagName) {\n existingDetachedElement = true;\n }\n }\n const close_label = 'Close';\n const close_symbol = '╳';\n if (typeof content === 'object' && content.tagName === 'DIALOG') {\n if (!content.parentNode) { // Detached modal\n document.body.appendChild(content);\n }\n wrapper = content;\n wrapper.existingModal = true;\n let close_button = wrapper.querySelector('.n-modal__close');\n if (close_button) {\n close_button.dataset.closeSymbol = close_button.dataset.closeSymbol || close_symbol;\n close_button.ariaLabel = close_button.ariaLabel || close_label;\n }\n } else {\n wrapper = document.createElement(\"dialog\");\n wrapper.insertAdjacentHTML(\"afterbegin\", `
`);\n document.createElement(\"div\");\n if (typeof content === \"string\") {\n wrapper.lastChild.innerHTML = content;\n document.body.appendChild(wrapper);\n } else {\n let parent = content.parentElement;\n if (parent) {\n let marker = document.createElement('div');\n content.replaceWith(marker);\n wrapper.lastChild.appendChild(content);\n marker.replaceWith(wrapper);\n if (content.classList.contains('n-modal__content')) {\n wrapper.lastChild.replaceWith(content);\n wrapper.attachedHiddenContent = true;\n } else {\n wrapper.dataset.existingAttachedContent = true;\n }\n } else {\n wrapper.lastChild.appendChild(content);\n document.body.appendChild(wrapper);\n }\n }\n }\n if (options.blur) {\n wrapper.classList.add('n-modal--blur');\n }\n if (options.shadow) {\n wrapper.classList.add('n-modal--shadow');\n }\n if (options.rounded) {\n wrapper.classList.add('n-modal--rounded');\n }\n if (options.full) {\n wrapper.classList.add('n-modal--full');\n }\n wrapper.dataset.anim = animation;\n wrapper.classList.add(\"n-modal\");\n wrapper.onclick = (e) => {\n let el = e.target.closest('.n-modal');\n let button = e.target.closest('.n-modal__close');\n if (button || (e.target.matches('.n-modal') && (e.offsetX < 0 || e.offsetY < 0 || (e.offsetX - 2) > el.getBoundingClientRect().width || (e.offsetY - 2) > el.getBoundingClientRect().height))) {\n closeModal(el);\n }\n };\n wrapper.addEventListener(\"cancel\", e => {\n e.preventDefault();\n closeModal(e.target.closest('.n-modal'));\n });\n if (existingDetachedElement) {\n wrapper.existingDetachedElement = true;\n }\n wrapper.showModal();\n // nuiDisableBodyScroll(true, wrapper); // Turn on and block page scroll\n // if (document.querySelectorAll(\".n-modal\").length === 1) {\n // // Sole (first) modal\n // wrapper.previousScrollX = window.scrollX;\n // wrapper.previousScrollY = window.scrollY;\n // }\n // document.querySelector(\"html\").classList.add(\"no-scroll\");\n wrapper.animate(typeof animation === \"string\" ? JSON.parse(animation) : [{ transform: \"translate3d(0,-100vh,0)\" }, { transform: \"translate3d(0,0,0)\" }], {\n duration: animationDuration(),\n easing: \"ease-in-out\",\n }).onfinish = () => {\n wrapper.addEventListener('close', removeModal);\n disableScrolling();\n };\n return wrapper;\n }\n\n function parseHTML(str) {\n var tmp = document.implementation.createHTMLDocument(\"Parsed\");\n tmp.body.innerHTML = str;\n // To do: destroy the HTMLDocument before returning\n return tmp.body;\n }\n\n function modalWindowLink(e) {\n // Modal window of external file content\n var el = e.target;\n let trigger = el.closest(\".n-modal-link\");\n var link = trigger.dataset.href || trigger.href; // data-href for
`;\n\t\t\t\t});\n\t\t\t\tel = document.createElement(\"span\");\n\t\t\t\tel.insertAdjacentHTML(\"beforeend\", options);\n\t\t\t\twrapper.prepend(el);\n\t\t\t}\n\t\t\tel.nuiSelectWrapper = wrapper;\n\t\t\tel.classList.add(\"n-select__options\");\n\t\t\tel.nuiNativeInput = el.nuiSelectWrapper.querySelector(\"select, input\") || nextMatchingSibling(el.nuiSelectWrapper, \"select\") || document.querySelector(`[data-n_select=\"${el.nuiSelectWrapper.dataset.n_select}\"]`); // As a sibling, child or data-n_select match (where data-n_select is the rich select's data-n_select attribute)\n\t\t\tif (!el.nuiNativeInput) {\n\t\t\t\t// Missing native select, so generate it\n\t\t\t\tlet input = document.createElement(\"select\");\n\t\t\t\tinput.name = input.id = el.dataset.name;\n\t\t\t\twrapper.append(input);\n\t\t\t\tel.nuiNativeInput = input;\n\t\t\t}\n\t\t\tlet initial_value = el.nuiNativeInput.value;\n\t\t\tlet initial_option = el.querySelector(`button[value=\"${initial_value}\"`);\n\t\t\tel.nuiNativeInput.innerHTML = \"\";\n\t\t\twrapper.addEventListener(\"pointerdown\", pointerDownSelect);\n\t\t\tel.addEventListener(\"click\", clickSelect); // Selects a clicked (pointer upped) option\n\t\t\tel.addEventListener(\"focusout\", (e) => {\n\t\t\t\tlet select = e.target.closest(\".n-select__options\");\n\t\t\t\t// If relatedTarget isn't a sibling, close and focus on select wrapper\n\t\t\t\tif (select.hasAttribute(\"aria-expanded\") && !!e.relatedTarget && e.relatedTarget.parentNode !== select) {\n\t\t\t\t\tcloseSelect(select);\n\t\t\t\t\tselect.nuiSelectWrapper.focus();\n\t\t\t\t}\n\t\t\t});\n\t\t\tel.ontransitionend = (e) => {\n\t\t\t\tlet el = e.target;\n\t\t\t\tel.style.removeProperty(\"--mask-position-y\");\n\t\t\t\tel.style.removeProperty(\"--mask-size-y\");\n\t\t\t\tdelete el.dataset.nSelectAnimation;\n\t\t\t\tel.addEventListener(\"pointerup\", pointerUpSelect);\n\t\t\t\t// el.dataset.transitionend = true;\n\t\t\t};\n\t\t\tel.addEventListener(\"keydown\", selectKeyboard);\n\t\t\twrapper.addEventListener(\"keydown\", selectKeyboard);\n\t\t\tel.addEventListener(\"keyup\", trapKeyboard);\n\t\t\twrapper.addEventListener(\"keyup\", trapKeyboard);\n\t\t\tel.lastElementChild.onkeydown = (e) => {\n\t\t\t\t// Close select on tab outside. To do: get last button only\n\t\t\t\tif (e.key === \"Tab\" && !e.shiftKey && e.target.parentNode.hasAttribute(\"aria-expanded\")) {\n\t\t\t\t\tcloseSelect(e.target.parentNode);\n\t\t\t\t\te.target.parentNode.nuiSelectWrapper.focus();\n\t\t\t\t}\n\t\t\t};\n\t\t\tel.querySelectorAll(\"button\").forEach((el) => {\n\t\t\t\tel.type = \"button\"; // Unlike the default 'submit'\n\t\t\t\tel.value = el.value || el.textContent.trim();\n\t\t\t});\n\t\t\twrapper.setAttribute(\"tabindex\", 0);\n\t\t\t(el.querySelector(\"[aria-selected]\") || el.firstElementChild).tabIndex = -1;\n\t\t\twrapper.style.setProperty(\"--inline-width\", `${el.getBoundingClientRect().width}px`);\n\t\t\tselectOption(el.querySelector(\"[aria-selected]\") || initial_option || el.querySelector(\"button\")); // Select the first option by default\n\t\t\tel.nuiSearchTerm = \"\";\n\t\t\t[\"n-select--rounded\", \"n-select--shadow\"].forEach((cls) => {\n\t\t\t\tif (wrapper.classList.contains(cls)) {\n\t\t\t\t\tel.classList.add(cls);\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet label = el.closest(\"label\") || document.querySelector(`label[for=\"${el.nuiNativeInput.id}\"]`);\n\t\t\tif (label) {\n\t\t\t\tlabel.onclick = (e) => {\n\t\t\t\t\tlet el = e.target;\n\t\t\t\t\tif (!el.closest(\".n-select\")) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tel = el.closest(\"label\");\n\t\t\t\t\t\tlet select = el.querySelector(\".n-select\") || document.getElementById(el.getAttribute(\"for\")).closest(\".n-select\");\n\t\t\t\t\t\tselect.focus();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t\twrapper.dataset.ready = true;\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t// wrapper.style.setProperty(\"--active-option-height\", `${el.querySelector(\"[aria-selected]\").getBoundingClientRect().height}px`);\n\t\t\t\tupdateOptionHeight(wrapper, el);\n\t\t\t\t[\"--nui-control-color\", \"--nui-control-bg\", \"--nui-control-active-color\", \"--nui-control-active-bg\", \"--nui-control-highlight\"].forEach((i) => {\n\t\t\t\t\tel.style.setProperty(i, wrapper.style.getPropertyValue(i));\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t};\n\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-select\", init) : init(document.body);\n})();\n//# sourceMappingURL=n-select@npm.js.map\n\n// Component Tooltip – start\n(function() {\n\tlet setTipPosition = (tool, tip) => {\n\t\t// Take up the most area available on top/right/bottom/left of the tool. Relative to body.\n\t\tlet rect = tool.getBoundingClientRect();\n\t\tlet top = rect.top;\n\t\tlet left = rect.left;\n\t\tlet right = window.innerWidth - left - rect.width;\n\t\tlet bottom = window.innerHeight - top - rect.height; // To do: check when body is shorter than viewport\n\t\tlet area_top = top * window.innerWidth;\n\t\tlet area_right = right * window.innerHeight;\n\t\tlet area_bottom = bottom * window.innerWidth;\n\t\tlet area_left = left * window.innerHeight;\n\t\tlet body_rect = document.body.getBoundingClientRect();\n\t\ttip.removeAttribute(\"style\");\n\t\tdelete tip.dataset.position;\n\t\ttip.classList.add('n-tooltip__content-visible');\n\t\tlet positionTop = () => {\n\t\t\ttip.style.bottom = 20 + body_rect.height + body_rect.y - top + \"px\";\n\t\t\ttip.style.maxHeight = top - 40 + \"px\";\n\t\t\ttip.style.left = `${rect.x + rect.width / 2 - tip.scrollWidth / 2}px`;\n\t\t\ttip.dataset.nPosition = \"top\";\n\t\t};\n\t\tlet positionBottom = () => {\n\t\t\ttip.style.top = 20 - body_rect.y + top + rect.height + \"px\";\n\t\t\ttip.style.maxHeight = bottom - 40 + \"px\";\n\t\t\ttip.style.left = `${rect.x + rect.width / 2 - tip.scrollWidth / 2}px`;\n\t\t\ttip.dataset.nPosition = \"bottom\";\n\t\t};\n\t\tlet positionLeft = () => {\n\t\t\ttip.style.left = \"auto\";\n\t\t\ttip.style.right = 20 + body_rect.width + body_rect.x - window.innerWidth + right + rect.width + \"px\";\n\t\t\ttip.style.maxWidth = left - 40 + \"px\";\n\t\t\ttip.style.top = `${-1 * body_rect.y + rect.top + rect.height / 2 - tip.scrollHeight / 2}px`;\n\t\t\ttip.dataset.nPosition = \"left\";\n\t\t};\n\t\tlet positionRight = () => {\n\t\t\ttip.style.left = rect.x - body_rect.x + rect.width + 20 + \"px\";\n\t\t\ttip.style.maxWidth = right - 40 + \"px\";\n\t\t\ttip.style.top = `${-1 * body_rect.y + rect.top + rect.height / 2 - tip.scrollHeight / 2}px`;\n\t\t\ttip.dataset.nPosition = \"right\";\n\t\t};\n\t\tif (area_left > area_right) {\n\t\t\tif (area_top > area_bottom) {\n\t\t\t\tif (area_top > area_left) {\n\t\t\t\t\t// Top\n\t\t\t\t\tpositionTop();\n\t\t\t\t} else {\n\t\t\t\t\t// Left\n\t\t\t\t\tpositionLeft();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (area_bottom > area_left) {\n\t\t\t\t\t// Bottom\n\t\t\t\t\tpositionBottom();\n\t\t\t\t} else {\n\t\t\t\t\t// Left\n\t\t\t\t\tpositionLeft();\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (area_top > area_bottom) {\n\t\t\t\tif (area_top > area_right) {\n\t\t\t\t\t// Top\n\t\t\t\t\tpositionTop();\n\t\t\t\t} else {\n\t\t\t\t\t// Right\n\t\t\t\t\tpositionRight();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (area_bottom > area_right) {\n\t\t\t\t\t// Bottom\n\t\t\t\t\tpositionBottom();\n\t\t\t\t} else {\n\t\t\t\t\t// Right\n\t\t\t\t\tpositionRight();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tlet rect_tip = tip.getBoundingClientRect();\n\t\tlet offset_y = 0;\n\t\tif (rect_tip.y < 0) {\n\t\t\toffset_y = Math.abs(rect_tip.y) + 10;\n\t\t} else {\n\t\t\tif (rect_tip.bottom > window.innerHeight) {\n\t\t\t\toffset_y = window.innerHeight - rect_tip.bottom - 10;\n\t\t\t}\n\t\t}\n\t\ttip.style.setProperty(\"--offset_y\", offset_y + \"px\");\n\t\tlet offset_x = 0;\n\t\tif (rect_tip.x < 0) {\n\t\t\toffset_x = Math.abs(rect_tip.x) + 10;\n\t\t} else {\n\t\t\tif (rect_tip.right > window.innerWidth) {\n\t\t\t\toffset_x = window.innerWidth - rect_tip.right - 10;\n\t\t\t}\n\t\t}\n\t\ttip.style.setProperty(\"--offset_x\", offset_x + \"px\");\n\t};\n\n\tfunction getToolTip(tool) {\n\t\treturn document.getElementById(tool.getAttribute('aria-describedby')) || tool.nextElementSibling;\n\t}\n\tconst hideTipFunction = tool => {\n\t\tlet tip = getToolTip(tool);\n\t\ttool.removeAttribute(\"aria-expanded\");\n\t\ttool.after(tip);\n\t\ttip.removeAttribute(\"style\");\n\t\tdelete tip.dataset.position;\n\t\ttip.classList.remove('n-tooltip__content-visible');\n\t};\n\tlet hideTip = (e) => {\n\t\thideTipFunction(e.target.closest(\".n-tooltip\"));\n\t};\n\tconst hideTipOnScroll = e => {\n\t\tdocument.querySelectorAll('.n-tooltip').forEach(el => hideTipFunction(el));\n\t\tdocument.removeEventListener('scroll', hideTipOnScroll);\n\t};\n\tlet showTip = (e) => {\n\t\tlet tool = e.target.closest(\".n-tooltip\");\n\t\tlet tip = getToolTip(tool);\n\t\ttool.setAttribute(\"aria-expanded\", true);\n\t\tdocument.body.appendChild(tip);\n\t\tsetTipPosition(tool, tip);\n\t\tdocument.addEventListener('scroll', hideTipOnScroll, true);\n\t};\n\tconst init = (host = document) => {\n\t\t/* Tooltip */\n\t\thost.querySelectorAll(\".n-tooltip\")?.length;\n\t\thost.querySelectorAll(\".n-tooltip:not([data-ready])\").forEach((el) => {\n\t\t\tel.setAttribute(\"tabindex\", 0);\n\t\t\tel.addEventListener('touchend', showTip);\n\t\t\tel.addEventListener('mouseover', showTip);\n\t\t\tel.addEventListener('focus', showTip);\n\t\t\tel.addEventListener('mouseout', hideTip);\n\t\t\tel.addEventListener('blur', hideTip);\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\t(typeof nui !== 'undefined' && typeof nui.registerComponent === \"function\") ? nui.registerComponent(\"n-tooltip\", init): init();\n})();\n// Component Tooltip – end\n//# sourceMappingURL=n-tooltip@npm.js.map\n\n// Component Nav – start\n(function() {\n /* Nav – start */\n function closeDropNavClickedOutside(e) {\n // Close the nav when clicking outside\n if (!e.target.closest(\".n-nav li\")) {\n document.querySelectorAll(\".n-nav li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n if (document.querySelector(\".n-nav :focus\")) {\n document.querySelector(\".n-nav :focus\").blur();\n }\n }\n }\n\n function isDesktop(nav) {\n // Checks the UL sub nav element\n return !!getComputedStyle(nav).getPropertyValue(\"--desktop\");\n }\n let navAnimating = false;\n\n function dropNavBlur(e) {\n var this_nav = e.target.closest(\".n-nav\");\n if (navAnimating || !e.relatedTarget) {\n return;\n }\n e.stopPropagation();\n let el = e.target;\n let item = el.tagName === \"LI\" ? el.querySelector(\"ul\") : el.parentElement.querySelector(\"ul\");\n if (!this_nav.contains(e.relatedTarget) || (isDesktop(this_nav) && !!e.relatedTarget && !closestElement(e.relatedTarget, this_nav))) {\n // if e.relatedTarget is not a child of this_nav, then the next focused item is elsewhere\n this_nav.querySelectorAll(\"li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n return;\n }\n if (item) {\n if (item.parentNode.parentNode.querySelector(\"ul [aria-expanded]\")) {\n // To do: Unless it's the first/last item and user has back/forward tabbed away from it?\n return;\n }\n item.parentElement.removeAttribute(\"aria-expanded\");\n }\n // Close neighboring parent nav's sub navs.\n el = e.target;\n var target_parent = el.closest(\"[aria-haspopup]\");\n if (target_parent) {\n // Skip if it's a top-level-only item\n target_parent.querySelectorAll(\"li[aria-expanded]\").forEach((el) => {\n // Disable active grandchildren\n el.removeAttribute(\"aria-expanded\");\n });\n }\n el = e.target.parentNode;\n if (!el.nextElementSibling && // last item\n el.parentNode.parentNode.nodeName === \"LI\" && // of third-level nav\n !el.parentNode.parentNode.nextElementSibling) {\n el.parentNode.parentNode.removeAttribute(\"aria-expanded\");\n }\n }\n\n function dropNavFocus(e) {\n // Close focused third level child when focus moves to another top-level item\n e.stopPropagation();\n var el = e.target.closest(\".n-nav > ul > li\");\n // To do: on LI focus, make it aria-expanded and focus its a\n if (navAnimating) {\n return;\n }\n [\n [].slice.call(el.parentElement.children),\n [].slice.call(e.target.parentElement.parentElement.children),\n [].slice.call(e.target.parentElement.parentElement.parentElement.parentElement.children),\n ].forEach((el) => {\n el.forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n });\n el.setAttribute(\"aria-expanded\", true);\n // \t\topenItem(el.querySelector('ul'));\n if (el.parentNode.parentNode.getAttribute(\"aria-haspopup\")) {\n el.parentNode.parentNode.setAttribute(\"aria-expanded\", true);\n }\n el.querySelectorAll(\"li[aria-expanded]\").forEach((el) => {\n // Hide grandchildren\n el.removeAttribute(\"aria-expanded\");\n });\n // Make current focused item's ancestors visible\n el = e.target;\n el.parentNode.setAttribute(\"aria-expanded\", true);\n var grand_parent = el.parentElement.parentElement.parentElement;\n if (grand_parent.tagName === \"LI\") {\n grand_parent.setAttribute(\"aria-expanded\", true);\n }\n }\n var closeDropNavClickedOutsideEnabled = false;\n \n const getDuration = () => window.matchMedia(\"(prefers-reduced-motion: no-preference)\").matches ? 200 : 0;\n \n let closeItem = (item) => {\n navAnimating = true;\n item.style.overflow = \"hidden\";\n item.parentElement.setAttribute(\"aria-expanded\", true);\n item.animate([{ height: `${item.scrollHeight}px` }, { height: 0 }], getDuration()).onfinish = () => {\n item.removeAttribute(\"style\");\n item.parentElement.removeAttribute(\"aria-expanded\");\n navAnimating = false;\n item.querySelectorAll(\"[aria-expanded]\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n };\n };\n let openItem = (item) => {\n navAnimating = true;\n item.style.overflow = \"hidden\";\n item.parentElement.setAttribute(\"aria-expanded\", true);\n item.animate([{ height: 0 }, { height: `${item.scrollHeight}px` }], getDuration()).onfinish = () => {\n item.removeAttribute(\"style\");\n navAnimating = false;\n };\n };\n let clickEvent = (e) => {\n e.stopPropagation();\n // To do: also ancestors, also close when open\n let el = e.target;\n var this_nav = el.closest(\".n-nav\");\n this_nav.removeEventListener(\"focusout\", dropNavBlur);\n if (this_nav.contains(document.activeElement)) {\n document.activeElement.blur();\n }\n let item = el.tagName === \"LI\" ? el.querySelector(\"ul\") : el.parentElement.querySelector(\"ul\");\n if (isDesktop(this_nav)) {\n if (el.getAttribute(\"aria-expanded\")) {\n if (el.querySelector(\"a:focus\")) ; else {\n if (isDesktop(this_nav)) {\n el.removeAttribute(\"aria-expanded\");\n } else {\n closeItem(item);\n }\n }\n } else {\n [].slice.call(el.parentElement.children).forEach((item) => {\n item.removeAttribute(\"aria-expanded\");\n let old_item_open_child = item.querySelector(\"[aria-expanded]\");\n if (old_item_open_child) {\n old_item_open_child.removeAttribute(\"aria-expanded\");\n }\n });\n el.setAttribute(\"aria-expanded\", true);\n if (!isDesktop(this_nav)) {\n openItem(item);\n }\n }\n } else {\n if (item.parentNode.hasAttribute(\"aria-expanded\")) {\n closeItem(item);\n } else {\n // If new item is top level, close another top level item, if any is open\n if (item.parentElement.parentElement.matches(\"ul\")) {\n // It's top level, To do: also on secondary level, close open sibling\n let old_item = item.parentElement.closest(\"ul\").querySelector('[aria-expanded=\"true\"] > ul');\n if (old_item) {\n closeItem(old_item);\n }\n }\n openItem(item);\n }\n }\n this_nav.addEventListener(\"focusout\", dropNavBlur);\n };\n\n function checkSides(ul, menubar) {\n if (getComputedStyle(ul).direction !== 'rtl') {\n ul.classList.remove(\"n-right-overflow\");\n ul.style.removeProperty(\"--n-right-overflow\");\n //\t\tvar rect = ul.getBoundingClientRect(); // Firefox doesn't preserve this var\n if (ul.getBoundingClientRect().left > document.body.offsetWidth - (ul.getBoundingClientRect().left + ul.getBoundingClientRect().width)) {\n if (ul.getBoundingClientRect().right > window.innerWidth) {\n ul.style.setProperty(\"--n-right-overflow\", window.innerWidth - ul.getBoundingClientRect().right + \"px\");\n ul.classList.add(\"n-right-overflow\");\n }\n ul.classList.add(\"n-left-side\");\n } else {\n ul.classList.remove(\"n-left-side\");\n }\n }\n }\n\n function initNav(el) {\n // Delete all trigger inputs, add tabindex=0 to each li\n el.querySelectorAll(\"input\").forEach((el) => {\n el.outerHTML = \"\";\n });\n el.querySelectorAll(\"li > a\").forEach((el) => {\n el.setAttribute(\"tabindex\", 0);\n });\n if (!el.closest(\".n-nav.n-nav--drop\")) {\n // The rest is for drop nav only\n return;\n }\n if (!closeDropNavClickedOutsideEnabled) {\n window.addEventListener(\"touchend\", closeDropNavClickedOutside);\n window.addEventListener(\"mouseup\", closeDropNavClickedOutside);\n closeDropNavClickedOutsideEnabled = true;\n }\n el.addEventListener(\"keyup\", (e) => {\n // Check for sibling or children to expand on control keys Left/Right/etc\n if (e.key === \"Escape\") {\n e.target.closest(\".n-nav\").querySelectorAll(\"li\").forEach((el) => {\n el.removeAttribute(\"aria-expanded\");\n });\n document.activeElement.blur();\n }\n });\n el.querySelectorAll(\"li\").forEach((el) => {\n let ul = el.querySelector(\"ul\");\n if (ul) {\n el.setAttribute(\"aria-haspopup\", true);\n if (el.children[0].nodeName === \"UL\") {\n el.insertBefore(el.children[1], el.children[0]); // Swap 'a' with 'ul'\n }\n }\n });\n el.addEventListener(\"mousedown\", clickEvent);\n el.addEventListener(\"focusin\", dropNavFocus);\n el.addEventListener(\"focusout\", dropNavBlur);\n window.requestAnimationFrame(() => {\n // Give the browser time to update\n el.querySelectorAll(\"ul\").forEach((ul) => {\n checkSides(ul);\n });\n });\n }\n window.addEventListener(\"resize\", function(e) {\n document.querySelectorAll(\".n-nav.n-nav--drop ul\").forEach((menubar) => {\n menubar.querySelectorAll(\"ul\").forEach((ul) => {\n checkSides(ul);\n });\n });\n });\n /* Nav – end */\n let init = (host) => {\n host.querySelectorAll(\".n-nav:not([data-ready]) > ul:not([role])\").forEach((el) => {\n initNav(el);\n el.closest(\".n-nav\").dataset.ready = true;\n });\n };\n nui.registerComponent(\"nav\", init);\n})();\n// Component Nav – end\n//# sourceMappingURL=nav.js.map\n\n// Component Notification bar – start\n(function() {\n\tfunction notifyClose(el) {\n\t\tif (!!el) {\n\t\t\tel.parentNode.removeChild(el);\n\t\t}\n\t}\n\n\tfunction notifyCloseEvent() {\n\t\tif (document.querySelector(\".n-notify\")) {\n\t\t\tdocument.querySelector(\".n-notify\").onclick = (e) => {\n\t\t\t\tnotifyClose(e.target);\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction notify(content, option) {\n\t\tdocument.body.insertAdjacentHTML(\"afterbegin\", ``);\n\t\tdocument.querySelector(\".n-notify\").focus();\n\t\tnotifyCloseEvent();\n\t\tif (option && option.indexOf(\"timeout\") !== -1) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tnotifyClose(document.querySelector(\".n-notify\"));\n\t\t\t}, 2000);\n\t\t}\n\t}\n\tlet init = (host) => {\n\t\t/* Tooltip */\n\t\thost.querySelectorAll(\".n-notify:not([data-ready])\").forEach((el, i) => {\n\t\t\tnotifyCloseEvent();\n\t\t\tel.dataset.ready = true;\n\t\t});\n\t};\n\tnui.registerComponent(\"notify\", init, {\n\t\t'name': 'notify',\n\t\t'code': notify\n\t});\n})();\n// Component Notification bar – end\n//# sourceMappingURL=notify.js.map\n\n// Component Parallax – start\n(function() {\n\t// Thanks Dave Rupert\n\tlet parallaxSpeed = 0.2;\n\tlet updateParallax = () => {\n\t\tdocument.querySelectorAll(\".n-parallax\").forEach((el) => {\n\t\t\tlet parent = el.parentElement;\n\t\t\tlet scroll_offset = parent.scrollHeight > parent.offsetHeight ? parent.getBoundingClientRect().y : document.body.scrollTop || document.documentElement.scrollTop;\n\t\t\tel.style.setProperty(\"--scrollparallax\", scroll_offset * parallaxSpeed);\n\t\t});\n\t};\n\tif (document.querySelector(\".n-parallax\")) {\n\t\twindow.addEventListener(\"scroll\", updateParallax, true);\n\t}\n\tlet init = (host) => {};\n\tnui.registerComponent(\"parallax\", init);\n})();\n// Component Parallax – end\n//# sourceMappingURL=parallax.js.map\n\n// Component Table – start\n(function () {\n\t/* Sort parent table's rows by matching column number alternatively desc/asc on click */\n\tconst toggleSort = (th) => {\n\t\tlet previous = th.closest(\"tr\").querySelector(\"td[data-ascending]\");\n\t\tif (previous && previous !== th) {\n\t\t\tdelete previous.dataset.ascending;\n\t\t}\n\t\treturn th.toggleAttribute(\"data-ascending\");\n\t};\n\tconst getCellValue = (tr, idx) => tr.children[idx].innerText || tr.children[idx].textContent;\n\tconst comparer = (idx, asc) => (a, b) => ((v1, v2) => (v1 !== \"\" && v2 !== \"\" && !isNaN(v1) && !isNaN(v2) ? v1 - v2 : v1.toString().localeCompare(v2)))(getCellValue(asc ? a : b, idx), getCellValue(asc ? b : a, idx));\n\tlet init = (host) => {\n\t\thost.querySelectorAll(\".n-table:not([data-ready])\").forEach((el) => {\n\t\t\tel.querySelectorAll(\"thead td button.n-table__sort, th button.n-table__sort\").forEach((button) => button.addEventListener(\"click\", (e) => {\n\t\t\t\tlet th = e.target.closest(\"th\") || e.target.closest(\"td\");\n\t\t\t\tconst tbody = th.closest(\"table\").querySelector(\"tbody\");\n\t\t\t\tArray.from(tbody.querySelectorAll(\"tr\")).sort(comparer(Array.from(th.parentNode.children).indexOf(th), toggleSort(th))).forEach((tr) => tbody.appendChild(tr));\n\t\t\t}));\n\t\t\tel.dataset.ready = true;\n\t\t\tel.setAttribute(\"tabindex\", 0); // To scroll with arrow keys\n\t\t});\n\t};\n\tnui.registerComponent(\"table\", init);\n})();\n// Component Table – end\n//# sourceMappingURL=table.js.map\n\n// Component Typography – start\n(function () {\n\tlet init = (host) => {\n\t\t/* Typography */\n\t\tif (typeof ResizeObserver === \"function\") {\n\t\t\t// Compensate element height according to line height\n\t\t\tlet ro = new ResizeObserver((entries) => {\n\t\t\t\tentries.forEach((el) => {\n\t\t\t\t\tlet a = el.target;\n\t\t\t\t\ta.style.removeProperty(\"--adjust-height\");\n\t\t\t\t\tlet style = getComputedStyle(a);\n\t\t\t\t\tlet line_height = parseFloat(style.lineHeight);\n\t\t\t\t\tlet adjust = line_height - (parseFloat(style.height) % line_height);\n\t\t\t\t\tif (adjust !== line_height) {\n\t\t\t\t\t\ta.style.setProperty(\"--adjust-height\", adjust);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tdocument.querySelectorAll(\".n-adjust-height:not([data-ready])\").forEach((el) => {\n\t\t\t\tro.observe(el);\n\t\t\t\tel.dataset.ready = true;\n\t\t\t});\n\t\t}\n\t};\n\tnui.registerComponent(\"typography\", init);\n})();\n// Component Typography – end\n//# sourceMappingURL=typography.js.map\nexport default nui;\n//# sourceMappingURL=niui.js.map\n"]} \ No newline at end of file diff --git a/package.json b/package.json index 3acf0ccb..de7301fc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "niui-npm", - "version": "3.0.1", + "version": "3.0.2", "description": "niui: mostly native front-end framework", "scripts": { "test": "echo \"Error: no test specified\" && exit 1"