From f3343f1ca72082fc2d5b206a428a3aa530c0c7d3 Mon Sep 17 00:00:00 2001 From: Rado Date: Mon, 8 May 2023 22:48:25 +0300 Subject: [PATCH 1/3] Wide table fix --- components/table/table.css | 12 +- components/table/table.css.map | 2 +- components/table/table.scss | 22 +- css/guide.css | 4 +- css/guide.scss | 2 +- dist/niui.min.css | 2 +- dist/niui.min.css.map | 2 +- dist/niui.min.css.size | 2 +- dist/niui.min.js | 2 +- dist/niui.min.js.map | 2 +- dist/niui.min.js.size | 2 +- index.html | 5502 ++++++++++++++++---------------- js/niui.js | 353 +- js/niui.js.map | 2 +- niui-wp/niui-wp.min.css | 2 +- niui-wp/niui-wp.min.css.map | 2 +- niui-wp/niui.min.js | 2 +- niui-wp/niui.min.js.map | 2 +- 18 files changed, 2952 insertions(+), 2967 deletions(-) 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..26c47a51 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)); } diff --git a/css/guide.scss b/css/guide.scss index dca55ea3..056578b0 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; diff --git a/dist/niui.min.css b/dist/niui.min.css index e247e3f6..a585a3b1 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-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}}: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}.n-accordion__label[aria-expanded=true] button,input:checked~.n-accordion__label button{background:var(--nui-control-active-bg,#fff);color:var(--nui-control-active-color,#222);cursor:zoom-out}.n-accordion__label[aria-expanded=true] button:after,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([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:1fr auto 1fr/auto auto auto 1fr auto auto;position:relative;grid-template-areas:"f c a3 a3 a3 a3" "prev a2 a2 a2 a2 next" "i i i 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-start.n-carousel--index-start:not(.n-carousel--controls-outside){grid-template-areas:"f c i b1 b2 b2" "prev a3 a3 a3 a3 next"}.n-carousel.n-carousel--index-align-start.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical){grid-template-areas:"i i i i i i" "prev a2 a2 a2 a2 next" "f c a3 a3 a3 a3"}.n-carousel.n-carousel--index-align-start.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical)>.n-carousel__close,.n-carousel.n-carousel--index-align-start.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical)>.n-carousel__full-screen{align-self:end}.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--index-align-end.n-carousel.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical){grid-template-areas:"f c i i i i" "prev a2 a2 a2 a2 next" "a3 a3 a3 a3 a3 a3"}.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;justify-self:center}.n-carousel>.n-carousel__next{grid-area:next;align-self:center;justify-self:center}.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 i i i" "prev a2 a2 a2 a2 next" "f c a3 a3 a3 a3"}.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 c content a1" "prev c2 content next" "a2 c2 content a3" "i i i i";grid-template-columns:auto auto 1fr auto}.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:"f c i i" "b1 c2 content b2" "prev c2 content next" "a1 c2 content a2";grid-template-rows:auto auto 1fr auto}.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{box-sizing:border-box;grid-template-areas:"f c a1 prev a2 a2" "i a3 a3 a3 a3 a3" "i a4 a4 next a5 a5";grid-template-rows:auto}.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 c a1 prev a2 i" "a3 a3 a3 a3 a3 i" "a4 a4 a4 next a5 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--index-align-start:not(.n-carousel--index-end):not(.n-carousel--controls-outside){grid-template-areas:"a1 a1 a1 prev c f" "i a3 a3 a3 a3 a3" "i a4 a4 next a5 a5"}.n-carousel.n-carousel--vertical.n-carousel--index-align-end{grid-template-areas:"a1 a1 a1 prev c f" "i a3 a3 a3 a3 a3" "i a4 a4 next a5 a5"}.n-carousel.n-carousel--vertical.n-carousel--controls-outside{grid-template-areas:"f c prev a2" "i c2 content a2" "i c2 next a2";grid-template-rows:auto 1fr auto auto}.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-align-end{grid-template-columns:auto auto 1fr auto}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-align-end>.n-carousel__index{align-self:end}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-end{grid-template-areas:"f c prev i" "a1 c2 content i" "a1 c2 next i";grid-template-rows:auto 1fr}.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{position:absolute;margin-inline-start:calc(-1 * var(--index-width))}.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__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__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}} /*# sourceMappingURL=niui.min.css.map */ diff --git a/dist/niui.min.css.map b/dist/niui.min.css.map index de3a2a7b..9bdc3cf5 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","button/button.scss","card/card.scss","form/form.scss","grid/aspect-ratio.scss","grid/grid.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":"iBAQA,MACC,gBAAA,KACA,kBAAA,IACA,qBAAA,oCACA,YAAA,KCTD,OAAA,2BAAA,4BAAA,2BAAA,sBAAA,cAAA,aAOE,UAAA,QACA,WAAA,QACA,YAAA,uBACA,WAAA,0BACA,gBAAA,KACA,QAAA,aACA,OAAA,QACA,MAAA,KACA,WAAA,WACA,QAAA,EAAA,KACA,mBAAA,KACA,iBAAA,KACA,iBAAA,2BACA,MAAA,KACA,MAAA,8BACA,OAAA,KACA,YAAA,QACA,sBAAA,KACA,oBAAA,KACA,mBAAA,KACA,iBAAA,KACA,YAAA,KACA,WAAA,EAAA,EAAA,EAAA,uBAAA,uBAAA,CAAA,EAAA,EAAA,uBAAA,sDAAA,wBAEA,6BAAA,iDAAA,kDAAA,iDAAA,4CAAA,oCAAA,mCACE,iBAAA,KACA,MAAA,KAIJ,uBACE,OAAA,QACA,QAAA,GACA,OAAA,EACA,UAAA,QAGF,kBAAA,eAAA,2BAAA,yBAIE,OAAA,mCAAA,EACA,UAAA,MACA,QAAA,MAAA,IACA,YAAA,OACA,WAAA,EACA,YAAA,IA4BF,cACE,OAAA,EAAA,OAEA,gCAAA,gBAAA,uCAGE,kBAAA,MACA,oBAAA,MAIJ,wCACE,kBACE,QAAA,MACA,WAAA,QAIJ,eAEE,WAAA,4DAAA,UAAA,gBAAA,eAAA,CAAA,EAAA,EACA,WAAA,KAAA,SACA,oBAAA,eAAA,CAAA,oBAEA,sBACE,oBAAA,6CAAA,6CACA,gBAAA,+BAAA,+BDtGJ,MACC,gBAAA,KACA,kBAAA,IACA,qBAAA,oCACA,YAAA,KETD,QACC,OAAA,IAAA,EACA,cAAA,mBACA,WAAA,kCACA,cAAA,yBACA,WAAA,EAAA,EAAA,EAAA,uBAAA,uBAAA,CAAA,EAAA,EAAA,uBAAA,sDAAA,wBACA,SAAA,OAEA,UACC,QAAA,IAGD,iBACC,WAAA,mBAEA,mBACC,OAAA,MAAA,EAEA,+BACC,WAAA,EAKH,YACC,QAAA,MACA,OAAA,EAAA,KACA,UAAA,KACA,QAAA,EAGD,gBACC,OAAA,EAGD,kCACC,oBAAA,OAAA,OACA,gBAAA,MACA,kBAAA,UACA,MAAA,KAEA,wCACC,QAAA,GACA,eAAA,OACA,MAAA,EACA,QAAA,aACA,eAAA,OAGD,oCACC,QAAA,aACA,OAAA,EF9CH,MACC,gBAAA,KACA,kBAAA,IACA,qBAAA,oCACA,YAAA,KGTD,QACE,QAAA,0BAAA,EAaA,wBAAA,KAXA,UACE,WAAA,WAGF,cAAA,cAAA,iBAGE,QAAA,aACA,eAAA,OAKF,oCACE,MAAA,6BACA,wBAAA,6BAGF,4BAAA,2BAAA,cAAA,mBAAA,oBAKE,YAAA,uBACA,WAAA,0BAGF,cACE,YAAA,IACA,UAAA,KACA,SAAA,SACA,QAAA,EACA,OAAA,EAAA,EAAA,0BAAA,EACA,WAAA,oCAGF,eAAA,4BAAA,2BAGE,OAAA,KACA,YAAA,uBACA,YAAA,OACA,WAAA,UACA,OAAA,EACA,UAAA,KACA,QAAA,EAAA,IACA,YAAA,IAGF,2BAAA,eAAA,cAAA,2BAAA,eAAA,iBAME,YAAA,QACA,QAAA,aACA,SAAA,OACA,OAAA,KACA,eAAA,IACA,cAAA,EACA,QAAA,EAAA,mCACA,WAAA,oCACA,OAAA,EACA,UAAA,IAEA,cAAA,yBACA,WAAA,EAAA,EAAA,EAAA,uBAAA,uBAAA,CAAA,EAAA,EAAA,uBAAA,sDAAA,wBAGF,6BACE,cAAA,EAGF,gCACE,QAAA,KACA,YAAA,OAGF,iBACE,cAAA,IAAA,OAAA,YACA,OAAA,EACA,WAAA,oCACA,YAAA,mCACA,OAAA,0BAAA,EAEA,kCACE,SAAA,KAGF,4BACE,UAAA,mBAIJ,cAAA,iBAEE,iBAAA,yBACA,MAAA,4BAGF,eACE,gBAAA,KACA,mBAAA,KACA,WAAA,KACA,YAAA,MACA,WAAA,EACA,YAAA,EACA,QAAA,EAAA,MAAA,EAAA,KACA,OAAA,oCACA,YAAA,OACA,YAAA,KACA,OAAA,EACA,YAAA,IACA,OAAA,QACA,WAAA,mIAAA,CAAA,qIAEA,gBAAA,KAAA,KACA,kBAAA,UACA,oBAAA,kBAAA,CAAA,kBACA,MAAA,8BACA,iBAAA,2BAEA,sBACE,QAAA,EACA,mBAAA,MAIJ,eAAA,cAEE,eAAA,IACA,OAAA,KACA,oBAAA,EAGF,2BACE,mBAAA,KACA,cAAA,EAEA,yDAAA,sDAEE,mBAAA,KAIJ,cAAA,mBAAA,oBAGE,OAAA,EACA,WAAA,MAGF,cAAA,eAEE,QAAA,aACA,MAAA,KACA,YAAA,EACA,OAAA,0BAAA,EACA,eAAA,OAGF,sBACE,SAAA,SAEA,0CAAA,yCAEE,SAAA,SACA,IAAA,EACA,OAAA,EACA,iBAAA,EAIJ,iBAAA,eAEE,QAAA,MACA,WAAA,0BACA,cAAA,0BACA,cAAA,yBAEA,sBAAA,oBACE,QAAA,aACA,YAAA,IACA,WAAA,EACA,OAAA,QAGF,uBAAA,qBACE,WAAA,MACA,YAAA,IACA,MAAA,MACA,OAAA,EACA,OAAA,QACA,WAAA,EACA,YAAA,KACA,qBAAA,EACA,mBAAA,MACA,eAAA,EACA,QAAA,OAEA,4BAAA,0BACE,MAAA,KAGF,kCAAA,gCACE,cAAA,EAGF,4CAAA,yCAAA,0CAAA,uCAEE,OAAA,OAAA,KAAA,EAAA,EAKN,oBACE,MAAA,IACA,OAAA,IACA,QAAA,aACA,iBAAA,2BACA,MAAA,8BACA,YAAA,iDAEA,WAAA,OACA,OAAA,KACA,OAAA,EACA,SAAA,SACA,mBAAA,EACA,QAAA,EACA,IAAA,MACA,eAAA,OAKA,kCAAA,kCACE,IAAA,MAIJ,wDACE,QAAA,IACA,QAAA,MACA,OAAA,IACA,YAAA,EAGF,sEACE,QAAA,EAGF,6BAAA,0BAEE,mBAAA,KACA,gBAAA,OACA,eAAA,KACA,WAAA,IACA,OAAA,QACA,QAAA,EACA,WAAA,EACA,OAAA,IACA,MAAA,IACA,QAAA,aACA,OAAA,EACA,OAAA,KAGF,8CACE,cAAA,IAGF,6DACE,QAAA,GACA,SAAA,SACA,iBAAA,8BACA,IAAA,IACA,MAAA,IACA,OAAA,IACA,KAAA,IACA,cAAA,IAGF,mBACE,SAAA,SAEA,mCAAA,6CAAA,kCAGE,QAAA,KAGF,0BACE,QAAA,IACA,MAAA,KACA,SAAA,SACA,IAAA,EACA,YAAA,IACA,mBAAA,KACA,iBAAA,EAGF,wCACE,IAAA,QAMF,iBAAA,oBAEE,WAAA,KACA,MAAA,KACA,QAAA,EAAA,MAGF,wBAAA,kCAEE,WAAA,IACA,MAAA,KAGF,wBACE,WAAA,KAIJ,cACE,YAAA,IACA,OAAA,EAAA,EAAA,uBAAA,EACA,OAAA,QACA,WAAA,OACA,QAAA,EACA,SAAA,SACA,QAAA,EAEA,mBACE,WAAA,MACA,OAAA,KACA,YAAA,OACA,iBAAA,2BACA,MAAA,iCACA,QAAA,EAAA,mCAAA,EAAA,MACA,QAAA,MACA,YAAA,0BACA,YAAA,mCACA,eAAA,EACA,SAAA,SACA,MAAA,EACA,QAAA,GAIE,4CAAA,oEAEE,QAAA,KAMN,+BACE,MAAA,KACA,OAAA,QACA,OAAA,KACA,OAAA,EACA,WAAA,IACA,MAAA,YACA,YAAA,MACA,QAAA,EACA,QAAA,EAEA,0CACE,QAAA,KAKN,0BACE,mBAAA,KACA,gBAAA,KACA,WAAA,KACA,MAAA,KACA,WAAA,IACA,OAAA,EACA,QAAA,EACA,WAAA,KAEA,yDACE,MAAA,KACA,OAAA,QACA,OAAA,QACA,WAAA,qCAGF,gDACE,OAAA,QACA,MAAA,QACA,cAAA,IACA,WAAA,kCACA,OAAA,QACA,mBAAA,KACA,WAAA,UAGF,+DACE,WAAA,qCAGF,4CACE,MAAA,KACA,OAAA,QACA,OAAA,QACA,WAAA,qCAGF,4CACE,OAAA,EAAA,MAAA,YACA,OAAA,QACA,MAAA,QACA,cAAA,IACA,WAAA,qCACA,OAAA,QAIJ,eACE,YAAA,IAGF,iBACE,OAAA,IAAA,MACA,QAAA,MACA,OAAA,0BAAA,EACA,QAAA,0CAMA,2BACE,QAAA,KAIJ,eAAA,2BAEE,MAAA,KACA,UAAA,EACA,QAAA,EAAA,IACA,WAAA,yCACA,WAAA,MACA,UAAA,MACA,cAAA,yBAGF,uBAAA,uBAEE,OAAA,oCAAA,EAAA,mCAAA,EAKA,qBAAA,kCAAA,iCAGE,cAAA,sCACA,YAAA,uCACA,UAAA,MACA,WAAA,UACA,MAAA,KAGF,qBACE,MAAA,KACA,OAAA,oCACA,OAAA,oCAAA,EAAA,mCAAA,EAGF,kCAAA,4BAAA,6BAAA,oBAAA,yBAME,QAAA,MACA,MAAA,KACA,MAAA,KAGF,qBAAA,uBAAA,+EAGE,QAAA,MACA,MAAA,KACA,OAAA,KACA,OAAA,EAAA,EAAA,0BAAA,EAQE,qGAAA,+DAAA,iEACE,OAAA,EASF,wDAAA,qDAAA,kDAAA,+CAEE,WAAA,MAQN,4BAAA,yCAAA,wCAGE,oBAAA,iBACA,cAAA,sCAGF,8BAAA,2BAEE,MAAA,KACA,QAAA,KACA,cAAA,IAAA,CAAA,IAAA,IACA,WAAA,IACA,cAAA,MAGF,8BACE,aAAA,YACA,OAAA,KACA,QAAA,mCACA,YAAA,EACA,eAAA,0BAEA,qCACE,cAAA,qCACA,WAAA,IACA,YAAA,CAAA,CAAA,EACA,SAAA,CAAA,CAAA,EACA,MAAA,IAGF,oCACE,OAAA,EACA,QAAA,MAIJ,gCAAA,+CAAA,sCAAA,6BAKE,MAAA,KAGA,OAAA,oCAAA,EAAA,sCAAA,EACA,YAAA,EAAA,CAAA,GAGF,kDAAA,yCAAA,gCAGE,WAAA,IACA,YAAA,EACA,OAAA,EAGF,oCACE,QAAA,KACA,cAAA,IAAA,CAAA,IAAA,IACA,WAAA,IAEA,sCACE,OAAA,EAGF,0CACE,QAAA,MAIF,6CACE,QAAA,SAUA,mDAAA,oDAEE,OAAA,EAGF,oDACE,YAAA,EAeN,+CACE,mBAAA,iBACA,QAAA,GAsBN,2BAAA,SAAA,oCAGE,QAAA,MAGF,2BAAA,SAAA,2CAGE,MAAA,iBAGF,2BAAA,SAAA,0CAGE,MAAA,iBACA,MAAA,WC9pBF,UACC,QAAA,MACA,aAAA,+CAEA,cACC,UAAA,KACA,OAAA,KACA,OAAA,EAAA,KACA,QAAA,MAGD,qBACC,WAAA,SACA,eAAA,OAGD,qBACC,WAAA,OACA,eAAA,OJbF,MACC,gBAAA,KACA,kBAAA,IACA,qBAAA,oCACA,YAAA,KKRD,OACE,MAAA,KACA,QAAA,KACA,UAAA,KACA,WAAA,OAGA,WAAA,eAEE,UAAA,KACA,OAAA,KACA,OAAA,KACA,WAAA,OAGF,aACE,OAAA,KACA,WAAA,KACA,OAAA,EAAA,KACA,QAAA,MACA,UAAA,KAEA,qBACE,MAAA,KAIJ,8BAEE,WAAA,WAGF,SACE,SAAA,SACA,UAAA,WACA,MAAA,sCACA,YAAA,CAAA,CAAA,EACA,QAAA,mCACA,OAAA,mCACA,UAAA,EACA,WAAA,MACA,UAAA,EAGF,qBAAA,kBAGE,UAAA,EAGF,SAAA,WAEE,UAAA,KAIF,aACE,QAAA,MACA,OAAA,EAAA,KAGF,cACE,YAAA,CAAA,CAAA,EAGF,cACE,YAAA,CAAA,CAAA,EAGF,cACE,YAAA,CAAA,CAAA,EAGF,cACE,YAAA,CAAA,CAAA,EAGF,cACE,YAAA,CAAA,CAAA,EAGF,cACE,YAAA,CAAA,CAAA,EAGF,cACE,YAAA,CAAA,CAAA,EAGF,cACE,YAAA,CAAA,CAAA,EAGF,cACE,YAAA,CAAA,CAAA,EAGF,cACE,YAAA,CAAA,CAAA,EAGF,cAAA,mCAGE,YAAA,EAIJ,4BACE,SACE,OAAA,8CAMJ,kBAGE,SAAA,kBAEE,UAAA,0BACA,WAAA,+CAGF,qCACE,SACE,YAAA,CAAA,CAAA,GAIJ,wCACE,SACE,YAAA,CAAA,CAAA,GAIJ,yBAAA,2BAEE,UAAA,oCACA,QAAA,EAGF,wBAAA,0BAAA,yBAGE,UAAA,oCACA,OAAA,EAGF,2BACE,UAAA,IACA,QAAA,EACA,OAAA,EAGF,mCACE,OAAA,EAAA,mCAGF,iCACE,OAAA,mCAAA,GAIJ,QAAA,UAAA,eAGE,WAAA,MAGF,SAAA,WAAA,gBAGE,WAAA,IAGF,UAAA,YAAA,iBAGE,WAAA,OAGF,iBAAA,iBAAA,cAGE,QAAA,KAGF,cAAA,eAEE,eAAA,IACA,gBAAA,WACA,eAAA,OACA,QAAA,KAGF,kBAAA,iBAEE,eAAA,OACA,gBAAA,OACA,eAAA,OACA,QAAA,KAGF,kBAAA,iBAEE,eAAA,OACA,gBAAA,SACA,eAAA,OACA,QAAA,KAGF,oBAAA,0BAEE,WAAA,QAGF,uBACE,eAAA,OACA,WAAA,KAEA,yBAAA,qCAAA,kCAGE,MAAA,KACA,WAAA,WAIJ,WACE,SAAA,SAEA,iBAAA,kBAGE,QAAA,GACA,QAAA,MACA,MAAA,KAKJ,WACE,aAAA,EACA,WAAA,EACA,OAAA,0BAAA,EACA,kBAAA,oCACA,UAAA,KAEA,aACE,QAAA,MACA,MAAA,KACA,4BAAA,MACA,kBAAA,MAEA,aAAA,aACA,OAAA,EACA,QAAA,mCAAA,EACA,mBAAA,mCACA,WAAA,WACA,WAAA,WACA,UAAA,WAGF,iBACE,aAAA,EAGF,iBACE,aAAA,EAGF,iBACE,aAAA,EAIJ,aACE,WAAA,EACA,QAAA,EAGF,eACE,qBAAA,MAGF,OACE,QAAA,mCACA,WAAA,WAGF,YACE,QAAA,mCACA,WAAA,WAGF,kBAAA,SAEE,OAAA,oCACA,MAAA,uCACA,UAAA,KACA,WAAA,OAGF,kBACE,UAAA,KAGF,kBACE,OAAA,qCAAA,EAGF,yBACE,WAAA,MAAA,EAAA,EAAA,EAAA,IAAA,sBAEA,2BACE,WAAA,MAAA,IAAA,IAAA,EAAA,EAAA,sBACA,OAAA,EACA,WAAA,kDAIJ,qBACE,WAAA,MAAA,EAAA,EAAA,EAAA,IAAA,sBAGF,gBAEE,WAAA,KACA,WAAA,MAAA,EAAA,EAAA,EAAA,IAAA,QAGF,yBAAA,2BAEE,WAAA,KAGF,wCACE,OACE,WAAA,WAGF,yBAEE,QAAA,MAEA,UAAA,KAEA,oCACE,OAAA,MAAA,EAAA,MAAA,MACA,MAAA,kBACA,UAAA,KAIJ,SAAA,kBAEE,QAAA,EACA,MAAA,KACA,OAAA,KACA,WAAA,WAGF,qEAAA,iEAEE,OAAA,mCAAA,EAIF,kBAEE,SAAA,kBAEE,QAAA,KACA,KAAA,EAAA,EAAA,MAIJ,cACE,QAAA,KAGF,4BAAA,sCAEE,WAAA,YACA,QAAA,EAGF,2BAAA,oCAEE,OAAA,EACA,QAAA,EAGF,iCACE,QAAA,EAGF,qBAAA,uBAAA,SAGE,OAAA,KAGF,qBACE,MAAA,IACA,KAAA,EAAA,EAAA,IAGF,gCACE,MAAA,uCAeA,WAAA,qBAEE,kBAAA,EACA,qBAAA,EACA,aAAA,GL1aN,MACC,gBAAA,KACA,kBAAA,IACA,qBAAA,oCACA,YAAA,KMTD,UACE,QAAA,EACA,YAAA,uBACA,WAAA,uBACA,OAAA,gCAAA,EAEA,yBACE,oBAAA,MAGF,aACE,QAAA,MACA,SAAA,SACA,MAAA,KACA,WAAA,KACA,WAAA,WACA,UAAA,WAGF,0DACE,oBAAA,IACA,UAAA,iBAEA,iEACE,QAAA,IACA,SAAA,SACA,oBAAA,OACA,MAAA,mBACA,UAAA,MACA,YAAA,GAIJ,wCACE,oBAAA,EAIJ,UACE,gBAAA,KACA,cAAA,OACA,QAAA,EACA,OAAA,EAAA,EAAA,0BAAA,EAEA,aACE,YAAA,OACA,OAAA,0BAAA,EAAA,mCAAA,MAEA,oBACE,MAAA,KACA,QAAA,gBACA,kBAAA,OACA,YAAA,IACA,WAAA,wBACA,MAAA,2BACA,QAAA,EAAA,KACA,cAAA,IACA,kBAAA,OACA,WAAA,IACA,QAAA,aACA,YAAA,EACA,WAAA,OAIJ,eACE,YAAA,EACA,QAAA,aACA,eAAA,IACA,YAAA,EACA,WAAA,EAGF,gBACE,QAAA,MAGF,gBACE,gBAAA,KACA,cAAA,OACA,QAAA,MAGF,0BACE,QAAA,gBAAA,IAAA,gBAAA,IACA,kBAAA,OACA,cAAA,IAGF,mBACE,gBAAA,KACA,cAAA,OACA,oBAAA,IAEA,6BACE,QAAA,gBAAA,IAAA,gBAAA,IAAA,gBAAA,IACA,kBAAA,OAIJ,gBACE,YAAA,OAIF,mBACE,YAAA,QAGF,aACE,YAAA,KAGF,YACE,YAAA,EAIJ,2BAAA,yBAAA,4BAGE,eAAA,IACA,QAAA,YACA,MAAA,KAIA,iEACE,oBAAA,EACA,UAAA,KAGF,2BACE,QAAA,KAIJ,uBACE,OAAA,0BAAA,MAAA,mCAAA,EAEA,8BACE,OAAA,EAAA,EAAA,EAAA,KC5IJ,aACC,QAAA,KAGA,qBACC,QAAA,YAGD,kCAAA,oBAIC,kBAAA,EACA,eAAA,EACA,MAAA,KACA,OAAA,KACA,OAAA,QACA,OAAA,KACA,KAAA,QACA,WAAA,QACA,OAAA,8BAAA,EAGD,kCACC,QAAA,EACA,mBAAA,KACA,WAAA,KACA,OAAA,EAEA,0CACC,OAAA,SAMD,uDAAA,6FACC,QAAA,KAMD,+CAAA,yCACC,WAAA,kCACA,MAAA,qCACA,OAAA,SAEA,qDAAA,+CACC,UAAA,eAKH,0BAGC,OAAA,EAAA,KAID,oBAEC,YAAA,KACA,OAAA,QACA,eAAA,QACA,SAAA,SAEA,2BAEC,OAAA,QACA,UAAA,WACA,WAAA,UACA,iBAAA,8BACA,MAAA,iCACA,OAAA,KACA,MAAA,KACA,QAAA,sCACA,mBAAA,MACA,WAAA,MACA,KAAA,QACA,cAAA,yBACA,WAAA,EAAA,EAAA,EAAA,uBAAA,uBAAA,CAAA,EAAA,EAAA,uBAAA,sDAAA,wBAEA,iCACC,WAAA,UAAA,IAAA,YACA,QAAA,GACA,SAAA,SACA,QAAA,MACA,iBAAA,KACA,IAAA,iBACA,MAAA,IACA,OAAA,IACA,OAAA,mVACA,aAAA,YAAA,OAAA,OAAA,UACA,kBAAA,KACA,KAAA,YAAA,OAAA,OAAA,UACA,UAAA,KACA,iBAAA,8BAKH,oBACC,QAAA,KACA,kBAAA,EAEA,cAAA,IAAA,CAAA,oCACA,WAAA,MAEA,sBACC,QAAA,SAGD,0CACC,SAAA,0BACA,YAAA,CAAA,CAAA,GAGD,wCACC,YAAA,QACA,SAAA,QAGD,6DACC,QAAA,KAIF,yBAEC,oBACC,kBAAA,EAKA,yCAAA,0CAEC,QAAA,KAGD,+DAAA,qGAEC,QAAA,SClJJ,kBACC,SAAA,OAGD,qBACC,QAAA,KACA,YAAA,OACA,QAAA,EACA,WAAA,WACA,gBAAA,KACA,WAAA,KAMA,gBAAA,KAJA,uCARD,qBASE,WAAA,MAMD,wCACC,QAAA,KAGD,uBACC,KAAA,EAAA,EAAA,KACA,WAAA,YACA,SAAA,KACA,MAAA,KACA,mBAAA,2CAEA,yBACC,SAAA,KAIF,yBACC,OAAA,KAGD,2DACC,SAAA,KAMD,4DACC,WAAA,KAEA,MAAA,iBACA,QAAA,EAAA,cAIA,4FACC,SAAA,KAMA,yHACC,OAAA,EACA,SAAA,QAIF,oFACC,WAAA,OACA,OAAA,mBAEA,oFAAA,sFAEC,WAAA,IAWF,yEAAA,uDACC,eAAA,OAKD,+CACC,UAAA,KAKD,mDACC,UAAA,eAIF,+EACC,SAAA,OACA,WAAA,KAIF,6BACC,KACC,OAAA,MAIF,YA4KC,aAAA,MAGA,OAAA,IAgCA,QAAA,KACA,cAAA,IAAA,KAAA,GAAA,CAAA,KAAA,KAAA,KAAA,IAAA,KAAA,KACA,SAAA,SACA,oBAAA,kCAAA,qCAAA,kCAhNA,gCAAA,uBAEC,WAAA,eAEA,qDAAA,4CACC,OAAA,eACA,OAAA,iBAEA,4DAAA,4DAAA,yDAAA,2DAAA,mDAAA,mDAAA,gDAAA,kDAIC,WAAA,KAMF,0CACC,QAAA,KAIF,gCAAA,gCAGC,WAAA,eAEA,qDAAA,qDACC,OAAA,eACA,OAAA,iBAEA,4DAAA,4DAAA,yDAAA,2DAAA,4DAAA,4DAAA,yDAAA,2DAIC,WAAA,KAOF,mDACC,QAAA,KAIF,iCASC,aAAA,KACA,OAAA,uBACA,WAAA,KARE,mHACC,QAAA,KASH,sDACC,WAAA,KAQC,wGACC,OAAA,eAKD,+FACC,OAAA,eAKH,sDACC,WAAA,KACA,WAAA,YASA,QAAA,cAAA,EAPA,wDACC,MAAA,KACA,mBAAA,EACA,OAAA,KACA,kBAAA,2CAOD,uFACC,SAAA,SACA,WAAA,KACA,SAAA,KACA,gBAAA,QACA,UAAA,KAGD,iHACC,OAAA,KAEA,oIACC,SAAA,OAEA,sIACC,QAAA,QACA,OAAA,EAMF,6GACC,iBAAA,EACA,mBAAA,KACA,UAAA,KAIA,yIACC,SAAA,SAQH,mFAEC,OAAA,KAOC,iGACC,OAAA,kDAGD,qGAAA,sGAEC,QAAA,KAOL,uCACC,OAAA,YAGD,0EACC,OAAA,EACA,UAAA,kBAAA,EAAA,IAAA,OAAA,GAAA,SAGD,oEACC,WAAA,KAQD,0BACC,eAAA,KAGD,4BACC,UAAA,IAGD,6BACC,OAAA,IAGD,qDAEC,iBAAA,EAAA,UAEA,uDACC,kBAAA,OACA,iBAAA,OAKF,0EAGC,iBAAA,EAAA,UAkBA,6DACC,aAAA,MAGD,qGACC,oBACC,iBAAA,wBAGD,gIACC,oBACC,cAAA,wBAAA,kBAID,mJAAA,yJAEC,WAAA,IAaH,yFACC,aAAA,OAWD,2DACC,aAAA,IAGD,yIACC,oBACC,cAAA,wBAAA,oBAWH,iCACC,QAAA,EACA,OAAA,EACA,SAAA,CAAA,CAAA,GACA,YAAA,CAAA,CAAA,GAEA,8CAND,iCAQE,WAAA,QAAA,IAAA,aAIF,uCACC,QAAA,EAGD,kCACC,UAAA,KACA,WAAA,OAEA,aAAA,OAGD,8BACC,UAAA,KACA,WAAA,OACA,aAAA,OAGD,+BACC,UAAA,EACA,WAAA,IACA,aAAA,OACA,gBAAA,OACA,SAAA,KACA,YAAA,OACA,eAAA,OAEA,mCACC,MAAA,IACA,OAAA,IACA,WAAA,MACA,QAAA,EAMD,sDAaC,QAAA,IAZA,wDACC,QAAA,EACA,eAAA,OACA,OAAA,OACA,cAAA,yBACA,SAAA,OAEA,6DACC,QAAA,EAAA,IAMF,qEAEC,WAAA,EAAA,EAAA,EAAA,IAAA,2BAQF,2DAAA,yDAEC,QAAA,KAGD,qDAAA,mDACC,UAAA,EAIF,oCACC,oBACC,kCAAA,qCAAA,kCAID,uDACC,WAAA,MAGD,uDACC,gBAAA,WAGD,uDAAA,6DAEC,WAAA,IAMD,qDACC,gBAAA,SAIF,yCACC,oBACC,wBAAA,2BAAA,yBAAA,yBAID,sBAAA,KAAA,KAAA,IAAA,KAEA,8DACC,UAAA,QAGD,iEACC,oBACC,wBAAA,0BAAA,4BAAA,0BAID,mBAAA,KAAA,KAAA,IAAA,KAGD,0FACC,WAAA,MAGD,wFACC,WAAA,IAIF,iCACC,WAAA,WACA,oBACC,oBAAA,mBAAA,qBAGD,mBAAA,KAEA,oDACC,WAAA,OACA,aAAA,QAEA,sDACC,QAAA,MACA,YAAA,OACA,UAAA,KAKD,kFACC,WAAA,MAKD,gFACC,WAAA,IAEA,mBAAA,EAIF,uDACC,oBACC,uBAAA,0BAAA,0BAID,iHACC,cAAA,IAAA,KAAA,IAAA,CAAA,KAAA,KAAA,KAAA,IAAA,KAAA,KACA,oBACC,uBAAA,0BAAA,2BAGD,sBAAA,cACA,mBAAA,KAEA,oIACC,WAAA,MAIF,qFACC,cAAA,IAAA,KAAA,IAAA,CAAA,KAAA,KAAA,IAAA,KAAA,KACA,oBACC,wBAAA,0BAAA,2BAID,wGACC,WAAA,MAGD,2GACC,aAAA,OAIF,mFACC,cAAA,IAAA,KAAA,IAAA,CAAA,KAAA,KAAA,IAAA,KAAA,KACA,oBACC,yBAAA,0BAAA,0BAID,sGACC,WAAA,IAGD,yGACC,aAAA,OAKH,uDACC,WAAA,MAGD,mDACC,WAAA,IAGD,8HACC,oBACC,oBAAA,mBAAA,qBAKF,6DAEC,oBACC,oBAAA,mBAAA,qBAUH,8DACC,oBACC,oBAAA,uBAAA,qBAGD,mBAAA,KAAA,IAAA,KAAA,KAIC,+GACC,WAAA,MAIF,0FACC,sBAAA,KAAA,KAAA,IAAA,KAEA,6GACC,WAAA,IAIF,oFACC,oBACC,mBAAA,uBAAA,qBAGD,mBAAA,KAAA,IASD,iFACC,WAAA,uBAIA,2HACC,WAAA,EAIF,kGACC,SAAA,OAEA,mIACC,WAAA,KAGD,qHACC,SAAA,SACA,oBAAA,8BAIA,2IACC,oBAAA,mCAMJ,gCAEC,WAAA,KACA,aAAA,MAGD,uBACC,WAAA,KACA,aAAA,MAGD,gCACC,aAAA,MACA,SAAA,MACA,IAAA,EACA,KAAA,EACA,MAAA,EACA,QAAA,EACA,WAAA,KACA,OAAA,KAEA,OAAA,OACA,WAAA,qBAEA,mCAbD,gCAcE,WAAA,gBAIF,yDACC,QAAA,MAEA,2FAEC,WAAA,KAGD,2DACC,WAAA,MAEA,kFAEC,WAAA,OACA,SAAA,SACA,MAAA,EACA,OAAA,EACA,QAAA,EACA,SAAA,OAQJ,+BAGC,2BAAA,SAAA,uDAGC,iBAAA,KAAA,WAIF,2BAAA,SAAA,2DAGC,kBAAA,OAYD,2BAAA,SAAA,2FAGC,QAAA,GAEA,QAAA,kBACA,YAAA,EAQA,qBAAA,2BAAA,qBAAA,oBAAA,wBACC,WAAA,WACA,gBAAA,eACA,sBAAA,KACA,oBAAA,KACA,YAAA,KACA,IAAA,OACA,OAAA,KACA,MAAA,8BACA,WAAA,2BACA,UAAA,OACA,WAAA,OACA,cAAA,gCACA,OAAA,MACA,KAAA,QACA,QAAA,YACA,gBAAA,OACA,YAAA,OACA,QAAA,EAAA,IACA,OAAA,QAEA,0BAAA,gCAAA,0BAAA,yBAAA,6BACC,MAAA,8BAGD,uCAAA,6CAAA,uCAAA,sCAAA,0CAEC,MAAA,qCAKH,qCAAA,qBAAA,2BAAA,qBAAA,oBAAA,wBAMC,WAAA,EAAA,EAAA,EAAA,uBAAA,uBAAA,CAAA,EAAA,EAAA,uBAAA,sDAAA,wBAGD,uCACC,WAAA,KAGD,wBAEC,SAAA,EAOC,6CAAA,mDAAA,6CAAA,4CAAA,gDACC,OAAA,QAKD,yIACC,SAAA,QAWD,uEACC,SAAA,iBAOH,mBAAA,yBAAA,kBAAA,sBAIC,OAAA,OACA,MAAA,OAGC,+BAAA,qCAAA,8BAAA,kCAEC,SAAA,SACA,MAAA,IACA,OAAA,IACA,QAAA,EACA,OAAA,KACA,SAAA,OACA,KAAA,cACA,YAAA,OACA,OAAA,EAGD,iCAAA,uCAAA,gCAAA,oCACC,QAAA,GACA,iBAAA,8BACA,UAAA,4OACA,aAAA,eAAA,UAAA,EAAA,CAAA,CAAA,QACA,kBAAA,KACA,KAAA,eAAA,UAAA,EAAA,EACA,UAAA,KACA,MAAA,IACA,OAAA,IACA,QAAA,aAKH,yBACC,UAAA,EACA,aAAA,SAEA,uCAEC,UAAA,yVAGD,4CACC,UAAA,EAIF,mBACC,UAAA,EACA,aAAA,SAEA,iCACC,UAAA,8UAGD,4CACC,UAAA,EAIF,uEACC,UAAA,cAMA,0CAAA,6BAAA,mCACC,UAAA,cAOD,8CAAA,yBAAA,uCACC,UAAA,eAMD,gDAEC,QAAA,KACA,gBAAA,MACA,SAAA,KACA,UAAA,KACA,WAAA,KACA,MAAA,8BACA,cAAA,yBAEA,kDACC,WAAA,WACA,cAAA,EACA,OAAA,EACA,QAAA,KACA,gBAAA,WACA,QAAA,KAAA,IACA,WAAA,MACA,WAAA,WACA,eAAA,KACA,UAAA,MACA,gBAAA,YAEA,uDACC,QAAA,EAOF,qEACC,QAAA,MAEA,uEACC,MAAA,KAEA,kFACC,cAAA,EACA,0BAAA,yBACA,wBAAA,yBAGD,iFACC,cAAA,EACA,wBAAA,yBACA,sBAAA,yBAOF,+FACC,YAAA,OAKD,6EACC,WAAA,IAIF,+CAAA,mDAEC,QAAA,KAKH,4BACC,2CAEC,QAAA,MAEA,uDACC,iBAAA,eAMH,sBACC,KAAA,EACA,kBAAA,YAEA,oDACC,WAAA,wBAGD,6BACC,OAAA,KACA,OAAA,EACA,QAAA,KACA,cAAA,KAAA,GAAA,CAAA,KAEA,WAAA,WAEA,+BACC,SAAA,CAAA,CAAA,EACA,YAAA,CAAA,CAAA,EACA,QAAA,KACA,gBAAA,OACA,YAAA,OACA,aAAA,OAKD,wCACC,SAAA,CAAA,CAAA,EACA,aAAA,OACA,QAAA,KAAA,MACA,WAAA,eACA,MAAA,KACA,QAAA,EACA,cAAA,yBACA,OAAA,MAMD,qDAAA,qDAAA,oDAGC,OAAA,KACA,WAAA,KAGD,wHAEC,WAAA,kBAGD,+GACC,WAAA,kBAKD,qDACC,cAAA,IAAA,IAAA,CAAA,KAEA,gEACC,SAAA,CAAA,CAAA,EASD,gGAEC,WAAA,IAQA,wHAEC,WAAA,KACA,cAAA,IAMJ,0BACC,QAAA,MACA,WAAA,KACA,UAAA,KACA,WAAA,QACA,WAAA,WACA,QAAA,EAAA,KACA,QAAA,EAIA,kDACC,WAAA,KAOD,8CACC,WAAA,KAIA,yEACC,OAAA,KAMF,qCACC,WAAA,KAIA,gEACC,OAAA,KAMF,8CACC,WAAA,KAIA,yEACC,OAAA,KAKH,6BAAA,4BAEC,OAAA,KACA,OAAA,KACA,UAAA,KACA,WAAA,KACA,OAAA,KACA,aAAA,EAAA,CAAA,EAIA,sEACC,SAAA,SAEA,6EACC,QAAA,GACA,SAAA,SACA,MAAA,EACA,OAAA,UACA,WAAA,wBAAA,OAAA,UACA,gBAAA,QAMH,oFACC,aAAA,KAME,kHACC,aAAA,kBACA,SAAA,SACA,MAAA,KACA,OAAA,KAKH,gHACC,WAAA,KAGD,yGACC,OAAA,cAEA,gIACC,OAAA,KACA,UAAA,QAMH,6FAEC,aAAA,KAME,2HACC,aAAA,kBACA,SAAA,SACA,MAAA,KACA,OAAA,KAKH,yHACC,WAAA,KAGD,kHACC,OAAA,cAEA,yIACC,OAAA,KACA,UAAA,QASJ,8EACC,gDACC,QAAA,MC7vCA,6DACE,MAAA,EACA,OAAA,EAGF,mEACE,WAAA,IAYJ,SAEE,WAAA,QAAA,KAAA,YACA,oBAAA,QACA,WAAA,mBACA,MAAA,sBACA,OAAA,EACA,WAAA,MAuBA,oBAAA,QArBA,SAAA,mBAEE,WAAA,GAGF,mBACE,WAAA,qBAEA,8CAHF,mBAII,UAAA,iBAAA,2BAAA,YAAA,UAGF,mCAPF,mBAQI,WAAA,gBAIJ,oCACE,eAAA,kBAKF,kBACE,QAAA,KACA,SAAA,KACA,WAAA,IACA,WAAA,QACA,WAAA,uCACA,QAAA,MAGF,2BACE,QAAA,OAGF,yBACE,UAAA,KACA,WAAA,KACA,OAAA,MACA,MAAA,8BACA,OAAA,QACA,QAAA,MACA,KAAA,QACA,iBAAA,qCACA,QAAA,EACA,IAAA,EACA,SAAA,OACA,OAAA,EACA,QAAA,MACA,YAAA,IAEA,gCACE,QAAA,wBAKJ,uBACE,OAAA,KACA,MAAA,KACA,MAAA,4CACA,OAAA,KACA,WAAA,EAAA,EAAA,EAAA,IAAA,mBAEA,mCAPF,uBAQI,WAAA,EAAA,EAAA,EAAA,IAAA,oBAGF,iCACE,QAAA,EACA,UAAA,KAKF,mDACE,UAAA,KACA,WAAA,KAEA,mCAJF,mDAKI,WAAA,MAKN,yBACE,WAAA,EAAA,EAAA,OAAA,QAAA,eACA,WAAA,oBACA,UAAA,oBAEA,mCALF,yBAMI,WAAA,EAAA,EAAA,OAAA,QAAA,sBAGF,mCACE,QAAA,EACA,eAAA,KAKF,iCACE,QAAA,EACA,WAAA,IACA,eAAA,cACA,oBAAA,SAGF,kDACE,eAAA,mBAIJ,0BACE,cAAA,KAEA,0CACE,cAAA,KAIJ,WACE,WAAA,mBACA,SAAA,SAIA,8CADF,8BAGI,QAAA,EAEA,wCACE,QAAA,GACA,eAAA,KACA,WAAA,QAAA,KAAA,aAOR,2BAAA,SAAA,eAGE,WAAA,KAGF,4BACE,KACE,QAAA,EAGF,GACE,QAAA,GAIJ,6BACE,KACE,QAAA,EAGF,GACE,QAAA,GAIJ,yBACE,KACE,wBAAA,QACA,gBAAA,QAGF,GACE,wBAAA,WACA,gBAAA,YAIJ,8BACE,KACE,wBAAA,WACA,gBAAA,WAGF,GACE,wBAAA,QACA,gBAAA,SAIJ,SAAA,gBAEE,cAAA,yBACA,WAAA,EAAA,EAAA,EAAA,uBAAA,uBAAA,CAAA,EAAA,EAAA,uBAAA,sDAAA,wBCjOF,oBACC,KACC,WAAA,QAIF,2BACC,KACC,WAAA,SAIF,UACC,SAAA,SACA,QAAA,YACA,eAAA,OACA,UAAA,KACA,MAAA,kBACA,QAAA,EACA,iBAAA,2BACA,YAAA,yBAEA,iBACC,QAAA,GACA,SAAA,SACA,OAAA,QACA,iBAAA,8BACA,UAAA,uMACA,aAAA,eAAA,UAAA,EAAA,CAAA,CAAA,QACA,KAAA,eAAA,UAAA,EAAA,CAAA,CAAA,QACA,kBAAA,KACA,sBAAA,IACA,UAAA,KACA,cAAA,IACA,MAAA,MACA,OAAA,MAGA,iBAAA,OAMA,IAAA,mBACA,QAAA,GALA,mCAlBD,iBAmBE,MAAA,SAOF,gBACC,SAAA,SACA,IAAA,EACA,QAAA,EAGD,sBACC,UAAA,IACA,WAAA,OAAA,IAAA,YAEA,+DACC,OAAA,EACA,YAAA,EACA,eAAA,EACA,WAAA,OACA,SAAA,OACA,QAAA,MAOD,+CAAA,mCAEC,mBAAA,IACA,oBAAA,SACA,gBAAA,GAGD,mCACC,mBAAA,KACA,WAAA,KACA,OAAA,KAEA,MAAA,KAEA,QAAA,oBACA,mBAAA,QACA,OAAA,KACA,OAAA,EACA,WAAA,IAEA,oDACC,WAAA,OACA,eAAA,gBAIF,+CACC,QAAA,YAEA,iDACC,YAAA,CAAA,CAAA,EACA,SAAA,CAAA,CAAA,EAGD,uFACC,QAAA,EAIA,0FACC,WAAA,2BAMJ,gBACC,QAAA,KAGD,yBACC,MAAA,KAGD,yBACC,QAAA,EACA,OAAA,iCAIF,UAAA,mBAEC,UAAA,KACA,cAAA,MACA,cAAA,yBAGD,iBAAA,mBAEC,MAAA,KACA,UAAA,KACA,MAAA,8BACA,iBAAA,YACA,IAAA,EACA,QAAA,EACA,WAAA,WACA,mBAAA,KACA,WAAA,KACA,KAAA,QACA,OAAA,KAEA,YAAA,CAAA,CAAA,EACA,SAAA,CAAA,CAAA,EACA,SAAA,OACA,4BAAA,YAGD,iBACC,QAAA,oBACA,mBAAA,QACA,OAAA,QACA,YAAA,mCAEA,oCACC,eAAA,SAKD,qBACC,QAAA,MACA,sBAAA,KACA,oBAAA,KACA,mBAAA,KACA,iBAAA,KACA,YAAA,KACA,YAAA,QAGD,0BACC,mBAAA,KACA,WAAA,KACA,WAAA,IACA,OAAA,QACA,OAAA,EACA,MAAA,KACA,WAAA,MACA,OAAA,EACA,UAAA,IACA,SAAA,SACA,MAAA,8BACA,iBAAA,2BACA,QAAA,KACA,YAAA,OAIA,4BACC,eAAA,KACA,eAAA,OAGD,8BAGC,QAAA,aACA,WAAA,QACA,MAAA,IACA,OAAA,IACA,kBAAA,KACA,UAAA,KAIF,+BAeC,gBAAA,KACA,gBAAA,KAAA,YAfA,kDACC,MAAA,OAGD,wDACC,WAAA,KACA,cAAA,OAGD,wDACC,WAAA,IACA,cAAA,OAOF,kCAEC,SAAA,SACA,WAAA,oGACA,WAAA,kBACA,SAAA,KACA,WAAA,IACA,QAAA,EAAA,4BACA,oBAAA,iCACA,KAAA,iCACA,IAAA,iCACA,WAAA,YAEA,UAAA,iBAEA,+CACC,WAAA,8BACA,uBAAA,yBACA,wBAAA,yBAGD,8CACC,cAAA,8BACA,0BAAA,yBACA,2BAAA,yBAGD,qDACC,IAAA,iCACA,WAAA,oGAGD,2DAGC,YAAA,qCAEA,kEACC,WAAA,qCAIF,kDACC,iBAAA,kCACA,MAAA,qCAGD,0CAAA,yCAEC,MAAA,KACA,WAAA,WAGC,qEAAA,oEACC,iBAAA,qCACA,MAAA,wCAIF,gDAAA,+CACC,QAAA,EAIF,yCACC,QAAA,GACA,SAAA,SACA,iBAAA,2BACA,IAAA,8BACA,KAAA,6BACA,MAAA,6BACA,OAAA,4DACA,cAAA,yBAGD,mEACC,OAAA,uCAGD,0DAEC,WAAA,EAAA,EAAA,IAAA,IAAA,2BAIF,wCACC,OAAA,QACA,WAAA,EAAA,EAAA,EAAA,uBAAA,uBAAA,CAAA,EAAA,EAAA,uBAAA,sDAAA,wBAEA,+CACC,YAAA,OACA,SAAA,OACA,UAAA,mBACA,MAAA,KACA,OAAA,EACA,eAAA,OACA,UAAA,IACA,OAAA,KAEA,QAAA,oBACA,mBAAA,IACA,YAAA,IACA,WAAA,EACA,MAAA,8BACA,WAAA,IAIF,qBAAA,0BAEC,QAAA,oBACA,mBAAA,IACA,SAAA,SACA,YAAA,QACA,iBAAA,2BACA,WAAA,KAIF,6BAAA,6BAAA,sBAKC,QAAA,KAKD,kCACC,aAAA,6BAAA,UAAA,EAAA,+DAAA,CAAA,iDAAA,mBAaA,oBAAA,QAXA,2DACC,WAAA,kBAAA,KAAA,WAAA,CAAA,wBAAA,KAAA,YACA,kBAAA,KAAA,KACA,wBAAA,EAWF,uCACC,2DACC,WAAA,MAIF,yBACC,4CACC,MAAA,8CAIF,mBACC,oBAAA,OAMA,oCAAA,oDACC,QAAA,EAUF,2BAAA,SAAA,0BAGC,SAAA,OACA,oBAAA,KACA,YAAA,KAIA,4CACC,kBAAA,EACA,KAAA,KACA,MAAA,2DACA,wBAAA,KACA,gBAAA,KAGD,mCACC,2BACC,KAAA,QACA,MAAA,MC5bH,WACC,OAAA,KAEA,iBAKC,QAAA,aACA,cAAA,KACA,UAAA,IACA,OAAA,IACA,WAAA,OACA,YAAA,EACA,iBAAA,2BAVA,6BACC,QAAA,IAYF,oBAAA,iBAEC,MAAA,8BAGD,oBACC,SAAA,OACA,WAAA,mBACA,QAAA,+BACA,UAAA,KACA,YAAA,IACA,SAAA,SACA,QAAA,IACA,WAAA,MACA,WAAA,QAAA,IAAA,YACA,MAAA,eACA,YAAA,kCACA,QAAA,IACA,WAAA,WAEA,QAAA,KAEA,4BACC,QAAA,MAID,0BAEC,QAAA,GACA,SAAA,SACA,iBAAA,2BACA,UAAA,cACA,MAAA,IACA,OAAA,IAGD,2BACC,QAAA,GACA,MAAA,EACA,SAAA,SACA,OAAA,IACA,WAAA,2BACA,cAAA,yBACA,QAAA,GAGD,+CACC,aAAA,yBAAA,UACA,kBAAA,KAAA,iBACA,KAAA,yBAAA,UACA,UAAA,KAAA,iBAID,4CAAA,yCAEC,YAAA,kBAEA,kDAAA,+CACC,KAAA,qCACA,OAAA,MAIF,kDACC,IAAA,MAGD,0CAAA,2CAEC,WAAA,kBAEA,gDAAA,iDACC,IAAA,qCACA,KAAA,MAIF,gDACC,MAAA,MACA,KAAA,KAQH,+BACC,SAAA,SASD,4BACC,KACC,SAAA,UXhHF,MACC,gBAAA,KACA,kBAAA,IACA,qBAAA,oCACA,YAAA,KYTD,OACE,eAAA,SACA,QAAA,aACA,MAAA,iCACA,cAAA,OAEA,iBAAA,EAEA,8CARF,OASI,iBAAA,KAGF,eACE,QAAA,EAGF,UACE,OAAA,EACA,QAAA,EACA,QAAA,aACA,MAAA,KACA,WAAA,KACA,QAAA,KACA,UAAA,KACA,oBAAA,mBAAA,MAAA,sBACA,cAAA,yBACA,iBAAA,kCASE,wBACE,kBAAA,EAUN,qBACE,SAAA,KACA,UAAA,KACA,iBAAA,kCACA,cAAA,yBAEA,wBACE,QAAA,KAEA,UAAA,OACA,YAAA,OAIJ,SACE,SAAA,SACA,mBAAA,mBACA,QAAA,aAGF,kBACE,cAAA,IAGF,uBAAA,6BAEE,gBAAA,KACA,MAAA,gCACA,OAAA,QAGF,sCACE,gBAAA,KAGF,aACE,QAAA,YAIA,0BACE,QAAA,KACA,OAAA,KAEA,4BACE,QAAA,MACA,qBAAA,mBAIA,2CACE,wBAAA,yBACA,0BAAA,yBAKF,0CACE,wBAAA,EACA,wBAAA,yBAKN,4CACE,QAAA,MAOJ,kBACE,SAAA,KACA,UAAA,KACA,UAAA,mBACA,OAAA,KAGF,qBACE,QAAA,mCAAA,EAGE,qCACE,qBAAA,mBAMR,aACE,cAAA,EACA,MAAA,8BACA,iBAAA,YACA,UAAA,KAEA,gBACE,QAAA,EACA,OAAA,EACA,WAAA,EACA,QAAA,EACA,cAAA,EAGF,mBACE,QAAA,EACA,SAAA,SACA,mBAAA,EACA,IAAA,KAGF,sBACE,oBAAA,KACA,IAAA,EAGF,gDACE,oBAAA,0BAGF,kCACE,oBAAA,EACA,mBAAA,KACA,iBAAA,KAGF,mBACE,QAAA,aACA,eAAA,IACA,OAAA,EACA,QAAA,EACA,WAAA,WACA,SAAA,SACA,MAAA,KACA,iBAAA,2BAGF,kBACE,QAAA,MACA,QAAA,MAGF,wBACE,WAAA,IAGF,qBAAA,uBAEE,eAAA,KAGF,qBACE,SAAA,SAGF,uCACE,QAAA,EAGF,mCACE,kBAAA,EACA,mBAAA,MAGF,kDACE,kBAAA,OACA,mBAAA,MAGF,8DACE,kBAAA,EACA,mBAAA,MAGF,mBACE,QAAA,MACA,MAAA,KAGF,2CACE,WAAA,EACA,WAAA,EACA,SAAA,OACA,SAAA,SAIF,uBAAA,wBAAA,2CAAA,qCAAA,+BAAA,qCAME,WAAA,KACA,SAAA,QACA,QAAA,EACA,QAAA,EACA,iBAAA,2BAGF,2CAAA,qCAAA,qCAGE,QAAA,EAGF,sBACE,mBAAA,KACA,gBAAA,KACA,QAAA,MACA,SAAA,SACA,MAAA,KACA,OAAA,KACA,OAAA,KACA,cAAA,EACA,iBAAA,EACA,MAAA,QACA,OAAA,EACA,UAAA,QACA,OAAA,QAGF,sCACE,QAAA,GACA,SAAA,SACA,QAAA,MACA,iBAAA,EACA,IAAA,EACA,MAAA,QACA,OAAA,KAIA,8EACE,QAAA,GACA,OAAA,EACA,UAAA,IAGF,wGACE,QAAA,KAIJ,0FACE,iBAAA,KACA,UAAA,eACA,mBAAA,EACA,OAAA,EACA,IAAA,EACA,OAAA,IAGF,uCACE,QAAA,MACA,OAAA,KAGF,sBAAA,sCAEE,OAAA,mVAAA,OAAA,OAAA,UACA,aAAA,YACA,kBAAA,KACA,oBAAA,UACA,KAAA,YACA,UAAA,KACA,iBAAA,8BACA,YAAA,UAQF,iCACE,WAAA,IAGF,+BACE,mBAAA,QAIJ,yBACE,aACE,UAAA,KAEA,mBACE,WAAA,UAAA,sBAAA,YACA,iBAAA,IACA,UAAA,UAGF,uBAAA,wBAAA,2CAAA,qCAAA,+BAAA,qCAME,UAAA,UAEA,0BAAA,2BAAA,8CAAA,wCAAA,kCAAA,wCACE,UAAA,UACA,iBAAA,KAMF,yBAAA,yCAEE,OAAA,kVACA,mBAAA,YACA,sBAAA,OACA,WAAA,YACA,cAAA,OAOF,kCACE,QAAA,KAEA,wCACE,SAAA,OACA,MAAA,EAGF,uDACE,mBAAA,MAKN,qCACE,mBAAA,OAGF,8CACE,mBAAA,EACA,qBAAA,QAEA,qDACE,UAAA,eACA,mBAAA,EASF,mEACE,WAAA,+BAAA,sBACA,QAAA,EACA,SAAA,SACA,UAAA,UACA,iBAAA,KAGF,+EACE,iBAAA,MAGF,8CACE,iBAAA,2BAGF,2EAAA,gGAAA,qEAAA,0FAIE,WAAA,EACA,WAAA,EACA,SAAA,OACA,QAAA,EACA,SAAA,SAGF,4EAAA,uDAAA,4EAAA,iDAAA,sEAKE,WAAA,KACA,SAAA,QACA,QAAA,EACA,QAAA,EACA,iBAAA,2BACA,UAAA,UAGF,uDACE,iBAAA,sBACA,UAAA,UAKN,sCACE,UAAA,MACA,YAAA,OAGF,mBACE,YAAA,OAEA,2BAAA,kCAGE,YAAA,OACA,UAAA,oBACA,MAAA,MAIJ,oEACE,SAAA,OAQE,wEAGE,UAAA,eAgBF,6EAAA,4EACE,iBAAA,OAQR,wCAEI,2CACE,SAAA,OACA,MAAA,iBACA,WAAA,WAAA,sBAAA,YAGF,mBACE,SAAA,OACA,MAAA,iBACA,qBAAA,KACA,SAAA,OACA,WAAA,WAEA,sBACE,OAAA,EAIJ,mBACE,MAAA,KAEA,kCACE,mBAAA,IAIJ,wDACE,OAAA,iVACA,mBAAA,YACA,WAAA,YACA,wBAAA,OACA,gBAAA,OACA,wBAAA,OACA,gBAAA,OAGF,0FACE,iBAAA,EACA,mBAAA,KACA,UAAA,KASJ,sBACE,wBAAA,OACA,gBAAA,OACA,QAAA,EAGF,qCACE,MAAA,KAEA,2CACE,QAAA,KACA,eAAA,OAEA,6CACE,MAAA,GAIJ,mEACE,MAAA,KAIJ,oGACE,UAAA,MAIJ,6CAIE,oBACE,cAAA,OACA,cAAA,KAIJ,eAAA,4BAEE,WAAA,EAAA,EAAA,EAAA,uBAAA,uBAAA,CAAA,EAAA,EAAA,uBAAA,sDAAA,wBZ5kBF,MACC,gBAAA,KACA,kBAAA,IACA,qBAAA,oCACA,YAAA,KaTD,UACC,WAAA,eACA,WAAA,OACA,QAAA,IACA,MAAA,KACA,OAAA,UACA,QAAA,EACA,mBAAA,KACA,WAAA,KACA,OAAA,KACA,MAAA,KACA,KAAA,QAEA,gBACC,QAAA,KAGD,iBACC,YAAA,IACA,SAAA,MACA,KAAA,EACA,MAAA,EACA,QAAA,EAGD,8BACC,eAAA,KACA,QAAA,KC9BF,YACC,SAAA,OAGD,qBACC,YAAA,UACA,UAAA,gDdED,MACC,gBAAA,KACA,kBAAA,IACA,qBAAA,oCACA,YAAA,KePA,SAAA,eAEC,SAAA,KACA,gBAAA,SACA,cAAA,yBACA,WAAA,EAAA,EAAA,EAAA,uBAAA,uBAAA,CAAA,EAAA,EAAA,uBAAA,sDAAA,wBACA,QAAA,aAGD,eACC,MAAA,KACA,SAAA,KACA,wBACC,MAAA,KACA,QAAA,MAIF,YAAA,YAEC,QAAA,0BAAA,mCACA,eAAA,OAGD,YAAA,kBAEC,MAAA,KACA,YAAA,IACA,eAAA,0BACA,UAAA,MACA,WAAA,eACA,WAAA,MAEA,iCAAA,uCACC,MAAA,KACA,OAAA,QACA,mBAAA,KACA,WAAA,KACA,KAAA,QACA,WAAA,QACA,OAAA,EACA,QAAA,EACA,WAAA,IACA,MAAA,QACA,YAAA,KAEA,uCAAA,6CACC,QAAA,IACA,YAAA,KAKH,4BACC,WAAA,iBAGD,gBAAA,YAAA,YAAA,YAIC,OAAA,KA2BF,wCACC,SACC,aAAA,KAEA,YACC,WAAA,Qf1FH,MACC,gBAAA,KACA,kBAAA,IACA,qBAAA,oCACA,YAAA,KgBTD,QACE,yBAAA,KACA,UAAA,0BACA,YAAA,uBACA,YAAA,SAAA,CAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,SAAA,CAAA,WAAA,CAAA,YAAA,CAAA,gBAAA,CAAA,WACA,eAAA,MAGA,WAAA,WAAA,WAAA,WAAA,WAAA,WAME,YAAA,uBACA,WAAA,WACA,UAAA,WACA,UAAA,IACA,YAAA,IACA,OAAA,KAAA,EACA,YAAA,KAEA,wCAdF,WAAA,WAAA,WAAA,WAAA,WAAA,WAeI,gBAAA,KACA,QAAA,MAGF,8BAAA,8BAAA,8BAAA,8BAAA,8BAAA,8BACE,WAAA,EAIJ,WAAA,WAAA,WAGE,YAAA,OAGF,WACE,UAAA,QAGF,WACE,UAAA,QAGF,WACE,UAAA,KAGF,WACE,UAAA,QAGF,WACE,UAAA,OAGF,WACE,UAAA,QAGF,YACE,SAAA,KAGF,UACE,UAAA,IACA,OAAA,0BAAA,EACA,YAAA,uBAGF,iCACE,MAAA,KACA,UAAA,IACA,QAAA,KAAA,KAAA,KAAA,EACA,WAAA,MACA,YAAA,IAGF,gBACE,MAAA,QAGF,kBACE,QAAA,OAGF,WACE,QAAA,MACA,OAAA,IACA,OAAA,EACA,WAAA,IAAA,MAAA,KACA,OAAA,IAAA,EACA,QAAA,EAGF,iBAAA,mBAAA,UAGE,oBAAA,IAAA,MAAA,KACA,qBAAA,IACA,QAAA,MACA,OAAA,0BAAA,EACA,oBAAA,IAGF,oBACE,UAAA,QACA,YAAA,oCACA,WAAA,SAIJ,iBAAA,+BAGE,cAAA,iCAAA,MAAA,YACA,WAAA,YAGF,UACE,MAAA,MACA,OAAA,MACA,YAAA,MACA,UAAA,IACA,QAAA,aACA,WAAA,OACA,SAAA,SACA,WAAA,2BAEA,iBACE,QAAA,GACA,SAAA,SACA,KAAA,MACA,MAAA,IACA,IAAA,MACA,WAAA,EAAA,MAAA,EAAA,IAAA,6BAAA,CAAA,EAAA,OAAA,EAAA,IAAA,6BAAA,CAAA,EAAA,IAAA,EAAA,IAAA,8BACA,OAAA,KAQA,2CAAA,0CACE,MAAA,MC9IN,MACC,gBAAA,KACA,kBAAA,IACA,qBAAA,oCACA,YAAA,KCRD,WACE,UAAA,OACA,OAAA,EAAA,KACA,MAAA,KAKA,qBAAA,0BAEE,OAAA,KACA,OAAA,EAAA,KACA,WAAA,OAGF,0BACE,SAAA,OACA,OAAA,KAIJ,qBACE,WAAA,MACA,WAAA,OACA,QAAA,KACA,eAAA,OAEA,0BACE,UAAA,EAIJ,mBACE,QAAA,aAGF,eACE,QAAA,MAGF,iBACE,QAAA,KAIF,UACE,SAAA,SAGF,YACE,SAAA,OAIF,YACE,SAAA,SACA,QAAA,EAEA,sBAEE,SAAA,SACA,KAAA,0BACA,MAAA,KACA,OAAA,KACA,MAAA,EACA,QAAA,GAEA,0BACE,MAAA,EACA,MAAA,KACA,OAAA,MACA,OAAA,OACA,SAAA,MACA,WAAA,MACA,gBAAA,OAKN,SACE,SAAA,MAEA,kBACE,SAAA,OAIJ,6BACE,SAAA,SACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EAGF,YACE,WAAA,MACA,WAAA,OAIF,wCACE,eACE,QAAA,KAGF,iBACE,QAAA,MAGF,4BACE,OAAA,KACA,SAAA,OAIA,sBACE,WAAA,MAGF,kBACE,SAAA,MACA,IAAA,EACA,KAAA,EACA,MAAA,EACA,WAAA,KACA,QAAA,EAGF,mBACE,MAAA,OAKN,MACE,kBAAA,IACA,mBAAA,yBACA,kBAAA,IACA,kBAAA,EACA,mBAAA,yBACA,mBAAA,YAoBF,eAjBE,YAAA,sBACA,SAAA,mBACA,oBAAA,8BACA,iBAAA,2BACA,wBAAA,kCACA,2BAAA,qCACA,wBAAA,kCACA,kBAAA,4BACA,eAAA,yBACA,iBAAA,2BACA,cAAA,wBACA,mBAAA,6BACA,mBAAA,6BACA,wBAAA,YACA,wBAAA,YAQA,mCADF,eArBE,YAAA,sBACA,SAAA,mBACA,oBAAA,8BACA,iBAAA,2BACA,wBAAA,kCACA,2BAAA,qCACA,wBAAA,kCACA,kBAAA,4BACA,eAAA,yBACA,iBAAA,2BACA,cAAA,wBACA,mBAAA,6BACA,mBAAA,6BACA,wBAAA,YACA,wBAAA","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..77e9e7e7 100644 --- a/dist/niui.min.css.size +++ b/dist/niui.min.css.size @@ -1 +1 @@ -14324 +14443 diff --git a/dist/niui.min.js b/dist/niui.min.js index 73a06b6b..786ff19a 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.parentElement.classList.contains("n-carousel--overlay"),s=e=>e.closest(".n-carousel").matches(".n-carousel--vertical"),d=e=>e.parentNode.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))};t.togglingFullScreen=!0,l()?(document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen(),r&&setTimeout((()=>{e.style.display="none",window.requestAnimationFrame((()=>{e.style.display=""}))}),0)):(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,w=null,S=null;const E=e=>{("Tab"===e.key||9===e.keyCode)&&(e.shiftKey?document.activeElement===x&&(S.focus(),e.preventDefault()):document.activeElement===S&&(x.focus(),e.preventDefault()))},q=(e,t=!1)=>{x=e.querySelectorAll(n)[0],w=e.querySelectorAll(n),S=w[w.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 w=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):(w(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}))):(w(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 S=A(n.closest(".n-carousel"),".n-carousel__index");S&&(S.querySelector("[aria-current]")?.removeAttribute("aria-current"),c(S)[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.closest(".n-carousel__content > *"),n=t.closest(".n-carousel__content");t.parentNode.ariaCurrent&&!n.parentNode.dataset.sliding&&(t.style.height="auto",n.style.height=`${t.scrollHeight}px`,t.style.height="")}))}))})),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--vertical.n-carousel--auto-height")&&m.querySelectorAll(":scope > * > *").forEach((e=>$.observe(e))),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}let t=t=>{let n=t.target.closest(".n-tooltip"),o=e(n);n.removeAttribute("aria-expanded"),n.after(o),o.removeAttribute("style"),delete o.dataset.position,o.classList.remove("n-tooltip__content-visible")},n=t=>{let n=t.target.closest(".n-tooltip"),o=e(n);n.setAttribute("aria-expanded",!0),document.body.appendChild(o),((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,o)};const o=(e=document)=>{e.querySelectorAll(".n-tooltip")?.length,e.querySelectorAll(".n-tooltip:not([data-ready])").forEach((e=>{e.setAttribute("tabindex",0),e.addEventListener("touchend",n),e.addEventListener("mouseover",n),e.addEventListener("focus",n),e.addEventListener("mouseout",t),e.addEventListener("blur",t),e.dataset.ready=!0}))};void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-tooltip",o):o()}(),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..dee5bde4 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","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","slideTo","new_offset","carouselKeys","slidePreviousEvent","slidePrevious","slideNextEvent","slideIndexEvent","href","ctrlKey","metaKey","new_index","old_index","openModal","frozen","closeModal","verticalAutoObserver","ResizeObserver","entries","ariaCurrent","updateSubpixels","padding","removeProperty","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","hideTip","tip","after","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.parentElement.classList.contains('n-carousel--overlay') };\n const isVertical = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--vertical\");\n const isAuto = (el) => el.parentNode.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 } 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 verticalAutoObserver = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let slide = e.target.closest(\".n-carousel__content > *\");\n let el = slide.closest(\".n-carousel__content\");\n if (!!slide.parentNode.ariaCurrent && !el.parentNode.dataset.sliding) {\n slide.style.height = 'auto';\n el.style.height = `${slide.scrollHeight}px`;\n slide.style.height = '';\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--vertical.n-carousel--auto-height\")) {\n // Vertical auto has a specified height which needs update on resize\n content.querySelectorAll(\":scope > * > *\").forEach((el) => verticalAutoObserver.observe(el));\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\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\tlet hideTip = (e) => {\n\t\t// return;\n\t\tlet tool = e.target.closest(\".n-tooltip\");\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 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};\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..37833a77 100644 --- a/dist/niui.min.js.size +++ b/dist/niui.min.js.size @@ -1 +1 @@ -12455 +12394 diff --git a/index.html b/index.html index 31cfddf1..56585059 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,32 +515,32 @@ 

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">
-			<div>Child grid column</div>
+					
+
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>							
 	</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,64 +3936,64 @@ 

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..ac9cb4f2 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() { @@ -497,9 +576,9 @@ nui.dynamicInit = true;// Component Form – start const isSafari = navigator.userAgent.match(/Safari/) && !isChrome; const isEndless = el => el.children.length > 2 && el.parentElement.classList.contains("n-carousel--endless"); const isFullScreen = () => { return !!(document.webkitFullscreenElement || document.fullscreenElement) }; - const isModal = el => { return el.closest(".n-carousel").classList.contains('n-carousel--overlay') }; + const isModal = el => { return el.parentElement.classList.contains('n-carousel--overlay') }; const isVertical = (el) => el.closest(".n-carousel").matches(".n-carousel--vertical"); - const isAuto = (el) => el.closest(".n-carousel").matches(".n-carousel--auto-height"); + const isAuto = (el) => el.parentNode.matches(".n-carousel--auto-height"); const indexControls = index => { let controls_by_class = index.querySelectorAll('.n-carousel__control'); return (controls_by_class.length > 0) ? controls_by_class : index.querySelectorAll('a, button'); @@ -584,19 +663,6 @@ nui.dynamicInit = true;// Component Form – start }); }, 0); } - if (isVertical(el) && isAuto(el)) { - let updateExitFullScreen = e => { - setTimeout(() => { - let carousel = el.querySelector(":scope > .n-carousel__content"); - // console.log(carousel); - // el.style.removeProperty('--height'); - // carousel.style.height = ''; - slideTo(carousel, parseInt(carousel.dataset.y)); - }, 100); - el.removeEventListener('fullscreenchange', updateExitFullScreen); - }; - el.addEventListener('fullscreenchange', updateExitFullScreen); - } } else { // Enter full screen if (isSafari) { @@ -1082,24 +1148,15 @@ nui.dynamicInit = true;// Component Form – start trapFocus(carousel.closest(".n-carousel")); } }; - const autoHeightObserver = new ResizeObserver((entries) => { + const verticalAutoObserver = new ResizeObserver((entries) => { window.requestAnimationFrame(() => { entries.forEach((e) => { - let slide = e.target.querySelector(":scope > [aria-current]"); + let slide = e.target.closest(".n-carousel__content > *"); let el = slide.closest(".n-carousel__content"); - if (!el.parentElement.dataset.sliding) { - // console.log(e.target); - el.parentNode.style.removeProperty('--height'); - if (isVertical(el)) { - slide.style.height = 'auto'; - el.style.height = `${slide.scrollHeight}px`; - slide.style.height = ''; - updateCarousel(el); - } else { - el.style.height = ''; - el.style.height = `${slide.scrollHeight}px`; - updateCarousel(el, true); - } + if (!!slide.parentNode.ariaCurrent && !el.parentNode.dataset.sliding) { + slide.style.height = 'auto'; + el.style.height = `${slide.scrollHeight}px`; + slide.style.height = ''; } }); }); @@ -1300,9 +1357,9 @@ nui.dynamicInit = true;// Component Form – start el.dataset.ready = true; 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) } - if (el.matches(".n-carousel--auto-height")) { - // Auto has a specified height which needs update on resize - autoHeightObserver.observe(content); + if (el.matches(".n-carousel--vertical.n-carousel--auto-height")) { + // Vertical auto has a specified height which needs update on resize + content.querySelectorAll(":scope > * > *").forEach((el) => verticalAutoObserver.observe(el)); } window.requestAnimationFrame(() => { observersOn(content); @@ -1451,7 +1508,7 @@ nui.dynamicInit = true;// Component Form – start } }); const doInit = () => { - (typeof nui !== 'undefined' && typeof nui.registerComponent === "function") ? nui.registerComponent("n-carousel", init): init(); + (typeof nui !== 'undefined' && typeof nui.registerComponent === "function") ? nui.registerComponent("n-carousel", init) : init(); }; if (document.readyState !== "loading") { doInit(); @@ -1461,85 +1518,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; @@ -2222,6 +2200,7 @@ nui.dynamicInit = true;// Component Form – start tip.removeAttribute("style"); delete tip.dataset.position; tip.classList.add('n-tooltip__content-visible'); + let positionTop = () => { tip.style.bottom = 20 + body_rect.height + body_rect.y - top + "px"; tip.style.maxHeight = top - 40 + "px"; @@ -2308,7 +2287,9 @@ nui.dynamicInit = true;// Component Form – start function getToolTip(tool) { return document.getElementById(tool.getAttribute('aria-describedby')) || tool.nextElementSibling; } - const hideTipFunction = tool => { + let hideTip = (e) => { + // return; + let tool = e.target.closest(".n-tooltip"); let tip = getToolTip(tool); tool.removeAttribute("aria-expanded"); tool.after(tip); @@ -2316,20 +2297,12 @@ nui.dynamicInit = true;// Component Form – start delete tip.dataset.position; tip.classList.remove('n-tooltip__content-visible'); }; - let hideTip = (e) => { - hideTipFunction(e.target.closest(".n-tooltip")); - }; - const hideTipOnScroll = e => { - document.querySelectorAll('.n-tooltip').forEach(el => hideTipFunction(el)); - document.removeEventListener('scroll', hideTipOnScroll); - }; let showTip = (e) => { let tool = e.target.closest(".n-tooltip"); let tip = getToolTip(tool); tool.setAttribute("aria-expanded", true); document.body.appendChild(tip); setTipPosition(tool, tip); - document.addEventListener('scroll', hideTipOnScroll, true); }; const init = (host = document) => { /* Tooltip */ @@ -2344,52 +2317,11 @@ nui.dynamicInit = true;// Component Form – start el.dataset.ready = true; }); }; - (typeof nui !== 'undefined' && typeof nui.registerComponent === "function") ? nui.registerComponent("n-tooltip", init): init(); + (typeof nui !== 'undefined' && typeof nui.registerComponent === "function") ? nui.registerComponent("n-tooltip", init) : init(); })(); // 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 +2574,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..9baf3559 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.parentElement.classList.contains('n-carousel--overlay') };\n const isVertical = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--vertical\");\n const isAuto = (el) => el.parentNode.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 } 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 verticalAutoObserver = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let slide = e.target.closest(\".n-carousel__content > *\");\n let el = slide.closest(\".n-carousel__content\");\n if (!!slide.parentNode.ariaCurrent && !el.parentNode.dataset.sliding) {\n slide.style.height = 'auto';\n el.style.height = `${slide.scrollHeight}px`;\n slide.style.height = '';\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--vertical.n-carousel--auto-height\")) {\n // Vertical auto has a specified height which needs update on resize\n content.querySelectorAll(\":scope > * > *\").forEach((el) => verticalAutoObserver.observe(el));\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\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\tlet hideTip = (e) => {\n\t\t// return;\n\t\tlet tool = e.target.closest(\".n-tooltip\");\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 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};\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/niui-wp.min.css b/niui-wp/niui-wp.min.css index 32a2bb2e..66726722 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))}.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}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}.n-accordion__label[aria-expanded=true] button,input:checked~.n-accordion__label button{background:var(--nui-control-active-bg,#fff);color:var(--nui-control-active-color,#222);cursor:zoom-out}.n-accordion__label[aria-expanded=true] button:after,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}.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}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([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:1fr auto 1fr/auto auto auto 1fr auto auto;position:relative;grid-template-areas:"f c a3 a3 a3 a3" "prev a2 a2 a2 a2 next" "i i i 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-start.n-carousel--index-start:not(.n-carousel--controls-outside){grid-template-areas:"f c i b1 b2 b2" "prev a3 a3 a3 a3 next"}.n-carousel.n-carousel--index-align-start.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical){grid-template-areas:"i i i i i i" "prev a2 a2 a2 a2 next" "f c a3 a3 a3 a3"}.n-carousel.n-carousel--index-align-start.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical)>.n-carousel__close,.n-carousel.n-carousel--index-align-start.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical)>.n-carousel__full-screen{align-self:end}.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--index-align-end.n-carousel.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical){grid-template-areas:"f c i i i i" "prev a2 a2 a2 a2 next" "a3 a3 a3 a3 a3 a3"}.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;justify-self:center}.n-carousel>.n-carousel__next{grid-area:next;align-self:center;justify-self:center}.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 i i i" "prev a2 a2 a2 a2 next" "f c a3 a3 a3 a3"}.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 c content a1" "prev c2 content next" "a2 c2 content a3" "i i i i";grid-template-columns:auto auto 1fr auto}.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:"f c i i" "b1 c2 content b2" "prev c2 content next" "a1 c2 content a2";grid-template-rows:auto auto 1fr auto}.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{box-sizing:border-box;grid-template-areas:"f c a1 prev a2 a2" "i a3 a3 a3 a3 a3" "i a4 a4 next a5 a5";grid-template-rows:auto}.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 c a1 prev a2 i" "a3 a3 a3 a3 a3 i" "a4 a4 a4 next a5 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--index-align-start:not(.n-carousel--index-end):not(.n-carousel--controls-outside){grid-template-areas:"a1 a1 a1 prev c f" "i a3 a3 a3 a3 a3" "i a4 a4 next a5 a5"}.n-carousel.n-carousel--vertical.n-carousel--index-align-end{grid-template-areas:"a1 a1 a1 prev c f" "i a3 a3 a3 a3 a3" "i a4 a4 next a5 a5"}.n-carousel.n-carousel--vertical.n-carousel--controls-outside{grid-template-areas:"f c prev a2" "i c2 content a2" "i c2 next a2";grid-template-rows:auto 1fr auto auto}.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-align-end{grid-template-columns:auto auto 1fr auto}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-align-end>.n-carousel__index{align-self:end}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-end{grid-template-areas:"f c prev i" "a1 c2 content i" "a1 c2 next i";grid-template-rows:auto 1fr}.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{position:absolute;margin-inline-start:calc(-1 * var(--index-width))}.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__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__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}}@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}: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-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..1378bde9 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","grid/aspect-ratio.scss","grid/grid.scss","list/list.scss","../../node_modules/n-accordion/n-accordion.scss","form/form.scss","../../node_modules/n-carousel/n-carousel.scss","../../node_modules/n-modal/n-modal.scss","../../node_modules/n-tooltip/n-tooltip.scss","../../node_modules/n-select/n-select.scss","notify/notify.scss","nav/nav.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..786ff19a 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.parentElement.classList.contains("n-carousel--overlay"),s=e=>e.closest(".n-carousel").matches(".n-carousel--vertical"),d=e=>e.parentNode.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))};t.togglingFullScreen=!0,l()?(document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen(),r&&setTimeout((()=>{e.style.display="none",window.requestAnimationFrame((()=>{e.style.display=""}))}),0)):(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,w=null,S=null;const E=e=>{("Tab"===e.key||9===e.keyCode)&&(e.shiftKey?document.activeElement===x&&(S.focus(),e.preventDefault()):document.activeElement===S&&(x.focus(),e.preventDefault()))},q=(e,t=!1)=>{x=e.querySelectorAll(n)[0],w=e.querySelectorAll(n),S=w[w.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 w=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):(w(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}))):(w(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 S=A(n.closest(".n-carousel"),".n-carousel__index");S&&(S.querySelector("[aria-current]")?.removeAttribute("aria-current"),c(S)[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.closest(".n-carousel__content > *"),n=t.closest(".n-carousel__content");t.parentNode.ariaCurrent&&!n.parentNode.dataset.sliding&&(t.style.height="auto",n.style.height=`${t.scrollHeight}px`,t.style.height="")}))}))})),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--vertical.n-carousel--auto-height")&&m.querySelectorAll(":scope > * > *").forEach((e=>$.observe(e))),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}let t=t=>{let n=t.target.closest(".n-tooltip"),o=e(n);n.removeAttribute("aria-expanded"),n.after(o),o.removeAttribute("style"),delete o.dataset.position,o.classList.remove("n-tooltip__content-visible")},n=t=>{let n=t.target.closest(".n-tooltip"),o=e(n);n.setAttribute("aria-expanded",!0),document.body.appendChild(o),((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,o)};const o=(e=document)=>{e.querySelectorAll(".n-tooltip")?.length,e.querySelectorAll(".n-tooltip:not([data-ready])").forEach((e=>{e.setAttribute("tabindex",0),e.addEventListener("touchend",n),e.addEventListener("mouseover",n),e.addEventListener("focus",n),e.addEventListener("mouseout",t),e.addEventListener("blur",t),e.dataset.ready=!0}))};void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-tooltip",o):o()}(),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..dee5bde4 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","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","slideTo","new_offset","carouselKeys","slidePreviousEvent","slidePrevious","slideNextEvent","slideIndexEvent","href","ctrlKey","metaKey","new_index","old_index","openModal","frozen","closeModal","verticalAutoObserver","ResizeObserver","entries","ariaCurrent","updateSubpixels","padding","removeProperty","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","hideTip","tip","after","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":"AAAG,IAACA,IAAM,MAeJ,SAASC,EAAEC,GACL,OAAOC,SAASC,cAAcF,EAC1C,CAMM,SAASG,EAASC,EAAIC,GAChBD,EAAGE,UAAUC,IAAIF,EAC7B,CAEM,SAASG,EAAYJ,EAAIC,GAEnBD,EAAGE,UAAUG,OAAOJ,EAChC,CA3BMJ,SAASS,KAAKC,QAAQC,OAAQ,EACxBC,OAAe,SACfZ,SAASS,KAAKC,QAAQG,WAAY,GAEpCC,UAAUC,UAAUC,MAAM,YAAcF,UAAUC,UAAUC,MAAM,YAChEhB,SAASS,KAAKC,QAAQO,WAAY,IAEpCH,UAAUI,SAASF,MAAM,QAAUF,UAAUI,SAASF,MAAM,WAAaF,UAAUI,SAASF,MAAM,SAAWF,UAAUI,SAASF,MAAM,WACpIhB,SAASS,KAAKC,QAAQS,UAAW,GAEvBL,UAAUI,SAASF,MAAM,QA6LzC,IAAII,EAAe,KACTtB,EAAE,cACAS,EAAYT,EAAE,aAAc,YAE5BuB,SAASC,MAAQxB,EAAEuB,SAASC,OAC5BpB,EAASJ,EAAEuB,SAASC,MAAO,WAC7C,EAEMF,IACAR,OAAOW,iBAAiB,aAAcH,GAEtC,IAAII,EAAOxB,SAASyB,cAAc,QAOlC,IAAK,IAAIC,IANQ,CACXC,UAAW,eACXC,aAAc,eACdC,gBAAiB,sBAIbL,EAAKM,MAAMJ,IAuDrB,WACM,IACIK,EADAC,GAAU,EAEd,IAAIC,EAAiBC,IACfC,aAAaJ,GACbC,GAAU,EACV9B,EAASJ,EAAE,QAAS,aACpBiC,EAAeK,YAAW,KACpBJ,GAAU,CAAK,GAClB,IAAI,EASbhC,SAASuB,iBAAiB,aAPFW,IACbF,IAECA,GAAU,EACVzB,EAAYT,EAAE,QAAS,aAC/C,IAEqE,GACzDE,SAASuB,iBAAiB,aAAcU,GAAe,GACvDA,GACL,CArBD,GAuCqBnC,EAAE,wBACvB,IAAIuC,EAAa,IAAIC,MAWrB,SAASC,EAAeC,EAAOxC,SAASS,MAClCgC,IACA,IAAK,IAAIC,KAAOL,EACVA,EAAWK,GAAK,GAAGC,KAAKH,GAE9BI,GACZ,CACM,IAAIC,GAAW,EAEf,SAASD,IACCC,GACEA,EAASC,QAAQ9C,SAASS,KAAM,CAAEsC,WAAW,EAAMC,SAAS,GAE9E,CAEM,SAASP,IACCI,GACEA,EAASI,YAE3B,CAuBM,MAtBgC,mBAArBC,mBACLL,EAAW,IAAIK,kBAAiB,CAACC,EAAWN,KACtC,GAAIjC,OAAOf,IAAIuD,YAAa,CACtBX,IACA,IAAIY,EAAWF,EAAU,GACzB,GAAsB,cAAlBE,EAASC,MAAwBD,EAASE,WAAWC,OAAS,EAC5D,IAAK,IAAIrD,KAAMkD,EAASE,WACA,iBAAPpD,GAAmC,UAAhBA,EAAGsD,WAAyBtD,EAAGO,QAAQgD,OAASvD,EAAGwD,YAC3EpB,EAAepC,EAAGwD,YAIpCf,GACxB,MAQML,IACO,CAAEqB,kBAnDT,SAA2BC,EAAMlB,EAAMmB,GAAoB,GACrDzB,EAAWwB,GAAQ,IAAIvB,MACvBD,EAAWwB,GAAME,KAAK,CAAEpB,KAAMA,IAC9BA,EAAK3C,UACD8D,IACEjE,IAAIiE,EAAkBD,MAAQC,EAAkBE,KAElE,EA4CkCzB,iBAAgB0B,WA7G5C,SAAoB9D,EAAI+D,EAAQC,GAC1BhE,EAAGoB,iBAAiB,SAAU6C,IACxBxD,OAAOyD,eAAeC,kBACtB,IAAIC,EAAQvE,SAASwE,cACrBD,EAAME,WAAWP,GACjBtD,OAAOyD,eAAeK,SAASH,GAC/B,IACMvE,SAAS2E,YAAY,QACfR,GAAQtE,IAAI+E,QACZ/E,IAAI+E,OAAO,MAAQV,EAAOW,YAAa,gBAErE,CAAoB,MAAOC,GAAK,IAEhC,EAgG8DC,aA1DxD,SAAsBvC,EAAMrC,GACtBqC,EAAKwC,mBAAmB,aAAc7E,GACtCoC,EAAeC,EAC3B,EAwDC,EAlXS,GAmXV3C,IAAIuD,aAAc,EAyBjBvD,IAAI+D,kBAAkB,UAvBVpB,IACX,MAAMyC,EAAS/C,IACd,IAAI/B,EAAK+B,EAAEgC,OAAOgB,QAAQ,kBACtBC,EAAIjD,EAAEkD,SAAWjF,EAAGkF,YAAc,EAClCC,EAAIpD,EAAEqD,SAAWpF,EAAGqF,aAAe,EACnCC,EAAQC,KAAKC,IAAIR,EAAGhF,EAAGkF,YAAcF,GACrCS,EAAQF,KAAKC,IAAIL,EAAGnF,EAAGqF,aAAeF,GACtCO,EAASH,KAAKI,KAAKL,EAAQA,EAAQG,EAAQA,GAC/CzF,EAAG2B,MAAMiE,mBAAqB,OAC9B5F,EAAG2B,MAAMkE,YAAY,aAAc,GAAGb,OACtChF,EAAG2B,MAAMkE,YAAY,aAAc,GAAGV,OACtCnF,EAAG2B,MAAMkE,YAAY,kBAAmB,OACxCpF,OAAOqF,uBAAsB,KAC5B9F,EAAG2B,MAAMiE,mBAAqB,GAC9B5F,EAAG2B,MAAMkE,YAAY,kBAAmB,GAAGH,MAAW,GACrD,EAEH7F,SAASkG,iBAAiB,oCAAoCC,SAAQhG,IACrEA,EAAGoB,iBAAiB,cAAe0D,GACnC9E,EAAGoB,iBAAiB,UAAW0D,GAC/B9E,EAAGO,QAAQgD,OAAQ,CAAI,GACtB,IAQJ,WAEE,SAAS0C,EAAWlE,GAClB,IAAI/B,EAAK+B,EAAEgC,OACPmC,GAAkB,EAuBtB,OAtBAlG,EAAG+F,iBAAiB,sCAAsCC,SAAShG,IACjE,GACGA,EAAGF,cAAc,6BAA+BE,EAAGF,cAAc,2BAA2BqG,OAC5FnG,EAAGF,cAAc,0BAA4BE,EAAGF,cAAc,wBAAwBsG,SACtFpG,EAAGF,cAAc,uBAAyBE,EAAGF,cAAc,qBAAqBsG,SAChFpG,EAAGF,cAAc,uBAAyBuG,OAAO,mDAAmDC,KAAKtG,EAAGF,cAAc,qBAAqBqG,QAC/InG,EAAGF,cAAc,qBAAuBuG,OAAO,kEAAkEC,KAAKtG,EAAGF,cAAc,mBAAmBqG,QAC1JnG,EAAGF,cAAc,wBAA0BuG,OAAO,SAASC,KAAKtG,EAAGF,cAAc,sBAAsBqG,QACvGnG,EAAGF,cAAc,oCAChBE,EAAGF,cAAc,sBAAsBqG,MAAM9C,SAAWkD,SAASvG,EAAGF,cAAc,sBAAsBS,QAAQiG,QARpH,CAUEN,GAAkB,EAClBlG,EAAGF,cAAc,SAAS2G,QAC1BzG,EAAGE,UAAUC,IAAI,iBAEjB,IAAIuG,EAAO1G,EAAG+E,QAAQ,QACtB2B,EAAKC,QAAQ,CAAC,CAAEC,MAAO,GAAGF,EAAKG,iBAAmB,CAAEC,WAAY,QAAU,CAAEA,WAAY,QAAU,CAAEF,MAAO,GAAGF,EAAKG,gBAAiBC,WAAY,IAAM,IAI9J,MADQ9G,EAAGE,UAAUG,OAAO,gBAC5B,IAEW6F,CACX,CAEE,SAASa,EAAgBhF,GACvB,IAAI/B,EAAK+B,EAAEgC,OACX/D,EAAGwD,WAAW1D,cAAc,0BAA0BkH,UAAYhH,EAAGmG,MAAMc,UAAUjH,EAAGmG,MAAMe,YAAY,MAAQ,EACtH,CAEE,SAASC,EAA0BpF,GACjC,IAAI/B,EAAK+B,EAAEgC,OACPqD,EAAWvH,SAASC,cAAc,YAAYE,EAAG+E,QAAQ,sBAAsBxE,QAAQ8G,QAAUrH,EAAG+E,QAAQ,sBAAsBuC,mBAClIC,EAAY,WACZvH,EAAGoG,QACLgB,EAASI,gBAAgBD,GAEzBH,EAASK,aAAaF,EAAW,WAEvC,CAgCE7H,IAAI+D,kBAAkB,QA9BVpB,IACVA,EAAK0D,iBAAiB,eAAeC,SAAQ,CAAChG,EAAI0H,KAChD1H,EAAG2H,SAAW3H,EAAG2H,UAAY1B,EAC7BjG,EAAG+F,iBAAiB,oBAAoBC,SAAQ,CAAChG,EAAI0H,KACnD1H,EAAG4H,SAAWb,EACd/G,EAAGwD,WAAW1D,cAAc,QAAQ+E,mBAAmB,aAAc,wCAAwC,IAG/G7E,EAAG+F,iBAAiB,0CAA0CC,SAAQ,CAAChG,EAAI0H,KACzE1H,EAAG4H,SAAWT,CAAyB,IAGzCnH,EAAG+F,iBAAiB,uBAAuBC,SAAShG,IAClDA,EAAG6H,QAAW9F,IAEZ,IADA/B,EAAK+B,EAAEgC,OACA/D,EAAG8H,KAAO,GAAK9H,EAAG+H,aAAe/H,EAAGgI,cACzChI,EAAG8H,OAEL,KAAO9H,EAAG+H,aAAe/H,EAAGgI,gBACtBhI,EAAG8H,KAAO,KAGd9H,EAAG8H,OAEL9H,EAAG8H,MAAM,CACV,IAEH9H,EAAGO,QAAQgD,OAAQ,CAAI,GACvB,GAGL,CA7ED,GAkFA,WACC,MAAM0E,EAAkBjI,IAAe,CAAEkI,OAAQ,cAAeC,SAAU1H,OAAO2H,WAAW,2CAA2CC,QAAiC,IAAtBrI,EAAGO,QAAQ4H,UAAyE,IAAtDG,iBAAiBtI,GAAIuI,iBAAiB,eAAwB,IAAO,IAC/OC,EAAmBxI,GAAMA,EAAGF,cAAc,kCAC1C2I,EAAiBzI,IACtBA,EAAKwI,EAAiBxI,GACtBS,OAAOqF,uBAAsB,KAC5B9F,EAAG2B,MAAM+G,OAAS,EAClB1I,EAAG2B,MAAMgH,SAAW,SACpB,IAAIC,EAAU5I,EAAGwD,WACjBoF,EAAQ9I,cAAc,gCAAgC2H,aAAa,iBAAiB,GACpFzH,EAAG2G,QAAQ,CAAC,CAAE+B,OAAQ,GAAK,CAAEA,OAAQ,GAAG1I,EAAG+H,mBAAqBE,EAAgBW,IAAUC,SAAW,KACpG7I,EAAG2B,MAAM+G,OAAS1I,EAAG2B,MAAMgH,SAAW,EAAE,CACxC,GACA,EAEGG,EAAiB,CAAC9I,EAAI+I,KAC3B/I,EAAKwI,EAAiBxI,GACtBS,OAAOqF,uBAAsB,KAC5B9F,EAAG2B,MAAMgH,SAAW,SACpB,IAAIC,EAAU5I,EAAGwD,WACjBxD,EAAG2G,QAAQ,CAAC,CAAE+B,OAAQ,GAAG1I,EAAG+H,kBAAoB,CAAEW,OAAQ,IAAMT,EAAgBW,IAAUC,SAAW,KACpG7I,EAAG2B,MAAM+G,OAAS1I,EAAG2B,MAAMgH,SAAW,GACtCC,EAAQ9I,cAAc,gCAAgC2H,aAAa,iBAAiB,GAChE,mBAAbsB,GAA2BA,IAC9BH,EAAQ1I,UAAU8I,SAAS,8BAC9BhJ,EAAG+F,iBAAiB,6CAA6CC,SAAQhG,GAAMA,EAAGyH,aAAa,iBAAiB,IACrH,CACI,GACA,EAEGwB,EAAmBlH,IACxB,IAAI/B,EAAK+B,EAAEgC,OAAOgB,QAAQ,gBAC1B,GAAK/E,EAAGF,cAAc,mCAuBrBgJ,EAAe9I,OAvB0C,CACzD,IAAIkJ,EAAQlJ,EAAG+E,QAAQ,uBACvB,MAAMoE,EAAY,KACjB,GAAID,EAAO,CACV,IAAIE,EAAM7D,KAAK8D,MAAO,IAAIH,EAAMI,UAAUC,QAAQvJ,GAAMsI,iBAAiBY,GAAOX,iBAAiB,qBAAwB,GAAK,EAC9HW,EAAMvH,MAAMkE,YAAY,qBAAsBuD,EACnD,GAEG,GAAIpJ,EAAGwD,WAAW6E,QAAQ,mBAAqBa,EAAO,CACrD,IAAIM,EAAkBxJ,EAAGwD,WAAW1D,cAAc,kDAC9C0J,EACHV,EAAeU,EAAgBhG,YAAY,KAC1C2F,IACAV,EAAczI,EAAG,KAGlBmJ,IACAV,EAAczI,GAEnB,MACIyI,EAAczI,EAElB,CAEA,EAGC,SAASwC,EAAKH,EAAOxC,UACpBwC,EAAK0D,iBAAiB,wDAAwDC,SAAShG,IACtFA,EAAGoB,iBAAiB,QAAS6H,GAC7BjJ,EAAGyJ,cAAc3J,cAAc,mBAAmBO,SAClDL,EAAGwD,WAAWjD,QAAQgD,OAAQ,EAC9BvD,EAAGyH,aAAa,gBAAsD,SAArCzH,EAAG0J,aAAa,iBAA4B,GAEhF,CACC,MAAMC,EAAS,UACE,IAARjK,KAAwD,mBAA1BA,IAAI+D,kBAAoC/D,IAAI+D,kBAAkB,cAAejB,GAAQA,GAAM,EAEtG,YAAxB3C,SAAS+J,WACZD,IAEA9J,SAASuB,iBAAiB,mBAAoBuI,EAE/C,CA3ED,GA+EA,WACE,MAAME,EAAgB7J,GAAOuF,KAAKuE,KAAKC,WAAWzB,iBAAiBtI,GAAI4G,QACjEoD,EAAiBhK,GAAOuF,KAAKuE,KAAKC,WAAWzB,iBAAiBtI,GAAI0I,SAClEuB,EAAoB,oGAM1B,MAEMC,IAAavJ,UAAUC,UAAUC,MAAM,UACvCsJ,EAAWxJ,UAAUC,UAAUC,MAAM,YAAcqJ,EACnDE,EAAYpK,GAAMA,EAAGsJ,SAASjG,OAAS,GAAKrD,EAAGyJ,cAAcvJ,UAAU8I,SAAS,uBAChFqB,EAAe,OAAkBxK,SAASyK,0BAA2BzK,SAAS0K,mBAC9EC,EAAUxK,GAAeA,EAAGyJ,cAAcvJ,UAAU8I,SAAS,uBAC7DyB,EAAczK,GAAOA,EAAG+E,QAAQ,eAAesD,QAAQ,yBACvDqC,EAAU1K,GAAOA,EAAGwD,WAAW6E,QAAQ,4BACvCsC,EAAgBC,IACpB,IAAIC,EAAoBD,EAAM7E,iBAAiB,wBAC/C,OAAQ8E,EAAkBxH,OAAS,EAAKwH,EAAoBD,EAAM7E,iBAAiB,YAAY,EAE3F+E,EAAmB9K,IACvBA,EAAG2B,MAAM+G,OAAS,EAClB1I,EAAG2B,MAAMgH,SAAW,OACpB,MAAMD,EAAS1I,EAAG+H,aAElB,OADA/H,EAAG2B,MAAM+G,OAAS1I,EAAG2B,MAAMgH,SAAW,GAC/BD,CAAM,EAaTqC,EAAY/K,GAAO,GAAKyK,EAAWzK,GAAMA,EAAGO,QAAQ4E,EAAInF,EAAGO,QAAQyE,GACnEgG,EAAgBhL,IACpB,IAAIiL,EAAejL,EAAGF,cAAc,2BACpC,GAAImL,EACF,MAAO,IAAIjL,EAAGsJ,UAAUC,QAAQ0B,GAC3B,CACL,IAAIC,EAAsBhK,SAASC,KAAQ,IAAInB,EAAGsJ,UAAUC,QAAQvJ,EAAGF,cAAc,YAAYoB,SAASC,SAAW,EACrH,OAAQ+J,GAAoB,EAAKA,EAAmB,CAC1D,GAGQC,EAAoBnL,IAExB,IADAA,EAAKA,EAAGwD,WACDxD,GAAI,CACT,GAAqB,IAAjBA,EAAGoL,WAAqC,IAAlBpL,EAAGqL,WAC3B,OAAOrL,EAEPA,EAAKA,EAAGwD,UAEhB,CACI,OAAO,CAAK,EAWR8H,EAAStL,GAA0C,QAAnCsI,iBAAiBtI,GAAIuL,UACrCC,EAAoBxL,IAExB,IAAIyL,GADJzL,EAAKA,EAAG+E,QAAQ,gBACEjF,cAAc,iCAChC,MAAM4L,EAAgB,KACfrB,MACHrK,EAAG2L,aAAa3F,SAAShG,IACvBS,OAAOqF,uBAAsB,KAC3B9F,EAAGqL,WAAarL,EAAG4L,WACnB5L,EAAGoL,UAAYpL,EAAG6L,kBACX7L,EAAG4L,kBACH5L,EAAG6L,UAAU,GACpB,WAEG7L,EAAG2L,aACV3L,EAAG8L,oBAAoB,yBAA0BJ,GACzD,EAEID,EAASM,oBAAqB,EAC1B1B,KAEAxK,SAASmM,eAAiBnM,SAASmM,iBAAmBnM,SAASoM,uBAC7D9B,GAEFlI,YAAW,KACTjC,EAAG2B,MAAMuK,QAAU,OACnBzL,OAAOqF,uBAAsB,KAC3B9F,EAAG2B,MAAMuK,QAAU,EAAE,GACrB,GACD,KAID/B,IACFnK,EAAG2L,aA3CiB,CAAC3L,IACzB,IAAImM,EAAM,GACNC,EAAIjB,EAAiBnL,GACzB,KAAOoM,QAA6B,IAAjBA,EAAEf,aAA+C,IAAhBe,EAAEhB,WAAoC,IAAjBgB,EAAEf,aACzEc,EAAIvI,KAAKwI,GACTA,EAAIjB,EAAiBiB,GAEvB,OAAOD,CAAG,EAoCYE,CAAkBrM,GACpCA,EAAG2L,aAAa3F,SAAShG,IACvBA,EAAG4L,WAAa5L,EAAGqL,WACnBrL,EAAG6L,WAAa7L,EAAGoL,SAAS,IAE9BpL,EAAGoB,iBAAiB,yBAA0BsK,GAAe,IAC5D1L,EAAGsM,kBAAoBtM,EAAGsM,oBAAsBtM,EAAGuM,0BAC5D,EAEQC,EAAgBxM,GAAOA,EAAGqL,WAC1BoB,EAAW,CAACzM,EAAIgF,EAAGG,KACvBnF,EAAGyM,SAASnB,EAAMtL,IAAO,EAAIuF,KAAKmH,IAAI1H,GAAKA,EAAGG,EAAE,EAE5CwH,EAAa3M,GAAQA,IAAOS,OAAS,CACzCuE,EAAGhF,EAAG4M,QACNzH,EAAGnF,EAAG6M,SACJ,CACF7H,EAAGwH,EAAaxM,GAChBmF,EAAGnF,EAAGoL,WAER,IAAI0B,EAAwB,KACxBC,EAAmB,KACnBC,EAAuB,KAC3B,MAAMC,EAAelL,KACU,QAAVA,EAAEQ,KAA+B,IAAdR,EAAEmL,WAIpCnL,EAAEoL,SAEAtN,SAASuN,gBAAkBN,IAC7BE,EAAqBvG,QACrB1E,EAAEsL,kBAIAxN,SAASuN,gBAAkBJ,IAE7BF,EAAsBrG,QACtB1E,EAAEsL,kBAEV,EAEQC,EAAY,CAACC,EAAOC,GAAM,KAG9BV,EAAwBS,EAAMxH,iBAAiBkE,GAAmB,GAClE8C,EAAmBQ,EAAMxH,iBAAiBkE,GAC1C+C,EAAuBD,EAAiBA,EAAiB1J,OAAS,GAC9DmK,EACFD,EAAMzB,oBAAoB,UAAWmB,IAErCM,EAAMnM,iBAAiB,UAAW6L,GAClCH,EAAsBrG,QAC5B,EAKQgH,EAAa,CAAChC,EAAUiC,KAC5B,IAAIC,EAAmB9N,SAASC,cAAc,GAAG4N,eAAqBjC,EAASmC,QAC/E,GAAID,EACF,OAAOA,EAET,IAAK,IAAI3N,KAAMyL,EAASnC,SAAU,CAChC,GAAItJ,EAAGqI,QAAQqF,GACb,OAAO1N,EAET,IAAKA,EAAGqI,QAAQ,yBAA2BrI,EAAGF,cAAc4N,GAC1D,OAAO1N,EAAGF,cAAc4N,EAEhC,GAEQG,EAAmB7N,IACvB,IAAI8N,EAAgB9N,EAAG+E,QAAQ,yBAAyBxE,QAAQ8G,IAChE,OAAMyG,EACGjO,SAASkO,eAAeD,GAAehO,cAAc,wBAErDE,EAAG+E,QAAQ,eAAejF,cAAc,uBACrD,EAEQkO,EAAgB,CAAChO,EAAIiO,EAAWC,EAAWC,EAAYC,GAAa,IAAU,IAAIC,SAAQ,CAACC,EAASC,KAExG,IAAI3F,EAAU5I,EAAG+E,QAAQ,eACzB,GAAM6D,EAAQ4F,mBAAqB5F,EAAQrI,QAAQgD,OAAS9C,OAAO2H,WAAW,oCAAoCC,SAAWO,EAAQP,QAAQ,wBAM3I,OALAoE,EAASzM,EAAI2M,EAAU3M,GAAIgF,EAAIiJ,EAAWtB,EAAU3M,GAAImF,EAAI+I,GAC5DlO,EAAG2B,MAAM+G,OAAS,GAAGyF,aACdvF,EAAQ4F,iBACfC,EAAezO,QACfsO,EAAQtO,GAGV0O,EAAa1O,GACb,IAAI2O,GAAkB,EACJ,IAAdV,GAAiC,IAAdC,IACrBS,GAAkB,GAEdR,GACJnO,EAAG2B,MAAM+G,OAAS,GAAG0F,MACjB3D,EAAWzK,IAAO0K,EAAO1K,IAC3BA,EAAG2B,MAAMkE,YAAY,0BAA2B,IAG7C4E,EAAWzK,KACdA,EAAG2B,MAAM+G,OAAS,IAGtB,IAAIkG,EAASjC,EAAU3M,GAAIgF,EACvB6J,EAASlC,EAAU3M,GAAImF,EACvB2J,EAASvI,SAASvG,EAAG2B,MAAM+G,QAC3BqG,EAAYZ,EAAaW,EACzB3G,EAAwD,IAA7C4B,WAAW/J,EAAGwD,WAAWjD,QAAQ4H,WA/MzB,IAgNnB6G,EAAQ,KACZ,IAIIC,EAAQC,IACV,GAAIA,EAAMF,GAAS7G,EASjB,OARA1H,OAAOqF,uBAAsB,KAC3B2G,EAASzM,EAAI4O,EAASX,EAAWY,EAASX,GACtCC,IACFnO,EAAG2B,MAAM+G,OAAS,GAAGyF,OAEvBM,EAAezO,EAAG,SAEpBsO,EAAQtO,GAGV,IAzEemP,EA0EXC,GA1EWD,GAyEND,EAAMF,GAAS7G,GAzEF,EAAI5C,KAAK8J,IAAI9J,KAAK+J,GAAKH,IAAM,GA6E/CR,GACFlC,EAASzM,EAHH4O,EAASX,EAAYmB,EACrBP,EAASX,EAAYkB,GAIzBjB,GACF1N,OAAOqF,uBAAsB,KAC3B9F,EAAG2B,MAAM+G,OAAS,GAAGoG,EAASC,EAAYK,KAAO,IAGrDtJ,sBAAsBmJ,EAAK,EAE7BnJ,uBA9BiByJ,IACfP,EAAQO,EACRN,EAAKM,EAAU,GA4Be,IAE5Bd,EAAiB,CAACzO,EAAIwP,GAAS,KAEnCd,EAAa1O,GACb,IAAIyP,EAAUzP,EAAGO,QAAQyE,EACrB0K,EAAU1P,EAAGO,QAAQ4E,EACpBnF,EAAG+L,0BASC/L,EAAG+L,mBARN/L,EAAG2P,qBACE3P,EAAG2P,aACVlD,EAASzM,EAAIA,EAAG4P,YAAc5P,EAAGO,QAAQyE,EAAGhF,EAAGgI,aAAehI,EAAGO,QAAQ4E,KAEzEnF,EAAGO,QAAQyE,EAAIO,KAAKmH,IAAInH,KAAKsK,MAAMrD,EAAaxM,GAAM6J,EAAa7J,EAAG8P,qBACtE9P,EAAGO,QAAQ4E,EAAII,KAAKmH,IAAInH,KAAKsK,MAAM7P,EAAGoL,UAAYpB,EAAchK,EAAG8P,sBAMlD,QAAjB9P,EAAGO,QAAQyE,IACbhF,EAAGO,QAAQyE,EAAI,GAEI,QAAjBhF,EAAGO,QAAQ4E,IACbnF,EAAGO,QAAQ4E,EAAI,GAEjB,IAAI4K,EAAehF,EAAS/K,GACxB+P,GAAgB/P,EAAGsJ,SAASjG,SAC9B0M,EAAe/P,EAAGsJ,SAASjG,OAAS,GAGtC,IAAI2M,EAAmBhQ,EAAGF,cAAc,2BACpC8I,EAAU5I,EAAGyJ,cACZb,EAAQ1I,UAAU8I,SAAS,6BAE9BhJ,EAAG2B,MAAM+G,OAAS,IAEpB,IAAIuC,EAAejL,EAAGsJ,SAASyG,GAC/B,GAAIC,IAAqBR,EAAQ,CAC/B,GAAIvE,IAAiB+E,EAKnB,OAHAhQ,EAAGO,QAAQyE,EAAIyK,EACfzP,EAAGO,QAAQ4E,EAAIuK,OACfO,EAAYjQ,GAGdgQ,EAAiBxI,gBAAgB,gBACjCwI,EAAiBrO,MAAM+G,OAAS,GAC3B+B,EAAWzK,KACdA,EAAG2B,MAAM+G,OAAS,GAE1B,CACI,IAAIwH,EAAuBH,EAE3B9E,EAAaxD,aAAa,gBAAgB,GAC1CyI,EAAuBlF,EAAahL,GACpCA,EAAGO,QAAQyE,EAAIhF,EAAGO,QAAQ4E,EAAI+K,EAE9B,MAAMC,EAAyBnQ,IAC7BA,EAAG+F,iBAAiB,yBAAyBC,SAAQoK,IACnDpQ,EAAGqQ,OAAOrQ,EAAG8P,0BACNM,EAAI7P,QAAQ+P,MACnBP,GAAc,IAEhB/P,EAAG+F,iBAAiB,wBAAwBC,SAAQoK,IAClDpQ,EAAGuQ,QAAQvQ,EAAGwQ,yBACPJ,EAAI7P,QAAQkQ,KACnBV,GAAc,GACd,EA0EJ,GAxEAnH,EAAQrI,QAAQmQ,SAAU,EACtBtG,EAAUpK,IACS,IAAjB+P,EACG9E,EAAa1K,QAAQ+P,cAYjBtQ,EAAG8P,kBAAkBvP,QAAQ+P,MACpCtQ,EAAGqQ,OAAOrQ,EAAG8P,mBACb9P,EAAG8P,kBAAkBvP,QAAQkQ,MAAO,EACpCzQ,EAAGqQ,OAAOrQ,EAAG8P,mBACbI,EAAuBlQ,EAAGsJ,SAASjG,OAAS,EAC5C0M,EAAe/P,EAAGsJ,SAASjG,OAAS,IAfhCrD,EAAGwQ,iBAAiBjQ,QAAQkQ,aACvBzQ,EAAGwQ,iBAAiBjQ,QAAQkQ,KACnCP,EAAuB,GAEvBlQ,EAAGwQ,iBAAiBjQ,QAAQ+P,OAAQ,EAEtCtQ,EAAGuQ,QAAQvQ,EAAGwQ,kBACdT,EAAe,GAWbA,IAAiB/P,EAAGsJ,SAASjG,OAAS,EACnC4H,EAAa1K,QAAQkQ,aAYjBzQ,EAAGwQ,iBAAiBjQ,QAAQkQ,KACnCzQ,EAAGuQ,QAAQvQ,EAAGwQ,kBACdxQ,EAAGwQ,iBAAiBjQ,QAAQ+P,OAAQ,EACpCtQ,EAAGuQ,QAAQvQ,EAAGwQ,kBACdN,EAAuB,EACvBH,EAAe,IAfX/P,EAAG8P,kBAAkBvP,QAAQ+P,cACxBtQ,EAAG8P,kBAAkBvP,QAAQ+P,MACpCJ,EAAuBlQ,EAAGsJ,SAASjG,OAAS,GAE5CrD,EAAG8P,kBAAkBvP,QAAQkQ,MAAO,EAEtCzQ,EAAGqQ,OAAOrQ,EAAG8P,mBACbC,EAAe/P,EAAGsJ,SAASjG,OAAS,IAYtC8M,EAAuBnQ,GACvBkQ,EAAuB3K,KAAKC,IAAI,EAAG,IAAIxF,EAAGsJ,UAAUC,QAAQvJ,EAAGF,cAAc,8BAGjFW,OAAOqF,uBAAsB,KAC3B9F,EAAGO,QAAQyE,EAAIhF,EAAGO,QAAQ4E,EAAI+K,EAC9B,IAAIS,EAAW9G,EAAa7J,EAAG8P,mBAAqBC,EAChDa,EAAW5G,EAAchK,EAAG8P,mBAAqBC,EAErD/P,EAAG2Q,SAAWA,EACd3Q,EAAG4Q,SAAWA,EACdnE,EAASzM,EAAI2Q,EAAUC,UAChB5Q,EAAG2Q,gBACH3Q,EAAG4Q,QAAQ,MAGpBT,EAAuBnQ,GACvBkQ,EAAuB3K,KAAKC,IAAI,EAAG,IAAIxF,EAAGsJ,UAAUC,QAAQvJ,EAAGF,cAAc,8BAE/EmL,EAAatJ,MAAM+G,OAAS,GAC5BE,EAAQjH,MAAMkE,YAAY,WAAY,GAAG7F,EAAGwD,WAAWtD,UAAU8I,SAAS,2BAA6B8B,EAAgBG,GAAgBA,EAAalD,kBACpJtH,OAAOqF,uBAAsB,MACtB9F,EAAGwD,WAAWjD,QAAQgD,OAASmH,EAAO1K,IAAOyK,EAAWzK,KAC3DA,EAAG2B,MAAM+G,OAAYqB,WAAWzB,iBAAiBtI,GAAI0I,QA9N1C,CAAC1I,GAA0D,EAAnDuG,SAAS+B,iBAAiBtI,GAAI6Q,mBA8NcC,CAAS9Q,GAAtD,KAC1B,IAG4C,WAApCsI,iBAAiBtI,GAAI+Q,WAAyB,CAChD,IAAIC,EAAoBnR,SAASuN,cAC7BjM,EAAO8J,EAAa2C,GAClB5N,EAAGwD,WAAWjD,QAAQgD,OAAWpC,IAASnB,EAAGwD,WAAWuB,QAAQ,0BACpE7D,SAASC,KAAO,IAAIA,KAEhBnB,EAAGwD,WAAWjD,QAAQgD,QAAUpC,IAASnB,EAAGwD,WAAWuB,QAAQ,yBAA2BtE,OAAOwQ,eACrG/P,SAASC,KAAO,IAElB6P,EAAkBvK,OACxB,CAEI,IAAImE,EAAQ6C,EAAWzN,EAAG+E,QAAQ,eAAgB,sBAC5C6F,IACJA,EAAM9K,cAAc,mBAAmB0H,gBAAgB,gBAEvDmD,EAAcC,GAAOsF,GAAsBzI,aAAa,gBAAgB,IAI1E,IAAIzH,EAAGsJ,UAAUtD,SAAQhG,IAEvB,GADAA,EAAGkR,MAASlR,IAAOiL,EACfd,GAAYnK,EAAGF,cAAc,mCAAoC,CAEnE,IAAIqR,EAAUnR,EAAGwD,WAAW1D,cAAc,kCAC1CqR,EAAQD,OAAQ,EAChBC,EAAQ3J,gBAAgB,gBACxBxH,EAAGkR,OAAQ,EACXlR,EAAGyH,aAAa,gBAAgB,EACxC,KA6BQ,4BAA4BnB,KAAKsC,EAAQ1I,aAC3CF,EAAGoL,UAAYpL,EAAGgI,aAAekI,GAEnCzP,OAAOqF,uBAAsB,KAC3BmK,EAAYjQ,EAAG,GACf,EAEEoR,EAAQ,CAACpR,EAAIiF,EAAU,EAAGG,EAAU,EAAGwF,KAG3C,GAFA5I,aAAahC,EAAGqR,kBAChB3C,EAAa1O,IACRA,EAAGwD,WAAWjD,QAAQmQ,QAAS,CAClC1Q,EAAGwD,WAAWjD,QAAQmQ,SAAU,EAChC,IAAItC,EAAapO,EAAGsJ,SAAS0B,EAAahL,IAAKgI,aAC3CmG,EAAaC,EACjB,GAAI1D,EAAO1K,GAAK,CACd,IAAIsR,EAAkB9E,EAAaxM,GAC/BuR,EAAiBvR,EAAGoL,UACpBgG,EAAQpR,EAAGsJ,SAASsB,GACxB,GAAIH,EAAWzK,GAAK,CAClBoR,EAAMzP,MAAM+G,OAAS,OACrB,IAAI8I,EAAsBlJ,iBAAiBtI,GAAIyR,UAC3CC,EAAaF,EAAoB3Q,MAAM,MAAQ0E,KAAKuE,KAAKC,WAAWyH,IAAwB,MAEhGrD,EAAa5I,KAAKoM,IAAIpM,KAAKuE,KAAKC,WAAWzB,iBAAiB8I,GAAO1I,SAAUgJ,GAE7EN,EAAMzP,MAAM+G,OAAS,EAC/B,KAAe,CACLyF,EAAarD,EAAgBsG,GAC7B,IAAIhD,EAAapD,EAAahL,KAAQ4K,EAAQuD,EAAarD,EAAgB9K,EAAGsJ,SAAS0B,EAAahL,KACpGA,EAAGwD,WAAW7B,MAAMkE,YAAY,WAAY,GAAGuI,MACzD,CACQ3B,EAASzM,EAAIsR,EA5TF,CAACtR,GAA2D,EAApDuG,SAAS+B,iBAAiBtI,GAAI4R,oBA4TlBC,CAAS7R,GAAM,EAAGuR,GACjD9E,EAASzM,EAAIsR,EAAiBC,EACtC,CACU9G,EAAWzK,MACRwK,EAAQxK,IAAOqK,MAAmBK,EAAO1K,KAC5CoO,EAAaD,EAAanO,EAAGgI,cAE/B5C,EAAUA,EAAUwF,EAAQwD,EAAaxD,EAAQuD,GAGnD1N,OAAOqF,uBAAsB,KACtB9F,EAAGwD,WAAWjD,QAAQ4H,UAAauC,EAAO1K,GAS7CgO,EAAchO,EAAIiF,EAASG,EAAS+I,IAAeC,GAAqBD,EAAYC,WAR7EpO,EAAGwD,WAAWjD,QAAQmQ,QAC7B1Q,EAAGO,QAAQuR,KAAOlH,EAClB5K,EAAGyM,SAAS,CACVsF,IAAK/R,EAAGoL,UAAYhG,EACpB4M,KAAMhS,EAAGqL,WAAapG,EACtBgN,SAAUxR,OAAO2H,WAAW,oCAAoCC,QAAU,OAAS,WAI/F,GAEA,GAEQ6J,EAAalS,IACjB,IAAI4K,EAAQI,EAAahL,GACzBmS,EAAQnS,EAAI4K,GAAS5K,EAAGsJ,SAASjG,OAAS,EAAI,EAAIuH,EAAQ,EAAE,EAMxDuH,EAAU,CAACnS,EAAI4K,KACnB,GAAIH,EAAWzK,GACboR,EAAMpR,EAAI,EAAGgK,EAAchK,EAAGsJ,SAASsB,IAAUA,EAAQ5K,EAAGoL,UAAWR,OAClE,CACL,IAAIhE,EAAQrB,KAAKuE,KAAKC,WAAWzB,iBAAiBtI,EAAGsJ,SAASsB,IAAQhE,QAClEwL,EAAa9G,EAAMtL,GAAMuF,KAAKmH,IAAIF,EAAaxM,IAAO4G,EAAQgE,EAAQhE,EAAQgE,EAAQ4B,EAAaxM,GACvGoR,EAAMpR,EAAIoS,EAAY,EAAGxH,EAC/B,GAEQyH,EAAgBtQ,IAEpB,EAEIuQ,EAAsBvQ,GAjBN,CAAC/B,IACrB,IAAI4K,EAAQI,EAAahL,GACzBmS,EAAQnS,EAAc,IAAV4K,EAAc5K,EAAGsJ,SAASjG,OAAS,EAAIuH,EAAQ,EAAE,EAe7B2H,CAAc1E,EAAgB9L,EAAEgC,OAAOgB,QAAQ,2BAC3EyN,EAAkBzQ,GAAMmQ,EAAUrE,EAAgB9L,EAAEgC,OAAOgB,QAAQ,2BACnE0N,EAAmB1Q,IACvB,IAAI/B,EAAK+B,EAAEgC,OAAOgB,QAAQ,aAC1B,GAAI/E,KAAQA,EAAG0S,OAAS3Q,EAAE4Q,UAAW5Q,EAAE6Q,SAAW,CAChD,MAAMhK,EAAU/I,SAASC,cAAc,eAAeE,EAAGwD,WAAWjD,QAAQ8G,QAAUrH,EAAG+E,QAAQ,eAC3F0G,EAAW7C,EAAQ9I,cAAc,iCACvC,IAAI+S,EAAY,IAAIlI,EAAc3K,EAAGwD,aAAa+F,QAAQvJ,GAC1D,GAAIoK,EAAUqB,GAAW,CACvB,IAAIqH,EAAY/H,EAASU,GACP,IAAdqH,IACED,IAAcpH,EAASnC,SAASjG,OAAS,EAC3CwP,EAAY,EAEZA,KAGAC,IAAcrH,EAASnC,SAASjG,OAAS,IACzB,IAAdwP,EACFA,EAAYpH,EAASnC,SAASjG,OAAS,EAEvCwP,IAGZ,CAiBM,OAhBIjK,EAAQ1I,UAAU8I,SAAS,wBAA0BwB,EAAQiB,IAC/D7C,EAAQ4F,kBAAmB,EAE3BuE,EAAUtH,GAEVhL,OAAOqF,uBAAsB,KAC3B2F,EAASlL,QAAQyE,EAAIyG,EAASlL,QAAQ4E,EAAI0N,EAC1CpG,EAAShB,EAAUA,EAASmE,YAAcnE,EAASlL,QAAQyE,EAAGyG,EAASzD,aAAeyD,EAASlL,QAAQ4E,GACvGtF,SAASS,KAAKC,QAAQyS,OAASnT,SAASS,KAAK8K,UAC7CqD,EAAehD,EAAS,KAG1BhL,OAAOqF,uBAAsB,KAC3BqM,EAAQ1G,EAAUoH,EAAU,KAGzB,CACb,GAEQI,EAAcjT,IACdqK,MACAxK,SAASmM,eAAiBnM,SAASmM,iBAAmBnM,SAASoM,wBAEnE,IAAIR,EAAWoC,EAAgB7N,GAC3ByL,IACFA,EAAS1G,QAAQ,eAAe7E,UAAUG,OAAO,uBACjDiN,EAAU7B,EAAS1G,QAAQ,gBAAgB,UACpClF,SAASS,KAAKC,QAAQyS,OACnC,EAEQD,EAAa/S,IACjB,IAAIyL,EAAWoC,EAAgB7N,GAC3ByL,IACFA,EAASkE,cAAe,EACxBlE,EAAS1G,QAAQ,eAAe7E,UAAUC,IAAI,uBAC9CmN,EAAU7B,EAAS1G,QAAQ,gBACjC,EAEQmO,EAAuB,IAAIC,gBAAgBC,IAC/C3S,OAAOqF,uBAAsB,KAC3BsN,EAAQpN,SAASjE,IACf,IAAIqP,EAAQrP,EAAEgC,OAAOgB,QAAQ,4BACzB/E,EAAKoR,EAAMrM,QAAQ,wBACjBqM,EAAM5N,WAAW6P,cAAgBrT,EAAGwD,WAAWjD,QAAQmQ,UAC3DU,EAAMzP,MAAM+G,OAAS,OACrB1I,EAAG2B,MAAM+G,OAAS,GAAG0I,EAAMrJ,iBAC3BqJ,EAAMzP,MAAM+G,OAAS,GAC/B,GACQ,GACF,IAEE4K,EAAmBtT,IACvB,IAAKA,EAAGwD,WAAWjD,QAAQmQ,QAAS,CAElC,IAAIjF,EAAWzL,EACfyL,EAAS9J,MAAM4R,QAAU,GACzB9H,EAAS9J,MAAM6R,eAAe,cAC9B/H,EAAS9J,MAAM4R,QAAU9I,EAAWgB,GAAY,GAAGlF,SAAS+B,iBAAiBmD,GAAUoF,yBAA2B,KAAKtK,SAAS+B,iBAAiBmD,GAAUmG,wBAC5H,QAA3BnG,EAAS9J,MAAM4R,QACjB9H,EAAS9J,MAAM4R,QAAU,GAGzB9H,EAAS9J,MAAMkE,YAAY,aAAc4E,EAAWgB,GAAY,GAAGlF,SAAS+B,iBAAiBmD,GAAUoF,6BAA+B,KAAKtK,SAAS+B,iBAAiBmD,GAAUmG,6BAEjLnR,OAAOqF,uBAAsB,KACvB2E,EAAWzK,GACbyL,EAAS9J,MAAMkE,YAAY,0BAA2BN,KAAKuE,KAAK2B,EAASgI,wBAAwB/K,QAAU+C,EAASgI,wBAAwB/K,QAE5I+C,EAAS9J,MAAMkE,YAAY,0BAA2BN,KAAKuE,KAAK2B,EAASgI,wBAAwB7M,OAAS6E,EAASgI,wBAAwB7M,OAE7I,IAAI8M,EAAS1I,EAAaS,GAC1BgB,EAAShB,EAAUiI,EAAS7J,EAAa4B,EAASqE,mBAAoB4D,EAAS1J,EAAcyB,EAASqE,mBAAmB,GAEjI,GAEQG,EAAejQ,IACnBS,OAAOqF,uBAAsB,KAEvB9F,EAAG2Q,UAAY3Q,EAAG4Q,UACpBnE,EAASzM,EAAIA,EAAG2Q,SAAU3Q,EAAG4Q,iBAExB5Q,EAAGwD,WAAWjD,QAAQmQ,QAEzB1Q,EAAGwD,WAAW6E,QAAQ,8EACxBsL,EAAmBhR,QAAQ3C,EAAGwD,YAE9BmQ,EAAmBC,UAAU5T,EAAGwD,YAElCqQ,EAAkBlR,QAAQ3C,GAC1B8T,EAAkBnR,QAAQ3C,EAAGwD,WAAY,CACvCuQ,YAAY,EACZC,gBAAiB,CAAC,UAClB,GACF,EAEEtF,EAAgB1O,IACpB2T,EAAmBC,UAAU5T,EAAGwD,YAChCqQ,EAAkBD,UAAU5T,GAC5BA,EAAGiU,iBAAkB,CAAI,EAErBC,EAAkBlU,IACtB0O,EAAa1O,GACb,MAAMmU,EAAWnU,IACfsT,EAAgBtT,GAChBS,OAAOqF,uBAAsB,KAC3B,IAAIsO,EAAiBpU,EAAGF,cAAc,2BAA2BiI,aAAe,KAE5EqM,IADkB9L,iBAAiBtI,GAAIuI,iBAAiB,aAE1DvI,EAAGwD,WAAW7B,MAAMkE,YAAY,WAAYuO,GAE9CnE,EAAYjQ,EAAG,GACf,EAEJmU,EAASnU,GACTA,EAAG+F,iBAAiB,wBAAwBC,SAAQhG,GAAMmU,EAASnU,IAAI,EAEnE6T,EAAoB,IAAIV,gBAAgBC,IAC5C3S,OAAOqF,uBAAsB,KAC3BsN,EAAQpN,SAASjE,IACf,IAAI/B,EAAK+B,EAAEgC,OACL/D,EAAGiU,gBACPjU,EAAGiU,iBAAkB,EAGvBC,EAAelU,EAAG,GAClB,GACF,IAEE8T,EAAoB,IAAI/Q,kBAAkBC,IAC9C,IAAK,IAAIE,KAAYF,EACnB,GAAIE,EAASa,SAAWb,EAASa,OAAOyK,iBAAkB,CACxD,IAAI/C,EAAWvI,EAASa,OAAOjE,cAAc,iCAC7CoU,EAAezI,GACfgD,EAAehD,GAAU,EACjC,CACA,IAEQ4I,EAAiBrU,IACrB,IAAI4K,EAAQ5K,EAAGF,cAAc,+BACzB8K,IAAU5K,EAAGO,QAAQmQ,UACvB1Q,EAAG2B,MAAM6R,eAAe,wBACxB5I,EAAMjJ,MAAM2S,SAAW,WACvBtU,EAAG2B,MAAMkE,YAAY,uBAAwB,GAAG7F,EAAGgI,kBACnDhI,EAAG2B,MAAMkE,YAAY,gBAAiByC,iBAAiBtI,EAAGF,cAAc,gCAAgC8G,OACxGgE,EAAMjJ,MAAM2S,SAAW,GAC7B,EAEQX,EAAqB,IAAIR,gBAAgBC,IAE7C3S,OAAOqF,uBAAsB,KAE3BsN,EAAQpN,SAASjE,IACf,IAAI/B,EAAK+B,EAAEgC,OACXsQ,EAAcrU,EAAG,GACjB,GACF,IAEEwC,EAAO,CAACH,EAAOxC,YACnBwC,EAAK0D,iBAAiB,iCAAiCC,SAAShG,IAC9D,MAAMuU,EAAW9G,EAAWzN,EAAI,yBAC1B8R,EAAOrE,EAAWzN,EAAI,qBACtB4K,EAAQ6C,EAAWzN,EAAI,sBACvBwU,EAAc/G,EAAWzN,EAAI,sBAC7ByU,EAAchH,EAAWzN,EAAI,4BAC7B0U,EAAU1U,EAAGF,cAAc,iCACjC,IAAK4U,EACH,OAoBF,GAlBMH,IACJA,EAASI,QAAUrC,GAEfR,IACJA,EAAK6C,QAAUnC,GAEX5H,IACJA,EAAM+J,QAAUlC,GAEZ+B,IACJA,EAAYG,QAAU5S,IAChBA,EAAEgC,OAAOgB,QAAQ,eAAe7E,UAAU8I,SAAS,uBACrDiK,EAAWlR,EAAEgC,QAEbgP,EAAUhR,EAAEgC,OACxB,GAGY0Q,EAAa,CACjBA,EAAYE,QAAW5S,IACrB,IAAI0J,EAAW1J,EAAEgC,OAAOgB,QAAQ,eAAejF,cAAc,iCAC7D2L,EAASlL,QAAQqU,GAAKnJ,EAASlL,QAAQyE,EACvCyG,EAASlL,QAAQsU,GAAKpJ,EAASlL,QAAQ4E,EACvCqG,EAAiBzJ,EAAEgC,OAAO,EAE5B,MAAM+Q,EAAmB/S,IACvB,IAAI0J,EAAW1J,EAAEgC,OAAOjE,cAAc,iCACtCW,OAAOqF,uBAAsB,KAC3B2I,EAAehD,GACfA,EAASlL,QAAQyE,EAAIyG,EAASlL,QAAQqU,GACtCnJ,EAASlL,QAAQ4E,EAAIsG,EAASlL,QAAQsU,UAC/BpJ,EAASlL,QAAQqU,UACjBnJ,EAASlL,QAAQsU,GACG,cAAvBpJ,EAASlL,QAAQyE,GAA4C,cAAvByG,EAASlL,QAAQ4E,GACzDsH,EAAShB,EAAUA,EAASlL,QAAQyE,EAAI6E,EAAa4B,EAASnC,SAASmC,EAASlL,QAAQyE,IAAKyG,EAASlL,QAAQ4E,EAAI6E,EAAcyB,EAASnC,SAASmC,EAASlL,QAAQ4E,IACjL,GACY,EAEAgF,EACFnK,EAAG+U,yBAA2BD,EAE9B9U,EAAGgV,mBAAqBF,CAElC,CACMJ,EAAQtT,iBAAiB,UAAWiR,GACpCrS,EAAGoB,iBAAiB,SAAUW,IAC5B,GAAc,WAAVA,EAAEQ,IAAkB,CACtB,IAAIvC,EAAK+B,EAAEgC,OACN/D,EAAG+E,QAAQ,0BACd/E,EAAKH,SAASC,cAAc,yBAE1BE,GACFiT,EAAWjT,EAEvB,KAEMsT,EAAgBoB,GAChBA,EAAQT,iBAAkB,EAC1B,IAAIgB,IAAiB/T,SAASC,MAAOuT,EAAQ5U,cAAc,YAAcoB,SAASC,MAClF,GAAI8T,EAAc,CACZjV,EAAGE,UAAU8I,SAAS,uBACxB+J,EAAU2B,GAGZ,IAAI9J,EAAQ,IAAIqK,EAAazR,WAAW8F,UAAUC,QAAQ0L,GACtDxK,EAAWiK,GACbA,EAAQnU,QAAQ4E,EAAIyF,EAEpB8J,EAAQnU,QAAQyE,EAAI4F,EAGtBnK,OAAOwQ,aAAe,CAACyD,EAASxT,SAASC,KACjD,CACUnB,EAAGqI,QAAQ,mDACbqM,EAAQ/S,MAAM+G,OAAS,GACvBgM,EAAQ/S,MAAM+G,OAASJ,iBAAiBoM,GAAShM,OACjD1I,EAAGO,QAAQgD,OAAQ,EACnBmR,EAAQtJ,UAAY,GAElBpL,EAAGqI,QAAQ,kDAEbqM,EAAQ3O,iBAAiB,kBAAkBC,SAAShG,GAAOkT,EAAqBvQ,QAAQ3C,KAE1FS,OAAOqF,uBAAsB,KAO3B,GANAmK,EAAYyE,GACR1U,EAAGwD,WAAW6E,QAAQ,+EACxBgM,EAAcrU,GAEhByO,EAAeiG,GACf1U,EAAGO,QAAQgD,OAAQ,EACfvD,EAAGqI,QAAQ,2BAA4B,CACzC,IAAI6M,GAAgD,IAAlCnL,WAAW/J,EAAGO,QAAQ4U,WA9xBvB,MA8xBkG,IAAlCpL,WAAW/J,EAAGO,QAAQ4H,WA/xBtF,KAgyBbiN,EAAkB,MApyB9B,SAA6BpV,GAC3B,IAAIqV,EAAOrV,EAAGyT,wBACd,OAAQ4B,EAAKtD,KAAO,GAAKsD,EAAKrD,MAAQ,GAAKqD,EAAKC,SAAW7U,OAAO8U,aAAe1V,SAAS2V,gBAAgBxN,eAA6CqN,EAAKI,QAAUhV,OAAOiV,YAAc7V,SAAS2V,gBAAgB5F,YACxN,EAkyBgB+F,CAAoBjB,IACtBxC,EAAUwC,GAEZA,EAAQrD,iBAAmBpP,WAAWmT,EAAiBF,EAAW,EAEpER,EAAQrD,iBAAmBpP,WAAWmT,EAAmD,IAAlCrL,WAAW/J,EAAGO,QAAQ4U,WAryB5D,KAsyBjBT,EAAQtT,iBAAiB,gBAAiBW,GAAMC,aAAaD,EAAEgC,OAAOsN,mBAChF,CACQrR,EAAGO,QAAQQ,SAAWJ,UAAUI,QAAQ,IAE1C2T,EAAQkB,gBAAkBnH,EA6E1B,GA5EgBiG,EAAQ3O,iBAAiB,cA2EjCC,SA1EOjC,IACb,MAAM8R,EAAc,IAAIC,sBAAqB1C,IAC3CA,EAAQpN,SAAQ+P,IACd,IAAI3E,EAAQ2E,EAAMhS,OACd0H,EAAW2F,EAAM5N,WACrB,GAAIuS,EAAMC,iBAAmBvK,EAASjI,WAAWjD,QAAQmQ,SAAqD,WAA1CpI,iBAAiBmD,GAAUsF,WAAyB,CACtH,GAAItF,EAASlL,QAAQuR,MAAQvL,SAASkF,EAASlL,QAAQuR,QAAU,IAAIrG,EAASnC,UAAUC,QAAQ6H,GAC9F,cAEK3F,EAASlL,QAAQuR,KACxBpD,EAAa1O,GACbyL,EAASJ,WACTI,EAASL,UACT,IACI6K,EAAmB,KASrB,IAAIrL,EAAQ,IAAIa,EAASnC,UAAUC,QAAQ6H,GAC3C,GAAI1G,EAAOe,GAAW,CACpB,IACI0C,EADAC,EAAarE,WAAWzB,iBAAiBmD,GAAU/C,QAEnDwN,EAAW,EACXC,EAAc1K,EAASJ,WACvB+K,EAAc3K,EAASL,UAC3B,GAAIX,EAAWgB,GAAW,CACxB,IAAI4K,EAAgB5K,EAASL,UAC7BgG,EAAMzP,MAAM+G,OAAS,OACrB,IAAI8I,EAAsBlJ,iBAAiBtI,GAAIyR,UAC3CC,EAAaF,EAAoB3Q,MAAM,MAAQ0E,KAAKuE,KAAKC,WAAWyH,IAAwB,MAEhGrD,EAAa5I,KAAKoM,IAAIpM,KAAKuE,KAAKC,WAAWzB,iBAAiB8I,GAAO1I,SAAUgJ,IAEzElH,EAAQiB,IAAapB,OACvB+D,EAAaD,EAAa1C,EAASzD,cAErCoJ,EAAMzP,MAAM+G,OAAS,GACrB+C,EAASL,UAAYiL,EACrBH,EAAWtL,EAAQuD,EAAa1C,EAASL,SAC7D,MACoB+C,EAAarD,EAAgBsG,GAEvB+E,GACJ1J,EAAShB,EAAU0K,EAAaC,GAGhChI,IAAeD,IACjBA,GAAa,GAEf1C,EAASjI,WAAWjD,QAAQmQ,SAAU,EAEtCjQ,OAAOqF,uBAAsB,KAC3BkI,EAAcvC,EAAU,EAAGyK,EAAU/H,EAAYC,GAAYkI,MAAK,QAAS,GAE/F,MAEkB7V,OAAOqF,uBAAsB,KAC3B2I,EAAehD,EAAS,GAE5C,EAGcxJ,WAAWgU,EAtDI,GAuD7B,IACY,GACD,CAAEM,UAAW,KAAMC,KAAMzS,EAAO0F,gBACnCoM,EAAYlT,QAAQoB,EAAO,IAIzB/D,EAAGqI,QAAQ,yBAA0B,CACvC,IAAIoO,EAASC,IACXA,EAAI3R,QAAQ,WAAWxE,QAAQkW,QAAS,CAAI,EAE9C/B,EAAQ3O,iBAAiB,eAAeC,SAAQhG,IAC1CA,EAAG2W,SACLF,EAAOzW,GAEPA,EAAGoB,iBAAiB,QAAQW,IAC1B0U,EAAO1U,EAAEgC,OAAO,GAE9B,GAEA,IACM,EAEJtD,OAAOmW,cAAgBpU,EACvB/B,OAAOW,iBAAiB,YAAYW,IAElC,GAAMb,SAASC,KAAM,CACnB,IAAInB,EAAKH,SAASC,cAAcoB,SAASC,MACrCsK,EAAWzL,GAAIwD,WACnB,GAAMiI,GAAYA,EAASvL,UAAU8I,SAAS,yBAA2ByC,EAASjI,WAAWuB,QAAQ,wBAAyB,CAC5H,IAAI8R,EAAiBhX,SAASC,cAAc,+CACxC+W,GAAkBA,IAAmBpL,GACvCwH,EAAW4D,GAGTpL,EAASjI,WAAWtD,UAAU8I,SAAS,uBACzCiK,EAAWxH,GAGTtB,GACFsC,EAAShB,EAAUA,EAASmE,YAAcnE,EAASlL,QAAQyE,EAAGyG,EAASzD,aAAeyD,EAASlL,QAAQ4E,GAEzGgN,EAAQ1G,EAAU,IAAIA,EAASnC,UAAUC,QAAQvJ,IACjDS,OAAOwQ,aAAe,CAACxF,EAAUvK,SAASC,KAClD,CACA,MACM,GAAIV,OAAOwQ,aAAc,CACvB,IAAIxF,EAAWhL,OAAOwQ,aAAa,UAC5BxQ,OAAOwQ,aACV9G,GACFsC,EAAShB,EAAUA,EAASmE,YAAcnE,EAASlL,QAAQyE,EAAGyG,EAASzD,aAAeyD,EAASlL,QAAQ4E,GAEzGgN,EAAQ1G,EAAU,IAAIA,EAASnC,UAAUC,QAAQkC,EAAS3L,cAAc,wBAChF,CACA,IAEE,MAAM6J,EAAS,UACG,IAARjK,KAAwD,mBAA1BA,IAAI+D,kBAAoC/D,IAAI+D,kBAAkB,aAAcjB,GAAQA,GAAM,EAEtG,YAAxB3C,SAAS+J,WACXD,IAEA9J,SAASuB,iBAAiB,mBAAoBuI,EAEjD,CA17BD,GA87BA,WACE,IAAImN,EACJ,MAAMC,EAAchV,IAGlBlC,SAASkG,iBAAiB,wBAAwBC,SAAQhG,IACxDA,EAAGE,UAAUC,IAAI,uBAAuB,IAE1C6B,aAAa8U,GACbA,EAAiB7U,YAAW,KAC1BpC,SAASkG,iBAAiB,wBAAwBC,SAAQhG,IACxDA,EAAGE,UAAUG,OAAO,uBAAuB,GAC3C,GACD,GAAG,EAwBR,MAAM2W,EAAoB,IAAMvW,OAAO2H,WAAW,2CAA2CC,QAAiG,IAAtFC,iBAAiBzI,SAASC,cAAc,aAAayI,iBAAiB,cAAwB,EACtM,IAAI0O,EAAclV,IAChBlC,SAAS2V,gBAAgBtV,UAAUG,OAAO,yBAC1C,IAAIkN,EAAQxL,EAAEgC,OAEd,GADAwJ,EAAMzB,oBAAoB,QAASmL,GAC/B1J,EAAM2J,wBAAyB,CAEjC,IAAK3J,EAAM4J,cAAe,CACxB,IAAIzC,EAAUnH,EAAMzN,cAAc,qBAClC4U,EAAQ0C,YAAY1C,EAAQ5E,kBACpC,QACavC,EAAM2J,wBACb3J,EAAMlN,QACZ,CACQkN,EAAM8J,sBACR9J,EAAM+J,YAAY/J,EAAMgK,WAEpBhK,EAAMhN,QAAQiX,wBAChBjK,EAAM+J,YAAY/J,EAAMgK,UAAUzH,mBAE9BvC,EAAM4J,sBACD5J,EAAM4J,qBACN5J,EAAMhN,QAAQkX,MAErBlK,EAAMlN,QAGhB,EAGE,SAAS4S,EAAW1F,GAClB,IAAImK,EAAmB,SACvB,IAAIlW,EAAY+L,EAAMhN,QAAQkX,MACzBjW,GAAaA,EAAU6B,OAAS,GAEnC7B,EAAY,sFAEZkW,EAAmB,UAErBnK,EAAMrN,UAAUC,IAAI,oBACpB8B,YAAW,KAAQsL,EAAMrN,UAAUG,OAAO,mBAAmB,GAAK2W,KAClEzJ,EAAM5G,QAAQgR,KAAKC,MAAMpW,GAAY,CAAE2G,SAAU6O,IAAqBzL,UAAWmM,EAAkBxP,OAAQ,gBAAiBW,SAAW,KApDvIpI,OAAOqL,oBAAoB,SAAUiL,GAuD/BxJ,EAAM4J,gBACH5J,EAAM2J,yBACT3J,EAAMzB,oBAAoB,QAASmL,UAG9B1J,EAAMhN,QAAQkX,MAEvBlK,EAAMsK,OAAO,CAInB,CAEE,SAAS9E,EAAU+E,GAKjBjY,SAAS2V,gBAAgB7T,MAAMgH,SAAW,SAC1C,MAAMoP,EAAkBtX,OAAOiV,WAAa7V,SAAS2V,gBAAgB5F,YACrE/P,SAAS2V,gBAAgB7T,MAAMgH,SAAW,GACrCoP,GACHlY,SAAS2V,gBAAgBtV,UAAUC,IAAI,0BAElB,iBAAZ2X,GAA0BA,EAAQE,WAC3CF,EAAU,CAAEpD,QAASoD,IAEvB,IAAItW,EAAYsW,EAAQtW,UACpBkT,EAAUoD,EAAQpD,QAClBuD,EAAUH,EAAQG,QACtB,IAAIrP,EAAU,CAAA,EACVsO,GAA0B,EAC9B,GAAIxC,EAAQlR,YAEV,GAAmC,WAA/BkR,EAAQlR,WAAWwU,SAAwBtD,EAAQlR,WAAWtD,UAAU8I,SAAS,oBACnF,YAGE0L,EAAQsD,UACVd,GAA0B,GAG9B,MAAMgB,EAAc,QAEpB,GAAuB,iBAAZxD,GAA4C,WAApBA,EAAQsD,QAAsB,CAC1DtD,EAAQlR,YACX3D,SAASS,KAAK6X,YAAYzD,IAE5B9L,EAAU8L,GACFyC,eAAgB,EACxB,IAAIiB,EAAexP,EAAQ9I,cAAc,mBACrCsY,IACFA,EAAa7X,QAAQ8X,YAAcD,EAAa7X,QAAQ8X,aATvC,IAUjBD,EAAaE,UAAYF,EAAaE,WAAaJ,EAE3D,MAIM,IAHAtP,EAAU/I,SAASyB,cAAc,WACzBuD,mBAAmB,aAAc,8CAA8CiT,EAAQS,YAAcN,GAAS1X,QAAQgY,YAAcL,yBAAmCJ,EAAQO,aAAeJ,GAAS1X,QAAQ8X,aAdpM,sDAenBxY,SAASyB,cAAc,OACA,iBAAZoT,EACT9L,EAAQ2O,UAAUvQ,UAAY0N,EAC9B7U,SAASS,KAAK6X,YAAYvP,OACrB,CAEL,GADa8L,EAAQjL,cACT,CACV,IAAI+O,EAAS3Y,SAASyB,cAAc,OACpCoT,EAAQ4C,YAAYkB,GACpB5P,EAAQ2O,UAAUY,YAAYzD,GAC9B8D,EAAOlB,YAAY1O,GACf8L,EAAQxU,UAAU8I,SAAS,qBAC7BJ,EAAQ2O,UAAUD,YAAY5C,GAC9B9L,EAAQyO,uBAAwB,GAEhCzO,EAAQrI,QAAQiX,yBAA0B,CAEtD,MACU5O,EAAQ2O,UAAUY,YAAYzD,GAC9B7U,SAASS,KAAK6X,YAAYvP,EAEpC,CA6CI,OA3CIkP,EAAQW,MACV7P,EAAQ1I,UAAUC,IAAI,iBAEpB2X,EAAQY,QACV9P,EAAQ1I,UAAUC,IAAI,mBAEpB2X,EAAQa,SACV/P,EAAQ1I,UAAUC,IAAI,oBAEpB2X,EAAQc,MACVhQ,EAAQ1I,UAAUC,IAAI,iBAExByI,EAAQrI,QAAQkX,KAAOjW,EACvBoH,EAAQ1I,UAAUC,IAAI,WACtByI,EAAQ+L,QAAW5S,IACjB,IAAI/B,EAAK+B,EAAEgC,OAAOgB,QAAQ,aACbhD,EAAEgC,OAAOgB,QAAQ,oBACfhD,EAAEgC,OAAOsE,QAAQ,cAAgBtG,EAAEkD,QAAU,GAAKlD,EAAEqD,QAAU,GAAMrD,EAAEkD,QAAU,EAAKjF,EAAGyT,wBAAwB7M,OAAU7E,EAAEqD,QAAU,EAAKpF,EAAGyT,wBAAwB/K,UACnLuK,EAAWjT,EACnB,EAEI4I,EAAQxH,iBAAiB,UAAUW,IACjCA,EAAEsL,iBACF4F,EAAWlR,EAAEgC,OAAOgB,QAAQ,YAAY,IAEtCmS,IACFtO,EAAQsO,yBAA0B,GAEpCtO,EAAQiQ,YAQRjQ,EAAQjC,QAA6B,iBAAdnF,EAAyBmW,KAAKC,MAAMpW,GAAa,CAAC,CAAEsX,UAAW,2BAA6B,CAAEA,UAAW,uBAAyB,CACvJ3Q,SAAU6O,IACV9O,OAAQ,gBACPW,SAAW,KACZD,EAAQxH,iBAAiB,QAAS6V,GArLpCxW,OAAOW,iBAAiB,SAAU2V,EAAa,CAAEgC,QAAW,QAsLxC,EAEbnQ,CACX,CASE,SAASoQ,EAAgBjX,GAGvB,IAAIkW,EADKlW,EAAEgC,OACMgB,QAAQ,iBACzB,IAAIkU,EAAOhB,EAAQ1X,QAAQmS,MAAQuF,EAAQvF,KACvClR,EAAYyW,EAAQ1X,QAAQkX,KAChC,MAAMyB,EAAexE,IAAWyE,OAhMXC,EAgMyBnB,EAhMjBlU,EAgM0BgP,EAAU,CAAE2B,QAASA,EAASlT,UAAWA,EAAWyW,QAASA,SA/LjF,iBADEhY,EAgM2F,CAAC,gBAAiB,mBAAoB,kBAAmB,kBA/L3I,IAAIkC,MAAMlC,GAAaA,GAC7D+F,SAAQhG,IACVoZ,EAAOlZ,UAAU8I,SAAShJ,IAC5B+D,EAAO7D,UAAUC,IAAIH,EAC7B,IALE,IAAuBoZ,EAAQrV,EAAQ9D,CAgMqK,EAiB1M,OAhBIgY,EAAQ1X,QAAQ8G,IAClB6R,EAAarZ,SAASkO,eAAekK,EAAQ1X,QAAQ8G,MAErDgS,MAAMJ,EAAKK,MAAM,KAAK,IAAIhD,MAAKiD,GAAYA,EAASC,SAAQlD,MAAKiD,IAC/D,IAlBaE,EACbC,EAiBIC,GAlBSF,EAkBUF,GAjBvBG,EAAM7Z,SAAS+Z,eAAeC,mBAAmB,WACjDvZ,KAAK0G,UAAYyS,EAEdC,EAAIpZ,MAeHwZ,EAAcb,EAAKK,MAAM,KAAK,GAAK,IAAML,EAAKK,MAAM,KAAK,GAAGA,MAAM,KAAK,GAAK,EAE9EK,EADEG,GAAaH,EAAO7Z,cAAcga,GAC3BH,EAAO7Z,cAAcga,GAAW9S,UAEhC2S,EAAO3S,UAElBkS,EAAaS,EAAO,IACnBI,OAAMC,IACPd,EAAac,EAAM,KAGhB,CACX,CACE,IAAIxX,EAAO,CAACH,EAAOxC,YAEjBwC,EAAK0D,iBAAiB,mCAAmCC,SAAShG,IAC5DA,EAAG0S,OAASxR,SAASwR,KAAK4G,MAAM,KAAK,GAAK,MAE5CtZ,EAAG2U,QAAUqE,GAEXhZ,EAAG0S,OAAS1S,EAAG0J,aAAa,QAC9B1J,EAAGyH,aAAa,MAAO,YAEzBzH,EAAGO,QAAQgD,OAAQ,CAAI,GACvB,EAEA0W,EAAapa,SAASC,cAAc,WAAWoB,SAASC,qBACxDD,SAASC,MAAQ8Y,GACnBlH,EAAUkH,GAGZ,IAAI1M,EAAQwF,EACZxF,EAAMsK,MAAQ5E,EACd1F,EAAM/K,KAAOA,OACM,IAAR9C,KAAwD,mBAA1BA,IAAI+D,kBAC3C/D,IAAI+D,kBAAkB,UAAWjB,EAAM,CAAEkB,KAAQ,QAASG,KAAQ0J,KAElE/K,IACA/B,OAAOf,IAAM,CAAA,EACbe,OAAOf,IAAI6N,MAAQA,EAEtB,CA5QD,GAgRA,WACoB5M,UAAUC,UAAUC,MAAM,UAC7CF,UAAUC,UAAUC,MAAM,UAC1B,IAAIqZ,EAAsBnY,IACpBA,EAAEgC,OAAOgB,QAAQ,2BAA8BhD,EAAEgC,OAAOgB,QAAQ,cACpElF,SAASkG,iBAAiB,oEAAoEC,SAASmU,IACtGC,EAAYD,EAAO,GAEvB,EAEKE,EAA6BtY,IAChC,IAAIuY,EAAcza,SAASC,cAAc,sCAC1B,WAAXiC,EAAEoB,MAAiC,WAAXpB,EAAEoB,MAAqBpB,EAAEgC,SAAWuW,IAC/DF,EAAYE,EACf,EAEC,MAAMC,EAAqB,CAAC3R,EAASuR,KACpCvR,EAAQjH,MAAMkE,YAAY,yBAA0B,GAAGsU,EAAOra,cAAc,mBAAmB2T,wBAAwB/K,WAAW,EAEnI,IAAI8R,EAAe,CAACxa,EAAI6X,GAAQ,KAC/B,IAAK7X,GAAqB,WAAfA,EAAGgY,QACb,OAED,IAAImC,EAASna,EAAG+E,QAAQ,sBACxBoV,EAAOpU,iBAAiB,mBAAmBC,SAAShG,GAAOA,EAAGwH,gBAAgB,mBAC9ExH,EAAGyH,aAAa,iBAAiB,GACjC0S,EAAOM,iBAAiBla,QAAQ4F,MAAQnG,EAAGmG,MACvCgU,EAAOO,aAAa,mBACvB1a,EAAGyG,QACCoR,GACHuC,EAAYD,IAGd,IAAIrC,EAAUqC,EAAO7Q,SAAS,GAE9BiR,EAAmBJ,EAAOM,iBAAkBN,GAC5CrC,EAAQnW,MAAM6R,eAAe,gBAC7BsE,EAAQnW,MAAM6R,eAAe,gBAC7B,IAAImH,EAAgBR,EAAOS,eAC3BD,EAAc3T,UAAY,kBAAkBhH,EAAGmG,mBAC/C,MAAMlC,EAAQ,IAAI4W,MAAM,UACxBF,EAAcG,cAAc7W,GACtBkW,EAAOY,aACZZ,EAAOY,YAAYnQ,MAAO+P,EAAcxU,MAC3C,EAEC,MAAM6U,EAAkB,CAAC,cAAe,YAAa,aAAc,cAAe,cAAe,gBACjG,IAAIZ,EAAeD,IAClB,IAAKA,EACJ,cAEMA,EAAO5Z,QAAQ0a,iBAEtBd,EAAO3S,gBAAgB,iBAGvBwT,EAAgBhV,SAAShG,IACxBma,EAAOxY,MAAM3B,GAAM,EAAE,IAEtBma,EAAOM,iBAAiBlK,QAAQ4J,GAChC1Z,OAAOqL,oBAAoB,SAAUuO,GACrC5Z,OAAOqL,oBAAoB,SAAUuO,GACrCF,EAAOra,cAAc,mBAAmBob,UAAY,EACpDza,OAAOqL,oBAAoB,YAAaoO,GACxCC,EAAOrO,oBAAoB,YAAaqP,GACxC,IAAIvS,EAAUuR,EAAO3W,WACrBoF,EAAQ1I,UAAUG,OAAO,kBACzBuI,EAAQjH,MAAM6R,eAAe,WAC7B2G,EAAOxY,MAAM6R,eAAe,qBAC5B2G,EAAOja,UAAUG,OAAO,6BAExB8Z,EAAOM,iBAAiBhU,QACxB0T,EAAOja,UAAUG,OAAO,cAAc,EAEnC+a,EAAcjB,IACjB,IAAIkB,EAAuBxb,SAASS,KAAKR,cAAc,qCACnDub,GACHjB,EAAYiB,GAEb,IAAIzS,EAAUuR,EAAO3W,WACrB+W,EAAmB3R,EAASuR,GAC5BvR,EAAQjH,MAAMkE,YAAY,UAAW,GAAG+C,EAAQ6K,wBAAwB7M,WACxEgC,EAAQ1I,UAAUC,IAAI,kBAEtBga,EAAOxY,MAAM6R,eAAe,gBAC5B2G,EAAOxY,MAAM6R,eAAe,gBAC5B2G,EAAOxY,MAAM6R,eAAe,0BAC5B2G,EAAOxY,MAAM6R,eAAe,0BAC5B2G,EAAOja,UAAUG,OAAO,sBACxB,IAAIib,EAAgBnB,EAAO1G,wBAAwB/K,OACnDyR,EAAOxY,MAAMkE,YAAY,cAAe,GAAGsU,EAAO3W,WAAWiQ,wBAAwB7M,WAErF,IAAI2U,EAAkB1b,SAASC,cAAc,QAAQ2T,wBAAwBzO,EAC7EmV,EAAOxY,MAAMkE,YAAY,kBAAmB+C,EAAQ6K,wBAAwBzO,EAAIuW,GAAoD,aAAjC1b,SAASS,KAAKqB,MAAM2S,SAA0BvK,WAAWzB,iBAAiBzI,SAASS,MAAMkb,wBAA0BD,EAAkB1b,SAASS,KAAKmT,wBAAwBzO,EAAI,IAClRmV,EAAOxY,MAAMkE,YAAY,mBAAoBhG,SAASS,KAAKmT,wBAAwBtO,EAAIyD,EAAQ6K,wBAAwBtO,GAAsC,aAAjCtF,SAASS,KAAKqB,MAAM2S,SAA0BvK,WAAWzB,iBAAiBzI,SAASS,MAAMmb,uBAAyB,IAC9OtB,EAAOra,cAAc,mBAAmB0H,gBAAgB,YACxD2S,EAAO1S,aAAa,iBAAiB,GAGrCuT,EAAgBhV,SAAShG,IACxBma,EAAOxY,MAAM3B,GAAMsI,iBAAiBM,GAAS5I,EAAG,IAEjDH,SAASS,KAAK6X,YAAYgC,GAC1BA,EAAOxY,MAAMkE,YAAY,yBAA0B,GAAGsU,EAAO1G,wBAAwB/K,YACrF,IAAIgT,EAAuBvB,EAAOra,cAAc,mBAAmB2T,wBAAwBtO,EAAIgV,EAAO1G,wBAAwBtO,EAC1HwW,EAAa,EAEjB,GADAxB,EAAOxY,MAAMkE,YAAY,yBAA0B6V,GAC/CvB,EAAO1G,wBAAwBtO,EAAI,EAAG,CACzC,IAAIyW,EAAqBzB,EAAO1G,wBAAwB/K,OAASyR,EAAO1G,wBAAwBtO,EAChGgV,EAAOxY,MAAMkE,YAAY,eAAgB,GAAG+V,OAC5CzB,EAAO/O,UAAY7F,KAAKmH,IAAInH,KAAKsK,MAAMsK,EAAO1G,wBAAwBtO,IACtEwW,EAAapW,KAAKmH,IAAIyN,EAAO1G,wBAAwBtO,GACrDgV,EAAOxY,MAAMkE,YAAY,eAAgB8V,GACzCxB,EAAOja,UAAUC,IAAI,sBACjBga,EAAO1G,wBAAwB/K,OAASjI,OAAO8U,aAClD4E,EAAOxY,MAAMkE,YAAY,eAAmB+V,EAAqBrW,KAAKmH,IAAIjM,OAAO8U,YAAc4E,EAAO1G,wBAAwB/K,QAArF,KAE7C,KAAS,CACFyR,EAAO1G,wBAAwBtO,EAAIgV,EAAO1G,wBAAwB/K,OAASjI,OAAO8U,aACrF4E,EAAOxY,MAAMkE,YAAY,eAAgB,GAAGN,KAAKmH,IAAIjM,OAAO8U,YAAc4E,EAAO1G,wBAAwBtO,QAE1G,IAAI0W,EAAsB1B,EAAO1G,wBAAwBtO,EACzD,GAAIgV,EAAOpS,aAAeoS,EAAO1G,wBAAwB/K,OAAQ,CAChE,IAAIoT,EAAgB3B,EAAO1G,wBAAwB/K,OAASyR,EAAOpS,aAC/DgU,EAAkBxW,KAAKmH,IAAInH,KAAKoM,IAAImK,EAAeD,IAA8E,EAAtDtV,SAAS+B,iBAAiB6R,GAAQ6B,kBAC7GD,EAAkB,IACrB5B,EAAOxY,MAAMkE,YAAY,oBAAqBkW,GAC9C5B,EAAOja,UAAUC,IAAI,6BAE1B,CACA,CACMga,EAAO1G,wBAAwB7M,MAAQuT,EAAOra,cAAc,UAAU2T,wBAAwB7M,MAA8D,EAAtDL,SAAS+B,iBAAiB6R,GAAQ6B,mBAC3I7B,EAAOja,UAAUC,IAAI,eAEtBga,EAAOxY,MAAMkE,YAAY,oBAAqB,IAAG6V,EAAuBC,IACxExB,EAAOxY,MAAMkE,YAAY,gBAAiB,GAAGyV,OAC7C7a,OAAOqF,uBAAuBvE,IAC7BU,YAAW,KACVkY,EAAO5Z,QAAQ0a,kBAAmB,EAClCd,EAAOra,cAAc,mBAAmB2G,OAAO,GAE7C,EAAE,IAENhG,OAAOW,iBAAiB,SAAUiZ,GAClC5Z,OAAOW,iBAAiB,SAAUiZ,GAA2B,GAC7D5Z,OAAOW,iBAAiB,YAAa8Y,EAAmB,EAErD+B,EAAsB,CAACjc,EAAIJ,KAC9B,IAAIsc,EAAUlc,EAAGsH,mBACjB,KAAO4U,GAAS,CACf,GAAIA,EAAQ7T,QAAQzI,GAAW,OAAOsc,EACtCA,EAAUA,EAAQ5U,kBACrB,CACE,OAAO,CAAK,EAUT6U,EAAepa,IAClB,IAAIoY,EAASpY,EAAEgC,OAAOgB,QAAQ,sBAC1B/E,EAAK+B,EAAEgC,OACPoW,EAAOO,aAAa,mBAEjB1a,EAAG0S,KACR0H,EAAYD,GAEZK,EAAaxa,GAEjB,EAEKoc,EAAqBra,IACxB,IAAIoY,EAASpY,EAAEgC,OAAOgB,QAAQ,uBAAyBhD,EAAEgC,OAAOjE,cAAc,sBACxEqa,IAAWA,EAAOO,aAAa,mBAEpCU,EAAWjB,GAEXA,EAAOrO,oBAAoB,QAASqQ,GACpCla,YAAW,KACVkY,EAAO/Y,iBAAiB,QAAS+a,EAAY,GAC3C,KACN,EAEKhB,EAAmBpZ,IACtB,IAAI/B,EAAK+B,EAAEgC,OAAOgB,QAAQ,UACtBoV,EAASpY,EAAEgC,OAAOgB,QAAQ,sBAC9B,GAAMhD,EAAEgC,OAAO2O,KACd3Q,EAAEgC,OAAOsY,YACH,CACN,IAAKrc,IAAOma,EAAOO,aAAa,kBAAoB1a,EAAG0a,aAAa,iBACnE,OAEDF,EAAaxa,EAChB,CACEH,SAASS,KAAKqB,MAAM2a,cAAgB,OACpCra,YAAW,KACVpC,SAASS,KAAKqB,MAAM2a,cAAgB,EAAE,GACpC,IAAI,EAEJC,EAAU,KACVC,EAAgBza,IACf,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAI0a,SAAS1a,EAAEmL,WAE3CnL,EAAE2a,kBACF3a,EAAEsL,iBACL,EAEKsP,EAAkB5a,IACrB,GAAyB,WAArBA,EAAEgC,OAAOiU,QACZ,OAEDwE,EAAaza,GACb,IAAIoY,EAASpY,EAAEgC,OAAOgB,QAAQ,sBAI9B,GAHIhD,EAAEgC,OAAO7D,UAAU8I,SAAS,cAC/BmR,EAASpY,EAAEgC,OAAOjE,cAAc,uBAE5Bqa,EAAL,CAGA,OAAQpY,EAAEQ,KACT,IAAK,QACAR,EAAEgC,OAAO7D,UAAU8I,SAAS,aAC/BoS,EAAWjB,GAEZ,MAED,IAAK,SACJC,EAAYD,GACZ,MAED,IAAK,YACJ,GAAKA,EAAOO,aAAa,iBAElB,CACN,IAAIwB,EAAUD,EAAoBla,EAAEgC,OAAQ,mBACxCmY,EACHA,EAAQzV,QAER0T,EAAOra,cAAc,UAAU2G,OAErC,MARK2U,EAAWjB,GASZ,MAED,IAAK,UACJ,GAAKA,EAAOO,aAAa,iBAElB,CACN,IAAIwB,EAhGsB,EAAClc,EAAIJ,KAClC,IAAIsc,EAAUlc,EAAG4c,uBACjB,KAAOV,GAAS,CACf,GAAIA,EAAQ7T,QAAQzI,GAAW,OAAOsc,EACtCA,EAAUA,EAAQU,sBACrB,CACE,OAAO,CAAK,EA0FKC,CAAwB9a,EAAEgC,OAAQ,mBAChD,GAAImY,EACHA,EAAQzV,YACF,CACN,IAAIqR,EAAUqC,EAAOpU,iBAAiB,UACtC+R,EAAQA,EAAQzU,OAAS,GAAGoD,OAClC,CACA,MATK2U,EAAWjB,GAUZ,MAED,IAAK,OACJA,EAAOra,cAAc,UAAU2G,QAC/B,MAED,IAAK,MACJ0T,EAAOra,cAAc,uBAAuB2G,QAC5C,MAED,QAEC0T,EAAO2C,eAAiB/a,EAAEQ,IAAIwa,cAC9B/a,aAAaua,GACbA,EAAUta,YAAW,KAEpB,IAAK,IAAIjC,KAAMma,EAAOpU,iBAAiB,UAClC/F,EAAG0E,YAAYsY,OAAOD,cAAcE,WAAW9C,EAAO2C,iBACrD3C,EAAOzQ,aAAa,iBACvB1J,EAAGyG,QAEH+T,EAAaxa,GAAI,IAIpBma,EAAO2C,cAAgB,EAAE,GACvB,KAGL,OAAO,CAlET,CAkEc,EAETta,EAAQH,IACN5B,OAAOyc,cAIZ7a,EAAK0D,iBAAiB,+BAA+BC,SAAShG,IAC7D,IAAI4I,EAAU5I,EACd,GAAmB,WAAfA,EAAGgY,QACN,OAGD,KADAhY,EAAKA,EAAGF,cAAc,uBACb,CACR,IAAIgY,EAAU,GACdlP,EAAQ7C,iBAAiB,UAAUC,SAAShG,IAC3C8X,GAAW,kBAAkB9X,EAAGmG,UAAUnG,EAAG0E,sBAAsB,KAEpE1E,EAAKH,SAASyB,cAAc,SACzBuD,mBAAmB,YAAaiT,GACnClP,EAAQ2H,QAAQvQ,EACpB,CAIG,GAHAA,EAAGya,iBAAmB7R,EACtB5I,EAAGE,UAAUC,IAAI,qBACjBH,EAAG4a,eAAiB5a,EAAGya,iBAAiB3a,cAAc,kBAAoBmc,EAAoBjc,EAAGya,iBAAkB,WAAa5a,SAASC,cAAc,mBAAmBE,EAAGya,iBAAiBla,QAAQ4c,eACjMnd,EAAG4a,eAAgB,CAEvB,IAAIwC,EAAQvd,SAASyB,cAAc,UACnC8b,EAAM1Z,KAAO0Z,EAAMxP,GAAK5N,EAAGO,QAAQmD,KACnCkF,EAAQyH,OAAO+M,GACfpd,EAAG4a,eAAiBwC,CACxB,CACG,IAAIC,EAAgBrd,EAAG4a,eAAezU,MAClCmX,EAAiBtd,EAAGF,cAAc,iBAAiBud,MACvDrd,EAAG4a,eAAe5T,UAAY,GAC9B4B,EAAQxH,iBAAiB,cAAegb,GACxCpc,EAAGoB,iBAAiB,QAAS+a,GAC7Bnc,EAAGoB,iBAAiB,YAAaW,IAChC,IAAIoY,EAASpY,EAAEgC,OAAOgB,QAAQ,sBAE1BoV,EAAOO,aAAa,kBAAsB3Y,EAAEwb,eAAiBxb,EAAEwb,cAAc/Z,aAAe2W,IAC/FC,EAAYD,GACZA,EAAOM,iBAAiBhU,QAC7B,IAEGzG,EAAGwd,gBAAmBzb,IACrB,IAAI/B,EAAK+B,EAAEgC,OACX/D,EAAG2B,MAAM6R,eAAe,qBACxBxT,EAAG2B,MAAM6R,eAAe,wBACjBxT,EAAGO,QAAQ0a,iBAClBjb,EAAGoB,iBAAiB,YAAa+Z,EAAgB,EAGlDnb,EAAGoB,iBAAiB,UAAWub,GAC/B/T,EAAQxH,iBAAiB,UAAWub,GACpC3c,EAAGoB,iBAAiB,QAASob,GAC7B5T,EAAQxH,iBAAiB,QAASob,GAClCxc,EAAGwQ,iBAAiBiN,UAAa1b,IAElB,QAAVA,EAAEQ,MAAkBR,EAAEoL,UAAYpL,EAAEgC,OAAOP,WAAWkX,aAAa,mBACtEN,EAAYrY,EAAEgC,OAAOP,YACrBzB,EAAEgC,OAAOP,WAAWiX,iBAAiBhU,QAC1C,EAEGzG,EAAG+F,iBAAiB,UAAUC,SAAShG,IACtCA,EAAGmD,KAAO,SACVnD,EAAGmG,MAAQnG,EAAGmG,OAASnG,EAAG0E,YAAYsY,MAAM,IAE7CpU,EAAQnB,aAAa,WAAY,IAChCzH,EAAGF,cAAc,oBAAsBE,EAAG8P,mBAAmBoL,UAAY,EAC1EtS,EAAQjH,MAAMkE,YAAY,iBAAkB,GAAG7F,EAAGyT,wBAAwB7M,WAC1E4T,EAAaxa,EAAGF,cAAc,oBAAsBwd,GAAkBtd,EAAGF,cAAc,WACvFE,EAAG8c,cAAgB,GACnB,CAAC,oBAAqB,oBAAoB9W,SAAS0X,IAC9C9U,EAAQ1I,UAAU8I,SAAS0U,IAC9B1d,EAAGE,UAAUC,IAAIud,EACtB,IAEG,IAAIC,EAAQ3d,EAAG+E,QAAQ,UAAYlF,SAASC,cAAc,cAAcE,EAAG4a,eAAehN,QACtF+P,IACHA,EAAMhJ,QAAW5S,IAChB,IAAI/B,EAAK+B,EAAEgC,OACX,IAAK/D,EAAG+E,QAAQ,aAAc,CAC7BhD,EAAEsL,iBACFrN,EAAKA,EAAG+E,QAAQ,UACH/E,EAAGF,cAAc,cAAgBD,SAASkO,eAAe/N,EAAG0J,aAAa,QAAQ3E,QAAQ,cAC/F0B,OACb,IAGGmC,EAAQrI,QAAQgD,OAAQ,EACxB9C,OAAOqF,uBAAsB,KAE5ByU,EAAmB3R,EAAS5I,GAC5B,CAAC,sBAAuB,mBAAoB,6BAA8B,0BAA2B,2BAA2BgG,SAAS0B,IACxI1H,EAAG2B,MAAMkE,YAAY6B,EAAGkB,EAAQjH,MAAM4G,iBAAiBb,GAAG,GACzD,GACD,GACD,OAEa,IAARhI,KAAwD,mBAA1BA,IAAI+D,kBAAoC/D,IAAI+D,kBAAkB,WAAYjB,GAAQA,EAAK3C,SAASS,KACtI,CArYD,GAyYA,WAoGC,SAASsd,EAAWC,GACnB,OAAOhe,SAASkO,eAAe8P,EAAKnU,aAAa,sBAAwBmU,EAAKvW,kBAChF,CACC,IAAIwW,EAAW/b,IAEd,IAAI8b,EAAO9b,EAAEgC,OAAOgB,QAAQ,cACxBgZ,EAAMH,EAAWC,GACrBA,EAAKrW,gBAAgB,iBACrBqW,EAAKG,MAAMD,GACXA,EAAIvW,gBAAgB,gBACbuW,EAAIxd,QAAQ+T,SACnByJ,EAAI7d,UAAUG,OAAO,6BAA6B,EAE/C4d,EAAWlc,IACd,IAAI8b,EAAO9b,EAAEgC,OAAOgB,QAAQ,cACxBgZ,EAAMH,EAAWC,GACrBA,EAAKpW,aAAa,iBAAiB,GACnC5H,SAASS,KAAK6X,YAAY4F,GApHN,EAACF,EAAME,KAE3B,IAAI1I,EAAOwI,EAAKpK,wBACZ1B,EAAMsD,EAAKtD,IACXC,EAAOqD,EAAKrD,KACZyD,EAAQhV,OAAOiV,WAAa1D,EAAOqD,EAAKzO,MACxC0O,EAAS7U,OAAO8U,YAAcxD,EAAMsD,EAAK3M,OACzCwV,EAAWnM,EAAMtR,OAAOiV,WACxByI,EAAa1I,EAAQhV,OAAO8U,YAC5B6I,EAAc9I,EAAS7U,OAAOiV,WAC9B2I,EAAYrM,EAAOvR,OAAO8U,YAC1B+I,EAAYze,SAASS,KAAKmT,wBAC9BsK,EAAIvW,gBAAgB,gBACbuW,EAAIxd,QAAQ+T,SACnByJ,EAAI7d,UAAUC,IAAI,8BAElB,IAAIoe,EAAc,KACjBR,EAAIpc,MAAM2T,OAAS,GAAKgJ,EAAU5V,OAAS4V,EAAUnZ,EAAI4M,EAAM,KAC/DgM,EAAIpc,MAAM8P,UAAYM,EAAM,GAAK,KACjCgM,EAAIpc,MAAMqQ,KAAUqD,EAAKrQ,EAAIqQ,EAAKzO,MAAQ,EAAImX,EAAIlX,YAAc,EAA/C,KACjBkX,EAAIxd,QAAQie,UAAY,KAAK,EAE1BC,EAAiB,KACpBV,EAAIpc,MAAMoQ,IAAM,GAAKuM,EAAUnZ,EAAI4M,EAAMsD,EAAK3M,OAAS,KACvDqV,EAAIpc,MAAM8P,UAAY6D,EAAS,GAAK,KACpCyI,EAAIpc,MAAMqQ,KAAUqD,EAAKrQ,EAAIqQ,EAAKzO,MAAQ,EAAImX,EAAIlX,YAAc,EAA/C,KACjBkX,EAAIxd,QAAQie,UAAY,QAAQ,EAE7BE,EAAe,KAClBX,EAAIpc,MAAMqQ,KAAO,OACjB+L,EAAIpc,MAAM8T,MAAQ,GAAK6I,EAAU1X,MAAQ0X,EAAUtZ,EAAIvE,OAAOiV,WAAaD,EAAQJ,EAAKzO,MAAQ,KAChGmX,EAAIpc,MAAMgd,SAAW3M,EAAO,GAAK,KACjC+L,EAAIpc,MAAMoQ,KAAU,EAAIuM,EAAUnZ,EAAIkQ,EAAKtD,IAAMsD,EAAK3M,OAAS,EAAIqV,EAAIhW,aAAe,EAAtE,KAChBgW,EAAIxd,QAAQie,UAAY,MAAM,EAE3BI,EAAgB,KACnBb,EAAIpc,MAAMqQ,KAAOqD,EAAKrQ,EAAIsZ,EAAUtZ,EAAIqQ,EAAKzO,MAAQ,GAAK,KAC1DmX,EAAIpc,MAAMgd,SAAWlJ,EAAQ,GAAK,KAClCsI,EAAIpc,MAAMoQ,KAAU,EAAIuM,EAAUnZ,EAAIkQ,EAAKtD,IAAMsD,EAAK3M,OAAS,EAAIqV,EAAIhW,aAAe,EAAtE,KAChBgW,EAAIxd,QAAQie,UAAY,OAAO,EAE5BH,EAAYF,EACXD,EAAWE,EACVF,EAAWG,EAEdE,IAGAG,IAGGN,EAAcC,EAEjBI,IAGAC,IAIER,EAAWE,EACVF,EAAWC,EAEdI,IAGAK,IAGGR,EAAcD,EAEjBM,IAGAG,IAIH,IAAIC,EAAWd,EAAItK,wBACfyC,EAAW,EACX2I,EAAS1Z,EAAI,EAChB+Q,EAAW3Q,KAAKmH,IAAImS,EAAS1Z,GAAK,GAE9B0Z,EAASvJ,OAAS7U,OAAO8U,cAC5BW,EAAWzV,OAAO8U,YAAcsJ,EAASvJ,OAAS,IAGpDyI,EAAIpc,MAAMkE,YAAY,aAAcqQ,EAAW,MAC/C,IAAI4I,EAAW,EACXD,EAAS7Z,EAAI,EAChB8Z,EAAWvZ,KAAKmH,IAAImS,EAAS7Z,GAAK,GAE9B6Z,EAASpJ,MAAQhV,OAAOiV,aAC3BoJ,EAAWre,OAAOiV,WAAamJ,EAASpJ,MAAQ,IAGlDsI,EAAIpc,MAAMkE,YAAY,aAAciZ,EAAW,KAAK,EAqBpDC,CAAelB,EAAME,EAAI,EAE1B,MAAMvb,EAAO,CAACH,EAAOxC,YAEpBwC,EAAK0D,iBAAiB,eAAe1C,OACrChB,EAAK0D,iBAAiB,gCAAgCC,SAAShG,IAC9DA,EAAGyH,aAAa,WAAY,GAC5BzH,EAAGoB,iBAAiB,WAAY6c,GAChCje,EAAGoB,iBAAiB,YAAa6c,GACjCje,EAAGoB,iBAAiB,QAAS6c,GAC7Bje,EAAGoB,iBAAiB,WAAY0c,GAChC9d,EAAGoB,iBAAiB,OAAQ0c,GAC5B9d,EAAGO,QAAQgD,OAAQ,CAAI,GACtB,OAEa,IAAR7D,KAAwD,mBAA1BA,IAAI+D,kBAAoC/D,IAAI+D,kBAAkB,YAAajB,GAAQA,GACzH,CAtID,GA2IA,WAEE,SAASwc,EAA2Bjd,GAE7BA,EAAEgC,OAAOgB,QAAQ,eACpBlF,SAASkG,iBAAiB,aAAaC,SAAShG,IAC9CA,EAAGwH,gBAAgB,gBAAgB,IAEjC3H,SAASC,cAAc,kBACzBD,SAASC,cAAc,iBAAiB2Y,OAGhD,CAEE,SAASwG,EAAUC,GAEjB,QAAS5W,iBAAiB4W,GAAK3W,iBAAiB,YACpD,CACE,IAAI4W,GAAe,EAEnB,SAASC,EAAYrd,GACnB,IAAIsd,EAAWtd,EAAEgC,OAAOgB,QAAQ,UAChC,GAAIoa,IAAiBpd,EAAEwb,cACrB,OAEFxb,EAAE2a,kBACF,IAAI1c,EAAK+B,EAAEgC,OACPub,EAAsB,OAAftf,EAAGgY,QAAmBhY,EAAGF,cAAc,MAAQE,EAAGyJ,cAAc3J,cAAc,MACzF,IAAKuf,EAASrW,SAASjH,EAAEwb,gBAAmB0B,EAAUI,IAAetd,EAAEwb,gBAAkBgC,eAAexd,EAAEwb,cAAe8B,GAEvHA,EAAStZ,iBAAiB,MAAMC,SAAShG,IACvCA,EAAGwH,gBAAgB,gBAAgB,QAHvC,CAOA,GAAI8X,EAAM,CACR,GAAIA,EAAK9b,WAAWA,WAAW1D,cAAc,sBAE3C,OAEFwf,EAAK7V,cAAcjC,gBAAgB,gBACzC,CAEIxH,EAAK+B,EAAEgC,OACP,IAAIyb,EAAgBxf,EAAG+E,QAAQ,mBAC3Bya,GAEFA,EAAczZ,iBAAiB,qBAAqBC,SAAShG,IAE3DA,EAAGwH,gBAAgB,gBAAgB,IAGvCxH,EAAK+B,EAAEgC,OAAOP,WACTxD,EAAGsH,oBACgC,OAAtCtH,EAAGwD,WAAWA,WAAWF,UACxBtD,EAAGwD,WAAWA,WAAW8D,oBAC1BtH,EAAGwD,WAAWA,WAAWgE,gBAAgB,gBAtB/C,CAwBA,CAEE,SAASiY,EAAa1d,GAEpBA,EAAE2a,kBACF,IAAI1c,EAAK+B,EAAEgC,OAAOgB,QAAQ,oBAE1B,IAAIoa,EAAJ,CAGA,CACE,GAAGO,MAAMC,KAAK3f,EAAGyJ,cAAcH,UAC/B,GAAGoW,MAAMC,KAAK5d,EAAEgC,OAAO0F,cAAcA,cAAcH,UACnD,GAAGoW,MAAMC,KAAK5d,EAAEgC,OAAO0F,cAAcA,cAAcA,cAAcA,cAAcH,WAC/EtD,SAAShG,IACTA,EAAGgG,SAAShG,IACVA,EAAGwH,gBAAgB,gBAAgB,GACnC,IAEJxH,EAAGyH,aAAa,iBAAiB,GAE7BzH,EAAGwD,WAAWA,WAAWkG,aAAa,kBACxC1J,EAAGwD,WAAWA,WAAWiE,aAAa,iBAAiB,GAEzDzH,EAAG+F,iBAAiB,qBAAqBC,SAAShG,IAEhDA,EAAGwH,gBAAgB,gBAAgB,KAGrCxH,EAAK+B,EAAEgC,QACJP,WAAWiE,aAAa,iBAAiB,GAC5C,IAAImY,EAAe5f,EAAGyJ,cAAcA,cAAcA,cACrB,OAAzBmW,EAAa5H,SACf4H,EAAanY,aAAa,iBAAiB,EAxBjD,CA0BA,CACE,IAAIoY,GAAoC,EAExC,MAAMC,EAAc,IAAMrf,OAAO2H,WAAW,2CAA2CC,QAAU,IAAM,EAEvG,IAAI0X,EAAaT,IACfH,GAAe,EACfG,EAAK3d,MAAMgH,SAAW,SACtB2W,EAAK7V,cAAchC,aAAa,iBAAiB,GACjD6X,EAAK3Y,QAAQ,CAAC,CAAE+B,OAAQ,GAAG4W,EAAKvX,kBAAoB,CAAEW,OAAQ,IAAMoX,KAAejX,SAAW,KAC5FyW,EAAK9X,gBAAgB,SACrB8X,EAAK7V,cAAcjC,gBAAgB,iBACnC2X,GAAe,EACfG,EAAKvZ,iBAAiB,mBAAmBC,SAAShG,IAChDA,EAAGwH,gBAAgB,gBAAgB,GACnC,CACH,EAECwY,EAAYV,IACdH,GAAe,EACfG,EAAK3d,MAAMgH,SAAW,SACtB2W,EAAK7V,cAAchC,aAAa,iBAAiB,GACjD6X,EAAK3Y,QAAQ,CAAC,CAAE+B,OAAQ,GAAK,CAAEA,OAAQ,GAAG4W,EAAKvX,mBAAqB+X,KAAejX,SAAW,KAC5FyW,EAAK9X,gBAAgB,SACrB2X,GAAe,CAAK,CACrB,EAECc,EAAcle,IAChBA,EAAE2a,kBAEF,IAAI1c,EAAK+B,EAAEgC,OACX,IAAIsb,EAAWrf,EAAG+E,QAAQ,UAC1Bsa,EAASvT,oBAAoB,WAAYsT,GACrCC,EAASrW,SAASnJ,SAASuN,gBAC7BvN,SAASuN,cAAcqL,OAEzB,IAAI6G,EAAsB,OAAftf,EAAGgY,QAAmBhY,EAAGF,cAAc,MAAQE,EAAGyJ,cAAc3J,cAAc,MACzF,GAAImf,EAAUI,GACRrf,EAAG0J,aAAa,iBACd1J,EAAGF,cAAc,aACfmf,EAAUI,GACZrf,EAAGwH,gBAAgB,iBAEnBuY,EAAUT,KAId,GAAGI,MAAMC,KAAK3f,EAAGyJ,cAAcH,UAAUtD,SAASsZ,IAChDA,EAAK9X,gBAAgB,iBACrB,IAAI0Y,EAAsBZ,EAAKxf,cAAc,mBACzCogB,GACFA,EAAoB1Y,gBAAgB,gBAChD,IAEQxH,EAAGyH,aAAa,iBAAiB,GAC5BwX,EAAUI,IACbW,EAASV,SAIb,GAAIA,EAAK9b,WAAWkX,aAAa,iBAC/BqF,EAAUT,OACL,CAEL,GAAIA,EAAK7V,cAAcA,cAAcpB,QAAQ,MAAO,CAElD,IAAI8X,EAAWb,EAAK7V,cAAc1E,QAAQ,MAAMjF,cAAc,+BAC1DqgB,GACFJ,EAAUI,EAEtB,CACQH,EAASV,EACjB,CAEID,EAASje,iBAAiB,WAAYge,EAAY,EAGpD,SAASgB,EAAWC,EAAIC,GACiB,QAAnChY,iBAAiB+X,GAAI9U,YACvB8U,EAAGngB,UAAUG,OAAO,oBACpBggB,EAAG1e,MAAM6R,eAAe,sBAEpB6M,EAAG5M,wBAAwBzB,KAAOnS,SAASS,KAAKsP,aAAeyQ,EAAG5M,wBAAwBzB,KAAOqO,EAAG5M,wBAAwB7M,QAC1HyZ,EAAG5M,wBAAwBgC,MAAQhV,OAAOiV,aAC5C2K,EAAG1e,MAAMkE,YAAY,qBAAsBpF,OAAOiV,WAAa2K,EAAG5M,wBAAwBgC,MAAQ,MAClG4K,EAAGngB,UAAUC,IAAI,qBAEnBkgB,EAAGngB,UAAUC,IAAI,gBAEjBkgB,EAAGngB,UAAUG,OAAO,eAG5B,CA+CEI,OAAOW,iBAAiB,UAAU,SAASW,GACzClC,SAASkG,iBAAiB,yBAAyBC,SAASsa,IAC1DA,EAAQva,iBAAiB,MAAMC,SAASqa,IACtCD,EAAWC,EAAG,GACd,GAER,IAQE3gB,IAAI+D,kBAAkB,OANVpB,IACVA,EAAK0D,iBAAiB,6CAA6CC,SAAShG,KAtD9E,SAAiBA,GAEfA,EAAG+F,iBAAiB,SAASC,SAAShG,IACpCA,EAAGugB,UAAY,EAAE,IAEnBvgB,EAAG+F,iBAAiB,UAAUC,SAAShG,IACrCA,EAAGyH,aAAa,WAAY,EAAE,IAE3BzH,EAAG+E,QAAQ,wBAIX8a,IACHpf,OAAOW,iBAAiB,WAAY4d,GACpCve,OAAOW,iBAAiB,UAAW4d,GACnCa,GAAoC,GAEtC7f,EAAGoB,iBAAiB,SAAUW,IAEd,WAAVA,EAAEQ,MACJR,EAAEgC,OAAOgB,QAAQ,UAAUgB,iBAAiB,MAAMC,SAAShG,IACzDA,EAAGwH,gBAAgB,gBAAgB,IAErC3H,SAASuN,cAAcqL,OAC/B,IAEIzY,EAAG+F,iBAAiB,MAAMC,SAAShG,IACxBA,EAAGF,cAAc,QAExBE,EAAGyH,aAAa,iBAAiB,GACD,OAA5BzH,EAAGsJ,SAAS,GAAGhG,UACjBtD,EAAGwgB,aAAaxgB,EAAGsJ,SAAS,GAAItJ,EAAGsJ,SAAS,IAEtD,IAEItJ,EAAGoB,iBAAiB,YAAa6e,GACjCjgB,EAAGoB,iBAAiB,UAAWqe,GAC/Bzf,EAAGoB,iBAAiB,WAAYge,GAChC3e,OAAOqF,uBAAsB,KAE3B9F,EAAG+F,iBAAiB,MAAMC,SAASqa,IACjCD,EAAWC,EAAG,GACd,IAER,CAWMI,CAAQzgB,GACRA,EAAG+E,QAAQ,UAAUxE,QAAQgD,OAAQ,CAAI,GACzC,GAGL,CAvPD,GA4PA,WACC,SAASmd,EAAY1gB,GACdA,GACLA,EAAGwD,WAAW4T,YAAYpX,EAE7B,CAEC,SAAS2gB,IACJ9gB,SAASC,cAAc,eAC1BD,SAASC,cAAc,aAAa6U,QAAW5S,IAC9C2e,EAAY3e,EAAEgC,OAAO,EAGzB,CAmBCrE,IAAI+D,kBAAkB,UAPVpB,IAEXA,EAAK0D,iBAAiB,+BAA+BC,SAAQ,CAAChG,EAAI0H,KACjEiZ,IACA3gB,EAAGO,QAAQgD,OAAQ,CAAI,GACtB,GAEmC,CACrCG,KAAQ,SACRG,KAnBD,SAAgB6Q,EAASkM,GACxB/gB,SAASS,KAAKuE,mBAAmB,aAAc,0BAA0B+b,IAAuC,IAA7BA,EAAOrX,QAAQ,SAAkB,mBAAqB,OAAOmL,cAChJ7U,SAASC,cAAc,aAAa2G,QACpCka,IACIC,IAAyC,IAA/BA,EAAOrX,QAAQ,YAC5BtH,YAAW,KACVye,EAAY7gB,SAASC,cAAc,aAAa,GAC9C,IAEN,GAYC,CApCD,GAyCA,WAEC,IACI+gB,EAAiB,KACpBhhB,SAASkG,iBAAiB,eAAeC,SAAShG,IACjD,IAAI8gB,EAAS9gB,EAAGyJ,cACZ4M,EAAgByK,EAAO/Y,aAAe+Y,EAAO9Y,aAAe8Y,EAAOrN,wBAAwBtO,EAAItF,SAASS,KAAK8K,WAAavL,SAAS2V,gBAAgBpK,UACvJpL,EAAG2B,MAAMkE,YAAY,mBALH,GAKuBwQ,EAA8B,GACtE,EAECxW,SAASC,cAAc,gBAC1BW,OAAOW,iBAAiB,SAAUyf,GAAgB,GAGnDnhB,IAAI+D,kBAAkB,YADVpB,IAAD,GAEX,CAfD,GAoBA,WAEC,MAOM0e,EAAe,CAACC,EAAIC,IAAQD,EAAG1X,SAAS2X,GAAKC,WAAaF,EAAG1X,SAAS2X,GAAKvc,YAajFhF,IAAI+D,kBAAkB,SAXVpB,IACXA,EAAK0D,iBAAiB,8BAA8BC,SAAShG,IAC5DA,EAAG+F,iBAAiB,0DAA0DC,SAASmb,GAAWA,EAAO/f,iBAAiB,SAAUW,IACnI,IAAIqf,EAAKrf,EAAEgC,OAAOgB,QAAQ,OAAShD,EAAEgC,OAAOgB,QAAQ,MACpD,MAAMsc,EAAQD,EAAGrc,QAAQ,SAASjF,cAAc,SALlC,IAACmhB,EAAKK,EAMpBnf,MAAMof,KAAKF,EAAMtb,iBAAiB,OAAOyb,MAN1BP,EAMwC9e,MAAMof,KAAKH,EAAG5d,WAAW8F,UAAUC,QAAQ6X,GAN9EE,EARJ,CAACF,IACnB,IAAI7M,EAAW6M,EAAGrc,QAAQ,MAAMjF,cAAc,sBAI9C,OAHIyU,GAAYA,IAAa6M,UACrB7M,EAAShU,QAAQkhB,UAElBL,EAAGM,gBAAgB,iBAAiB,EAS8DC,CAAWP,GANtF,CAAChV,EAAGwV,KAAM,OAAEC,EAA6Gd,EAAaO,EAAMlV,EAAIwV,EAAGX,GAAnIa,EAAyIf,EAAaO,EAAMM,EAAIxV,EAAG6U,GAApJ,KAAPY,GAAoB,KAAPC,GAAcC,MAAMF,IAAQE,MAAMD,GAAgBD,EAAGG,WAAWC,cAAcH,GAAtCD,EAAKC,EAAxE,IAAED,EAAIC,CAAwK,IAM5F9b,SAASgb,GAAOK,EAAMlJ,YAAY6I,IAAI,MAE/JhhB,EAAGO,QAAQgD,OAAQ,EACnBvD,EAAGyH,aAAa,WAAY,EAAE,GAC7B,GAGH,CAvBD,GAmDC/H,IAAI+D,kBAAkB,cAtBVpB,IAEX,GAA8B,mBAAnB8Q,eAA+B,CAEzC,IAAI+O,EAAK,IAAI/O,gBAAgBC,IAC5BA,EAAQpN,SAAShG,IAChB,IAAIoM,EAAIpM,EAAG+D,OACXqI,EAAEzK,MAAM6R,eAAe,mBACvB,IAAI7R,EAAQ2G,iBAAiB8D,GACzB+V,EAAcpY,WAAWpI,EAAMygB,YAC/BC,EAASF,EAAepY,WAAWpI,EAAM+G,QAAUyZ,EACnDE,IAAWF,GACd/V,EAAEzK,MAAMkE,YAAY,kBAAmBwc,EAC7C,GACM,IAEHxiB,SAASkG,iBAAiB,sCAAsCC,SAAShG,IACxEkiB,EAAGvf,QAAQ3C,GACXA,EAAGO,QAAQgD,OAAQ,CAAI,GAE3B,YA1NS7D,gBAERe,OAAOf,IAAMA","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.parentElement.classList.contains('n-carousel--overlay') };\n const isVertical = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--vertical\");\n const isAuto = (el) => el.parentNode.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 } 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 verticalAutoObserver = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let slide = e.target.closest(\".n-carousel__content > *\");\n let el = slide.closest(\".n-carousel__content\");\n if (!!slide.parentNode.ariaCurrent && !el.parentNode.dataset.sliding) {\n slide.style.height = 'auto';\n el.style.height = `${slide.scrollHeight}px`;\n slide.style.height = '';\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--vertical.n-carousel--auto-height\")) {\n // Vertical auto has a specified height which needs update on resize\n content.querySelectorAll(\":scope > * > *\").forEach((el) => verticalAutoObserver.observe(el));\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\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\tlet hideTip = (e) => {\n\t\t// return;\n\t\tlet tool = e.target.closest(\".n-tooltip\");\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 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};\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 From 79e024197d2ced2fd8a79ff24918b0639beb0d8b Mon Sep 17 00:00:00 2001 From: Rado Date: Tue, 9 May 2023 10:22:11 +0000 Subject: [PATCH 2/3] Homepage scroll --- css/guide.css | 2 ++ css/guide.css.map | 2 +- css/guide.scss | 2 ++ dist/niui.min.css | 2 +- dist/niui.min.css.map | 2 +- dist/niui.min.css.size | 2 +- dist/niui.min.js | 2 +- dist/niui.min.js.map | 2 +- dist/niui.min.js.size | 2 +- index.html | 33 +++++++++++-------- js/niui.js | 61 ++++++++++++++++++++++++++---------- js/niui.js.map | 2 +- niui-wp.zip | Bin 443834 -> 461495 bytes niui-wp/niui-wp.min.css | 2 +- niui-wp/niui-wp.min.css.map | 2 +- niui-wp/niui.min.js | 2 +- niui-wp/niui.min.js.map | 2 +- 17 files changed, 80 insertions(+), 42 deletions(-) diff --git a/css/guide.css b/css/guide.css index 26c47a51..61847f65 100644 --- a/css/guide.css +++ b/css/guide.css @@ -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 056578b0..2c0ba362 100644 --- a/css/guide.scss +++ b/css/guide.scss @@ -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 a585a3b1..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}: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}}: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}.n-accordion__label[aria-expanded=true] button,input:checked~.n-accordion__label button{background:var(--nui-control-active-bg,#fff);color:var(--nui-control-active-color,#222);cursor:zoom-out}.n-accordion__label[aria-expanded=true] button:after,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([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:1fr auto 1fr/auto auto auto 1fr auto auto;position:relative;grid-template-areas:"f c a3 a3 a3 a3" "prev a2 a2 a2 a2 next" "i i i 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-start.n-carousel--index-start:not(.n-carousel--controls-outside){grid-template-areas:"f c i b1 b2 b2" "prev a3 a3 a3 a3 next"}.n-carousel.n-carousel--index-align-start.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical){grid-template-areas:"i i i i i i" "prev a2 a2 a2 a2 next" "f c a3 a3 a3 a3"}.n-carousel.n-carousel--index-align-start.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical)>.n-carousel__close,.n-carousel.n-carousel--index-align-start.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical)>.n-carousel__full-screen{align-self:end}.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--index-align-end.n-carousel.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical){grid-template-areas:"f c i i i i" "prev a2 a2 a2 a2 next" "a3 a3 a3 a3 a3 a3"}.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;justify-self:center}.n-carousel>.n-carousel__next{grid-area:next;align-self:center;justify-self:center}.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 i i i" "prev a2 a2 a2 a2 next" "f c a3 a3 a3 a3"}.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 c content a1" "prev c2 content next" "a2 c2 content a3" "i i i i";grid-template-columns:auto auto 1fr auto}.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:"f c i i" "b1 c2 content b2" "prev c2 content next" "a1 c2 content a2";grid-template-rows:auto auto 1fr auto}.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{box-sizing:border-box;grid-template-areas:"f c a1 prev a2 a2" "i a3 a3 a3 a3 a3" "i a4 a4 next a5 a5";grid-template-rows:auto}.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 c a1 prev a2 i" "a3 a3 a3 a3 a3 i" "a4 a4 a4 next a5 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--index-align-start:not(.n-carousel--index-end):not(.n-carousel--controls-outside){grid-template-areas:"a1 a1 a1 prev c f" "i a3 a3 a3 a3 a3" "i a4 a4 next a5 a5"}.n-carousel.n-carousel--vertical.n-carousel--index-align-end{grid-template-areas:"a1 a1 a1 prev c f" "i a3 a3 a3 a3 a3" "i a4 a4 next a5 a5"}.n-carousel.n-carousel--vertical.n-carousel--controls-outside{grid-template-areas:"f c prev a2" "i c2 content a2" "i c2 next a2";grid-template-rows:auto 1fr auto auto}.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-align-end{grid-template-columns:auto auto 1fr auto}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-align-end>.n-carousel__index{align-self:end}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-end{grid-template-areas:"f c prev i" "a1 c2 content i" "a1 c2 next i";grid-template-rows:auto 1fr}.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{position:absolute;margin-inline-start:calc(-1 * var(--index-width))}.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__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__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}} +@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 9bdc3cf5..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","form/form.scss","grid/aspect-ratio.scss","grid/grid.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 77e9e7e7..fdcb28a6 100644 --- a/dist/niui.min.css.size +++ b/dist/niui.min.css.size @@ -1 +1 @@ -14443 +14308 diff --git a/dist/niui.min.js b/dist/niui.min.js index 786ff19a..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,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.parentElement.classList.contains("n-carousel--overlay"),s=e=>e.closest(".n-carousel").matches(".n-carousel--vertical"),d=e=>e.parentNode.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))};t.togglingFullScreen=!0,l()?(document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen(),r&&setTimeout((()=>{e.style.display="none",window.requestAnimationFrame((()=>{e.style.display=""}))}),0)):(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,w=null,S=null;const E=e=>{("Tab"===e.key||9===e.keyCode)&&(e.shiftKey?document.activeElement===x&&(S.focus(),e.preventDefault()):document.activeElement===S&&(x.focus(),e.preventDefault()))},q=(e,t=!1)=>{x=e.querySelectorAll(n)[0],w=e.querySelectorAll(n),S=w[w.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 w=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):(w(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}))):(w(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 S=A(n.closest(".n-carousel"),".n-carousel__index");S&&(S.querySelector("[aria-current]")?.removeAttribute("aria-current"),c(S)[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.closest(".n-carousel__content > *"),n=t.closest(".n-carousel__content");t.parentNode.ariaCurrent&&!n.parentNode.dataset.sliding&&(t.style.height="auto",n.style.height=`${t.scrollHeight}px`,t.style.height="")}))}))})),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--vertical.n-carousel--auto-height")&&m.querySelectorAll(":scope > * > *").forEach((e=>$.observe(e))),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}let t=t=>{let n=t.target.closest(".n-tooltip"),o=e(n);n.removeAttribute("aria-expanded"),n.after(o),o.removeAttribute("style"),delete o.dataset.position,o.classList.remove("n-tooltip__content-visible")},n=t=>{let n=t.target.closest(".n-tooltip"),o=e(n);n.setAttribute("aria-expanded",!0),document.body.appendChild(o),((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,o)};const o=(e=document)=>{e.querySelectorAll(".n-tooltip")?.length,e.querySelectorAll(".n-tooltip:not([data-ready])").forEach((e=>{e.setAttribute("tabindex",0),e.addEventListener("touchend",n),e.addEventListener("mouseover",n),e.addEventListener("focus",n),e.addEventListener("mouseout",t),e.addEventListener("blur",t),e.dataset.ready=!0}))};void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-tooltip",o):o()}(),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; +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 dee5bde4..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","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","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","slideTo","new_offset","carouselKeys","slidePreviousEvent","slidePrevious","slideNextEvent","slideIndexEvent","href","ctrlKey","metaKey","new_index","old_index","openModal","frozen","closeModal","verticalAutoObserver","ResizeObserver","entries","ariaCurrent","updateSubpixels","padding","removeProperty","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","hideTip","tip","after","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.parentElement.classList.contains('n-carousel--overlay') };\n const isVertical = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--vertical\");\n const isAuto = (el) => el.parentNode.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 } 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 verticalAutoObserver = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let slide = e.target.closest(\".n-carousel__content > *\");\n let el = slide.closest(\".n-carousel__content\");\n if (!!slide.parentNode.ariaCurrent && !el.parentNode.dataset.sliding) {\n slide.style.height = 'auto';\n el.style.height = `${slide.scrollHeight}px`;\n slide.style.height = '';\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--vertical.n-carousel--auto-height\")) {\n // Vertical auto has a specified height which needs update on resize\n content.querySelectorAll(\":scope > * > *\").forEach((el) => verticalAutoObserver.observe(el));\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\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\tlet hideTip = (e) => {\n\t\t// return;\n\t\tlet tool = e.target.closest(\".n-tooltip\");\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 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};\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 +{"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 37833a77..b9ddacec 100644 --- a/dist/niui.min.js.size +++ b/dist/niui.min.js.size @@ -1 +1 @@ -12394 +12491 diff --git a/index.html b/index.html index 56585059..7e99bb5b 100644 --- a/index.html +++ b/index.html @@ -3962,28 +3962,35 @@

Theme

}) }); document.querySelector(location.hash)?.scrollIntoView(); - window.addEventListener('load', e => { - document.querySelector('html').style.scrollBehavior = 'smooth'; - }); + document.querySelector(`[href="${location.hash}"]`)?.click(); + document.querySelectorAll('aside nav [aria-current]').forEach(el => el.removeAttribute('aria-current')); + document.querySelector(`[href="${location.hash}"]`).setAttribute('aria-current', 'true'); + + var set_active_timeout = 0; const interSecObs = new IntersectionObserver(entries => { entries.forEach(entry => { - let slide = entry.target; - clearTimeout(set_active_timeout); - set_active_timeout = setTimeout(() => { - document.querySelectorAll('aside nav [aria-current]').forEach(el => el.removeAttribute('aria-current')); - let id = `#${slide.closest('section').id}`; - document.querySelector(`aside nav a[href="${id}"`).setAttribute('aria-current', 'true'); - // history.replaceState(null, null, '#carousel'); - console.log('intersection observing ', slide); - }, 300); + if (entry.isIntersecting) { + let slide = entry.target; + clearTimeout(set_active_timeout); + set_active_timeout = setTimeout(() => { + document.querySelectorAll('aside nav [aria-current]').forEach(el => el.removeAttribute('aria-current')); + let id = `#${slide.closest('section').id}`; + document.querySelector(`aside nav a[href="${id}"`).setAttribute('aria-current', 'true'); + // history.replaceState(null, null, '#carousel'); + console.log('intersection observing ', slide); + }, 300); + } }); }, { threshold: .5, rootMargin: "0px 0px -75% 0px" }); - // document.querySelectorAll('main > section .section-title').forEach(el => interSecObs.observe(el)); + window.addEventListener('load', e => { + document.querySelectorAll('main > section .section-title').forEach(el => interSecObs.observe(el)); + document.querySelector('html').style.scrollBehavior = 'smooth'; + }); window.onpopstate = (event) => { console.log( diff --git a/js/niui.js b/js/niui.js index ac9cb4f2..34610ae6 100644 --- a/js/niui.js +++ b/js/niui.js @@ -576,9 +576,9 @@ nui.dynamicInit = true;// Component Button – start const isSafari = navigator.userAgent.match(/Safari/) && !isChrome; const isEndless = el => el.children.length > 2 && el.parentElement.classList.contains("n-carousel--endless"); const isFullScreen = () => { return !!(document.webkitFullscreenElement || document.fullscreenElement) }; - const isModal = el => { return el.parentElement.classList.contains('n-carousel--overlay') }; + const isModal = el => { return el.closest(".n-carousel").classList.contains('n-carousel--overlay') }; const isVertical = (el) => el.closest(".n-carousel").matches(".n-carousel--vertical"); - const isAuto = (el) => el.parentNode.matches(".n-carousel--auto-height"); + const isAuto = (el) => el.closest(".n-carousel").matches(".n-carousel--auto-height"); const indexControls = index => { let controls_by_class = index.querySelectorAll('.n-carousel__control'); return (controls_by_class.length > 0) ? controls_by_class : index.querySelectorAll('a, button'); @@ -663,6 +663,19 @@ nui.dynamicInit = true;// Component Button – start }); }, 0); } + if (isVertical(el) && isAuto(el)) { + let updateExitFullScreen = e => { + setTimeout(() => { + let carousel = el.querySelector(":scope > .n-carousel__content"); + // console.log(carousel); + // el.style.removeProperty('--height'); + // carousel.style.height = ''; + slideTo(carousel, parseInt(carousel.dataset.y)); + }, 100); + el.removeEventListener('fullscreenchange', updateExitFullScreen); + }; + el.addEventListener('fullscreenchange', updateExitFullScreen); + } } else { // Enter full screen if (isSafari) { @@ -1148,15 +1161,24 @@ nui.dynamicInit = true;// Component Button – start trapFocus(carousel.closest(".n-carousel")); } }; - const verticalAutoObserver = new ResizeObserver((entries) => { + const autoHeightObserver = new ResizeObserver((entries) => { window.requestAnimationFrame(() => { entries.forEach((e) => { - let slide = e.target.closest(".n-carousel__content > *"); + let slide = e.target.querySelector(":scope > [aria-current]"); let el = slide.closest(".n-carousel__content"); - if (!!slide.parentNode.ariaCurrent && !el.parentNode.dataset.sliding) { - slide.style.height = 'auto'; - el.style.height = `${slide.scrollHeight}px`; - slide.style.height = ''; + if (!el.parentElement.dataset.sliding) { + // console.log(e.target); + el.parentNode.style.removeProperty('--height'); + if (isVertical(el)) { + slide.style.height = 'auto'; + el.style.height = `${slide.scrollHeight}px`; + slide.style.height = ''; + updateCarousel(el); + } else { + el.style.height = ''; + el.style.height = `${slide.scrollHeight}px`; + updateCarousel(el, true); + } } }); }); @@ -1357,9 +1379,9 @@ nui.dynamicInit = true;// Component Button – start el.dataset.ready = true; 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) } - if (el.matches(".n-carousel--vertical.n-carousel--auto-height")) { - // Vertical auto has a specified height which needs update on resize - content.querySelectorAll(":scope > * > *").forEach((el) => verticalAutoObserver.observe(el)); + if (el.matches(".n-carousel--auto-height")) { + // Auto has a specified height which needs update on resize + autoHeightObserver.observe(content); } window.requestAnimationFrame(() => { observersOn(content); @@ -1508,7 +1530,7 @@ nui.dynamicInit = true;// Component Button – start } }); const doInit = () => { - (typeof nui !== 'undefined' && typeof nui.registerComponent === "function") ? nui.registerComponent("n-carousel", init) : init(); + (typeof nui !== 'undefined' && typeof nui.registerComponent === "function") ? nui.registerComponent("n-carousel", init): init(); }; if (document.readyState !== "loading") { doInit(); @@ -2200,7 +2222,6 @@ nui.dynamicInit = true;// Component Button – start tip.removeAttribute("style"); delete tip.dataset.position; tip.classList.add('n-tooltip__content-visible'); - let positionTop = () => { tip.style.bottom = 20 + body_rect.height + body_rect.y - top + "px"; tip.style.maxHeight = top - 40 + "px"; @@ -2287,9 +2308,7 @@ nui.dynamicInit = true;// Component Button – start function getToolTip(tool) { return document.getElementById(tool.getAttribute('aria-describedby')) || tool.nextElementSibling; } - let hideTip = (e) => { - // return; - let tool = e.target.closest(".n-tooltip"); + const hideTipFunction = tool => { let tip = getToolTip(tool); tool.removeAttribute("aria-expanded"); tool.after(tip); @@ -2297,12 +2316,20 @@ nui.dynamicInit = true;// Component Button – start delete tip.dataset.position; tip.classList.remove('n-tooltip__content-visible'); }; + let hideTip = (e) => { + hideTipFunction(e.target.closest(".n-tooltip")); + }; + const hideTipOnScroll = e => { + document.querySelectorAll('.n-tooltip').forEach(el => hideTipFunction(el)); + document.removeEventListener('scroll', hideTipOnScroll); + }; let showTip = (e) => { let tool = e.target.closest(".n-tooltip"); let tip = getToolTip(tool); tool.setAttribute("aria-expanded", true); document.body.appendChild(tip); setTipPosition(tool, tip); + document.addEventListener('scroll', hideTipOnScroll, true); }; const init = (host = document) => { /* Tooltip */ @@ -2317,7 +2344,7 @@ nui.dynamicInit = true;// Component Button – start el.dataset.ready = true; }); }; - (typeof nui !== 'undefined' && typeof nui.registerComponent === "function") ? nui.registerComponent("n-tooltip", init) : init(); + (typeof nui !== 'undefined' && typeof nui.registerComponent === "function") ? nui.registerComponent("n-tooltip", init): init(); })(); // Component Tooltip – end //# sourceMappingURL=n-tooltip@npm.js.map diff --git a/js/niui.js.map b/js/niui.js.map index 9baf3559..c4a4375f 100644 --- a/js/niui.js.map +++ b/js/niui.js.map @@ -1 +1 @@ -{"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.parentElement.classList.contains('n-carousel--overlay') };\n const isVertical = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--vertical\");\n const isAuto = (el) => el.parentNode.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 } 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 verticalAutoObserver = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let slide = e.target.closest(\".n-carousel__content > *\");\n let el = slide.closest(\".n-carousel__content\");\n if (!!slide.parentNode.ariaCurrent && !el.parentNode.dataset.sliding) {\n slide.style.height = 'auto';\n el.style.height = `${slide.scrollHeight}px`;\n slide.style.height = '';\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--vertical.n-carousel--auto-height\")) {\n // Vertical auto has a specified height which needs update on resize\n content.querySelectorAll(\":scope > * > *\").forEach((el) => verticalAutoObserver.observe(el));\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\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\tlet hideTip = (e) => {\n\t\t// return;\n\t\tlet tool = e.target.closest(\".n-tooltip\");\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 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};\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 +{"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 7472334b78f5b92a019b4916cd0e8c5ae8c3aeea..302189d8d7342c52b66d99b89f892b78a14b53c2 100644 GIT binary patch delta 117556 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

2VGG`H3g<-o!e*brmp4*SSi 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 S+Cd;nz@Nv!S}}6KAO8=w*{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))}.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}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}.n-accordion__label[aria-expanded=true] button,input:checked~.n-accordion__label button{background:var(--nui-control-active-bg,#fff);color:var(--nui-control-active-color,#222);cursor:zoom-out}.n-accordion__label[aria-expanded=true] button:after,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}.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}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([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:1fr auto 1fr/auto auto auto 1fr auto auto;position:relative;grid-template-areas:"f c a3 a3 a3 a3" "prev a2 a2 a2 a2 next" "i i i 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-start.n-carousel--index-start:not(.n-carousel--controls-outside){grid-template-areas:"f c i b1 b2 b2" "prev a3 a3 a3 a3 next"}.n-carousel.n-carousel--index-align-start.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical){grid-template-areas:"i i i i i i" "prev a2 a2 a2 a2 next" "f c a3 a3 a3 a3"}.n-carousel.n-carousel--index-align-start.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical)>.n-carousel__close,.n-carousel.n-carousel--index-align-start.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical)>.n-carousel__full-screen{align-self:end}.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--index-align-end.n-carousel.n-carousel--index-start:not(.n-carousel--controls-outside):not(.n-carousel--vertical){grid-template-areas:"f c i i i i" "prev a2 a2 a2 a2 next" "a3 a3 a3 a3 a3 a3"}.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;justify-self:center}.n-carousel>.n-carousel__next{grid-area:next;align-self:center;justify-self:center}.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 i i i" "prev a2 a2 a2 a2 next" "f c a3 a3 a3 a3"}.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 c content a1" "prev c2 content next" "a2 c2 content a3" "i i i i";grid-template-columns:auto auto 1fr auto}.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:"f c i i" "b1 c2 content b2" "prev c2 content next" "a1 c2 content a2";grid-template-rows:auto auto 1fr auto}.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{box-sizing:border-box;grid-template-areas:"f c a1 prev a2 a2" "i a3 a3 a3 a3 a3" "i a4 a4 next a5 a5";grid-template-rows:auto}.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 c a1 prev a2 i" "a3 a3 a3 a3 a3 i" "a4 a4 a4 next a5 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--index-align-start:not(.n-carousel--index-end):not(.n-carousel--controls-outside){grid-template-areas:"a1 a1 a1 prev c f" "i a3 a3 a3 a3 a3" "i a4 a4 next a5 a5"}.n-carousel.n-carousel--vertical.n-carousel--index-align-end{grid-template-areas:"a1 a1 a1 prev c f" "i a3 a3 a3 a3 a3" "i a4 a4 next a5 a5"}.n-carousel.n-carousel--vertical.n-carousel--controls-outside{grid-template-areas:"f c prev a2" "i c2 content a2" "i c2 next a2";grid-template-rows:auto 1fr auto auto}.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-align-end{grid-template-columns:auto auto 1fr auto}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-align-end>.n-carousel__index{align-self:end}.n-carousel.n-carousel--vertical.n-carousel--controls-outside.n-carousel--index-end{grid-template-areas:"f c prev i" "a1 c2 content i" "a1 c2 next i";grid-template-rows:auto 1fr}.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{position:absolute;margin-inline-start:calc(-1 * var(--index-width))}.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__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__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}}@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}: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-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} +@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 1378bde9..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","card/card.scss","button/button.scss","grid/aspect-ratio.scss","grid/grid.scss","list/list.scss","../../node_modules/n-accordion/n-accordion.scss","form/form.scss","../../node_modules/n-carousel/n-carousel.scss","../../node_modules/n-modal/n-modal.scss","../../node_modules/n-tooltip/n-tooltip.scss","../../node_modules/n-select/n-select.scss","notify/notify.scss","nav/nav.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 +{"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 786ff19a..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,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.parentElement.classList.contains("n-carousel--overlay"),s=e=>e.closest(".n-carousel").matches(".n-carousel--vertical"),d=e=>e.parentNode.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))};t.togglingFullScreen=!0,l()?(document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen(),r&&setTimeout((()=>{e.style.display="none",window.requestAnimationFrame((()=>{e.style.display=""}))}),0)):(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,w=null,S=null;const E=e=>{("Tab"===e.key||9===e.keyCode)&&(e.shiftKey?document.activeElement===x&&(S.focus(),e.preventDefault()):document.activeElement===S&&(x.focus(),e.preventDefault()))},q=(e,t=!1)=>{x=e.querySelectorAll(n)[0],w=e.querySelectorAll(n),S=w[w.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 w=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):(w(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}))):(w(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 S=A(n.closest(".n-carousel"),".n-carousel__index");S&&(S.querySelector("[aria-current]")?.removeAttribute("aria-current"),c(S)[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.closest(".n-carousel__content > *"),n=t.closest(".n-carousel__content");t.parentNode.ariaCurrent&&!n.parentNode.dataset.sliding&&(t.style.height="auto",n.style.height=`${t.scrollHeight}px`,t.style.height="")}))}))})),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--vertical.n-carousel--auto-height")&&m.querySelectorAll(":scope > * > *").forEach((e=>$.observe(e))),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}let t=t=>{let n=t.target.closest(".n-tooltip"),o=e(n);n.removeAttribute("aria-expanded"),n.after(o),o.removeAttribute("style"),delete o.dataset.position,o.classList.remove("n-tooltip__content-visible")},n=t=>{let n=t.target.closest(".n-tooltip"),o=e(n);n.setAttribute("aria-expanded",!0),document.body.appendChild(o),((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,o)};const o=(e=document)=>{e.querySelectorAll(".n-tooltip")?.length,e.querySelectorAll(".n-tooltip:not([data-ready])").forEach((e=>{e.setAttribute("tabindex",0),e.addEventListener("touchend",n),e.addEventListener("mouseover",n),e.addEventListener("focus",n),e.addEventListener("mouseout",t),e.addEventListener("blur",t),e.dataset.ready=!0}))};void 0!==nui&&"function"==typeof nui.registerComponent?nui.registerComponent("n-tooltip",o):o()}(),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; +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 dee5bde4..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","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","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","slideTo","new_offset","carouselKeys","slidePreviousEvent","slidePrevious","slideNextEvent","slideIndexEvent","href","ctrlKey","metaKey","new_index","old_index","openModal","frozen","closeModal","verticalAutoObserver","ResizeObserver","entries","ariaCurrent","updateSubpixels","padding","removeProperty","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","hideTip","tip","after","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.parentElement.classList.contains('n-carousel--overlay') };\n const isVertical = (el) => el.closest(\".n-carousel\").matches(\".n-carousel--vertical\");\n const isAuto = (el) => el.parentNode.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 } 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 verticalAutoObserver = new ResizeObserver((entries) => {\n window.requestAnimationFrame(() => {\n entries.forEach((e) => {\n let slide = e.target.closest(\".n-carousel__content > *\");\n let el = slide.closest(\".n-carousel__content\");\n if (!!slide.parentNode.ariaCurrent && !el.parentNode.dataset.sliding) {\n slide.style.height = 'auto';\n el.style.height = `${slide.scrollHeight}px`;\n slide.style.height = '';\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--vertical.n-carousel--auto-height\")) {\n // Vertical auto has a specified height which needs update on resize\n content.querySelectorAll(\":scope > * > *\").forEach((el) => verticalAutoObserver.observe(el));\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\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\tlet hideTip = (e) => {\n\t\t// return;\n\t\tlet tool = e.target.closest(\".n-tooltip\");\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 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};\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 +{"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 From f07e785ea44fe8b2589ef24d1121e45f9a29d2f3 Mon Sep 17 00:00:00 2001 From: Rado Date: Tue, 9 May 2023 13:22:18 +0300 Subject: [PATCH 3/3] 3.0.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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"