diff --git a/.npmignore b/.npmignore index 981e7e6..a4225f9 100644 --- a/.npmignore +++ b/.npmignore @@ -3,7 +3,8 @@ ignore .env .vscode node_modules -dev/debug +dev +fonts_raw browserstack.json *.traineddata *.traineddata.gz diff --git a/app/css/bootstrap.min.css b/app/css/bootstrap.min.css deleted file mode 100644 index a666246..0000000 --- a/app/css/bootstrap.min.css +++ /dev/null @@ -1,12 +0,0 @@ -@charset "UTF-8";/*! - * Bootstrap v5.0.2 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors - * Copyright 2011-2021 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - *//*! - * Bootstrap v5.0.2 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors - * Copyright 2011-2021 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap);:root{--bs-blue:#3459e6;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#da292e;--bs-orange:#f8765f;--bs-yellow:#f4bd61;--bs-green:#2fb380;--bs-teal:#20c997;--bs-cyan:#287bb5;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#3459e6;--bs-secondary:#fff;--bs-success:#2fb380;--bs-info:#287bb5;--bs-warning:#f4bd61;--bs-danger:#da292e;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:#212529}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#3459e6;text-decoration:underline}a:hover{color:#2a47b8}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:1rem;padding-bottom:1rem;color:#6c757d;text-align:left}th{font-weight:500;text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#495057;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#495057;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#495057;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#495057;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:1rem 1rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.5rem .5rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#d6defa;--bs-table-striped-bg:#cbd3ee;--bs-table-striped-color:#000;--bs-table-active-bg:#c1c8e1;--bs-table-active-color:#fff;--bs-table-hover-bg:#c6cde7;--bs-table-hover-color:#000;color:#000;border-color:#c1c8e1}.table-secondary{--bs-table-bg:white;--bs-table-striped-bg:#f2f2f2;--bs-table-striped-color:#000;--bs-table-active-bg:#e6e6e6;--bs-table-active-color:#000;--bs-table-hover-bg:#ececec;--bs-table-hover-color:#000;color:#000;border-color:#e6e6e6}.table-success{--bs-table-bg:#d5f0e6;--bs-table-striped-bg:#cae4db;--bs-table-striped-color:#000;--bs-table-active-bg:#c0d8cf;--bs-table-active-color:#000;--bs-table-hover-bg:#c5ded5;--bs-table-hover-color:#000;color:#000;border-color:#c0d8cf}.table-info{--bs-table-bg:#d4e5f0;--bs-table-striped-bg:#c9dae4;--bs-table-striped-color:#000;--bs-table-active-bg:#bfced8;--bs-table-active-color:#000;--bs-table-hover-bg:#c4d4de;--bs-table-hover-color:#000;color:#000;border-color:#bfced8}.table-warning{--bs-table-bg:#fdf2df;--bs-table-striped-bg:#f0e6d4;--bs-table-striped-color:#000;--bs-table-active-bg:#e4dac9;--bs-table-active-color:#000;--bs-table-hover-bg:#eae0ce;--bs-table-hover-color:#000;color:#000;border-color:#e4dac9}.table-danger{--bs-table-bg:#f8d4d5;--bs-table-striped-bg:#ecc9ca;--bs-table-striped-color:#000;--bs-table-active-bg:#dfbfc0;--bs-table-active-color:#fff;--bs-table-hover-bg:#e5c4c5;--bs-table-hover-color:#000;color:#000;border-color:#dfbfc0}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem;font-weight:500}.col-form-label{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);margin-bottom:0;font-size:inherit;font-weight:500;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.5rem 1rem;font-size:.875rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;border-radius:.25rem;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#495057;background-color:#fff;border-color:#9aacf3;outline:0;box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(52,89,230,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem;color:#495057;background-color:#f8f9fa;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#ecedee}.form-control::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem;color:#495057;background-color:#f8f9fa;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#ecedee}.form-control-plaintext{display:block;width:100%;padding:.5rem 0;margin-bottom:0;line-height:1.5;color:#495057;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + (.5rem + 2px));padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + (1rem + 2px));padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + (1rem + 2px))}textarea.form-control-sm{min-height:calc(1.5em + (.5rem + 2px))}textarea.form-control-lg{min-height:calc(1.5em + (1rem + 2px))}.form-control-color{max-width:3rem;height:auto;padding:.5rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.5rem 3rem .5rem 1rem;-moz-padding-start:calc(1rem - 3px);font-size:.875rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.075);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#9aacf3;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 0 .25rem rgba(52,89,230,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:1rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);appearance:none;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#9aacf3;outline:0;box-shadow:0 0 0 .25rem rgba(52,89,230,.25)}.form-check-input:checked{background-color:#3459e6;border-color:#3459e6}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#3459e6;border-color:#3459e6;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%239aacf3'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(52,89,230,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(52,89,230,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#3459e6;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#c2cdf8}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.075)}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#3459e6;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#c2cdf8}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.075)}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem 1rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem 1rem}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#f8f9fa;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:4rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#2fb380}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(47,179,128,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#2fb380;padding-right:calc(1.5em + 1rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232fb380' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .25rem) center;background-size:calc(.75em + .5rem) calc(.75em + .5rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#2fb380;box-shadow:0 0 0 .25rem rgba(47,179,128,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 1rem);background-position:top calc(.375em + .25rem) right calc(.375em + .25rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#2fb380}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:5.5rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232fb380' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right 1rem center,center right 3rem;background-size:16px 12px,calc(.75em + .5rem) calc(.75em + .5rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#2fb380;box-shadow:0 0 0 .25rem rgba(47,179,128,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#2fb380}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#2fb380}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(47,179,128,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#2fb380}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#da292e}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(218,41,46,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#da292e;padding-right:calc(1.5em + 1rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23da292e'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23da292e' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .25rem) center;background-size:calc(.75em + .5rem) calc(.75em + .5rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#da292e;box-shadow:0 0 0 .25rem rgba(218,41,46,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 1rem);background-position:top calc(.375em + .25rem) right calc(.375em + .25rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#da292e}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:5.5rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23da292e'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23da292e' stroke='none'/%3e%3c/svg%3e");background-position:right 1rem center,center right 3rem;background-size:16px 12px,calc(.75em + .5rem) calc(.75em + .5rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#da292e;box-shadow:0 0 0 .25rem rgba(218,41,46,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#da292e}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#da292e}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(218,41,46,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#da292e}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:500;line-height:1.5;color:#495057;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.5rem 1rem;font-size:.875rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#495057}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 1px 2px rgba(0,0,0,.05)}.btn-check:active+.btn,.btn-check:checked+.btn,.btn.active,.btn:active{box-shadow:0 1px 2px rgba(0,0,0,.05)}.btn-check:active+.btn:focus,.btn-check:checked+.btn:focus,.btn.active:focus,.btn:active:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.05)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65;box-shadow:none}.btn-primary{color:#fff;background-color:#3459e6;border-color:#3459e6;box-shadow:0 1px 2px rgba(0,0,0,.05)}.btn-primary:hover{color:#fff;background-color:#2c4cc4;border-color:#2a47b8}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#2c4cc4;border-color:#2a47b8;box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(82,114,234,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#2a47b8;border-color:#2743ad}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(82,114,234,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#3459e6;border-color:#3459e6}.btn-secondary{color:#000;background-color:#fff;border-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05)}.btn-secondary:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#000;background-color:#fff;border-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(217,217,217,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#000;background-color:#fff;border-color:#fff}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(217,217,217,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#000;background-color:#fff;border-color:#fff}.btn-success{color:#fff;background-color:#2fb380;border-color:#2fb380;box-shadow:0 1px 2px rgba(0,0,0,.05)}.btn-success:hover{color:#fff;background-color:#28986d;border-color:#268f66}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#28986d;border-color:#268f66;box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(78,190,147,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#268f66;border-color:#238660}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(78,190,147,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#2fb380;border-color:#2fb380}.btn-info{color:#fff;background-color:#287bb5;border-color:#287bb5;box-shadow:0 1px 2px rgba(0,0,0,.05)}.btn-info:hover{color:#fff;background-color:#22699a;border-color:#206291}.btn-check:focus+.btn-info,.btn-info:focus{color:#fff;background-color:#22699a;border-color:#206291;box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(72,143,192,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#206291;border-color:#1e5c88}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(72,143,192,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#287bb5;border-color:#287bb5}.btn-warning{color:#fff;background-color:#f4bd61;border-color:#f4bd61;box-shadow:0 1px 2px rgba(0,0,0,.05)}.btn-warning:hover{color:#fff;background-color:#cfa152;border-color:#c3974e}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#fff;background-color:#cfa152;border-color:#c3974e;box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(246,199,121,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#c3974e;border-color:#b78e49}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(246,199,121,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#fff;background-color:#f4bd61;border-color:#f4bd61}.btn-danger{color:#fff;background-color:#da292e;border-color:#da292e;box-shadow:0 1px 2px rgba(0,0,0,.05)}.btn-danger:hover{color:#fff;background-color:#b92327;border-color:#ae2125}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#b92327;border-color:#ae2125;box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(224,73,77,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#ae2125;border-color:#a41f23}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(224,73,77,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#da292e;border-color:#da292e}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa;box-shadow:0 1px 2px rgba(0,0,0,.05)}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529;box-shadow:0 1px 2px rgba(0,0,0,.05)}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#3459e6;border-color:#3459e6}.btn-outline-primary:hover{color:#fff;background-color:#3459e6;border-color:#3459e6}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(52,89,230,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#3459e6;border-color:#3459e6}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(52,89,230,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#3459e6;background-color:transparent}.btn-outline-secondary{color:#fff;border-color:#fff}.btn-outline-secondary:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(255,255,255,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#000;background-color:#fff;border-color:#fff}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(255,255,255,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#fff;background-color:transparent}.btn-outline-success{color:#2fb380;border-color:#2fb380}.btn-outline-success:hover{color:#fff;background-color:#2fb380;border-color:#2fb380}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(47,179,128,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#2fb380;border-color:#2fb380}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(47,179,128,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#2fb380;background-color:transparent}.btn-outline-info{color:#287bb5;border-color:#287bb5}.btn-outline-info:hover{color:#fff;background-color:#287bb5;border-color:#287bb5}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(40,123,181,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#fff;background-color:#287bb5;border-color:#287bb5}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(40,123,181,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#287bb5;background-color:transparent}.btn-outline-warning{color:#f4bd61;border-color:#f4bd61}.btn-outline-warning:hover{color:#fff;background-color:#f4bd61;border-color:#f4bd61}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(244,189,97,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#fff;background-color:#f4bd61;border-color:#f4bd61}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(244,189,97,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f4bd61;background-color:transparent}.btn-outline-danger{color:#da292e;border-color:#da292e}.btn-outline-danger:hover{color:#fff;background-color:#da292e;border-color:#da292e}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(218,41,46,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#da292e;border-color:#da292e}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(218,41,46,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#da292e;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#3459e6;text-decoration:underline}.btn-link:hover{color:#2a47b8}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:.875rem;color:#495057;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #dee2e6;border-radius:.25rem;box-shadow:0 1px 2px rgba(0,0,0,.05)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.5rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#fff;background-color:#3459e6}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#3459e6}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.5rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:#dee2e6}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#3459e6}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:#e9ecef}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group.show .dropdown-toggle{box-shadow:0 1px 2px rgba(0,0,0,.05)}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#495057;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#495057}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:0;border-top-right-radius:0}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#3459e6;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#3459e6}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.85rem;padding-bottom:.85rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.75rem;padding-left:.75rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.75rem;padding-left:.75rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.75rem;padding-left:.75rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.75rem;padding-left:.75rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.75rem;padding-left:.75rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.75rem;padding-left:.75rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:#000}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:#000}.navbar-light .navbar-nav .nav-link{color:#000}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:#000}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:#000}.navbar-light .navbar-toggler{color:#000;border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23000' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#000}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:#000}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#fff}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#fff}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:#fff;border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#fff}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1.5rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.5rem}.card-header{padding:1rem 1.5rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:1rem 1.5rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.75rem;margin-bottom:-1rem;margin-left:-.75rem;border-bottom:0}.card-header-pills{margin-right:-.75rem;margin-left:-.75rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#495057;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#2f50cf;background-color:#ebeefd;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232f50cf'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23495057'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#9aacf3;outline:0;box-shadow:0 1px 2px rgba(0,0,0,.05)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 1rem;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, ">")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#495057;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#495057;background-color:#f8f9fa;border-color:#dee2e6}.page-link:focus{z-index:3;color:#495057;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(52,89,230,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#3459e6;border-color:#3459e6}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.5rem 1rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#1f358a;background-color:#d6defa;border-color:#c2cdf8}.alert-primary .alert-link{color:#192a6e}.alert-secondary{color:#999;background-color:#fff;border-color:#fff}.alert-secondary .alert-link{color:#7a7a7a}.alert-success{color:#1c6b4d;background-color:#d5f0e6;border-color:#c1e8d9}.alert-success .alert-link{color:#16563e}.alert-info{color:#184a6d;background-color:#d4e5f0;border-color:#bfd7e9}.alert-info .alert-link{color:#133b57}.alert-warning{color:#92713a;background-color:#fdf2df;border-color:#fcebd0}.alert-warning .alert-link{color:#755a2e}.alert-danger{color:#83191c;background-color:#f8d4d5;border-color:#f4bfc0}.alert-danger .alert-link{color:#691416}.alert-light{color:#959596;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#777778}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.075)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#3459e6;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#495057;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:1rem 1.5rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#3459e6;border-color:#3459e6}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#1f358a;background-color:#d6defa}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#1f358a;background-color:#c1c8e1}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#1f358a;border-color:#1f358a}.list-group-item-secondary{color:#999;background-color:#fff}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#999;background-color:#e6e6e6}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#999;border-color:#999}.list-group-item-success{color:#1c6b4d;background-color:#d5f0e6}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#1c6b4d;background-color:#c0d8cf}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#1c6b4d;border-color:#1c6b4d}.list-group-item-info{color:#184a6d;background-color:#d4e5f0}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#184a6d;background-color:#bfced8}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#184a6d;border-color:#184a6d}.list-group-item-warning{color:#92713a;background-color:#fdf2df}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#92713a;background-color:#e4dac9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#92713a;border-color:#92713a}.list-group-item-danger{color:#83191c;background-color:#f8d4d5}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#83191c;background-color:#dfbfc0}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#83191c;border-color:#83191c}.list-group-item-light{color:#959596;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#959596;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#959596;border-color:#959596}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(52,89,230,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.05);border-radius:.25rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#212529;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid #dee2e6;border-radius:.3rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:0 solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:0 solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-content{box-shadow:0 1px 2px rgba(0,0,0,.05)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;box-shadow:0 1px 2px rgba(0,0,0,.05)}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;color:#212529;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#495057}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1050;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid #dee2e6;transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid #dee2e6;transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid #dee2e6;transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid #dee2e6;transform:translateY(100%)}.offcanvas.show{transform:none}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#3459e6}.link-primary:focus,.link-primary:hover{color:#2a47b8}.link-secondary{color:#fff}.link-secondary:focus,.link-secondary:hover{color:#fff}.link-success{color:#2fb380}.link-success:focus,.link-success:hover{color:#268f66}.link-info{color:#287bb5}.link-info:focus,.link-info:hover{color:#206291}.link-warning{color:#f4bd61}.link-warning:focus,.link-warning:hover{color:#c3974e}.link-danger{color:#da292e}.link-danger:focus,.link-danger:hover{color:#ae2125}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 1px 2px rgba(0,0,0,.05)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#3459e6!important}.border-secondary{border-color:#fff!important}.border-success{border-color:#2fb380!important}.border-info{border-color:#287bb5!important}.border-warning{border-color:#f4bd61!important}.border-danger{border-color:#da292e!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{color:#3459e6!important}.text-secondary{color:#fff!important}.text-success{color:#2fb380!important}.text-info{color:#287bb5!important}.text-warning{color:#f4bd61!important}.text-danger{color:#da292e!important}.text-light{color:#f8f9fa!important}.text-dark{color:#212529!important}.text-white{color:#fff!important}.text-body{color:#495057!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.bg-primary{background-color:#3459e6!important}.bg-secondary{background-color:#fff!important}.bg-success{background-color:#2fb380!important}.bg-info{background-color:#287bb5!important}.bg-warning{background-color:#f4bd61!important}.bg-danger{background-color:#da292e!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#212529!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{user-select:all!important}.user-select-auto{user-select:auto!important}.user-select-none{user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}.navbar{font-size:.875rem;font-weight:500}.navbar .nav-item{margin-left:.5rem;margin-right:.5rem}.navbar .navbar-nav .nav-link{border-radius:.25rem}.navbar-dark .navbar-nav .nav-link:hover{background-color:rgba(255,255,255,.1)}.navbar-dark .navbar-nav .nav-link.active{background-color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:hover{background-color:rgba(0,0,0,.03)}.navbar-light .navbar-nav .nav-link.active{background-color:rgba(0,0,0,.05)}.btn-light,.btn-outline-light,.btn-outline-secondary,.btn-secondary{color:#212529}.btn-light.disabled,.btn-light:disabled,.btn-outline-light.disabled,.btn-outline-light:disabled,.btn-outline-secondary.disabled,.btn-outline-secondary:disabled,.btn-secondary.disabled,.btn-secondary:disabled{border:1px solid #e6e6e6}.btn-outline-secondary,.btn-secondary{border-color:#e6e6e6}.btn-outline-secondary:active,.btn-outline-secondary:hover,.btn-secondary:active,.btn-secondary:hover{background-color:#e6e6e6;border-color:#e6e6e6}.btn-light,.btn-outline-light{border-color:#dfe0e1}.btn-light:active,.btn-light:hover,.btn-outline-light:active,.btn-outline-light:hover{background-color:#dfe0e1;border-color:#dfe0e1}.table{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);font-size:.875rem}thead th{text-transform:uppercase;font-size:.875rem}.input-group-text{box-shadow:0 1px 2px rgba(0,0,0,.05)}.nav-tabs{font-weight:500}.nav-tabs .nav-link{padding-top:1rem;padding-bottom:1rem;border-width:0 0 1px}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{box-shadow:inset 0 -2px 0 #3459e6}.nav-pills{font-weight:500}.pagination{font-size:.875rem;font-weight:500}.pagination .page-link{box-shadow:0 1px 2px rgba(0,0,0,.05)}.breadcrumb{border:1px solid #dee2e6;border-radius:.25rem;box-shadow:0 1px 2px rgba(0,0,0,.05);font-size:.875rem;font-weight:500}.breadcrumb-item{padding:1rem .5rem 1rem 0}.breadcrumb-item+.breadcrumb-item::before{padding-right:1rem}.alert .btn-close{color:inherit}.badge.bg-light,.badge.bg-secondary{color:#212529}.list-group{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.card{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.card-title{color:inherit}.modal-footer{background-color:#f8f9fa}.modal-content{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)} -/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/app/css/bootstrap.min.css.map b/app/css/bootstrap.min.css.map deleted file mode 100644 index b6dc5b6..0000000 --- a/app/css/bootstrap.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../custom/bootstrap2.scss","../../scss/bootstrap.scss","../../custom/_bootswatch.scss","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../custom/_variables.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-variants.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_accordion.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/_offcanvas.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_ratio.scss","../../scss/helpers/_position.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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DqJqB,QCpJrB,aDoJqB,QClK3B,2BACE,MDiKyB,KChKzB,iBD+JsB,KC5JpB,wDAAA,wDAEE,MD2JqB,KC1JrB,iBAAA,QAGF,yDACE,M3CPG,K2CQH,iBDqJqB,KCpJrB,aDoJqB,KClK3B,yBACE,MDiKyB,QChKzB,iBD+JsB,QC5JpB,sDAAA,sDAEE,MD2JqB,QC1JrB,iBAAA,QAGF,uDACE,M3CPG,K2CQH,iBDqJqB,QCpJrB,aDoJqB,QClK3B,sBACE,MDiKyB,QChKzB,iBD+JsB,QC5JpB,mDAAA,mDAEE,MD2JqB,QC1JrB,iBAAA,QAGF,oDACE,M3CPG,K2CQH,iBDqJqB,QCpJrB,aDoJqB,QClK3B,yBACE,MDiKyB,QChKzB,iBD+JsB,QC5JpB,sDAAA,sDAEE,MD2JqB,QC1JrB,iBAAA,QAGF,uDACE,M3CPG,K2CQH,iBDqJqB,QCpJrB,aDoJqB,QClK3B,wBACE,MDiKyB,QChKzB,iBD+JsB,QC5JpB,qDAAA,qDAEE,MD2JqB,QC1JrB,iBAAA,QAGF,sDACE,M3CPG,K2CQH,iBDqJqB,QCpJrB,aDoJqB,QClK3B,uBACE,MDiKyB,QChKzB,iBD+JsB,QC5JpB,oDAAA,oDAEE,MD2JqB,QC1JrB,iBAAA,QAGF,qDACE,M3CPG,K2CQH,iBDqJqB,QCpJrB,aDoJqB,QClK3B,sBACE,MDiKyB,QChKzB,iBD+JsB,QC5JpB,mDAAA,mDAEE,MD2JqB,QC1JrB,iBAAA,QAGF,oDACE,M3CPG,K2CQH,iBDqJqB,QCpJrB,aDoJqB,QEjK7B,WACE,WAAA,YACA,M9C04C2B,I8Cz4C3B,O9Cy4C2B,I8Cx4C3B,QAAA,MAAA,MACA,M5CSS,K4CRT,WAAA,YAAA,0TAAA,MAAA,CAAA,IAAA,KAAA,UACA,OAAA,E3COE,cAAA,O2CLF,Q9C04C2B,G8Cv4C3B,iBACE,M5CCO,K4CAP,gBAAA,KACA,Q9Cq4CyB,I8Cl4C3B,iBACE,QAAA,EACA,W9C0jB4B,EAAA,EAAA,EAAA,OAAA,oB8CzjB5B,Q9Cg4CyB,E8C73C3B,oBAAA,oBAEE,eAAA,KACA,YAAA,KACA,Q9C03CyB,I8Ct3C7B,iBACE,O9Cs3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","sourcesContent":["/*!\n * Bootstrap v5.0.2 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n@import \"variables\";\n\n@import \"../scss/bootstrap\";\n@import \"bootswatch\";\n\n// scss-docs-end import-stack","/*!\n * Bootstrap v5.0.2 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"accordion\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"offcanvas\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n","// Zephyr 5.0.2\n// Bootswatch\n\n\n// Variables\n\n$web-font-path: \"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap\" !default;\n@if $web-font-path {\n @import url($web-font-path);\n}\n\n// Navbar\n\n.navbar {\n font-size: $font-size-sm;\n font-weight: 500;\n\n .nav-item {\n margin-left: .5rem;\n margin-right: .5rem;\n }\n\n .navbar-nav {\n .nav-link {\n border-radius: $border-radius;\n }\n }\n}\n\n.navbar-dark {\n .navbar-nav {\n .nav-link {\n &:hover {\n background-color: rgba(255, 255, 255, .1);\n }\n\n &.active {\n background-color: rgba(0, 0, 0, .5);\n }\n }\n }\n}\n\n.navbar-light {\n .navbar-nav {\n .nav-link {\n &:hover {\n background-color: rgba(0, 0, 0, .03);\n }\n\n &.active {\n background-color: rgba(0, 0, 0, .05);\n }\n }\n }\n}\n\n// Buttons\n\n.btn-secondary,\n.btn-light,\n.btn-outline-secondary,\n.btn-outline-light {\n color: $gray-900;\n\n &:disabled,\n &.disabled {\n border: 1px solid shade-color($secondary, 10%);\n }\n}\n\n.btn-secondary,\n.btn-outline-secondary {\n border-color: shade-color($secondary, 10%);\n\n &:hover,\n &:active {\n background-color: shade-color($secondary, 10%);\n border-color: shade-color($secondary, 10%);\n }\n}\n\n.btn-light,\n.btn-outline-light {\n border-color: shade-color($light, 10%);\n\n &:hover,\n &:active {\n background-color: shade-color($light, 10%);\n border-color: shade-color($light, 10%);\n }\n}\n\n// Tables\n\n.table {\n box-shadow: $box-shadow-lg;\n font-size: $font-size-sm;\n}\n\nthead th {\n text-transform: uppercase;\n font-size: $font-size-sm;\n}\n\n// Forms\n\n.input-group-text {\n box-shadow: $box-shadow;\n}\n\n// Navs\n\n.nav-tabs {\n font-weight: 500;\n\n .nav-link {\n padding-top: 1rem;\n padding-bottom: 1rem;\n border-width: 0 0 1px;\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n box-shadow: inset 0 -2px 0 $primary;\n }\n}\n\n.nav-pills {\n font-weight: 500;\n}\n\n.pagination {\n font-size: $font-size-sm;\n font-weight: 500;\n\n .page-link {\n box-shadow: $box-shadow;\n }\n}\n\n.breadcrumb {\n border: 1px solid $gray-300;\n border-radius: $border-radius;\n box-shadow: $box-shadow;\n font-size: $font-size-sm;\n font-weight: 500;\n\n &-item {\n padding: 1rem .5rem 1rem 0;\n }\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n padding-right: 1rem;\n}\n\n// Indicators\n\n.alert {\n .btn-close {\n color: inherit;\n }\n}\n\n.badge {\n &.bg-secondary,\n &.bg-light {\n color: $gray-900;\n }\n}\n\n// Containers\n\n.list-group {\n box-shadow: $box-shadow-lg;\n}\n\n.card {\n box-shadow: $box-shadow-lg;\n\n &-title {\n color: inherit;\n }\n}\n\n.modal-footer {\n background-color: $gray-100;\n}\n\n.modal-content {\n box-shadow: $box-shadow-lg;\n}\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-bs-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-bs-original-title] { // 1\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n direction: ltr #{\"/* rtl:ignore */\"};\n unicode-bidi: bidi-override;\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-` - ${chosenSVG} -

${innerHTML}
- `; - - document.getElementById(parentElemId)?.appendChild(htmlDiv); - - return htmlDiv; -} diff --git a/node/cli.js b/cli/cli.js similarity index 100% rename from node/cli.js rename to cli/cli.js diff --git a/node/detectPDFType.js b/cli/detectPDFType.js similarity index 100% rename from node/detectPDFType.js rename to cli/detectPDFType.js diff --git a/node/extract.js b/cli/extract.js similarity index 100% rename from node/extract.js rename to cli/extract.js diff --git a/node/main.js b/cli/main.js similarity index 100% rename from node/main.js rename to cli/main.js diff --git a/node/require.js b/cli/require.js similarity index 100% rename from node/require.js rename to cli/require.js diff --git a/node/scribe.js b/cli/scribe.js similarity index 100% rename from node/scribe.js rename to cli/scribe.js diff --git a/index.html b/index.html deleted file mode 100644 index 7ed03aa..0000000 --- a/index.html +++ /dev/null @@ -1,1641 +0,0 @@ - - - - - - - - - Scribe OCR - - - - - - - - - - - -
-
-
- -
- Image uploader - -
-

Drag & drop files inside dashed region
or

- - - - -

Need help? View the docs.

-
-
-
- -
- - - -
- - - - - - - -
- - - - - diff --git a/js/worker/optimizeFontModule.js b/js/worker/optimizeFontModule.js index fab083c..6078c8b 100644 --- a/js/worker/optimizeFontModule.js +++ b/js/worker/optimizeFontModule.js @@ -5,7 +5,14 @@ import opentype from '../../lib/opentype.module.js'; // Defining "window" is needed due to bad browser/node detection in Opentype.js // Can hopefully remove in future version if (typeof process === 'object') { - await import('../../node/require.js'); + // @ts-ignore + globalThis.self = globalThis; + // @ts-ignore + const { createRequire } = await import('module'); + globalThis.require = createRequire(import.meta.url); + const { fileURLToPath } = await import('url'); + const { dirname } = await import('path'); + globalThis.__dirname = dirname(fileURLToPath(import.meta.url)); } else if (globalThis.window === undefined) { globalThis.window = {}; } diff --git a/main.js b/main.js deleted file mode 100644 index 246c043..0000000 --- a/main.js +++ /dev/null @@ -1,1082 +0,0 @@ -/* eslint-disable import/no-cycle */ - -import { Collapse, Tooltip } from './app/lib/bootstrap.esm.bundle.min.js'; -import Konva from './app/lib/konva/index.js'; - -import { recognizeAllClick } from './app/interfaceRecognize.js'; - -import { handleDownloadGUI, setFormatLabel, updatePdfPagesLabel } from './app/interfaceDownload.js'; - -import { - enableDisableFontOpt, -} from './js/fontContainerMain.js'; - -import scribe from './module.js'; - -import { getAllFileEntries } from './app/utils/dragAndDrop.js'; -import { insertAlertMessage } from './app/utils/warningMessages.js'; - -import { selectDisplayMode, setWordColorOpacity } from './app/interfaceView.js'; - -import { - adjustBaseline, adjustBaselineRange, adjustBaselineRangeChange, - changeWordFontFamily, - changeWordFontSize, - deleteSelectedWords, - toggleEditButtons, -} from './app/interfaceEdit.js'; - -import { - renderLayoutBoxes, - revertLayoutClick, - setDefaultLayoutClick, - setLayoutBoxInclusionLevelClick, - setLayoutBoxInclusionRuleClick, - toggleSelectableWords, -} from './app/interfaceLayout.js'; - -import { - layerOverlay, - layerText, - renderPage, - ScribeCanvas, - stage, -} from './app/interfaceCanvas.js'; - -import { - downloadCanvas, - downloadCurrentImage, - evalSelectedLine, - printSelectedWords, - showDebugImages, -} from './app/interfaceDebug.js'; - -import { elem } from './app/elems.js'; -import { - getLayerCenter, setCanvasWidthHeightZoom, zoomAllLayers, -} from './app/interfaceCanvasInteraction.js'; -import { compareGroundTruthClick, createGroundTruthClick } from './app/interfaceEvaluate.js'; -import { optGUI, setDefaults } from './app/options.js'; -import { ProgressBars } from './app/utils/progressBars.js'; -import { showHideElem } from './app/utils/utils.js'; - -export class stateGUI { - static pageRendering = Promise.resolve(true); - - static renderIt = 0; - - static canvasDimsN = -1; - - /** @type {?Function} */ - static promiseResolve = null; - - static recognizeAllPromise = Promise.resolve(); - - static layoutMode = false; - - static cp = { - n: 0, - backgroundOpts: { stroke: '#3d3d3d', strokeWidth: 3 }, - renderStatus: 0, - renderNum: 0, - }; -} - -/** - * - * @param {ProgressMessage} message - */ -const progressHandler = (message) => { - if (message.type === 'convert') { - ProgressBars.active.increment(); - - const n = message.n; - const engineName = message.info.engineName; - // Display the page if either (1) this is the currently active OCR or (2) this is Tesseract Legacy and Tesseract LSTM is active, but does not exist yet. - // The latter condition occurs briefly whenever recognition is run in "Quality" mode. - const oemActive = Object.keys(scribe.data.ocr).find((key) => scribe.data.ocr[key] === scribe.data.ocr.active && key !== 'active'); - const displayOCR = engineName === oemActive || ['Tesseract Legacy', 'Tesseract LSTM'].includes(engineName) && oemActive === 'Tesseract Latest'; - - if (displayOCR && stateGUI.cp.n === n) displayPage(n, true); - } else if (message.type === 'export') { - ProgressBars.active.increment(); - } else if (message.type === 'importImage') { - ProgressBars.active.increment(); - if (stateGUI.cp.n === message.n) displayPage(message.n, true); - } else if (message.type === 'importPDF') { - ProgressBars.active.increment(); - if (stateGUI.cp.n === message.n) displayPage(message.n, true); - } else if (message.type === 'render') { - if (ProgressBars.active === ProgressBars.download) ProgressBars.active.increment(); - } -}; - -scribe.opt.progressHandler = progressHandler; - -scribe.opt.saveDebugImages = true; - -scribe.init({ font: true }); - -// Disable mouse wheel + control to zoom by the browser. -// The application supports zooming in on the canvas, -// however when the browser zooms it results in a blurry canvas, -// as the canvas is not drawn at the appropriate resolution. -window.addEventListener('wheel', (event) => { - if (event.ctrlKey) { - event.preventDefault(); - } -}, { passive: false }); - -elem.info.debugPrintWordsOCR.addEventListener('click', () => printSelectedWords(true)); -elem.info.debugPrintWordsCanvas.addEventListener('click', () => printSelectedWords(false)); - -elem.info.debugDownloadCanvas.addEventListener('click', downloadCanvas); -elem.info.debugDownloadImage.addEventListener('click', downloadCurrentImage); - -elem.info.debugEvalLine.addEventListener('click', evalSelectedLine); - -elem.info.omitNativeTextCheckbox.addEventListener('click', () => { - scribe.opt.omitNativeText = elem.info.omitNativeTextCheckbox.checked; -}); - -elem.info.extractTextCheckbox.addEventListener('click', () => { - scribe.opt.extractText = elem.info.extractTextCheckbox.checked; -}); - -elem.download.addOverlayCheckbox.addEventListener('click', () => { - scribe.opt.addOverlay = elem.download.addOverlayCheckbox.checked; -}); - -elem.download.standardizePageSize.addEventListener('click', () => { - scribe.opt.standardizePageSize = elem.download.standardizePageSize.checked; -}); - -elem.info.humanReadablePDF.addEventListener('click', () => { - scribe.opt.humanReadablePDF = elem.info.humanReadablePDF.checked; -}); - -elem.info.intermediatePDF.addEventListener('click', () => { - scribe.opt.intermediatePDF = elem.info.intermediatePDF.checked; -}); - -elem.view.displayMode.addEventListener('change', () => { - scribe.opt.displayMode = /** @type {"invis" | "ebook" | "eval" | "proof"} */(elem.view.displayMode.value); - if (elem.view.displayMode.value === 'eval') { - renderPageQueue(stateGUI.cp.n); - } else { - selectDisplayMode(scribe.opt.displayMode); - } -}); - -scribe.opt.warningHandler = (x) => insertAlertMessage(x, false); -scribe.opt.errorHandler = insertAlertMessage; - -// Opt-in to bootstrap tooltip feature -// https://getbootstrap.com/docs/5.0/components/tooltips/ -const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); -tooltipTriggerList.forEach((tooltipTriggerEl) => new Tooltip(tooltipTriggerEl)); - -const zone = /** @type {HTMLInputElement} */ (document.getElementById('uploadDropZone')); - -const openFileInputElem = /** @type {HTMLInputElement} */(document.getElementById('openFileInput')); -openFileInputElem.addEventListener('change', () => { - if (!openFileInputElem.files || openFileInputElem.files.length === 0) return; - - importFilesGUI(openFileInputElem.files); - // This should run after importFiles so if that function fails the dropzone is not removed - showHideElem(/** @type {HTMLElement} */ (zone.parentElement), false); -}); - -let highlightActiveCt = 0; -zone.addEventListener('dragover', (event) => { - event.preventDefault(); - zone.classList.add('highlight'); - highlightActiveCt++; -}); - -zone.addEventListener('dragleave', (event) => { - event.preventDefault(); - // Only remove the highlight after 0.1 seconds, and only if it has not since been re-activated. - // This avoids flickering. - const highlightActiveCtNow = highlightActiveCt; - setTimeout(() => { - if (highlightActiveCtNow === highlightActiveCt) { - zone.classList.remove('highlight'); - } - }, 100); -}); - -// This is where the drop is handled. -zone.addEventListener('drop', async (event) => { - // Prevent navigation. - event.preventDefault(); - - if (!event.dataTransfer) return; - const items = await getAllFileEntries(event.dataTransfer.items); - - const filesPromises = await Promise.allSettled(items.map((x) => new Promise((resolve, reject) => { - if (x instanceof File) { - resolve(x); - } else { - x.file(resolve, reject); - } - }))); - const files = filesPromises.map((x) => x.value); - - if (files.length === 0) return; - - zone.classList.remove('highlight'); - - importFilesGUI(files); - - // This should run after importFiles so if that function fails the dropzone is not removed - showHideElem(/** @type {HTMLElement} */ (zone.parentElement), false); -}); - -/** - * Fetches an array of URLs and runs `importFiles` on the results. - * Intended only to be used by automated testing and not by users. - * - * @param {Array} urls - */ -globalThis.fetchAndImportFiles = async (urls) => { - // Call the existing importFiles function with the file array - importFilesGUI(urls); - - zone.setAttribute('style', 'display:none'); -}; - -/** - * Maps from generic `KeyboardEvent` when user presses a key to the appropriate action. - * This function is responsible for all keyboard shortcuts. - * @param {KeyboardEvent} event - The key down event. - */ -function handleKeyboardEvent(event) { - // Zoom in shortcut - if (event.ctrlKey && ['+', '='].includes(event.key)) { - zoomAllLayers(1.1, getLayerCenter(layerText)); - layerText.batchDraw(); - event.preventDefault(); // Prevent the default action to avoid browser zoom - event.stopPropagation(); - return; - } - - // Zoom out shortcut - if (event.ctrlKey && ['-', '_'].includes(event.key)) { - zoomAllLayers(1.1, getLayerCenter(layerText)); - layerText.batchDraw(); - event.preventDefault(); // Prevent the default action to avoid browser zoom - event.stopPropagation(); - return; - } - - // Prev page shortcut - if (event.key === 'PageUp') { - displayPage(stateGUI.cp.n - 1); - event.preventDefault(); - return; - } - - // Next page shortcut - if (event.key === 'PageDown') { - displayPage(stateGUI.cp.n + 1); - event.preventDefault(); - return; - } -} - -// Add various keyboard shortcuts. -document.addEventListener('keydown', handleKeyboardEvent); - -// Add various event listners to HTML elements -elem.nav.next.addEventListener('click', () => displayPage(stateGUI.cp.n + 1)); -elem.nav.prev.addEventListener('click', () => displayPage(stateGUI.cp.n - 1)); - -elem.nav.zoomIn.addEventListener('click', () => { - zoomAllLayers(1.1, getLayerCenter(layerText)); -}); - -elem.nav.zoomOut.addEventListener('click', () => { - zoomAllLayers(0.9, getLayerCenter(layerText)); -}); - -elem.view.colorMode.addEventListener('change', () => { - scribe.opt.colorMode = /** @type {"color" | "gray" | "binary"} */ (elem.view.colorMode.value); - renderPageQueue(stateGUI.cp.n); -}); - -elem.view.overlayOpacity.addEventListener('input', () => { - scribe.opt.overlayOpacity = parseInt(elem.view.overlayOpacity.value); - setWordColorOpacity(); - layerText.batchDraw(); -}); - -elem.recognize.enableUpscale.addEventListener('click', () => { - scribe.opt.enableUpscale = elem.recognize.enableUpscale.checked; -}); - -const showDebugVisElem = /** @type {HTMLInputElement} */(document.getElementById('showDebugVis')); -showDebugVisElem.addEventListener('change', () => { - scribe.opt.debugVis = showDebugVisElem.checked; - renderPageQueue(stateGUI.cp.n); -}); - -elem.info.showDebugLegend.addEventListener('change', () => { renderPageQueue(stateGUI.cp.n); }); - -elem.info.showDebugLegend.addEventListener('input', () => { - const legendCanvasParentDivElem = /** @type {HTMLDivElement} */(document.getElementById('legendCanvasParentDiv')); - if (!elem.info.showDebugLegend.checked) { - showHideElem(legendCanvasParentDivElem, false); - } else { - showHideElem(legendCanvasParentDivElem, true); - } - if (scribe.data.pageMetrics[stateGUI.cp.n]?.dims) setCanvasWidthHeightZoom(scribe.data.pageMetrics[stateGUI.cp.n].dims, false); -}); - -elem.info.selectDebugVis.addEventListener('change', () => { renderPageQueue(stateGUI.cp.n); }); - -elem.evaluate.createGroundTruth.addEventListener('click', createGroundTruthClick); - -const enableRecognitionElem = /** @type {HTMLInputElement} */(document.getElementById('enableRecognition')); - -const enableAdvancedRecognitionElem = /** @type {HTMLInputElement} */(document.getElementById('enableAdvancedRecognition')); - -const enableEvalElem = /** @type {HTMLInputElement} */(document.getElementById('enableEval')); - -enableEvalElem.addEventListener('click', () => showHideElem(/** @type {HTMLDivElement} */(document.getElementById('nav-eval-tab')), enableEvalElem.checked)); - -enableAdvancedRecognitionElem.addEventListener('click', () => { - const advancedRecognitionOptions1Elem = /** @type {HTMLDivElement} */(document.getElementById('advancedRecognitionOptions1')); - const advancedRecognitionOptions2Elem = /** @type {HTMLDivElement} */(document.getElementById('advancedRecognitionOptions2')); - const advancedRecognitionOptions3Elem = /** @type {HTMLDivElement} */(document.getElementById('advancedRecognitionOptions3')); - const basicRecognitionOptionsElem = /** @type {HTMLDivElement} */(document.getElementById('basicRecognitionOptions')); - showHideElem(advancedRecognitionOptions1Elem, enableAdvancedRecognitionElem.checked); - showHideElem(advancedRecognitionOptions2Elem, enableAdvancedRecognitionElem.checked); - showHideElem(advancedRecognitionOptions3Elem, enableAdvancedRecognitionElem.checked); - showHideElem(basicRecognitionOptionsElem, !enableAdvancedRecognitionElem.checked); -}); - -export const enableRecognitionClick = () => showHideElem(/** @type {HTMLDivElement} */(document.getElementById('nav-recognize-tab')), enableRecognitionElem.checked); - -enableRecognitionElem.addEventListener('click', enableRecognitionClick); - -elem.info.enableLayout.addEventListener('click', () => { - scribe.opt.enableLayout = elem.info.enableLayout.checked; - showHideElem(/** @type {HTMLDivElement} */(document.getElementById('nav-layout-tab')), elem.info.enableLayout.checked); -}); - -export const enableXlsxExportClick = () => { - // Adding layouts is required for xlsx exports - if (!elem.info.enableLayout.checked) elem.info.enableLayout.click(); - - showHideElem(elem.download.formatLabelOptionXlsx, elem.info.enableXlsxExport.checked); - showHideElem(elem.info.dataTableOptions, elem.info.enableXlsxExport.checked); -}; - -elem.info.enableXlsxExport.addEventListener('click', enableXlsxExportClick); - -const uploadOCRNameElem = /** @type {HTMLInputElement} */(document.getElementById('uploadOCRName')); -const uploadOCRFileElem = /** @type {HTMLInputElement} */(document.getElementById('uploadOCRFile')); - -elem.evaluate.uploadOCRButton.addEventListener('click', importFilesSuppGUI); - -// const uploadOCRLabelElem = /** @type {HTMLInputElement} */(document.getElementById('uploadOCRLabel')); -const uploadOCRDataElem = /** @type {HTMLInputElement} */(document.getElementById('uploadOCRData')); - -uploadOCRDataElem.addEventListener('show.bs.collapse', () => { - if (!uploadOCRNameElem.value) { - uploadOCRNameElem.value = `OCR Data ${elem.evaluate.displayLabelOptions.childElementCount + 1}`; - } -}); - -elem.edit.fontMinus.addEventListener('click', () => { changeWordFontSize('minus'); }); -elem.edit.fontPlus.addEventListener('click', () => { changeWordFontSize('plus'); }); -elem.edit.fontSize.addEventListener('change', () => { changeWordFontSize(elem.edit.fontSize.value); }); -elem.edit.wordFont.addEventListener('change', () => { changeWordFontFamily(elem.edit.wordFont.value); }); - -// document.getElementById('editBoundingBox').addEventListener('click', toggleBoundingBoxesSelectedWords); -document.getElementById('editBaseline')?.addEventListener('click', adjustBaseline); - -const rangeBaselineElem = /** @type {HTMLInputElement} */(document.getElementById('rangeBaseline')); -rangeBaselineElem.addEventListener('input', () => { adjustBaselineRange(rangeBaselineElem.value); }); -rangeBaselineElem.addEventListener('mouseup', () => { adjustBaselineRangeChange(rangeBaselineElem.value); }); - -elem.edit.deleteWord.addEventListener('click', deleteSelectedWords); - -elem.edit.addWord.addEventListener('click', () => (ScribeCanvas.mode = 'addWord')); - -elem.view.optimizeFont.addEventListener('click', () => { - // This button does nothing if the debug option optimizeFontDebugElem is enabled. - // This approach is used rather than disabling the button, as `optimizeFontElem.disabled` is checked in other functions - // to determine whether font optimization is enabled. - if (optimizeFontDebugElem.checked) return; - optimizeFontClick(elem.view.optimizeFont.checked); -}); - -const optimizeFontDebugElem = /** @type {HTMLInputElement} */(document.getElementById('optimizeFontDebug')); -optimizeFontDebugElem.addEventListener('click', () => { - if (optimizeFontDebugElem.checked) { - optimizeFontClick(true, true); - } else { - optimizeFontClick(elem.view.optimizeFont.checked); - } -}); - -elem.info.confThreshHigh.addEventListener('change', () => { - scribe.opt.confThreshHigh = parseInt(elem.info.confThreshHigh.value); - renderPageQueue(stateGUI.cp.n); -}); -elem.info.confThreshMed.addEventListener('change', () => { - scribe.opt.confThreshMed = parseInt(elem.info.confThreshMed.value); - renderPageQueue(stateGUI.cp.n); -}); - -elem.view.autoRotate.addEventListener('click', () => { - scribe.opt.autoRotate = elem.view.autoRotate.checked; - renderPageQueue(stateGUI.cp.n); -}); - -elem.view.outlineWords.addEventListener('click', () => { renderPageQueue(stateGUI.cp.n); }); -elem.view.outlineLines.addEventListener('click', () => { renderPageQueue(stateGUI.cp.n); }); -elem.view.outlinePars.addEventListener('click', () => { renderPageQueue(stateGUI.cp.n); }); - -elem.evaluate.displayLabelOptions.addEventListener('click', (e) => { - // The elements this event are intended for are the individual elements of the list (not `displayLabelOptionsElem`), - // which do not exist yet at this point in the code. - // @ts-ignore - if (e.target.className !== 'dropdown-item') return; - // @ts-ignore - setCurrentHOCR(e.target.innerHTML); -}); - -elem.download.download.addEventListener('click', handleDownloadGUI); -elem.download.pdfPagesLabel.addEventListener('click', updatePdfPagesLabel); - -elem.download.formatLabelOptionPDF.addEventListener('click', () => { setFormatLabel('pdf'); }); -elem.download.formatLabelOptionHOCR.addEventListener('click', () => { setFormatLabel('hocr'); }); -elem.download.formatLabelOptionText.addEventListener('click', () => { setFormatLabel('text'); }); -elem.download.formatLabelOptionDocx.addEventListener('click', () => { setFormatLabel('docx'); }); -elem.download.formatLabelOptionXlsx.addEventListener('click', () => { setFormatLabel('xlsx'); }); - -const showConflictsElem = /** @type {HTMLInputElement} */(document.getElementById('showConflicts')); -showConflictsElem.addEventListener('input', () => { - if (showConflictsElem.checked) showDebugImages(); - setCanvasWidthHeightZoom(scribe.data.pageMetrics[stateGUI.cp.n].dims, showConflictsElem.checked); -}); - -elem.recognize.recognizeAll.addEventListener('click', () => { - stateGUI.recognizeAllPromise = recognizeAllClick(); -}); - -elem.edit.recognizeArea.addEventListener('click', () => (ScribeCanvas.mode = 'recognizeArea')); -const recognizeWordElem = /** @type {HTMLInputElement} */(document.getElementById('recognizeWord')); -recognizeWordElem.addEventListener('click', () => (ScribeCanvas.mode = 'recognizeWord')); - -const debugPrintCoordsElem = /** @type {HTMLInputElement} */(document.getElementById('debugPrintCoords')); -debugPrintCoordsElem.addEventListener('click', () => (ScribeCanvas.mode = 'printCoords')); - -const layoutBoxTypeElem = /** @type {HTMLElement} */ (document.getElementById('layoutBoxType')); - -elem.layout.addLayoutBox.addEventListener('click', () => { - ScribeCanvas.mode = { Order: 'addLayoutBoxOrder', Exclude: 'addLayoutBoxExclude', Column: 'addLayoutBoxDataTable' }[layoutBoxTypeElem.textContent]; -}); -elem.layout.addLayoutBoxTypeOrder.addEventListener('click', () => (ScribeCanvas.mode = 'addLayoutBoxOrder')); -elem.layout.addLayoutBoxTypeExclude.addEventListener('click', () => (ScribeCanvas.mode = 'addLayoutBoxExclude')); -elem.layout.addDataTable.addEventListener('click', () => (ScribeCanvas.mode = 'addLayoutBoxDataTable')); - -elem.layout.setDefaultLayout.addEventListener('click', () => setDefaultLayoutClick()); - -elem.layout.revertLayout.addEventListener('click', () => revertLayoutClick()); - -elem.layout.setLayoutBoxInclusionRuleMajority.addEventListener('click', () => setLayoutBoxInclusionRuleClick('majority')); -elem.layout.setLayoutBoxInclusionRuleLeft.addEventListener('click', () => setLayoutBoxInclusionRuleClick('left')); - -elem.layout.setLayoutBoxInclusionLevelWord.addEventListener('click', () => setLayoutBoxInclusionLevelClick('word')); -elem.layout.setLayoutBoxInclusionLevelLine.addEventListener('click', () => setLayoutBoxInclusionLevelClick('line')); - -elem.evaluate.ignorePunct.addEventListener('change', () => { - scribe.opt.ignorePunct = elem.evaluate.ignorePunct.checked; - renderPageQueue(stateGUI.cp.n); -}); - -elem.evaluate.ignoreCap.addEventListener('change', () => { - scribe.opt.ignoreCap = elem.evaluate.ignoreCap.checked; - renderPageQueue(stateGUI.cp.n); -}); - -elem.evaluate.ignoreExtra.addEventListener('change', () => { - scribe.opt.ignoreExtra = elem.evaluate.ignoreExtra.checked; - renderPageQueue(stateGUI.cp.n); -}); - -elem.download.pdfPageMin.addEventListener('keyup', (event) => { - if (event.keyCode === 13) { - updatePdfPagesLabel(); - } -}); - -elem.download.pdfPageMax.addEventListener('keyup', (event) => { - if (event.keyCode === 13) { - updatePdfPagesLabel(); - } -}); - -elem.nav.pageNum.addEventListener('keyup', (event) => { - if (event.keyCode === 13) { - displayPage(parseInt(elem.nav.pageNum.value) - 1); - } -}); - -elem.download.xlsxFilenameColumn.addEventListener('click', () => { - scribe.opt.xlsxFilenameColumn = elem.download.xlsxFilenameColumn.checked; -}); - -elem.download.xlsxPageNumberColumn.addEventListener('click', () => { - scribe.opt.xlsxPageNumberColumn = elem.download.xlsxPageNumberColumn.checked; -}); - -// TODO: Make one of these swtiches impact the other, so that they can be tied to a single option in `opt`. - -/** - * @param {boolean} value - */ -const toggleReflow = (value) => { - scribe.opt.reflow = value; - // Keep the two reflow checkboxes in sync - elem.download.reflowCheckbox.checked = value; - elem.download.docxReflowCheckbox.checked = value; - // If "Reflow Text" is turned off, then pages will automatically have line breaks between them - if (value) { - // elem.download.pageBreaksCheckbox.disabled = false; - // elem.download.docxPageBreaksCheckbox.disabled = false; - } else { - // elem.download.pageBreaksCheckbox.disabled = true; - // elem.download.pageBreaksCheckbox.checked = true; - // elem.download.docxPageBreaksCheckbox.disabled = true; - // elem.download.docxPageBreaksCheckbox.checked = true; - } -}; - -elem.download.reflowCheckbox.addEventListener('click', () => { - toggleReflow(elem.download.reflowCheckbox.checked); -}); - -elem.download.docxReflowCheckbox.addEventListener('click', () => { - toggleReflow(elem.download.docxReflowCheckbox.checked); -}); - -elem.nav.prevMatch.addEventListener('click', () => prevMatchClick()); -elem.nav.nextMatch.addEventListener('click', () => nextMatchClick()); - -export function toggleLayoutButtons(disable = true) { - elem.layout.addLayoutBox.disabled = disable; - elem.layout.setDefaultLayout.disabled = disable; - elem.layout.revertLayout.disabled = disable; -} - -export function toggleEditConfUI(disable = true) { - // Enable confidence threshold input boxes (only used for Tesseract) - elem.info.confThreshHigh.disabled = disable; - elem.info.confThreshMed.disabled = disable; - - // Set threshold values if not already set - elem.info.confThreshHigh.value = elem.info.confThreshHigh.value || '85'; - elem.info.confThreshMed.value = elem.info.confThreshMed.value || '75'; -} - -export function toggleRecognizeUI(disable = true) { - elem.recognize.recognizeAll.disabled = disable; - elem.edit.recognizeArea.disabled = disable; - elem.evaluate.createGroundTruth.disabled = disable; - elem.evaluate.uploadOCRButton.disabled = disable; -} - -export const addColorModeUI = () => { - // Color vs. grayscale is an option passed to mupdf, so can only be used with pdf inputs - // Binary images are calculated separately by Leptonica (within Tesseract) so apply to both - const colorModeOptions = elem.view.colorMode.children; - while (colorModeOptions.length > 0) { - colorModeOptions[0].remove(); - } - if (scribe.inputData.imageMode) { - const option = document.createElement('option'); - option.text = 'Native'; - option.value = 'color'; - option.selected = true; - elem.view.colorMode.add(option); - } else { - let option = document.createElement('option'); - option.text = 'Color'; - option.value = 'color'; - elem.view.colorMode.add(option); - option = document.createElement('option'); - option.text = 'Grayscale'; - option.value = 'gray'; - option.selected = true; - elem.view.colorMode.add(option); - } - const option = document.createElement('option'); - option.text = 'Binary'; - option.value = 'binary'; - elem.view.colorMode.add(option); -}; - -elem.recognize.combineMode.addEventListener('change', () => { - optGUI.combineMode = /** @type {"data" | "conf"}* */(elem.recognize.combineMode.value); -}); - -ProgressBars.active = ProgressBars.import; - -const importFilesGUI = async (files) => { - ProgressBars.active = ProgressBars.import; - ProgressBars.active.show(files.length, 0); - - await scribe.importFiles(files); - - displayPage(stateGUI.cp.n, true); - - // Start loading Tesseract if it was not already loaded. - // Tesseract is not loaded on startup, however if the user uploads data, they presumably want to run something that requires Tesseract. - const ocrParams = { anyOk: true, vanillaMode: optGUI.vanillaMode, langs: optGUI.langs }; - scribe.init({ ocr: true, ocrParams }); - - elem.nav.pageNum.value = '1'; - elem.nav.pageCount.textContent = String(scribe.inputData.pageCount); - - // Allow for downloads. - elem.download.downloadFileName.value = scribe.inputData.defaultDownloadFileName; - elem.download.download.disabled = false; - - if (scribe.inputData.imageMode || scribe.inputData.pdfMode) { - toggleRecognizeUI(false); - addColorModeUI(); - - // For PDF inputs, enable "Add Text to Import PDF" option - if (scribe.inputData.pdfMode) { - elem.download.addOverlayCheckbox.checked = true; - elem.download.addOverlayCheckbox.disabled = false; - } else { - elem.download.addOverlayCheckbox.checked = false; - elem.download.addOverlayCheckbox.disabled = true; - } - } - if (scribe.inputData.xmlMode[0] || scribe.inputData.extractTextMode) { - elem.recognize.combineModeOptions.setAttribute('style', ''); - const oemName = 'User Upload'; - elem.evaluate.displayLabelText.innerHTML = oemName; - - toggleEditButtons(false); - toggleLayoutButtons(false); - } - - if (scribe.opt.enableOpt) { - elem.view.optimizeFont.disabled = false; - elem.view.optimizeFont.checked = true; - } - - ProgressBars.active.fill(); -}; - -// Import supplemental OCR files (from "Evaluate Accuracy" UI tab) -async function importFilesSuppGUI() { - // TODO: Add input validation for names (e.g. unique, no illegal symbols, not named "Ground Truth" or other reserved name) - const ocrName = uploadOCRNameElem.value; - - if (!uploadOCRFileElem.files || uploadOCRFileElem.files.length === 0) return; - - ProgressBars.active = ProgressBars.eval; - ProgressBars.active.show(uploadOCRFileElem.files.length, 0); - - await scribe.importFilesSupp(uploadOCRFileElem.files, ocrName); - - elem.evaluate.displayLabelText.disabled = true; - - toggleEditButtons(false); - - uploadOCRNameElem.value = ''; - uploadOCRFileElem.value = ''; - // eslint-disable-next-line no-new - new Collapse(uploadOCRDataElem, { toggle: true }); - - updateOcrVersionGUI(); - - setCurrentHOCR(ocrName); - elem.evaluate.displayLabelText.disabled = true; - - ProgressBars.active.fill(); -} - -function prevMatchClick() { - if (stateGUI.cp.n === 0) return; - const lastPage = search.matches.slice(0, stateGUI.cp.n)?.findLastIndex((x) => x > 0); - if (lastPage > -1) displayPage(lastPage); -} - -function nextMatchClick() { - const nextPageOffset = search.matches.slice(stateGUI.cp.n + 1)?.findIndex((x) => x > 0); - if (nextPageOffset > -1) displayPage(stateGUI.cp.n + nextPageOffset + 1); -} - -const editFindElem = /** @type {HTMLInputElement} */(document.getElementById('editFind')); -editFindElem.addEventListener('keyup', (event) => { - if (event.keyCode === 13) { - const val = editFindElem.value.trim(); - findTextClick(val); - } -}); - -function findTextClick(text) { - search.search = text.trim(); - // Start by highlighting the matches in the current page - highlightcp(text); - if (search.search) { - // TODO: If extractTextAll takes any non-trivial amount of time to run, - // this should use a promise so it cannot be run twice if the user presses enter twice. - if (!search.init) { - extractTextAll(); - search.init = true; - } - findAllMatches(search.search); - } else { - search.matches = []; - search.total = 0; - } - - elem.nav.matchCurrent.textContent = calcMatchNumber(stateGUI.cp.n); - elem.nav.matchCount.textContent = String(search.total); -} - -/** - * @typedef find - * @type {object} - * @property {string[]} text - Array with text contents of each page - * @property {string} search - Search string - * @property {number[]} matches - Array with number of matches on each page - * @property {boolean} init - Whether find object has been initiated - * @property {number} total - Total number of matches - - */ -/** @type {find} */ -export const search = { - text: [], - search: '', - matches: [], - init: false, - total: 0, -}; - -// Highlight words that include substring in the current page -function highlightcp(text) { - const matchIdArr = scribe.utils.ocr.getMatchingWordIds(text, scribe.data.ocr.active[stateGUI.cp.n]); - - ScribeCanvas.getKonvaWords().forEach((wordObj) => { - if (matchIdArr.includes(wordObj.word.id)) { - wordObj.fillBox = true; - } else { - wordObj.fillBox = false; - } - }); - - layerText.batchDraw(); -} - -function findAllMatches(text) { - let total = 0; - const matches = []; - const maxValue = search.text.length; - for (let i = 0; i < maxValue; i++) { - const n = scribe.utils.countSubstringOccurrences(search.text[i], text); - matches[i] = n; - total += n; - } - search.matches = matches; - search.total = total; -} - -// Updates data used for "Find" feature on current page -// Should be called after any edits are made, before moving to a different page -function updateFindStats() { - if (!scribe.data.ocr.active[stateGUI.cp.n]) { - search.text[stateGUI.cp.n] = ''; - return; - } - - // Re-extract text from XML - search.text[stateGUI.cp.n] = scribe.utils.ocr.getPageText(scribe.data.ocr.active[stateGUI.cp.n]); - - if (search.search) { - // Count matches in current page - search.matches[stateGUI.cp.n] = scribe.utils.countSubstringOccurrences(search.text[stateGUI.cp.n], search.search); - // Calculate total number of matches - search.total = search.matches.reduce((partialSum, a) => partialSum + a, 0); - - elem.nav.matchCurrent.textContent = calcMatchNumber(stateGUI.cp.n); - elem.nav.matchCount.textContent = String(search.total); - } -} - -// Extract text from XML for every page -// We do this once (and then perform incremental updates) to avoid having to parse XML -// with every search. -function extractTextAll() { - const maxValue = scribe.data.ocr.active.length; - - for (let g = 0; g < maxValue; g++) { - search.text[g] = scribe.utils.ocr.getPageText(scribe.data.ocr.active[g]); - } -} - -// Returns string showing index of match(es) found on current page. -function calcMatchNumber(n) { - const matchN = search.matches?.[n]; - if (!matchN) { - return '-'; - } - // Sum of matches on all previous pages - const matchPrev = search.matches.slice(0, n).reduce((a, b) => a + b, 0); - - if (matchN === 1) { - return String(matchPrev + 1); - } - return `${String(matchPrev + 1)}-${String(matchPrev + 1 + (matchN - 1))}`; -} - -export function setCurrentHOCR(x) { - const currentLabel = elem.evaluate.displayLabelText.innerHTML.trim(); - if (!x.trim() || x === currentLabel) return; - - scribe.data.ocr.active = scribe.data.ocr[x]; - elem.evaluate.displayLabelText.innerHTML = x; - - renderPageQueue(stateGUI.cp.n); -} - -/** - * Update the GUI dropdown menu with the latest OCR versions. - */ -export const updateOcrVersionGUI = () => { - // Skip versions that are already in the dropdown, or are only used under the hood. - const labelElems = elem.evaluate.displayLabelOptions.children; - const versionsSkip = []; - for (let i = 0; i < labelElems.length; i++) { - versionsSkip.push(labelElems[i].innerHTML); - } - versionsSkip.push('Tesseract Latest'); - versionsSkip.push('Tesseract Combined Temp'); - versionsSkip.push('active'); - - const ocrVersionsNew = Object.keys(scribe.data.ocr).filter((x) => !versionsSkip.includes(x)); - - ocrVersionsNew.forEach((label) => { - const option = document.createElement('a'); - option.setAttribute('class', 'dropdown-item'); - option.text = label; - elem.evaluate.displayLabelOptions.appendChild(option); - }); - - const oemActive = Object.keys(scribe.data.ocr).find((key) => scribe.data.ocr[key] === scribe.data.ocr.active && key !== 'active'); - elem.evaluate.displayLabelText.innerHTML = oemActive; -}; - -// Users may select an edit action (e.g. "Add Word", "Recognize Word", etc.) but then never follow through. -// This function cleans up any changes/event listners caused by the initial click in such cases. -const navBarElem = /** @type {HTMLDivElement} */(document.getElementById('navBar')); -navBarElem.addEventListener('click', (e) => { - ScribeCanvas.mode = 'select'; -}, true); - -// Various operations display loading bars, which are removed from the screen when both: -// (1) the user closes the tab and (2) the loading bar is full. -const navRecognizeElem = /** @type {HTMLDivElement} */(document.getElementById('nav-recognize')); -navRecognizeElem.addEventListener('hidden.bs.collapse', (e) => { - if (e.target instanceof HTMLElement && e.target.id === 'nav-recognize') { - ProgressBars.eval.hide(); - ProgressBars.recognize.hide(); - } -}); - -elem.download.download.addEventListener('hidden.bs.collapse', (e) => { - if (e.target instanceof HTMLElement && e.target.id === 'nav-download') { - ProgressBars.download.hide(); - } -}); - -const navLayoutElem = /** @type {HTMLDivElement} */(document.getElementById('nav-layout')); -navLayoutElem.addEventListener('show.bs.collapse', (e) => { - if (e.target instanceof HTMLElement && e.target.id === 'nav-layout') { - stateGUI.layoutMode = true; - // Generally we handle drawing manually, however `autoDrawEnabled` is needed for the user to drag layout boxes. - Konva.autoDrawEnabled = true; - if (!scribe.data.layoutRegions.pages[stateGUI.cp.n]) return; - - // Auto-rotate is always enabled for layout mode, so re-render the page if it is not already rotated. - if (!scribe.opt.autoRotate) { - renderPageQueue(stateGUI.cp.n); - } else { - toggleSelectableWords(false); - ScribeCanvas.destroyControls(); - renderLayoutBoxes(); - } - } -}); - -navLayoutElem.addEventListener('hide.bs.collapse', (e) => { - if (e.target instanceof HTMLElement && e.target.id === 'nav-layout') { - stateGUI.layoutMode = false; - Konva.autoDrawEnabled = false; - - // Auto-rotate is always enabled for layout mode, so re-render the page if it is not already rotated. - if (!scribe.opt.autoRotate) { - renderPageQueue(stateGUI.cp.n); - } else { - toggleSelectableWords(true); - ScribeCanvas.destroyRegions(); - ScribeCanvas.destroyLayoutDataTables(); - ScribeCanvas.destroyControls(); - setWordColorOpacity(); - layerOverlay.batchDraw(); - layerText.batchDraw(); - } - } -}); - -// Resets the environment. -async function clearFiles() { - scribe.clear(); - clearUI(); -} - -async function clearUI() { - stateGUI.cp.n = 0; - - stage.clear(); - elem.nav.pageCount.textContent = ''; - elem.nav.pageNum.value = ''; - elem.download.downloadFileName.value = ''; - elem.view.optimizeFont.checked = false; - elem.view.optimizeFont.disabled = true; - elem.download.download.disabled = true; - elem.download.addOverlayCheckbox.disabled = true; - toggleEditConfUI(true); - toggleRecognizeUI(true); - - elem.evaluate.uploadOCRButton.disabled = true; - toggleLayoutButtons(true); - toggleEditButtons(true); -} - -clearFiles(); - -// Function that handles page-level info for rendering to canvas and pdf -export async function renderPageQueue(n) { - let ocrData = scribe.data.ocr.active?.[n]; - - // Return early if there is not enough data to render a page yet - // (0) Necessary info is not defined yet - const noInfo = scribe.inputData.xmlMode[n] === undefined; - // (1) No data has been imported - const noInput = !scribe.inputData.xmlMode[n] && !(scribe.inputData.imageMode || scribe.inputData.pdfMode); - // (2) XML data should exist but does not (yet) - const xmlMissing = scribe.inputData.xmlMode[n] - && (ocrData === undefined || ocrData === null || scribe.data.pageMetrics[n].dims === undefined); - - const imageMissing = false; - const pdfMissing = false; - - if (noInfo || noInput || xmlMissing || imageMissing || pdfMissing) { - console.log('Exiting renderPageQueue early'); - return; - } - - const renderItI = stateGUI.renderIt + 1; - stateGUI.renderIt = renderItI; - - // If a page is already being rendered, wait for it to complete - await stateGUI.pageRendering; - // If another page has been requested already, return early - if (stateGUI.renderIt !== renderItI) return; - - stateGUI.pageRendering = new Promise((resolve, reject) => { - stateGUI.promiseResolve = resolve; - }); - - if (scribe.inputData.evalMode) { - await compareGroundTruthClick(n); - // ocrData must be re-assigned after comparing to ground truth or it will not update. - ocrData = scribe.data.ocr.active?.[n]; - } - - ScribeCanvas.destroyWords(); - - // These are all quick fixes for issues that occur when multiple calls to this function happen quickly - // (whether by quickly changing pages or on the same page). - // TODO: Find a better solution. - stateGUI.cp.renderNum += 1; - const renderNum = stateGUI.cp.renderNum; - - // The active OCR version may have changed, so this needs to be re-checked. - if (stateGUI.cp.n === n && scribe.inputData.xmlMode[n]) { - renderPage(ocrData); - if (stateGUI.cp.n === n && stateGUI.cp.renderNum === renderNum) { - await selectDisplayMode(scribe.opt.displayMode); - } - } else { - await selectDisplayMode(scribe.opt.displayMode); - } - - // @ts-ignore - stateGUI.promiseResolve(); -} - -let working = false; - -/** - * Render page `n` in the UI. - * @param {number} n - * @param {boolean} [force=false] - Render even if another page is actively being rendered. - * @returns - */ -export async function displayPage(n, force = false) { - // Return early if (1) page does not exist or (2) another page is actively being rendered. - if (Number.isNaN(n) || n < 0 || n > (scribe.inputData.pageCount - 1) || (working && !force)) { - // Reset the value of pageNumElem (number in UI) to match the internal value of the page - elem.nav.pageNum.value = (stateGUI.cp.n + 1).toString(); - return; - } - - working = true; - - if (scribe.inputData.xmlMode[stateGUI.cp.n]) { - // TODO: This is currently run whenever the page is changed. - // If this adds any meaningful overhead, we should only have stats updated when edits are actually made. - updateFindStats(); - } - - elem.nav.matchCurrent.textContent = calcMatchNumber(n); - - stateGUI.cp.n = n; - elem.nav.pageNum.value = (stateGUI.cp.n + 1).toString(); - - await renderPageQueue(stateGUI.cp.n); - - if (showConflictsElem.checked) showDebugImages(); - - // Render background images ahead and behind current page to reduce delay when switching pages - if (scribe.inputData.pdfMode || scribe.inputData.imageMode) scribe.data.image.preRenderAheadBehindBrowser(n, elem.view.colorMode.value === 'binary'); - - working = false; -} - -/** - * - * @param {boolean} enable - * @param {boolean} [useInitial=false] - */ -async function optimizeFontClick(enable, useInitial = false) { - await enableDisableFontOpt(enable, useInitial); - - renderPageQueue(stateGUI.cp.n); -} - -// Set default settings -setDefaults(); diff --git a/mupdf/mupdf-worker.js b/mupdf/mupdf-worker.js index 1aa3d6d..8ef8785 100644 --- a/mupdf/mupdf-worker.js +++ b/mupdf/mupdf-worker.js @@ -77,8 +77,15 @@ function arrayBufferToBase64(arrayBuffer) { export const mupdf = {}; let ready = false; -if (typeof process !== 'undefined') { - await import('../node/require.js'); +if (typeof process === 'object') { + // @ts-ignore + globalThis.self = globalThis; + // @ts-ignore + const { createRequire } = await import('module'); + globalThis.require = createRequire(import.meta.url); + const { fileURLToPath } = await import('url'); + const { dirname } = await import('path'); + globalThis.__dirname = dirname(fileURLToPath(import.meta.url)); } const { Module, FS } = await import('./libmupdf.js'); diff --git a/package-lock.json b/package-lock.json index 36959ef..8f8e06b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { - "name": "scribeocr", - "version": "1.0.0", + "name": "scribe.js", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "scribeocr", - "version": "1.0.0", + "name": "scribe.js", + "version": "0.1.0", "license": "AGPL-3.0", "dependencies": { "canvas": "^2.11.2", diff --git a/package.json b/package.json index 17e549e..6214085 100644 --- a/package.json +++ b/package.json @@ -30,14 +30,11 @@ "scripts": { "start": "node tests/scripts/server.js", "stop": "curl http://localhost:3031/shutdown", - "test": "npm-run-all test:cli test:gui test:module", + "test": "npm-run-all test:cli test:module", "test:module:browser": "karma start karma.conf.cjs", "test:module:node": "mocha tests/module/*.js", "test:module": "npm-run-all -p test:module:browser test:module:node", "test:cli": "mocha tests/cli", - "test:guispecs": "mocha tests/gui", - "test:gui1": "run-s wait test:guispecs stop", - "test:gui": "npm-run-all -p start test:gui1", "wait": "wait-on http://localhost:3031/" }, "repository": { diff --git a/scrollview-web b/scrollview-web index 7900bcb..95dfbf6 160000 --- a/scrollview-web +++ b/scrollview-web @@ -1 +1 @@ -Subproject commit 7900bcbe0cbf3ef95c55911341733e721419aea2 +Subproject commit 95dfbf65c60310a02f326b74842272899f112552 diff --git a/tests/cli/cli.spec.js b/tests/cli/cli.spec.js index dd1ea60..4e92640 100644 --- a/tests/cli/cli.spec.js +++ b/tests/cli/cli.spec.js @@ -3,7 +3,7 @@ import fs from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; import { getRandomAlphanum } from '../../js/utils/miscUtils.js'; -import { checkCLI, confCLI, overlayCLI } from '../../node/cli.js'; +import { checkCLI, confCLI, overlayCLI } from '../../cli/cli.js'; globalThis.__dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/tests/gui/upload_download.spec.js b/tests/gui/upload_download.spec.js deleted file mode 100644 index e778875..0000000 --- a/tests/gui/upload_download.spec.js +++ /dev/null @@ -1,327 +0,0 @@ -/* eslint-disable prefer-arrow-callback */ -/* eslint-disable func-names */ - -import path from 'path'; -import { By } from 'selenium-webdriver'; -import { fileURLToPath } from 'url'; -import { createDriver } from '../scripts/helpers.js'; - -globalThis.__dirname = path.dirname(fileURLToPath(import.meta.url)); -const port = 3031; - -describe('Generate output files using images and built-in OCR', function () { - let driver; - let customActions; - this.timeout(60000); - const appURL = process.env.SELENIUM ? `http://172.18.0.2:${port}/` : `http://localhost:${port}/`; - - before(async function () { - ({ driver, customActions } = await createDriver()); - }); - - it('2-page .pdf file', async function () { - // Navigate to the page - await driver.get(appURL); - - // Upload the files - await customActions.uploadFiles([ - 'scribe_test_pdf1.pdf', - ]); - - await customActions.recognize(); - - await customActions.downloadAllFormats(); - }); - - it('2 .png files', async function () { - // Navigate to the page - await driver.get(appURL); - - // Upload the files - await customActions.uploadFiles([ - 'henreys_grave.png', - 'the_past.png', - ]); - - await customActions.recognize(); - - await customActions.downloadAllFormats(); - }); - - afterEach(async function () { - if (this.currentTest.state === 'failed') { - const fs = await import('fs'); - const screenshotsDir = path.join(__dirname, 'screenshots'); - if (!fs.existsSync(screenshotsDir)) fs.mkdirSync(screenshotsDir, { recursive: true }); - const screenshotPath = path.join(screenshotsDir, `${this.currentTest.title}.png`); - const image = await driver.takeScreenshot(); - fs.writeFileSync(screenshotPath, image, 'base64'); - console.log(`Screenshot saved to ${screenshotPath}`); - } - }); - - after(async () => { - await driver.quit(); - }); -}); - -describe('Generate output files using images only', function () { - let driver; - let customActions; - this.timeout(25000); - const appURL = process.env.SELENIUM ? `http://172.18.0.2:${port}/` : `http://localhost:${port}/`; - - before(async function () { - ({ driver, customActions } = await createDriver()); - }); - - it('2-page .pdf file', async function () { - // Navigate to the page - await driver.get(appURL); - - // Upload the files - await customActions.uploadFiles([ - 'scribe_test_pdf1.pdf', - ]); - - await customActions.downloadAllFormats(); - }); - - it('2 .png files', async function () { - // Navigate to the page - await driver.get(appURL); - - // Upload the files - await customActions.uploadFiles([ - 'henreys_grave.png', - 'the_past.png', - ]); - - await customActions.downloadAllFormats(); - }); - - afterEach(async function () { - if (this.currentTest.state === 'failed') { - const fs = await import('fs'); - const screenshotsDir = path.join(__dirname, 'screenshots'); - if (!fs.existsSync(screenshotsDir)) fs.mkdirSync(screenshotsDir, { recursive: true }); - const screenshotPath = path.join(screenshotsDir, `${this.currentTest.title}.png`); - const image = await driver.takeScreenshot(); - fs.writeFileSync(screenshotPath, image, 'base64'); - console.log(`Screenshot saved to ${screenshotPath}`); - } - }); - - after(async () => { - await driver.quit(); - }); -}); - -describe('Generate output files using ABBYY XML only', function () { - let driver; - let customActions; - this.timeout(25000); - const appURL = process.env.SELENIUM ? `http://172.18.0.2:${port}/` : `http://localhost:${port}/`; - - before(async function () { - ({ driver, customActions } = await createDriver()); - }); - - it('2-page .pdf file', async function () { - // Navigate to the page - await driver.get(appURL); - - // Upload the files - await customActions.uploadFiles([ - 'henreys_grave_abbyy.xml', - 'the_past_abbyy.xml', - ]); - - await customActions.downloadAllFormats(); - }); - - afterEach(async function () { - if (this.currentTest.state === 'failed') { - const fs = await import('fs'); - const screenshotsDir = path.join(__dirname, 'screenshots'); - if (!fs.existsSync(screenshotsDir)) fs.mkdirSync(screenshotsDir, { recursive: true }); - const screenshotPath = path.join(screenshotsDir, `${this.currentTest.title}.png`); - const image = await driver.takeScreenshot(); - fs.writeFileSync(screenshotPath, image, 'base64'); - console.log(`Screenshot saved to ${screenshotPath}`); - } - }); - - after(async () => { - await driver.quit(); - }); -}); - -describe('Generate output files using images and uploaded ABBYY XML', function () { - let driver; - let customActions; - this.timeout(25000); - const appURL = process.env.SELENIUM ? `http://172.18.0.2:${port}/` : `http://localhost:${port}/`; - - before(async function () { - ({ driver, customActions } = await createDriver()); - }); - - it('2-page .pdf file', async function () { - // Navigate to the page - await driver.get(appURL); - - // Upload the files - await customActions.uploadFiles([ - 'scribe_test_pdf1.pdf', - 'henreys_grave_abbyy.xml', - 'the_past_abbyy.xml', - ]); - - await customActions.downloadAllFormats(); - }); - - it('2 .png files', async function () { - // Navigate to the page - await driver.get(appURL); - - // Upload the files - await customActions.uploadFiles([ - 'henreys_grave.png', - 'henreys_grave_abbyy.xml', - 'the_past.png', - 'the_past_abbyy.xml', - ]); - - await customActions.downloadAllFormats(); - }); - - afterEach(async function () { - if (this.currentTest.state === 'failed') { - const fs = await import('fs'); - const screenshotsDir = path.join(__dirname, 'screenshots'); - if (!fs.existsSync(screenshotsDir)) fs.mkdirSync(screenshotsDir, { recursive: true }); - const screenshotPath = path.join(screenshotsDir, `${this.currentTest.title}.png`); - const image = await driver.takeScreenshot(); - fs.writeFileSync(screenshotPath, image, 'base64'); - console.log(`Screenshot saved to ${screenshotPath}`); - } - }); - - after(async () => { - await driver.quit(); - }); -}); - -describe('Generate output files using images and uploaded Tesseract XML', function () { - let driver; - let customActions; - this.timeout(25000); - const appURL = process.env.SELENIUM ? `http://172.18.0.2:${port}/` : `http://localhost:${port}/`; - - before(async function () { - ({ driver, customActions } = await createDriver()); - }); - - it('2-page .pdf file', async function () { - // Navigate to the page - await driver.get(appURL); - - // Upload the files - await customActions.uploadFiles([ - 'scribe_test_pdf1.pdf', - 'henreys_grave_tess.xml', - 'the_past_tess.xml', - ]); - - await customActions.downloadAllFormats(); - }); - - it('2-page .pdf file (old Scribe version)', async function () { - // Navigate to the page - await driver.get(appURL); - - // Upload the files - await customActions.uploadFiles([ - 'scribe_test_pdf1.pdf', - 'scribe_test_pdf1_202404.hocr', - ]); - - await customActions.downloadAllFormats(); - }); - - it('2 .png files', async function () { - // Navigate to the page - await driver.get(appURL); - - // Upload the files - await customActions.uploadFiles([ - 'henreys_grave.png', - 'henreys_grave_tess.xml', - 'the_past.png', - 'the_past_tess.xml', - ]); - - await customActions.downloadAllFormats(); - }); - - afterEach(async function () { - if (this.currentTest.state === 'failed') { - const fs = await import('fs'); - const screenshotsDir = path.join(__dirname, 'screenshots'); - if (!fs.existsSync(screenshotsDir)) fs.mkdirSync(screenshotsDir, { recursive: true }); - const screenshotPath = path.join(screenshotsDir, `${this.currentTest.title}.png`); - const image = await driver.takeScreenshot(); - fs.writeFileSync(screenshotPath, image, 'base64'); - console.log(`Screenshot saved to ${screenshotPath}`); - } - }); - - after(async () => { - await driver.quit(); - }); -}); - -describe('Generate output files using PDF and existing text layer', function () { - let driver; - let customActions; - this.timeout(25000); - const appURL = process.env.SELENIUM ? `http://172.18.0.2:${port}/` : `http://localhost:${port}/`; - - before(async function () { - ({ driver, customActions } = await createDriver()); - }); - - it('2-page .pdf file', async function () { - // Navigate to the page - await driver.get(appURL); - - // Click on the 'Download' tab - await driver.findElement(By.id('nav-about-tab')).click(); - await driver.findElement(By.id('advancedOptionsButton')).click(); - await driver.findElement(By.id('extractTextCheckbox')).click(); - - // Upload the files - await customActions.uploadFiles([ - 'scribe_test_pdf1.pdf', - ]); - - await customActions.downloadAllFormats(); - }); - - afterEach(async function () { - if (this.currentTest.state === 'failed') { - const fs = await import('fs'); - const screenshotsDir = path.join(__dirname, 'screenshots'); - if (!fs.existsSync(screenshotsDir)) fs.mkdirSync(screenshotsDir, { recursive: true }); - const screenshotPath = path.join(screenshotsDir, `${this.currentTest.title}.png`); - const image = await driver.takeScreenshot(); - fs.writeFileSync(screenshotPath, image, 'base64'); - console.log(`Screenshot saved to ${screenshotPath}`); - } - }); - - after(async () => { - await driver.quit(); - }); -}); diff --git a/tests/scripts/helpers.js b/tests/scripts/helpers.js deleted file mode 100644 index f7f8eca..0000000 --- a/tests/scripts/helpers.js +++ /dev/null @@ -1,130 +0,0 @@ -import { - Builder, By, until, -} from 'selenium-webdriver'; - -class CustomSeleniumActions { - /** @param {import('selenium-webdriver').WebDriver} driver */ - constructor(driver) { - this.driver = driver; - } - - async uploadFiles(files) { - // Wait for import function to be defined in main.js to avoid race condition. - await this.driver.wait(async () => this.driver.executeScript('return !!globalThis.fetchAndImportFiles'), 10000, 'Import function is not defined.'); - - const url = await this.driver.getCurrentUrl(); - const urlObject = new URL(url); - - const filesAbs = files.map((x) => `${urlObject.origin}/tests/assets/${x}`); - const jsStr = `fetchAndImportFiles([${filesAbs.map((x) => `'${x}'`).join(', ')}])`; - - await this.driver.executeScript(jsStr); - - // Wait for import progress bar to fill up - const progressBar = await this.driver.findElement(By.css('#import-progress-collapse .progress-bar')); - - await this.driver.wait(async () => { - const maxValue = await progressBar.getAttribute('aria-valuemax'); - const currentValue = await progressBar.getAttribute('aria-valuenow'); - return currentValue === maxValue; - }, 10000, 'Import progress bar did not reach maximum value in time'); - } - - async recognize() { - // Click on the 'Recognize' tab - await this.driver.findElement(By.id('nav-recognize-tab')).click(); - - const recognizeAllElem = await this.driver.findElement(By.id('recognizeAll')); - await this.driver.wait(until.elementIsEnabled(recognizeAllElem), 10000); - await recognizeAllElem.click(); - - // Wait for recognize progress bar to fill up - const progressBar = await this.driver.findElement(By.css('#recognize-recognize-progress-collapse .progress-bar')); - - await this.driver.wait(async () => { - const maxValue = await progressBar.getAttribute('aria-valuemax'); - const currentValue = await progressBar.getAttribute('aria-valuenow'); - return currentValue === maxValue; - }, 40000, 'Recognize progress bar did not reach maximum value in time'); - } - - async downloadAllFormats() { - // Click on the 'Download' tab - await this.driver.findElement(By.id('nav-download-tab')).click(); - const currentTab = await this.driver.getWindowHandle(); - - const downloadFormat = async (format) => { - // Select the requested format - await this.driver.findElement(By.id('downloadFormat')).click(); - await this.driver.findElement(By.id(`formatLabelOption${format}`)).click(); - - // Click the "download" button - await this.driver.wait(until.elementIsEnabled(this.driver.findElement(By.id('download'))), 10000); - await this.driver.findElement(By.id('download')).click(); - - // Wait for progress bar to fill up - const progressBarDownload = await this.driver.findElement(By.css('#generate-download-progress-collapse .progress-bar')); - - await this.driver.wait(async () => { - const maxValueDownload = await progressBarDownload.getAttribute('aria-valuemax'); - const currentValue = await progressBarDownload.getAttribute('aria-valuenow'); - return currentValue === maxValueDownload; - }, 20000) - .catch(async (error) => { - const maxValueDownload = await progressBarDownload.getAttribute('aria-valuemax'); - const currentValue = await progressBarDownload.getAttribute('aria-valuenow'); - console.log(`Download progress bar did not reach maximum value in time for ${format}.`); - console.log(`Current value: ${currentValue} / ${maxValueDownload}`); - throw error; - }); - - // Firefox opens .pdf downloads in a new tab, so we need to switch back to the original. - const browser = (await this.driver.getCapabilities()).getBrowserName(); - if (browser === 'firefox' && format === 'PDF') { - await this.driver.sleep(500); - this.driver.switchTo().window(currentTab); - } - }; - - await downloadFormat('PDF'); - await downloadFormat('HOCR'); - await downloadFormat('Docx'); - await downloadFormat('Text'); - } -} - -export const createDriver = async () => { - // For GitHub Actions, multiple browsers are run in parallel. - // When run locally, only Chrome is used unless the `BROWSER` environment variable is set to something else. - let browser = process.env.BROWSER || 'chrome'; - - // Microsoft uses a longer name for Edge - if (browser === 'edge') { - browser = 'MicrosoftEdge'; - } - - // If the environment variable `SELENIUM` is defined, this is assumed to refer to the host of a container with the browser driver. - // This is used for the GitHub Actions automated test. - // If this is not defined, then then driver is assumed to be local. - // This is used (by default) for users running `npm test` on their local system manually. - const host = process.env.SELENIUM; - - let driver; - if (host) { - const server = `http://${host}:4444`; - driver = await new Builder() - .usingServer(server) - .forBrowser(browser) - .build(); - } else { - driver = await new Builder() - .forBrowser(browser) - .build(); - } - - // Implicit wait -- If an element is not immediately visible, wait up to 3 seconds for it to become visible before throwing an error. - await driver.manage().setTimeouts({ implicit: 3000, script: 60000 }); - const customActions = new CustomSeleniumActions(driver); - - return { driver, customActions }; -};