From 8f46925352653fcfd1cec87353669666b38c160d Mon Sep 17 00:00:00 2001 From: BobbyWibowo Date: Mon, 25 Jul 2022 00:43:06 +0000 Subject: [PATCH] dist: rebuilt client assets and bumped v1 version string --- dist/css/style.css | 3 +-- dist/css/style.css.map | 2 +- dist/js/album.js.map | 2 +- dist/js/auth.js.map | 2 +- dist/js/dashboard.js.map | 2 +- dist/js/file.js.map | 2 +- dist/js/home.js | 2 +- dist/js/home.js.map | 2 +- dist/js/misc/newsfeed.js.map | 2 +- dist/js/misc/render.js.map | 2 +- dist/js/misc/utils.js.map | 2 +- dist/js/player.js.map | 2 +- src/versions.json | 2 +- yarn.lock | 6 +++--- 14 files changed, 16 insertions(+), 17 deletions(-) diff --git a/dist/css/style.css b/dist/css/style.css index d14e33b..cde0359 100644 --- a/dist/css/style.css +++ b/dist/css/style.css @@ -1,3 +1,2 @@ -.button,.file-cta,.file-name,.input,.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous,.select select,.textarea{align-items:center;-moz-appearance:none;-webkit-appearance:none;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.5em;justify-content:flex-start;line-height:1.5;padding:calc(.5em - 1px) calc(.75em - 1px);position:relative;vertical-align:top}.button:active,.button:focus,.file-cta:active,.file-cta:focus,.file-name:active,.file-name:focus,.input:active,.input:focus,.is-active.button,.is-active.file-cta,.is-active.file-name,.is-active.input,.is-active.pagination-ellipsis,.is-active.pagination-link,.is-active.pagination-next,.is-active.pagination-previous,.is-active.textarea,.is-focused.button,.is-focused.file-cta,.is-focused.file-name,.is-focused.input,.is-focused.pagination-ellipsis,.is-focused.pagination-link,.is-focused.pagination-next,.is-focused.pagination-previous,.is-focused.textarea,.pagination-ellipsis:active,.pagination-ellipsis:focus,.pagination-link:active,.pagination-link:focus,.pagination-next:active,.pagination-next:focus,.pagination-previous:active,.pagination-previous:focus,.select select.is-active,.select select.is-focused,.select select:active,.select select:focus,.textarea:active,.textarea:focus{outline:none}.select fieldset[disabled] select,.select select[disabled],[disabled].button,[disabled].file-cta,[disabled].file-name,[disabled].input,[disabled].pagination-ellipsis,[disabled].pagination-link,[disabled].pagination-next,[disabled].pagination-previous,[disabled].textarea,fieldset[disabled] .button,fieldset[disabled] .file-cta,fieldset[disabled] .file-name,fieldset[disabled] .input,fieldset[disabled] .pagination-ellipsis,fieldset[disabled] .pagination-link,fieldset[disabled] .pagination-next,fieldset[disabled] .pagination-previous,fieldset[disabled] .select select,fieldset[disabled] .textarea{cursor:not-allowed}.button,.file,.is-unselectable,.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous,.tabs{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select:not(.is-multiple):not(.is-loading):after{border:3px solid transparent;border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:.625em;margin-top:-.4375em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;width:.625em}.block:not(:last-child),.content:not(:last-child),.level:not(:last-child),.message:not(:last-child),.notification:not(:last-child),.pagination:not(:last-child),.progress:not(:last-child),.subtitle:not(:last-child),.table-container:not(:last-child),.table:not(:last-child),.tabs:not(:last-child),.title:not(:last-child){margin-bottom:1.5rem}.delete{-webkit-touch-callout:none;-moz-appearance:none;-webkit-appearance:none;background-color:rgba(0,0,0,.2);border:none;border-radius:9999px;cursor:pointer;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;pointer-events:auto;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;width:20px}.delete:after,.delete:before{background-color:#000;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.delete:before{height:2px;width:50%}.delete:after{height:50%;width:2px}.delete:focus,.delete:hover{background-color:rgba(0,0,0,.3)}.delete:active{background-color:rgba(0,0,0,.4)}.is-small.delete{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}.is-medium.delete{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}.is-large.delete{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}.button.is-loading:after,.control.is-loading:after,.loader,.select.is-loading:after{-webkit-animation:spinAround .5s linear infinite;animation:spinAround .5s linear infinite;border-color:transparent transparent #dbdbdb #dbdbdb;border-radius:9999px;border-style:solid;border-width:2px;content:"";display:block;height:1em;position:relative;width:1em}.hero-video,.is-overlay{bottom:0;left:0;position:absolute;right:0;top:0} -/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */blockquote,body,dd,dl,dt,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,html,iframe,legend,li,ol,p,pre,textarea,ul{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:inherit}html{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background-color:#000;font-size:16px;min-width:300px;overflow-x:hidden;overflow-y:scroll}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,optgroup,select,textarea{font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Ubuntu,Roboto,Oxygen,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:monospace}body{color:#f5f5f5;font-size:1em;font-weight:400;line-height:1.5}a{color:#1f89e5;cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:#edf5fd}code{background-color:#f5f5f5;color:#eb002f;font-size:.875em;font-weight:400;padding:.25em .5em}hr{background-color:#b5b5b5;border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type=checkbox],input[type=radio]{vertical-align:baseline}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:#dbdbdb;font-weight:700}fieldset{border:none}pre{-webkit-overflow-scrolling:touch;word-wrap:normal;background-color:#f5f5f5;color:#4a4a4a;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre}pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}table td,table th{vertical-align:top}table td:not([align]),table th:not([align]){text-align:inherit}table th{color:#363636}@-webkit-keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.button{background-color:#000;border-color:#dbdbdb;border-width:1px;color:#363636;cursor:pointer;justify-content:center;padding:calc(.5em - 1px) 1em;text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-large,.button .icon.is-medium,.button .icon.is-small{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-.5em - 1px);margin-right:.25em}.button .icon:last-child:not(:first-child){margin-left:.25em;margin-right:calc(-.5em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-.5em - 1px);margin-right:calc(-.5em - 1px)}.button.is-hovered,.button:hover{border-color:#b5b5b5;color:#edf5fd}.button.is-focused,.button:focus{border-color:#1f89e5;color:#363636}.button.is-focused:not(:active),.button:focus:not(:active){box-shadow:0 0 0 .125em rgba(31,137,229,.25)}.button.is-active,.button:active{border-color:#4a4a4a;color:#363636}.button.is-text{background-color:transparent;border-color:transparent;color:#f5f5f5;text-decoration:underline}.button.is-text.is-focused,.button.is-text.is-hovered,.button.is-text:focus,.button.is-text:hover{background-color:#f5f5f5;color:#363636}.button.is-text.is-active,.button.is-text:active{background-color:#e8e8e8;color:#363636}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}.button.is-ghost{background:none;border-color:transparent;color:#1f89e5;text-decoration:none}.button.is-ghost.is-hovered,.button.is-ghost:hover{color:#1f89e5;text-decoration:underline}.button.is-white{background-color:#fff;border-color:transparent;color:#000}.button.is-white.is-hovered,.button.is-white:hover{background-color:#f9f9f9;border-color:transparent;color:#000}.button.is-white.is-focused,.button.is-white:focus{border-color:transparent;color:#000}.button.is-white.is-focused:not(:active),.button.is-white:focus:not(:active){box-shadow:0 0 0 .125em hsla(0,0%,100%,.25)}.button.is-white.is-active,.button.is-white:active{background-color:#f2f2f2;border-color:transparent;color:#000}.button.is-white[disabled],fieldset[disabled] .button.is-white{background-color:#fff;border-color:#fff;box-shadow:none}.button.is-white.is-inverted{background-color:#000;color:#fff}.button.is-white.is-inverted.is-hovered,.button.is-white.is-inverted:hover{background-color:#000}.button.is-white.is-inverted[disabled],fieldset[disabled] .button.is-white.is-inverted{background-color:#000;border-color:transparent;box-shadow:none;color:#fff}.button.is-white.is-loading:after{border-color:transparent transparent #000 #000!important}.button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-white.is-outlined.is-focused,.button.is-white.is-outlined.is-hovered,.button.is-white.is-outlined:focus,.button.is-white.is-outlined:hover{background-color:#fff;border-color:#fff;color:#000}.button.is-white.is-outlined.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-white.is-outlined.is-loading.is-focused:after,.button.is-white.is-outlined.is-loading.is-hovered:after,.button.is-white.is-outlined.is-loading:focus:after,.button.is-white.is-outlined.is-loading:hover:after{border-color:transparent transparent #000 #000!important}.button.is-white.is-outlined[disabled],fieldset[disabled] .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#000;color:#000}.button.is-white.is-inverted.is-outlined.is-focused,.button.is-white.is-inverted.is-outlined.is-hovered,.button.is-white.is-inverted.is-outlined:focus,.button.is-white.is-inverted.is-outlined:hover{background-color:#000;color:#fff}.button.is-white.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-white.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-white.is-inverted.is-outlined.is-loading:focus:after,.button.is-white.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#000;box-shadow:none;color:#000}.button.is-black,.button.is-black.is-hovered,.button.is-black:hover{background-color:#000;border-color:transparent;color:#fff}.button.is-black.is-focused,.button.is-black:focus{border-color:transparent;color:#fff}.button.is-black.is-focused:not(:active),.button.is-black:focus:not(:active){box-shadow:0 0 0 .125em rgba(0,0,0,.25)}.button.is-black.is-active,.button.is-black:active{background-color:#000;border-color:transparent;color:#fff}.button.is-black[disabled],fieldset[disabled] .button.is-black{background-color:#000;border-color:#000;box-shadow:none}.button.is-black.is-inverted{background-color:#fff;color:#000}.button.is-black.is-inverted.is-hovered,.button.is-black.is-inverted:hover{background-color:#f2f2f2}.button.is-black.is-inverted[disabled],fieldset[disabled] .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#000}.button.is-black.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-black.is-outlined{background-color:transparent;border-color:#000;color:#000}.button.is-black.is-outlined.is-focused,.button.is-black.is-outlined.is-hovered,.button.is-black.is-outlined:focus,.button.is-black.is-outlined:hover{background-color:#000;border-color:#000;color:#fff}.button.is-black.is-outlined.is-loading:after{border-color:transparent transparent #000 #000!important}.button.is-black.is-outlined.is-loading.is-focused:after,.button.is-black.is-outlined.is-loading.is-hovered:after,.button.is-black.is-outlined.is-loading:focus:after,.button.is-black.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-black.is-outlined[disabled],fieldset[disabled] .button.is-black.is-outlined{background-color:transparent;border-color:#000;box-shadow:none;color:#000}.button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-black.is-inverted.is-outlined.is-focused,.button.is-black.is-inverted.is-outlined.is-hovered,.button.is-black.is-inverted.is-outlined:focus,.button.is-black.is-inverted.is-outlined:hover{background-color:#fff;color:#000}.button.is-black.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-black.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-black.is-inverted.is-outlined.is-loading:focus:after,.button.is-black.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #000 #000!important}.button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-light{background-color:#f5f5f5;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-light.is-hovered,.button.is-light:hover{background-color:#eee;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-light.is-focused,.button.is-light:focus{border-color:transparent;color:rgba(0,0,0,.7)}.button.is-light.is-focused:not(:active),.button.is-light:focus:not(:active){box-shadow:0 0 0 .125em hsla(0,0%,96%,.25)}.button.is-light.is-active,.button.is-light:active{background-color:#e8e8e8;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-light[disabled],fieldset[disabled] .button.is-light{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none}.button.is-light.is-inverted{color:#f5f5f5}.button.is-light.is-inverted,.button.is-light.is-inverted.is-hovered,.button.is-light.is-inverted:hover{background-color:rgba(0,0,0,.7)}.button.is-light.is-inverted[disabled],fieldset[disabled] .button.is-light.is-inverted{background-color:rgba(0,0,0,.7);border-color:transparent;box-shadow:none;color:#f5f5f5}.button.is-light.is-loading:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-light.is-outlined.is-focused,.button.is-light.is-outlined.is-hovered,.button.is-light.is-outlined:focus,.button.is-light.is-outlined:hover{background-color:#f5f5f5;border-color:#f5f5f5;color:rgba(0,0,0,.7)}.button.is-light.is-outlined.is-loading:after{border-color:transparent transparent #f5f5f5 #f5f5f5!important}.button.is-light.is-outlined.is-loading.is-focused:after,.button.is-light.is-outlined.is-loading.is-hovered:after,.button.is-light.is-outlined.is-loading:focus:after,.button.is-light.is-outlined.is-loading:hover:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-light.is-outlined[disabled],fieldset[disabled] .button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);color:rgba(0,0,0,.7)}.button.is-light.is-inverted.is-outlined.is-focused,.button.is-light.is-inverted.is-outlined.is-hovered,.button.is-light.is-inverted.is-outlined:focus,.button.is-light.is-inverted.is-outlined:hover{background-color:rgba(0,0,0,.7);color:#f5f5f5}.button.is-light.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-light.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-light.is-inverted.is-outlined.is-loading:focus:after,.button.is-light.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #f5f5f5 #f5f5f5!important}.button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);box-shadow:none;color:rgba(0,0,0,.7)}.button.is-dark{background-color:#363636;border-color:transparent;color:#fff}.button.is-dark.is-hovered,.button.is-dark:hover{background-color:#2f2f2f;border-color:transparent;color:#fff}.button.is-dark.is-focused,.button.is-dark:focus{border-color:transparent;color:#fff}.button.is-dark.is-focused:not(:active),.button.is-dark:focus:not(:active){box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.button.is-dark.is-active,.button.is-dark:active{background-color:#292929;border-color:transparent;color:#fff}.button.is-dark[disabled],fieldset[disabled] .button.is-dark{background-color:#363636;border-color:#363636;box-shadow:none}.button.is-dark.is-inverted{background-color:#fff;color:#363636}.button.is-dark.is-inverted.is-hovered,.button.is-dark.is-inverted:hover{background-color:#f2f2f2}.button.is-dark.is-inverted[disabled],fieldset[disabled] .button.is-dark.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#363636}.button.is-dark.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-dark.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-dark.is-outlined.is-focused,.button.is-dark.is-outlined.is-hovered,.button.is-dark.is-outlined:focus,.button.is-dark.is-outlined:hover{background-color:#363636;border-color:#363636;color:#fff}.button.is-dark.is-outlined.is-loading:after{border-color:transparent transparent #363636 #363636!important}.button.is-dark.is-outlined.is-loading.is-focused:after,.button.is-dark.is-outlined.is-loading.is-hovered:after,.button.is-dark.is-outlined.is-loading:focus:after,.button.is-dark.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-dark.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-dark.is-inverted.is-outlined.is-focused,.button.is-dark.is-inverted.is-outlined.is-hovered,.button.is-dark.is-inverted.is-outlined:focus,.button.is-dark.is-inverted.is-outlined:hover{background-color:#fff;color:#363636}.button.is-dark.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-dark.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-dark.is-inverted.is-outlined.is-loading:focus:after,.button.is-dark.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #363636 #363636!important}.button.is-dark.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-primary{background-color:#00d1b2;border-color:transparent;color:#fff}.button.is-primary.is-hovered,.button.is-primary:hover{background-color:#00c4a7;border-color:transparent;color:#fff}.button.is-primary.is-focused,.button.is-primary:focus{border-color:transparent;color:#fff}.button.is-primary.is-focused:not(:active),.button.is-primary:focus:not(:active){box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.button.is-primary.is-active,.button.is-primary:active{background-color:#00b89c;border-color:transparent;color:#fff}.button.is-primary[disabled],fieldset[disabled] .button.is-primary{background-color:#00d1b2;border-color:#00d1b2;box-shadow:none}.button.is-primary.is-inverted{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted.is-hovered,.button.is-primary.is-inverted:hover{background-color:#f2f2f2}.button.is-primary.is-inverted[disabled],fieldset[disabled] .button.is-primary.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#00d1b2}.button.is-primary.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;color:#00d1b2}.button.is-primary.is-outlined.is-focused,.button.is-primary.is-outlined.is-hovered,.button.is-primary.is-outlined:focus,.button.is-primary.is-outlined:hover{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.button.is-primary.is-outlined.is-loading:after{border-color:transparent transparent #00d1b2 #00d1b2!important}.button.is-primary.is-outlined.is-loading.is-focused:after,.button.is-primary.is-outlined.is-loading.is-hovered:after,.button.is-primary.is-outlined.is-loading:focus:after,.button.is-primary.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-primary.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;box-shadow:none;color:#00d1b2}.button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-primary.is-inverted.is-outlined.is-focused,.button.is-primary.is-inverted.is-outlined.is-hovered,.button.is-primary.is-inverted.is-outlined:focus,.button.is-primary.is-inverted.is-outlined:hover{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-primary.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-primary.is-inverted.is-outlined.is-loading:focus:after,.button.is-primary.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #00d1b2 #00d1b2!important}.button.is-primary.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-primary.is-light{background-color:#ebfffc;color:#00947e}.button.is-primary.is-light.is-hovered,.button.is-primary.is-light:hover{background-color:#defffa;border-color:transparent;color:#00947e}.button.is-primary.is-light.is-active,.button.is-primary.is-light:active{background-color:#d1fff8;border-color:transparent;color:#00947e}.button.is-link{background-color:#1f89e5;border-color:transparent;color:#fff}.button.is-link.is-hovered,.button.is-link:hover{background-color:#1a82dd;border-color:transparent;color:#fff}.button.is-link.is-focused,.button.is-link:focus{border-color:transparent;color:#fff}.button.is-link.is-focused:not(:active),.button.is-link:focus:not(:active){box-shadow:0 0 0 .125em rgba(31,137,229,.25)}.button.is-link.is-active,.button.is-link:active{background-color:#197bd2;border-color:transparent;color:#fff}.button.is-link[disabled],fieldset[disabled] .button.is-link{background-color:#1f89e5;border-color:#1f89e5;box-shadow:none}.button.is-link.is-inverted{background-color:#fff;color:#1f89e5}.button.is-link.is-inverted.is-hovered,.button.is-link.is-inverted:hover{background-color:#f2f2f2}.button.is-link.is-inverted[disabled],fieldset[disabled] .button.is-link.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#1f89e5}.button.is-link.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-link.is-outlined{background-color:transparent;border-color:#1f89e5;color:#1f89e5}.button.is-link.is-outlined.is-focused,.button.is-link.is-outlined.is-hovered,.button.is-link.is-outlined:focus,.button.is-link.is-outlined:hover{background-color:#1f89e5;border-color:#1f89e5;color:#fff}.button.is-link.is-outlined.is-loading:after{border-color:transparent transparent #1f89e5 #1f89e5!important}.button.is-link.is-outlined.is-loading.is-focused:after,.button.is-link.is-outlined.is-loading.is-hovered:after,.button.is-link.is-outlined.is-loading:focus:after,.button.is-link.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-link.is-outlined[disabled],fieldset[disabled] .button.is-link.is-outlined{background-color:transparent;border-color:#1f89e5;box-shadow:none;color:#1f89e5}.button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-link.is-inverted.is-outlined.is-focused,.button.is-link.is-inverted.is-outlined.is-hovered,.button.is-link.is-inverted.is-outlined:focus,.button.is-link.is-inverted.is-outlined:hover{background-color:#fff;color:#1f89e5}.button.is-link.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-link.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-link.is-inverted.is-outlined.is-loading:focus:after,.button.is-link.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #1f89e5 #1f89e5!important}.button.is-link.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-link.is-light{background-color:#edf5fd;color:#1671c0}.button.is-link.is-light.is-hovered,.button.is-link.is-light:hover{background-color:#e1effc;border-color:transparent;color:#1671c0}.button.is-link.is-light.is-active,.button.is-link.is-light:active{background-color:#d6e9fa;border-color:transparent;color:#1671c0}.button.is-info{background-color:#4387f4;border-color:transparent;color:#fff}.button.is-info.is-hovered,.button.is-info:hover{background-color:#377ff3;border-color:transparent;color:#fff}.button.is-info.is-focused,.button.is-info:focus{border-color:transparent;color:#fff}.button.is-info.is-focused:not(:active),.button.is-info:focus:not(:active){box-shadow:0 0 0 .125em rgba(67,135,244,.25)}.button.is-info.is-active,.button.is-info:active{background-color:#2b77f3;border-color:transparent;color:#fff}.button.is-info[disabled],fieldset[disabled] .button.is-info{background-color:#4387f4;border-color:#4387f4;box-shadow:none}.button.is-info.is-inverted{background-color:#fff;color:#4387f4}.button.is-info.is-inverted.is-hovered,.button.is-info.is-inverted:hover{background-color:#f2f2f2}.button.is-info.is-inverted[disabled],fieldset[disabled] .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#4387f4}.button.is-info.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-info.is-outlined{background-color:transparent;border-color:#4387f4;color:#4387f4}.button.is-info.is-outlined.is-focused,.button.is-info.is-outlined.is-hovered,.button.is-info.is-outlined:focus,.button.is-info.is-outlined:hover{background-color:#4387f4;border-color:#4387f4;color:#fff}.button.is-info.is-outlined.is-loading:after{border-color:transparent transparent #4387f4 #4387f4!important}.button.is-info.is-outlined.is-loading.is-focused:after,.button.is-info.is-outlined.is-loading.is-hovered:after,.button.is-info.is-outlined.is-loading:focus:after,.button.is-info.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-info.is-outlined[disabled],fieldset[disabled] .button.is-info.is-outlined{background-color:transparent;border-color:#4387f4;box-shadow:none;color:#4387f4}.button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-info.is-inverted.is-outlined.is-focused,.button.is-info.is-inverted.is-outlined.is-hovered,.button.is-info.is-inverted.is-outlined:focus,.button.is-info.is-inverted.is-outlined:hover{background-color:#fff;color:#4387f4}.button.is-info.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-info.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-info.is-inverted.is-outlined.is-loading:focus:after,.button.is-info.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #4387f4 #4387f4!important}.button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-info.is-light{background-color:#ecf3fe;color:#0c53c6}.button.is-info.is-light.is-hovered,.button.is-info.is-light:hover{background-color:#e0ebfd;border-color:transparent;color:#0c53c6}.button.is-info.is-light.is-active,.button.is-info.is-light:active{background-color:#d4e3fc;border-color:transparent;color:#0c53c6}.button.is-success{background-color:#55b978;border-color:transparent;color:#fff}.button.is-success.is-hovered,.button.is-success:hover{background-color:#4cb671;border-color:transparent;color:#fff}.button.is-success.is-focused,.button.is-success:focus{border-color:transparent;color:#fff}.button.is-success.is-focused:not(:active),.button.is-success:focus:not(:active){box-shadow:0 0 0 .125em rgba(85,185,120,.25)}.button.is-success.is-active,.button.is-success:active{background-color:#47ae6b;border-color:transparent;color:#fff}.button.is-success[disabled],fieldset[disabled] .button.is-success{background-color:#55b978;border-color:#55b978;box-shadow:none}.button.is-success.is-inverted{background-color:#fff;color:#55b978}.button.is-success.is-inverted.is-hovered,.button.is-success.is-inverted:hover{background-color:#f2f2f2}.button.is-success.is-inverted[disabled],fieldset[disabled] .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#55b978}.button.is-success.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-success.is-outlined{background-color:transparent;border-color:#55b978;color:#55b978}.button.is-success.is-outlined.is-focused,.button.is-success.is-outlined.is-hovered,.button.is-success.is-outlined:focus,.button.is-success.is-outlined:hover{background-color:#55b978;border-color:#55b978;color:#fff}.button.is-success.is-outlined.is-loading:after{border-color:transparent transparent #55b978 #55b978!important}.button.is-success.is-outlined.is-loading.is-focused:after,.button.is-success.is-outlined.is-loading.is-hovered:after,.button.is-success.is-outlined.is-loading:focus:after,.button.is-success.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-success.is-outlined[disabled],fieldset[disabled] .button.is-success.is-outlined{background-color:transparent;border-color:#55b978;box-shadow:none;color:#55b978}.button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-success.is-inverted.is-outlined.is-focused,.button.is-success.is-inverted.is-outlined.is-hovered,.button.is-success.is-inverted.is-outlined:focus,.button.is-success.is-inverted.is-outlined:hover{background-color:#fff;color:#55b978}.button.is-success.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-success.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-success.is-inverted.is-outlined.is-loading:focus:after,.button.is-success.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #55b978 #55b978!important}.button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-success.is-light{background-color:#f1f9f4;color:#327b4c}.button.is-success.is-light.is-hovered,.button.is-success.is-light:hover{background-color:#e7f5ec;border-color:transparent;color:#327b4c}.button.is-success.is-light.is-active,.button.is-success.is-light:active{background-color:#def2e5;border-color:transparent;color:#327b4c}.button.is-warning{background-color:#ffe08a;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-hovered,.button.is-warning:hover{background-color:#ffdc7d;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-focused,.button.is-warning:focus{border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-focused:not(:active),.button.is-warning:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,224,138,.25)}.button.is-warning.is-active,.button.is-warning:active{background-color:#ffd970;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning[disabled],fieldset[disabled] .button.is-warning{background-color:#ffe08a;border-color:#ffe08a;box-shadow:none}.button.is-warning.is-inverted{color:#ffe08a}.button.is-warning.is-inverted,.button.is-warning.is-inverted.is-hovered,.button.is-warning.is-inverted:hover{background-color:rgba(0,0,0,.7)}.button.is-warning.is-inverted[disabled],fieldset[disabled] .button.is-warning.is-inverted{background-color:rgba(0,0,0,.7);border-color:transparent;box-shadow:none;color:#ffe08a}.button.is-warning.is-loading:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-warning.is-outlined{background-color:transparent;border-color:#ffe08a;color:#ffe08a}.button.is-warning.is-outlined.is-focused,.button.is-warning.is-outlined.is-hovered,.button.is-warning.is-outlined:focus,.button.is-warning.is-outlined:hover{background-color:#ffe08a;border-color:#ffe08a;color:rgba(0,0,0,.7)}.button.is-warning.is-outlined.is-loading:after{border-color:transparent transparent #ffe08a #ffe08a!important}.button.is-warning.is-outlined.is-loading.is-focused:after,.button.is-warning.is-outlined.is-loading.is-hovered:after,.button.is-warning.is-outlined.is-loading:focus:after,.button.is-warning.is-outlined.is-loading:hover:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-warning.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-outlined{background-color:transparent;border-color:#ffe08a;box-shadow:none;color:#ffe08a}.button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);color:rgba(0,0,0,.7)}.button.is-warning.is-inverted.is-outlined.is-focused,.button.is-warning.is-inverted.is-outlined.is-hovered,.button.is-warning.is-inverted.is-outlined:focus,.button.is-warning.is-inverted.is-outlined:hover{background-color:rgba(0,0,0,.7);color:#ffe08a}.button.is-warning.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-warning.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-warning.is-inverted.is-outlined.is-loading:focus:after,.button.is-warning.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #ffe08a #ffe08a!important}.button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);box-shadow:none;color:rgba(0,0,0,.7)}.button.is-warning.is-light{background-color:#fffaeb;color:#946c00}.button.is-warning.is-light.is-hovered,.button.is-warning.is-light:hover{background-color:#fff6de;border-color:transparent;color:#946c00}.button.is-warning.is-light.is-active,.button.is-warning.is-light:active{background-color:#fff3d1;border-color:transparent;color:#946c00}.button.is-danger{background-color:#ff3860;border-color:transparent;color:#fff}.button.is-danger.is-hovered,.button.is-danger:hover{background-color:#ff2b56;border-color:transparent;color:#fff}.button.is-danger.is-focused,.button.is-danger:focus{border-color:transparent;color:#fff}.button.is-danger.is-focused:not(:active),.button.is-danger:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,56,96,.25)}.button.is-danger.is-active,.button.is-danger:active{background-color:#ff1f4b;border-color:transparent;color:#fff}.button.is-danger[disabled],fieldset[disabled] .button.is-danger{background-color:#ff3860;border-color:#ff3860;box-shadow:none}.button.is-danger.is-inverted{background-color:#fff;color:#ff3860}.button.is-danger.is-inverted.is-hovered,.button.is-danger.is-inverted:hover{background-color:#f2f2f2}.button.is-danger.is-inverted[disabled],fieldset[disabled] .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#ff3860}.button.is-danger.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-danger.is-outlined{background-color:transparent;border-color:#ff3860;color:#ff3860}.button.is-danger.is-outlined.is-focused,.button.is-danger.is-outlined.is-hovered,.button.is-danger.is-outlined:focus,.button.is-danger.is-outlined:hover{background-color:#ff3860;border-color:#ff3860;color:#fff}.button.is-danger.is-outlined.is-loading:after{border-color:transparent transparent #ff3860 #ff3860!important}.button.is-danger.is-outlined.is-loading.is-focused:after,.button.is-danger.is-outlined.is-loading.is-hovered:after,.button.is-danger.is-outlined.is-loading:focus:after,.button.is-danger.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-danger.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-outlined{background-color:transparent;border-color:#ff3860;box-shadow:none;color:#ff3860}.button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-danger.is-inverted.is-outlined.is-focused,.button.is-danger.is-inverted.is-outlined.is-hovered,.button.is-danger.is-inverted.is-outlined:focus,.button.is-danger.is-inverted.is-outlined:hover{background-color:#fff;color:#ff3860}.button.is-danger.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-danger.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-danger.is-inverted.is-outlined.is-loading:focus:after,.button.is-danger.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #ff3860 #ff3860!important}.button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-danger.is-light{background-color:#ffebef;color:#db002c}.button.is-danger.is-light.is-hovered,.button.is-danger.is-light:hover{background-color:#ffdee4;border-color:transparent;color:#db002c}.button.is-danger.is-light.is-active,.button.is-danger.is-light:active{background-color:#ffd1da;border-color:transparent;color:#db002c}.button.is-small{font-size:.75rem}.button.is-small:not(.is-rounded){border-radius:2px}.button.is-normal{font-size:1rem}.button.is-medium{font-size:1.25rem}.button.is-large{font-size:1.5rem}.button[disabled],fieldset[disabled] .button{background-color:#000;border-color:#dbdbdb;box-shadow:none;opacity:.5}.button.is-fullwidth{display:flex;width:100%}.button.is-loading{color:transparent!important;pointer-events:none}.button.is-loading:after{left:calc(50% - .5em);position:absolute!important;position:absolute;top:calc(50% - .5em)}.button.is-static{background-color:#f5f5f5;border-color:#dbdbdb;box-shadow:none;color:#7a7a7a;pointer-events:none}.button.is-rounded{border-radius:9999px;padding-left:1.25em;padding-right:1.25em}.buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.buttons .button{margin-bottom:.5rem}.buttons .button:not(:last-child):not(.is-fullwidth){margin-right:.5rem}.buttons:last-child{margin-bottom:-.5rem}.buttons:not(:last-child){margin-bottom:1rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){font-size:.75rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large):not(.is-rounded){border-radius:2px}.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}.buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.buttons.has-addons .button:last-child{margin-right:0}.buttons.has-addons .button.is-hovered,.buttons.has-addons .button:hover{z-index:2}.buttons.has-addons .button.is-active,.buttons.has-addons .button.is-focused,.buttons.has-addons .button.is-selected,.buttons.has-addons .button:active,.buttons.has-addons .button:focus{z-index:3}.buttons.has-addons .button.is-active:hover,.buttons.has-addons .button.is-focused:hover,.buttons.has-addons .button.is-selected:hover,.buttons.has-addons .button:active:hover,.buttons.has-addons .button:focus:hover{z-index:4}.buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}.buttons.is-centered{justify-content:center}.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:.25rem;margin-right:.25rem}.buttons.is-right{justify-content:flex-end}.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:.25rem;margin-right:.25rem}@media screen and (max-width:768px){.button.is-responsive.is-small{font-size:.5625rem}.button.is-responsive,.button.is-responsive.is-normal{font-size:.65625rem}.button.is-responsive.is-medium{font-size:.75rem}.button.is-responsive.is-large{font-size:1rem}}@media screen and (min-width:769px) and (max-width:1023px){.button.is-responsive.is-small{font-size:.65625rem}.button.is-responsive,.button.is-responsive.is-normal{font-size:.75rem}.button.is-responsive.is-medium{font-size:1rem}.button.is-responsive.is-large{font-size:1.25rem}}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}.container.is-fluid{max-width:none!important;padding-left:32px;padding-right:32px;width:100%}@media screen and (min-width:1024px){.container{max-width:960px}}@media screen and (max-width:1215px){.container.is-widescreen:not(.is-max-desktop){max-width:1152px}}@media screen and (max-width:1407px){.container.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}@media screen and (min-width:1216px){.container:not(.is-max-desktop){max-width:1152px}}@media screen and (min-width:1408px){.container:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}.content li+li{margin-top:.25em}.content blockquote:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content p:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child),.content ul:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:#363636;font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:.8em}.content h5{font-size:1.125em;margin-bottom:.8888em}.content h6{font-size:1em;margin-bottom:1em}.content blockquote{background-color:#f5f5f5;border-left:5px solid #dbdbdb;padding:1.25em 1.5em}.content ol{list-style-position:outside;margin-left:2em;margin-top:1em}.content ol:not([type]){list-style-type:decimal}.content ol:not([type]).is-lower-alpha{list-style-type:lower-alpha}.content ol:not([type]).is-lower-roman{list-style-type:lower-roman}.content ol:not([type]).is-upper-alpha{list-style-type:upper-alpha}.content ol:not([type]).is-upper-roman{list-style-type:upper-roman}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:.5em}.content ul ul ul{list-style-type:square}.content dd{margin-left:2em}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.content figure figcaption{font-style:italic}.content pre{-webkit-overflow-scrolling:touch;word-wrap:normal;overflow-x:auto;padding:1.25em 1.5em;white-space:pre}.content sub,.content sup{font-size:75%}.content table{width:100%}.content table td,.content table th{border:solid #dbdbdb;border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.content table th{color:#363636}.content table th:not([align]){text-align:inherit}.content table thead td,.content table thead th{border-width:0 0 2px;color:#363636}.content table tfoot td,.content table tfoot th{border-width:2px 0 0;color:#363636}.content table tbody tr:last-child td,.content table tbody tr:last-child th{border-bottom-width:0}.content .tabs li+li{margin-top:0}.content.is-small{font-size:.75rem}.content.is-normal{font-size:1rem}.content.is-medium{font-size:1.25rem}.content.is-large{font-size:1.5rem}.icon{align-items:center;display:inline-flex;height:1.5rem;justify-content:center;width:1.5rem}.icon.is-small{height:1rem;width:1rem}.icon.is-medium{height:2rem;width:2rem}.icon.is-large{height:3rem;width:3rem}.icon-text{align-items:flex-start;color:inherit;display:inline-flex;flex-wrap:wrap;line-height:1.5rem;vertical-align:top}.icon-text .icon{flex-grow:0;flex-shrink:0}.icon-text .icon:not(:last-child){margin-right:.25em}.icon-text .icon:not(:first-child){margin-left:.25em}div.icon-text{display:flex}.notification{background-color:#f5f5f5;border-radius:4px;padding:1.25rem 2.5rem 1.25rem 1.5rem;position:relative}.notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}.notification strong{color:currentColor}.notification code,.notification pre{background:#000}.notification pre code{background:transparent}.notification>.delete{position:absolute;right:.5rem;top:.5rem}.notification .content,.notification .subtitle,.notification .title{color:currentColor}.notification.is-white{background-color:#fff;color:#000}.notification.is-black{background-color:#000;color:#fff}.notification.is-light{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.notification.is-dark{background-color:#363636;color:#fff}.notification.is-primary{background-color:#00d1b2;color:#fff}.notification.is-primary.is-light{background-color:#ebfffc;color:#00947e}.notification.is-link{background-color:#1f89e5;color:#fff}.notification.is-link.is-light{background-color:#edf5fd;color:#1671c0}.notification.is-info{background-color:#4387f4;color:#fff}.notification.is-info.is-light{background-color:#ecf3fe;color:#0c53c6}.notification.is-success{background-color:#55b978;color:#fff}.notification.is-success.is-light{background-color:#f1f9f4;color:#327b4c}.notification.is-warning{background-color:#ffe08a;color:rgba(0,0,0,.7)}.notification.is-warning.is-light{background-color:#fffaeb;color:#946c00}.notification.is-danger{background-color:#ff3860;color:#fff}.notification.is-danger.is-light{background-color:#ffebef;color:#db002c}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:9999px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#ededed}.progress::-webkit-progress-value{background-color:#f5f5f5}.progress::-moz-progress-bar{background-color:#f5f5f5}.progress::-ms-fill{background-color:#f5f5f5;border:none}.progress.is-white::-webkit-progress-value{background-color:#fff}.progress.is-white::-moz-progress-bar{background-color:#fff}.progress.is-white::-ms-fill{background-color:#fff}.progress.is-white:indeterminate{background-image:linear-gradient(90deg,#fff 30%,#ededed 0)}.progress.is-black::-webkit-progress-value{background-color:#000}.progress.is-black::-moz-progress-bar{background-color:#000}.progress.is-black::-ms-fill{background-color:#000}.progress.is-black:indeterminate{background-image:linear-gradient(90deg,#000 30%,#ededed 0)}.progress.is-light::-webkit-progress-value{background-color:#f5f5f5}.progress.is-light::-moz-progress-bar{background-color:#f5f5f5}.progress.is-light::-ms-fill{background-color:#f5f5f5}.progress.is-light:indeterminate{background-image:linear-gradient(90deg,#f5f5f5 30%,#ededed 0)}.progress.is-dark::-webkit-progress-value{background-color:#363636}.progress.is-dark::-moz-progress-bar{background-color:#363636}.progress.is-dark::-ms-fill{background-color:#363636}.progress.is-dark:indeterminate{background-image:linear-gradient(90deg,#363636 30%,#ededed 0)}.progress.is-primary::-webkit-progress-value{background-color:#00d1b2}.progress.is-primary::-moz-progress-bar{background-color:#00d1b2}.progress.is-primary::-ms-fill{background-color:#00d1b2}.progress.is-primary:indeterminate{background-image:linear-gradient(90deg,#00d1b2 30%,#ededed 0)}.progress.is-link::-webkit-progress-value{background-color:#1f89e5}.progress.is-link::-moz-progress-bar{background-color:#1f89e5}.progress.is-link::-ms-fill{background-color:#1f89e5}.progress.is-link:indeterminate{background-image:linear-gradient(90deg,#1f89e5 30%,#ededed 0)}.progress.is-info::-webkit-progress-value{background-color:#4387f4}.progress.is-info::-moz-progress-bar{background-color:#4387f4}.progress.is-info::-ms-fill{background-color:#4387f4}.progress.is-info:indeterminate{background-image:linear-gradient(90deg,#4387f4 30%,#ededed 0)}.progress.is-success::-webkit-progress-value{background-color:#55b978}.progress.is-success::-moz-progress-bar{background-color:#55b978}.progress.is-success::-ms-fill{background-color:#55b978}.progress.is-success:indeterminate{background-image:linear-gradient(90deg,#55b978 30%,#ededed 0)}.progress.is-warning::-webkit-progress-value{background-color:#ffe08a}.progress.is-warning::-moz-progress-bar{background-color:#ffe08a}.progress.is-warning::-ms-fill{background-color:#ffe08a}.progress.is-warning:indeterminate{background-image:linear-gradient(90deg,#ffe08a 30%,#ededed 0)}.progress.is-danger::-webkit-progress-value{background-color:#ff3860}.progress.is-danger::-moz-progress-bar{background-color:#ff3860}.progress.is-danger::-ms-fill{background-color:#ff3860}.progress.is-danger:indeterminate{background-image:linear-gradient(90deg,#ff3860 30%,#ededed 0)}.progress:indeterminate{-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:moveIndeterminate;animation-name:moveIndeterminate;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-color:#ededed;background-image:linear-gradient(90deg,#f5f5f5 30%,#ededed 0);background-position:0 0;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress:indeterminate::-ms-fill{animation-name:none}.progress.is-small{height:.75rem}.progress.is-medium{height:1.25rem}.progress.is-large{height:1.5rem}@-webkit-keyframes moveIndeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes moveIndeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}.table{color:#363636}.table td,.table th{border:solid #dbdbdb;border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.table td.is-white,.table th.is-white{background-color:#fff;border-color:#fff;color:#000}.table td.is-black,.table th.is-black{background-color:#000;border-color:#000;color:#fff}.table td.is-light,.table th.is-light{background-color:#f5f5f5;border-color:#f5f5f5;color:rgba(0,0,0,.7)}.table td.is-dark,.table th.is-dark{background-color:#363636;border-color:#363636;color:#fff}.table td.is-primary,.table th.is-primary{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.table td.is-link,.table th.is-link{background-color:#1f89e5;border-color:#1f89e5;color:#fff}.table td.is-info,.table th.is-info{background-color:#4387f4;border-color:#4387f4;color:#fff}.table td.is-success,.table th.is-success{background-color:#55b978;border-color:#55b978;color:#fff}.table td.is-warning,.table th.is-warning{background-color:#ffe08a;border-color:#ffe08a;color:rgba(0,0,0,.7)}.table td.is-danger,.table th.is-danger{background-color:#ff3860;border-color:#ff3860;color:#fff}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:#00d1b2;color:#fff}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table td.is-vcentered,.table th.is-vcentered{vertical-align:middle}.table th{color:#363636}.table th:not([align]){text-align:left}.table tr.is-selected{background-color:#00d1b2;color:#fff}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:#fff;color:currentColor}.table thead{background-color:transparent}.table thead td,.table thead th{border-width:0 0 2px;color:#363636}.table tfoot{background-color:transparent}.table tfoot td,.table tfoot th{border-width:2px 0 0;color:#363636}.table tbody{background-color:transparent}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover,.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(2n){background-color:#f5f5f5}.table.is-narrow td,.table.is-narrow th{padding:.25em .5em}.table.is-striped tbody tr:not(.is-selected):nth-child(2n){background-color:#fafafa}.table-container{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto;overflow-y:hidden}.subtitle,.title{word-break:break-word}.subtitle em,.subtitle span,.title em,.title span{font-weight:inherit}.subtitle sub,.subtitle sup,.title sub,.title sup{font-size:.75em}.subtitle .tag,.title .tag{vertical-align:middle}.title{color:#f5f5f5;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:#ededed;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:#ededed;font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.number{align-items:center;background-color:#f5f5f5;border-radius:9999px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:.25rem .5rem;text-align:center;vertical-align:top}.input,.select select,.textarea{background-color:#000;border-color:#7a7a7a;border-radius:4px;color:#f5f5f5}.input::-moz-placeholder,.select select::-moz-placeholder,.textarea::-moz-placeholder{color:#ededed}.input::-webkit-input-placeholder,.select select::-webkit-input-placeholder,.textarea::-webkit-input-placeholder{color:#ededed}.input:-moz-placeholder,.select select:-moz-placeholder,.textarea:-moz-placeholder{color:#ededed}.input:-ms-input-placeholder,.select select:-ms-input-placeholder,.textarea:-ms-input-placeholder{color:#ededed}.input:hover,.is-hovered.input,.is-hovered.textarea,.select select.is-hovered,.select select:hover,.textarea:hover{border-color:#1f89e5}.input:active,.input:focus,.is-active.input,.is-active.textarea,.is-focused.input,.is-focused.textarea,.select select.is-active,.select select.is-focused,.select select:active,.select select:focus,.textarea:active,.textarea:focus{border-color:#edf5fd;box-shadow:0 0 0 .125em rgba(31,137,229,.25)}.select fieldset[disabled] select,.select select[disabled],[disabled].input,[disabled].textarea,fieldset[disabled] .input,fieldset[disabled] .select select,fieldset[disabled] .textarea{background-color:#4a4a4a;border-color:#7a7a7a;box-shadow:none;color:#f5f5f5}.select fieldset[disabled] select::-moz-placeholder,.select select[disabled]::-moz-placeholder,[disabled].input::-moz-placeholder,[disabled].textarea::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder{color:#ededed}.select fieldset[disabled] select::-webkit-input-placeholder,.select select[disabled]::-webkit-input-placeholder,[disabled].input::-webkit-input-placeholder,[disabled].textarea::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder{color:#ededed}.select fieldset[disabled] select:-moz-placeholder,.select select[disabled]:-moz-placeholder,[disabled].input:-moz-placeholder,[disabled].textarea:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder{color:#ededed}.select fieldset[disabled] select:-ms-input-placeholder,.select select[disabled]:-ms-input-placeholder,[disabled].input:-ms-input-placeholder,[disabled].textarea:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder{color:#ededed}.input,.textarea{box-shadow:inset 0 .0625em .125em rgba(0,0,0,.05);max-width:100%;width:100%}[readonly].input,[readonly].textarea{box-shadow:none}.is-white.input,.is-white.textarea{border-color:#fff}.is-white.input:active,.is-white.input:focus,.is-white.is-active.input,.is-white.is-active.textarea,.is-white.is-focused.input,.is-white.is-focused.textarea,.is-white.textarea:active,.is-white.textarea:focus{box-shadow:0 0 0 .125em hsla(0,0%,100%,.25)}.is-black.input,.is-black.textarea{border-color:#000}.is-black.input:active,.is-black.input:focus,.is-black.is-active.input,.is-black.is-active.textarea,.is-black.is-focused.input,.is-black.is-focused.textarea,.is-black.textarea:active,.is-black.textarea:focus{box-shadow:0 0 0 .125em rgba(0,0,0,.25)}.is-light.input,.is-light.textarea{border-color:#f5f5f5}.is-light.input:active,.is-light.input:focus,.is-light.is-active.input,.is-light.is-active.textarea,.is-light.is-focused.input,.is-light.is-focused.textarea,.is-light.textarea:active,.is-light.textarea:focus{box-shadow:0 0 0 .125em hsla(0,0%,96%,.25)}.is-dark.input,.is-dark.textarea{border-color:#363636}.is-dark.input:active,.is-dark.input:focus,.is-dark.is-active.input,.is-dark.is-active.textarea,.is-dark.is-focused.input,.is-dark.is-focused.textarea,.is-dark.textarea:active,.is-dark.textarea:focus{box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.is-primary.input,.is-primary.textarea{border-color:#00d1b2}.is-primary.input:active,.is-primary.input:focus,.is-primary.is-active.input,.is-primary.is-active.textarea,.is-primary.is-focused.input,.is-primary.is-focused.textarea,.is-primary.textarea:active,.is-primary.textarea:focus{box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.is-link.input,.is-link.textarea{border-color:#1f89e5}.is-link.input:active,.is-link.input:focus,.is-link.is-active.input,.is-link.is-active.textarea,.is-link.is-focused.input,.is-link.is-focused.textarea,.is-link.textarea:active,.is-link.textarea:focus{box-shadow:0 0 0 .125em rgba(31,137,229,.25)}.is-info.input,.is-info.textarea{border-color:#4387f4}.is-info.input:active,.is-info.input:focus,.is-info.is-active.input,.is-info.is-active.textarea,.is-info.is-focused.input,.is-info.is-focused.textarea,.is-info.textarea:active,.is-info.textarea:focus{box-shadow:0 0 0 .125em rgba(67,135,244,.25)}.is-success.input,.is-success.textarea{border-color:#55b978}.is-success.input:active,.is-success.input:focus,.is-success.is-active.input,.is-success.is-active.textarea,.is-success.is-focused.input,.is-success.is-focused.textarea,.is-success.textarea:active,.is-success.textarea:focus{box-shadow:0 0 0 .125em rgba(85,185,120,.25)}.is-warning.input,.is-warning.textarea{border-color:#ffe08a}.is-warning.input:active,.is-warning.input:focus,.is-warning.is-active.input,.is-warning.is-active.textarea,.is-warning.is-focused.input,.is-warning.is-focused.textarea,.is-warning.textarea:active,.is-warning.textarea:focus{box-shadow:0 0 0 .125em rgba(255,224,138,.25)}.is-danger.input,.is-danger.textarea{border-color:#ff3860}.is-danger.input:active,.is-danger.input:focus,.is-danger.is-active.input,.is-danger.is-active.textarea,.is-danger.is-focused.input,.is-danger.is-focused.textarea,.is-danger.textarea:active,.is-danger.textarea:focus{box-shadow:0 0 0 .125em rgba(255,56,96,.25)}.is-small.input,.is-small.textarea{border-radius:2px;font-size:.75rem}.is-medium.input,.is-medium.textarea{font-size:1.25rem}.is-large.input,.is-large.textarea{font-size:1.5rem}.is-fullwidth.input,.is-fullwidth.textarea{display:block;width:100%}.is-inline.input,.is-inline.textarea{display:inline;width:auto}.input.is-rounded{border-radius:9999px;padding-left:calc(1.125em - 1px);padding-right:calc(1.125em - 1px)}.input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{display:block;max-width:100%;min-width:100%;padding:calc(.75em - 1px);resize:vertical}.textarea:not([rows]){max-height:40em;min-height:8em}.textarea[rows]{height:auto}.textarea.has-fixed-size{resize:none}.checkbox,.radio{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.checkbox input,.radio input{cursor:pointer}.checkbox:hover,.radio:hover{color:#363636}.checkbox input[disabled],.radio input[disabled],[disabled].checkbox,[disabled].radio,fieldset[disabled] .checkbox,fieldset[disabled] .radio{color:#f5f5f5;cursor:not-allowed}.radio+.radio{margin-left:.5em}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.5em}.select:not(.is-multiple):not(.is-loading):after{border-color:#1f89e5;right:1.125em;z-index:4}.select.is-rounded select{border-radius:9999px;padding-left:1em}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}.select select::-ms-expand{display:none}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:.5em 1em}.select:not(.is-multiple):not(.is-loading):hover:after{border-color:#363636}.select.is-white select,.select.is-white:not(:hover):after{border-color:#fff}.select.is-white select.is-hovered,.select.is-white select:hover{border-color:#f2f2f2}.select.is-white select.is-active,.select.is-white select.is-focused,.select.is-white select:active,.select.is-white select:focus{box-shadow:0 0 0 .125em hsla(0,0%,100%,.25)}.select.is-black select,.select.is-black select.is-hovered,.select.is-black select:hover,.select.is-black:not(:hover):after{border-color:#000}.select.is-black select.is-active,.select.is-black select.is-focused,.select.is-black select:active,.select.is-black select:focus{box-shadow:0 0 0 .125em rgba(0,0,0,.25)}.select.is-light select,.select.is-light:not(:hover):after{border-color:#f5f5f5}.select.is-light select.is-hovered,.select.is-light select:hover{border-color:#e8e8e8}.select.is-light select.is-active,.select.is-light select.is-focused,.select.is-light select:active,.select.is-light select:focus{box-shadow:0 0 0 .125em hsla(0,0%,96%,.25)}.select.is-dark select,.select.is-dark:not(:hover):after{border-color:#363636}.select.is-dark select.is-hovered,.select.is-dark select:hover{border-color:#292929}.select.is-dark select.is-active,.select.is-dark select.is-focused,.select.is-dark select:active,.select.is-dark select:focus{box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.select.is-primary select,.select.is-primary:not(:hover):after{border-color:#00d1b2}.select.is-primary select.is-hovered,.select.is-primary select:hover{border-color:#00b89c}.select.is-primary select.is-active,.select.is-primary select.is-focused,.select.is-primary select:active,.select.is-primary select:focus{box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.select.is-link select,.select.is-link:not(:hover):after{border-color:#1f89e5}.select.is-link select.is-hovered,.select.is-link select:hover{border-color:#197bd2}.select.is-link select.is-active,.select.is-link select.is-focused,.select.is-link select:active,.select.is-link select:focus{box-shadow:0 0 0 .125em rgba(31,137,229,.25)}.select.is-info select,.select.is-info:not(:hover):after{border-color:#4387f4}.select.is-info select.is-hovered,.select.is-info select:hover{border-color:#2b77f3}.select.is-info select.is-active,.select.is-info select.is-focused,.select.is-info select:active,.select.is-info select:focus{box-shadow:0 0 0 .125em rgba(67,135,244,.25)}.select.is-success select,.select.is-success:not(:hover):after{border-color:#55b978}.select.is-success select.is-hovered,.select.is-success select:hover{border-color:#47ae6b}.select.is-success select.is-active,.select.is-success select.is-focused,.select.is-success select:active,.select.is-success select:focus{box-shadow:0 0 0 .125em rgba(85,185,120,.25)}.select.is-warning select,.select.is-warning:not(:hover):after{border-color:#ffe08a}.select.is-warning select.is-hovered,.select.is-warning select:hover{border-color:#ffd970}.select.is-warning select.is-active,.select.is-warning select.is-focused,.select.is-warning select:active,.select.is-warning select:focus{box-shadow:0 0 0 .125em rgba(255,224,138,.25)}.select.is-danger select,.select.is-danger:not(:hover):after{border-color:#ff3860}.select.is-danger select.is-hovered,.select.is-danger select:hover{border-color:#ff1f4b}.select.is-danger select.is-active,.select.is-danger select.is-focused,.select.is-danger select:active,.select.is-danger select:focus{box-shadow:0 0 0 .125em rgba(255,56,96,.25)}.select.is-small{border-radius:2px;font-size:.75rem}.select.is-medium{font-size:1.25rem}.select.is-large{font-size:1.5rem}.select.is-disabled:after{border-color:#f5f5f5!important;opacity:.5}.select.is-fullwidth,.select.is-fullwidth select{width:100%}.select.is-loading:after{margin-top:0;position:absolute;right:.625em;top:.625em;transform:none}.select.is-loading.is-small:after{font-size:.75rem}.select.is-loading.is-medium:after{font-size:1.25rem}.select.is-loading.is-large:after{font-size:1.5rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#000}.file.is-white.is-hovered .file-cta,.file.is-white:hover .file-cta{background-color:#f9f9f9;border-color:transparent;color:#000}.file.is-white.is-focused .file-cta,.file.is-white:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em hsla(0,0%,100%,.25);color:#000}.file.is-white.is-active .file-cta,.file.is-white:active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#000}.file.is-black .file-cta,.file.is-black.is-hovered .file-cta,.file.is-black:hover .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-black.is-focused .file-cta,.file.is-black:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(0,0,0,.25);color:#fff}.file.is-black.is-active .file-cta,.file.is-black:active .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-light .file-cta{background-color:#f5f5f5;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-light.is-hovered .file-cta,.file.is-light:hover .file-cta{background-color:#eee;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-light.is-focused .file-cta,.file.is-light:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em hsla(0,0%,96%,.25);color:rgba(0,0,0,.7)}.file.is-light.is-active .file-cta,.file.is-light:active .file-cta{background-color:#e8e8e8;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-dark .file-cta{background-color:#363636;border-color:transparent;color:#fff}.file.is-dark.is-hovered .file-cta,.file.is-dark:hover .file-cta{background-color:#2f2f2f;border-color:transparent;color:#fff}.file.is-dark.is-focused .file-cta,.file.is-dark:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(54,54,54,.25);color:#fff}.file.is-dark.is-active .file-cta,.file.is-dark:active .file-cta{background-color:#292929;border-color:transparent;color:#fff}.file.is-primary .file-cta{background-color:#00d1b2;border-color:transparent;color:#fff}.file.is-primary.is-hovered .file-cta,.file.is-primary:hover .file-cta{background-color:#00c4a7;border-color:transparent;color:#fff}.file.is-primary.is-focused .file-cta,.file.is-primary:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(0,209,178,.25);color:#fff}.file.is-primary.is-active .file-cta,.file.is-primary:active .file-cta{background-color:#00b89c;border-color:transparent;color:#fff}.file.is-link .file-cta{background-color:#1f89e5;border-color:transparent;color:#fff}.file.is-link.is-hovered .file-cta,.file.is-link:hover .file-cta{background-color:#1a82dd;border-color:transparent;color:#fff}.file.is-link.is-focused .file-cta,.file.is-link:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(31,137,229,.25);color:#fff}.file.is-link.is-active .file-cta,.file.is-link:active .file-cta{background-color:#197bd2;border-color:transparent;color:#fff}.file.is-info .file-cta{background-color:#4387f4;border-color:transparent;color:#fff}.file.is-info.is-hovered .file-cta,.file.is-info:hover .file-cta{background-color:#377ff3;border-color:transparent;color:#fff}.file.is-info.is-focused .file-cta,.file.is-info:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(67,135,244,.25);color:#fff}.file.is-info.is-active .file-cta,.file.is-info:active .file-cta{background-color:#2b77f3;border-color:transparent;color:#fff}.file.is-success .file-cta{background-color:#55b978;border-color:transparent;color:#fff}.file.is-success.is-hovered .file-cta,.file.is-success:hover .file-cta{background-color:#4cb671;border-color:transparent;color:#fff}.file.is-success.is-focused .file-cta,.file.is-success:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(85,185,120,.25);color:#fff}.file.is-success.is-active .file-cta,.file.is-success:active .file-cta{background-color:#47ae6b;border-color:transparent;color:#fff}.file.is-warning .file-cta{background-color:#ffe08a;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-warning.is-hovered .file-cta,.file.is-warning:hover .file-cta{background-color:#ffdc7d;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-warning.is-focused .file-cta,.file.is-warning:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,224,138,.25);color:rgba(0,0,0,.7)}.file.is-warning.is-active .file-cta,.file.is-warning:active .file-cta{background-color:#ffd970;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-danger .file-cta{background-color:#ff3860;border-color:transparent;color:#fff}.file.is-danger.is-hovered .file-cta,.file.is-danger:hover .file-cta{background-color:#ff2b56;border-color:transparent;color:#fff}.file.is-danger.is-focused .file-cta,.file.is-danger:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,56,96,.25);color:#fff}.file.is-danger.is-active .file-cta,.file.is-danger:active .file-cta{background-color:#ff1f4b;border-color:transparent;color:#fff}.file.is-small{font-size:.75rem}.file.is-normal{font-size:1rem}.file.is-medium{font-size:1.25rem}.file.is-medium .file-icon .fa{font-size:21px}.file.is-large{font-size:1.5rem}.file.is-large .file-icon .fa{font-size:28px}.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}.file.has-name.is-empty .file-cta{border-radius:4px}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:21px}.file.is-boxed.is-small .file-icon .fa{font-size:14px}.file.is-boxed.is-medium .file-icon .fa{font-size:28px}.file.is-boxed.is-large .file-icon .fa{font-size:35px}.file.is-boxed.has-name .file-cta{border-radius:4px 4px 0 0}.file.is-boxed.has-name .file-name{border-radius:0 0 4px 4px;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 4px 4px 0}.file.is-right .file-name{border-radius:4px 0 0 4px;border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;cursor:pointer;display:flex;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover .file-cta{background-color:#eee;color:#363636}.file-label:hover .file-name{border-color:#d5d5d5}.file-label:active .file-cta{background-color:#e8e8e8;color:#363636}.file-label:active .file-name{border-color:#cfcfcf}.file-input{height:100%;left:0;opacity:0;outline:none;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:#dbdbdb;border-radius:4px;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:#f5f5f5;color:#f5f5f5}.file-name{border:1px solid #dbdbdb;border-left-width:0;display:block;max-width:16em;overflow:hidden;text-align:inherit;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:.5em;width:1em}.file-icon .fa{font-size:14px}.label{color:#363636;display:block;font-size:1rem;font-weight:700}.label:not(:last-child){margin-bottom:.5em}.label.is-small{font-size:.75rem}.label.is-medium{font-size:1.25rem}.label.is-large{font-size:1.5rem}.help{display:block;font-size:.75rem;margin-top:.25rem}.help.is-white{color:#fff}.help.is-black{color:#000}.help.is-light{color:#f5f5f5}.help.is-dark{color:#363636}.help.is-primary{color:#00d1b2}.help.is-link{color:#1f89e5}.help.is-info{color:#4387f4}.help.is-success{color:#55b978}.help.is-warning{color:#ffe08a}.help.is-danger{color:#ff3860}.field:not(:last-child){margin-bottom:.75rem}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-right:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control .button:not([disabled]).is-hovered,.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .input:not([disabled]).is-hovered,.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]).is-hovered,.field.has-addons .control .select select:not([disabled]):hover{z-index:2}.field.has-addons .control .button:not([disabled]).is-active,.field.has-addons .control .button:not([disabled]).is-focused,.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .input:not([disabled]).is-active,.field.has-addons .control .input:not([disabled]).is-focused,.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control .select select:not([disabled]).is-active,.field.has-addons .control .select select:not([disabled]).is-focused,.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select:not([disabled]):focus{z-index:3}.field.has-addons .control .button:not([disabled]).is-active:hover,.field.has-addons .control .button:not([disabled]).is-focused:hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .input:not([disabled]).is-active:hover,.field.has-addons .control .input:not([disabled]).is-focused:hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control .select select:not([disabled]).is-active:hover,.field.has-addons .control .select select:not([disabled]).is-focused:hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select:not([disabled]):focus:hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}.field.is-grouped.is-grouped-multiline>.control:last-child,.field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:.75rem}.field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-.75rem}.field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media print,screen and (min-width:769px){.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width:768px){.field-label{margin-bottom:.5rem}}@media print,screen and (min-width:769px){.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}.field-label.is-small{font-size:.75rem;padding-top:.375em}.field-label.is-normal{padding-top:.375em}.field-label.is-medium{font-size:1.25rem;padding-top:.375em}.field-label.is-large{font-size:1.5rem;padding-top:.375em}}.field-body .field .field{margin-bottom:0}@media print,screen and (min-width:769px){.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-right:.75rem}}.control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:inherit}.control.has-icons-left .input:focus~.icon,.control.has-icons-left .select:focus~.icon,.control.has-icons-right .input:focus~.icon,.control.has-icons-right .select:focus~.icon{color:#f5f5f5}.control.has-icons-left .input.is-small~.icon,.control.has-icons-left .select.is-small~.icon,.control.has-icons-right .input.is-small~.icon,.control.has-icons-right .select.is-small~.icon{font-size:.75rem}.control.has-icons-left .input.is-medium~.icon,.control.has-icons-left .select.is-medium~.icon,.control.has-icons-right .input.is-medium~.icon,.control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}.control.has-icons-left .input.is-large~.icon,.control.has-icons-left .select.is-large~.icon,.control.has-icons-right .input.is-large~.icon,.control.has-icons-right .select.is-large~.icon{font-size:1.5rem}.control.has-icons-left .icon,.control.has-icons-right .icon{color:#dbdbdb;height:2.5em;pointer-events:none;position:absolute;top:0;width:2.5em;z-index:4}.control.has-icons-left .input,.control.has-icons-left .select select{padding-left:2.5em}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right .select select{padding-right:2.5em}.control.has-icons-right .icon.is-right{right:0}.control.is-loading:after{position:absolute!important;right:.625em;top:.625em;z-index:4}.control.is-loading.is-small:after{font-size:.75rem}.control.is-loading.is-medium:after{font-size:1.25rem}.control.is-loading.is-large:after{font-size:1.5rem}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}.level.is-mobile,.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-left+.level-right{margin-top:0}.level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media print,screen and (min-width:769px){.level{display:flex}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .subtitle,.level-item .title{margin-bottom:0}@media screen and (max-width:768px){.level-item:not(:last-child){margin-bottom:.75rem}}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}@media print,screen and (min-width:769px){.level-left .level-item:not(:last-child),.level-right .level-item:not(:last-child){margin-right:.75rem}}.level-left{align-items:center;justify-content:flex-start}@media screen and (max-width:768px){.level-left+.level-right{margin-top:1.5rem}}@media print,screen and (min-width:769px){.level-left{display:flex}}.level-right{align-items:center;justify-content:flex-end}@media print,screen and (min-width:769px){.level-right{display:flex}}.menu{font-size:1rem}.menu.is-small{font-size:.75rem}.menu.is-medium{font-size:1.25rem}.menu.is-large{font-size:1.5rem}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:#f5f5f5;display:block;padding:.5em .75em}.menu-list a:hover{background-color:#f5f5f5;color:#363636}.menu-list a.is-active{background-color:#1f89e5;color:#fff}.menu-list li ul{border-left:1px solid #dbdbdb;margin:.75em;padding-left:.75em}.menu-label{color:#7a7a7a;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}.menu-label:not(:first-child){margin-top:1em}.menu-label:not(:last-child){margin-bottom:1em}.message{background-color:#f5f5f5;border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small{font-size:.75rem}.message.is-medium{font-size:1.25rem}.message.is-large{font-size:1.5rem}.message.is-white{background-color:#fff}.message.is-white .message-header{background-color:#fff;color:#000}.message.is-white .message-body{border-color:#fff}.message.is-black{background-color:#fafafa}.message.is-black .message-header{background-color:#000;color:#fff}.message.is-black .message-body{border-color:#000}.message.is-light{background-color:#fafafa}.message.is-light .message-header{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.message.is-light .message-body{border-color:#f5f5f5}.message.is-dark{background-color:#fafafa}.message.is-dark .message-header{background-color:#363636;color:#fff}.message.is-dark .message-body{border-color:#363636}.message.is-primary{background-color:#ebfffc}.message.is-primary .message-header{background-color:#00d1b2;color:#fff}.message.is-primary .message-body{border-color:#00d1b2;color:#00947e}.message.is-link{background-color:#edf5fd}.message.is-link .message-header{background-color:#1f89e5;color:#fff}.message.is-link .message-body{border-color:#1f89e5;color:#1671c0}.message.is-info{background-color:#ecf3fe}.message.is-info .message-header{background-color:#4387f4;color:#fff}.message.is-info .message-body{border-color:#4387f4;color:#0c53c6}.message.is-success{background-color:#f1f9f4}.message.is-success .message-header{background-color:#55b978;color:#fff}.message.is-success .message-body{border-color:#55b978;color:#327b4c}.message.is-warning{background-color:#fffaeb}.message.is-warning .message-header{background-color:#ffe08a;color:rgba(0,0,0,.7)}.message.is-warning .message-body{border-color:#ffe08a;color:#946c00}.message.is-danger{background-color:#ffebef}.message.is-danger .message-header{background-color:#ff3860;color:#fff}.message.is-danger .message-body{border-color:#ff3860;color:#db002c}.message-header{align-items:center;background-color:#f5f5f5;border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:.75em}.message-header+.message-body{border-top-left-radius:0;border-top-right-radius:0;border-width:0}.message-body{border:solid #dbdbdb;border-radius:4px;border-width:0 0 0 4px;padding:1.25em 1.5em}.message-body code,.message-body pre{background-color:#000}.message-body pre code{background-color:transparent}.pagination{font-size:1rem;margin:-.25rem}.pagination.is-small{font-size:.75rem}.pagination.is-medium{font-size:1.25rem}.pagination.is-large{font-size:1.5rem}.pagination.is-rounded .pagination-next,.pagination.is-rounded .pagination-previous{border-radius:9999px;padding-left:1em;padding-right:1em}.pagination.is-rounded .pagination-link{border-radius:9999px}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}.pagination-link,.pagination-next,.pagination-previous{border-color:#f5f5f5;color:#f5f5f5;min-width:2.5em}.pagination-link:hover,.pagination-next:hover,.pagination-previous:hover{border-color:#f5f5f5;color:#000}.pagination-link:focus,.pagination-next:focus,.pagination-previous:focus{border-color:#1f89e5}.pagination-link:active,.pagination-next:active,.pagination-previous:active{box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.pagination-link.is-disabled,.pagination-link[disabled],.pagination-next.is-disabled,.pagination-next[disabled],.pagination-previous.is-disabled,.pagination-previous[disabled]{background-color:#4a4a4a;border-color:#7a7a7a;box-shadow:none;color:#a3a3a3;opacity:.5}.pagination-next,.pagination-previous{padding-left:.75em;padding-right:.75em;white-space:nowrap}.pagination-link.is-current{background-color:#1f89e5;border-color:#1f89e5;color:#fff}.pagination-ellipsis{color:#b5b5b5;pointer-events:none}.pagination-list{flex-wrap:wrap}.pagination-list li{list-style:none}@media screen and (max-width:768px){.pagination{flex-wrap:wrap}.pagination-list li,.pagination-next,.pagination-previous{flex-grow:1;flex-shrink:1}}@media print,screen and (min-width:769px){.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous{margin-bottom:0;margin-top:0}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between;margin-bottom:0;margin-top:0}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom:1px solid #dbdbdb;color:#f5f5f5;display:flex;justify-content:center;margin-bottom:-1px;padding:.5em 1em;vertical-align:top}.tabs a:hover{border-bottom-color:#363636;color:#f5f5f5}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:#1f89e5;color:#1f89e5}.tabs ul{align-items:center;border-bottom:1px solid #dbdbdb;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-center,.tabs ul.is-left{padding-right:.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:.75em}.tabs .icon:first-child{margin-right:.5em}.tabs .icon:last-child{margin-left:.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.tabs.is-boxed a:hover{background-color:#363636;border-bottom-color:#7a7a7a}.tabs.is-boxed li.is-active a{background-color:#000;border-bottom-color:transparent!important;border-color:#7a7a7a}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border:1px solid #dbdbdb;margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:#f5f5f5;border-color:#1f89e5;z-index:2}.tabs.is-toggle li+li{margin-left:-1px}.tabs.is-toggle li:first-child a{border-bottom-left-radius:4px;border-top-left-radius:4px}.tabs.is-toggle li:last-child a{border-bottom-right-radius:4px;border-top-right-radius:4px}.tabs.is-toggle li.is-active a{background-color:#1f89e5;border-color:#1f89e5;color:#fff;z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:9999px;border-top-left-radius:9999px;padding-left:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:9999px;border-top-right-radius:9999px;padding-right:1.25em}.tabs.is-small{font-size:.75rem}.tabs.is-medium{font-size:1.25rem}.tabs.is-large{font-size:1.5rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-narrow{flex:none;width:auto}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-left:50%}.columns.is-mobile>.column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>.column.is-0{flex:none;width:0}.columns.is-mobile>.column.is-offset-0{margin-left:0}.columns.is-mobile>.column.is-1{flex:none;width:8.33333337%}.columns.is-mobile>.column.is-offset-1{margin-left:8.33333337%}.columns.is-mobile>.column.is-2{flex:none;width:16.66666674%}.columns.is-mobile>.column.is-offset-2{margin-left:16.66666674%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-left:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.33333337%}.columns.is-mobile>.column.is-offset-4{margin-left:33.33333337%}.columns.is-mobile>.column.is-5{flex:none;width:41.66666674%}.columns.is-mobile>.column.is-offset-5{margin-left:41.66666674%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-left:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.33333337%}.columns.is-mobile>.column.is-offset-7{margin-left:58.33333337%}.columns.is-mobile>.column.is-8{flex:none;width:66.66666674%}.columns.is-mobile>.column.is-offset-8{margin-left:66.66666674%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-left:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.33333337%}.columns.is-mobile>.column.is-offset-10{margin-left:83.33333337%}.columns.is-mobile>.column.is-11{flex:none;width:91.66666674%}.columns.is-mobile>.column.is-offset-11{margin-left:91.66666674%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-left:100%}@media screen and (max-width:768px){.column.is-narrow-mobile{flex:none;width:auto}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-left:75%}.column.is-offset-two-thirds-mobile{margin-left:66.6666%}.column.is-offset-half-mobile{margin-left:50%}.column.is-offset-one-third-mobile{margin-left:33.3333%}.column.is-offset-one-quarter-mobile{margin-left:25%}.column.is-offset-one-fifth-mobile{margin-left:20%}.column.is-offset-two-fifths-mobile{margin-left:40%}.column.is-offset-three-fifths-mobile{margin-left:60%}.column.is-offset-four-fifths-mobile{margin-left:80%}.column.is-0-mobile{flex:none;width:0}.column.is-offset-0-mobile{margin-left:0}.column.is-1-mobile{flex:none;width:8.33333337%}.column.is-offset-1-mobile{margin-left:8.33333337%}.column.is-2-mobile{flex:none;width:16.66666674%}.column.is-offset-2-mobile{margin-left:16.66666674%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-left:25%}.column.is-4-mobile{flex:none;width:33.33333337%}.column.is-offset-4-mobile{margin-left:33.33333337%}.column.is-5-mobile{flex:none;width:41.66666674%}.column.is-offset-5-mobile{margin-left:41.66666674%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-left:50%}.column.is-7-mobile{flex:none;width:58.33333337%}.column.is-offset-7-mobile{margin-left:58.33333337%}.column.is-8-mobile{flex:none;width:66.66666674%}.column.is-offset-8-mobile{margin-left:66.66666674%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-left:75%}.column.is-10-mobile{flex:none;width:83.33333337%}.column.is-offset-10-mobile{margin-left:83.33333337%}.column.is-11-mobile{flex:none;width:91.66666674%}.column.is-offset-11-mobile{margin-left:91.66666674%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-left:100%}}@media print,screen and (min-width:769px){.column.is-narrow,.column.is-narrow-tablet{flex:none;width:auto}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-left:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-left:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-left:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-left:33.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-left:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-left:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-left:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-left:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-left:80%}.column.is-0,.column.is-0-tablet{flex:none;width:0}.column.is-offset-0,.column.is-offset-0-tablet{margin-left:0}.column.is-1,.column.is-1-tablet{flex:none;width:8.33333337%}.column.is-offset-1,.column.is-offset-1-tablet{margin-left:8.33333337%}.column.is-2,.column.is-2-tablet{flex:none;width:16.66666674%}.column.is-offset-2,.column.is-offset-2-tablet{margin-left:16.66666674%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-left:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.33333337%}.column.is-offset-4,.column.is-offset-4-tablet{margin-left:33.33333337%}.column.is-5,.column.is-5-tablet{flex:none;width:41.66666674%}.column.is-offset-5,.column.is-offset-5-tablet{margin-left:41.66666674%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-left:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.33333337%}.column.is-offset-7,.column.is-offset-7-tablet{margin-left:58.33333337%}.column.is-8,.column.is-8-tablet{flex:none;width:66.66666674%}.column.is-offset-8,.column.is-offset-8-tablet{margin-left:66.66666674%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-left:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.33333337%}.column.is-offset-10,.column.is-offset-10-tablet{margin-left:83.33333337%}.column.is-11,.column.is-11-tablet{flex:none;width:91.66666674%}.column.is-offset-11,.column.is-offset-11-tablet{margin-left:91.66666674%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width:1023px){.column.is-narrow-touch{flex:none;width:auto}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-left:75%}.column.is-offset-two-thirds-touch{margin-left:66.6666%}.column.is-offset-half-touch{margin-left:50%}.column.is-offset-one-third-touch{margin-left:33.3333%}.column.is-offset-one-quarter-touch{margin-left:25%}.column.is-offset-one-fifth-touch{margin-left:20%}.column.is-offset-two-fifths-touch{margin-left:40%}.column.is-offset-three-fifths-touch{margin-left:60%}.column.is-offset-four-fifths-touch{margin-left:80%}.column.is-0-touch{flex:none;width:0}.column.is-offset-0-touch{margin-left:0}.column.is-1-touch{flex:none;width:8.33333337%}.column.is-offset-1-touch{margin-left:8.33333337%}.column.is-2-touch{flex:none;width:16.66666674%}.column.is-offset-2-touch{margin-left:16.66666674%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-left:25%}.column.is-4-touch{flex:none;width:33.33333337%}.column.is-offset-4-touch{margin-left:33.33333337%}.column.is-5-touch{flex:none;width:41.66666674%}.column.is-offset-5-touch{margin-left:41.66666674%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-left:50%}.column.is-7-touch{flex:none;width:58.33333337%}.column.is-offset-7-touch{margin-left:58.33333337%}.column.is-8-touch{flex:none;width:66.66666674%}.column.is-offset-8-touch{margin-left:66.66666674%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-left:75%}.column.is-10-touch{flex:none;width:83.33333337%}.column.is-offset-10-touch{margin-left:83.33333337%}.column.is-11-touch{flex:none;width:91.66666674%}.column.is-offset-11-touch{margin-left:91.66666674%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width:1024px){.column.is-narrow-desktop{flex:none;width:auto}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-left:75%}.column.is-offset-two-thirds-desktop{margin-left:66.6666%}.column.is-offset-half-desktop{margin-left:50%}.column.is-offset-one-third-desktop{margin-left:33.3333%}.column.is-offset-one-quarter-desktop{margin-left:25%}.column.is-offset-one-fifth-desktop{margin-left:20%}.column.is-offset-two-fifths-desktop{margin-left:40%}.column.is-offset-three-fifths-desktop{margin-left:60%}.column.is-offset-four-fifths-desktop{margin-left:80%}.column.is-0-desktop{flex:none;width:0}.column.is-offset-0-desktop{margin-left:0}.column.is-1-desktop{flex:none;width:8.33333337%}.column.is-offset-1-desktop{margin-left:8.33333337%}.column.is-2-desktop{flex:none;width:16.66666674%}.column.is-offset-2-desktop{margin-left:16.66666674%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-left:25%}.column.is-4-desktop{flex:none;width:33.33333337%}.column.is-offset-4-desktop{margin-left:33.33333337%}.column.is-5-desktop{flex:none;width:41.66666674%}.column.is-offset-5-desktop{margin-left:41.66666674%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-left:50%}.column.is-7-desktop{flex:none;width:58.33333337%}.column.is-offset-7-desktop{margin-left:58.33333337%}.column.is-8-desktop{flex:none;width:66.66666674%}.column.is-offset-8-desktop{margin-left:66.66666674%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-left:75%}.column.is-10-desktop{flex:none;width:83.33333337%}.column.is-offset-10-desktop{margin-left:83.33333337%}.column.is-11-desktop{flex:none;width:91.66666674%}.column.is-offset-11-desktop{margin-left:91.66666674%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width:1216px){.column.is-narrow-widescreen{flex:none;width:auto}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-left:75%}.column.is-offset-two-thirds-widescreen{margin-left:66.6666%}.column.is-offset-half-widescreen{margin-left:50%}.column.is-offset-one-third-widescreen{margin-left:33.3333%}.column.is-offset-one-quarter-widescreen{margin-left:25%}.column.is-offset-one-fifth-widescreen{margin-left:20%}.column.is-offset-two-fifths-widescreen{margin-left:40%}.column.is-offset-three-fifths-widescreen{margin-left:60%}.column.is-offset-four-fifths-widescreen{margin-left:80%}.column.is-0-widescreen{flex:none;width:0}.column.is-offset-0-widescreen{margin-left:0}.column.is-1-widescreen{flex:none;width:8.33333337%}.column.is-offset-1-widescreen{margin-left:8.33333337%}.column.is-2-widescreen{flex:none;width:16.66666674%}.column.is-offset-2-widescreen{margin-left:16.66666674%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-left:25%}.column.is-4-widescreen{flex:none;width:33.33333337%}.column.is-offset-4-widescreen{margin-left:33.33333337%}.column.is-5-widescreen{flex:none;width:41.66666674%}.column.is-offset-5-widescreen{margin-left:41.66666674%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-left:50%}.column.is-7-widescreen{flex:none;width:58.33333337%}.column.is-offset-7-widescreen{margin-left:58.33333337%}.column.is-8-widescreen{flex:none;width:66.66666674%}.column.is-offset-8-widescreen{margin-left:66.66666674%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-left:75%}.column.is-10-widescreen{flex:none;width:83.33333337%}.column.is-offset-10-widescreen{margin-left:83.33333337%}.column.is-11-widescreen{flex:none;width:91.66666674%}.column.is-offset-11-widescreen{margin-left:91.66666674%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width:1408px){.column.is-narrow-fullhd{flex:none;width:auto}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-left:75%}.column.is-offset-two-thirds-fullhd{margin-left:66.6666%}.column.is-offset-half-fullhd{margin-left:50%}.column.is-offset-one-third-fullhd{margin-left:33.3333%}.column.is-offset-one-quarter-fullhd{margin-left:25%}.column.is-offset-one-fifth-fullhd{margin-left:20%}.column.is-offset-two-fifths-fullhd{margin-left:40%}.column.is-offset-three-fifths-fullhd{margin-left:60%}.column.is-offset-four-fifths-fullhd{margin-left:80%}.column.is-0-fullhd{flex:none;width:0}.column.is-offset-0-fullhd{margin-left:0}.column.is-1-fullhd{flex:none;width:8.33333337%}.column.is-offset-1-fullhd{margin-left:8.33333337%}.column.is-2-fullhd{flex:none;width:16.66666674%}.column.is-offset-2-fullhd{margin-left:16.66666674%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-left:25%}.column.is-4-fullhd{flex:none;width:33.33333337%}.column.is-offset-4-fullhd{margin-left:33.33333337%}.column.is-5-fullhd{flex:none;width:41.66666674%}.column.is-offset-5-fullhd{margin-left:41.66666674%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-left:50%}.column.is-7-fullhd{flex:none;width:58.33333337%}.column.is-offset-7-fullhd{margin-left:58.33333337%}.column.is-8-fullhd{flex:none;width:66.66666674%}.column.is-offset-8-fullhd{margin-left:66.66666674%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-left:75%}.column.is-10-fullhd{flex:none;width:83.33333337%}.column.is-offset-10-fullhd{margin-left:83.33333337%}.column.is-11-fullhd{flex:none;width:91.66666674%}.column.is-offset-11-fullhd{margin-left:91.66666674%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-left:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:.75rem}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0!important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media print,screen and (min-width:769px){.columns:not(.is-desktop){display:flex}}@media screen and (min-width:1024px){.columns.is-desktop{display:flex}}.columns.is-variable{--columnGap:0.75rem;margin-left:calc(var(--columnGap)*-1);margin-right:calc(var(--columnGap)*-1)}.columns.is-variable>.column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-0{--columnGap:0rem}@media screen and (max-width:768px){.columns.is-variable.is-0-mobile{--columnGap:0rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-0-tablet{--columnGap:0rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-0-tablet-only{--columnGap:0rem}}@media screen and (max-width:1023px){.columns.is-variable.is-0-touch{--columnGap:0rem}}@media screen and (min-width:1024px){.columns.is-variable.is-0-desktop{--columnGap:0rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-0-desktop-only{--columnGap:0rem}}@media screen and (min-width:1216px){.columns.is-variable.is-0-widescreen{--columnGap:0rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-0-widescreen-only{--columnGap:0rem}}@media screen and (min-width:1408px){.columns.is-variable.is-0-fullhd{--columnGap:0rem}}.columns.is-variable.is-1{--columnGap:0.25rem}@media screen and (max-width:768px){.columns.is-variable.is-1-mobile{--columnGap:0.25rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-1-tablet{--columnGap:0.25rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-1-tablet-only{--columnGap:0.25rem}}@media screen and (max-width:1023px){.columns.is-variable.is-1-touch{--columnGap:0.25rem}}@media screen and (min-width:1024px){.columns.is-variable.is-1-desktop{--columnGap:0.25rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-1-desktop-only{--columnGap:0.25rem}}@media screen and (min-width:1216px){.columns.is-variable.is-1-widescreen{--columnGap:0.25rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-1-widescreen-only{--columnGap:0.25rem}}@media screen and (min-width:1408px){.columns.is-variable.is-1-fullhd{--columnGap:0.25rem}}.columns.is-variable.is-2{--columnGap:0.5rem}@media screen and (max-width:768px){.columns.is-variable.is-2-mobile{--columnGap:0.5rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-2-tablet{--columnGap:0.5rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-2-tablet-only{--columnGap:0.5rem}}@media screen and (max-width:1023px){.columns.is-variable.is-2-touch{--columnGap:0.5rem}}@media screen and (min-width:1024px){.columns.is-variable.is-2-desktop{--columnGap:0.5rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-2-desktop-only{--columnGap:0.5rem}}@media screen and (min-width:1216px){.columns.is-variable.is-2-widescreen{--columnGap:0.5rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-2-widescreen-only{--columnGap:0.5rem}}@media screen and (min-width:1408px){.columns.is-variable.is-2-fullhd{--columnGap:0.5rem}}.columns.is-variable.is-3{--columnGap:0.75rem}@media screen and (max-width:768px){.columns.is-variable.is-3-mobile{--columnGap:0.75rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-3-tablet{--columnGap:0.75rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-3-tablet-only{--columnGap:0.75rem}}@media screen and (max-width:1023px){.columns.is-variable.is-3-touch{--columnGap:0.75rem}}@media screen and (min-width:1024px){.columns.is-variable.is-3-desktop{--columnGap:0.75rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-3-desktop-only{--columnGap:0.75rem}}@media screen and (min-width:1216px){.columns.is-variable.is-3-widescreen{--columnGap:0.75rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-3-widescreen-only{--columnGap:0.75rem}}@media screen and (min-width:1408px){.columns.is-variable.is-3-fullhd{--columnGap:0.75rem}}.columns.is-variable.is-4{--columnGap:1rem}@media screen and (max-width:768px){.columns.is-variable.is-4-mobile{--columnGap:1rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-4-tablet{--columnGap:1rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-4-tablet-only{--columnGap:1rem}}@media screen and (max-width:1023px){.columns.is-variable.is-4-touch{--columnGap:1rem}}@media screen and (min-width:1024px){.columns.is-variable.is-4-desktop{--columnGap:1rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-4-desktop-only{--columnGap:1rem}}@media screen and (min-width:1216px){.columns.is-variable.is-4-widescreen{--columnGap:1rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-4-widescreen-only{--columnGap:1rem}}@media screen and (min-width:1408px){.columns.is-variable.is-4-fullhd{--columnGap:1rem}}.columns.is-variable.is-5{--columnGap:1.25rem}@media screen and (max-width:768px){.columns.is-variable.is-5-mobile{--columnGap:1.25rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-5-tablet{--columnGap:1.25rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-5-tablet-only{--columnGap:1.25rem}}@media screen and (max-width:1023px){.columns.is-variable.is-5-touch{--columnGap:1.25rem}}@media screen and (min-width:1024px){.columns.is-variable.is-5-desktop{--columnGap:1.25rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-5-desktop-only{--columnGap:1.25rem}}@media screen and (min-width:1216px){.columns.is-variable.is-5-widescreen{--columnGap:1.25rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-5-widescreen-only{--columnGap:1.25rem}}@media screen and (min-width:1408px){.columns.is-variable.is-5-fullhd{--columnGap:1.25rem}}.columns.is-variable.is-6{--columnGap:1.5rem}@media screen and (max-width:768px){.columns.is-variable.is-6-mobile{--columnGap:1.5rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-6-tablet{--columnGap:1.5rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-6-tablet-only{--columnGap:1.5rem}}@media screen and (max-width:1023px){.columns.is-variable.is-6-touch{--columnGap:1.5rem}}@media screen and (min-width:1024px){.columns.is-variable.is-6-desktop{--columnGap:1.5rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-6-desktop-only{--columnGap:1.5rem}}@media screen and (min-width:1216px){.columns.is-variable.is-6-widescreen{--columnGap:1.5rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-6-widescreen-only{--columnGap:1.5rem}}@media screen and (min-width:1408px){.columns.is-variable.is-6-fullhd{--columnGap:1.5rem}}.columns.is-variable.is-7{--columnGap:1.75rem}@media screen and (max-width:768px){.columns.is-variable.is-7-mobile{--columnGap:1.75rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-7-tablet{--columnGap:1.75rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-7-tablet-only{--columnGap:1.75rem}}@media screen and (max-width:1023px){.columns.is-variable.is-7-touch{--columnGap:1.75rem}}@media screen and (min-width:1024px){.columns.is-variable.is-7-desktop{--columnGap:1.75rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-7-desktop-only{--columnGap:1.75rem}}@media screen and (min-width:1216px){.columns.is-variable.is-7-widescreen{--columnGap:1.75rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-7-widescreen-only{--columnGap:1.75rem}}@media screen and (min-width:1408px){.columns.is-variable.is-7-fullhd{--columnGap:1.75rem}}.columns.is-variable.is-8{--columnGap:2rem}@media screen and (max-width:768px){.columns.is-variable.is-8-mobile{--columnGap:2rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-8-tablet{--columnGap:2rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-8-tablet-only{--columnGap:2rem}}@media screen and (max-width:1023px){.columns.is-variable.is-8-touch{--columnGap:2rem}}@media screen and (min-width:1024px){.columns.is-variable.is-8-desktop{--columnGap:2rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-8-desktop-only{--columnGap:2rem}}@media screen and (min-width:1216px){.columns.is-variable.is-8-widescreen{--columnGap:2rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-8-widescreen-only{--columnGap:2rem}}@media screen and (min-width:1408px){.columns.is-variable.is-8-fullhd{--columnGap:2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:-webkit-min-content;min-height:-moz-min-content;min-height:min-content}.tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.tile.is-ancestor:last-child{margin-bottom:-.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0!important}.tile.is-parent{padding:.75rem}.tile.is-vertical{flex-direction:column}.tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem!important}@media print,screen and (min-width:769px){.tile:not(.is-child){display:flex}.tile.is-1{flex:none;width:8.33333337%}.tile.is-2{flex:none;width:16.66666674%}.tile.is-3{flex:none;width:25%}.tile.is-4{flex:none;width:33.33333337%}.tile.is-5{flex:none;width:41.66666674%}.tile.is-6{flex:none;width:50%}.tile.is-7{flex:none;width:58.33333337%}.tile.is-8{flex:none;width:66.66666674%}.tile.is-9{flex:none;width:75%}.tile.is-10{flex:none;width:83.33333337%}.tile.is-11{flex:none;width:91.66666674%}.tile.is-12{flex:none;width:100%}}.has-text-white{color:#fff!important}a.has-text-white:focus,a.has-text-white:hover{color:#e6e6e6!important}.has-background-white{background-color:#fff!important}.has-text-black,a.has-text-black:focus,a.has-text-black:hover{color:#000!important}.has-background-black{background-color:#000!important}.has-text-light{color:#f5f5f5!important}a.has-text-light:focus,a.has-text-light:hover{color:#dbdbdb!important}.has-background-light{background-color:#f5f5f5!important}.has-text-dark{color:#363636!important}a.has-text-dark:focus,a.has-text-dark:hover{color:#1c1c1c!important}.has-background-dark{background-color:#363636!important}.has-text-primary{color:#00d1b2!important}a.has-text-primary:focus,a.has-text-primary:hover{color:#009e86!important}.has-background-primary{background-color:#00d1b2!important}.has-text-primary-light{color:#ebfffc!important}a.has-text-primary-light:focus,a.has-text-primary-light:hover{color:#b8fff4!important}.has-background-primary-light{background-color:#ebfffc!important}.has-text-primary-dark{color:#00947e!important}a.has-text-primary-dark:focus,a.has-text-primary-dark:hover{color:#00c7a9!important}.has-background-primary-dark{background-color:#00947e!important}.has-text-link{color:#1f89e5!important}a.has-text-link:focus,a.has-text-link:hover{color:#166ebb!important}.has-background-link{background-color:#1f89e5!important}.has-text-link-light{color:#edf5fd!important}a.has-text-link-light:focus,a.has-text-link-light:hover{color:#bfddf8!important}.has-background-link-light{background-color:#edf5fd!important}.has-text-link-dark{color:#1671c0!important}a.has-text-link-dark:focus,a.has-text-link-dark:hover{color:#248be5!important}.has-background-link-dark{background-color:#1671c0!important}.has-text-info{color:#4387f4!important}a.has-text-info:focus,a.has-text-info:hover{color:#1368f1!important}.has-background-info{background-color:#4387f4!important}.has-text-info-light{color:#ecf3fe!important}a.has-text-info-light:focus,a.has-text-info-light:hover{color:#bcd4fb!important}.has-background-info-light{background-color:#ecf3fe!important}.has-text-info-dark{color:#0c53c6!important}a.has-text-info-dark:focus,a.has-text-info-dark:hover{color:#1368f1!important}.has-background-info-dark{background-color:#0c53c6!important}.has-text-success{color:#55b978!important}a.has-text-success:focus,a.has-text-success:hover{color:#409c60!important}.has-background-success{background-color:#55b978!important}.has-text-success-light{color:#f1f9f4!important}a.has-text-success-light:focus,a.has-text-success-light:hover{color:#ccead7!important}.has-background-success-light{background-color:#f1f9f4!important}.has-text-success-dark{color:#327b4c!important}a.has-text-success-dark:focus,a.has-text-success-dark:hover{color:#419f62!important}.has-background-success-dark{background-color:#327b4c!important}.has-text-warning{color:#ffe08a!important}a.has-text-warning:focus,a.has-text-warning:hover{color:#ffd257!important}.has-background-warning{background-color:#ffe08a!important}.has-text-warning-light{color:#fffaeb!important}a.has-text-warning-light:focus,a.has-text-warning-light:hover{color:#ffecb8!important}.has-background-warning-light{background-color:#fffaeb!important}.has-text-warning-dark{color:#946c00!important}a.has-text-warning-dark:focus,a.has-text-warning-dark:hover{color:#c79200!important}.has-background-warning-dark{background-color:#946c00!important}.has-text-danger{color:#ff3860!important}a.has-text-danger:focus,a.has-text-danger:hover{color:#ff0537!important}.has-background-danger{background-color:#ff3860!important}.has-text-danger-light{color:#ffebef!important}a.has-text-danger-light:focus,a.has-text-danger-light:hover{color:#ffb8c6!important}.has-background-danger-light{background-color:#ffebef!important}.has-text-danger-dark{color:#db002c!important}a.has-text-danger-dark:focus,a.has-text-danger-dark:hover{color:#ff0f3f!important}.has-background-danger-dark{background-color:#db002c!important}.has-text-black-bis{color:#121212!important}.has-background-black-bis{background-color:#121212!important}.has-text-black-ter{color:#242424!important}.has-background-black-ter{background-color:#242424!important}.has-text-grey-darker{color:#363636!important}.has-background-grey-darker{background-color:#363636!important}.has-text-grey-dark{color:#4a4a4a!important}.has-background-grey-dark{background-color:#4a4a4a!important}.has-text-grey{color:#7a7a7a!important}.has-background-grey{background-color:#7a7a7a!important}.has-text-grey-light{color:#b5b5b5!important}.has-background-grey-light{background-color:#b5b5b5!important}.has-text-grey-lighter{color:#dbdbdb!important}.has-background-grey-lighter{background-color:#dbdbdb!important}.has-text-white-ter{color:#f5f5f5!important}.has-background-white-ter{background-color:#f5f5f5!important}.has-text-white-bis{color:#fafafa!important}.has-background-white-bis{background-color:#fafafa!important}.is-flex-direction-row{flex-direction:row!important}.is-flex-direction-row-reverse{flex-direction:row-reverse!important}.is-flex-direction-column{flex-direction:column!important}.is-flex-direction-column-reverse{flex-direction:column-reverse!important}.is-flex-wrap-nowrap{flex-wrap:nowrap!important}.is-flex-wrap-wrap{flex-wrap:wrap!important}.is-flex-wrap-wrap-reverse{flex-wrap:wrap-reverse!important}.is-justify-content-flex-start{justify-content:flex-start!important}.is-justify-content-flex-end{justify-content:flex-end!important}.is-justify-content-center{justify-content:center!important}.is-justify-content-space-between{justify-content:space-between!important}.is-justify-content-space-around{justify-content:space-around!important}.is-justify-content-space-evenly{justify-content:space-evenly!important}.is-justify-content-start{justify-content:start!important}.is-justify-content-end{justify-content:end!important}.is-justify-content-left{justify-content:left!important}.is-justify-content-right{justify-content:right!important}.is-align-content-flex-start{align-content:flex-start!important}.is-align-content-flex-end{align-content:flex-end!important}.is-align-content-center{align-content:center!important}.is-align-content-space-between{align-content:space-between!important}.is-align-content-space-around{align-content:space-around!important}.is-align-content-space-evenly{align-content:space-evenly!important}.is-align-content-stretch{align-content:stretch!important}.is-align-content-start{align-content:start!important}.is-align-content-end{align-content:end!important}.is-align-content-baseline{align-content:baseline!important}.is-align-items-stretch{align-items:stretch!important}.is-align-items-flex-start{align-items:flex-start!important}.is-align-items-flex-end{align-items:flex-end!important}.is-align-items-center{align-items:center!important}.is-align-items-baseline{align-items:baseline!important}.is-align-items-start{align-items:start!important}.is-align-items-end{align-items:end!important}.is-align-items-self-start{align-items:self-start!important}.is-align-items-self-end{align-items:self-end!important}.is-align-self-auto{align-self:auto!important}.is-align-self-flex-start{align-self:flex-start!important}.is-align-self-flex-end{align-self:flex-end!important}.is-align-self-center{align-self:center!important}.is-align-self-baseline{align-self:baseline!important}.is-align-self-stretch{align-self:stretch!important}.is-flex-grow-0{flex-grow:0!important}.is-flex-grow-1{flex-grow:1!important}.is-flex-grow-2{flex-grow:2!important}.is-flex-grow-3{flex-grow:3!important}.is-flex-grow-4{flex-grow:4!important}.is-flex-grow-5{flex-grow:5!important}.is-flex-shrink-0{flex-shrink:0!important}.is-flex-shrink-1{flex-shrink:1!important}.is-flex-shrink-2{flex-shrink:2!important}.is-flex-shrink-3{flex-shrink:3!important}.is-flex-shrink-4{flex-shrink:4!important}.is-flex-shrink-5{flex-shrink:5!important}.is-clearfix:after{clear:both;content:" ";display:table}.is-pulled-left{float:left!important}.is-pulled-right{float:right!important}.is-radiusless{border-radius:0!important}.is-shadowless{box-shadow:none!important}.is-clickable{cursor:pointer!important;pointer-events:all!important}.is-clipped{overflow:hidden!important}.is-relative{position:relative!important}.is-marginless{margin:0!important}.is-paddingless{padding:0!important}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.mx-0{margin-right:0!important}.my-0{margin-bottom:0!important;margin-top:0!important}.m-1{margin:.25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important}.my-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.m-2{margin:.5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important}.my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.m-3{margin:.75rem!important}.mt-3{margin-top:.75rem!important}.mr-3{margin-right:.75rem!important}.mb-3{margin-bottom:.75rem!important}.ml-3,.mx-3{margin-left:.75rem!important}.mx-3{margin-right:.75rem!important}.my-3{margin-bottom:.75rem!important;margin-top:.75rem!important}.m-4{margin:1rem!important}.mt-4{margin-top:1rem!important}.mr-4{margin-right:1rem!important}.mb-4{margin-bottom:1rem!important}.ml-4,.mx-4{margin-left:1rem!important}.mx-4{margin-right:1rem!important}.my-4{margin-bottom:1rem!important;margin-top:1rem!important}.m-5{margin:1.5rem!important}.mt-5{margin-top:1.5rem!important}.mr-5{margin-right:1.5rem!important}.mb-5{margin-bottom:1.5rem!important}.ml-5,.mx-5{margin-left:1.5rem!important}.mx-5{margin-right:1.5rem!important}.my-5{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.m-6{margin:3rem!important}.mt-6{margin-top:3rem!important}.mr-6{margin-right:3rem!important}.mb-6{margin-bottom:3rem!important}.ml-6,.mx-6{margin-left:3rem!important}.mx-6{margin-right:3rem!important}.my-6{margin-bottom:3rem!important;margin-top:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important}.my-auto{margin-bottom:auto!important;margin-top:auto!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.px-0{padding-right:0!important}.py-0{padding-bottom:0!important;padding-top:0!important}.p-1{padding:.25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.p-2{padding:.5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important}.py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.p-3{padding:.75rem!important}.pt-3{padding-top:.75rem!important}.pr-3{padding-right:.75rem!important}.pb-3{padding-bottom:.75rem!important}.pl-3,.px-3{padding-left:.75rem!important}.px-3{padding-right:.75rem!important}.py-3{padding-bottom:.75rem!important;padding-top:.75rem!important}.p-4{padding:1rem!important}.pt-4{padding-top:1rem!important}.pr-4{padding-right:1rem!important}.pb-4{padding-bottom:1rem!important}.pl-4,.px-4{padding-left:1rem!important}.px-4{padding-right:1rem!important}.py-4{padding-bottom:1rem!important;padding-top:1rem!important}.p-5{padding:1.5rem!important}.pt-5{padding-top:1.5rem!important}.pr-5{padding-right:1.5rem!important}.pb-5{padding-bottom:1.5rem!important}.pl-5,.px-5{padding-left:1.5rem!important}.px-5{padding-right:1.5rem!important}.py-5{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.p-6{padding:3rem!important}.pt-6{padding-top:3rem!important}.pr-6{padding-right:3rem!important}.pb-6{padding-bottom:3rem!important}.pl-6,.px-6{padding-left:3rem!important}.px-6{padding-right:3rem!important}.py-6{padding-bottom:3rem!important;padding-top:3rem!important}.p-auto{padding:auto!important}.pt-auto{padding-top:auto!important}.pr-auto{padding-right:auto!important}.pb-auto{padding-bottom:auto!important}.pl-auto,.px-auto{padding-left:auto!important}.px-auto{padding-right:auto!important}.py-auto{padding-bottom:auto!important;padding-top:auto!important}.is-size-1{font-size:3rem!important}.is-size-2{font-size:2.5rem!important}.is-size-3{font-size:2rem!important}.is-size-4{font-size:1.5rem!important}.is-size-5{font-size:1.25rem!important}.is-size-6{font-size:1rem!important}.is-size-7{font-size:.75rem!important}@media screen and (max-width:768px){.is-size-1-mobile{font-size:3rem!important}.is-size-2-mobile{font-size:2.5rem!important}.is-size-3-mobile{font-size:2rem!important}.is-size-4-mobile{font-size:1.5rem!important}.is-size-5-mobile{font-size:1.25rem!important}.is-size-6-mobile{font-size:1rem!important}.is-size-7-mobile{font-size:.75rem!important}}@media print,screen and (min-width:769px){.is-size-1-tablet{font-size:3rem!important}.is-size-2-tablet{font-size:2.5rem!important}.is-size-3-tablet{font-size:2rem!important}.is-size-4-tablet{font-size:1.5rem!important}.is-size-5-tablet{font-size:1.25rem!important}.is-size-6-tablet{font-size:1rem!important}.is-size-7-tablet{font-size:.75rem!important}}@media screen and (max-width:1023px){.is-size-1-touch{font-size:3rem!important}.is-size-2-touch{font-size:2.5rem!important}.is-size-3-touch{font-size:2rem!important}.is-size-4-touch{font-size:1.5rem!important}.is-size-5-touch{font-size:1.25rem!important}.is-size-6-touch{font-size:1rem!important}.is-size-7-touch{font-size:.75rem!important}}@media screen and (min-width:1024px){.is-size-1-desktop{font-size:3rem!important}.is-size-2-desktop{font-size:2.5rem!important}.is-size-3-desktop{font-size:2rem!important}.is-size-4-desktop{font-size:1.5rem!important}.is-size-5-desktop{font-size:1.25rem!important}.is-size-6-desktop{font-size:1rem!important}.is-size-7-desktop{font-size:.75rem!important}}@media screen and (min-width:1216px){.is-size-1-widescreen{font-size:3rem!important}.is-size-2-widescreen{font-size:2.5rem!important}.is-size-3-widescreen{font-size:2rem!important}.is-size-4-widescreen{font-size:1.5rem!important}.is-size-5-widescreen{font-size:1.25rem!important}.is-size-6-widescreen{font-size:1rem!important}.is-size-7-widescreen{font-size:.75rem!important}}@media screen and (min-width:1408px){.is-size-1-fullhd{font-size:3rem!important}.is-size-2-fullhd{font-size:2.5rem!important}.is-size-3-fullhd{font-size:2rem!important}.is-size-4-fullhd{font-size:1.5rem!important}.is-size-5-fullhd{font-size:1.25rem!important}.is-size-6-fullhd{font-size:1rem!important}.is-size-7-fullhd{font-size:.75rem!important}}.has-text-centered{text-align:center!important}.has-text-justified{text-align:justify!important}.has-text-left{text-align:left!important}.has-text-right{text-align:right!important}@media screen and (max-width:768px){.has-text-centered-mobile{text-align:center!important}}@media print,screen and (min-width:769px){.has-text-centered-tablet{text-align:center!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-centered-tablet-only{text-align:center!important}}@media screen and (max-width:1023px){.has-text-centered-touch{text-align:center!important}}@media screen and (min-width:1024px){.has-text-centered-desktop{text-align:center!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-centered-desktop-only{text-align:center!important}}@media screen and (min-width:1216px){.has-text-centered-widescreen{text-align:center!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-centered-widescreen-only{text-align:center!important}}@media screen and (min-width:1408px){.has-text-centered-fullhd{text-align:center!important}}@media screen and (max-width:768px){.has-text-justified-mobile{text-align:justify!important}}@media print,screen and (min-width:769px){.has-text-justified-tablet{text-align:justify!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-justified-tablet-only{text-align:justify!important}}@media screen and (max-width:1023px){.has-text-justified-touch{text-align:justify!important}}@media screen and (min-width:1024px){.has-text-justified-desktop{text-align:justify!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-justified-desktop-only{text-align:justify!important}}@media screen and (min-width:1216px){.has-text-justified-widescreen{text-align:justify!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-justified-widescreen-only{text-align:justify!important}}@media screen and (min-width:1408px){.has-text-justified-fullhd{text-align:justify!important}}@media screen and (max-width:768px){.has-text-left-mobile{text-align:left!important}}@media print,screen and (min-width:769px){.has-text-left-tablet{text-align:left!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-left-tablet-only{text-align:left!important}}@media screen and (max-width:1023px){.has-text-left-touch{text-align:left!important}}@media screen and (min-width:1024px){.has-text-left-desktop{text-align:left!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-left-desktop-only{text-align:left!important}}@media screen and (min-width:1216px){.has-text-left-widescreen{text-align:left!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-left-widescreen-only{text-align:left!important}}@media screen and (min-width:1408px){.has-text-left-fullhd{text-align:left!important}}@media screen and (max-width:768px){.has-text-right-mobile{text-align:right!important}}@media print,screen and (min-width:769px){.has-text-right-tablet{text-align:right!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-right-tablet-only{text-align:right!important}}@media screen and (max-width:1023px){.has-text-right-touch{text-align:right!important}}@media screen and (min-width:1024px){.has-text-right-desktop{text-align:right!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-right-desktop-only{text-align:right!important}}@media screen and (min-width:1216px){.has-text-right-widescreen{text-align:right!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-right-widescreen-only{text-align:right!important}}@media screen and (min-width:1408px){.has-text-right-fullhd{text-align:right!important}}.is-capitalized{text-transform:capitalize!important}.is-lowercase{text-transform:lowercase!important}.is-uppercase{text-transform:uppercase!important}.is-italic{font-style:italic!important}.is-underlined{text-decoration:underline!important}.has-text-weight-light{font-weight:300!important}.has-text-weight-normal{font-weight:400!important}.has-text-weight-medium{font-weight:500!important}.has-text-weight-semibold{font-weight:600!important}.has-text-weight-bold{font-weight:700!important}.is-family-primary,.is-family-sans-serif,.is-family-secondary{font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Ubuntu,Roboto,Oxygen,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif!important}.is-family-code,.is-family-monospace{font-family:monospace!important}.is-block{display:block!important}@media screen and (max-width:768px){.is-block-mobile{display:block!important}}@media print,screen and (min-width:769px){.is-block-tablet{display:block!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-block-tablet-only{display:block!important}}@media screen and (max-width:1023px){.is-block-touch{display:block!important}}@media screen and (min-width:1024px){.is-block-desktop{display:block!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-block-desktop-only{display:block!important}}@media screen and (min-width:1216px){.is-block-widescreen{display:block!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-block-widescreen-only{display:block!important}}@media screen and (min-width:1408px){.is-block-fullhd{display:block!important}}.is-flex{display:flex!important}@media screen and (max-width:768px){.is-flex-mobile{display:flex!important}}@media print,screen and (min-width:769px){.is-flex-tablet{display:flex!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-flex-tablet-only{display:flex!important}}@media screen and (max-width:1023px){.is-flex-touch{display:flex!important}}@media screen and (min-width:1024px){.is-flex-desktop{display:flex!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-flex-desktop-only{display:flex!important}}@media screen and (min-width:1216px){.is-flex-widescreen{display:flex!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-flex-widescreen-only{display:flex!important}}@media screen and (min-width:1408px){.is-flex-fullhd{display:flex!important}}.is-inline{display:inline!important}@media screen and (max-width:768px){.is-inline-mobile{display:inline!important}}@media print,screen and (min-width:769px){.is-inline-tablet{display:inline!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-tablet-only{display:inline!important}}@media screen and (max-width:1023px){.is-inline-touch{display:inline!important}}@media screen and (min-width:1024px){.is-inline-desktop{display:inline!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-desktop-only{display:inline!important}}@media screen and (min-width:1216px){.is-inline-widescreen{display:inline!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-widescreen-only{display:inline!important}}@media screen and (min-width:1408px){.is-inline-fullhd{display:inline!important}}.is-inline-block{display:inline-block!important}@media screen and (max-width:768px){.is-inline-block-mobile{display:inline-block!important}}@media print,screen and (min-width:769px){.is-inline-block-tablet{display:inline-block!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-block-tablet-only{display:inline-block!important}}@media screen and (max-width:1023px){.is-inline-block-touch{display:inline-block!important}}@media screen and (min-width:1024px){.is-inline-block-desktop{display:inline-block!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-block-desktop-only{display:inline-block!important}}@media screen and (min-width:1216px){.is-inline-block-widescreen{display:inline-block!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-block-widescreen-only{display:inline-block!important}}@media screen and (min-width:1408px){.is-inline-block-fullhd{display:inline-block!important}}.is-inline-flex{display:inline-flex!important}@media screen and (max-width:768px){.is-inline-flex-mobile{display:inline-flex!important}}@media print,screen and (min-width:769px){.is-inline-flex-tablet{display:inline-flex!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-flex-tablet-only{display:inline-flex!important}}@media screen and (max-width:1023px){.is-inline-flex-touch{display:inline-flex!important}}@media screen and (min-width:1024px){.is-inline-flex-desktop{display:inline-flex!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-flex-desktop-only{display:inline-flex!important}}@media screen and (min-width:1216px){.is-inline-flex-widescreen{display:inline-flex!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-flex-widescreen-only{display:inline-flex!important}}@media screen and (min-width:1408px){.is-inline-flex-fullhd{display:inline-flex!important}}.is-hidden{display:none!important}.is-sr-only{clip:rect(0,0,0,0)!important;border:none!important;height:.01em!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:.01em!important}@media screen and (max-width:768px){.is-hidden-mobile{display:none!important}}@media print,screen and (min-width:769px){.is-hidden-tablet{display:none!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-hidden-tablet-only{display:none!important}}@media screen and (max-width:1023px){.is-hidden-touch{display:none!important}}@media screen and (min-width:1024px){.is-hidden-desktop{display:none!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-hidden-desktop-only{display:none!important}}@media screen and (min-width:1216px){.is-hidden-widescreen{display:none!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-hidden-widescreen-only{display:none!important}}@media screen and (min-width:1408px){.is-hidden-fullhd{display:none!important}}.is-invisible{visibility:hidden!important}@media screen and (max-width:768px){.is-invisible-mobile{visibility:hidden!important}}@media print,screen and (min-width:769px){.is-invisible-tablet{visibility:hidden!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-invisible-tablet-only{visibility:hidden!important}}@media screen and (max-width:1023px){.is-invisible-touch{visibility:hidden!important}}@media screen and (min-width:1024px){.is-invisible-desktop{visibility:hidden!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-invisible-desktop-only{visibility:hidden!important}}@media screen and (min-width:1216px){.is-invisible-widescreen{visibility:hidden!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-invisible-widescreen-only{visibility:hidden!important}}@media screen and (min-width:1408px){.is-invisible-fullhd{visibility:hidden!important}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:none}.hero .tabs ul{border-bottom:none}.hero.is-white{background-color:#fff;color:#000}.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-white strong{color:inherit}.hero.is-white .title{color:#000}.hero.is-white .subtitle{color:rgba(0,0,0,.9)}.hero.is-white .subtitle a:not(.button),.hero.is-white .subtitle strong{color:#000}@media screen and (max-width:1023px){.hero.is-white .navbar-menu{background-color:#fff}}.hero.is-white .navbar-item,.hero.is-white .navbar-link{color:rgba(0,0,0,.7)}.hero.is-white .navbar-link.is-active,.hero.is-white .navbar-link:hover,.hero.is-white a.navbar-item.is-active,.hero.is-white a.navbar-item:hover{background-color:#f2f2f2;color:#000}.hero.is-white .tabs a{color:#000;opacity:.9}.hero.is-white .tabs a:hover{opacity:1}.hero.is-white .tabs li.is-active a{color:#fff!important;opacity:1}.hero.is-white .tabs.is-boxed a,.hero.is-white .tabs.is-toggle a{color:#000}.hero.is-white .tabs.is-boxed a:hover,.hero.is-white .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-white .tabs.is-boxed li.is-active a,.hero.is-white .tabs.is-boxed li.is-active a:hover,.hero.is-white .tabs.is-toggle li.is-active a,.hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#000;border-color:#000;color:#fff}.hero.is-white.is-bold{background-image:linear-gradient(141deg,#e8e3e4,#fff 71%,#fff)}@media screen and (max-width:768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg,#e8e3e4,#fff 71%,#fff)}}.hero.is-black{background-color:#000;color:#fff}.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-black strong{color:inherit}.hero.is-black .title{color:#fff}.hero.is-black .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-black .subtitle a:not(.button),.hero.is-black .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-black .navbar-menu{background-color:#000}}.hero.is-black .navbar-item,.hero.is-black .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-black .navbar-link.is-active,.hero.is-black .navbar-link:hover,.hero.is-black a.navbar-item.is-active,.hero.is-black a.navbar-item:hover{background-color:#000;color:#fff}.hero.is-black .tabs a{color:#fff;opacity:.9}.hero.is-black .tabs a:hover{opacity:1}.hero.is-black .tabs li.is-active a{color:#000!important;opacity:1}.hero.is-black .tabs.is-boxed a,.hero.is-black .tabs.is-toggle a{color:#fff}.hero.is-black .tabs.is-boxed a:hover,.hero.is-black .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-black .tabs.is-boxed li.is-active a,.hero.is-black .tabs.is-boxed li.is-active a:hover,.hero.is-black .tabs.is-toggle li.is-active a,.hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#000}.hero.is-black.is-bold{background-image:linear-gradient(141deg,#000,#000 71%,#0d0c0c)}@media screen and (max-width:768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg,#000,#000 71%,#0d0c0c)}}.hero.is-light{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-light strong{color:inherit}.hero.is-light .title{color:rgba(0,0,0,.7)}.hero.is-light .subtitle{color:rgba(0,0,0,.9)}.hero.is-light .subtitle a:not(.button),.hero.is-light .subtitle strong{color:rgba(0,0,0,.7)}@media screen and (max-width:1023px){.hero.is-light .navbar-menu{background-color:#f5f5f5}}.hero.is-light .navbar-item,.hero.is-light .navbar-link{color:rgba(0,0,0,.7)}.hero.is-light .navbar-link.is-active,.hero.is-light .navbar-link:hover,.hero.is-light a.navbar-item.is-active,.hero.is-light a.navbar-item:hover{background-color:#e8e8e8;color:rgba(0,0,0,.7)}.hero.is-light .tabs a{color:rgba(0,0,0,.7);opacity:.9}.hero.is-light .tabs a:hover{opacity:1}.hero.is-light .tabs li.is-active a{color:#f5f5f5!important;opacity:1}.hero.is-light .tabs.is-boxed a,.hero.is-light .tabs.is-toggle a{color:rgba(0,0,0,.7)}.hero.is-light .tabs.is-boxed a:hover,.hero.is-light .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-light .tabs.is-boxed li.is-active a,.hero.is-light .tabs.is-boxed li.is-active a:hover,.hero.is-light .tabs.is-toggle li.is-active a,.hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,.7);border-color:rgba(0,0,0,.7);color:#f5f5f5}.hero.is-light.is-bold{background-image:linear-gradient(141deg,#dfd8d9,#f5f5f5 71%,#fff)}@media screen and (max-width:768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg,#dfd8d9,#f5f5f5 71%,#fff)}}.hero.is-dark{background-color:#363636;color:#fff}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-dark strong{color:inherit}.hero.is-dark .title{color:#fff}.hero.is-dark .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-dark .subtitle a:not(.button),.hero.is-dark .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-dark .navbar-menu{background-color:#363636}}.hero.is-dark .navbar-item,.hero.is-dark .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-dark .navbar-link.is-active,.hero.is-dark .navbar-link:hover,.hero.is-dark a.navbar-item.is-active,.hero.is-dark a.navbar-item:hover{background-color:#292929;color:#fff}.hero.is-dark .tabs a{color:#fff;opacity:.9}.hero.is-dark .tabs a:hover{opacity:1}.hero.is-dark .tabs li.is-active a{color:#363636!important;opacity:1}.hero.is-dark .tabs.is-boxed a,.hero.is-dark .tabs.is-toggle a{color:#fff}.hero.is-dark .tabs.is-boxed a:hover,.hero.is-dark .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-dark .tabs.is-boxed li.is-active a,.hero.is-dark .tabs.is-boxed li.is-active a:hover,.hero.is-dark .tabs.is-toggle li.is-active a,.hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#363636}.hero.is-dark.is-bold{background-image:linear-gradient(141deg,#1f191a,#363636 71%,#46403f)}@media screen and (max-width:768px){.hero.is-dark.is-bold .navbar-menu{background-image:linear-gradient(141deg,#1f191a,#363636 71%,#46403f)}}.hero.is-primary{background-color:#00d1b2;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-primary strong{color:inherit}.hero.is-primary .title{color:#fff}.hero.is-primary .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-primary .subtitle a:not(.button),.hero.is-primary .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-primary .navbar-menu{background-color:#00d1b2}}.hero.is-primary .navbar-item,.hero.is-primary .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-primary .navbar-link.is-active,.hero.is-primary .navbar-link:hover,.hero.is-primary a.navbar-item.is-active,.hero.is-primary a.navbar-item:hover{background-color:#00b89c;color:#fff}.hero.is-primary .tabs a{color:#fff;opacity:.9}.hero.is-primary .tabs a:hover{opacity:1}.hero.is-primary .tabs li.is-active a{color:#00d1b2!important;opacity:1}.hero.is-primary .tabs.is-boxed a,.hero.is-primary .tabs.is-toggle a{color:#fff}.hero.is-primary .tabs.is-boxed a:hover,.hero.is-primary .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-primary .tabs.is-boxed li.is-active a,.hero.is-primary .tabs.is-boxed li.is-active a:hover,.hero.is-primary .tabs.is-toggle li.is-active a,.hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#00d1b2}.hero.is-primary.is-bold{background-image:linear-gradient(141deg,#009e6c,#00d1b2 71%,#00e7eb)}@media screen and (max-width:768px){.hero.is-primary.is-bold .navbar-menu{background-image:linear-gradient(141deg,#009e6c,#00d1b2 71%,#00e7eb)}}.hero.is-link{background-color:#1f89e5;color:#fff}.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-link strong{color:inherit}.hero.is-link .title{color:#fff}.hero.is-link .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-link .subtitle a:not(.button),.hero.is-link .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-link .navbar-menu{background-color:#1f89e5}}.hero.is-link .navbar-item,.hero.is-link .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-link .navbar-link.is-active,.hero.is-link .navbar-link:hover,.hero.is-link a.navbar-item.is-active,.hero.is-link a.navbar-item:hover{background-color:#197bd2;color:#fff}.hero.is-link .tabs a{color:#fff;opacity:.9}.hero.is-link .tabs a:hover{opacity:1}.hero.is-link .tabs li.is-active a{color:#1f89e5!important;opacity:1}.hero.is-link .tabs.is-boxed a,.hero.is-link .tabs.is-toggle a{color:#fff}.hero.is-link .tabs.is-boxed a:hover,.hero.is-link .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-link .tabs.is-boxed li.is-active a,.hero.is-link .tabs.is-boxed li.is-active a:hover,.hero.is-link .tabs.is-toggle li.is-active a,.hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#1f89e5}.hero.is-link.is-bold{background-image:linear-gradient(141deg,#0c8ec6,#1f89e5 71%,#3176ed)}@media screen and (max-width:768px){.hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg,#0c8ec6,#1f89e5 71%,#3176ed)}}.hero.is-info{background-color:#4387f4;color:#fff}.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-info strong{color:inherit}.hero.is-info .title{color:#fff}.hero.is-info .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-info .subtitle a:not(.button),.hero.is-info .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-info .navbar-menu{background-color:#4387f4}}.hero.is-info .navbar-item,.hero.is-info .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-info .navbar-link.is-active,.hero.is-info .navbar-link:hover,.hero.is-info a.navbar-item.is-active,.hero.is-info a.navbar-item:hover{background-color:#2b77f3;color:#fff}.hero.is-info .tabs a{color:#fff;opacity:.9}.hero.is-info .tabs a:hover{opacity:1}.hero.is-info .tabs li.is-active a{color:#4387f4!important;opacity:1}.hero.is-info .tabs.is-boxed a,.hero.is-info .tabs.is-toggle a{color:#fff}.hero.is-info .tabs.is-boxed a:hover,.hero.is-info .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-info .tabs.is-boxed li.is-active a,.hero.is-info .tabs.is-boxed li.is-active a:hover,.hero.is-info .tabs.is-toggle li.is-active a,.hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#4387f4}.hero.is-info.is-bold{background-image:linear-gradient(141deg,#068efe,#4387f4 71%,#577afa)}@media screen and (max-width:768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg,#068efe,#4387f4 71%,#577afa)}}.hero.is-success{background-color:#55b978;color:#fff}.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-success strong{color:inherit}.hero.is-success .title{color:#fff}.hero.is-success .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-success .subtitle a:not(.button),.hero.is-success .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-success .navbar-menu{background-color:#55b978}}.hero.is-success .navbar-item,.hero.is-success .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-success .navbar-link.is-active,.hero.is-success .navbar-link:hover,.hero.is-success a.navbar-item.is-active,.hero.is-success a.navbar-item:hover{background-color:#47ae6b;color:#fff}.hero.is-success .tabs a{color:#fff;opacity:.9}.hero.is-success .tabs a:hover{opacity:1}.hero.is-success .tabs li.is-active a{color:#55b978!important;opacity:1}.hero.is-success .tabs.is-boxed a,.hero.is-success .tabs.is-toggle a{color:#fff}.hero.is-success .tabs.is-boxed a:hover,.hero.is-success .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-success .tabs.is-boxed li.is-active a,.hero.is-success .tabs.is-boxed li.is-active a:hover,.hero.is-success .tabs.is-toggle li.is-active a,.hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#55b978}.hero.is-success.is-bold{background-image:linear-gradient(141deg,#35a74a,#55b978 71%,#62c696)}@media screen and (max-width:768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg,#35a74a,#55b978 71%,#62c696)}}.hero.is-warning{background-color:#ffe08a;color:rgba(0,0,0,.7)}.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-warning strong{color:inherit}.hero.is-warning .title{color:rgba(0,0,0,.7)}.hero.is-warning .subtitle{color:rgba(0,0,0,.9)}.hero.is-warning .subtitle a:not(.button),.hero.is-warning .subtitle strong{color:rgba(0,0,0,.7)}@media screen and (max-width:1023px){.hero.is-warning .navbar-menu{background-color:#ffe08a}}.hero.is-warning .navbar-item,.hero.is-warning .navbar-link{color:rgba(0,0,0,.7)}.hero.is-warning .navbar-link.is-active,.hero.is-warning .navbar-link:hover,.hero.is-warning a.navbar-item.is-active,.hero.is-warning a.navbar-item:hover{background-color:#ffd970;color:rgba(0,0,0,.7)}.hero.is-warning .tabs a{color:rgba(0,0,0,.7);opacity:.9}.hero.is-warning .tabs a:hover{opacity:1}.hero.is-warning .tabs li.is-active a{color:#ffe08a!important;opacity:1}.hero.is-warning .tabs.is-boxed a,.hero.is-warning .tabs.is-toggle a{color:rgba(0,0,0,.7)}.hero.is-warning .tabs.is-boxed a:hover,.hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-warning .tabs.is-boxed li.is-active a,.hero.is-warning .tabs.is-boxed li.is-active a:hover,.hero.is-warning .tabs.is-toggle li.is-active a,.hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,.7);border-color:rgba(0,0,0,.7);color:#ffe08a}.hero.is-warning.is-bold{background-image:linear-gradient(141deg,#ffb657,#ffe08a 71%,#fff6a3)}@media screen and (max-width:768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg,#ffb657,#ffe08a 71%,#fff6a3)}}.hero.is-danger{background-color:#ff3860;color:#fff}.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-danger strong{color:inherit}.hero.is-danger .title{color:#fff}.hero.is-danger .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-danger .subtitle a:not(.button),.hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-danger .navbar-menu{background-color:#ff3860}}.hero.is-danger .navbar-item,.hero.is-danger .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-danger .navbar-link.is-active,.hero.is-danger .navbar-link:hover,.hero.is-danger a.navbar-item.is-active,.hero.is-danger a.navbar-item:hover{background-color:#ff1f4b;color:#fff}.hero.is-danger .tabs a{color:#fff;opacity:.9}.hero.is-danger .tabs a:hover{opacity:1}.hero.is-danger .tabs li.is-active a{color:#ff3860!important;opacity:1}.hero.is-danger .tabs.is-boxed a,.hero.is-danger .tabs.is-toggle a{color:#fff}.hero.is-danger .tabs.is-boxed a:hover,.hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-danger .tabs.is-boxed li.is-active a,.hero.is-danger .tabs.is-boxed li.is-active a:hover,.hero.is-danger .tabs.is-toggle li.is-active a,.hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#ff3860}.hero.is-danger.is-bold{background-image:linear-gradient(141deg,#ff0561,#ff3860 71%,#ff5257)}@media screen and (max-width:768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg,#ff0561,#ff3860 71%,#ff5257)}}.hero.is-small .hero-body{padding:1.5rem}@media print,screen and (min-width:769px){.hero.is-medium .hero-body{padding:9rem 4.5rem}.hero.is-large .hero-body{padding:18rem 6rem}}.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body,.hero.is-halfheight .hero-body{align-items:center;display:flex}.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container,.hero.is-halfheight .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.hero-video.is-transparent{opacity:.3}@media screen and (max-width:768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width:768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:.75rem}}@media print,screen and (min-width:769px){.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-right:1.5rem}}.hero-foot,.hero-head{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}@media print,screen and (min-width:769px){.hero-body{padding:3rem}}.section{padding:3rem 1.5rem}@media screen and (min-width:1024px){.section{padding:3rem}.section.is-medium{padding:9rem 4.5rem}.section.is-large{padding:18rem 6rem}}@-webkit-keyframes fade-in-opacity{0%{opacity:0}to{opacity:1}}@keyframes fade-in-opacity{0%{opacity:0}to{opacity:1}}@-webkit-keyframes float-up{0%{opacity:0;transform:scale(.86)}25%{opacity:1}67%{transform:scale(1)}to{transform:scale(1)}}@keyframes float-up{0%{opacity:0;transform:scale(.86)}25%{opacity:1}67%{transform:scale(1)}to{transform:scale(1)}}html{overflow-y:auto}body{-webkit-animation:fade-in-opacity .5s;animation:fade-in-opacity .5s}.message-body code,code{background-color:#000;border-radius:5px;font-size:1rem}.input::-moz-placeholder,.textarea::-moz-placeholder{color:#ededed}.input:-ms-input-placeholder,.textarea:-ms-input-placeholder{color:#ededed}.input::placeholder,.textarea::placeholder{color:#ededed}.label{color:#f5f5f5;font-weight:400}.help{color:#ededed}.progress{background-color:#7a7a7a}.button.is-info.is-hovered [class*=" icon-"]:before,.button.is-info.is-hovered [class^=icon-]:before,.button.is-info:hover [class*=" icon-"]:before,.button.is-info:hover [class^=icon-]:before{fill:#fff}.button.is-wrappable{height:auto;min-height:2.25em;white-space:break-spaces}.button.is-dangerish{background-color:#ff7043;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-dangerish.is-hovered,.button.is-dangerish:not([disabled]):hover{background-color:#ff8a65;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-dangerish.is-active,.button.is-dangerish:not([disabled]):active{background-color:#ff5722;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-dangerish.is-outlined{background-color:transparent;border-color:#ff7043;color:#ff7043}.button.is-dangerish.is-outlined.is-focused,.button.is-dangerish.is-outlined.is-hovered,.button.is-dangerish.is-outlined:not([disabled]):focus,.button.is-dangerish.is-outlined:not([disabled]):hover{background-color:#ff7043;border-color:#ff7043;color:rgba(0,0,0,.7)}.checkbox:hover,.radio:hover{color:#b5b5b5}.select:not(.is-multiple):not(.is-loading):after,.select:not(.is-multiple):not(.is-loading):hover:after{border-color:#f5f5f5}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#7a7a7a}.message{background-color:#2f2f2f}.message-body{border:0;color:#f5f5f5}.table{background-color:#000;color:#ededed}.table.is-narrow{font-size:.75rem}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#2f2f2f}.table td,.table th{border-bottom:1px solid #7a7a7a;vertical-align:middle;white-space:nowrap}.table th{color:#f5f5f5;font-weight:400;height:2.25em}.table thead td,.table thead th{background-color:#383838;border-bottom:0;color:#f5f5f5;height:31px}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:1px}.table .cell-indent{padding-left:2.25em}.delete:after,.delete:before{background-color:#f5f5f5}.has-word-break-all{word-break:break-all}.icon-gauge:before{margin-top:-2px}.cc-window{font-family:inherit!important}.cc-link{padding:0!important}.section.has-extra-bottom-padding{padding-bottom:6.5rem}a.floating-home-button{align-items:center;background-color:#1f89e5;border-radius:100%;bottom:1.5rem;color:#fff;display:flex;height:3.5rem;justify-content:center;position:fixed;right:1.5rem;transition:background-color .25s,color .25s;width:3.5rem}a.floating-home-button:hover{background-color:#edf5fd;color:#000}a.floating-home-button>.icon{margin-top:-2px}.hero.is-fullheight>.hero-body{height:100%;min-height:100vh}.hero.is-fullheight>.hero-body>.container{width:100%} +.button,.file-cta,.file-name,.input,.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous,.select select,.textarea{align-items:center;-moz-appearance:none;-webkit-appearance:none;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.5em;justify-content:flex-start;line-height:1.5;padding:calc(.5em - 1px) calc(.75em - 1px);position:relative;vertical-align:top}.button:active,.button:focus,.file-cta:active,.file-cta:focus,.file-name:active,.file-name:focus,.input:active,.input:focus,.is-active.button,.is-active.file-cta,.is-active.file-name,.is-active.input,.is-active.pagination-ellipsis,.is-active.pagination-link,.is-active.pagination-next,.is-active.pagination-previous,.is-active.textarea,.is-focused.button,.is-focused.file-cta,.is-focused.file-name,.is-focused.input,.is-focused.pagination-ellipsis,.is-focused.pagination-link,.is-focused.pagination-next,.is-focused.pagination-previous,.is-focused.textarea,.pagination-ellipsis:active,.pagination-ellipsis:focus,.pagination-link:active,.pagination-link:focus,.pagination-next:active,.pagination-next:focus,.pagination-previous:active,.pagination-previous:focus,.select select.is-active,.select select.is-focused,.select select:active,.select select:focus,.textarea:active,.textarea:focus{outline:none}.select fieldset[disabled] select,.select select[disabled],[disabled].button,[disabled].file-cta,[disabled].file-name,[disabled].input,[disabled].pagination-ellipsis,[disabled].pagination-link,[disabled].pagination-next,[disabled].pagination-previous,[disabled].textarea,fieldset[disabled] .button,fieldset[disabled] .file-cta,fieldset[disabled] .file-name,fieldset[disabled] .input,fieldset[disabled] .pagination-ellipsis,fieldset[disabled] .pagination-link,fieldset[disabled] .pagination-next,fieldset[disabled] .pagination-previous,fieldset[disabled] .select select,fieldset[disabled] .textarea{cursor:not-allowed}.button,.file,.is-unselectable,.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous,.tabs{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.select:not(.is-multiple):not(.is-loading):after{border:3px solid transparent;border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:.625em;margin-top:-.4375em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;width:.625em}.block:not(:last-child),.content:not(:last-child),.level:not(:last-child),.message:not(:last-child),.notification:not(:last-child),.pagination:not(:last-child),.progress:not(:last-child),.subtitle:not(:last-child),.table-container:not(:last-child),.table:not(:last-child),.tabs:not(:last-child),.title:not(:last-child){margin-bottom:1.5rem}.delete{-webkit-touch-callout:none;-moz-appearance:none;-webkit-appearance:none;background-color:rgba(0,0,0,.2);border:none;border-radius:9999px;cursor:pointer;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;pointer-events:auto;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top;width:20px}.delete:after,.delete:before{background-color:#000;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.delete:before{height:2px;width:50%}.delete:after{height:50%;width:2px}.delete:focus,.delete:hover{background-color:rgba(0,0,0,.3)}.delete:active{background-color:rgba(0,0,0,.4)}.is-small.delete{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}.is-medium.delete{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}.is-large.delete{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}.button.is-loading:after,.control.is-loading:after,.loader,.select.is-loading:after{-webkit-animation:spinAround .5s linear infinite;animation:spinAround .5s linear infinite;border-color:transparent transparent #dbdbdb #dbdbdb;border-radius:9999px;border-style:solid;border-width:2px;content:"";display:block;height:1em;position:relative;width:1em}.hero-video,.is-overlay{bottom:0;left:0;position:absolute;right:0;top:0} /*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */blockquote,body,dd,dl,dt,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,html,iframe,legend,li,ol,p,pre,textarea,ul{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:inherit}html{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background-color:#000;font-size:16px;min-width:300px;overflow-x:hidden;overflow-y:scroll}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,optgroup,select,textarea{font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Ubuntu,Roboto,Oxygen,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:monospace}body{color:#f5f5f5;font-size:1em;font-weight:400;line-height:1.5}a{color:#1f89e5;cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:#edf5fd}code{background-color:#f5f5f5;color:#eb002f;font-size:.875em;font-weight:400;padding:.25em .5em}hr{background-color:#b5b5b5;border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type=checkbox],input[type=radio]{vertical-align:baseline}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:#dbdbdb;font-weight:700}fieldset{border:none}pre{-webkit-overflow-scrolling:touch;word-wrap:normal;background-color:#f5f5f5;color:#4a4a4a;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre}pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}table td,table th{vertical-align:top}table td:not([align]),table th:not([align]){text-align:inherit}table th{color:#363636}@-webkit-keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.button{background-color:#000;border-color:#dbdbdb;border-width:1px;color:#363636;cursor:pointer;justify-content:center;padding:calc(.5em - 1px) 1em;text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-large,.button .icon.is-medium,.button .icon.is-small{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-.5em - 1px);margin-right:.25em}.button .icon:last-child:not(:first-child){margin-left:.25em;margin-right:calc(-.5em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-.5em - 1px);margin-right:calc(-.5em - 1px)}.button.is-hovered,.button:hover{border-color:#b5b5b5;color:#edf5fd}.button.is-focused,.button:focus{border-color:#1f89e5;color:#363636}.button.is-focused:not(:active),.button:focus:not(:active){box-shadow:0 0 0 .125em rgba(31,137,229,.25)}.button.is-active,.button:active{border-color:#4a4a4a;color:#363636}.button.is-text{background-color:transparent;border-color:transparent;color:#f5f5f5;text-decoration:underline}.button.is-text.is-focused,.button.is-text.is-hovered,.button.is-text:focus,.button.is-text:hover{background-color:#f5f5f5;color:#363636}.button.is-text.is-active,.button.is-text:active{background-color:#e8e8e8;color:#363636}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}.button.is-ghost{background:none;border-color:transparent;color:#1f89e5;text-decoration:none}.button.is-ghost.is-hovered,.button.is-ghost:hover{color:#1f89e5;text-decoration:underline}.button.is-white{background-color:#fff;border-color:transparent;color:#000}.button.is-white.is-hovered,.button.is-white:hover{background-color:#f9f9f9;border-color:transparent;color:#000}.button.is-white.is-focused,.button.is-white:focus{border-color:transparent;color:#000}.button.is-white.is-focused:not(:active),.button.is-white:focus:not(:active){box-shadow:0 0 0 .125em hsla(0,0%,100%,.25)}.button.is-white.is-active,.button.is-white:active{background-color:#f2f2f2;border-color:transparent;color:#000}.button.is-white[disabled],fieldset[disabled] .button.is-white{background-color:#fff;border-color:#fff;box-shadow:none}.button.is-white.is-inverted{background-color:#000;color:#fff}.button.is-white.is-inverted.is-hovered,.button.is-white.is-inverted:hover{background-color:#000}.button.is-white.is-inverted[disabled],fieldset[disabled] .button.is-white.is-inverted{background-color:#000;border-color:transparent;box-shadow:none;color:#fff}.button.is-white.is-loading:after{border-color:transparent transparent #000 #000!important}.button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-white.is-outlined.is-focused,.button.is-white.is-outlined.is-hovered,.button.is-white.is-outlined:focus,.button.is-white.is-outlined:hover{background-color:#fff;border-color:#fff;color:#000}.button.is-white.is-outlined.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-white.is-outlined.is-loading.is-focused:after,.button.is-white.is-outlined.is-loading.is-hovered:after,.button.is-white.is-outlined.is-loading:focus:after,.button.is-white.is-outlined.is-loading:hover:after{border-color:transparent transparent #000 #000!important}.button.is-white.is-outlined[disabled],fieldset[disabled] .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#000;color:#000}.button.is-white.is-inverted.is-outlined.is-focused,.button.is-white.is-inverted.is-outlined.is-hovered,.button.is-white.is-inverted.is-outlined:focus,.button.is-white.is-inverted.is-outlined:hover{background-color:#000;color:#fff}.button.is-white.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-white.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-white.is-inverted.is-outlined.is-loading:focus:after,.button.is-white.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#000;box-shadow:none;color:#000}.button.is-black,.button.is-black.is-hovered,.button.is-black:hover{background-color:#000;border-color:transparent;color:#fff}.button.is-black.is-focused,.button.is-black:focus{border-color:transparent;color:#fff}.button.is-black.is-focused:not(:active),.button.is-black:focus:not(:active){box-shadow:0 0 0 .125em rgba(0,0,0,.25)}.button.is-black.is-active,.button.is-black:active{background-color:#000;border-color:transparent;color:#fff}.button.is-black[disabled],fieldset[disabled] .button.is-black{background-color:#000;border-color:#000;box-shadow:none}.button.is-black.is-inverted{background-color:#fff;color:#000}.button.is-black.is-inverted.is-hovered,.button.is-black.is-inverted:hover{background-color:#f2f2f2}.button.is-black.is-inverted[disabled],fieldset[disabled] .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#000}.button.is-black.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-black.is-outlined{background-color:transparent;border-color:#000;color:#000}.button.is-black.is-outlined.is-focused,.button.is-black.is-outlined.is-hovered,.button.is-black.is-outlined:focus,.button.is-black.is-outlined:hover{background-color:#000;border-color:#000;color:#fff}.button.is-black.is-outlined.is-loading:after{border-color:transparent transparent #000 #000!important}.button.is-black.is-outlined.is-loading.is-focused:after,.button.is-black.is-outlined.is-loading.is-hovered:after,.button.is-black.is-outlined.is-loading:focus:after,.button.is-black.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-black.is-outlined[disabled],fieldset[disabled] .button.is-black.is-outlined{background-color:transparent;border-color:#000;box-shadow:none;color:#000}.button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-black.is-inverted.is-outlined.is-focused,.button.is-black.is-inverted.is-outlined.is-hovered,.button.is-black.is-inverted.is-outlined:focus,.button.is-black.is-inverted.is-outlined:hover{background-color:#fff;color:#000}.button.is-black.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-black.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-black.is-inverted.is-outlined.is-loading:focus:after,.button.is-black.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #000 #000!important}.button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-light{background-color:#f5f5f5;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-light.is-hovered,.button.is-light:hover{background-color:#eee;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-light.is-focused,.button.is-light:focus{border-color:transparent;color:rgba(0,0,0,.7)}.button.is-light.is-focused:not(:active),.button.is-light:focus:not(:active){box-shadow:0 0 0 .125em hsla(0,0%,96%,.25)}.button.is-light.is-active,.button.is-light:active{background-color:#e8e8e8;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-light[disabled],fieldset[disabled] .button.is-light{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none}.button.is-light.is-inverted{color:#f5f5f5}.button.is-light.is-inverted,.button.is-light.is-inverted.is-hovered,.button.is-light.is-inverted:hover{background-color:rgba(0,0,0,.7)}.button.is-light.is-inverted[disabled],fieldset[disabled] .button.is-light.is-inverted{background-color:rgba(0,0,0,.7);border-color:transparent;box-shadow:none;color:#f5f5f5}.button.is-light.is-loading:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-light.is-outlined.is-focused,.button.is-light.is-outlined.is-hovered,.button.is-light.is-outlined:focus,.button.is-light.is-outlined:hover{background-color:#f5f5f5;border-color:#f5f5f5;color:rgba(0,0,0,.7)}.button.is-light.is-outlined.is-loading:after{border-color:transparent transparent #f5f5f5 #f5f5f5!important}.button.is-light.is-outlined.is-loading.is-focused:after,.button.is-light.is-outlined.is-loading.is-hovered:after,.button.is-light.is-outlined.is-loading:focus:after,.button.is-light.is-outlined.is-loading:hover:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-light.is-outlined[disabled],fieldset[disabled] .button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);color:rgba(0,0,0,.7)}.button.is-light.is-inverted.is-outlined.is-focused,.button.is-light.is-inverted.is-outlined.is-hovered,.button.is-light.is-inverted.is-outlined:focus,.button.is-light.is-inverted.is-outlined:hover{background-color:rgba(0,0,0,.7);color:#f5f5f5}.button.is-light.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-light.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-light.is-inverted.is-outlined.is-loading:focus:after,.button.is-light.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #f5f5f5 #f5f5f5!important}.button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);box-shadow:none;color:rgba(0,0,0,.7)}.button.is-dark{background-color:#363636;border-color:transparent;color:#fff}.button.is-dark.is-hovered,.button.is-dark:hover{background-color:#2f2f2f;border-color:transparent;color:#fff}.button.is-dark.is-focused,.button.is-dark:focus{border-color:transparent;color:#fff}.button.is-dark.is-focused:not(:active),.button.is-dark:focus:not(:active){box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.button.is-dark.is-active,.button.is-dark:active{background-color:#292929;border-color:transparent;color:#fff}.button.is-dark[disabled],fieldset[disabled] .button.is-dark{background-color:#363636;border-color:#363636;box-shadow:none}.button.is-dark.is-inverted{background-color:#fff;color:#363636}.button.is-dark.is-inverted.is-hovered,.button.is-dark.is-inverted:hover{background-color:#f2f2f2}.button.is-dark.is-inverted[disabled],fieldset[disabled] .button.is-dark.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#363636}.button.is-dark.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-dark.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-dark.is-outlined.is-focused,.button.is-dark.is-outlined.is-hovered,.button.is-dark.is-outlined:focus,.button.is-dark.is-outlined:hover{background-color:#363636;border-color:#363636;color:#fff}.button.is-dark.is-outlined.is-loading:after{border-color:transparent transparent #363636 #363636!important}.button.is-dark.is-outlined.is-loading.is-focused:after,.button.is-dark.is-outlined.is-loading.is-hovered:after,.button.is-dark.is-outlined.is-loading:focus:after,.button.is-dark.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-dark.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-dark.is-inverted.is-outlined.is-focused,.button.is-dark.is-inverted.is-outlined.is-hovered,.button.is-dark.is-inverted.is-outlined:focus,.button.is-dark.is-inverted.is-outlined:hover{background-color:#fff;color:#363636}.button.is-dark.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-dark.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-dark.is-inverted.is-outlined.is-loading:focus:after,.button.is-dark.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #363636 #363636!important}.button.is-dark.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-primary{background-color:#00d1b2;border-color:transparent;color:#fff}.button.is-primary.is-hovered,.button.is-primary:hover{background-color:#00c4a7;border-color:transparent;color:#fff}.button.is-primary.is-focused,.button.is-primary:focus{border-color:transparent;color:#fff}.button.is-primary.is-focused:not(:active),.button.is-primary:focus:not(:active){box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.button.is-primary.is-active,.button.is-primary:active{background-color:#00b89c;border-color:transparent;color:#fff}.button.is-primary[disabled],fieldset[disabled] .button.is-primary{background-color:#00d1b2;border-color:#00d1b2;box-shadow:none}.button.is-primary.is-inverted{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted.is-hovered,.button.is-primary.is-inverted:hover{background-color:#f2f2f2}.button.is-primary.is-inverted[disabled],fieldset[disabled] .button.is-primary.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#00d1b2}.button.is-primary.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;color:#00d1b2}.button.is-primary.is-outlined.is-focused,.button.is-primary.is-outlined.is-hovered,.button.is-primary.is-outlined:focus,.button.is-primary.is-outlined:hover{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.button.is-primary.is-outlined.is-loading:after{border-color:transparent transparent #00d1b2 #00d1b2!important}.button.is-primary.is-outlined.is-loading.is-focused:after,.button.is-primary.is-outlined.is-loading.is-hovered:after,.button.is-primary.is-outlined.is-loading:focus:after,.button.is-primary.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-primary.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;box-shadow:none;color:#00d1b2}.button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-primary.is-inverted.is-outlined.is-focused,.button.is-primary.is-inverted.is-outlined.is-hovered,.button.is-primary.is-inverted.is-outlined:focus,.button.is-primary.is-inverted.is-outlined:hover{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-primary.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-primary.is-inverted.is-outlined.is-loading:focus:after,.button.is-primary.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #00d1b2 #00d1b2!important}.button.is-primary.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-primary.is-light{background-color:#ebfffc;color:#00947e}.button.is-primary.is-light.is-hovered,.button.is-primary.is-light:hover{background-color:#defffa;border-color:transparent;color:#00947e}.button.is-primary.is-light.is-active,.button.is-primary.is-light:active{background-color:#d1fff8;border-color:transparent;color:#00947e}.button.is-link{background-color:#1f89e5;border-color:transparent;color:#fff}.button.is-link.is-hovered,.button.is-link:hover{background-color:#1a82dd;border-color:transparent;color:#fff}.button.is-link.is-focused,.button.is-link:focus{border-color:transparent;color:#fff}.button.is-link.is-focused:not(:active),.button.is-link:focus:not(:active){box-shadow:0 0 0 .125em rgba(31,137,229,.25)}.button.is-link.is-active,.button.is-link:active{background-color:#197bd2;border-color:transparent;color:#fff}.button.is-link[disabled],fieldset[disabled] .button.is-link{background-color:#1f89e5;border-color:#1f89e5;box-shadow:none}.button.is-link.is-inverted{background-color:#fff;color:#1f89e5}.button.is-link.is-inverted.is-hovered,.button.is-link.is-inverted:hover{background-color:#f2f2f2}.button.is-link.is-inverted[disabled],fieldset[disabled] .button.is-link.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#1f89e5}.button.is-link.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-link.is-outlined{background-color:transparent;border-color:#1f89e5;color:#1f89e5}.button.is-link.is-outlined.is-focused,.button.is-link.is-outlined.is-hovered,.button.is-link.is-outlined:focus,.button.is-link.is-outlined:hover{background-color:#1f89e5;border-color:#1f89e5;color:#fff}.button.is-link.is-outlined.is-loading:after{border-color:transparent transparent #1f89e5 #1f89e5!important}.button.is-link.is-outlined.is-loading.is-focused:after,.button.is-link.is-outlined.is-loading.is-hovered:after,.button.is-link.is-outlined.is-loading:focus:after,.button.is-link.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-link.is-outlined[disabled],fieldset[disabled] .button.is-link.is-outlined{background-color:transparent;border-color:#1f89e5;box-shadow:none;color:#1f89e5}.button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-link.is-inverted.is-outlined.is-focused,.button.is-link.is-inverted.is-outlined.is-hovered,.button.is-link.is-inverted.is-outlined:focus,.button.is-link.is-inverted.is-outlined:hover{background-color:#fff;color:#1f89e5}.button.is-link.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-link.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-link.is-inverted.is-outlined.is-loading:focus:after,.button.is-link.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #1f89e5 #1f89e5!important}.button.is-link.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-link.is-light{background-color:#edf5fd;color:#1671c0}.button.is-link.is-light.is-hovered,.button.is-link.is-light:hover{background-color:#e1effc;border-color:transparent;color:#1671c0}.button.is-link.is-light.is-active,.button.is-link.is-light:active{background-color:#d6e9fa;border-color:transparent;color:#1671c0}.button.is-info{background-color:#4387f4;border-color:transparent;color:#fff}.button.is-info.is-hovered,.button.is-info:hover{background-color:#377ff3;border-color:transparent;color:#fff}.button.is-info.is-focused,.button.is-info:focus{border-color:transparent;color:#fff}.button.is-info.is-focused:not(:active),.button.is-info:focus:not(:active){box-shadow:0 0 0 .125em rgba(67,135,244,.25)}.button.is-info.is-active,.button.is-info:active{background-color:#2b77f3;border-color:transparent;color:#fff}.button.is-info[disabled],fieldset[disabled] .button.is-info{background-color:#4387f4;border-color:#4387f4;box-shadow:none}.button.is-info.is-inverted{background-color:#fff;color:#4387f4}.button.is-info.is-inverted.is-hovered,.button.is-info.is-inverted:hover{background-color:#f2f2f2}.button.is-info.is-inverted[disabled],fieldset[disabled] .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#4387f4}.button.is-info.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-info.is-outlined{background-color:transparent;border-color:#4387f4;color:#4387f4}.button.is-info.is-outlined.is-focused,.button.is-info.is-outlined.is-hovered,.button.is-info.is-outlined:focus,.button.is-info.is-outlined:hover{background-color:#4387f4;border-color:#4387f4;color:#fff}.button.is-info.is-outlined.is-loading:after{border-color:transparent transparent #4387f4 #4387f4!important}.button.is-info.is-outlined.is-loading.is-focused:after,.button.is-info.is-outlined.is-loading.is-hovered:after,.button.is-info.is-outlined.is-loading:focus:after,.button.is-info.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-info.is-outlined[disabled],fieldset[disabled] .button.is-info.is-outlined{background-color:transparent;border-color:#4387f4;box-shadow:none;color:#4387f4}.button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-info.is-inverted.is-outlined.is-focused,.button.is-info.is-inverted.is-outlined.is-hovered,.button.is-info.is-inverted.is-outlined:focus,.button.is-info.is-inverted.is-outlined:hover{background-color:#fff;color:#4387f4}.button.is-info.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-info.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-info.is-inverted.is-outlined.is-loading:focus:after,.button.is-info.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #4387f4 #4387f4!important}.button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-info.is-light{background-color:#ecf3fe;color:#0c53c6}.button.is-info.is-light.is-hovered,.button.is-info.is-light:hover{background-color:#e0ebfd;border-color:transparent;color:#0c53c6}.button.is-info.is-light.is-active,.button.is-info.is-light:active{background-color:#d4e3fc;border-color:transparent;color:#0c53c6}.button.is-success{background-color:#55b978;border-color:transparent;color:#fff}.button.is-success.is-hovered,.button.is-success:hover{background-color:#4cb671;border-color:transparent;color:#fff}.button.is-success.is-focused,.button.is-success:focus{border-color:transparent;color:#fff}.button.is-success.is-focused:not(:active),.button.is-success:focus:not(:active){box-shadow:0 0 0 .125em rgba(85,185,120,.25)}.button.is-success.is-active,.button.is-success:active{background-color:#47ae6b;border-color:transparent;color:#fff}.button.is-success[disabled],fieldset[disabled] .button.is-success{background-color:#55b978;border-color:#55b978;box-shadow:none}.button.is-success.is-inverted{background-color:#fff;color:#55b978}.button.is-success.is-inverted.is-hovered,.button.is-success.is-inverted:hover{background-color:#f2f2f2}.button.is-success.is-inverted[disabled],fieldset[disabled] .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#55b978}.button.is-success.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-success.is-outlined{background-color:transparent;border-color:#55b978;color:#55b978}.button.is-success.is-outlined.is-focused,.button.is-success.is-outlined.is-hovered,.button.is-success.is-outlined:focus,.button.is-success.is-outlined:hover{background-color:#55b978;border-color:#55b978;color:#fff}.button.is-success.is-outlined.is-loading:after{border-color:transparent transparent #55b978 #55b978!important}.button.is-success.is-outlined.is-loading.is-focused:after,.button.is-success.is-outlined.is-loading.is-hovered:after,.button.is-success.is-outlined.is-loading:focus:after,.button.is-success.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-success.is-outlined[disabled],fieldset[disabled] .button.is-success.is-outlined{background-color:transparent;border-color:#55b978;box-shadow:none;color:#55b978}.button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-success.is-inverted.is-outlined.is-focused,.button.is-success.is-inverted.is-outlined.is-hovered,.button.is-success.is-inverted.is-outlined:focus,.button.is-success.is-inverted.is-outlined:hover{background-color:#fff;color:#55b978}.button.is-success.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-success.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-success.is-inverted.is-outlined.is-loading:focus:after,.button.is-success.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #55b978 #55b978!important}.button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-success.is-light{background-color:#f1f9f4;color:#327b4c}.button.is-success.is-light.is-hovered,.button.is-success.is-light:hover{background-color:#e7f5ec;border-color:transparent;color:#327b4c}.button.is-success.is-light.is-active,.button.is-success.is-light:active{background-color:#def2e5;border-color:transparent;color:#327b4c}.button.is-warning{background-color:#ffe08a;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-hovered,.button.is-warning:hover{background-color:#ffdc7d;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-focused,.button.is-warning:focus{border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-focused:not(:active),.button.is-warning:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,224,138,.25)}.button.is-warning.is-active,.button.is-warning:active{background-color:#ffd970;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning[disabled],fieldset[disabled] .button.is-warning{background-color:#ffe08a;border-color:#ffe08a;box-shadow:none}.button.is-warning.is-inverted{color:#ffe08a}.button.is-warning.is-inverted,.button.is-warning.is-inverted.is-hovered,.button.is-warning.is-inverted:hover{background-color:rgba(0,0,0,.7)}.button.is-warning.is-inverted[disabled],fieldset[disabled] .button.is-warning.is-inverted{background-color:rgba(0,0,0,.7);border-color:transparent;box-shadow:none;color:#ffe08a}.button.is-warning.is-loading:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-warning.is-outlined{background-color:transparent;border-color:#ffe08a;color:#ffe08a}.button.is-warning.is-outlined.is-focused,.button.is-warning.is-outlined.is-hovered,.button.is-warning.is-outlined:focus,.button.is-warning.is-outlined:hover{background-color:#ffe08a;border-color:#ffe08a;color:rgba(0,0,0,.7)}.button.is-warning.is-outlined.is-loading:after{border-color:transparent transparent #ffe08a #ffe08a!important}.button.is-warning.is-outlined.is-loading.is-focused:after,.button.is-warning.is-outlined.is-loading.is-hovered:after,.button.is-warning.is-outlined.is-loading:focus:after,.button.is-warning.is-outlined.is-loading:hover:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-warning.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-outlined{background-color:transparent;border-color:#ffe08a;box-shadow:none;color:#ffe08a}.button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);color:rgba(0,0,0,.7)}.button.is-warning.is-inverted.is-outlined.is-focused,.button.is-warning.is-inverted.is-outlined.is-hovered,.button.is-warning.is-inverted.is-outlined:focus,.button.is-warning.is-inverted.is-outlined:hover{background-color:rgba(0,0,0,.7);color:#ffe08a}.button.is-warning.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-warning.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-warning.is-inverted.is-outlined.is-loading:focus:after,.button.is-warning.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #ffe08a #ffe08a!important}.button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);box-shadow:none;color:rgba(0,0,0,.7)}.button.is-warning.is-light{background-color:#fffaeb;color:#946c00}.button.is-warning.is-light.is-hovered,.button.is-warning.is-light:hover{background-color:#fff6de;border-color:transparent;color:#946c00}.button.is-warning.is-light.is-active,.button.is-warning.is-light:active{background-color:#fff3d1;border-color:transparent;color:#946c00}.button.is-danger{background-color:#ff3860;border-color:transparent;color:#fff}.button.is-danger.is-hovered,.button.is-danger:hover{background-color:#ff2b56;border-color:transparent;color:#fff}.button.is-danger.is-focused,.button.is-danger:focus{border-color:transparent;color:#fff}.button.is-danger.is-focused:not(:active),.button.is-danger:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,56,96,.25)}.button.is-danger.is-active,.button.is-danger:active{background-color:#ff1f4b;border-color:transparent;color:#fff}.button.is-danger[disabled],fieldset[disabled] .button.is-danger{background-color:#ff3860;border-color:#ff3860;box-shadow:none}.button.is-danger.is-inverted{background-color:#fff;color:#ff3860}.button.is-danger.is-inverted.is-hovered,.button.is-danger.is-inverted:hover{background-color:#f2f2f2}.button.is-danger.is-inverted[disabled],fieldset[disabled] .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#ff3860}.button.is-danger.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-danger.is-outlined{background-color:transparent;border-color:#ff3860;color:#ff3860}.button.is-danger.is-outlined.is-focused,.button.is-danger.is-outlined.is-hovered,.button.is-danger.is-outlined:focus,.button.is-danger.is-outlined:hover{background-color:#ff3860;border-color:#ff3860;color:#fff}.button.is-danger.is-outlined.is-loading:after{border-color:transparent transparent #ff3860 #ff3860!important}.button.is-danger.is-outlined.is-loading.is-focused:after,.button.is-danger.is-outlined.is-loading.is-hovered:after,.button.is-danger.is-outlined.is-loading:focus:after,.button.is-danger.is-outlined.is-loading:hover:after{border-color:transparent transparent #fff #fff!important}.button.is-danger.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-outlined{background-color:transparent;border-color:#ff3860;box-shadow:none;color:#ff3860}.button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-danger.is-inverted.is-outlined.is-focused,.button.is-danger.is-inverted.is-outlined.is-hovered,.button.is-danger.is-inverted.is-outlined:focus,.button.is-danger.is-inverted.is-outlined:hover{background-color:#fff;color:#ff3860}.button.is-danger.is-inverted.is-outlined.is-loading.is-focused:after,.button.is-danger.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-danger.is-inverted.is-outlined.is-loading:focus:after,.button.is-danger.is-inverted.is-outlined.is-loading:hover:after{border-color:transparent transparent #ff3860 #ff3860!important}.button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-danger.is-light{background-color:#ffebef;color:#db002c}.button.is-danger.is-light.is-hovered,.button.is-danger.is-light:hover{background-color:#ffdee4;border-color:transparent;color:#db002c}.button.is-danger.is-light.is-active,.button.is-danger.is-light:active{background-color:#ffd1da;border-color:transparent;color:#db002c}.button.is-small{font-size:.75rem}.button.is-small:not(.is-rounded){border-radius:2px}.button.is-normal{font-size:1rem}.button.is-medium{font-size:1.25rem}.button.is-large{font-size:1.5rem}.button[disabled],fieldset[disabled] .button{background-color:#000;border-color:#dbdbdb;box-shadow:none;opacity:.5}.button.is-fullwidth{display:flex;width:100%}.button.is-loading{color:transparent!important;pointer-events:none}.button.is-loading:after{left:calc(50% - .5em);position:absolute!important;position:absolute;top:calc(50% - .5em)}.button.is-static{background-color:#f5f5f5;border-color:#dbdbdb;box-shadow:none;color:#7a7a7a;pointer-events:none}.button.is-rounded{border-radius:9999px;padding-left:1.25em;padding-right:1.25em}.buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.buttons .button{margin-bottom:.5rem}.buttons .button:not(:last-child):not(.is-fullwidth){margin-right:.5rem}.buttons:last-child{margin-bottom:-.5rem}.buttons:not(:last-child){margin-bottom:1rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){font-size:.75rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large):not(.is-rounded){border-radius:2px}.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}.buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.buttons.has-addons .button:last-child{margin-right:0}.buttons.has-addons .button.is-hovered,.buttons.has-addons .button:hover{z-index:2}.buttons.has-addons .button.is-active,.buttons.has-addons .button.is-focused,.buttons.has-addons .button.is-selected,.buttons.has-addons .button:active,.buttons.has-addons .button:focus{z-index:3}.buttons.has-addons .button.is-active:hover,.buttons.has-addons .button.is-focused:hover,.buttons.has-addons .button.is-selected:hover,.buttons.has-addons .button:active:hover,.buttons.has-addons .button:focus:hover{z-index:4}.buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}.buttons.is-centered{justify-content:center}.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:.25rem;margin-right:.25rem}.buttons.is-right{justify-content:flex-end}.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:.25rem;margin-right:.25rem}@media screen and (max-width:768px){.button.is-responsive.is-small{font-size:.5625rem}.button.is-responsive,.button.is-responsive.is-normal{font-size:.65625rem}.button.is-responsive.is-medium{font-size:.75rem}.button.is-responsive.is-large{font-size:1rem}}@media screen and (min-width:769px) and (max-width:1023px){.button.is-responsive.is-small{font-size:.65625rem}.button.is-responsive,.button.is-responsive.is-normal{font-size:.75rem}.button.is-responsive.is-medium{font-size:1rem}.button.is-responsive.is-large{font-size:1.25rem}}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}.container.is-fluid{max-width:none!important;padding-left:32px;padding-right:32px;width:100%}@media screen and (min-width:1024px){.container{max-width:960px}}@media screen and (max-width:1215px){.container.is-widescreen:not(.is-max-desktop){max-width:1152px}}@media screen and (max-width:1407px){.container.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}@media screen and (min-width:1216px){.container:not(.is-max-desktop){max-width:1152px}}@media screen and (min-width:1408px){.container:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}.content li+li{margin-top:.25em}.content blockquote:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content p:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child),.content ul:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:#363636;font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:.8em}.content h5{font-size:1.125em;margin-bottom:.8888em}.content h6{font-size:1em;margin-bottom:1em}.content blockquote{background-color:#f5f5f5;border-left:5px solid #dbdbdb;padding:1.25em 1.5em}.content ol{list-style-position:outside;margin-left:2em;margin-top:1em}.content ol:not([type]){list-style-type:decimal}.content ol:not([type]).is-lower-alpha{list-style-type:lower-alpha}.content ol:not([type]).is-lower-roman{list-style-type:lower-roman}.content ol:not([type]).is-upper-alpha{list-style-type:upper-alpha}.content ol:not([type]).is-upper-roman{list-style-type:upper-roman}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:.5em}.content ul ul ul{list-style-type:square}.content dd{margin-left:2em}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.content figure figcaption{font-style:italic}.content pre{-webkit-overflow-scrolling:touch;word-wrap:normal;overflow-x:auto;padding:1.25em 1.5em;white-space:pre}.content sub,.content sup{font-size:75%}.content table{width:100%}.content table td,.content table th{border:solid #dbdbdb;border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.content table th{color:#363636}.content table th:not([align]){text-align:inherit}.content table thead td,.content table thead th{border-width:0 0 2px;color:#363636}.content table tfoot td,.content table tfoot th{border-width:2px 0 0;color:#363636}.content table tbody tr:last-child td,.content table tbody tr:last-child th{border-bottom-width:0}.content .tabs li+li{margin-top:0}.content.is-small{font-size:.75rem}.content.is-normal{font-size:1rem}.content.is-medium{font-size:1.25rem}.content.is-large{font-size:1.5rem}.icon{align-items:center;display:inline-flex;height:1.5rem;justify-content:center;width:1.5rem}.icon.is-small{height:1rem;width:1rem}.icon.is-medium{height:2rem;width:2rem}.icon.is-large{height:3rem;width:3rem}.icon-text{align-items:flex-start;color:inherit;display:inline-flex;flex-wrap:wrap;line-height:1.5rem;vertical-align:top}.icon-text .icon{flex-grow:0;flex-shrink:0}.icon-text .icon:not(:last-child){margin-right:.25em}.icon-text .icon:not(:first-child){margin-left:.25em}div.icon-text{display:flex}.notification{background-color:#f5f5f5;border-radius:4px;padding:1.25rem 2.5rem 1.25rem 1.5rem;position:relative}.notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}.notification strong{color:currentColor}.notification code,.notification pre{background:#000}.notification pre code{background:transparent}.notification>.delete{position:absolute;right:.5rem;top:.5rem}.notification .content,.notification .subtitle,.notification .title{color:currentColor}.notification.is-white{background-color:#fff;color:#000}.notification.is-black{background-color:#000;color:#fff}.notification.is-light{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.notification.is-dark{background-color:#363636;color:#fff}.notification.is-primary{background-color:#00d1b2;color:#fff}.notification.is-primary.is-light{background-color:#ebfffc;color:#00947e}.notification.is-link{background-color:#1f89e5;color:#fff}.notification.is-link.is-light{background-color:#edf5fd;color:#1671c0}.notification.is-info{background-color:#4387f4;color:#fff}.notification.is-info.is-light{background-color:#ecf3fe;color:#0c53c6}.notification.is-success{background-color:#55b978;color:#fff}.notification.is-success.is-light{background-color:#f1f9f4;color:#327b4c}.notification.is-warning{background-color:#ffe08a;color:rgba(0,0,0,.7)}.notification.is-warning.is-light{background-color:#fffaeb;color:#946c00}.notification.is-danger{background-color:#ff3860;color:#fff}.notification.is-danger.is-light{background-color:#ffebef;color:#db002c}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:9999px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#ededed}.progress::-webkit-progress-value{background-color:#f5f5f5}.progress::-moz-progress-bar{background-color:#f5f5f5}.progress::-ms-fill{background-color:#f5f5f5;border:none}.progress.is-white::-webkit-progress-value{background-color:#fff}.progress.is-white::-moz-progress-bar{background-color:#fff}.progress.is-white::-ms-fill{background-color:#fff}.progress.is-white:indeterminate{background-image:linear-gradient(90deg,#fff 30%,#ededed 0)}.progress.is-black::-webkit-progress-value{background-color:#000}.progress.is-black::-moz-progress-bar{background-color:#000}.progress.is-black::-ms-fill{background-color:#000}.progress.is-black:indeterminate{background-image:linear-gradient(90deg,#000 30%,#ededed 0)}.progress.is-light::-webkit-progress-value{background-color:#f5f5f5}.progress.is-light::-moz-progress-bar{background-color:#f5f5f5}.progress.is-light::-ms-fill{background-color:#f5f5f5}.progress.is-light:indeterminate{background-image:linear-gradient(90deg,#f5f5f5 30%,#ededed 0)}.progress.is-dark::-webkit-progress-value{background-color:#363636}.progress.is-dark::-moz-progress-bar{background-color:#363636}.progress.is-dark::-ms-fill{background-color:#363636}.progress.is-dark:indeterminate{background-image:linear-gradient(90deg,#363636 30%,#ededed 0)}.progress.is-primary::-webkit-progress-value{background-color:#00d1b2}.progress.is-primary::-moz-progress-bar{background-color:#00d1b2}.progress.is-primary::-ms-fill{background-color:#00d1b2}.progress.is-primary:indeterminate{background-image:linear-gradient(90deg,#00d1b2 30%,#ededed 0)}.progress.is-link::-webkit-progress-value{background-color:#1f89e5}.progress.is-link::-moz-progress-bar{background-color:#1f89e5}.progress.is-link::-ms-fill{background-color:#1f89e5}.progress.is-link:indeterminate{background-image:linear-gradient(90deg,#1f89e5 30%,#ededed 0)}.progress.is-info::-webkit-progress-value{background-color:#4387f4}.progress.is-info::-moz-progress-bar{background-color:#4387f4}.progress.is-info::-ms-fill{background-color:#4387f4}.progress.is-info:indeterminate{background-image:linear-gradient(90deg,#4387f4 30%,#ededed 0)}.progress.is-success::-webkit-progress-value{background-color:#55b978}.progress.is-success::-moz-progress-bar{background-color:#55b978}.progress.is-success::-ms-fill{background-color:#55b978}.progress.is-success:indeterminate{background-image:linear-gradient(90deg,#55b978 30%,#ededed 0)}.progress.is-warning::-webkit-progress-value{background-color:#ffe08a}.progress.is-warning::-moz-progress-bar{background-color:#ffe08a}.progress.is-warning::-ms-fill{background-color:#ffe08a}.progress.is-warning:indeterminate{background-image:linear-gradient(90deg,#ffe08a 30%,#ededed 0)}.progress.is-danger::-webkit-progress-value{background-color:#ff3860}.progress.is-danger::-moz-progress-bar{background-color:#ff3860}.progress.is-danger::-ms-fill{background-color:#ff3860}.progress.is-danger:indeterminate{background-image:linear-gradient(90deg,#ff3860 30%,#ededed 0)}.progress:indeterminate{-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:moveIndeterminate;animation-name:moveIndeterminate;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-color:#ededed;background-image:linear-gradient(90deg,#f5f5f5 30%,#ededed 0);background-position:0 0;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress:indeterminate::-ms-fill{animation-name:none}.progress.is-small{height:.75rem}.progress.is-medium{height:1.25rem}.progress.is-large{height:1.5rem}@-webkit-keyframes moveIndeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes moveIndeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}.table{color:#363636}.table td,.table th{border:solid #dbdbdb;border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.table td.is-white,.table th.is-white{background-color:#fff;border-color:#fff;color:#000}.table td.is-black,.table th.is-black{background-color:#000;border-color:#000;color:#fff}.table td.is-light,.table th.is-light{background-color:#f5f5f5;border-color:#f5f5f5;color:rgba(0,0,0,.7)}.table td.is-dark,.table th.is-dark{background-color:#363636;border-color:#363636;color:#fff}.table td.is-primary,.table th.is-primary{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.table td.is-link,.table th.is-link{background-color:#1f89e5;border-color:#1f89e5;color:#fff}.table td.is-info,.table th.is-info{background-color:#4387f4;border-color:#4387f4;color:#fff}.table td.is-success,.table th.is-success{background-color:#55b978;border-color:#55b978;color:#fff}.table td.is-warning,.table th.is-warning{background-color:#ffe08a;border-color:#ffe08a;color:rgba(0,0,0,.7)}.table td.is-danger,.table th.is-danger{background-color:#ff3860;border-color:#ff3860;color:#fff}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:#00d1b2;color:#fff}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table td.is-vcentered,.table th.is-vcentered{vertical-align:middle}.table th{color:#363636}.table th:not([align]){text-align:left}.table tr.is-selected{background-color:#00d1b2;color:#fff}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:#fff;color:currentColor}.table thead{background-color:transparent}.table thead td,.table thead th{border-width:0 0 2px;color:#363636}.table tfoot{background-color:transparent}.table tfoot td,.table tfoot th{border-width:2px 0 0;color:#363636}.table tbody{background-color:transparent}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover,.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(2n){background-color:#f5f5f5}.table.is-narrow td,.table.is-narrow th{padding:.25em .5em}.table.is-striped tbody tr:not(.is-selected):nth-child(2n){background-color:#fafafa}.table-container{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto;overflow-y:hidden}.subtitle,.title{word-break:break-word}.subtitle em,.subtitle span,.title em,.title span{font-weight:inherit}.subtitle sub,.subtitle sup,.title sub,.title sup{font-size:.75em}.subtitle .tag,.title .tag{vertical-align:middle}.title{color:#f5f5f5;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:#ededed;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:#ededed;font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.number{align-items:center;background-color:#f5f5f5;border-radius:9999px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:.25rem .5rem;text-align:center;vertical-align:top}.input,.select select,.textarea{background-color:#000;border-color:#7a7a7a;border-radius:4px;color:#f5f5f5}.input::-moz-placeholder,.select select::-moz-placeholder,.textarea::-moz-placeholder{color:#ededed}.input::-webkit-input-placeholder,.select select::-webkit-input-placeholder,.textarea::-webkit-input-placeholder{color:#ededed}.input:-moz-placeholder,.select select:-moz-placeholder,.textarea:-moz-placeholder{color:#ededed}.input:-ms-input-placeholder,.select select:-ms-input-placeholder,.textarea:-ms-input-placeholder{color:#ededed}.input:hover,.is-hovered.input,.is-hovered.textarea,.select select.is-hovered,.select select:hover,.textarea:hover{border-color:#1f89e5}.input:active,.input:focus,.is-active.input,.is-active.textarea,.is-focused.input,.is-focused.textarea,.select select.is-active,.select select.is-focused,.select select:active,.select select:focus,.textarea:active,.textarea:focus{border-color:#edf5fd;box-shadow:0 0 0 .125em rgba(31,137,229,.25)}.select fieldset[disabled] select,.select select[disabled],[disabled].input,[disabled].textarea,fieldset[disabled] .input,fieldset[disabled] .select select,fieldset[disabled] .textarea{background-color:#4a4a4a;border-color:#7a7a7a;box-shadow:none;color:#f5f5f5}.select fieldset[disabled] select::-moz-placeholder,.select select[disabled]::-moz-placeholder,[disabled].input::-moz-placeholder,[disabled].textarea::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder{color:#ededed}.select fieldset[disabled] select::-webkit-input-placeholder,.select select[disabled]::-webkit-input-placeholder,[disabled].input::-webkit-input-placeholder,[disabled].textarea::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder{color:#ededed}.select fieldset[disabled] select:-moz-placeholder,.select select[disabled]:-moz-placeholder,[disabled].input:-moz-placeholder,[disabled].textarea:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder{color:#ededed}.select fieldset[disabled] select:-ms-input-placeholder,.select select[disabled]:-ms-input-placeholder,[disabled].input:-ms-input-placeholder,[disabled].textarea:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder{color:#ededed}.input,.textarea{box-shadow:inset 0 .0625em .125em rgba(0,0,0,.05);max-width:100%;width:100%}[readonly].input,[readonly].textarea{box-shadow:none}.is-white.input,.is-white.textarea{border-color:#fff}.is-white.input:active,.is-white.input:focus,.is-white.is-active.input,.is-white.is-active.textarea,.is-white.is-focused.input,.is-white.is-focused.textarea,.is-white.textarea:active,.is-white.textarea:focus{box-shadow:0 0 0 .125em hsla(0,0%,100%,.25)}.is-black.input,.is-black.textarea{border-color:#000}.is-black.input:active,.is-black.input:focus,.is-black.is-active.input,.is-black.is-active.textarea,.is-black.is-focused.input,.is-black.is-focused.textarea,.is-black.textarea:active,.is-black.textarea:focus{box-shadow:0 0 0 .125em rgba(0,0,0,.25)}.is-light.input,.is-light.textarea{border-color:#f5f5f5}.is-light.input:active,.is-light.input:focus,.is-light.is-active.input,.is-light.is-active.textarea,.is-light.is-focused.input,.is-light.is-focused.textarea,.is-light.textarea:active,.is-light.textarea:focus{box-shadow:0 0 0 .125em hsla(0,0%,96%,.25)}.is-dark.input,.is-dark.textarea{border-color:#363636}.is-dark.input:active,.is-dark.input:focus,.is-dark.is-active.input,.is-dark.is-active.textarea,.is-dark.is-focused.input,.is-dark.is-focused.textarea,.is-dark.textarea:active,.is-dark.textarea:focus{box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.is-primary.input,.is-primary.textarea{border-color:#00d1b2}.is-primary.input:active,.is-primary.input:focus,.is-primary.is-active.input,.is-primary.is-active.textarea,.is-primary.is-focused.input,.is-primary.is-focused.textarea,.is-primary.textarea:active,.is-primary.textarea:focus{box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.is-link.input,.is-link.textarea{border-color:#1f89e5}.is-link.input:active,.is-link.input:focus,.is-link.is-active.input,.is-link.is-active.textarea,.is-link.is-focused.input,.is-link.is-focused.textarea,.is-link.textarea:active,.is-link.textarea:focus{box-shadow:0 0 0 .125em rgba(31,137,229,.25)}.is-info.input,.is-info.textarea{border-color:#4387f4}.is-info.input:active,.is-info.input:focus,.is-info.is-active.input,.is-info.is-active.textarea,.is-info.is-focused.input,.is-info.is-focused.textarea,.is-info.textarea:active,.is-info.textarea:focus{box-shadow:0 0 0 .125em rgba(67,135,244,.25)}.is-success.input,.is-success.textarea{border-color:#55b978}.is-success.input:active,.is-success.input:focus,.is-success.is-active.input,.is-success.is-active.textarea,.is-success.is-focused.input,.is-success.is-focused.textarea,.is-success.textarea:active,.is-success.textarea:focus{box-shadow:0 0 0 .125em rgba(85,185,120,.25)}.is-warning.input,.is-warning.textarea{border-color:#ffe08a}.is-warning.input:active,.is-warning.input:focus,.is-warning.is-active.input,.is-warning.is-active.textarea,.is-warning.is-focused.input,.is-warning.is-focused.textarea,.is-warning.textarea:active,.is-warning.textarea:focus{box-shadow:0 0 0 .125em rgba(255,224,138,.25)}.is-danger.input,.is-danger.textarea{border-color:#ff3860}.is-danger.input:active,.is-danger.input:focus,.is-danger.is-active.input,.is-danger.is-active.textarea,.is-danger.is-focused.input,.is-danger.is-focused.textarea,.is-danger.textarea:active,.is-danger.textarea:focus{box-shadow:0 0 0 .125em rgba(255,56,96,.25)}.is-small.input,.is-small.textarea{border-radius:2px;font-size:.75rem}.is-medium.input,.is-medium.textarea{font-size:1.25rem}.is-large.input,.is-large.textarea{font-size:1.5rem}.is-fullwidth.input,.is-fullwidth.textarea{display:block;width:100%}.is-inline.input,.is-inline.textarea{display:inline;width:auto}.input.is-rounded{border-radius:9999px;padding-left:calc(1.125em - 1px);padding-right:calc(1.125em - 1px)}.input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{display:block;max-width:100%;min-width:100%;padding:calc(.75em - 1px);resize:vertical}.textarea:not([rows]){max-height:40em;min-height:8em}.textarea[rows]{height:auto}.textarea.has-fixed-size{resize:none}.checkbox,.radio{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.checkbox input,.radio input{cursor:pointer}.checkbox:hover,.radio:hover{color:#363636}.checkbox input[disabled],.radio input[disabled],[disabled].checkbox,[disabled].radio,fieldset[disabled] .checkbox,fieldset[disabled] .radio{color:#f5f5f5;cursor:not-allowed}.radio+.radio{margin-left:.5em}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.5em}.select:not(.is-multiple):not(.is-loading):after{border-color:#1f89e5;right:1.125em;z-index:4}.select.is-rounded select{border-radius:9999px;padding-left:1em}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}.select select::-ms-expand{display:none}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:.5em 1em}.select:not(.is-multiple):not(.is-loading):hover:after{border-color:#363636}.select.is-white select,.select.is-white:not(:hover):after{border-color:#fff}.select.is-white select.is-hovered,.select.is-white select:hover{border-color:#f2f2f2}.select.is-white select.is-active,.select.is-white select.is-focused,.select.is-white select:active,.select.is-white select:focus{box-shadow:0 0 0 .125em hsla(0,0%,100%,.25)}.select.is-black select,.select.is-black select.is-hovered,.select.is-black select:hover,.select.is-black:not(:hover):after{border-color:#000}.select.is-black select.is-active,.select.is-black select.is-focused,.select.is-black select:active,.select.is-black select:focus{box-shadow:0 0 0 .125em rgba(0,0,0,.25)}.select.is-light select,.select.is-light:not(:hover):after{border-color:#f5f5f5}.select.is-light select.is-hovered,.select.is-light select:hover{border-color:#e8e8e8}.select.is-light select.is-active,.select.is-light select.is-focused,.select.is-light select:active,.select.is-light select:focus{box-shadow:0 0 0 .125em hsla(0,0%,96%,.25)}.select.is-dark select,.select.is-dark:not(:hover):after{border-color:#363636}.select.is-dark select.is-hovered,.select.is-dark select:hover{border-color:#292929}.select.is-dark select.is-active,.select.is-dark select.is-focused,.select.is-dark select:active,.select.is-dark select:focus{box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.select.is-primary select,.select.is-primary:not(:hover):after{border-color:#00d1b2}.select.is-primary select.is-hovered,.select.is-primary select:hover{border-color:#00b89c}.select.is-primary select.is-active,.select.is-primary select.is-focused,.select.is-primary select:active,.select.is-primary select:focus{box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.select.is-link select,.select.is-link:not(:hover):after{border-color:#1f89e5}.select.is-link select.is-hovered,.select.is-link select:hover{border-color:#197bd2}.select.is-link select.is-active,.select.is-link select.is-focused,.select.is-link select:active,.select.is-link select:focus{box-shadow:0 0 0 .125em rgba(31,137,229,.25)}.select.is-info select,.select.is-info:not(:hover):after{border-color:#4387f4}.select.is-info select.is-hovered,.select.is-info select:hover{border-color:#2b77f3}.select.is-info select.is-active,.select.is-info select.is-focused,.select.is-info select:active,.select.is-info select:focus{box-shadow:0 0 0 .125em rgba(67,135,244,.25)}.select.is-success select,.select.is-success:not(:hover):after{border-color:#55b978}.select.is-success select.is-hovered,.select.is-success select:hover{border-color:#47ae6b}.select.is-success select.is-active,.select.is-success select.is-focused,.select.is-success select:active,.select.is-success select:focus{box-shadow:0 0 0 .125em rgba(85,185,120,.25)}.select.is-warning select,.select.is-warning:not(:hover):after{border-color:#ffe08a}.select.is-warning select.is-hovered,.select.is-warning select:hover{border-color:#ffd970}.select.is-warning select.is-active,.select.is-warning select.is-focused,.select.is-warning select:active,.select.is-warning select:focus{box-shadow:0 0 0 .125em rgba(255,224,138,.25)}.select.is-danger select,.select.is-danger:not(:hover):after{border-color:#ff3860}.select.is-danger select.is-hovered,.select.is-danger select:hover{border-color:#ff1f4b}.select.is-danger select.is-active,.select.is-danger select.is-focused,.select.is-danger select:active,.select.is-danger select:focus{box-shadow:0 0 0 .125em rgba(255,56,96,.25)}.select.is-small{border-radius:2px;font-size:.75rem}.select.is-medium{font-size:1.25rem}.select.is-large{font-size:1.5rem}.select.is-disabled:after{border-color:#f5f5f5!important;opacity:.5}.select.is-fullwidth,.select.is-fullwidth select{width:100%}.select.is-loading:after{margin-top:0;position:absolute;right:.625em;top:.625em;transform:none}.select.is-loading.is-small:after{font-size:.75rem}.select.is-loading.is-medium:after{font-size:1.25rem}.select.is-loading.is-large:after{font-size:1.5rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#000}.file.is-white.is-hovered .file-cta,.file.is-white:hover .file-cta{background-color:#f9f9f9;border-color:transparent;color:#000}.file.is-white.is-focused .file-cta,.file.is-white:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em hsla(0,0%,100%,.25);color:#000}.file.is-white.is-active .file-cta,.file.is-white:active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#000}.file.is-black .file-cta,.file.is-black.is-hovered .file-cta,.file.is-black:hover .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-black.is-focused .file-cta,.file.is-black:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(0,0,0,.25);color:#fff}.file.is-black.is-active .file-cta,.file.is-black:active .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-light .file-cta{background-color:#f5f5f5;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-light.is-hovered .file-cta,.file.is-light:hover .file-cta{background-color:#eee;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-light.is-focused .file-cta,.file.is-light:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em hsla(0,0%,96%,.25);color:rgba(0,0,0,.7)}.file.is-light.is-active .file-cta,.file.is-light:active .file-cta{background-color:#e8e8e8;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-dark .file-cta{background-color:#363636;border-color:transparent;color:#fff}.file.is-dark.is-hovered .file-cta,.file.is-dark:hover .file-cta{background-color:#2f2f2f;border-color:transparent;color:#fff}.file.is-dark.is-focused .file-cta,.file.is-dark:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(54,54,54,.25);color:#fff}.file.is-dark.is-active .file-cta,.file.is-dark:active .file-cta{background-color:#292929;border-color:transparent;color:#fff}.file.is-primary .file-cta{background-color:#00d1b2;border-color:transparent;color:#fff}.file.is-primary.is-hovered .file-cta,.file.is-primary:hover .file-cta{background-color:#00c4a7;border-color:transparent;color:#fff}.file.is-primary.is-focused .file-cta,.file.is-primary:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(0,209,178,.25);color:#fff}.file.is-primary.is-active .file-cta,.file.is-primary:active .file-cta{background-color:#00b89c;border-color:transparent;color:#fff}.file.is-link .file-cta{background-color:#1f89e5;border-color:transparent;color:#fff}.file.is-link.is-hovered .file-cta,.file.is-link:hover .file-cta{background-color:#1a82dd;border-color:transparent;color:#fff}.file.is-link.is-focused .file-cta,.file.is-link:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(31,137,229,.25);color:#fff}.file.is-link.is-active .file-cta,.file.is-link:active .file-cta{background-color:#197bd2;border-color:transparent;color:#fff}.file.is-info .file-cta{background-color:#4387f4;border-color:transparent;color:#fff}.file.is-info.is-hovered .file-cta,.file.is-info:hover .file-cta{background-color:#377ff3;border-color:transparent;color:#fff}.file.is-info.is-focused .file-cta,.file.is-info:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(67,135,244,.25);color:#fff}.file.is-info.is-active .file-cta,.file.is-info:active .file-cta{background-color:#2b77f3;border-color:transparent;color:#fff}.file.is-success .file-cta{background-color:#55b978;border-color:transparent;color:#fff}.file.is-success.is-hovered .file-cta,.file.is-success:hover .file-cta{background-color:#4cb671;border-color:transparent;color:#fff}.file.is-success.is-focused .file-cta,.file.is-success:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(85,185,120,.25);color:#fff}.file.is-success.is-active .file-cta,.file.is-success:active .file-cta{background-color:#47ae6b;border-color:transparent;color:#fff}.file.is-warning .file-cta{background-color:#ffe08a;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-warning.is-hovered .file-cta,.file.is-warning:hover .file-cta{background-color:#ffdc7d;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-warning.is-focused .file-cta,.file.is-warning:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,224,138,.25);color:rgba(0,0,0,.7)}.file.is-warning.is-active .file-cta,.file.is-warning:active .file-cta{background-color:#ffd970;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-danger .file-cta{background-color:#ff3860;border-color:transparent;color:#fff}.file.is-danger.is-hovered .file-cta,.file.is-danger:hover .file-cta{background-color:#ff2b56;border-color:transparent;color:#fff}.file.is-danger.is-focused .file-cta,.file.is-danger:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,56,96,.25);color:#fff}.file.is-danger.is-active .file-cta,.file.is-danger:active .file-cta{background-color:#ff1f4b;border-color:transparent;color:#fff}.file.is-small{font-size:.75rem}.file.is-normal{font-size:1rem}.file.is-medium{font-size:1.25rem}.file.is-medium .file-icon .fa{font-size:21px}.file.is-large{font-size:1.5rem}.file.is-large .file-icon .fa{font-size:28px}.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}.file.has-name.is-empty .file-cta{border-radius:4px}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:21px}.file.is-boxed.is-small .file-icon .fa{font-size:14px}.file.is-boxed.is-medium .file-icon .fa{font-size:28px}.file.is-boxed.is-large .file-icon .fa{font-size:35px}.file.is-boxed.has-name .file-cta{border-radius:4px 4px 0 0}.file.is-boxed.has-name .file-name{border-radius:0 0 4px 4px;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 4px 4px 0}.file.is-right .file-name{border-radius:4px 0 0 4px;border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;cursor:pointer;display:flex;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover .file-cta{background-color:#eee;color:#363636}.file-label:hover .file-name{border-color:#d5d5d5}.file-label:active .file-cta{background-color:#e8e8e8;color:#363636}.file-label:active .file-name{border-color:#cfcfcf}.file-input{height:100%;left:0;opacity:0;outline:none;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:#dbdbdb;border-radius:4px;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:#f5f5f5;color:#f5f5f5}.file-name{border:1px solid #dbdbdb;border-left-width:0;display:block;max-width:16em;overflow:hidden;text-align:inherit;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:.5em;width:1em}.file-icon .fa{font-size:14px}.label{color:#363636;display:block;font-size:1rem;font-weight:700}.label:not(:last-child){margin-bottom:.5em}.label.is-small{font-size:.75rem}.label.is-medium{font-size:1.25rem}.label.is-large{font-size:1.5rem}.help{display:block;font-size:.75rem;margin-top:.25rem}.help.is-white{color:#fff}.help.is-black{color:#000}.help.is-light{color:#f5f5f5}.help.is-dark{color:#363636}.help.is-primary{color:#00d1b2}.help.is-link{color:#1f89e5}.help.is-info{color:#4387f4}.help.is-success{color:#55b978}.help.is-warning{color:#ffe08a}.help.is-danger{color:#ff3860}.field:not(:last-child){margin-bottom:.75rem}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-right:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control .button:not([disabled]).is-hovered,.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .input:not([disabled]).is-hovered,.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]).is-hovered,.field.has-addons .control .select select:not([disabled]):hover{z-index:2}.field.has-addons .control .button:not([disabled]).is-active,.field.has-addons .control .button:not([disabled]).is-focused,.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .input:not([disabled]).is-active,.field.has-addons .control .input:not([disabled]).is-focused,.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control .select select:not([disabled]).is-active,.field.has-addons .control .select select:not([disabled]).is-focused,.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select:not([disabled]):focus{z-index:3}.field.has-addons .control .button:not([disabled]).is-active:hover,.field.has-addons .control .button:not([disabled]).is-focused:hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .input:not([disabled]).is-active:hover,.field.has-addons .control .input:not([disabled]).is-focused:hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control .select select:not([disabled]).is-active:hover,.field.has-addons .control .select select:not([disabled]).is-focused:hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select:not([disabled]):focus:hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}.field.is-grouped.is-grouped-multiline>.control:last-child,.field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:.75rem}.field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-.75rem}.field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media print,screen and (min-width:769px){.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width:768px){.field-label{margin-bottom:.5rem}}@media print,screen and (min-width:769px){.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}.field-label.is-small{font-size:.75rem;padding-top:.375em}.field-label.is-normal{padding-top:.375em}.field-label.is-medium{font-size:1.25rem;padding-top:.375em}.field-label.is-large{font-size:1.5rem;padding-top:.375em}}.field-body .field .field{margin-bottom:0}@media print,screen and (min-width:769px){.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-right:.75rem}}.control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:inherit}.control.has-icons-left .input:focus~.icon,.control.has-icons-left .select:focus~.icon,.control.has-icons-right .input:focus~.icon,.control.has-icons-right .select:focus~.icon{color:#f5f5f5}.control.has-icons-left .input.is-small~.icon,.control.has-icons-left .select.is-small~.icon,.control.has-icons-right .input.is-small~.icon,.control.has-icons-right .select.is-small~.icon{font-size:.75rem}.control.has-icons-left .input.is-medium~.icon,.control.has-icons-left .select.is-medium~.icon,.control.has-icons-right .input.is-medium~.icon,.control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}.control.has-icons-left .input.is-large~.icon,.control.has-icons-left .select.is-large~.icon,.control.has-icons-right .input.is-large~.icon,.control.has-icons-right .select.is-large~.icon{font-size:1.5rem}.control.has-icons-left .icon,.control.has-icons-right .icon{color:#dbdbdb;height:2.5em;pointer-events:none;position:absolute;top:0;width:2.5em;z-index:4}.control.has-icons-left .input,.control.has-icons-left .select select{padding-left:2.5em}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right .select select{padding-right:2.5em}.control.has-icons-right .icon.is-right{right:0}.control.is-loading:after{position:absolute!important;right:.625em;top:.625em;z-index:4}.control.is-loading.is-small:after{font-size:.75rem}.control.is-loading.is-medium:after{font-size:1.25rem}.control.is-loading.is-large:after{font-size:1.5rem}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}.level.is-mobile,.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-left+.level-right{margin-top:0}.level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media print,screen and (min-width:769px){.level{display:flex}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .subtitle,.level-item .title{margin-bottom:0}@media screen and (max-width:768px){.level-item:not(:last-child){margin-bottom:.75rem}}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}@media print,screen and (min-width:769px){.level-left .level-item:not(:last-child),.level-right .level-item:not(:last-child){margin-right:.75rem}}.level-left{align-items:center;justify-content:flex-start}@media screen and (max-width:768px){.level-left+.level-right{margin-top:1.5rem}}@media print,screen and (min-width:769px){.level-left{display:flex}}.level-right{align-items:center;justify-content:flex-end}@media print,screen and (min-width:769px){.level-right{display:flex}}.menu{font-size:1rem}.menu.is-small{font-size:.75rem}.menu.is-medium{font-size:1.25rem}.menu.is-large{font-size:1.5rem}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:#f5f5f5;display:block;padding:.5em .75em}.menu-list a:hover{background-color:#f5f5f5;color:#363636}.menu-list a.is-active{background-color:#1f89e5;color:#fff}.menu-list li ul{border-left:1px solid #dbdbdb;margin:.75em;padding-left:.75em}.menu-label{color:#7a7a7a;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}.menu-label:not(:first-child){margin-top:1em}.menu-label:not(:last-child){margin-bottom:1em}.message{background-color:#f5f5f5;border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small{font-size:.75rem}.message.is-medium{font-size:1.25rem}.message.is-large{font-size:1.5rem}.message.is-white{background-color:#fff}.message.is-white .message-header{background-color:#fff;color:#000}.message.is-white .message-body{border-color:#fff}.message.is-black{background-color:#fafafa}.message.is-black .message-header{background-color:#000;color:#fff}.message.is-black .message-body{border-color:#000}.message.is-light{background-color:#fafafa}.message.is-light .message-header{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.message.is-light .message-body{border-color:#f5f5f5}.message.is-dark{background-color:#fafafa}.message.is-dark .message-header{background-color:#363636;color:#fff}.message.is-dark .message-body{border-color:#363636}.message.is-primary{background-color:#ebfffc}.message.is-primary .message-header{background-color:#00d1b2;color:#fff}.message.is-primary .message-body{border-color:#00d1b2;color:#00947e}.message.is-link{background-color:#edf5fd}.message.is-link .message-header{background-color:#1f89e5;color:#fff}.message.is-link .message-body{border-color:#1f89e5;color:#1671c0}.message.is-info{background-color:#ecf3fe}.message.is-info .message-header{background-color:#4387f4;color:#fff}.message.is-info .message-body{border-color:#4387f4;color:#0c53c6}.message.is-success{background-color:#f1f9f4}.message.is-success .message-header{background-color:#55b978;color:#fff}.message.is-success .message-body{border-color:#55b978;color:#327b4c}.message.is-warning{background-color:#fffaeb}.message.is-warning .message-header{background-color:#ffe08a;color:rgba(0,0,0,.7)}.message.is-warning .message-body{border-color:#ffe08a;color:#946c00}.message.is-danger{background-color:#ffebef}.message.is-danger .message-header{background-color:#ff3860;color:#fff}.message.is-danger .message-body{border-color:#ff3860;color:#db002c}.message-header{align-items:center;background-color:#f5f5f5;border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:.75em}.message-header+.message-body{border-top-left-radius:0;border-top-right-radius:0;border-width:0}.message-body{border:solid #dbdbdb;border-radius:4px;border-width:0 0 0 4px;padding:1.25em 1.5em}.message-body code,.message-body pre{background-color:#000}.message-body pre code{background-color:transparent}.pagination{font-size:1rem;margin:-.25rem}.pagination.is-small{font-size:.75rem}.pagination.is-medium{font-size:1.25rem}.pagination.is-large{font-size:1.5rem}.pagination.is-rounded .pagination-next,.pagination.is-rounded .pagination-previous{border-radius:9999px;padding-left:1em;padding-right:1em}.pagination.is-rounded .pagination-link{border-radius:9999px}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}.pagination-link,.pagination-next,.pagination-previous{border-color:#f5f5f5;color:#f5f5f5;min-width:2.5em}.pagination-link:hover,.pagination-next:hover,.pagination-previous:hover{border-color:#f5f5f5;color:#000}.pagination-link:focus,.pagination-next:focus,.pagination-previous:focus{border-color:#1f89e5}.pagination-link:active,.pagination-next:active,.pagination-previous:active{box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.pagination-link.is-disabled,.pagination-link[disabled],.pagination-next.is-disabled,.pagination-next[disabled],.pagination-previous.is-disabled,.pagination-previous[disabled]{background-color:#4a4a4a;border-color:#7a7a7a;box-shadow:none;color:#a3a3a3;opacity:.5}.pagination-next,.pagination-previous{padding-left:.75em;padding-right:.75em;white-space:nowrap}.pagination-link.is-current{background-color:#1f89e5;border-color:#1f89e5;color:#fff}.pagination-ellipsis{color:#b5b5b5;pointer-events:none}.pagination-list{flex-wrap:wrap}.pagination-list li{list-style:none}@media screen and (max-width:768px){.pagination{flex-wrap:wrap}.pagination-list li,.pagination-next,.pagination-previous{flex-grow:1;flex-shrink:1}}@media print,screen and (min-width:769px){.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous{margin-bottom:0;margin-top:0}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between;margin-bottom:0;margin-top:0}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom:1px solid #dbdbdb;color:#f5f5f5;display:flex;justify-content:center;margin-bottom:-1px;padding:.5em 1em;vertical-align:top}.tabs a:hover{border-bottom-color:#363636;color:#f5f5f5}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:#1f89e5;color:#1f89e5}.tabs ul{align-items:center;border-bottom:1px solid #dbdbdb;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-center,.tabs ul.is-left{padding-right:.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:.75em}.tabs .icon:first-child{margin-right:.5em}.tabs .icon:last-child{margin-left:.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.tabs.is-boxed a:hover{background-color:#363636;border-bottom-color:#7a7a7a}.tabs.is-boxed li.is-active a{background-color:#000;border-bottom-color:transparent!important;border-color:#7a7a7a}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border:1px solid #dbdbdb;margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:#f5f5f5;border-color:#1f89e5;z-index:2}.tabs.is-toggle li+li{margin-left:-1px}.tabs.is-toggle li:first-child a{border-bottom-left-radius:4px;border-top-left-radius:4px}.tabs.is-toggle li:last-child a{border-bottom-right-radius:4px;border-top-right-radius:4px}.tabs.is-toggle li.is-active a{background-color:#1f89e5;border-color:#1f89e5;color:#fff;z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:9999px;border-top-left-radius:9999px;padding-left:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:9999px;border-top-right-radius:9999px;padding-right:1.25em}.tabs.is-small{font-size:.75rem}.tabs.is-medium{font-size:1.25rem}.tabs.is-large{font-size:1.5rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-narrow{flex:none;width:auto}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-left:50%}.columns.is-mobile>.column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>.column.is-0{flex:none;width:0}.columns.is-mobile>.column.is-offset-0{margin-left:0}.columns.is-mobile>.column.is-1{flex:none;width:8.33333337%}.columns.is-mobile>.column.is-offset-1{margin-left:8.33333337%}.columns.is-mobile>.column.is-2{flex:none;width:16.66666674%}.columns.is-mobile>.column.is-offset-2{margin-left:16.66666674%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-left:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.33333337%}.columns.is-mobile>.column.is-offset-4{margin-left:33.33333337%}.columns.is-mobile>.column.is-5{flex:none;width:41.66666674%}.columns.is-mobile>.column.is-offset-5{margin-left:41.66666674%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-left:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.33333337%}.columns.is-mobile>.column.is-offset-7{margin-left:58.33333337%}.columns.is-mobile>.column.is-8{flex:none;width:66.66666674%}.columns.is-mobile>.column.is-offset-8{margin-left:66.66666674%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-left:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.33333337%}.columns.is-mobile>.column.is-offset-10{margin-left:83.33333337%}.columns.is-mobile>.column.is-11{flex:none;width:91.66666674%}.columns.is-mobile>.column.is-offset-11{margin-left:91.66666674%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-left:100%}@media screen and (max-width:768px){.column.is-narrow-mobile{flex:none;width:auto}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-left:75%}.column.is-offset-two-thirds-mobile{margin-left:66.6666%}.column.is-offset-half-mobile{margin-left:50%}.column.is-offset-one-third-mobile{margin-left:33.3333%}.column.is-offset-one-quarter-mobile{margin-left:25%}.column.is-offset-one-fifth-mobile{margin-left:20%}.column.is-offset-two-fifths-mobile{margin-left:40%}.column.is-offset-three-fifths-mobile{margin-left:60%}.column.is-offset-four-fifths-mobile{margin-left:80%}.column.is-0-mobile{flex:none;width:0}.column.is-offset-0-mobile{margin-left:0}.column.is-1-mobile{flex:none;width:8.33333337%}.column.is-offset-1-mobile{margin-left:8.33333337%}.column.is-2-mobile{flex:none;width:16.66666674%}.column.is-offset-2-mobile{margin-left:16.66666674%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-left:25%}.column.is-4-mobile{flex:none;width:33.33333337%}.column.is-offset-4-mobile{margin-left:33.33333337%}.column.is-5-mobile{flex:none;width:41.66666674%}.column.is-offset-5-mobile{margin-left:41.66666674%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-left:50%}.column.is-7-mobile{flex:none;width:58.33333337%}.column.is-offset-7-mobile{margin-left:58.33333337%}.column.is-8-mobile{flex:none;width:66.66666674%}.column.is-offset-8-mobile{margin-left:66.66666674%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-left:75%}.column.is-10-mobile{flex:none;width:83.33333337%}.column.is-offset-10-mobile{margin-left:83.33333337%}.column.is-11-mobile{flex:none;width:91.66666674%}.column.is-offset-11-mobile{margin-left:91.66666674%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-left:100%}}@media print,screen and (min-width:769px){.column.is-narrow,.column.is-narrow-tablet{flex:none;width:auto}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-left:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-left:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-left:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-left:33.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-left:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-left:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-left:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-left:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-left:80%}.column.is-0,.column.is-0-tablet{flex:none;width:0}.column.is-offset-0,.column.is-offset-0-tablet{margin-left:0}.column.is-1,.column.is-1-tablet{flex:none;width:8.33333337%}.column.is-offset-1,.column.is-offset-1-tablet{margin-left:8.33333337%}.column.is-2,.column.is-2-tablet{flex:none;width:16.66666674%}.column.is-offset-2,.column.is-offset-2-tablet{margin-left:16.66666674%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-left:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.33333337%}.column.is-offset-4,.column.is-offset-4-tablet{margin-left:33.33333337%}.column.is-5,.column.is-5-tablet{flex:none;width:41.66666674%}.column.is-offset-5,.column.is-offset-5-tablet{margin-left:41.66666674%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-left:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.33333337%}.column.is-offset-7,.column.is-offset-7-tablet{margin-left:58.33333337%}.column.is-8,.column.is-8-tablet{flex:none;width:66.66666674%}.column.is-offset-8,.column.is-offset-8-tablet{margin-left:66.66666674%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-left:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.33333337%}.column.is-offset-10,.column.is-offset-10-tablet{margin-left:83.33333337%}.column.is-11,.column.is-11-tablet{flex:none;width:91.66666674%}.column.is-offset-11,.column.is-offset-11-tablet{margin-left:91.66666674%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width:1023px){.column.is-narrow-touch{flex:none;width:auto}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-left:75%}.column.is-offset-two-thirds-touch{margin-left:66.6666%}.column.is-offset-half-touch{margin-left:50%}.column.is-offset-one-third-touch{margin-left:33.3333%}.column.is-offset-one-quarter-touch{margin-left:25%}.column.is-offset-one-fifth-touch{margin-left:20%}.column.is-offset-two-fifths-touch{margin-left:40%}.column.is-offset-three-fifths-touch{margin-left:60%}.column.is-offset-four-fifths-touch{margin-left:80%}.column.is-0-touch{flex:none;width:0}.column.is-offset-0-touch{margin-left:0}.column.is-1-touch{flex:none;width:8.33333337%}.column.is-offset-1-touch{margin-left:8.33333337%}.column.is-2-touch{flex:none;width:16.66666674%}.column.is-offset-2-touch{margin-left:16.66666674%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-left:25%}.column.is-4-touch{flex:none;width:33.33333337%}.column.is-offset-4-touch{margin-left:33.33333337%}.column.is-5-touch{flex:none;width:41.66666674%}.column.is-offset-5-touch{margin-left:41.66666674%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-left:50%}.column.is-7-touch{flex:none;width:58.33333337%}.column.is-offset-7-touch{margin-left:58.33333337%}.column.is-8-touch{flex:none;width:66.66666674%}.column.is-offset-8-touch{margin-left:66.66666674%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-left:75%}.column.is-10-touch{flex:none;width:83.33333337%}.column.is-offset-10-touch{margin-left:83.33333337%}.column.is-11-touch{flex:none;width:91.66666674%}.column.is-offset-11-touch{margin-left:91.66666674%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width:1024px){.column.is-narrow-desktop{flex:none;width:auto}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-left:75%}.column.is-offset-two-thirds-desktop{margin-left:66.6666%}.column.is-offset-half-desktop{margin-left:50%}.column.is-offset-one-third-desktop{margin-left:33.3333%}.column.is-offset-one-quarter-desktop{margin-left:25%}.column.is-offset-one-fifth-desktop{margin-left:20%}.column.is-offset-two-fifths-desktop{margin-left:40%}.column.is-offset-three-fifths-desktop{margin-left:60%}.column.is-offset-four-fifths-desktop{margin-left:80%}.column.is-0-desktop{flex:none;width:0}.column.is-offset-0-desktop{margin-left:0}.column.is-1-desktop{flex:none;width:8.33333337%}.column.is-offset-1-desktop{margin-left:8.33333337%}.column.is-2-desktop{flex:none;width:16.66666674%}.column.is-offset-2-desktop{margin-left:16.66666674%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-left:25%}.column.is-4-desktop{flex:none;width:33.33333337%}.column.is-offset-4-desktop{margin-left:33.33333337%}.column.is-5-desktop{flex:none;width:41.66666674%}.column.is-offset-5-desktop{margin-left:41.66666674%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-left:50%}.column.is-7-desktop{flex:none;width:58.33333337%}.column.is-offset-7-desktop{margin-left:58.33333337%}.column.is-8-desktop{flex:none;width:66.66666674%}.column.is-offset-8-desktop{margin-left:66.66666674%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-left:75%}.column.is-10-desktop{flex:none;width:83.33333337%}.column.is-offset-10-desktop{margin-left:83.33333337%}.column.is-11-desktop{flex:none;width:91.66666674%}.column.is-offset-11-desktop{margin-left:91.66666674%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width:1216px){.column.is-narrow-widescreen{flex:none;width:auto}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-left:75%}.column.is-offset-two-thirds-widescreen{margin-left:66.6666%}.column.is-offset-half-widescreen{margin-left:50%}.column.is-offset-one-third-widescreen{margin-left:33.3333%}.column.is-offset-one-quarter-widescreen{margin-left:25%}.column.is-offset-one-fifth-widescreen{margin-left:20%}.column.is-offset-two-fifths-widescreen{margin-left:40%}.column.is-offset-three-fifths-widescreen{margin-left:60%}.column.is-offset-four-fifths-widescreen{margin-left:80%}.column.is-0-widescreen{flex:none;width:0}.column.is-offset-0-widescreen{margin-left:0}.column.is-1-widescreen{flex:none;width:8.33333337%}.column.is-offset-1-widescreen{margin-left:8.33333337%}.column.is-2-widescreen{flex:none;width:16.66666674%}.column.is-offset-2-widescreen{margin-left:16.66666674%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-left:25%}.column.is-4-widescreen{flex:none;width:33.33333337%}.column.is-offset-4-widescreen{margin-left:33.33333337%}.column.is-5-widescreen{flex:none;width:41.66666674%}.column.is-offset-5-widescreen{margin-left:41.66666674%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-left:50%}.column.is-7-widescreen{flex:none;width:58.33333337%}.column.is-offset-7-widescreen{margin-left:58.33333337%}.column.is-8-widescreen{flex:none;width:66.66666674%}.column.is-offset-8-widescreen{margin-left:66.66666674%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-left:75%}.column.is-10-widescreen{flex:none;width:83.33333337%}.column.is-offset-10-widescreen{margin-left:83.33333337%}.column.is-11-widescreen{flex:none;width:91.66666674%}.column.is-offset-11-widescreen{margin-left:91.66666674%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width:1408px){.column.is-narrow-fullhd{flex:none;width:auto}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-left:75%}.column.is-offset-two-thirds-fullhd{margin-left:66.6666%}.column.is-offset-half-fullhd{margin-left:50%}.column.is-offset-one-third-fullhd{margin-left:33.3333%}.column.is-offset-one-quarter-fullhd{margin-left:25%}.column.is-offset-one-fifth-fullhd{margin-left:20%}.column.is-offset-two-fifths-fullhd{margin-left:40%}.column.is-offset-three-fifths-fullhd{margin-left:60%}.column.is-offset-four-fifths-fullhd{margin-left:80%}.column.is-0-fullhd{flex:none;width:0}.column.is-offset-0-fullhd{margin-left:0}.column.is-1-fullhd{flex:none;width:8.33333337%}.column.is-offset-1-fullhd{margin-left:8.33333337%}.column.is-2-fullhd{flex:none;width:16.66666674%}.column.is-offset-2-fullhd{margin-left:16.66666674%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-left:25%}.column.is-4-fullhd{flex:none;width:33.33333337%}.column.is-offset-4-fullhd{margin-left:33.33333337%}.column.is-5-fullhd{flex:none;width:41.66666674%}.column.is-offset-5-fullhd{margin-left:41.66666674%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-left:50%}.column.is-7-fullhd{flex:none;width:58.33333337%}.column.is-offset-7-fullhd{margin-left:58.33333337%}.column.is-8-fullhd{flex:none;width:66.66666674%}.column.is-offset-8-fullhd{margin-left:66.66666674%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-left:75%}.column.is-10-fullhd{flex:none;width:83.33333337%}.column.is-offset-10-fullhd{margin-left:83.33333337%}.column.is-11-fullhd{flex:none;width:91.66666674%}.column.is-offset-11-fullhd{margin-left:91.66666674%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-left:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:.75rem}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0!important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media print,screen and (min-width:769px){.columns:not(.is-desktop){display:flex}}@media screen and (min-width:1024px){.columns.is-desktop{display:flex}}.columns.is-variable{--columnGap:0.75rem;margin-left:calc(var(--columnGap)*-1);margin-right:calc(var(--columnGap)*-1)}.columns.is-variable>.column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-0{--columnGap:0rem}@media screen and (max-width:768px){.columns.is-variable.is-0-mobile{--columnGap:0rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-0-tablet{--columnGap:0rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-0-tablet-only{--columnGap:0rem}}@media screen and (max-width:1023px){.columns.is-variable.is-0-touch{--columnGap:0rem}}@media screen and (min-width:1024px){.columns.is-variable.is-0-desktop{--columnGap:0rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-0-desktop-only{--columnGap:0rem}}@media screen and (min-width:1216px){.columns.is-variable.is-0-widescreen{--columnGap:0rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-0-widescreen-only{--columnGap:0rem}}@media screen and (min-width:1408px){.columns.is-variable.is-0-fullhd{--columnGap:0rem}}.columns.is-variable.is-1{--columnGap:0.25rem}@media screen and (max-width:768px){.columns.is-variable.is-1-mobile{--columnGap:0.25rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-1-tablet{--columnGap:0.25rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-1-tablet-only{--columnGap:0.25rem}}@media screen and (max-width:1023px){.columns.is-variable.is-1-touch{--columnGap:0.25rem}}@media screen and (min-width:1024px){.columns.is-variable.is-1-desktop{--columnGap:0.25rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-1-desktop-only{--columnGap:0.25rem}}@media screen and (min-width:1216px){.columns.is-variable.is-1-widescreen{--columnGap:0.25rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-1-widescreen-only{--columnGap:0.25rem}}@media screen and (min-width:1408px){.columns.is-variable.is-1-fullhd{--columnGap:0.25rem}}.columns.is-variable.is-2{--columnGap:0.5rem}@media screen and (max-width:768px){.columns.is-variable.is-2-mobile{--columnGap:0.5rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-2-tablet{--columnGap:0.5rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-2-tablet-only{--columnGap:0.5rem}}@media screen and (max-width:1023px){.columns.is-variable.is-2-touch{--columnGap:0.5rem}}@media screen and (min-width:1024px){.columns.is-variable.is-2-desktop{--columnGap:0.5rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-2-desktop-only{--columnGap:0.5rem}}@media screen and (min-width:1216px){.columns.is-variable.is-2-widescreen{--columnGap:0.5rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-2-widescreen-only{--columnGap:0.5rem}}@media screen and (min-width:1408px){.columns.is-variable.is-2-fullhd{--columnGap:0.5rem}}.columns.is-variable.is-3{--columnGap:0.75rem}@media screen and (max-width:768px){.columns.is-variable.is-3-mobile{--columnGap:0.75rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-3-tablet{--columnGap:0.75rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-3-tablet-only{--columnGap:0.75rem}}@media screen and (max-width:1023px){.columns.is-variable.is-3-touch{--columnGap:0.75rem}}@media screen and (min-width:1024px){.columns.is-variable.is-3-desktop{--columnGap:0.75rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-3-desktop-only{--columnGap:0.75rem}}@media screen and (min-width:1216px){.columns.is-variable.is-3-widescreen{--columnGap:0.75rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-3-widescreen-only{--columnGap:0.75rem}}@media screen and (min-width:1408px){.columns.is-variable.is-3-fullhd{--columnGap:0.75rem}}.columns.is-variable.is-4{--columnGap:1rem}@media screen and (max-width:768px){.columns.is-variable.is-4-mobile{--columnGap:1rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-4-tablet{--columnGap:1rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-4-tablet-only{--columnGap:1rem}}@media screen and (max-width:1023px){.columns.is-variable.is-4-touch{--columnGap:1rem}}@media screen and (min-width:1024px){.columns.is-variable.is-4-desktop{--columnGap:1rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-4-desktop-only{--columnGap:1rem}}@media screen and (min-width:1216px){.columns.is-variable.is-4-widescreen{--columnGap:1rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-4-widescreen-only{--columnGap:1rem}}@media screen and (min-width:1408px){.columns.is-variable.is-4-fullhd{--columnGap:1rem}}.columns.is-variable.is-5{--columnGap:1.25rem}@media screen and (max-width:768px){.columns.is-variable.is-5-mobile{--columnGap:1.25rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-5-tablet{--columnGap:1.25rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-5-tablet-only{--columnGap:1.25rem}}@media screen and (max-width:1023px){.columns.is-variable.is-5-touch{--columnGap:1.25rem}}@media screen and (min-width:1024px){.columns.is-variable.is-5-desktop{--columnGap:1.25rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-5-desktop-only{--columnGap:1.25rem}}@media screen and (min-width:1216px){.columns.is-variable.is-5-widescreen{--columnGap:1.25rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-5-widescreen-only{--columnGap:1.25rem}}@media screen and (min-width:1408px){.columns.is-variable.is-5-fullhd{--columnGap:1.25rem}}.columns.is-variable.is-6{--columnGap:1.5rem}@media screen and (max-width:768px){.columns.is-variable.is-6-mobile{--columnGap:1.5rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-6-tablet{--columnGap:1.5rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-6-tablet-only{--columnGap:1.5rem}}@media screen and (max-width:1023px){.columns.is-variable.is-6-touch{--columnGap:1.5rem}}@media screen and (min-width:1024px){.columns.is-variable.is-6-desktop{--columnGap:1.5rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-6-desktop-only{--columnGap:1.5rem}}@media screen and (min-width:1216px){.columns.is-variable.is-6-widescreen{--columnGap:1.5rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-6-widescreen-only{--columnGap:1.5rem}}@media screen and (min-width:1408px){.columns.is-variable.is-6-fullhd{--columnGap:1.5rem}}.columns.is-variable.is-7{--columnGap:1.75rem}@media screen and (max-width:768px){.columns.is-variable.is-7-mobile{--columnGap:1.75rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-7-tablet{--columnGap:1.75rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-7-tablet-only{--columnGap:1.75rem}}@media screen and (max-width:1023px){.columns.is-variable.is-7-touch{--columnGap:1.75rem}}@media screen and (min-width:1024px){.columns.is-variable.is-7-desktop{--columnGap:1.75rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-7-desktop-only{--columnGap:1.75rem}}@media screen and (min-width:1216px){.columns.is-variable.is-7-widescreen{--columnGap:1.75rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-7-widescreen-only{--columnGap:1.75rem}}@media screen and (min-width:1408px){.columns.is-variable.is-7-fullhd{--columnGap:1.75rem}}.columns.is-variable.is-8{--columnGap:2rem}@media screen and (max-width:768px){.columns.is-variable.is-8-mobile{--columnGap:2rem}}@media print,screen and (min-width:769px){.columns.is-variable.is-8-tablet{--columnGap:2rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-8-tablet-only{--columnGap:2rem}}@media screen and (max-width:1023px){.columns.is-variable.is-8-touch{--columnGap:2rem}}@media screen and (min-width:1024px){.columns.is-variable.is-8-desktop{--columnGap:2rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-8-desktop-only{--columnGap:2rem}}@media screen and (min-width:1216px){.columns.is-variable.is-8-widescreen{--columnGap:2rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-8-widescreen-only{--columnGap:2rem}}@media screen and (min-width:1408px){.columns.is-variable.is-8-fullhd{--columnGap:2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:-webkit-min-content;min-height:-moz-min-content;min-height:min-content}.tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.tile.is-ancestor:last-child{margin-bottom:-.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0!important}.tile.is-parent{padding:.75rem}.tile.is-vertical{flex-direction:column}.tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem!important}@media print,screen and (min-width:769px){.tile:not(.is-child){display:flex}.tile.is-1{flex:none;width:8.33333337%}.tile.is-2{flex:none;width:16.66666674%}.tile.is-3{flex:none;width:25%}.tile.is-4{flex:none;width:33.33333337%}.tile.is-5{flex:none;width:41.66666674%}.tile.is-6{flex:none;width:50%}.tile.is-7{flex:none;width:58.33333337%}.tile.is-8{flex:none;width:66.66666674%}.tile.is-9{flex:none;width:75%}.tile.is-10{flex:none;width:83.33333337%}.tile.is-11{flex:none;width:91.66666674%}.tile.is-12{flex:none;width:100%}}.has-text-white{color:#fff!important}a.has-text-white:focus,a.has-text-white:hover{color:#e6e6e6!important}.has-background-white{background-color:#fff!important}.has-text-black,a.has-text-black:focus,a.has-text-black:hover{color:#000!important}.has-background-black{background-color:#000!important}.has-text-light{color:#f5f5f5!important}a.has-text-light:focus,a.has-text-light:hover{color:#dbdbdb!important}.has-background-light{background-color:#f5f5f5!important}.has-text-dark{color:#363636!important}a.has-text-dark:focus,a.has-text-dark:hover{color:#1c1c1c!important}.has-background-dark{background-color:#363636!important}.has-text-primary{color:#00d1b2!important}a.has-text-primary:focus,a.has-text-primary:hover{color:#009e86!important}.has-background-primary{background-color:#00d1b2!important}.has-text-primary-light{color:#ebfffc!important}a.has-text-primary-light:focus,a.has-text-primary-light:hover{color:#b8fff4!important}.has-background-primary-light{background-color:#ebfffc!important}.has-text-primary-dark{color:#00947e!important}a.has-text-primary-dark:focus,a.has-text-primary-dark:hover{color:#00c7a9!important}.has-background-primary-dark{background-color:#00947e!important}.has-text-link{color:#1f89e5!important}a.has-text-link:focus,a.has-text-link:hover{color:#166ebb!important}.has-background-link{background-color:#1f89e5!important}.has-text-link-light{color:#edf5fd!important}a.has-text-link-light:focus,a.has-text-link-light:hover{color:#bfddf8!important}.has-background-link-light{background-color:#edf5fd!important}.has-text-link-dark{color:#1671c0!important}a.has-text-link-dark:focus,a.has-text-link-dark:hover{color:#248be5!important}.has-background-link-dark{background-color:#1671c0!important}.has-text-info{color:#4387f4!important}a.has-text-info:focus,a.has-text-info:hover{color:#1368f1!important}.has-background-info{background-color:#4387f4!important}.has-text-info-light{color:#ecf3fe!important}a.has-text-info-light:focus,a.has-text-info-light:hover{color:#bcd4fb!important}.has-background-info-light{background-color:#ecf3fe!important}.has-text-info-dark{color:#0c53c6!important}a.has-text-info-dark:focus,a.has-text-info-dark:hover{color:#1368f1!important}.has-background-info-dark{background-color:#0c53c6!important}.has-text-success{color:#55b978!important}a.has-text-success:focus,a.has-text-success:hover{color:#409c60!important}.has-background-success{background-color:#55b978!important}.has-text-success-light{color:#f1f9f4!important}a.has-text-success-light:focus,a.has-text-success-light:hover{color:#ccead7!important}.has-background-success-light{background-color:#f1f9f4!important}.has-text-success-dark{color:#327b4c!important}a.has-text-success-dark:focus,a.has-text-success-dark:hover{color:#419f62!important}.has-background-success-dark{background-color:#327b4c!important}.has-text-warning{color:#ffe08a!important}a.has-text-warning:focus,a.has-text-warning:hover{color:#ffd257!important}.has-background-warning{background-color:#ffe08a!important}.has-text-warning-light{color:#fffaeb!important}a.has-text-warning-light:focus,a.has-text-warning-light:hover{color:#ffecb8!important}.has-background-warning-light{background-color:#fffaeb!important}.has-text-warning-dark{color:#946c00!important}a.has-text-warning-dark:focus,a.has-text-warning-dark:hover{color:#c79200!important}.has-background-warning-dark{background-color:#946c00!important}.has-text-danger{color:#ff3860!important}a.has-text-danger:focus,a.has-text-danger:hover{color:#ff0537!important}.has-background-danger{background-color:#ff3860!important}.has-text-danger-light{color:#ffebef!important}a.has-text-danger-light:focus,a.has-text-danger-light:hover{color:#ffb8c6!important}.has-background-danger-light{background-color:#ffebef!important}.has-text-danger-dark{color:#db002c!important}a.has-text-danger-dark:focus,a.has-text-danger-dark:hover{color:#ff0f3f!important}.has-background-danger-dark{background-color:#db002c!important}.has-text-black-bis{color:#121212!important}.has-background-black-bis{background-color:#121212!important}.has-text-black-ter{color:#242424!important}.has-background-black-ter{background-color:#242424!important}.has-text-grey-darker{color:#363636!important}.has-background-grey-darker{background-color:#363636!important}.has-text-grey-dark{color:#4a4a4a!important}.has-background-grey-dark{background-color:#4a4a4a!important}.has-text-grey{color:#7a7a7a!important}.has-background-grey{background-color:#7a7a7a!important}.has-text-grey-light{color:#b5b5b5!important}.has-background-grey-light{background-color:#b5b5b5!important}.has-text-grey-lighter{color:#dbdbdb!important}.has-background-grey-lighter{background-color:#dbdbdb!important}.has-text-white-ter{color:#f5f5f5!important}.has-background-white-ter{background-color:#f5f5f5!important}.has-text-white-bis{color:#fafafa!important}.has-background-white-bis{background-color:#fafafa!important}.is-flex-direction-row{flex-direction:row!important}.is-flex-direction-row-reverse{flex-direction:row-reverse!important}.is-flex-direction-column{flex-direction:column!important}.is-flex-direction-column-reverse{flex-direction:column-reverse!important}.is-flex-wrap-nowrap{flex-wrap:nowrap!important}.is-flex-wrap-wrap{flex-wrap:wrap!important}.is-flex-wrap-wrap-reverse{flex-wrap:wrap-reverse!important}.is-justify-content-flex-start{justify-content:flex-start!important}.is-justify-content-flex-end{justify-content:flex-end!important}.is-justify-content-center{justify-content:center!important}.is-justify-content-space-between{justify-content:space-between!important}.is-justify-content-space-around{justify-content:space-around!important}.is-justify-content-space-evenly{justify-content:space-evenly!important}.is-justify-content-start{justify-content:start!important}.is-justify-content-end{justify-content:end!important}.is-justify-content-left{justify-content:left!important}.is-justify-content-right{justify-content:right!important}.is-align-content-flex-start{align-content:flex-start!important}.is-align-content-flex-end{align-content:flex-end!important}.is-align-content-center{align-content:center!important}.is-align-content-space-between{align-content:space-between!important}.is-align-content-space-around{align-content:space-around!important}.is-align-content-space-evenly{align-content:space-evenly!important}.is-align-content-stretch{align-content:stretch!important}.is-align-content-start{align-content:start!important}.is-align-content-end{align-content:end!important}.is-align-content-baseline{align-content:baseline!important}.is-align-items-stretch{align-items:stretch!important}.is-align-items-flex-start{align-items:flex-start!important}.is-align-items-flex-end{align-items:flex-end!important}.is-align-items-center{align-items:center!important}.is-align-items-baseline{align-items:baseline!important}.is-align-items-start{align-items:start!important}.is-align-items-end{align-items:end!important}.is-align-items-self-start{align-items:self-start!important}.is-align-items-self-end{align-items:self-end!important}.is-align-self-auto{align-self:auto!important}.is-align-self-flex-start{align-self:flex-start!important}.is-align-self-flex-end{align-self:flex-end!important}.is-align-self-center{align-self:center!important}.is-align-self-baseline{align-self:baseline!important}.is-align-self-stretch{align-self:stretch!important}.is-flex-grow-0{flex-grow:0!important}.is-flex-grow-1{flex-grow:1!important}.is-flex-grow-2{flex-grow:2!important}.is-flex-grow-3{flex-grow:3!important}.is-flex-grow-4{flex-grow:4!important}.is-flex-grow-5{flex-grow:5!important}.is-flex-shrink-0{flex-shrink:0!important}.is-flex-shrink-1{flex-shrink:1!important}.is-flex-shrink-2{flex-shrink:2!important}.is-flex-shrink-3{flex-shrink:3!important}.is-flex-shrink-4{flex-shrink:4!important}.is-flex-shrink-5{flex-shrink:5!important}.is-clearfix:after{clear:both;content:" ";display:table}.is-pulled-left{float:left!important}.is-pulled-right{float:right!important}.is-radiusless{border-radius:0!important}.is-shadowless{box-shadow:none!important}.is-clickable{cursor:pointer!important;pointer-events:all!important}.is-clipped{overflow:hidden!important}.is-relative{position:relative!important}.is-marginless{margin:0!important}.is-paddingless{padding:0!important}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.mx-0{margin-right:0!important}.my-0{margin-bottom:0!important;margin-top:0!important}.m-1{margin:.25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important}.my-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.m-2{margin:.5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important}.my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.m-3{margin:.75rem!important}.mt-3{margin-top:.75rem!important}.mr-3{margin-right:.75rem!important}.mb-3{margin-bottom:.75rem!important}.ml-3,.mx-3{margin-left:.75rem!important}.mx-3{margin-right:.75rem!important}.my-3{margin-bottom:.75rem!important;margin-top:.75rem!important}.m-4{margin:1rem!important}.mt-4{margin-top:1rem!important}.mr-4{margin-right:1rem!important}.mb-4{margin-bottom:1rem!important}.ml-4,.mx-4{margin-left:1rem!important}.mx-4{margin-right:1rem!important}.my-4{margin-bottom:1rem!important;margin-top:1rem!important}.m-5{margin:1.5rem!important}.mt-5{margin-top:1.5rem!important}.mr-5{margin-right:1.5rem!important}.mb-5{margin-bottom:1.5rem!important}.ml-5,.mx-5{margin-left:1.5rem!important}.mx-5{margin-right:1.5rem!important}.my-5{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.m-6{margin:3rem!important}.mt-6{margin-top:3rem!important}.mr-6{margin-right:3rem!important}.mb-6{margin-bottom:3rem!important}.ml-6,.mx-6{margin-left:3rem!important}.mx-6{margin-right:3rem!important}.my-6{margin-bottom:3rem!important;margin-top:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important}.my-auto{margin-bottom:auto!important;margin-top:auto!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.px-0{padding-right:0!important}.py-0{padding-bottom:0!important;padding-top:0!important}.p-1{padding:.25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.p-2{padding:.5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important}.py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.p-3{padding:.75rem!important}.pt-3{padding-top:.75rem!important}.pr-3{padding-right:.75rem!important}.pb-3{padding-bottom:.75rem!important}.pl-3,.px-3{padding-left:.75rem!important}.px-3{padding-right:.75rem!important}.py-3{padding-bottom:.75rem!important;padding-top:.75rem!important}.p-4{padding:1rem!important}.pt-4{padding-top:1rem!important}.pr-4{padding-right:1rem!important}.pb-4{padding-bottom:1rem!important}.pl-4,.px-4{padding-left:1rem!important}.px-4{padding-right:1rem!important}.py-4{padding-bottom:1rem!important;padding-top:1rem!important}.p-5{padding:1.5rem!important}.pt-5{padding-top:1.5rem!important}.pr-5{padding-right:1.5rem!important}.pb-5{padding-bottom:1.5rem!important}.pl-5,.px-5{padding-left:1.5rem!important}.px-5{padding-right:1.5rem!important}.py-5{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.p-6{padding:3rem!important}.pt-6{padding-top:3rem!important}.pr-6{padding-right:3rem!important}.pb-6{padding-bottom:3rem!important}.pl-6,.px-6{padding-left:3rem!important}.px-6{padding-right:3rem!important}.py-6{padding-bottom:3rem!important;padding-top:3rem!important}.p-auto{padding:auto!important}.pt-auto{padding-top:auto!important}.pr-auto{padding-right:auto!important}.pb-auto{padding-bottom:auto!important}.pl-auto,.px-auto{padding-left:auto!important}.px-auto{padding-right:auto!important}.py-auto{padding-bottom:auto!important;padding-top:auto!important}.is-size-1{font-size:3rem!important}.is-size-2{font-size:2.5rem!important}.is-size-3{font-size:2rem!important}.is-size-4{font-size:1.5rem!important}.is-size-5{font-size:1.25rem!important}.is-size-6{font-size:1rem!important}.is-size-7{font-size:.75rem!important}@media screen and (max-width:768px){.is-size-1-mobile{font-size:3rem!important}.is-size-2-mobile{font-size:2.5rem!important}.is-size-3-mobile{font-size:2rem!important}.is-size-4-mobile{font-size:1.5rem!important}.is-size-5-mobile{font-size:1.25rem!important}.is-size-6-mobile{font-size:1rem!important}.is-size-7-mobile{font-size:.75rem!important}}@media print,screen and (min-width:769px){.is-size-1-tablet{font-size:3rem!important}.is-size-2-tablet{font-size:2.5rem!important}.is-size-3-tablet{font-size:2rem!important}.is-size-4-tablet{font-size:1.5rem!important}.is-size-5-tablet{font-size:1.25rem!important}.is-size-6-tablet{font-size:1rem!important}.is-size-7-tablet{font-size:.75rem!important}}@media screen and (max-width:1023px){.is-size-1-touch{font-size:3rem!important}.is-size-2-touch{font-size:2.5rem!important}.is-size-3-touch{font-size:2rem!important}.is-size-4-touch{font-size:1.5rem!important}.is-size-5-touch{font-size:1.25rem!important}.is-size-6-touch{font-size:1rem!important}.is-size-7-touch{font-size:.75rem!important}}@media screen and (min-width:1024px){.is-size-1-desktop{font-size:3rem!important}.is-size-2-desktop{font-size:2.5rem!important}.is-size-3-desktop{font-size:2rem!important}.is-size-4-desktop{font-size:1.5rem!important}.is-size-5-desktop{font-size:1.25rem!important}.is-size-6-desktop{font-size:1rem!important}.is-size-7-desktop{font-size:.75rem!important}}@media screen and (min-width:1216px){.is-size-1-widescreen{font-size:3rem!important}.is-size-2-widescreen{font-size:2.5rem!important}.is-size-3-widescreen{font-size:2rem!important}.is-size-4-widescreen{font-size:1.5rem!important}.is-size-5-widescreen{font-size:1.25rem!important}.is-size-6-widescreen{font-size:1rem!important}.is-size-7-widescreen{font-size:.75rem!important}}@media screen and (min-width:1408px){.is-size-1-fullhd{font-size:3rem!important}.is-size-2-fullhd{font-size:2.5rem!important}.is-size-3-fullhd{font-size:2rem!important}.is-size-4-fullhd{font-size:1.5rem!important}.is-size-5-fullhd{font-size:1.25rem!important}.is-size-6-fullhd{font-size:1rem!important}.is-size-7-fullhd{font-size:.75rem!important}}.has-text-centered{text-align:center!important}.has-text-justified{text-align:justify!important}.has-text-left{text-align:left!important}.has-text-right{text-align:right!important}@media screen and (max-width:768px){.has-text-centered-mobile{text-align:center!important}}@media print,screen and (min-width:769px){.has-text-centered-tablet{text-align:center!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-centered-tablet-only{text-align:center!important}}@media screen and (max-width:1023px){.has-text-centered-touch{text-align:center!important}}@media screen and (min-width:1024px){.has-text-centered-desktop{text-align:center!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-centered-desktop-only{text-align:center!important}}@media screen and (min-width:1216px){.has-text-centered-widescreen{text-align:center!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-centered-widescreen-only{text-align:center!important}}@media screen and (min-width:1408px){.has-text-centered-fullhd{text-align:center!important}}@media screen and (max-width:768px){.has-text-justified-mobile{text-align:justify!important}}@media print,screen and (min-width:769px){.has-text-justified-tablet{text-align:justify!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-justified-tablet-only{text-align:justify!important}}@media screen and (max-width:1023px){.has-text-justified-touch{text-align:justify!important}}@media screen and (min-width:1024px){.has-text-justified-desktop{text-align:justify!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-justified-desktop-only{text-align:justify!important}}@media screen and (min-width:1216px){.has-text-justified-widescreen{text-align:justify!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-justified-widescreen-only{text-align:justify!important}}@media screen and (min-width:1408px){.has-text-justified-fullhd{text-align:justify!important}}@media screen and (max-width:768px){.has-text-left-mobile{text-align:left!important}}@media print,screen and (min-width:769px){.has-text-left-tablet{text-align:left!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-left-tablet-only{text-align:left!important}}@media screen and (max-width:1023px){.has-text-left-touch{text-align:left!important}}@media screen and (min-width:1024px){.has-text-left-desktop{text-align:left!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-left-desktop-only{text-align:left!important}}@media screen and (min-width:1216px){.has-text-left-widescreen{text-align:left!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-left-widescreen-only{text-align:left!important}}@media screen and (min-width:1408px){.has-text-left-fullhd{text-align:left!important}}@media screen and (max-width:768px){.has-text-right-mobile{text-align:right!important}}@media print,screen and (min-width:769px){.has-text-right-tablet{text-align:right!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-right-tablet-only{text-align:right!important}}@media screen and (max-width:1023px){.has-text-right-touch{text-align:right!important}}@media screen and (min-width:1024px){.has-text-right-desktop{text-align:right!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-right-desktop-only{text-align:right!important}}@media screen and (min-width:1216px){.has-text-right-widescreen{text-align:right!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-right-widescreen-only{text-align:right!important}}@media screen and (min-width:1408px){.has-text-right-fullhd{text-align:right!important}}.is-capitalized{text-transform:capitalize!important}.is-lowercase{text-transform:lowercase!important}.is-uppercase{text-transform:uppercase!important}.is-italic{font-style:italic!important}.is-underlined{text-decoration:underline!important}.has-text-weight-light{font-weight:300!important}.has-text-weight-normal{font-weight:400!important}.has-text-weight-medium{font-weight:500!important}.has-text-weight-semibold{font-weight:600!important}.has-text-weight-bold{font-weight:700!important}.is-family-primary,.is-family-sans-serif,.is-family-secondary{font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Ubuntu,Roboto,Oxygen,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif!important}.is-family-code,.is-family-monospace{font-family:monospace!important}.is-block{display:block!important}@media screen and (max-width:768px){.is-block-mobile{display:block!important}}@media print,screen and (min-width:769px){.is-block-tablet{display:block!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-block-tablet-only{display:block!important}}@media screen and (max-width:1023px){.is-block-touch{display:block!important}}@media screen and (min-width:1024px){.is-block-desktop{display:block!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-block-desktop-only{display:block!important}}@media screen and (min-width:1216px){.is-block-widescreen{display:block!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-block-widescreen-only{display:block!important}}@media screen and (min-width:1408px){.is-block-fullhd{display:block!important}}.is-flex{display:flex!important}@media screen and (max-width:768px){.is-flex-mobile{display:flex!important}}@media print,screen and (min-width:769px){.is-flex-tablet{display:flex!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-flex-tablet-only{display:flex!important}}@media screen and (max-width:1023px){.is-flex-touch{display:flex!important}}@media screen and (min-width:1024px){.is-flex-desktop{display:flex!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-flex-desktop-only{display:flex!important}}@media screen and (min-width:1216px){.is-flex-widescreen{display:flex!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-flex-widescreen-only{display:flex!important}}@media screen and (min-width:1408px){.is-flex-fullhd{display:flex!important}}.is-inline{display:inline!important}@media screen and (max-width:768px){.is-inline-mobile{display:inline!important}}@media print,screen and (min-width:769px){.is-inline-tablet{display:inline!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-tablet-only{display:inline!important}}@media screen and (max-width:1023px){.is-inline-touch{display:inline!important}}@media screen and (min-width:1024px){.is-inline-desktop{display:inline!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-desktop-only{display:inline!important}}@media screen and (min-width:1216px){.is-inline-widescreen{display:inline!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-widescreen-only{display:inline!important}}@media screen and (min-width:1408px){.is-inline-fullhd{display:inline!important}}.is-inline-block{display:inline-block!important}@media screen and (max-width:768px){.is-inline-block-mobile{display:inline-block!important}}@media print,screen and (min-width:769px){.is-inline-block-tablet{display:inline-block!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-block-tablet-only{display:inline-block!important}}@media screen and (max-width:1023px){.is-inline-block-touch{display:inline-block!important}}@media screen and (min-width:1024px){.is-inline-block-desktop{display:inline-block!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-block-desktop-only{display:inline-block!important}}@media screen and (min-width:1216px){.is-inline-block-widescreen{display:inline-block!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-block-widescreen-only{display:inline-block!important}}@media screen and (min-width:1408px){.is-inline-block-fullhd{display:inline-block!important}}.is-inline-flex{display:inline-flex!important}@media screen and (max-width:768px){.is-inline-flex-mobile{display:inline-flex!important}}@media print,screen and (min-width:769px){.is-inline-flex-tablet{display:inline-flex!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-flex-tablet-only{display:inline-flex!important}}@media screen and (max-width:1023px){.is-inline-flex-touch{display:inline-flex!important}}@media screen and (min-width:1024px){.is-inline-flex-desktop{display:inline-flex!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-flex-desktop-only{display:inline-flex!important}}@media screen and (min-width:1216px){.is-inline-flex-widescreen{display:inline-flex!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-flex-widescreen-only{display:inline-flex!important}}@media screen and (min-width:1408px){.is-inline-flex-fullhd{display:inline-flex!important}}.is-hidden{display:none!important}.is-sr-only{clip:rect(0,0,0,0)!important;border:none!important;height:.01em!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:.01em!important}@media screen and (max-width:768px){.is-hidden-mobile{display:none!important}}@media print,screen and (min-width:769px){.is-hidden-tablet{display:none!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-hidden-tablet-only{display:none!important}}@media screen and (max-width:1023px){.is-hidden-touch{display:none!important}}@media screen and (min-width:1024px){.is-hidden-desktop{display:none!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-hidden-desktop-only{display:none!important}}@media screen and (min-width:1216px){.is-hidden-widescreen{display:none!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-hidden-widescreen-only{display:none!important}}@media screen and (min-width:1408px){.is-hidden-fullhd{display:none!important}}.is-invisible{visibility:hidden!important}@media screen and (max-width:768px){.is-invisible-mobile{visibility:hidden!important}}@media print,screen and (min-width:769px){.is-invisible-tablet{visibility:hidden!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-invisible-tablet-only{visibility:hidden!important}}@media screen and (max-width:1023px){.is-invisible-touch{visibility:hidden!important}}@media screen and (min-width:1024px){.is-invisible-desktop{visibility:hidden!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-invisible-desktop-only{visibility:hidden!important}}@media screen and (min-width:1216px){.is-invisible-widescreen{visibility:hidden!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-invisible-widescreen-only{visibility:hidden!important}}@media screen and (min-width:1408px){.is-invisible-fullhd{visibility:hidden!important}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:none}.hero .tabs ul{border-bottom:none}.hero.is-white{background-color:#fff;color:#000}.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-white strong{color:inherit}.hero.is-white .title{color:#000}.hero.is-white .subtitle{color:rgba(0,0,0,.9)}.hero.is-white .subtitle a:not(.button),.hero.is-white .subtitle strong{color:#000}@media screen and (max-width:1023px){.hero.is-white .navbar-menu{background-color:#fff}}.hero.is-white .navbar-item,.hero.is-white .navbar-link{color:rgba(0,0,0,.7)}.hero.is-white .navbar-link.is-active,.hero.is-white .navbar-link:hover,.hero.is-white a.navbar-item.is-active,.hero.is-white a.navbar-item:hover{background-color:#f2f2f2;color:#000}.hero.is-white .tabs a{color:#000;opacity:.9}.hero.is-white .tabs a:hover{opacity:1}.hero.is-white .tabs li.is-active a{color:#fff!important;opacity:1}.hero.is-white .tabs.is-boxed a,.hero.is-white .tabs.is-toggle a{color:#000}.hero.is-white .tabs.is-boxed a:hover,.hero.is-white .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-white .tabs.is-boxed li.is-active a,.hero.is-white .tabs.is-boxed li.is-active a:hover,.hero.is-white .tabs.is-toggle li.is-active a,.hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#000;border-color:#000;color:#fff}.hero.is-white.is-bold{background-image:linear-gradient(141deg,#e8e3e4,#fff 71%,#fff)}@media screen and (max-width:768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg,#e8e3e4,#fff 71%,#fff)}}.hero.is-black{background-color:#000;color:#fff}.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-black strong{color:inherit}.hero.is-black .title{color:#fff}.hero.is-black .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-black .subtitle a:not(.button),.hero.is-black .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-black .navbar-menu{background-color:#000}}.hero.is-black .navbar-item,.hero.is-black .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-black .navbar-link.is-active,.hero.is-black .navbar-link:hover,.hero.is-black a.navbar-item.is-active,.hero.is-black a.navbar-item:hover{background-color:#000;color:#fff}.hero.is-black .tabs a{color:#fff;opacity:.9}.hero.is-black .tabs a:hover{opacity:1}.hero.is-black .tabs li.is-active a{color:#000!important;opacity:1}.hero.is-black .tabs.is-boxed a,.hero.is-black .tabs.is-toggle a{color:#fff}.hero.is-black .tabs.is-boxed a:hover,.hero.is-black .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-black .tabs.is-boxed li.is-active a,.hero.is-black .tabs.is-boxed li.is-active a:hover,.hero.is-black .tabs.is-toggle li.is-active a,.hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#000}.hero.is-black.is-bold{background-image:linear-gradient(141deg,#000,#000 71%,#0d0c0c)}@media screen and (max-width:768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg,#000,#000 71%,#0d0c0c)}}.hero.is-light{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-light strong{color:inherit}.hero.is-light .title{color:rgba(0,0,0,.7)}.hero.is-light .subtitle{color:rgba(0,0,0,.9)}.hero.is-light .subtitle a:not(.button),.hero.is-light .subtitle strong{color:rgba(0,0,0,.7)}@media screen and (max-width:1023px){.hero.is-light .navbar-menu{background-color:#f5f5f5}}.hero.is-light .navbar-item,.hero.is-light .navbar-link{color:rgba(0,0,0,.7)}.hero.is-light .navbar-link.is-active,.hero.is-light .navbar-link:hover,.hero.is-light a.navbar-item.is-active,.hero.is-light a.navbar-item:hover{background-color:#e8e8e8;color:rgba(0,0,0,.7)}.hero.is-light .tabs a{color:rgba(0,0,0,.7);opacity:.9}.hero.is-light .tabs a:hover{opacity:1}.hero.is-light .tabs li.is-active a{color:#f5f5f5!important;opacity:1}.hero.is-light .tabs.is-boxed a,.hero.is-light .tabs.is-toggle a{color:rgba(0,0,0,.7)}.hero.is-light .tabs.is-boxed a:hover,.hero.is-light .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-light .tabs.is-boxed li.is-active a,.hero.is-light .tabs.is-boxed li.is-active a:hover,.hero.is-light .tabs.is-toggle li.is-active a,.hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,.7);border-color:rgba(0,0,0,.7);color:#f5f5f5}.hero.is-light.is-bold{background-image:linear-gradient(141deg,#dfd8d9,#f5f5f5 71%,#fff)}@media screen and (max-width:768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg,#dfd8d9,#f5f5f5 71%,#fff)}}.hero.is-dark{background-color:#363636;color:#fff}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-dark strong{color:inherit}.hero.is-dark .title{color:#fff}.hero.is-dark .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-dark .subtitle a:not(.button),.hero.is-dark .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-dark .navbar-menu{background-color:#363636}}.hero.is-dark .navbar-item,.hero.is-dark .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-dark .navbar-link.is-active,.hero.is-dark .navbar-link:hover,.hero.is-dark a.navbar-item.is-active,.hero.is-dark a.navbar-item:hover{background-color:#292929;color:#fff}.hero.is-dark .tabs a{color:#fff;opacity:.9}.hero.is-dark .tabs a:hover{opacity:1}.hero.is-dark .tabs li.is-active a{color:#363636!important;opacity:1}.hero.is-dark .tabs.is-boxed a,.hero.is-dark .tabs.is-toggle a{color:#fff}.hero.is-dark .tabs.is-boxed a:hover,.hero.is-dark .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-dark .tabs.is-boxed li.is-active a,.hero.is-dark .tabs.is-boxed li.is-active a:hover,.hero.is-dark .tabs.is-toggle li.is-active a,.hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#363636}.hero.is-dark.is-bold{background-image:linear-gradient(141deg,#1f191a,#363636 71%,#46403f)}@media screen and (max-width:768px){.hero.is-dark.is-bold .navbar-menu{background-image:linear-gradient(141deg,#1f191a,#363636 71%,#46403f)}}.hero.is-primary{background-color:#00d1b2;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-primary strong{color:inherit}.hero.is-primary .title{color:#fff}.hero.is-primary .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-primary .subtitle a:not(.button),.hero.is-primary .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-primary .navbar-menu{background-color:#00d1b2}}.hero.is-primary .navbar-item,.hero.is-primary .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-primary .navbar-link.is-active,.hero.is-primary .navbar-link:hover,.hero.is-primary a.navbar-item.is-active,.hero.is-primary a.navbar-item:hover{background-color:#00b89c;color:#fff}.hero.is-primary .tabs a{color:#fff;opacity:.9}.hero.is-primary .tabs a:hover{opacity:1}.hero.is-primary .tabs li.is-active a{color:#00d1b2!important;opacity:1}.hero.is-primary .tabs.is-boxed a,.hero.is-primary .tabs.is-toggle a{color:#fff}.hero.is-primary .tabs.is-boxed a:hover,.hero.is-primary .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-primary .tabs.is-boxed li.is-active a,.hero.is-primary .tabs.is-boxed li.is-active a:hover,.hero.is-primary .tabs.is-toggle li.is-active a,.hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#00d1b2}.hero.is-primary.is-bold{background-image:linear-gradient(141deg,#009e6c,#00d1b2 71%,#00e7eb)}@media screen and (max-width:768px){.hero.is-primary.is-bold .navbar-menu{background-image:linear-gradient(141deg,#009e6c,#00d1b2 71%,#00e7eb)}}.hero.is-link{background-color:#1f89e5;color:#fff}.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-link strong{color:inherit}.hero.is-link .title{color:#fff}.hero.is-link .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-link .subtitle a:not(.button),.hero.is-link .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-link .navbar-menu{background-color:#1f89e5}}.hero.is-link .navbar-item,.hero.is-link .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-link .navbar-link.is-active,.hero.is-link .navbar-link:hover,.hero.is-link a.navbar-item.is-active,.hero.is-link a.navbar-item:hover{background-color:#197bd2;color:#fff}.hero.is-link .tabs a{color:#fff;opacity:.9}.hero.is-link .tabs a:hover{opacity:1}.hero.is-link .tabs li.is-active a{color:#1f89e5!important;opacity:1}.hero.is-link .tabs.is-boxed a,.hero.is-link .tabs.is-toggle a{color:#fff}.hero.is-link .tabs.is-boxed a:hover,.hero.is-link .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-link .tabs.is-boxed li.is-active a,.hero.is-link .tabs.is-boxed li.is-active a:hover,.hero.is-link .tabs.is-toggle li.is-active a,.hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#1f89e5}.hero.is-link.is-bold{background-image:linear-gradient(141deg,#0c8ec6,#1f89e5 71%,#3176ed)}@media screen and (max-width:768px){.hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg,#0c8ec6,#1f89e5 71%,#3176ed)}}.hero.is-info{background-color:#4387f4;color:#fff}.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-info strong{color:inherit}.hero.is-info .title{color:#fff}.hero.is-info .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-info .subtitle a:not(.button),.hero.is-info .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-info .navbar-menu{background-color:#4387f4}}.hero.is-info .navbar-item,.hero.is-info .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-info .navbar-link.is-active,.hero.is-info .navbar-link:hover,.hero.is-info a.navbar-item.is-active,.hero.is-info a.navbar-item:hover{background-color:#2b77f3;color:#fff}.hero.is-info .tabs a{color:#fff;opacity:.9}.hero.is-info .tabs a:hover{opacity:1}.hero.is-info .tabs li.is-active a{color:#4387f4!important;opacity:1}.hero.is-info .tabs.is-boxed a,.hero.is-info .tabs.is-toggle a{color:#fff}.hero.is-info .tabs.is-boxed a:hover,.hero.is-info .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-info .tabs.is-boxed li.is-active a,.hero.is-info .tabs.is-boxed li.is-active a:hover,.hero.is-info .tabs.is-toggle li.is-active a,.hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#4387f4}.hero.is-info.is-bold{background-image:linear-gradient(141deg,#068efe,#4387f4 71%,#577afa)}@media screen and (max-width:768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg,#068efe,#4387f4 71%,#577afa)}}.hero.is-success{background-color:#55b978;color:#fff}.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-success strong{color:inherit}.hero.is-success .title{color:#fff}.hero.is-success .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-success .subtitle a:not(.button),.hero.is-success .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-success .navbar-menu{background-color:#55b978}}.hero.is-success .navbar-item,.hero.is-success .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-success .navbar-link.is-active,.hero.is-success .navbar-link:hover,.hero.is-success a.navbar-item.is-active,.hero.is-success a.navbar-item:hover{background-color:#47ae6b;color:#fff}.hero.is-success .tabs a{color:#fff;opacity:.9}.hero.is-success .tabs a:hover{opacity:1}.hero.is-success .tabs li.is-active a{color:#55b978!important;opacity:1}.hero.is-success .tabs.is-boxed a,.hero.is-success .tabs.is-toggle a{color:#fff}.hero.is-success .tabs.is-boxed a:hover,.hero.is-success .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-success .tabs.is-boxed li.is-active a,.hero.is-success .tabs.is-boxed li.is-active a:hover,.hero.is-success .tabs.is-toggle li.is-active a,.hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#55b978}.hero.is-success.is-bold{background-image:linear-gradient(141deg,#35a74a,#55b978 71%,#62c696)}@media screen and (max-width:768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg,#35a74a,#55b978 71%,#62c696)}}.hero.is-warning{background-color:#ffe08a;color:rgba(0,0,0,.7)}.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-warning strong{color:inherit}.hero.is-warning .title{color:rgba(0,0,0,.7)}.hero.is-warning .subtitle{color:rgba(0,0,0,.9)}.hero.is-warning .subtitle a:not(.button),.hero.is-warning .subtitle strong{color:rgba(0,0,0,.7)}@media screen and (max-width:1023px){.hero.is-warning .navbar-menu{background-color:#ffe08a}}.hero.is-warning .navbar-item,.hero.is-warning .navbar-link{color:rgba(0,0,0,.7)}.hero.is-warning .navbar-link.is-active,.hero.is-warning .navbar-link:hover,.hero.is-warning a.navbar-item.is-active,.hero.is-warning a.navbar-item:hover{background-color:#ffd970;color:rgba(0,0,0,.7)}.hero.is-warning .tabs a{color:rgba(0,0,0,.7);opacity:.9}.hero.is-warning .tabs a:hover{opacity:1}.hero.is-warning .tabs li.is-active a{color:#ffe08a!important;opacity:1}.hero.is-warning .tabs.is-boxed a,.hero.is-warning .tabs.is-toggle a{color:rgba(0,0,0,.7)}.hero.is-warning .tabs.is-boxed a:hover,.hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-warning .tabs.is-boxed li.is-active a,.hero.is-warning .tabs.is-boxed li.is-active a:hover,.hero.is-warning .tabs.is-toggle li.is-active a,.hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,.7);border-color:rgba(0,0,0,.7);color:#ffe08a}.hero.is-warning.is-bold{background-image:linear-gradient(141deg,#ffb657,#ffe08a 71%,#fff6a3)}@media screen and (max-width:768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg,#ffb657,#ffe08a 71%,#fff6a3)}}.hero.is-danger{background-color:#ff3860;color:#fff}.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-danger strong{color:inherit}.hero.is-danger .title{color:#fff}.hero.is-danger .subtitle{color:hsla(0,0%,100%,.9)}.hero.is-danger .subtitle a:not(.button),.hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-danger .navbar-menu{background-color:#ff3860}}.hero.is-danger .navbar-item,.hero.is-danger .navbar-link{color:hsla(0,0%,100%,.7)}.hero.is-danger .navbar-link.is-active,.hero.is-danger .navbar-link:hover,.hero.is-danger a.navbar-item.is-active,.hero.is-danger a.navbar-item:hover{background-color:#ff1f4b;color:#fff}.hero.is-danger .tabs a{color:#fff;opacity:.9}.hero.is-danger .tabs a:hover{opacity:1}.hero.is-danger .tabs li.is-active a{color:#ff3860!important;opacity:1}.hero.is-danger .tabs.is-boxed a,.hero.is-danger .tabs.is-toggle a{color:#fff}.hero.is-danger .tabs.is-boxed a:hover,.hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(0,0,0,.1)}.hero.is-danger .tabs.is-boxed li.is-active a,.hero.is-danger .tabs.is-boxed li.is-active a:hover,.hero.is-danger .tabs.is-toggle li.is-active a,.hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#ff3860}.hero.is-danger.is-bold{background-image:linear-gradient(141deg,#ff0561,#ff3860 71%,#ff5257)}@media screen and (max-width:768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg,#ff0561,#ff3860 71%,#ff5257)}}.hero.is-small .hero-body{padding:1.5rem}@media print,screen and (min-width:769px){.hero.is-medium .hero-body{padding:9rem 4.5rem}.hero.is-large .hero-body{padding:18rem 6rem}}.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body,.hero.is-halfheight .hero-body{align-items:center;display:flex}.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container,.hero.is-halfheight .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.hero-video.is-transparent{opacity:.3}@media screen and (max-width:768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width:768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:.75rem}}@media print,screen and (min-width:769px){.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-right:1.5rem}}.hero-foot,.hero-head{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}@media print,screen and (min-width:769px){.hero-body{padding:3rem}}.section{padding:3rem 1.5rem}@media screen and (min-width:1024px){.section{padding:3rem}.section.is-medium{padding:9rem 4.5rem}.section.is-large{padding:18rem 6rem}}@-webkit-keyframes fade-in-opacity{0%{opacity:0}to{opacity:1}}@keyframes fade-in-opacity{0%{opacity:0}to{opacity:1}}@-webkit-keyframes float-up{0%{opacity:0;transform:scale(.86)}25%{opacity:1}67%{transform:scale(1)}to{transform:scale(1)}}@keyframes float-up{0%{opacity:0;transform:scale(.86)}25%{opacity:1}67%{transform:scale(1)}to{transform:scale(1)}}html{overflow-y:auto}body{-webkit-animation:fade-in-opacity .5s;animation:fade-in-opacity .5s}.message-body code,code{background-color:#000;border-radius:5px;font-size:1rem}.input::-moz-placeholder,.textarea::-moz-placeholder{color:#ededed}.input::placeholder,.textarea::placeholder{color:#ededed}.label{color:#f5f5f5;font-weight:400}.help{color:#ededed}.progress{background-color:#7a7a7a}.button.is-info.is-hovered [class*=" icon-"]:before,.button.is-info.is-hovered [class^=icon-]:before,.button.is-info:hover [class*=" icon-"]:before,.button.is-info:hover [class^=icon-]:before{fill:#fff}.button.is-wrappable{height:auto;min-height:2.25em;white-space:break-spaces}.button.is-dangerish{background-color:#ff7043;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-dangerish.is-hovered,.button.is-dangerish:not([disabled]):hover{background-color:#ff8a65;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-dangerish.is-active,.button.is-dangerish:not([disabled]):active{background-color:#ff5722;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-dangerish.is-outlined{background-color:transparent;border-color:#ff7043;color:#ff7043}.button.is-dangerish.is-outlined.is-focused,.button.is-dangerish.is-outlined.is-hovered,.button.is-dangerish.is-outlined:not([disabled]):focus,.button.is-dangerish.is-outlined:not([disabled]):hover{background-color:#ff7043;border-color:#ff7043;color:rgba(0,0,0,.7)}.checkbox:hover,.radio:hover{color:#b5b5b5}.select:not(.is-multiple):not(.is-loading):after,.select:not(.is-multiple):not(.is-loading):hover:after{border-color:#f5f5f5}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#7a7a7a}.message{background-color:#2f2f2f}.message-body{border:0;color:#f5f5f5}.table{background-color:#000;color:#ededed}.table.is-narrow{font-size:.75rem}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#2f2f2f}.table td,.table th{border-bottom:1px solid #7a7a7a;vertical-align:middle;white-space:nowrap}.table th{color:#f5f5f5;font-weight:400;height:2.25em}.table thead td,.table thead th{background-color:#383838;border-bottom:0;color:#f5f5f5;height:31px}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:1px}.table .cell-indent{padding-left:2.25em}.delete:after,.delete:before{background-color:#f5f5f5}.has-word-break-all{word-break:break-all}.icon-gauge:before{margin-top:-2px}.cc-window{font-family:inherit!important}.cc-link{padding:0!important}.section.has-extra-bottom-padding{padding-bottom:6.5rem}a.floating-home-button{align-items:center;background-color:#1f89e5;border-radius:100%;bottom:1.5rem;color:#fff;display:flex;height:3.5rem;justify-content:center;position:fixed;right:1.5rem;transition:background-color .25s,color .25s;width:3.5rem}a.floating-home-button:hover{background-color:#edf5fd;color:#000}a.floating-home-button>.icon{margin-top:-2px}.hero.is-fullheight>.hero-body{height:100%;min-height:100vh}.hero.is-fullheight>.hero-body>.container{width:100%} /*# sourceMappingURL=style.css.map */ diff --git a/dist/css/style.css.map b/dist/css/style.css.map index 3590734..30f41bc 100644 --- a/dist/css/style.css.map +++ b/dist/css/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["../node_modules/bulma/sass/utilities/extends.sass","../node_modules/bulma/sass/utilities/controls.sass","../node_modules/bulma/sass/utilities/initial-variables.sass","css/style.css","../node_modules/bulma/sass/utilities/mixins.sass","css/_variables.scss","../node_modules/bulma/sass/base/minireset.sass","../node_modules/bulma/sass/base/generic.sass","../node_modules/bulma/sass/utilities/derived-variables.sass","../node_modules/bulma/sass/base/animations.sass","../node_modules/bulma/sass/elements/button.sass","../node_modules/bulma/sass/elements/container.sass","../node_modules/bulma/sass/elements/content.sass","../node_modules/bulma/sass/elements/icon.sass","../node_modules/bulma/sass/elements/notification.sass","../node_modules/bulma/sass/elements/progress.sass","../node_modules/bulma/sass/elements/table.sass","../node_modules/bulma/sass/elements/title.sass","../node_modules/bulma/sass/elements/other.sass","../node_modules/bulma/sass/form/shared.sass","../node_modules/bulma/sass/form/input-textarea.sass","../node_modules/bulma/sass/form/checkbox-radio.sass","../node_modules/bulma/sass/form/select.sass","../node_modules/bulma/sass/form/file.sass","../node_modules/bulma/sass/form/tools.sass","../node_modules/bulma/sass/components/level.sass","../node_modules/bulma/sass/components/menu.sass","../node_modules/bulma/sass/components/message.sass","../node_modules/bulma/sass/components/pagination.sass","../node_modules/bulma/sass/components/tabs.sass","../node_modules/bulma/sass/grid/columns.sass","../node_modules/bulma/sass/grid/tiles.sass","../node_modules/bulma/sass/helpers/color.sass","../node_modules/bulma/sass/helpers/flexbox.sass","../node_modules/bulma/sass/helpers/float.sass","../node_modules/bulma/sass/helpers/other.sass","../node_modules/bulma/sass/helpers/overflow.sass","../node_modules/bulma/sass/helpers/position.sass","../node_modules/bulma/sass/helpers/spacing.sass","../node_modules/bulma/sass/helpers/typography.sass","../node_modules/bulma/sass/helpers/visibility.sass","../node_modules/bulma/sass/layout/hero.sass","../node_modules/bulma/sass/layout/section.sass","css/style.scss"],"names":[],"mappings":"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J,iBAAA,CAME,oBD44CJ,COxoCE,kBACE,wBRvQW,CQwQX,oBR3QW,CQ6QX,eAAA,CADA,aR9QW,CQgRX,mBP0oCJ,COzoCE,mBACE,oBRlNa,CQmNb,mBAAA,CACA,oBP2oCJ,COzoCA,SACE,kBAAA,CACA,YAAA,CACA,cAAA,CACA,0BP4oCF,CO3oCE,iBACE,mBP6oCJ,CO5oCI,qDNjHA,kBDgwCJ,CO7oCE,oBACE,oBP+oCJ,CO9oCE,0BACE,kBPgpCJ,CO7oCI,0EAzPF,gBPy4CF,CO34CE,2FACE,iBP64CJ,COhpCI,0EAxPF,iBP24CF,COhpCI,0EAzPF,gBP44CF,CO/oCM,8CACE,2BAAA,CACA,wBPipCR,COhpCM,6CACE,4BAAA,CACA,yBAAA,CNxIJ,iBD2xCJ,COjpCM,uCN1IF,cD8xCJ,COlpCM,yEAEE,SPmpCR,COlpCM,0LAKE,SPgpCR,CO/oCQ,wNACE,SPipCV,COhpCM,wCACE,WAAA,CACA,aPkpCR,COjpCE,qBACE,sBPmpCJ,COjpCM,iEACE,kBAAA,CACA,mBPmpCR,COlpCE,kBACE,wBPopCJ,COlpCM,8DACE,kBAAA,CACA,mBPopCR,CC/4CE,oCMiQM,+BACE,kBPkpCR,COhpCM,sDAEE,mBPmpCR,COxpCM,gCACE,gBP2pCR,CO5pCM,+BACE,cP+pCR,CACF,CC95CE,2DM6PM,+BACE,mBPoqCR,COlqCM,sDAEE,gBPqqCR,CO1qCM,gCACE,cP6qCR,CO9qCM,+BACE,iBPirCR,CACF,CQ7gDA,WACE,WAAA,CACA,aAAA,CACA,iBAAA,CACA,UR+gDF,CQ9gDE,oBACE,wBAAA,CACA,iBTyCE,CSxCF,kBTwCE,CSvCF,URghDJ,CCx6CE,qCOjHF,WAWI,eRkhDF,CACF,CCn6CI,qCO9GA,8CACE,gBRohDJ,CACF,CCz5CI,qCO1HA,kEACE,gBRshDJ,CACF,CCx6CI,qCO7GA,gCACE,gBRwhDJ,CACF,CC95CI,qCOzHA,wDACE,gBR0hDJ,CACF,CS5hDE,eACE,gBT+hDJ,CSthDI,sNACE,iBT8hDN,CS7hDE,wEAME,aVvCW,CUwCX,eVHc,CUId,iBT+hDJ,CS9hDE,YACE,aAAA,CACA,kBTgiDJ,CS/hDI,8BACE,cTiiDN,CShiDE,YACE,gBAAA,CACA,qBTkiDJ,CSjiDI,8BACE,mBTmiDN,CSliDE,YACE,eAAA,CACA,qBToiDJ,CSniDI,8BACE,mBTqiDN,CSpiDE,YACE,gBAAA,CACA,kBTsiDJ,CSriDE,YACE,iBAAA,CACA,qBTuiDJ,CStiDE,YACE,aAAA,CACA,iBTwiDJ,CSviDE,oBACE,wBV5DW,CEuKX,6BQ3K6B,CAkE7B,oBTyiDJ,CSxiDE,YACE,2BAAA,CRuGA,eQtGwB,CACxB,cT0iDJ,CSziDI,wBACE,uBT2iDN,CS1iDM,uCACE,2BT4iDR,CS3iDM,uCACE,2BT6iDR,CS5iDM,uCACE,2BT8iDR,CS7iDM,uCACE,2BT+iDR,CS9iDE,YACE,uBAAA,CRyFA,eQxFwB,CACxB,cTgjDJ,CS/iDI,eACE,sBAAA,CACA,eTijDN,CShjDM,kBACE,sBTkjDR,CSjjDE,YRiFE,eDm+CJ,CSljDE,gBACE,eAAA,CACA,gBAAA,CACA,iBTojDJ,CSnjDI,kCACE,cTqjDN,CSpjDI,iCACE,iBTsjDN,CSrjDI,oBACE,oBTujDN,CStjDI,2BACE,iBTwjDN,CSvjDE,aR9CA,gCAAA,CQmDE,gBAAA,CAHA,eAAA,CACA,oBAxGkB,CAyGlB,eT0jDJ,CSxjDE,0BAEE,aT0jDJ,CSzjDE,eACE,UT2jDJ,CS1jDI,oCAGE,oBAhH4B,CAgH5B,oBAhH4B,CAiH5B,kBAhHuB,CAiHvB,kBT4jDN,CS3jDI,kBACE,aT6jDN,CS5jDM,+BACE,kBT8jDR,CS5jDM,gDAEE,oBAvH+B,CAwH/B,aT8jDR,CS5jDM,gDAEE,oBAzH+B,CA0H/B,aT8jDR,CS1jDU,4EAEE,qBT4jDZ,CS1jDI,qBACE,YT4jDN,CS1jDE,kBACE,gBT4jDJ,CS3jDE,mBACE,cT6jDJ,CS5jDE,mBACE,iBT8jDJ,CS7jDE,kBACE,gBT+jDJ,CU1tDA,MACE,kBAAA,CACA,mBAAA,CAEA,aAVgB,CAShB,sBAAA,CAEA,YV6tDF,CU3tDE,eACE,WAboB,CAcpB,UV6tDJ,CU5tDE,gBACE,WAfqB,CAgBrB,UV8tDJ,CU7tDE,eACE,WAjBoB,CAkBpB,UV+tDJ,CU7tDA,WACE,sBAAA,CACA,aAAA,CACA,mBAAA,CACA,cAAA,CACA,kBA5BgB,CA6BhB,kBVguDF,CU/tDE,iBACE,WAAA,CACA,aViuDJ,CUhuDI,kCAEI,kBViuDR,CU9tDI,mCAEI,iBV+tDR,CU3tDA,cACE,YV8tDF,CWhwDA,cAEE,wBAAA,CACA,iBZwDO,CYrDL,qCAXuB,CASzB,iBXmwDF,CW9vDE,iDACE,kBAAA,CACA,yBXgwDJ,CW/vDE,qBACE,kBXiwDJ,CWhwDE,qCAEE,eXkwDJ,CWjwDE,uBACE,sBXmwDJ,CWlwDE,sBAEE,iBAAA,CV4JA,WU7Jc,CAEd,SXowDJ,CWnwDE,oEAGE,kBXqwDJ,CWhwDI,uBACE,qBAHM,CAIN,UXkwDN,CWpwDI,uBACE,qBAHM,CAIN,UXswDN,CWxwDI,uBACE,wBAHM,CAIN,oBX0wDN,CW5wDI,sBACE,wBAHM,CAIN,UX8wDN,CWhxDI,yBACE,wBAHM,CAIN,UXkxDN,CW7wDQ,kCACE,wBAHY,CAIZ,aX+wDV,CWxxDI,sBACE,wBAHM,CAIN,UX0xDN,CWrxDQ,+BACE,wBAHY,CAIZ,aXuxDV,CWhyDI,sBACE,wBAHM,CAIN,UXkyDN,CW7xDQ,+BACE,wBAHY,CAIZ,aX+xDV,CWxyDI,yBACE,wBAHM,CAIN,UX0yDN,CWryDQ,kCACE,wBAHY,CAIZ,aXuyDV,CWhzDI,yBACE,wBAHM,CAIN,oBXkzDN,CW7yDQ,kCACE,wBAHY,CAIZ,aX+yDV,CWxzDI,wBACE,wBAHM,CAIN,UX0zDN,CWrzDQ,iCACE,wBAHY,CAIZ,aXuzDV,CYh2DA,UAEE,oBAAA,CACA,uBAAA,CACA,WAAA,CACA,oBbyDe,CaxDf,aAAA,CACA,WboBO,CanBP,eAAA,CACA,SAAA,CACA,UZk2DF,CYj2DE,gCACE,wBZm2DJ,CYl2DE,kCACE,wBZo2DJ,CYn2DE,6BACE,wBZq2DJ,CYp2DE,oBACE,wBbfW,CagBX,WZs2DJ,CYj2DM,2CACE,qBZm2DR,CYl2DM,sCACE,qBZo2DR,CYn2DM,6BACE,qBZq2DR,CYp2DM,iCACE,0DZs2DR,CY72DM,2CACE,qBZ+2DR,CY92DM,sCACE,qBZg3DR,CY/2DM,6BACE,qBZi3DR,CYh3DM,iCACE,0DZk3DR,CYz3DM,2CACE,wBZ23DR,CY13DM,sCACE,wBZ43DR,CY33DM,6BACE,wBZ63DR,CY53DM,iCACE,6DZ83DR,CYr4DM,0CACE,wBZu4DR,CYt4DM,qCACE,wBZw4DR,CYv4DM,4BACE,wBZy4DR,CYx4DM,gCACE,6DZ04DR,CYj5DM,6CACE,wBZm5DR,CYl5DM,wCACE,wBZo5DR,CYn5DM,+BACE,wBZq5DR,CYp5DM,mCACE,6DZs5DR,CY75DM,0CACE,wBZ+5DR,CY95DM,qCACE,wBZg6DR,CY/5DM,4BACE,wBZi6DR,CYh6DM,gCACE,6DZk6DR,CYz6DM,0CACE,wBZ26DR,CY16DM,qCACE,wBZ46DR,CY36DM,4BACE,wBZ66DR,CY56DM,gCACE,6DZ86DR,CYr7DM,6CACE,wBZu7DR,CYt7DM,wCACE,wBZw7DR,CYv7DM,+BACE,wBZy7DR,CYx7DM,mCACE,6DZ07DR,CYj8DM,6CACE,wBZm8DR,CYl8DM,wCACE,wBZo8DR,CYn8DM,+BACE,wBZq8DR,CYp8DM,mCACE,6DZs8DR,CY78DM,4CACE,wBZ+8DR,CY98DM,uCACE,wBZg9DR,CY/8DM,8BACE,wBZi9DR,CYh9DM,kCACE,6DZk9DR,CYh9DE,wBACE,+BAtC8B,CAsC9B,uBAtC8B,CAuC9B,0CAAA,CAAA,kCAAA,CACA,wCAAA,CAAA,gCAAA,CACA,wCAAA,CAAA,gCAAA,CACA,wBbrCY,CasCZ,6DAAA,CACA,uBAAA,CACA,2BAAA,CACA,yBZk9DJ,CYj9DI,8CACE,4BZm9DN,CYl9DI,2CACE,4BZo9DN,CYn9DI,kCACE,mBZq9DN,CYl9DE,mBACE,aZo9DJ,CYn9DE,oBACE,cZq9DJ,CYp9DE,mBACE,aZs9DJ,CYp9DA,qCACE,GACE,0BZu9DF,CYt9DA,GACE,2BZw9DF,CACF,CY79DA,6BACE,GACE,0BZu9DF,CYt9DA,GACE,2BZw9DF,CACF,CangEA,OAGE,abogEF,CangEE,oBAGE,oBA/BsB,CA+BtB,oBA/BsB,CAgCtB,kBA/BiB,CAgCjB,kBbqgEJ,CahgEM,sCACE,qBAHM,CAIN,iBAJM,CAKN,UbmgER,CatgEM,sCACE,qBAHM,CAIN,iBAJM,CAKN,UbygER,Ca5gEM,sCACE,wBAHM,CAIN,oBAJM,CAKN,oBb+gER,CalhEM,oCACE,wBAHM,CAIN,oBAJM,CAKN,UbqhER,CaxhEM,0CACE,wBAHM,CAIN,oBAJM,CAKN,Ub2hER,Ca9hEM,oCACE,wBAHM,CAIN,oBAJM,CAKN,UbiiER,CapiEM,oCACE,wBAHM,CAIN,oBAJM,CAKN,UbuiER,Ca1iEM,0CACE,wBAHM,CAIN,oBAJM,CAKN,Ub6iER,CahjEM,0CACE,wBAHM,CAIN,oBAJM,CAKN,oBbmjER,CatjEM,wCACE,wBAHM,CAIN,oBAJM,CAKN,UbyjER,CavjEI,wCACE,kBAAA,CACA,Qb0jEN,CazjEI,4CACE,wBdjCS,CckCT,Ub4jEN,Ca3jEM,0GAEE,kBb+jER,Ca9jEI,8CACE,qBbikEN,CahkEE,UACE,abkkEJ,CajkEI,uBACE,ebmkEN,CajkEI,sBACE,wBd9CS,Cc+CT,UbmkEN,CalkEM,qDAEE,kBbokER,CankEM,kDAEE,iBRjDS,CQkDT,kBbqkER,CapkEE,aACE,4BbskEJ,CarkEI,gCAEE,oBApEyB,CAqEzB,abukEN,CatkEE,aACE,4BbwkEJ,CavkEI,gCAEE,oBAxEyB,CAyEzB,abykEN,CaxkEE,aACE,4Bb0kEJ,CavkEQ,4DAEE,qBbykEV,CatkEI,4CAEE,gBbwkEN,CarkEQ,wEAEE,uBbukEV,CatkEE,oBACE,UbwkEJ,Ca/jEU,qHACE,wBbokEZ,CankEY,8EACE,wBbqkEd,CankEI,wCAEE,kBbqkEN,CajkEQ,2DACE,wBbmkEV,CajkEA,iBZ7DE,gCAAA,CYkEA,cAAA,CAFA,aAAA,CACA,iBbokEF,CcnrEA,iBAGE,qBdqrEF,CcprEE,kDAEE,mBdwrEJ,CcrrEE,kDACE,ed4rEJ,Cc3rEE,2BACE,qBd8rEJ,Cc5rEA,OACE,afvBa,Ce0Bb,cfLO,CeMP,efGgB,CeFhB,iBd6rEF,Cc5rEE,cACE,aApCiB,CAqCjB,mBd8rEJ,Cc7rEE,iCACE,mBd+rEJ,Cc3rEI,YACE,cd6rEN,Cc9rEI,YACE,gBdgsEN,CcjsEI,YACE,cdmsEN,CcpsEI,YACE,gBdssEN,CcvsEI,YACE,iBdysEN,Cc1sEI,YACE,cd4sEN,Cc7sEI,YACE,gBd+sEN,Cc7sEA,UACE,af3Cc,Ce8Cd,iBfrBO,CesBP,efjBc,CekBd,gBd8sEF,Cc7sEE,iBACE,aflDY,CemDZ,ed+sEJ,Cc9sEE,iCACE,mBdgtEJ,Cc5sEI,eACE,cd8sEN,Cc/sEI,eACE,gBditEN,CcltEI,eACE,cdotEN,CcrtEI,eACE,gBdutEN,CcxtEI,eACE,iBd0tEN,Cc3tEI,eACE,cd6tEN,Cc9tEI,eACE,gBdguEN,Ce7xEA,SACE,aAAA,CACA,cAAA,CACA,kBAAA,CACA,iBAAA,CACA,wBfgyEF,Ce3xEA,QACE,kBAAA,CACA,wBhBPa,CgBQb,oBhBmDe,CgBlDf,mBAAA,CACA,iBhBaO,CgBZP,UAAA,CACA,sBAAA,CACA,mBAAA,CACA,eAAA,CACA,oBAAA,CACA,iBAAA,CACA,kBf8xEF,CgBlwEA,gCAxBE,qBd3BM,Cc4BN,oBjB3Ba,CiB4Bb,iBjBkCO,CiBjCP,ahBgyEF,CC7vEI,sFejCA,ahBiyEJ,CChwEI,iHejCA,ahBoyEJ,CCnwEI,mFejCA,ahBuyEJ,CCtwEI,kGejCA,ahB0yEJ,CgBzyEE,mHAEE,oBhB0yEJ,CgBzyEE,sOAIE,oBX8BS,CW7BT,4ChBwyEJ,CgBvyEE,yLAEE,wBjB5CW,CiB6CX,oBjB5CW,CiB6CX,eAAA,CACA,ahBwyEJ,CCtxEI,uTehBE,ahByyEN,CCzxEI,sXehBE,ahB4yEN,CC5xEI,gTehBE,ahB+yEN,CC/xEI,mVehBE,ahBkzEN,CiBp2EA,iBAEE,iDDCa,CCAb,cAAA,CACA,UjBs2EF,CiBr2EE,qCACE,ejBu2EJ,CiBn2EI,mCACE,iBjBq2EN,CiBp2EM,gNAIE,2CjBm2ER,CiBz2EI,mCACE,iBjB22EN,CiB12EM,gNAIE,uCjBy2ER,CiB/2EI,mCACE,oBjBi3EN,CiBh3EM,gNAIE,0CjB+2ER,CiBr3EI,iCACE,oBjBu3EN,CiBt3EM,wMAIE,0CjBq3ER,CiB33EI,uCACE,oBjB63EN,CiB53EM,gOAIE,2CjB23ER,CiBj4EI,iCACE,oBjBm4EN,CiBl4EM,wMAIE,4CjBi4ER,CiBv4EI,iCACE,oBjBy4EN,CiBx4EM,wMAIE,4CjBu4ER,CiB74EI,uCACE,oBjB+4EN,CiB94EM,gOAIE,4CjB64ER,CiBn5EI,uCACE,oBjBq5EN,CiBp5EM,gOAIE,6CjBm5ER,CiBz5EI,qCACE,oBjB25EN,CiB15EM,wNAIE,2CjBy5ER,CiBv5EE,mCnBmBA,iBC0Ba,CDzBb,gBEu4EF,CiBz5EE,qCnBoBA,iBEw4EF,CiB15EE,mCnBoBA,gBEy4EF,CiB15EE,2CACE,aAAA,CACA,UjB45EJ,CiB35EE,qCACE,cAAA,CACA,UjB65EJ,CiBz5EE,kBACE,oBlB+Ba,CkB9Bb,gCAAA,CACA,iCjB45EJ,CiB35EE,iBACE,4BAAA,CACA,wBAAA,CACA,eAAA,CACA,cAAA,CACA,ejB65EJ,CiB35EA,UAEE,aAAA,CACA,cAAA,CACA,cAAA,CACA,yBnB7C2B,CmB8C3B,ejB65EF,CiB55EE,sBACE,eA1DkB,CA2DlB,cjB85EJ,CiB75EE,gBACE,WjB+5EJ,CiB75EE,yBACE,WjB+5EJ,CkBh+EA,iBACE,cAAA,CACA,oBAAA,CACA,gBAAA,CACA,iBlBm+EF,CkBl+EE,6BACE,clBo+EJ,CkBn+EE,6BACE,alBq+EJ,CkBp+EE,6IAGE,anBCW,CmBAX,kBlBs+EJ,CkB/9EE,cjBgKE,gBDm0EJ,CmBr/EA,QACE,oBAAA,CACA,cAAA,CACA,iBAAA,CACA,kBnBw/EF,CmBv/EE,0BACE,YnBy/EJ,CmBv/EI,iDAEE,oBjBFC,CDkLH,akB/KgB,CACd,SnBw/EN,CmBt/EI,0BACE,oBpBuDW,CE4Gb,gBDs1EJ,CmBv/EE,eAEE,cAAA,CACA,aAAA,CACA,aAAA,CACA,cAAA,CACA,YnBw/EJ,CmBv/EI,2BACE,YnBy/EN,CmBr/EI,+BlBqJA,mBDs2EJ,CmBz/EI,yBACE,WAAA,CACA,SnB2/EN,CmB1/EM,gCACE,gBnB4/ER,CmBz/EI,uDACE,oBnB2/EN,CmBp/EM,2DACE,iBnBy/ER,CmBx/EQ,iEAEE,oBnBy/EV,CmBx/EQ,kIAIE,2CnBu/EV,CmB9/EQ,4HAEE,iBnBqgFV,CmBpgFQ,kIAIE,uCnBmgFV,CmB5gFM,2DACE,oBnBihFR,CmBhhFQ,iEAEE,oBnBihFV,CmBhhFQ,kIAIE,0CnB+gFV,CmBxhFM,yDACE,oBnB6hFR,CmB5hFQ,+DAEE,oBnB6hFV,CmB5hFQ,8HAIE,0CnB2hFV,CmBpiFM,+DACE,oBnByiFR,CmBxiFQ,qEAEE,oBnByiFV,CmBxiFQ,0IAIE,2CnBuiFV,CmBhjFM,yDACE,oBnBqjFR,CmBpjFQ,+DAEE,oBnBqjFV,CmBpjFQ,8HAIE,4CnBmjFV,CmB5jFM,yDACE,oBnBikFR,CmBhkFQ,+DAEE,oBnBikFV,CmBhkFQ,8HAIE,4CnB+jFV,CmBxkFM,+DACE,oBnB6kFR,CmB5kFQ,qEAEE,oBnB6kFV,CmB5kFQ,0IAIE,4CnB2kFV,CmBplFM,+DACE,oBnBylFR,CmBxlFQ,qEAEE,oBnBylFV,CmBxlFQ,0IAIE,6CnBulFV,CmBhmFM,6DACE,oBnBqmFR,CmBpmFQ,mEAEE,oBnBqmFV,CmBpmFQ,sIAIE,2CnBmmFV,CmBjmFE,iBrBhBA,iBC0Ba,CDzBb,gBEonFF,CmBnmFE,kBrBfA,iBEqnFF,CmBpmFE,iBrBfA,gBEsnFF,CmBnmFI,0BACE,8BAAA,CACA,UnBqmFN,CmBlmFI,iDACE,UnBumFN,CmBrmFI,yBAEE,YAAA,CACA,iBAAA,ClB8GF,YkB7GgB,CACd,UAAA,CACA,cnBsmFN,CmBrmFI,kCACE,gBnBumFN,CmBtmFI,mCACE,iBnBwmFN,CmBvmFI,kCACE,gBnBymFN,CoBjrFA,MAEE,mBAAA,CACA,YAAA,CACA,0BAAA,CACA,iBpBmrFF,CoB7qFM,yBACE,qBAJI,CAKJ,wBAAA,CACA,UpB+qFR,CoB5qFQ,mEACE,wBAAA,CACA,wBAAA,CACA,UpB8qFV,CoB3qFQ,mEACE,wBAAA,CACA,uCAAA,CACA,UpB6qFV,CoB1qFQ,mEACE,wBAAA,CACA,wBAAA,CACA,UpB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GJ,CqB/kGI,2BACE,arBilGN,CqBhlGM,4CACE,eAAA,CpBiFJ,mBDkgGJ,CqBjlGM,uCACE,WAAA,CACA,arBmlGR,CqBllGI,sCACE,sBrBolGN,CqBnlGI,mCACE,wBrBqlGN,CqBplGI,uCACE,crBslGN,CqBplGQ,4HAEE,oBrBqlGV,CqBplGM,kDACE,qBrBslGR,CqBrlGM,wDACE,erBulGR,CClmGE,0CoBYA,qBAEI,YrBwlGJ,CACF,CqBtlGE,oBACE,iBrBylGJ,CC/mGE,oCoBoBF,aAII,mBrB2lGF,CACF,CChnGE,0CoBgBF,aAMI,YAAA,CACA,WAAA,CACA,aAAA,CpBkDA,mBoBjDwB,CACxB,gBrB8lGF,CqB7lGE,sBACE,gBtBhGG,CsBiGH,kBrB+lGJ,CqB9lGE,uBACE,kBrBgmGJ,CqB/lGE,uBACE,iBtBvGG,CsBwGH,kBrBimGJ,CqBhmGE,sBACE,gBtB3GG,CsB4GH,kBrBkmGJ,CACF,CqBhmGE,0BACE,erBmmGJ,CC5oGE,0CoBuCF,YAII,YAAA,CACA,YAAA,CACA,WAAA,CACA,arBqmGF,CqBpmGE,mBACE,erBsmGJ,CqBrmGE,mBACE,arBumGJ,CqBtmGI,mCACE,WrBwmGN,CqBvmGI,oCpBqBF,mBDqlGF,CACF,CqBxmGA,SACE,qBAAA,CACA,UAAA,CACA,ctBhIO,CsBiIP,iBAAA,CACA,kBrB2mGF,CqBpmGQ,gLACE,arBwmGV,CqBvmGM,4LACE,gBrB2mGR,CqB1mGM,gMACE,iBrB8mGR,CqB7mGM,4LACE,gBrBinGR,CqBhnGI,6DACE,atB7KS,CsB8KT,YvBjLW,CuBkLX,mBAAA,CACA,iBAAA,CACA,KAAA,CACA,WvBrLW,CuBsLX,SrBknGN,CqBhnGI,sEAEE,kBrBknGN,CqBjnGI,sCACE,MrBmnGN,CqBjnGI,wEAEE,mBrBmnGN,CqBlnGI,wCACE,OrBonGN,CqBlnGI,0BAEE,2BAAA,CpBjBF,YoBkBgB,CACd,UAAA,CACA,SrBmnGN,CqBlnGI,mCACE,gBrBonGN,CqBnnGI,oCACE,iBrBqnGN,CqBpnGI,mCACE,gBrBsnGN,CsBx0GA,OAEE,kBAAA,CACA,6BtB20GF,CsB10GE,YACE,iBtB40GJ,CsB30GE,WACE,oBAAA,CACA,kBtB60GJ,CsBz0GI,4EAEE,YtB80GN,CsB70GI,0CACE,YtB+0GN,CsB70GM,8CACE,eAAA,CrB6JJ,mBDmrGJ,CsB90GM,6CACE,WtBg1GR,CChwGE,0CqBtGF,OAyBI,YtBi1GF,CsB/0GI,mCACE,WtBi1GN,CACF,CsBh1GA,YACE,kBAAA,CACA,YAAA,CACA,eAAA,CACA,WAAA,CACA,aAAA,CACA,sBtBm1GF,CsBl1GE,yCAEE,etBo1GJ,CCzxGE,oCqBxDE,6BACE,oBtBo1GJ,CACF,CsBn1GA,yBAEE,eAAA,CACA,WAAA,CACA,atBs1GF,CsBn1GI,yEACE,WtBs1GN,CCryGE,0CqB9CI,mFrBwHF,mBDguGF,CACF,CsBt1GA,YACE,kBAAA,CACA,0BtBy1GF,CCpzGE,oCqBlCE,yBACE,iBtBy1GJ,CACF,CCrzGE,0CqB3CF,YAQI,YtB41GF,CACF,CsB31GA,aACE,kBAAA,CACA,wBtB81GF,CC/zGE,0CqBjCF,aAKI,YtB+1GF,CACF,CuB15GA,MACE,cvB65GF,CuB35GE,eACE,gBvB65GJ,CuB55GE,gBACE,iBvB85GJ,CuB75GE,eACE,gBvB+5GJ,CuB75GA,WACE,gBvBg6GF,CuB/5GE,aACE,iBxBoCW,CwBnCX,axBrBW,CwBsBX,aAAA,CACA,kBvBi6GJ,CuBh6GI,mBACE,wBxBzBS,CwB0BT,avBk6GN,CuBh6GI,uBACE,wBrBhCC,CqBiCD,UvBk6GN,CuBh6GI,iBtBuIA,6BsB3KoB,CAsClB,YAnCoB,CtBwKtB,kBD8xGJ,CuBh6GA,YACE,axB3Ca,CwB4Cb,eApCqB,CAqCrB,mBApC0B,CAqC1B,wBvBm6GF,CuBl6GE,8BACE,cvBo6GJ,CuBn6GE,6BACE,iBvBq6GJ,CwBx8GA,SAEE,wBzBZa,CyBab,iBzB4CO,CyB3CP,cxB08GF,CwBz8GE,gBACE,kBxB28GJ,CwB18GE,sDACE,kBAAA,CACA,yBxB48GJ,CwB18GE,kBACE,gBxB48GJ,CwB38GE,mBACE,iBxB68GJ,CwB58GE,kBACE,gBxB88GJ,CwBz7GI,kBACE,qBxB27GN,CwB17GM,kCACE,qBArBI,CAsBJ,UxB47GR,CwB37GM,gCACE,iBxB67GR,CwBn8GI,kBACE,wBxBq8GN,CwBp8GM,kCACE,qBArBI,CAsBJ,UxBs8GR,CwBr8GM,gCACE,iBxBu8GR,CwB78GI,kBACE,wBxB+8GN,CwB98GM,kCACE,wBArBI,CAsBJ,oBxBg9GR,CwB/8GM,gCACE,oBxBi9GR,CwBv9GI,iBACE,wBxBy9GN,CwBx9GM,iCACE,wBArBI,CAsBJ,UxB09GR,CwBz9GM,+BACE,oBxB29GR,CwBj+GI,oBACE,wBxBm+GN,CwBl+GM,oCACE,wBArBI,CAsBJ,UxBo+GR,CwBn+GM,kCACE,oBAxBI,CAyBJ,axBq+GR,CwB5+GI,iBACE,wBxB8+GN,CwB7+GM,iCACE,wBArBI,CAsBJ,UxB++GR,CwB9+GM,+BACE,oBAxBI,CAyBJ,axBg/GR,CwBv/GI,iBACE,wBxBy/GN,CwBx/GM,iCACE,wBArBI,CAsBJ,UxB0/GR,CwBz/GM,+BACE,oBAxBI,CAyBJ,axB2/GR,CwBlgHI,oBACE,wBxBogHN,CwBngHM,oCACE,wBArBI,CAsBJ,UxBqgHR,CwBpgHM,kCACE,oBAxBI,CAyBJ,axBsgHR,CwB7gHI,oBACE,wBxB+gHN,CwB9gHM,oCACE,wBArBI,CAsBJ,oBxBghHR,CwB/gHM,kCACE,oBAxBI,CAyBJ,axBihHR,CwBxhHI,mBACE,wBxB0hHN,CwBzhHM,mCACE,wBArBI,CAsBJ,UxB2hHR,CwB1hHM,iCACE,oBAxBI,CAyBJ,axB4hHR,CwB1hHA,gBACE,kBAAA,CACA,wBzB1Da,CyB2Db,yBAAA,CACA,UnBZY,CmBaZ,YAAA,CACA,ezB/BY,CyBgCZ,6BAAA,CACA,gBAAA,CACA,iBAtEuB,CAuEvB,iBxB6hHF,CwB5hHE,wBACE,WAAA,CACA,aAAA,CvBkGA,iBD67GJ,CwB7hHE,8BAEE,wBAAA,CACA,yBAAA,CAFA,cxBiiHJ,CwB7hHA,cAIE,oBAjF0B,CA+E1B,iBzBrBO,CyBuBP,sBAjF0B,CAmF1B,oBxBgiHF,CwB/hHE,qCAEE,qBxBiiHJ,CwBhiHE,uBACE,4BxBkiHJ,CyBjmHA,YAEE,c1BFO,C0BGP,czBmmHF,CyBjmHE,qBACE,gBzBmmHJ,CyBlmHE,sBACE,iBzBomHJ,CyBnmHE,qBACE,gBzBqmHJ,CyBnmHI,oFAIE,oB1BmBW,C0BrBX,gBAAA,CACA,iBzBsmHN,CyBpmHI,wCACE,oBzBsmHN,CyBpmHA,6BAEE,kBAAA,CACA,YAAA,CACA,sBAAA,CACA,iBzBumHF,CyBrmHA,4EAME,aA9D0B,CA+D1B,sBAAA,CACA,aA/DuB,CAgEvB,iBA/D6B,CAgE7B,kBA/D8B,CAgE9B,iBzBsmHF,CyBpmHA,uDAGE,oB1BnEa,C0BoEb,a1BpEa,C0BqEb,ezBumHF,CyBtmHE,yEACE,oB1BvEW,C0BwEX,UzB0mHJ,CyBzmHE,yEACE,oBzB6mHJ,CyB5mHE,4EACE,yCzBgnHJ,CyB/mHE,gLAEE,wB1BrFW,C0BsFX,oB1BrFW,C0BsFX,eAAA,CACA,avBzCwB,CuB0CxB,UzBonHJ,CyBlnHA,sCAEE,kBAvF4B,CAwF5B,mBAvF6B,CAwF7B,kBzBqnHF,CyBlnHE,4BACE,wBvBhGG,CuBiGH,oBvBjGG,CuBkGH,UzBqnHJ,CyBnnHA,qBACE,a1BtGa,C0BuGb,mBzBsnHF,CyBpnHA,iBACE,czBunHF,CyBtnHE,oBACE,ezBwnHJ,CCvoHE,oCwBkBA,YACE,czBynHF,CyBnnHE,0DACE,WAAA,CACA,azB4nHJ,CACF,CCppHE,0CwB0BA,iBACE,WAAA,CACA,aAAA,CACA,0BAAA,CACA,OzB6nHF,CyB5nHA,4EAIE,eAAA,CACA,YzB+nHF,CyB9nHA,qBACE,OzBioHF,CyBhoHA,iBACE,OzBmoHF,CyBloHA,YACE,6BAAA,CACA,eAAA,CACA,YzBqoHF,CyBnoHI,6CACE,OzBqoHN,CyBpoHI,yCACE,sBAAA,CACA,OzBsoHN,CyBroHI,yCACE,OzBuoHN,CyBroHI,0CACE,OzBuoHN,CyBtoHI,sCACE,OzBwoHN,CyBvoHI,sCACE,wBAAA,CACA,OzByoHN,CACF,C0BlxHA,MzBqCE,gCAAA,CyBjCA,mBAAA,CACA,YAAA,CACA,c3BCO,C2BAP,6BAAA,CACA,eAAA,CACA,eAAA,CACA,kB1BkxHF,C0BjxHE,QACE,kBAAA,CAGA,+BAzCuB,CA0CvB,a3BjCW,C2BkCX,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,gBAxCgB,CAyChB,kB1BmxHJ,C0BlxHI,cACE,2B3B/CS,C2BgDT,a1BoxHN,C0BnxHE,SACE,a1BqxHJ,C0BnxHM,qBACE,2BxBjDD,CwBkDC,a1BqxHR,C0BpxHE,SACE,kBAAA,CAGA,+BA7DuB,CA8DvB,YAAA,CACA,WAAA,CACA,aAAA,CACA,0B1BsxHJ,C0BnxHI,oCADE,mB1B6xHN,C0B5xHI,mBACE,SAAA,CACA,sBAAA,CACA,kB1ByxHN,C0BvxHI,kBACE,wBAAA,CACA,kB1ByxHN,C0BvxHI,wBzBmGA,iBDurHJ,C0BxxHI,uBzBiGA,gBD0rHJ,C0BvxHI,qBACE,sB1ByxHN,C0BvxHI,kBACE,wB1ByxHN,C0BtxHI,iBACE,4BAAA,CAEE,yB1BuxHR,C0BpxHM,uBACE,wB3B/FO,C2BgGP,2B1BsxHR,C0BnxHQ,8BACE,qBxBnGF,CwBqGE,yCAAA,CADA,oB1BsxHV,C0BnxHI,sBACE,WAAA,CACA,a1BqxHN,C0BnxHI,kBAGE,wBA/F0B,CAgG1B,eAAA,CACA,iB1BqxHN,C0BpxHM,wBACE,wB3B5GO,C2B6GP,oBxBhHD,CwBiHC,S1BsxHR,C0BpxHM,sBzBuDF,gBDguHJ,C0BrxHM,iCAGI,6B3B5DD,C2B2DC,0B1BuxHV,C0BlxHM,gCAGI,8B3BnED,C2BkEC,2B1BoxHV,C0B9wHQ,+BACE,wBxBrIH,CwBsIG,oBxBtIH,CwBuIG,UrBrEI,CqBsEJ,S1BgxHV,C0B/wHI,mBACE,kB1BixHN,C0B9wHQ,mDAEI,gC3BjFK,C2BkFL,6B3BlFK,C2BmFL,mB1B+wHZ,C0B1wHQ,kDAEI,iC3B1FK,C2B2FL,8B3B3FK,C2B4FL,oB1B2wHZ,C0BrwHE,eACE,gB1BuwHJ,C0BtwHE,gBACE,iB1BwwHJ,C0BvwHE,eACE,gB1BywHJ,C2Bp7HA,QACE,aAAA,CACA,YAAA,CACA,WAAA,CACA,aAAA,CACA,c3By7HF,C2Bx7HE,qCACE,SAAA,CACA,U3B07HJ,C2Bz7HE,mCACE,SAAA,CACA,U3B27HJ,C2B17HE,6CACE,SAAA,CACA,S3B47HJ,C2B37HE,yCACE,SAAA,CACA,c3B67HJ,C2B57HE,mCACE,SAAA,CACA,S3B87HJ,C2B77HE,wCACE,SAAA,CACA,c3B+7HJ,C2B97HE,0CACE,SAAA,CACA,S3Bg8HJ,C2B/7HE,wCACE,SAAA,CACA,S3Bi8HJ,C2Bh8HE,yCACE,SAAA,CACA,S3Bk8HJ,C2Bj8HE,2CACE,SAAA,CACA,S3Bm8HJ,C2Bl8HE,0CACE,SAAA,CACA,S3Bo8HJ,C2Bn8HE,oD1ByIE,eD6zHJ,C2Bp8HE,gD1BuIE,oBDg0HJ,C2Br8HE,0C1BqIE,eDm0HJ,C2Bt8HE,+C1BmIE,oBDs0HJ,C2Bv8HE,iD1BiIE,eDy0HJ,C2Bx8HE,+C1B+HE,eD40HJ,C2Bz8HE,gD1B6HE,eD+0HJ,C2B18HE,kD1B2HE,eDk1HJ,C2B38HE,iD1ByHE,eDq1HJ,C2B38HI,gCACE,SAAA,CACA,O3B68HN,C2B58HI,uC1BmHA,aD41HJ,C2Bl9HI,gCACE,SAAA,CACA,iB3Bo9HN,C2Bn9HI,uC1BmHA,uBDm2HJ,C2Bz9HI,gCACE,SAAA,CACA,kB3B29HN,C2B19HI,uC1BmHA,wBD02HJ,C2Bh+HI,gCACE,SAAA,CACA,S3Bk+HN,C2Bj+HI,uC1BmHA,eDi3HJ,C2Bv+HI,gCACE,SAAA,CACA,kB3By+HN,C2Bx+HI,uC1BmHA,wBDw3HJ,C2B9+HI,gCACE,SAAA,CACA,kB3Bg/HN,C2B/+HI,uC1BmHA,wBD+3HJ,C2Br/HI,gCACE,SAAA,CACA,S3Bu/HN,C2Bt/HI,uC1BmHA,eDs4HJ,C2B5/HI,gCACE,SAAA,CACA,kB3B8/HN,C2B7/HI,uC1BmHA,wBD64HJ,C2BngII,gCACE,SAAA,CACA,kB3BqgIN,C2BpgII,uC1BmHA,wBDo5HJ,C2B1gII,gCACE,SAAA,CACA,S3B4gIN,C2B3gII,uC1BmHA,eD25HJ,C2BjhII,iCACE,SAAA,CACA,kB3BmhIN,C2BlhII,wC1BmHA,wBDk6HJ,C2BxhII,iCACE,SAAA,CACA,kB3B0hIN,C2BzhII,wC1BmHA,wBDy6HJ,C2B/hII,iCACE,SAAA,CACA,U3BiiIN,C2BhiII,wC1BmHA,gBDg7HJ,CC9/HE,oC0BlCE,yBACE,SAAA,CACA,U3BmiIJ,C2BliIE,uBACE,SAAA,CACA,U3BoiIJ,C2BniIE,iCACE,SAAA,CACA,S3BqiIJ,C2BpiIE,6BACE,SAAA,CACA,c3BsiIJ,C2BriIE,uBACE,SAAA,CACA,S3BuiIJ,C2BtiIE,4BACE,SAAA,CACA,c3BwiIJ,C2BviIE,8BACE,SAAA,CACA,S3ByiIJ,C2BxiIE,4BACE,SAAA,CACA,S3B0iIJ,C2BziIE,6BACE,SAAA,CACA,S3B2iIJ,C2B1iIE,+BACE,SAAA,CACA,S3B4iIJ,C2B3iIE,8BACE,SAAA,CACA,S3B6iIJ,C2B5iIE,wC1B+EA,eDg+HF,C2B7iIE,oC1B6EA,oBDm+HF,C2B9iIE,8B1B2EA,eDs+HF,C2B/iIE,mC1ByEA,oBDy+HF,C2BhjIE,qC1BuEA,eD4+HF,C2BjjIE,mC1BqEA,eD++HF,C2BljIE,oC1BmEA,eDk/HF,C2BnjIE,sC1BiEA,eDq/HF,C2BpjIE,qC1B+DA,eDw/HF,C2BpjII,oBACE,SAAA,CACA,O3BsjIN,C2BrjII,2B1ByDF,aD+/HF,C2B3jII,oBACE,SAAA,CACA,iB3B6jIN,C2B5jII,2B1ByDF,uBDsgIF,C2BlkII,oBACE,SAAA,CACA,kB3BokIN,C2BnkII,2B1ByDF,wBD6gIF,C2BzkII,oBACE,SAAA,CACA,S3B2kIN,C2B1kII,2B1ByDF,eDohIF,C2BhlII,oBACE,SAAA,CACA,kB3BklIN,C2BjlII,2B1ByDF,wBD2hIF,C2BvlII,oBACE,SAAA,CACA,kB3BylIN,C2BxlII,2B1ByDF,wBDkiIF,C2B9lII,oBACE,SAAA,CACA,S3BgmIN,C2B/lII,2B1ByDF,eDyiIF,C2BrmII,oBACE,SAAA,CACA,kB3BumIN,C2BtmII,2B1ByDF,wBDgjIF,C2B5mII,oBACE,SAAA,CACA,kB3B8mIN,C2B7mII,2B1ByDF,wBDujIF,C2BnnII,oBACE,SAAA,CACA,S3BqnIN,C2BpnII,2B1ByDF,eD8jIF,C2B1nII,qBACE,SAAA,CACA,kB3B4nIN,C2B3nII,4B1ByDF,wBDqkIF,C2BjoII,qBACE,SAAA,CACA,kB3BmoIN,C2BloII,4B1ByDF,wBD4kIF,C2BxoII,qBACE,SAAA,CACA,U3B0oIN,C2BzoII,4B1ByDF,gBDmlIF,CACF,CC9pIE,0C0BoBE,2CAEE,SAAA,CACA,U3B4oIJ,C2B3oIE,uCAEE,SAAA,CACA,U3B4oIJ,C2B3oIE,2DAEE,SAAA,CACA,S3B4oIJ,C2B3oIE,mDAEE,SAAA,CACA,c3B4oIJ,C2B3oIE,uCAEE,SAAA,CACA,S3B4oIJ,C2B3oIE,iDAEE,SAAA,CACA,c3B4oIJ,C2B3oIE,qDAEE,SAAA,CACA,S3B4oIJ,C2B3oIE,iDAEE,SAAA,CACA,S3B4oIJ,C2B3oIE,mDAEE,SAAA,CACA,S3B4oIJ,C2B3oIE,uDAEE,SAAA,CACA,S3B4oIJ,C2B3oIE,qDAEE,SAAA,CACA,S3B4oIJ,C2B3oIE,yE1BUA,eDooIF,C2B3oIE,iE1BOA,oBDuoIF,C2B3oIE,qD1BIA,eD0oIF,C2B3oIE,+D1BCA,oBD6oIF,C2B3oIE,mE1BFA,eDgpIF,C2B3oIE,+D1BLA,eDmpIF,C2B3oIE,iE1BRA,eDspIF,C2B3oIE,qE1BXA,eDypIF,C2B3oIE,mE1BdA,eD4pIF,C2B1oII,iCAEE,SAAA,CACA,O3B2oIN,C2B1oII,+C1BtBF,aDmqIF,C2BjpII,iCAEE,SAAA,CACA,iB3BkpIN,C2BjpII,+C1BtBF,uBD0qIF,C2BxpII,iCAEE,SAAA,CACA,kB3BypIN,C2BxpII,+C1BtBF,wBDirIF,C2B/pII,iCAEE,SAAA,CACA,S3BgqIN,C2B/pII,+C1BtBF,eDwrIF,C2BtqII,iCAEE,SAAA,CACA,kB3BuqIN,C2BtqII,+C1BtBF,wBD+rIF,C2B7qII,iCAEE,SAAA,CACA,kB3B8qIN,C2B7qII,+C1BtBF,wBDssIF,C2BprII,iCAEE,SAAA,CACA,S3BqrIN,C2BprII,+C1BtBF,eD6sIF,C2B3rII,iCAEE,SAAA,CACA,kB3B4rIN,C2B3rII,+C1BtBF,wBDotIF,C2BlsII,iCAEE,SAAA,CACA,kB3BmsIN,C2BlsII,+C1BtBF,wBD2tIF,C2BzsII,iCAEE,SAAA,CACA,S3B0sIN,C2BzsII,+C1BtBF,eDkuIF,C2BhtII,mCAEE,SAAA,CACA,kB3BitIN,C2BhtII,iD1BtBF,wBDyuIF,C2BvtII,mCAEE,SAAA,CACA,kB3BwtIN,C2BvtII,iD1BtBF,wBDgvIF,C2B9tII,mCAEE,SAAA,CACA,U3B+tIN,C2B9tII,iD1BtBF,gBDuvIF,CACF,CC1zIE,qC0B4FE,wBACE,SAAA,CACA,U3BiuIJ,C2BhuIE,sBACE,SAAA,CACA,U3BkuIJ,C2BjuIE,gCACE,SAAA,CACA,S3BmuIJ,C2BluIE,4BACE,SAAA,CACA,c3BouIJ,C2BnuIE,sBACE,SAAA,CACA,S3BquIJ,C2BpuIE,2BACE,SAAA,CACA,c3BsuIJ,C2BruIE,6BACE,SAAA,CACA,S3BuuIJ,C2BtuIE,2BACE,SAAA,CACA,S3BwuIJ,C2BvuIE,4BACE,SAAA,CACA,S3ByuIJ,C2BxuIE,8BACE,SAAA,CACA,S3B0uIJ,C2BzuIE,6BACE,SAAA,CACA,S3B2uIJ,C2B1uIE,uC1B3DA,eDwyIF,C2B3uIE,mC1B7DA,oBD2yIF,C2B5uIE,6B1B/DA,eD8yIF,C2B7uIE,kC1BjEA,oBDizIF,C2B9uIE,oC1BnEA,eDozIF,C2B/uIE,kC1BrEA,eDuzIF,C2BhvIE,mC1BvEA,eD0zIF,C2BjvIE,qC1BzEA,eD6zIF,C2BlvIE,oC1B3EA,eDg0IF,C2BlvII,mBACE,SAAA,CACA,O3BovIN,C2BnvII,0B1BjFF,aDu0IF,C2BzvII,mBACE,SAAA,CACA,iB3B2vIN,C2B1vII,0B1BjFF,uBD80IF,C2BhwII,mBACE,SAAA,CACA,kB3BkwIN,C2BjwII,0B1BjFF,wBDq1IF,C2BvwII,mBACE,SAAA,CACA,S3BywIN,C2BxwII,0B1BjFF,eD41IF,C2B9wII,mBACE,SAAA,CACA,kB3BgxIN,C2B/wII,0B1BjFF,wBDm2IF,C2BrxII,mBACE,SAAA,CACA,kB3BuxIN,C2BtxII,0B1BjFF,wBD02IF,C2B5xII,mBACE,SAAA,CACA,S3B8xIN,C2B7xII,0B1BjFF,eDi3IF,C2BnyII,mBACE,SAAA,CACA,kB3BqyIN,C2BpyII,0B1BjFF,wBDw3IF,C2B1yII,mBACE,SAAA,CACA,kB3B4yIN,C2B3yII,0B1BjFF,wBD+3IF,C2BjzII,mBACE,SAAA,CACA,S3BmzIN,C2BlzII,0B1BjFF,eDs4IF,C2BxzII,oBACE,SAAA,CACA,kB3B0zIN,C2BzzII,2B1BjFF,wBD64IF,C2B/zII,oBACE,SAAA,CACA,kB3Bi0IN,C2Bh0II,2B1BjFF,wBDo5IF,C2Bt0II,oBACE,SAAA,CACA,U3Bw0IN,C2Bv0II,2B1BjFF,gBD25IF,CACF,CC19IE,qC0BkJE,0BACE,SAAA,CACA,U3B20IJ,C2B10IE,wBACE,SAAA,CACA,U3B40IJ,C2B30IE,kCACE,SAAA,CACA,S3B60IJ,C2B50IE,8BACE,SAAA,CACA,c3B80IJ,C2B70IE,wBACE,SAAA,CACA,S3B+0IJ,C2B90IE,6BACE,SAAA,CACA,c3Bg1IJ,C2B/0IE,+BACE,SAAA,CACA,S3Bi1IJ,C2Bh1IE,6BACE,SAAA,CACA,S3Bk1IJ,C2Bj1IE,8BACE,SAAA,CACA,S3Bm1IJ,C2Bl1IE,gCACE,SAAA,CACA,S3Bo1IJ,C2Bn1IE,+BACE,SAAA,CACA,S3Bq1IJ,C2Bp1IE,yC1BrHA,eD48IF,C2Br1IE,qC1BvHA,oBD+8IF,C2Bt1IE,+B1BzHA,eDk9IF,C2Bv1IE,oC1B3HA,oBDq9IF,C2Bx1IE,sC1B7HA,eDw9IF,C2Bz1IE,oC1B/HA,eD29IF,C2B11IE,qC1BjIA,eD89IF,C2B31IE,uC1BnIA,eDi+IF,C2B51IE,sC1BrIA,eDo+IF,C2B51II,qBACE,SAAA,CACA,O3B81IN,C2B71II,4B1B3IF,aD2+IF,C2Bn2II,qBACE,SAAA,CACA,iB3Bq2IN,C2Bp2II,4B1B3IF,uBDk/IF,C2B12II,qBACE,SAAA,CACA,kB3B42IN,C2B32II,4B1B3IF,wBDy/IF,C2Bj3II,qBACE,SAAA,CACA,S3Bm3IN,C2Bl3II,4B1B3IF,eDggJF,C2Bx3II,qBACE,SAAA,CACA,kB3B03IN,C2Bz3II,4B1B3IF,wBDugJF,C2B/3II,qBACE,SAAA,CACA,kB3Bi4IN,C2Bh4II,4B1B3IF,wBD8gJF,C2Bt4II,qBACE,SAAA,CACA,S3Bw4IN,C2Bv4II,4B1B3IF,eDqhJF,C2B74II,qBACE,SAAA,CACA,kB3B+4IN,C2B94II,4B1B3IF,wBD4hJF,C2Bp5II,qBACE,SAAA,CACA,kB3Bs5IN,C2Br5II,4B1B3IF,wBDmiJF,C2B35II,qBACE,SAAA,CACA,S3B65IN,C2B55II,4B1B3IF,eD0iJF,C2Bl6II,sBACE,SAAA,CACA,kB3Bo6IN,C2Bn6II,6B1B3IF,wBDijJF,C2Bz6II,sBACE,SAAA,CACA,kB3B26IN,C2B16II,6B1B3IF,wBDwjJF,C2Bh7II,sBACE,SAAA,CACA,U3Bk7IN,C2Bj7II,6B1B3IF,gBD+jJF,CACF,CC/mJI,qC0B6LA,6BACE,SAAA,CACA,U3Bq7IJ,C2Bp7IE,2BACE,SAAA,CACA,U3Bs7IJ,C2Br7IE,qCACE,SAAA,CACA,S3Bu7IJ,C2Bt7IE,iCACE,SAAA,CACA,c3Bw7IJ,C2Bv7IE,2BACE,SAAA,CACA,S3By7IJ,C2Bx7IE,gCACE,SAAA,CACA,c3B07IJ,C2Bz7IE,kCACE,SAAA,CACA,S3B27IJ,C2B17IE,gCACE,SAAA,CACA,S3B47IJ,C2B37IE,iCACE,SAAA,CACA,S3B67IJ,C2B57IE,mCACE,SAAA,CACA,S3B87IJ,C2B77IE,kCACE,SAAA,CACA,S3B+7IJ,C2B97IE,4C1B/KA,eDgnJF,C2B/7IE,wC1BjLA,oBDmnJF,C2Bh8IE,kC1BnLA,eDsnJF,C2Bj8IE,uC1BrLA,oBDynJF,C2Bl8IE,yC1BvLA,eD4nJF,C2Bn8IE,uC1BzLA,eD+nJF,C2Bp8IE,wC1B3LA,eDkoJF,C2Br8IE,0C1B7LA,eDqoJF,C2Bt8IE,yC1B/LA,eDwoJF,C2Bt8II,wBACE,SAAA,CACA,O3Bw8IN,C2Bv8II,+B1BrMF,aD+oJF,C2B78II,wBACE,SAAA,CACA,iB3B+8IN,C2B98II,+B1BrMF,uBDspJF,C2Bp9II,wBACE,SAAA,CACA,kB3Bs9IN,C2Br9II,+B1BrMF,wBD6pJF,C2B39II,wBACE,SAAA,CACA,S3B69IN,C2B59II,+B1BrMF,eDoqJF,C2Bl+II,wBACE,SAAA,CACA,kB3Bo+IN,C2Bn+II,+B1BrMF,wBD2qJF,C2Bz+II,wBACE,SAAA,CACA,kB3B2+IN,C2B1+II,+B1BrMF,wBDkrJF,C2Bh/II,wBACE,SAAA,CACA,S3Bk/IN,C2Bj/II,+B1BrMF,eDyrJF,C2Bv/II,wBACE,SAAA,CACA,kB3By/IN,C2Bx/II,+B1BrMF,wBDgsJF,C2B9/II,wBACE,SAAA,CACA,kB3BggJN,C2B//II,+B1BrMF,wBDusJF,C2BrgJI,wBACE,SAAA,CACA,S3BugJN,C2BtgJI,+B1BrMF,eD8sJF,C2B5gJI,yBACE,SAAA,CACA,kB3B8gJN,C2B7gJI,gC1BrMF,wBDqtJF,C2BnhJI,yBACE,SAAA,CACA,kB3BqhJN,C2BphJI,gC1BrMF,wBD4tJF,C2B1hJI,yBACE,SAAA,CACA,U3B4hJN,C2B3hJI,gC1BrMF,gBDmuJF,CACF,CCpwJI,qC0BwOA,yBACE,SAAA,CACA,U3B+hJJ,C2B9hJE,uBACE,SAAA,CACA,U3BgiJJ,C2B/hJE,iCACE,SAAA,CACA,S3BiiJJ,C2BhiJE,6BACE,SAAA,CACA,c3BkiJJ,C2BjiJE,uBACE,SAAA,CACA,S3BmiJJ,C2BliJE,4BACE,SAAA,CACA,c3BoiJJ,C2BniJE,8BACE,SAAA,CACA,S3BqiJJ,C2BpiJE,4BACE,SAAA,CACA,S3BsiJJ,C2BriJE,6BACE,SAAA,CACA,S3BuiJJ,C2BtiJE,+BACE,SAAA,CACA,S3BwiJJ,C2BviJE,8BACE,SAAA,CACA,S3ByiJJ,C2BxiJE,wC1BzOA,eDoxJF,C2BziJE,oC1B3OA,oBDuxJF,C2B1iJE,8B1B7OA,eD0xJF,C2B3iJE,mC1B/OA,oBD6xJF,C2B5iJE,qC1BjPA,eDgyJF,C2B7iJE,mC1BnPA,eDmyJF,C2B9iJE,oC1BrPA,eDsyJF,C2B/iJE,sC1BvPA,eDyyJF,C2BhjJE,qC1BzPA,eD4yJF,C2BhjJI,oBACE,SAAA,CACA,O3BkjJN,C2BjjJI,2B1B/PF,aDmzJF,C2BvjJI,oBACE,SAAA,CACA,iB3ByjJN,C2BxjJI,2B1B/PF,uBD0zJF,C2B9jJI,oBACE,SAAA,CACA,kB3BgkJN,C2B/jJI,2B1B/PF,wBDi0JF,C2BrkJI,oBACE,SAAA,CACA,S3BukJN,C2BtkJI,2B1B/PF,eDw0JF,C2B5kJI,oBACE,SAAA,CACA,kB3B8kJN,C2B7kJI,2B1B/PF,wBD+0JF,C2BnlJI,oBACE,SAAA,CACA,kB3BqlJN,C2BplJI,2B1B/PF,wBDs1JF,C2B1lJI,oBACE,SAAA,CACA,S3B4lJN,C2B3lJI,2B1B/PF,eD61JF,C2BjmJI,oBACE,SAAA,CACA,kB3BmmJN,C2BlmJI,2B1B/PF,wBDo2JF,C2BxmJI,oBACE,SAAA,CACA,kB3B0mJN,C2BzmJI,2B1B/PF,wBD22JF,C2B/mJI,oBACE,SAAA,CACA,S3BinJN,C2BhnJI,2B1B/PF,eDk3JF,C2BtnJI,qBACE,SAAA,CACA,kB3BwnJN,C2BvnJI,4B1B/PF,wBDy3JF,C2B7nJI,qBACE,SAAA,CACA,kB3B+nJN,C2B9nJI,4B1B/PF,wBDg4JF,C2BpoJI,qBACE,SAAA,CACA,U3BsoJN,C2BroJI,4B1B/PF,gBDu4JF,CACF,C2BtoJA,S1BlQI,mB0BmQsB,C1BnQtB,oB0BoQsB,CACxB,kB3ByoJF,C2BxoJE,oBACE,qB3B0oJJ,C2BzoJE,0BACE,oB3B2oJJ,C2BzoJE,qBACE,sB3B2oJJ,C2B1oJE,oB1B7QE,a0B8QwB,C1B9QxB,c0B+QwB,CACxB,Y3B4oJJ,C2B3oJI,4BACE,QAAA,CACA,mB3B6oJN,C2B5oJI,qCACE,oB3B8oJN,C2B7oJI,+BACE,e3B+oJN,C2B9oJE,mBACE,Y3BgpJJ,C2B/oJE,sBACE,c3BipJJ,C2BhpJE,sBACE,kB3BkpJJ,CCz/JE,0C0B0WE,0BACE,Y3BkpJJ,CACF,CCl/JE,qC0BkWE,oBACE,Y3BmpJJ,CACF,C2BjpJE,qBACE,mBAAA,C1BzSA,qC0B0SwB,C1B1SxB,sCD+7JJ,C2BnpJI,6BACE,6BAAA,CACA,8B3BqpJN,C2BnpJM,0BACE,gB3BqpJR,CCphKE,oC0BiYM,iCACE,gB3BspJR,CACF,CCrhKE,0C0BgYM,iCACE,gB3BwpJR,CACF,CCthKE,2D0B+XM,sCACE,gB3B0pJR,CACF,CCvhKE,qC0B8XM,gCACE,gB3B4pJR,CACF,CCxhKE,qC0B6XM,kCACE,gB3B8pJR,CACF,CCxhKI,4D0B2XI,uCACE,gB3BgqJR,CACF,CCnhKI,qC0BoXI,qCACE,gB3BkqJR,CACF,CCnhKI,4D0BkXI,0CACE,gB3BoqJR,CACF,CC9gKI,qC0B2WI,iCACE,gB3BsqJR,CACF,C2BnsJM,0BACE,mB3BqsJR,CCpkKE,oC0BiYM,iCACE,mB3BssJR,CACF,CCrkKE,0C0BgYM,iCACE,mB3BwsJR,CACF,CCtkKE,2D0B+XM,sCACE,mB3B0sJR,CACF,CCvkKE,qC0B8XM,gCACE,mB3B4sJR,CACF,CCxkKE,qC0B6XM,kCACE,mB3B8sJR,CACF,CCxkKI,4D0B2XI,uCACE,mB3BgtJR,CACF,CCnkKI,qC0BoXI,qCACE,mB3BktJR,CACF,CCnkKI,4D0BkXI,0CACE,mB3BotJR,CACF,CC9jKI,qC0B2WI,iCACE,mB3BstJR,CACF,C2BnvJM,0BACE,kB3BqvJR,CCpnKE,oC0BiYM,iCACE,kB3BsvJR,CACF,CCrnKE,0C0BgYM,iCACE,kB3BwvJR,CACF,CCtnKE,2D0B+XM,sCACE,kB3B0vJR,CACF,CCvnKE,qC0B8XM,gCACE,kB3B4vJR,CACF,CCxnKE,qC0B6XM,kCACE,kB3B8vJR,CACF,CCxnKI,4D0B2XI,uCACE,kB3BgwJR,CACF,CCnnKI,qC0BoXI,qCACE,kB3BkwJR,CACF,CCnnKI,4D0BkXI,0CACE,kB3BowJR,CACF,CC9mKI,qC0B2WI,iCACE,kB3BswJR,CACF,C2BnyJM,0BACE,mB3BqyJR,CCpqKE,oC0BiYM,iCACE,mB3BsyJR,CACF,CCrqKE,0C0BgYM,iCACE,mB3BwyJR,CACF,CCtqKE,2D0B+XM,sCACE,mB3B0yJR,CACF,CCvqKE,qC0B8XM,gCACE,mB3B4yJR,CACF,CCxqKE,qC0B6XM,kCACE,mB3B8yJR,CACF,CCxqKI,4D0B2XI,uCACE,mB3BgzJR,CACF,CCnqKI,qC0BoXI,qCACE,mB3BkzJR,CACF,CCnqKI,4D0BkXI,0CACE,mB3BozJR,CACF,CC9pKI,qC0B2WI,iCACE,mB3BszJR,CACF,C2Bn1JM,0BACE,gB3Bq1JR,CCptKE,oC0BiYM,iCACE,gB3Bs1JR,CACF,CCrtKE,0C0BgYM,iCACE,gB3Bw1JR,CACF,CCttKE,2D0B+XM,sCACE,gB3B01JR,CACF,CCvtKE,qC0B8XM,gCACE,gB3B41JR,CACF,CCxtKE,qC0B6XM,kCACE,gB3B81JR,CACF,CCxtKI,4D0B2XI,uCACE,gB3Bg2JR,CACF,CCntKI,qC0BoXI,qCACE,gB3Bk2JR,CACF,CCntKI,4D0BkXI,0CACE,gB3Bo2JR,CACF,CC9sKI,qC0B2WI,iCACE,gB3Bs2JR,CACF,C2Bn4JM,0BACE,mB3Bq4JR,CCpwKE,oC0BiYM,iCACE,mB3Bs4JR,CACF,CCrwKE,0C0BgYM,iCACE,mB3Bw4JR,CACF,CCtwKE,2D0B+XM,sCACE,mB3B04JR,CACF,CCvwKE,qC0B8XM,gCACE,mB3B44JR,CACF,CCxwKE,qC0B6XM,kCACE,mB3B84JR,CACF,CCxwKI,4D0B2XI,uCACE,mB3Bg5JR,CACF,CCnwKI,qC0BoXI,qCACE,mB3Bk5JR,CACF,CCnwKI,4D0BkXI,0CACE,mB3Bo5JR,CACF,CC9vKI,qC0B2WI,iCACE,mB3Bs5JR,CACF,C2Bn7JM,0BACE,kB3Bq7JR,CCpzKE,oC0BiYM,iCACE,kB3Bs7JR,CACF,CCrzKE,0C0BgYM,iCACE,kB3Bw7JR,CACF,CCtzKE,2D0B+XM,sCACE,kB3B07JR,CACF,CCvzKE,qC0B8XM,gCACE,kB3B47JR,CACF,CCxzKE,qC0B6XM,kCACE,kB3B87JR,CACF,CCxzKI,4D0B2XI,uCACE,kB3Bg8JR,CACF,CCnzKI,qC0BoXI,qCACE,kB3Bk8JR,CACF,CCnzKI,4D0BkXI,0CACE,kB3Bo8JR,CACF,CC9yKI,qC0B2WI,iCACE,kB3Bs8JR,CACF,C2Bn+JM,0BACE,mB3Bq+JR,CCp2KE,oC0BiYM,iCACE,mB3Bs+JR,CACF,CCr2KE,0C0BgYM,iCACE,mB3Bw+JR,CACF,CCt2KE,2D0B+XM,sCACE,mB3B0+JR,CACF,CCv2KE,qC0B8XM,gCACE,mB3B4+JR,CACF,CCx2KE,qC0B6XM,kCACE,mB3B8+JR,CACF,CCx2KI,4D0B2XI,uCACE,mB3Bg/JR,CACF,CCn2KI,qC0BoXI,qCACE,mB3Bk/JR,CACF,CCn2KI,4D0BkXI,0CACE,mB3Bo/JR,CACF,CC91KI,qC0B2WI,iCACE,mB3Bs/JR,CACF,C2BnhKM,0BACE,gB3BqhKR,CCp5KE,oC0BiYM,iCACE,gB3BshKR,CACF,CCr5KE,0C0BgYM,iCACE,gB3BwhKR,CACF,CCt5KE,2D0B+XM,sCACE,gB3B0hKR,CACF,CCv5KE,qC0B8XM,gCACE,gB3B4hKR,CACF,CCx5KE,qC0B6XM,kCACE,gB3B8hKR,CACF,CCx5KI,4D0B2XI,uCACE,gB3BgiKR,CACF,CCn5KI,qC0BoXI,qCACE,gB3BkiKR,CACF,CCn5KI,4D0BkXI,0CACE,gB3BoiKR,CACF,CC94KI,qC0B2WI,iCACE,gB3BsiKR,CACF,C4BniLA,MACE,mBAAA,CACA,aAAA,CACA,YAAA,CACA,WAAA,CACA,aAAA,CACA,8BAAA,CAAA,2BAAA,CAAA,sB5BsiLF,C4BpiLE,kBACE,mBAAA,CACA,oBAAA,CACA,kB5BsiLJ,C4BriLI,6BACE,qB5BuiLN,C4BtiLI,mCACE,oB5BwiLN,C4BviLE,eACE,kB5ByiLJ,C4BxiLE,gBACE,c5B0iLJ,C4BziLE,kBACE,qB5B2iLJ,C4B1iLI,kDACE,8B5B4iLN,CC79KE,0C2B5EE,qBACE,Y5B4iLJ,C4B1iLI,WACE,SAAA,CACA,iB5B4iLN,C4B9iLI,WACE,SAAA,CACA,kB5BgjLN,C4BljLI,WACE,SAAA,CACA,S5BojLN,C4BtjLI,WACE,SAAA,CACA,kB5BwjLN,C4B1jLI,WACE,SAAA,CACA,kB5B4jLN,C4B9jLI,WACE,SAAA,CACA,S5BgkLN,C4BlkLI,WACE,SAAA,CACA,kB5BokLN,C4BtkLI,WACE,SAAA,CACA,kB5BwkLN,C4B1kLI,WACE,SAAA,CACA,S5B4kLN,C4B9kLI,YACE,SAAA,CACA,kB5BglLN,C4BllLI,YACE,SAAA,CACA,kB5BolLN,C4BtlLI,YACE,SAAA,CACA,U5BwlLN,CACF,C6BxnLE,gBACE,oB7B6nLJ,C6B3nLI,8CAEE,uB7B6nLN,C6B5nLE,sBACE,+B7B+nLJ,C6BnoLI,8DAEE,oB7ByoLN,C6BxoLE,sBACE,+B7B2oLJ,C6BlpLE,gBACE,uB7BqpLJ,C6BnpLI,8CAEE,uB7BqpLN,C6BppLE,sBACE,kC7BupLJ,C6B9pLE,eACE,uB7BiqLJ,C6B/pLI,4CAEE,uB7BiqLN,C6BhqLE,qBACE,kC7BmqLJ,C6B1qLE,kBACE,uB7B6qLJ,C6B3qLI,kDAEE,uB7B6qLN,C6B5qLE,wBACE,kC7B+qLJ,C6B1qLI,wBACE,uB7B6qLN,C6B3qLM,8DAEE,uB7B6qLR,C6B5qLI,8BACE,kC7B+qLN,C6B7qLI,uBACE,uB7BgrLN,C6B9qLM,4DAEE,uB7BgrLR,C6B/qLI,6BACE,kC7BkrLN,C6B9sLE,eACE,uB7BitLJ,C6B/sLI,4CAEE,uB7BitLN,C6BhtLE,qBACE,kC7BmtLJ,C6B9sLI,qBACE,uB7BitLN,C6B/sLM,wDAEE,uB7BitLR,C6BhtLI,2BACE,kC7BmtLN,C6BjtLI,oBACE,uB7BotLN,C6BltLM,sDAEE,uB7BotLR,C6BntLI,0BACE,kC7BstLN,C6BlvLE,eACE,uB7BqvLJ,C6BnvLI,4CAEE,uB7BqvLN,C6BpvLE,qBACE,kC7BuvLJ,C6BlvLI,qBACE,uB7BqvLN,C6BnvLM,wDAEE,uB7BqvLR,C6BpvLI,2BACE,kC7BuvLN,C6BrvLI,oBACE,uB7BwvLN,C6BtvLM,sDAEE,uB7BwvLR,C6BvvLI,0BACE,kC7B0vLN,C6BtxLE,kBACE,uB7ByxLJ,C6BvxLI,kDAEE,uB7ByxLN,C6BxxLE,wBACE,kC7B2xLJ,C6BtxLI,wBACE,uB7ByxLN,C6BvxLM,8DAEE,uB7ByxLR,C6BxxLI,8BACE,kC7B2xLN,C6BzxLI,uBACE,uB7B4xLN,C6B1xLM,4DAEE,uB7B4xLR,C6B3xLI,6BACE,kC7B8xLN,C6B1zLE,kBACE,uB7B6zLJ,C6B3zLI,kDAEE,uB7B6zLN,C6B5zLE,wBACE,kC7B+zLJ,C6B1zLI,wBACE,uB7B6zLN,C6B3zLM,8DAEE,uB7B6zLR,C6B5zLI,8BACE,kC7B+zLN,C6B7zLI,uBACE,uB7Bg0LN,C6B9zLM,4DAEE,uB7Bg0LR,C6B/zLI,6BACE,kC7Bk0LN,C6B91LE,iBACE,uB7Bi2LJ,C6B/1LI,gDAEE,uB7Bi2LN,C6Bh2LE,uBACE,kC7Bm2LJ,C6B91LI,uBACE,uB7Bi2LN,C6B/1LM,4DAEE,uB7Bi2LR,C6Bh2LI,6BACE,kC7Bm2LN,C6Bj2LI,sBACE,uB7Bo2LN,C6Bl2LM,0DAEE,uB7Bo2LR,C6Bn2LI,4BACE,kC7Bs2LN,C6Bn2LE,oBACE,uB7Bs2LJ,C6Br2LE,0BACE,kC7Bw2LJ,C6B32LE,oBACE,uB7B82LJ,C6B72LE,0BACE,kC7Bg3LJ,C6Bn3LE,sBACE,uB7Bs3LJ,C6Br3LE,4BACE,kC7Bw3LJ,C6B33LE,oBACE,uB7B83LJ,C6B73LE,0BACE,kC7Bg4LJ,C6Bn4LE,eACE,uB7Bs4LJ,C6Br4LE,qBACE,kC7Bw4LJ,C6B34LE,qBACE,uB7B84LJ,C6B74LE,2BACE,kC7Bg5LJ,C6Bn5LE,uBACE,uB7Bs5LJ,C6Br5LE,6BACE,kC7Bw5LJ,C6B35LE,oBACE,uB7B85LJ,C6B75LE,0BACE,kC7Bg6LJ,C6Bn6LE,oBACE,uB7Bs6LJ,C6Br6LE,0BACE,kC7Bw6LJ,C8B58LE,uBACE,4B9B+8LJ,C8Bh9LE,+BACE,oC9Bm9LJ,C8Bp9LE,0BACE,+B9Bu9LJ,C8Bx9LE,kCACE,uC9B29LJ,C8Bv9LE,qBACE,0B9B09LJ,C8B39LE,mBACE,wB9B89LJ,C8B/9LE,2BACE,gC9Bk+LJ,C8B99LE,+BACE,oC9Bi+LJ,C8Bl+LE,6BACE,kC9Bq+LJ,C8Bt+LE,2BACE,gC9By+LJ,C8B1+LE,kCACE,uC9B6+LJ,C8B9+LE,iCACE,sC9Bi/LJ,C8Bl/LE,iCACE,sC9Bq/LJ,C8Bt/LE,0BACE,+B9By/LJ,C8B1/LE,wBACE,6B9B6/LJ,C8B9/LE,yBACE,8B9BigMJ,C8BlgME,0BACE,+B9BqgMJ,C8BjgME,6BACE,kC9BogMJ,C8BrgME,2BACE,gC9BwgMJ,C8BzgME,yBACE,8B9B4gMJ,C8B7gME,gCACE,qC9BghMJ,C8BjhME,+BACE,oC9BohMJ,C8BrhME,+BACE,oC9BwhMJ,C8BzhME,0BACE,+B9B4hMJ,C8B7hME,wBACE,6B9BgiMJ,C8BjiME,sBACE,2B9BoiMJ,C8BriME,2BACE,gC9BwiMJ,C8BpiME,wBACE,6B9BuiMJ,C8BxiME,2BACE,gC9B2iMJ,C8B5iME,yBACE,8B9B+iMJ,C8BhjME,uBACE,4B9BmjMJ,C8BpjME,yBACE,8B9BujMJ,C8BxjME,sBACE,2B9B2jMJ,C8B5jME,oBACE,yB9B+jMJ,C8BhkME,2BACE,gC9BmkMJ,C8BpkME,yBACE,8B9BukMJ,C8BnkME,oBACE,yB9BskMJ,C8BvkME,0BACE,+B9B0kMJ,C8B3kME,wBACE,6B9B8kMJ,C8B/kME,sBACE,2B9BklMJ,C8BnlME,wBACE,6B9BslMJ,C8BvlME,uBACE,4B9B0lMJ,C8BrlMI,gBACE,qB9BwlMN,C8BzlMI,gBACE,qB9B4lMN,C8B7lMI,gBACE,qB9BgmMN,C8BjmMI,gBACE,qB9BomMN,C8BrmMI,gBACE,qB9BwmMN,C8BzmMI,gBACE,qB9B4mMN,C8B7mMI,kBACE,uB9BgnMN,C8BjnMI,kBACE,uB9BonMN,C8BrnMI,kBACE,uB9BwnMN,C8BznMI,kBACE,uB9B4nMN,C8B7nMI,kBACE,uB9BgoMN,C8BjoMI,kBACE,uB9BooMN,CCnqME,mBACE,UAAA,CACA,WAAA,CACA,aDsqMJ,C+BvqMA,gBACE,oB/B0qMF,C+BxqMA,iBACE,qB/B2qMF,CgClrMA,eACE,yBhCqrMF,CgCnrMA,eACE,yBhCsrMF,CgCprMA,cACE,wBAAA,CACA,4BhCurMF,CiCjsMA,YACE,yBjCosMF,CkChsMA,aACE,2BlCmsMF,CmCzsMA,eACE,kBnC4sMF,CmC1sMA,gBACE,mBnC6sMF,CmClsMI,KACE,kBnCqsMN,CmClsMM,MACE,sBnCqsMR,CmCtsMM,MACE,wBnCysMR,CmC1sMM,MACE,yBnC6sMR,CmC1sMM,YAHE,uBnCstMR,CmCntMM,MAEE,wBnCitMR,CmC9sMM,MAEE,yBAAA,CADA,sBnCktMR,CmChuMI,KACE,uBnCmuMN,CmChuMM,MACE,2BnCmuMR,CmCpuMM,MACE,6BnCuuMR,CmCxuMM,MACE,8BnC2uMR,CmCxuMM,YAHE,4BnCovMR,CmCjvMM,MAEE,6BnC+uMR,CmC5uMM,MAEE,8BAAA,CADA,2BnCgvMR,CmC9vMI,KACE,sBnCiwMN,CmC9vMM,MACE,0BnCiwMR,CmClwMM,MACE,4BnCqwMR,CmCtwMM,MACE,6BnCywMR,CmCtwMM,YAHE,2BnCkxMR,CmC/wMM,MAEE,4BnC6wMR,CmC1wMM,MAEE,6BAAA,CADA,0BnC8wMR,CmC5xMI,KACE,uBnC+xMN,CmC5xMM,MACE,2BnC+xMR,CmChyMM,MACE,6BnCmyMR,CmCpyMM,MACE,8BnCuyMR,CmCpyMM,YAHE,4BnCgzMR,CmC7yMM,MAEE,6BnC2yMR,CmCxyMM,MAEE,8BAAA,CADA,2BnC4yMR,CmC1zMI,KACE,qBnC6zMN,CmC1zMM,MACE,yBnC6zMR,CmC9zMM,MACE,2BnCi0MR,CmCl0MM,MACE,4BnCq0MR,CmCl0MM,YAHE,0BnC80MR,CmC30MM,MAEE,2BnCy0MR,CmCt0MM,MAEE,4BAAA,CADA,yBnC00MR,CmCx1MI,KACE,uBnC21MN,CmCx1MM,MACE,2BnC21MR,CmC51MM,MACE,6BnC+1MR,CmCh2MM,MACE,8BnCm2MR,CmCh2MM,YAHE,4BnC42MR,CmCz2MM,MAEE,6BnCu2MR,CmCp2MM,MAEE,8BAAA,CADA,2BnCw2MR,CmCt3MI,KACE,qBnCy3MN,CmCt3MM,MACE,yBnCy3MR,CmC13MM,MACE,2BnC63MR,CmC93MM,MACE,4BnCi4MR,CmC93MM,YAHE,0BnC04MR,CmCv4MM,MAEE,2BnCq4MR,CmCl4MM,MAEE,4BAAA,CADA,yBnCs4MR,CmCp5MI,QACE,qBnCu5MN,CmCp5MM,SACE,yBnCu5MR,CmCx5MM,SACE,2BnC25MR,CmC55MM,SACE,4BnC+5MR,CmC55MM,kBAHE,0BnCw6MR,CmCr6MM,SAEE,2BnCm6MR,CmCh6MM,SAEE,4BAAA,CADA,yBnCo6MR,CmCl7MI,KACE,mBnCq7MN,CmCl7MM,MACE,uBnCq7MR,CmCt7MM,MACE,yBnCy7MR,CmC17MM,MACE,0BnC67MR,CmC17MM,YAHE,wBnCs8MR,CmCn8MM,MAEE,yBnCi8MR,CmC97MM,MAEE,0BAAA,CADA,uBnCk8MR,CmCh9MI,KACE,wBnCm9MN,CmCh9MM,MACE,4BnCm9MR,CmCp9MM,MACE,8BnCu9MR,CmCx9MM,MACE,+BnC29MR,CmCx9MM,YAHE,6BnCo+MR,CmCj+MM,MAEE,8BnC+9MR,CmC59MM,MAEE,+BAAA,CADA,4BnCg+MR,CmC9+MI,KACE,uBnCi/MN,CmC9+MM,MACE,2BnCi/MR,CmCl/MM,MACE,6BnCq/MR,CmCt/MM,MACE,8BnCy/MR,CmCt/MM,YAHE,4BnCkgNR,CmC//MM,MAEE,6BnC6/MR,CmC1/MM,MAEE,8BAAA,CADA,2BnC8/MR,CmC5gNI,KACE,wBnC+gNN,CmC5gNM,MACE,4BnC+gNR,CmChhNM,MACE,8BnCmhNR,CmCphNM,MACE,+BnCuhNR,CmCphNM,YAHE,6BnCgiNR,CmC7hNM,MAEE,8BnC2hNR,CmCxhNM,MAEE,+BAAA,CADA,4BnC4hNR,CmC1iNI,KACE,sBnC6iNN,CmC1iNM,MACE,0BnC6iNR,CmC9iNM,MACE,4BnCijNR,CmCljNM,MACE,6BnCqjNR,CmCljNM,YAHE,2BnC8jNR,CmC3jNM,MAEE,4BnCyjNR,CmCtjNM,MAEE,6BAAA,CADA,0BnC0jNR,CmCxkNI,KACE,wBnC2kNN,CmCxkNM,MACE,4BnC2kNR,CmC5kNM,MACE,8BnC+kNR,CmChlNM,MACE,+BnCmlNR,CmChlNM,YAHE,6BnC4lNR,CmCzlNM,MAEE,8BnCulNR,CmCplNM,MAEE,+BAAA,CADA,4BnCwlNR,CmCtmNI,KACE,sBnCymNN,CmCtmNM,MACE,0BnCymNR,CmC1mNM,MACE,4BnC6mNR,CmC9mNM,MACE,6BnCinNR,CmC9mNM,YAHE,2BnC0nNR,CmCvnNM,MAEE,4BnCqnNR,CmClnNM,MAEE,6BAAA,CADA,0BnCsnNR,CmCpoNI,QACE,sBnCuoNN,CmCpoNM,SACE,0BnCuoNR,CmCxoNM,SACE,4BnC2oNR,CmC5oNM,SACE,6BnC+oNR,CmC5oNM,kBAHE,2BnCwpNR,CmCrpNM,SAEE,4BnCmpNR,CmChpNM,SAEE,6BAAA,CADA,0BnCopNR,CoC5qNI,WACE,wBpC+qNN,CoChrNI,WACE,0BpCmrNN,CoCprNI,WACE,wBpCurNN,CoCxrNI,WACE,0BpC2rNN,CoC5rNI,WACE,2BpC+rNN,CoChsNI,WACE,wBpCmsNN,CoCpsNI,WACE,0BpCusNN,CCvmNE,oCmCjGE,kBACE,wBpC4sNJ,CoC7sNE,kBACE,0BpCgtNJ,CoCjtNE,kBACE,wBpCotNJ,CoCrtNE,kBACE,0BpCwtNJ,CoCztNE,kBACE,2BpC4tNJ,CoC7tNE,kBACE,wBpCguNJ,CoCjuNE,kBACE,0BpCouNJ,CACF,CCjoNE,0CmCrGE,kBACE,wBpCyuNJ,CoC1uNE,kBACE,0BpC6uNJ,CoC9uNE,kBACE,wBpCivNJ,CoClvNE,kBACE,0BpCqvNJ,CoCtvNE,kBACE,2BpCyvNJ,CoC1vNE,kBACE,wBpC6vNJ,CoC9vNE,kBACE,0BpCiwNJ,CACF,CCtpNE,qCmC7GE,iBACE,wBpCswNJ,CoCvwNE,iBACE,0BpC0wNJ,CoC3wNE,iBACE,wBpC8wNJ,CoC/wNE,iBACE,0BpCkxNJ,CoCnxNE,iBACE,2BpCsxNJ,CoCvxNE,iBACE,wBpC0xNJ,CoC3xNE,iBACE,0BpC8xNJ,CACF,CC/qNE,qCmCjHE,mBACE,wBpCmyNJ,CoCpyNE,mBACE,0BpCuyNJ,CoCxyNE,mBACE,wBpC2yNJ,CoC5yNE,mBACE,0BpC+yNJ,CoChzNE,mBACE,2BpCmzNJ,CoCpzNE,mBACE,wBpCuzNJ,CoCxzNE,mBACE,0BpC2zNJ,CACF,CC7rNI,qCmChIA,sBACE,wBpCg0NJ,CoCj0NE,sBACE,0BpCo0NJ,CoCr0NE,sBACE,wBpCw0NJ,CoCz0NE,sBACE,0BpC40NJ,CoC70NE,sBACE,2BpCg1NJ,CoCj1NE,sBACE,wBpCo1NJ,CoCr1NE,sBACE,0BpCw1NJ,CACF,CC3sNI,qCmC/IA,kBACE,wBpC61NJ,CoC91NE,kBACE,0BpCi2NJ,CoCl2NE,kBACE,wBpCq2NJ,CoCt2NE,kBACE,0BpCy2NJ,CoC12NE,kBACE,2BpC62NJ,CoC92NE,kBACE,wBpCi3NJ,CoCl3NE,kBACE,0BpCq3NJ,CACF,CoC71NE,mBACE,2BpC+1NJ,CoCh2NE,oBACE,4BpCm2NJ,CoCp2NE,eACE,yBpCu2NJ,CoCx2NE,gBACE,0BpC22NJ,CCryNE,oCmClEE,0BACE,2BpC22NJ,CACF,CCvyNE,0CmCnEE,0BACE,2BpC62NJ,CACF,CCxyNE,2DmCpEE,+BACE,2BpC+2NJ,CACF,CCzyNE,qCmCrEE,yBACE,2BpCi3NJ,CACF,CC1yNE,qCmCtEE,2BACE,2BpCm3NJ,CACF,CC1yNI,4DmCxEA,gCACE,2BpCq3NJ,CACF,CCryNI,qCmC/EA,8BACE,2BpCu3NJ,CACF,CCryNI,4DmCjFA,mCACE,2BpCy3NJ,CACF,CChyNI,qCmCxFA,0BACE,2BpC23NJ,CACF,CCn1NE,oCmClEE,2BACE,4BpCw5NJ,CACF,CCp1NE,0CmCnEE,2BACE,4BpC05NJ,CACF,CCr1NE,2DmCpEE,gCACE,4BpC45NJ,CACF,CCt1NE,qCmCrEE,0BACE,4BpC85NJ,CACF,CCv1NE,qCmCtEE,4BACE,4BpCg6NJ,CACF,CCv1NI,4DmCxEA,iCACE,4BpCk6NJ,CACF,CCl1NI,qCmC/EA,+BACE,4BpCo6NJ,CACF,CCl1NI,4DmCjFA,oCACE,4BpCs6NJ,CACF,CC70NI,qCmCxFA,2BACE,4BpCw6NJ,CACF,CCh4NE,oCmClEE,sBACE,yBpCq8NJ,CACF,CCj4NE,0CmCnEE,sBACE,yBpCu8NJ,CACF,CCl4NE,2DmCpEE,2BACE,yBpCy8NJ,CACF,CCn4NE,qCmCrEE,qBACE,yBpC28NJ,CACF,CCp4NE,qCmCtEE,uBACE,yBpC68NJ,CACF,CCp4NI,4DmCxEA,4BACE,yBpC+8NJ,CACF,CC/3NI,qCmC/EA,0BACE,yBpCi9NJ,CACF,CC/3NI,4DmCjFA,+BACE,yBpCm9NJ,CACF,CC13NI,qCmCxFA,sBACE,yBpCq9NJ,CACF,CC76NE,oCmClEE,uBACE,0BpCk/NJ,CACF,CC96NE,0CmCnEE,uBACE,0BpCo/NJ,CACF,CC/6NE,2DmCpEE,4BACE,0BpCs/NJ,CACF,CCh7NE,qCmCrEE,sBACE,0BpCw/NJ,CACF,CCj7NE,qCmCtEE,wBACE,0BpC0/NJ,CACF,CCj7NI,4DmCxEA,6BACE,0BpC4/NJ,CACF,CC56NI,qCmC/EA,2BACE,0BpC8/NJ,CACF,CC56NI,4DmCjFA,gCACE,0BpCggOJ,CACF,CCv6NI,qCmCxFA,uBACE,0BpCkgOJ,CACF,CoCjgOA,gBACE,mCpCmgOF,CoCjgOA,cACE,kCpCogOF,CoClgOA,cACE,kCpCqgOF,CoCngOA,WACE,2BpCsgOF,CoCpgOA,eACE,mCpCugOF,CoCrgOA,uBACE,yBpCwgOF,CoCvgOA,wBACE,yBpC0gOF,CoCzgOA,wBACE,yBpC4gOF,CoC3gOA,0BACE,yBpC8gOF,CoC7gOA,sBACE,yBpCghOF,CoCxgOA,8DACE,6JpCmhOF,CoC9gOA,qCACE,+BpCqhOF,CqCtnOE,UACE,uBrCynOJ,CCzhOE,oCoC9FE,iBACE,uBrC2nOJ,CACF,CC3hOE,0CoC/FE,iBACE,uBrC6nOJ,CACF,CC5hOE,2DoChGE,sBACE,uBrC+nOJ,CACF,CC7hOE,qCoCjGE,gBACE,uBrCioOJ,CACF,CC9hOE,qCoClGE,kBACE,uBrCmoOJ,CACF,CC9hOI,4DoCpGA,uBACE,uBrCqoOJ,CACF,CCzhOI,qCoC3GA,qBACE,uBrCuoOJ,CACF,CCzhOI,4DoC7GA,0BACE,uBrCyoOJ,CACF,CCphOI,qCoCpHA,iBACE,uBrC2oOJ,CACF,CqCxqOE,SACE,sBrC0qOJ,CC1kOE,oCoC9FE,gBACE,sBrC4qOJ,CACF,CC5kOE,0CoC/FE,gBACE,sBrC8qOJ,CACF,CC7kOE,2DoChGE,qBACE,sBrCgrOJ,CACF,CC9kOE,qCoCjGE,eACE,sBrCkrOJ,CACF,CC/kOE,qCoClGE,iBACE,sBrCorOJ,CACF,CC/kOI,4DoCpGA,sBACE,sBrCsrOJ,CACF,CC1kOI,qCoC3GA,oBACE,sBrCwrOJ,CACF,CC1kOI,4DoC7GA,yBACE,sBrC0rOJ,CACF,CCrkOI,qCoCpHA,gBACE,sBrC4rOJ,CACF,CqCztOE,WACE,wBrC2tOJ,CC3nOE,oCoC9FE,kBACE,wBrC6tOJ,CACF,CC7nOE,0CoC/FE,kBACE,wBrC+tOJ,CACF,CC9nOE,2DoChGE,uBACE,wBrCiuOJ,CACF,CC/nOE,qCoCjGE,iBACE,wBrCmuOJ,CACF,CChoOE,qCoClGE,mBACE,wBrCquOJ,CACF,CChoOI,4DoCpGA,wBACE,wBrCuuOJ,CACF,CC3nOI,qCoC3GA,sBACE,wBrCyuOJ,CACF,CC3nOI,4DoC7GA,2BACE,wBrC2uOJ,CACF,CCtnOI,qCoCpHA,kBACE,wBrC6uOJ,CACF,CqC1wOE,iBACE,8BrC4wOJ,CC5qOE,oCoC9FE,wBACE,8BrC8wOJ,CACF,CC9qOE,0CoC/FE,wBACE,8BrCgxOJ,CACF,CC/qOE,2DoChGE,6BACE,8BrCkxOJ,CACF,CChrOE,qCoCjGE,uBACE,8BrCoxOJ,CACF,CCjrOE,qCoClGE,yBACE,8BrCsxOJ,CACF,CCjrOI,4DoCpGA,8BACE,8BrCwxOJ,CACF,CC5qOI,qCoC3GA,4BACE,8BrC0xOJ,CACF,CC5qOI,4DoC7GA,iCACE,8BrC4xOJ,CACF,CCvqOI,qCoCpHA,wBACE,8BrC8xOJ,CACF,CqC3zOE,gBACE,6BrC6zOJ,CC7tOE,oCoC9FE,uBACE,6BrC+zOJ,CACF,CC/tOE,0CoC/FE,uBACE,6BrCi0OJ,CACF,CChuOE,2DoChGE,4BACE,6BrCm0OJ,CACF,CCjuOE,qCoCjGE,sBACE,6BrCq0OJ,CACF,CCluOE,qCoClGE,wBACE,6BrCu0OJ,CACF,CCluOI,4DoCpGA,6BACE,6BrCy0OJ,CACF,CC7tOI,qCoC3GA,2BACE,6BrC20OJ,CACF,CC7tOI,4DoC7GA,gCACE,6BrC60OJ,CACF,CCxtOI,qCoCpHA,uBACE,6BrC+0OJ,CACF,CqC90OA,WACE,sBrCg1OF,CqC90OA,YAEE,4BAAA,CADA,qBAAA,CAEA,sBAAA,CACA,yBAAA,CACA,mBAAA,CACA,2BAAA,CACA,4BAAA,CACA,qBrCi1OF,CCzxOE,oCoCrDA,kBACE,sBrCk1OF,CACF,CC3xOE,0CoCrDA,kBACE,sBrCm1OF,CACF,CC5xOE,2DoCrDA,uBACE,sBrCo1OF,CACF,CC7xOE,qCoCrDA,iBACE,sBrCq1OF,CACF,CC9xOE,qCoCrDA,mBACE,sBrCs1OF,CACF,CC9xOI,4DoCtDF,wBACE,sBrCu1OF,CACF,CCzxOI,qCoC5DF,sBACE,sBrCw1OF,CACF,CCzxOI,4DoC7DF,2BACE,sBrCy1OF,CACF,CCpxOI,qCoCnEF,kBACE,sBrC01OF,CACF,CqCz1OA,cACE,2BrC21OF,CC10OE,oCoCdA,qBACE,2BrC41OF,CACF,CC50OE,0CoCdA,qBACE,2BrC61OF,CACF,CC70OE,2DoCdA,0BACE,2BrC81OF,CACF,CC90OE,qCoCdA,oBACE,2BrC+1OF,CACF,CC/0OE,qCoCdA,sBACE,2BrCg2OF,CACF,CC/0OI,4DoCfF,2BACE,2BrCi2OF,CACF,CC10OI,qCoCrBF,yBACE,2BrCk2OF,CACF,CC10OI,4DoCtBF,8BACE,2BrCm2OF,CACF,CCr0OI,qCoC5BF,qBACE,2BrCo2OF,CACF,CsCn9OA,MACE,mBAAA,CACA,YAAA,CACA,qBAAA,CACA,6BtCs9OF,CsCr9OE,cACE,etCu9OJ,CsCr9OI,eACE,kBtCu9ON,CsCl9OI,eACE,qBAHM,CAIN,UtCo9ON,CsCn9OM,mHAEE,atCq9OR,CsCp9OM,sBACE,UtCs9OR,CsCr9OM,yBACE,oBtCu9OR,CsCt9OQ,wEAEE,UtCw9OV,CC34OE,qCqC5EI,4BAEI,qBtCy9OR,CACF,CsCz9OM,wDAEE,oBtC29OR,CsCx9OQ,kJAEE,wBAAA,CACA,UtC29OV,CsCz9OQ,uBACE,UA5BS,CA6BT,UtC29OV,CsC19OU,6BACE,StC49OZ,CsC19OU,oCACE,oBAAA,CACA,StC49OZ,CsCz9OU,iEACE,UtC29OZ,CsC19OY,6EACE,+BtC49Od,CsC19OY,kMAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,UtC29Od,CsCx9OQ,uBAGE,8DtCw9OV,CC/7OE,oCqCvBU,oCACE,8DtCy9OZ,CACF,CsCjhPI,eACE,qBAHM,CAIN,UtCmhPN,CsClhPM,mHAEE,atCohPR,CsCnhPM,sBACE,UtCqhPR,CsCphPM,yBACE,wBtCshPR,CsCrhPQ,wEAEE,UtCuhPV,CC18OE,qCqC5EI,4BAEI,qBtCwhPR,CACF,CsCxhPM,wDAEE,wBtC0hPR,CsCvhPQ,kJAEE,qBAAA,CACA,UtC0hPV,CsCxhPQ,uBACE,UA5BS,CA6BT,UtC0hPV,CsCzhPU,6BACE,StC2hPZ,CsCzhPU,oCACE,oBAAA,CACA,StC2hPZ,CsCxhPU,iEACE,UtC0hPZ,CsCzhPY,6EACE,+BtC2hPd,CsCzhPY,kMAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,UtC0hPd,CsCvhPQ,uBAGE,8DtCuhPV,CC9/OE,oCqCvBU,oCACE,8DtCwhPZ,CACF,CsChlPI,eACE,wBAHM,CAIN,oBtCklPN,CsCjlPM,mHAEE,atCmlPR,CsCllPM,sBACE,oBtColPR,CsCnlPM,yBACE,oBtCqlPR,CsCplPQ,wEAEE,oBtCslPV,CCzgPE,qCqC5EI,4BAEI,wBtCulPR,CACF,CsCvlPM,wDAEE,oBtCylPR,CsCtlPQ,kJAEE,wBAAA,CACA,oBtCylPV,CsCvlPQ,uBACE,oBA5BS,CA6BT,UtCylPV,CsCxlPU,6BACE,StC0lPZ,CsCxlPU,oCACE,uBAAA,CACA,StC0lPZ,CsCvlPU,iEACE,oBtCylPZ,CsCxlPY,6EACE,+BtC0lPd,CsCxlPY,kMAEE,+BA7CK,CA8CL,2BA9CK,CA+CL,atCylPd,CsCtlPQ,uBAGE,iEtCslPV,CC7jPE,oCqCvBU,oCACE,iEtCulPZ,CACF,CsC/oPI,cACE,wBAHM,CAIN,UtCipPN,CsChpPM,iHAEE,atCkpPR,CsCjpPM,qBACE,UtCmpPR,CsClpPM,wBACE,wBtCopPR,CsCnpPQ,sEAEE,UtCqpPV,CCxkPE,qCqC5EI,2BAEI,wBtCspPR,CACF,CsCtpPM,sDAEE,wBtCwpPR,CsCrpPQ,8IAEE,wBAAA,CACA,UtCwpPV,CsCtpPQ,sBACE,UA5BS,CA6BT,UtCwpPV,CsCvpPU,4BACE,StCypPZ,CsCvpPU,mCACE,uBAAA,CACA,StCypPZ,CsCtpPU,+DACE,UtCwpPZ,CsCvpPY,2EACE,+BtCypPd,CsCvpPY,8LAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,atCwpPd,CsCrpPQ,sBAGE,oEtCqpPV,CC5nPE,oCqCvBU,mCACE,oEtCspPZ,CACF,CsC9sPI,iBACE,wBAHM,CAIN,UtCgtPN,CsC/sPM,uHAEE,atCitPR,CsChtPM,wBACE,UtCktPR,CsCjtPM,2BACE,wBtCmtPR,CsCltPQ,4EAEE,UtCotPV,CCvoPE,qCqC5EI,8BAEI,wBtCqtPR,CACF,CsCrtPM,4DAEE,wBtCutPR,CsCptPQ,0JAEE,wBAAA,CACA,UtCutPV,CsCrtPQ,yBACE,UA5BS,CA6BT,UtCutPV,CsCttPU,+BACE,StCwtPZ,CsCttPU,sCACE,uBAAA,CACA,StCwtPZ,CsCrtPU,qEACE,UtCutPZ,CsCttPY,iFACE,+BtCwtPd,CsCttPY,0MAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,atCutPd,CsCptPQ,yBAGE,oEtCotPV,CC3rPE,oCqCvBU,sCACE,oEtCqtPZ,CACF,CsC7wPI,cACE,wBAHM,CAIN,UtC+wPN,CsC9wPM,iHAEE,atCgxPR,CsC/wPM,qBACE,UtCixPR,CsChxPM,wBACE,wBtCkxPR,CsCjxPQ,sEAEE,UtCmxPV,CCtsPE,qCqC5EI,2BAEI,wBtCoxPR,CACF,CsCpxPM,sDAEE,wBtCsxPR,CsCnxPQ,8IAEE,wBAAA,CACA,UtCsxPV,CsCpxPQ,sBACE,UA5BS,CA6BT,UtCsxPV,CsCrxPU,4BACE,StCuxPZ,CsCrxPU,mCACE,uBAAA,CACA,StCuxPZ,CsCpxPU,+DACE,UtCsxPZ,CsCrxPY,2EACE,+BtCuxPd,CsCrxPY,8LAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,atCsxPd,CsCnxPQ,sBAGE,oEtCmxPV,CC1vPE,oCqCvBU,mCACE,oEtCoxPZ,CACF,CsC50PI,cACE,wBAHM,CAIN,UtC80PN,CsC70PM,iHAEE,atC+0PR,CsC90PM,qBACE,UtCg1PR,CsC/0PM,wBACE,wBtCi1PR,CsCh1PQ,sEAEE,UtCk1PV,CCrwPE,qCqC5EI,2BAEI,wBtCm1PR,CACF,CsCn1PM,sDAEE,wBtCq1PR,CsCl1PQ,8IAEE,wBAAA,CACA,UtCq1PV,CsCn1PQ,sBACE,UA5BS,CA6BT,UtCq1PV,CsCp1PU,4BACE,StCs1PZ,CsCp1PU,mCACE,uBAAA,CACA,StCs1PZ,CsCn1PU,+DACE,UtCq1PZ,CsCp1PY,2EACE,+BtCs1Pd,CsCp1PY,8LAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,atCq1Pd,CsCl1PQ,sBAGE,oEtCk1PV,CCzzPE,oCqCvBU,mCACE,oEtCm1PZ,CACF,CsC34PI,iBACE,wBAHM,CAIN,UtC64PN,CsC54PM,uHAEE,atC84PR,CsC74PM,wBACE,UtC+4PR,CsC94PM,2BACE,wBtCg5PR,CsC/4PQ,4EAEE,UtCi5PV,CCp0PE,qCqC5EI,8BAEI,wBtCk5PR,CACF,CsCl5PM,4DAEE,wBtCo5PR,CsCj5PQ,0JAEE,wBAAA,CACA,UtCo5PV,CsCl5PQ,yBACE,UA5BS,CA6BT,UtCo5PV,CsCn5PU,+BACE,StCq5PZ,CsCn5PU,sCACE,uBAAA,CACA,StCq5PZ,CsCl5PU,qEACE,UtCo5PZ,CsCn5PY,iFACE,+BtCq5Pd,CsCn5PY,0MAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,atCo5Pd,CsCj5PQ,yBAGE,oEtCi5PV,CCx3PE,oCqCvBU,sCACE,oEtCk5PZ,CACF,CsC18PI,iBACE,wBAHM,CAIN,oBtC48PN,CsC38PM,uHAEE,atC68PR,CsC58PM,wBACE,oBtC88PR,CsC78PM,2BACE,oBtC+8PR,CsC98PQ,4EAEE,oBtCg9PV,CCn4PE,qCqC5EI,8BAEI,wBtCi9PR,CACF,CsCj9PM,4DAEE,oBtCm9PR,CsCh9PQ,0JAEE,wBAAA,CACA,oBtCm9PV,CsCj9PQ,yBACE,oBA5BS,CA6BT,UtCm9PV,CsCl9PU,+BACE,StCo9PZ,CsCl9PU,sCACE,uBAAA,CACA,StCo9PZ,CsCj9PU,qEACE,oBtCm9PZ,CsCl9PY,iFACE,+BtCo9Pd,CsCl9PY,0MAEE,+BA7CK,CA8CL,2BA9CK,CA+CL,atCm9Pd,CsCh9PQ,yBAGE,oEtCg9PV,CCv7PE,oCqCvBU,sCACE,oEtCi9PZ,CACF,CsCzgQI,gBACE,wBAHM,CAIN,UtC2gQN,CsC1gQM,qHAEE,atC4gQR,CsC3gQM,uBACE,UtC6gQR,CsC5gQM,0BACE,wBtC8gQR,CsC7gQQ,0EAEE,UtC+gQV,CCl8PE,qCqC5EI,6BAEI,wBtCghQR,CACF,CsChhQM,0DAEE,wBtCkhQR,CsC/gQQ,sJAEE,wBAAA,CACA,UtCkhQV,CsChhQQ,wBACE,UA5BS,CA6BT,UtCkhQV,CsCjhQU,8BACE,StCmhQZ,CsCjhQU,qCACE,uBAAA,CACA,StCmhQZ,CsChhQU,mEACE,UtCkhQZ,CsCjhQY,+EACE,+BtCmhQd,CsCjhQY,sMAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,atCkhQd,CsC/gQQ,wBAGE,oEtC+gQV,CCt/PE,oCqCvBU,qCACE,oEtCghQZ,CACF,CsC9gQI,0BACE,ctCghQN,CC1/PE,0CqCnBI,2BACE,mBtCghQN,CsC7gQI,0BACE,kBtCihQN,CAJF,CsCzgQI,yGACE,kBAAA,CACA,YtCghQN,CsC/gQM,0IACE,WAAA,CACA,atCihQR,CsChhQE,oBACE,etCkhQJ,CsCjhQE,oBACE,gBtCmhQJ,CsC/gQA,YAEE,etCihQF,CsChhQE,kBACE,QAAA,CACA,eAAA,CACA,cAAA,CACA,iBAAA,CACA,OAAA,CACA,kCtCkhQJ,CsChhQE,2BACE,UtCkhQJ,CCriQE,oCqCOF,YAeI,YtCmhQF,CACF,CsClhQA,cACE,iBtCqhQF,CC9iQE,oCqC4BE,sBACE,YtCqhQJ,CsCphQI,uCACE,oBtCshQN,CACF,CCljQE,0CqCoBF,cASI,YAAA,CACA,sBtCyhQF,CsCxhQE,uCrC2CA,mBDg/PF,CACF,CsCvhQA,sBAEE,WAAA,CACA,atC0hQF,CsCxhQA,WACE,WAAA,CACA,aAAA,CACA,mBtC2hQF,CCvkQE,0CqCyCF,WAKI,YtC6hQF,CACF,CuC/qQA,SACE,mBvCkrQF,CCpkQE,qCsC/GF,SAII,YvCmrQF,CuCjrQE,mBACE,mBvCmrQJ,CuClrQE,kBACE,kBvCorQJ,CACF,CwClpQA,mCACE,GACE,SxCspQF,CwCnpQA,GACE,SxCqpQF,CACF,CwC5pQA,2BACE,GACE,SxCspQF,CwCnpQA,GACE,SxCqpQF,CACF,CwClpQA,4BACE,GACE,SAAA,CACA,oBxCopQF,CwCjpQA,IACE,SxCmpQF,CwChpQA,IACE,kBxCkpQF,CwC/oQA,GACE,kBxCipQF,CACF,CwCjqQA,oBACE,GACE,SAAA,CACA,oBxCopQF,CwCjpQA,IACE,SxCmpQF,CwChpQA,IACE,kBxCkpQF,CwC/oQA,GACE,kBxCipQF,CACF,CwC5oQA,KACE,exC+oQF,CwC5oQA,KACE,qCAAA,CAAA,6BxC+oQF,CwC5oQA,wBAEE,qBtCrFM,CsCsFN,iBAAA,CACA,cxC+oQF,CwC5oQA,qDAEE,axC+oQF,CwCjpQA,6DAEE,axC+oQF,CwCjpQA,2CAEE,axC+oQF,CwC5oQA,OACE,azC1Fa,CyC2Fb,exC+oQF,CwC5oQA,MACE,axC+oQF,CwC5oQA,UACE,wBxC+oQF,CwC5oQA,gMAIE,SxC+oQF,CwC3oQE,qBAGE,WAAA,CADA,iBAAA,CADA,wBxCmpQJ,CwC7oQE,qBACE,wBAAA,CACA,wBAAA,CACA,oBxC+oQJ,CwC7oQI,2EAEE,wBAAA,CACA,wBAAA,CACA,oBxC8oQN,CwC3oQI,2EAEE,wBAAA,CACA,wBAAA,CACA,oBxC4oQN,CwCzoQI,iCACE,4BAAA,CACA,oBAAA,CACA,axC2oQN,CwCzoQM,sMAIE,wBAAA,CACA,oBAAA,CACA,oBxCwoQR,CwCloQA,6BAEE,axCqoQF,CwC9nQA,wGACE,oBxCqoQF,CwCloQA,uEAEE,oBxCqoQF,CwCloQA,SACE,wBxCqoQF,CwCloQA,cAEE,QAAA,CADA,axCsoQF,CwCloQA,OAEE,qBtC5LM,CsC2LN,axCsoQF,CwCnoQE,iBACE,gBxCqoQJ,CwCloQE,qDACE,wBxCooQJ,CwCjoQE,oBAIE,+BAAA,CADA,qBAAA,CADA,kBxCqoQJ,CwChoQE,UACE,azCxMW,CyC0MX,eAAA,CADA,axCmoQJ,CwC9nQI,gCAGE,wBAAA,CACA,eAAA,CAFA,azChNS,CyCmNT,WxCgoQN,CwC3nQI,4DAEE,uBxC6nQN,CwCznQE,oBACE,mBxC2nQJ,CwCtnQE,6BAEE,wBxCwnQJ,CwCpnQA,oBACE,oBxCunQF,CwClnQA,mBACE,exCsnQF,CwCjnQA,WACE,6BxCqnQF,CwClnQA,SACE,mBxCqnQF,CwCjnQA,kCACE,qBxCqnQF,CwChnQA,uBAWE,kBAAA,CALA,wBtC9QK,CsC6QL,kBAAA,CADA,aAAA,CAGA,UzC1Qa,CyCoQb,YAAA,CAQA,aAAA,CACA,sBAAA,CARA,cAAA,CACA,YAAA,CASA,2CAAA,CAJA,YxCwnQF,CwClnQE,6BACE,wBnCpNS,CmCqNT,UxConQJ,CwCjnQE,6BACE,exCmnQJ,CwC7mQE,+BAEE,WAAA,CADA,gBxCqnQJ,CwCjnQI,0CACE,UxCmnQN","file":"style.css","sourcesContent":["@import \"mixins\"\n\n%control\n +control\n\n%unselectable\n +unselectable\n\n%arrow\n +arrow\n\n%block\n +block\n\n%delete\n +delete\n\n%loader\n +loader\n\n%overlay\n +overlay\n\n%reset\n +reset\n","@import \"derived-variables\"\n\n$control-radius: $radius !default\n$control-radius-small: $radius-small !default\n\n$control-border-width: 1px !default\n\n$control-height: 2.5em !default\n$control-line-height: 1.5 !default\n\n$control-padding-vertical: calc(0.5em - #{$control-border-width}) !default\n$control-padding-horizontal: calc(0.75em - #{$control-border-width}) !default\n\n=control\n -moz-appearance: none\n -webkit-appearance: none\n align-items: center\n border: $control-border-width solid transparent\n border-radius: $control-radius\n box-shadow: none\n display: inline-flex\n font-size: $size-normal\n height: $control-height\n justify-content: flex-start\n line-height: $control-line-height\n padding-bottom: $control-padding-vertical\n padding-left: $control-padding-horizontal\n padding-right: $control-padding-horizontal\n padding-top: $control-padding-vertical\n position: relative\n vertical-align: top\n // States\n &:focus,\n &.is-focused,\n &:active,\n &.is-active\n outline: none\n &[disabled],\n fieldset[disabled] &\n cursor: not-allowed\n\n// The controls sizes use mixins so they can be used at different breakpoints\n=control-small\n border-radius: $control-radius-small\n font-size: $size-small\n=control-medium\n font-size: $size-medium\n=control-large\n font-size: $size-large\n","// Colors\n\n$black: hsl(0, 0%, 4%) !default\n$black-bis: hsl(0, 0%, 7%) !default\n$black-ter: hsl(0, 0%, 14%) !default\n\n$grey-darker: hsl(0, 0%, 21%) !default\n$grey-dark: hsl(0, 0%, 29%) !default\n$grey: hsl(0, 0%, 48%) !default\n$grey-light: hsl(0, 0%, 71%) !default\n$grey-lighter: hsl(0, 0%, 86%) !default\n$grey-lightest: hsl(0, 0%, 93%) !default\n\n$white-ter: hsl(0, 0%, 96%) !default\n$white-bis: hsl(0, 0%, 98%) !default\n$white: hsl(0, 0%, 100%) !default\n\n$orange: hsl(14, 100%, 53%) !default\n$yellow: hsl(44, 100%, 77%) !default\n$green: hsl(153, 53%, 53%) !default\n$turquoise: hsl(171, 100%, 41%) !default\n$cyan: hsl(207, 61%, 53%) !default\n$blue: hsl(229, 53%, 53%) !default\n$purple: hsl(271, 100%, 71%) !default\n$red: hsl(348, 86%, 61%) !default\n\n// Typography\n\n$family-sans-serif: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif !default\n$family-monospace: monospace !default\n$render-mode: optimizeLegibility !default\n\n$size-1: 3rem !default\n$size-2: 2.5rem !default\n$size-3: 2rem !default\n$size-4: 1.5rem !default\n$size-5: 1.25rem !default\n$size-6: 1rem !default\n$size-7: 0.75rem !default\n\n$weight-light: 300 !default\n$weight-normal: 400 !default\n$weight-medium: 500 !default\n$weight-semibold: 600 !default\n$weight-bold: 700 !default\n\n// Spacing\n\n$block-spacing: 1.5rem !default\n\n// Responsiveness\n\n// The container horizontal gap, which acts as the offset for breakpoints\n$gap: 32px !default\n// 960, 1152, and 1344 have been chosen because they are divisible by both 12 and 16\n$tablet: 769px !default\n// 960px container + 4rem\n$desktop: 960px + (2 * $gap) !default\n// 1152px container + 4rem\n$widescreen: 1152px + (2 * $gap) !default\n$widescreen-enabled: true !default\n// 1344px container + 4rem\n$fullhd: 1344px + (2 * $gap) !default\n$fullhd-enabled: true !default\n$breakpoints: (\"mobile\": (\"until\": $tablet), \"tablet\": (\"from\": $tablet), \"tablet-only\": (\"from\": $tablet, \"until\": $desktop), \"touch\": (\"from\": $desktop), \"desktop\": (\"from\": $desktop), \"desktop-only\": (\"from\": $desktop, \"until\": $widescreen), \"until-widescreen\": (\"until\": $widescreen), \"widescreen\": (\"from\": $widescreen), \"widescreen-only\": (\"from\": $widescreen, \"until\": $fullhd), \"until-fullhd\": (\"until\": $fullhd), \"fullhd\": (\"from\": $fullhd)) !default\n\n// Miscellaneous\n\n$easing: ease-out !default\n$radius-small: 2px !default\n$radius: 4px !default\n$radius-large: 6px !default\n$radius-rounded: 9999px !default\n$speed: 86ms !default\n\n// Flags\n\n$variable-columns: true !default\n$rtl: false !default\n","/* stylelint-disable scss/dollar-variable-empty-line-before */\n/* stylelint-disable-next-line value-keyword-case */\n/** Bulma: Variables **/\n/** Bulma: Utilities **/\n.pagination-previous,\n.pagination-next,\n.pagination-link,\n.pagination-ellipsis, .file-cta,\n.file-name, .select select, .textarea, .input, .button {\n -moz-appearance: none;\n -webkit-appearance: none;\n align-items: center;\n border: 1px solid transparent;\n border-radius: 4px;\n box-shadow: none;\n display: inline-flex;\n font-size: 1rem;\n height: 2.5em;\n justify-content: flex-start;\n line-height: 1.5;\n padding-bottom: calc(0.5em - 1px);\n padding-left: calc(0.75em - 1px);\n padding-right: calc(0.75em - 1px);\n padding-top: calc(0.5em - 1px);\n position: relative;\n vertical-align: top;\n}\n.pagination-previous:focus,\n.pagination-next:focus,\n.pagination-link:focus,\n.pagination-ellipsis:focus, .file-cta:focus,\n.file-name:focus, .select select:focus, .textarea:focus, .input:focus, .button:focus, .is-focused.pagination-previous,\n.is-focused.pagination-next,\n.is-focused.pagination-link,\n.is-focused.pagination-ellipsis, .is-focused.file-cta,\n.is-focused.file-name, .select select.is-focused, .is-focused.textarea, .is-focused.input, .is-focused.button, .pagination-previous:active,\n.pagination-next:active,\n.pagination-link:active,\n.pagination-ellipsis:active, .file-cta:active,\n.file-name:active, .select select:active, .textarea:active, .input:active, .button:active, .is-active.pagination-previous,\n.is-active.pagination-next,\n.is-active.pagination-link,\n.is-active.pagination-ellipsis, .is-active.file-cta,\n.is-active.file-name, .select select.is-active, .is-active.textarea, .is-active.input, .is-active.button {\n outline: none;\n}\n[disabled].pagination-previous,\n[disabled].pagination-next,\n[disabled].pagination-link,\n[disabled].pagination-ellipsis, [disabled].file-cta,\n[disabled].file-name, .select select[disabled], [disabled].textarea, [disabled].input, [disabled].button, fieldset[disabled] .pagination-previous,\nfieldset[disabled] .pagination-next,\nfieldset[disabled] .pagination-link,\nfieldset[disabled] .pagination-ellipsis, fieldset[disabled] .file-cta,\nfieldset[disabled] .file-name, fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input, fieldset[disabled] .button {\n cursor: not-allowed;\n}\n\n.is-unselectable, .tabs, .pagination-previous,\n.pagination-next,\n.pagination-link,\n.pagination-ellipsis, .file, .button {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.select:not(.is-multiple):not(.is-loading)::after {\n border: 3px solid transparent;\n border-radius: 2px;\n border-right: 0;\n border-top: 0;\n content: \" \";\n display: block;\n height: 0.625em;\n margin-top: -0.4375em;\n pointer-events: none;\n position: absolute;\n top: 50%;\n transform: rotate(-45deg);\n transform-origin: center;\n width: 0.625em;\n}\n\n.tabs:not(:last-child), .pagination:not(:last-child), .message:not(:last-child), .level:not(:last-child), .block:not(:last-child), .title:not(:last-child),\n.subtitle:not(:last-child), .table-container:not(:last-child), .table:not(:last-child), .progress:not(:last-child), .notification:not(:last-child), .content:not(:last-child) {\n margin-bottom: 1.5rem;\n}\n\n.delete {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n background-color: rgba(0, 0, 0, 0.2);\n border: none;\n border-radius: 9999px;\n cursor: pointer;\n pointer-events: auto;\n display: inline-block;\n flex-grow: 0;\n flex-shrink: 0;\n font-size: 0;\n height: 20px;\n max-height: 20px;\n max-width: 20px;\n min-height: 20px;\n min-width: 20px;\n outline: none;\n position: relative;\n vertical-align: top;\n width: 20px;\n}\n.delete::before, .delete::after {\n background-color: hsl(0deg, 0%, 0%);\n content: \"\";\n display: block;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translateX(-50%) translateY(-50%) rotate(45deg);\n transform-origin: center center;\n}\n.delete::before {\n height: 2px;\n width: 50%;\n}\n.delete::after {\n height: 50%;\n width: 2px;\n}\n.delete:hover, .delete:focus {\n background-color: rgba(0, 0, 0, 0.3);\n}\n.delete:active {\n background-color: rgba(0, 0, 0, 0.4);\n}\n.is-small.delete {\n height: 16px;\n max-height: 16px;\n max-width: 16px;\n min-height: 16px;\n min-width: 16px;\n width: 16px;\n}\n.is-medium.delete {\n height: 24px;\n max-height: 24px;\n max-width: 24px;\n min-height: 24px;\n min-width: 24px;\n width: 24px;\n}\n.is-large.delete {\n height: 32px;\n max-height: 32px;\n max-width: 32px;\n min-height: 32px;\n min-width: 32px;\n width: 32px;\n}\n\n.control.is-loading::after, .select.is-loading::after, .loader, .button.is-loading::after {\n animation: spinAround 500ms infinite linear;\n border: 2px solid hsl(0deg, 0%, 86%);\n border-radius: 9999px;\n border-right-color: transparent;\n border-top-color: transparent;\n content: \"\";\n display: block;\n height: 1em;\n position: relative;\n width: 1em;\n}\n\n.hero-video, .is-overlay {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n/** Bulma: Base **/\n/* Bulma Base */\n/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */\nhtml,\nbody,\np,\nol,\nul,\nli,\ndl,\ndt,\ndd,\nblockquote,\nfigure,\nfieldset,\nlegend,\ntextarea,\npre,\niframe,\nhr,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin: 0;\n padding: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: 100%;\n font-weight: normal;\n}\n\nul {\n list-style: none;\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n margin: 0;\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*, *::before, *::after {\n box-sizing: inherit;\n}\n\nimg,\nvideo {\n height: auto;\n max-width: 100%;\n}\n\niframe {\n border: 0;\n}\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\ntd:not([align]),\nth:not([align]) {\n text-align: inherit;\n}\n\nhtml {\n background-color: hsl(0deg, 0%, 0%);\n font-size: 16px;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n min-width: 300px;\n overflow-x: hidden;\n overflow-y: scroll;\n text-rendering: optimizeLegibility;\n text-size-adjust: 100%;\n}\n\narticle,\naside,\nfigure,\nfooter,\nheader,\nhgroup,\nsection {\n display: block;\n}\n\nbody,\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Ubuntu\", \"Roboto\", \"Oxygen\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif;\n}\n\ncode,\npre {\n -moz-osx-font-smoothing: auto;\n -webkit-font-smoothing: auto;\n font-family: monospace;\n}\n\nbody {\n color: hsl(0deg, 0%, 96%);\n font-size: 1em;\n font-weight: 400;\n line-height: 1.5;\n}\n\na {\n color: hsl(208deg, 79%, 51%);\n cursor: pointer;\n text-decoration: none;\n}\na strong {\n color: currentColor;\n}\na:hover {\n color: #edf5fd;\n}\n\ncode {\n background-color: hsl(0deg, 0%, 96%);\n color: #eb002f;\n font-size: 0.875em;\n font-weight: normal;\n padding: 0.25em 0.5em 0.25em;\n}\n\nhr {\n background-color: hsl(0deg, 0%, 71%);\n border: none;\n display: block;\n height: 2px;\n margin: 1.5rem 0;\n}\n\nimg {\n height: auto;\n max-width: 100%;\n}\n\ninput[type=checkbox],\ninput[type=radio] {\n vertical-align: baseline;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nspan {\n font-style: inherit;\n font-weight: inherit;\n}\n\nstrong {\n color: hsl(0deg, 0%, 86%);\n font-weight: 700;\n}\n\nfieldset {\n border: none;\n}\n\npre {\n -webkit-overflow-scrolling: touch;\n background-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 29%);\n font-size: 0.875em;\n overflow-x: auto;\n padding: 1.25rem 1.5rem;\n white-space: pre;\n word-wrap: normal;\n}\npre code {\n background-color: transparent;\n color: currentColor;\n font-size: 1em;\n padding: 0;\n}\n\ntable td,\ntable th {\n vertical-align: top;\n}\ntable td:not([align]),\ntable th:not([align]) {\n text-align: inherit;\n}\ntable th {\n color: hsl(0deg, 0%, 21%);\n}\n\n@keyframes spinAround {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n}\n/** Bulma: Elements **/\n.button {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 86%);\n border-width: 1px;\n color: hsl(0deg, 0%, 21%);\n cursor: pointer;\n justify-content: center;\n padding-bottom: calc(0.5em - 1px);\n padding-left: 1em;\n padding-right: 1em;\n padding-top: calc(0.5em - 1px);\n text-align: center;\n white-space: nowrap;\n}\n.button strong {\n color: inherit;\n}\n.button .icon, .button .icon.is-small, .button .icon.is-medium, .button .icon.is-large {\n height: 1.5em;\n width: 1.5em;\n}\n.button .icon:first-child:not(:last-child) {\n margin-left: calc(-0.5em - 1px);\n margin-right: 0.25em;\n}\n.button .icon:last-child:not(:first-child) {\n margin-left: 0.25em;\n margin-right: calc(-0.5em - 1px);\n}\n.button .icon:first-child:last-child {\n margin-left: calc(-0.5em - 1px);\n margin-right: calc(-0.5em - 1px);\n}\n.button:hover, .button.is-hovered {\n border-color: hsl(0deg, 0%, 71%);\n color: #edf5fd;\n}\n.button:focus, .button.is-focused {\n border-color: hsl(208deg, 79%, 51%);\n color: hsl(0deg, 0%, 21%);\n}\n.button:focus:not(:active), .button.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(31, 137, 229, 0.25);\n}\n.button:active, .button.is-active {\n border-color: hsl(0deg, 0%, 29%);\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-text {\n background-color: transparent;\n border-color: transparent;\n color: hsl(0deg, 0%, 96%);\n text-decoration: underline;\n}\n.button.is-text:hover, .button.is-text.is-hovered, .button.is-text:focus, .button.is-text.is-focused {\n background-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-text:active, .button.is-text.is-active {\n background-color: #e8e8e8;\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-text[disabled], fieldset[disabled] .button.is-text {\n background-color: transparent;\n border-color: transparent;\n box-shadow: none;\n}\n.button.is-ghost {\n background: none;\n border-color: transparent;\n color: hsl(208deg, 79%, 51%);\n text-decoration: none;\n}\n.button.is-ghost:hover, .button.is-ghost.is-hovered {\n color: hsl(208deg, 79%, 51%);\n text-decoration: underline;\n}\n.button.is-white {\n background-color: hsl(0deg, 0%, 100%);\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-white:hover, .button.is-white.is-hovered {\n background-color: #f9f9f9;\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-white:focus, .button.is-white.is-focused {\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-white:focus:not(:active), .button.is-white.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25);\n}\n.button.is-white:active, .button.is-white.is-active {\n background-color: #f2f2f2;\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-white[disabled], fieldset[disabled] .button.is-white {\n background-color: hsl(0deg, 0%, 100%);\n border-color: hsl(0deg, 0%, 100%);\n box-shadow: none;\n}\n.button.is-white.is-inverted {\n background-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-white.is-inverted:hover, .button.is-white.is-inverted.is-hovered {\n background-color: black;\n}\n.button.is-white.is-inverted[disabled], fieldset[disabled] .button.is-white.is-inverted {\n background-color: hsl(0deg, 0%, 0%);\n border-color: transparent;\n box-shadow: none;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-white.is-loading::after {\n border-color: transparent transparent hsl(0deg, 0%, 0%) hsl(0deg, 0%, 0%) !important;\n}\n.button.is-white.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-white.is-outlined:hover, .button.is-white.is-outlined.is-hovered, .button.is-white.is-outlined:focus, .button.is-white.is-outlined.is-focused {\n background-color: hsl(0deg, 0%, 100%);\n border-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-white.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(0deg, 0%, 100%) hsl(0deg, 0%, 100%) !important;\n}\n.button.is-white.is-outlined.is-loading:hover::after, .button.is-white.is-outlined.is-loading.is-hovered::after, .button.is-white.is-outlined.is-loading:focus::after, .button.is-white.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(0deg, 0%, 0%) hsl(0deg, 0%, 0%) !important;\n}\n.button.is-white.is-outlined[disabled], fieldset[disabled] .button.is-white.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 100%);\n box-shadow: none;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-white.is-inverted.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined.is-hovered, .button.is-white.is-inverted.is-outlined:focus, .button.is-white.is-inverted.is-outlined.is-focused {\n background-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-white.is-inverted.is-outlined.is-loading:hover::after, .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-white.is-inverted.is-outlined.is-loading:focus::after, .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(0deg, 0%, 100%) hsl(0deg, 0%, 100%) !important;\n}\n.button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-white.is-inverted.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 0%);\n box-shadow: none;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-black {\n background-color: hsl(0deg, 0%, 0%);\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-black:hover, .button.is-black.is-hovered {\n background-color: black;\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-black:focus, .button.is-black.is-focused {\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-black:focus:not(:active), .button.is-black.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(0, 0, 0, 0.25);\n}\n.button.is-black:active, .button.is-black.is-active {\n background-color: black;\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-black[disabled], fieldset[disabled] .button.is-black {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 0%);\n box-shadow: none;\n}\n.button.is-black.is-inverted {\n background-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-black.is-inverted:hover, .button.is-black.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-black.is-inverted[disabled], fieldset[disabled] .button.is-black.is-inverted {\n background-color: hsl(0deg, 0%, 100%);\n border-color: transparent;\n box-shadow: none;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-black.is-loading::after {\n border-color: transparent transparent hsl(0deg, 0%, 100%) hsl(0deg, 0%, 100%) !important;\n}\n.button.is-black.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-black.is-outlined:hover, .button.is-black.is-outlined.is-hovered, .button.is-black.is-outlined:focus, .button.is-black.is-outlined.is-focused {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-black.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(0deg, 0%, 0%) hsl(0deg, 0%, 0%) !important;\n}\n.button.is-black.is-outlined.is-loading:hover::after, .button.is-black.is-outlined.is-loading.is-hovered::after, .button.is-black.is-outlined.is-loading:focus::after, .button.is-black.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(0deg, 0%, 100%) hsl(0deg, 0%, 100%) !important;\n}\n.button.is-black.is-outlined[disabled], fieldset[disabled] .button.is-black.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 0%);\n box-shadow: none;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-black.is-inverted.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined.is-hovered, .button.is-black.is-inverted.is-outlined:focus, .button.is-black.is-inverted.is-outlined.is-focused {\n background-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-black.is-inverted.is-outlined.is-loading:hover::after, .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-black.is-inverted.is-outlined.is-loading:focus::after, .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(0deg, 0%, 0%) hsl(0deg, 0%, 0%) !important;\n}\n.button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-black.is-inverted.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 100%);\n box-shadow: none;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-light {\n background-color: hsl(0deg, 0%, 96%);\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light:hover, .button.is-light.is-hovered {\n background-color: #eeeeee;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light:focus, .button.is-light.is-focused {\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light:focus:not(:active), .button.is-light.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25);\n}\n.button.is-light:active, .button.is-light.is-active {\n background-color: #e8e8e8;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light[disabled], fieldset[disabled] .button.is-light {\n background-color: hsl(0deg, 0%, 96%);\n border-color: hsl(0deg, 0%, 96%);\n box-shadow: none;\n}\n.button.is-light.is-inverted {\n background-color: rgba(0, 0, 0, 0.7);\n color: hsl(0deg, 0%, 96%);\n}\n.button.is-light.is-inverted:hover, .button.is-light.is-inverted.is-hovered {\n background-color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light.is-inverted[disabled], fieldset[disabled] .button.is-light.is-inverted {\n background-color: rgba(0, 0, 0, 0.7);\n border-color: transparent;\n box-shadow: none;\n color: hsl(0deg, 0%, 96%);\n}\n.button.is-light.is-loading::after {\n border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important;\n}\n.button.is-light.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 96%);\n}\n.button.is-light.is-outlined:hover, .button.is-light.is-outlined.is-hovered, .button.is-light.is-outlined:focus, .button.is-light.is-outlined.is-focused {\n background-color: hsl(0deg, 0%, 96%);\n border-color: hsl(0deg, 0%, 96%);\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(0deg, 0%, 96%) hsl(0deg, 0%, 96%) !important;\n}\n.button.is-light.is-outlined.is-loading:hover::after, .button.is-light.is-outlined.is-loading.is-hovered::after, .button.is-light.is-outlined.is-loading:focus::after, .button.is-light.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important;\n}\n.button.is-light.is-outlined[disabled], fieldset[disabled] .button.is-light.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 96%);\n box-shadow: none;\n color: hsl(0deg, 0%, 96%);\n}\n.button.is-light.is-inverted.is-outlined {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined.is-hovered, .button.is-light.is-inverted.is-outlined:focus, .button.is-light.is-inverted.is-outlined.is-focused {\n background-color: rgba(0, 0, 0, 0.7);\n color: hsl(0deg, 0%, 96%);\n}\n.button.is-light.is-inverted.is-outlined.is-loading:hover::after, .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-light.is-inverted.is-outlined.is-loading:focus::after, .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(0deg, 0%, 96%) hsl(0deg, 0%, 96%) !important;\n}\n.button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-light.is-inverted.is-outlined {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n box-shadow: none;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-dark {\n background-color: hsl(0deg, 0%, 21%);\n border-color: transparent;\n color: #fff;\n}\n.button.is-dark:hover, .button.is-dark.is-hovered {\n background-color: #2f2f2f;\n border-color: transparent;\n color: #fff;\n}\n.button.is-dark:focus, .button.is-dark.is-focused {\n border-color: transparent;\n color: #fff;\n}\n.button.is-dark:focus:not(:active), .button.is-dark.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25);\n}\n.button.is-dark:active, .button.is-dark.is-active {\n background-color: #292929;\n border-color: transparent;\n color: #fff;\n}\n.button.is-dark[disabled], fieldset[disabled] .button.is-dark {\n background-color: hsl(0deg, 0%, 21%);\n border-color: hsl(0deg, 0%, 21%);\n box-shadow: none;\n}\n.button.is-dark.is-inverted {\n background-color: #fff;\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-dark.is-inverted:hover, .button.is-dark.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-dark.is-inverted[disabled], fieldset[disabled] .button.is-dark.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-dark.is-loading::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-dark.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 21%);\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-dark.is-outlined:hover, .button.is-dark.is-outlined.is-hovered, .button.is-dark.is-outlined:focus, .button.is-dark.is-outlined.is-focused {\n background-color: hsl(0deg, 0%, 21%);\n border-color: hsl(0deg, 0%, 21%);\n color: #fff;\n}\n.button.is-dark.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(0deg, 0%, 21%) hsl(0deg, 0%, 21%) !important;\n}\n.button.is-dark.is-outlined.is-loading:hover::after, .button.is-dark.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-outlined.is-loading:focus::after, .button.is-dark.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-dark.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 21%);\n box-shadow: none;\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-dark.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff;\n}\n.button.is-dark.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined.is-hovered, .button.is-dark.is-inverted.is-outlined:focus, .button.is-dark.is-inverted.is-outlined.is-focused {\n background-color: #fff;\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-dark.is-inverted.is-outlined.is-loading:hover::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(0deg, 0%, 21%) hsl(0deg, 0%, 21%) !important;\n}\n.button.is-dark.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff;\n}\n.button.is-primary {\n background-color: hsl(171deg, 100%, 41%);\n border-color: transparent;\n color: #fff;\n}\n.button.is-primary:hover, .button.is-primary.is-hovered {\n background-color: #00c4a7;\n border-color: transparent;\n color: #fff;\n}\n.button.is-primary:focus, .button.is-primary.is-focused {\n border-color: transparent;\n color: #fff;\n}\n.button.is-primary:focus:not(:active), .button.is-primary.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);\n}\n.button.is-primary:active, .button.is-primary.is-active {\n background-color: #00b89c;\n border-color: transparent;\n color: #fff;\n}\n.button.is-primary[disabled], fieldset[disabled] .button.is-primary {\n background-color: hsl(171deg, 100%, 41%);\n border-color: hsl(171deg, 100%, 41%);\n box-shadow: none;\n}\n.button.is-primary.is-inverted {\n background-color: #fff;\n color: hsl(171deg, 100%, 41%);\n}\n.button.is-primary.is-inverted:hover, .button.is-primary.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-primary.is-inverted[disabled], fieldset[disabled] .button.is-primary.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: hsl(171deg, 100%, 41%);\n}\n.button.is-primary.is-loading::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-primary.is-outlined {\n background-color: transparent;\n border-color: hsl(171deg, 100%, 41%);\n color: hsl(171deg, 100%, 41%);\n}\n.button.is-primary.is-outlined:hover, .button.is-primary.is-outlined.is-hovered, .button.is-primary.is-outlined:focus, .button.is-primary.is-outlined.is-focused {\n background-color: hsl(171deg, 100%, 41%);\n border-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.button.is-primary.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(171deg, 100%, 41%) hsl(171deg, 100%, 41%) !important;\n}\n.button.is-primary.is-outlined.is-loading:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-outlined.is-loading:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-primary.is-outlined[disabled], fieldset[disabled] .button.is-primary.is-outlined {\n background-color: transparent;\n border-color: hsl(171deg, 100%, 41%);\n box-shadow: none;\n color: hsl(171deg, 100%, 41%);\n}\n.button.is-primary.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff;\n}\n.button.is-primary.is-inverted.is-outlined:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .button.is-primary.is-inverted.is-outlined:focus, .button.is-primary.is-inverted.is-outlined.is-focused {\n background-color: #fff;\n color: hsl(171deg, 100%, 41%);\n}\n.button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(171deg, 100%, 41%) hsl(171deg, 100%, 41%) !important;\n}\n.button.is-primary.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-primary.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff;\n}\n.button.is-primary.is-light {\n background-color: #ebfffc;\n color: #00947e;\n}\n.button.is-primary.is-light:hover, .button.is-primary.is-light.is-hovered {\n background-color: #defffa;\n border-color: transparent;\n color: #00947e;\n}\n.button.is-primary.is-light:active, .button.is-primary.is-light.is-active {\n background-color: #d1fff8;\n border-color: transparent;\n color: #00947e;\n}\n.button.is-link {\n background-color: hsl(208deg, 79%, 51%);\n border-color: transparent;\n color: #fff;\n}\n.button.is-link:hover, .button.is-link.is-hovered {\n background-color: #1a82dd;\n border-color: transparent;\n color: #fff;\n}\n.button.is-link:focus, .button.is-link.is-focused {\n border-color: transparent;\n color: #fff;\n}\n.button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(31, 137, 229, 0.25);\n}\n.button.is-link:active, .button.is-link.is-active {\n background-color: #197bd2;\n border-color: transparent;\n color: #fff;\n}\n.button.is-link[disabled], fieldset[disabled] .button.is-link {\n background-color: hsl(208deg, 79%, 51%);\n border-color: hsl(208deg, 79%, 51%);\n box-shadow: none;\n}\n.button.is-link.is-inverted {\n background-color: #fff;\n color: hsl(208deg, 79%, 51%);\n}\n.button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-link.is-inverted[disabled], fieldset[disabled] .button.is-link.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: hsl(208deg, 79%, 51%);\n}\n.button.is-link.is-loading::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-link.is-outlined {\n background-color: transparent;\n border-color: hsl(208deg, 79%, 51%);\n color: hsl(208deg, 79%, 51%);\n}\n.button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {\n background-color: hsl(208deg, 79%, 51%);\n border-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n.button.is-link.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(208deg, 79%, 51%) hsl(208deg, 79%, 51%) !important;\n}\n.button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-link.is-outlined[disabled], fieldset[disabled] .button.is-link.is-outlined {\n background-color: transparent;\n border-color: hsl(208deg, 79%, 51%);\n box-shadow: none;\n color: hsl(208deg, 79%, 51%);\n}\n.button.is-link.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff;\n}\n.button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined.is-focused {\n background-color: #fff;\n color: hsl(208deg, 79%, 51%);\n}\n.button.is-link.is-inverted.is-outlined.is-loading:hover::after, .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(208deg, 79%, 51%) hsl(208deg, 79%, 51%) !important;\n}\n.button.is-link.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-link.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff;\n}\n.button.is-link.is-light {\n background-color: #edf5fd;\n color: #1671c0;\n}\n.button.is-link.is-light:hover, .button.is-link.is-light.is-hovered {\n background-color: #e1effc;\n border-color: transparent;\n color: #1671c0;\n}\n.button.is-link.is-light:active, .button.is-link.is-light.is-active {\n background-color: #d6e9fa;\n border-color: transparent;\n color: #1671c0;\n}\n.button.is-info {\n background-color: hsl(217deg, 89%, 61%);\n border-color: transparent;\n color: #fff;\n}\n.button.is-info:hover, .button.is-info.is-hovered {\n background-color: #377ff3;\n border-color: transparent;\n color: #fff;\n}\n.button.is-info:focus, .button.is-info.is-focused {\n border-color: transparent;\n color: #fff;\n}\n.button.is-info:focus:not(:active), .button.is-info.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(67, 135, 244, 0.25);\n}\n.button.is-info:active, .button.is-info.is-active {\n background-color: #2b77f3;\n border-color: transparent;\n color: #fff;\n}\n.button.is-info[disabled], fieldset[disabled] .button.is-info {\n background-color: hsl(217deg, 89%, 61%);\n border-color: hsl(217deg, 89%, 61%);\n box-shadow: none;\n}\n.button.is-info.is-inverted {\n background-color: #fff;\n color: hsl(217deg, 89%, 61%);\n}\n.button.is-info.is-inverted:hover, .button.is-info.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-info.is-inverted[disabled], fieldset[disabled] .button.is-info.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: hsl(217deg, 89%, 61%);\n}\n.button.is-info.is-loading::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-info.is-outlined {\n background-color: transparent;\n border-color: hsl(217deg, 89%, 61%);\n color: hsl(217deg, 89%, 61%);\n}\n.button.is-info.is-outlined:hover, .button.is-info.is-outlined.is-hovered, .button.is-info.is-outlined:focus, .button.is-info.is-outlined.is-focused {\n background-color: hsl(217deg, 89%, 61%);\n border-color: hsl(217deg, 89%, 61%);\n color: #fff;\n}\n.button.is-info.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(217deg, 89%, 61%) hsl(217deg, 89%, 61%) !important;\n}\n.button.is-info.is-outlined.is-loading:hover::after, .button.is-info.is-outlined.is-loading.is-hovered::after, .button.is-info.is-outlined.is-loading:focus::after, .button.is-info.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-info.is-outlined[disabled], fieldset[disabled] .button.is-info.is-outlined {\n background-color: transparent;\n border-color: hsl(217deg, 89%, 61%);\n box-shadow: none;\n color: hsl(217deg, 89%, 61%);\n}\n.button.is-info.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff;\n}\n.button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined.is-hovered, .button.is-info.is-inverted.is-outlined:focus, .button.is-info.is-inverted.is-outlined.is-focused {\n background-color: #fff;\n color: hsl(217deg, 89%, 61%);\n}\n.button.is-info.is-inverted.is-outlined.is-loading:hover::after, .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-info.is-inverted.is-outlined.is-loading:focus::after, .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(217deg, 89%, 61%) hsl(217deg, 89%, 61%) !important;\n}\n.button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-info.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff;\n}\n.button.is-info.is-light {\n background-color: #ecf3fe;\n color: #0c53c6;\n}\n.button.is-info.is-light:hover, .button.is-info.is-light.is-hovered {\n background-color: #e0ebfd;\n border-color: transparent;\n color: #0c53c6;\n}\n.button.is-info.is-light:active, .button.is-info.is-light.is-active {\n background-color: #d4e3fc;\n border-color: transparent;\n color: #0c53c6;\n}\n.button.is-success {\n background-color: hsl(141deg, 42%, 53%);\n border-color: transparent;\n color: #fff;\n}\n.button.is-success:hover, .button.is-success.is-hovered {\n background-color: #4cb671;\n border-color: transparent;\n color: #fff;\n}\n.button.is-success:focus, .button.is-success.is-focused {\n border-color: transparent;\n color: #fff;\n}\n.button.is-success:focus:not(:active), .button.is-success.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(85, 185, 120, 0.25);\n}\n.button.is-success:active, .button.is-success.is-active {\n background-color: #47ae6b;\n border-color: transparent;\n color: #fff;\n}\n.button.is-success[disabled], fieldset[disabled] .button.is-success {\n background-color: hsl(141deg, 42%, 53%);\n border-color: hsl(141deg, 42%, 53%);\n box-shadow: none;\n}\n.button.is-success.is-inverted {\n background-color: #fff;\n color: hsl(141deg, 42%, 53%);\n}\n.button.is-success.is-inverted:hover, .button.is-success.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-success.is-inverted[disabled], fieldset[disabled] .button.is-success.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: hsl(141deg, 42%, 53%);\n}\n.button.is-success.is-loading::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-success.is-outlined {\n background-color: transparent;\n border-color: hsl(141deg, 42%, 53%);\n color: hsl(141deg, 42%, 53%);\n}\n.button.is-success.is-outlined:hover, .button.is-success.is-outlined.is-hovered, .button.is-success.is-outlined:focus, .button.is-success.is-outlined.is-focused {\n background-color: hsl(141deg, 42%, 53%);\n border-color: hsl(141deg, 42%, 53%);\n color: #fff;\n}\n.button.is-success.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(141deg, 42%, 53%) hsl(141deg, 42%, 53%) !important;\n}\n.button.is-success.is-outlined.is-loading:hover::after, .button.is-success.is-outlined.is-loading.is-hovered::after, .button.is-success.is-outlined.is-loading:focus::after, .button.is-success.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-success.is-outlined[disabled], fieldset[disabled] .button.is-success.is-outlined {\n background-color: transparent;\n border-color: hsl(141deg, 42%, 53%);\n box-shadow: none;\n color: hsl(141deg, 42%, 53%);\n}\n.button.is-success.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff;\n}\n.button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined.is-hovered, .button.is-success.is-inverted.is-outlined:focus, .button.is-success.is-inverted.is-outlined.is-focused {\n background-color: #fff;\n color: hsl(141deg, 42%, 53%);\n}\n.button.is-success.is-inverted.is-outlined.is-loading:hover::after, .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-success.is-inverted.is-outlined.is-loading:focus::after, .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(141deg, 42%, 53%) hsl(141deg, 42%, 53%) !important;\n}\n.button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-success.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff;\n}\n.button.is-success.is-light {\n background-color: #f1f9f4;\n color: #327b4c;\n}\n.button.is-success.is-light:hover, .button.is-success.is-light.is-hovered {\n background-color: #e7f5ec;\n border-color: transparent;\n color: #327b4c;\n}\n.button.is-success.is-light:active, .button.is-success.is-light.is-active {\n background-color: #def2e5;\n border-color: transparent;\n color: #327b4c;\n}\n.button.is-warning {\n background-color: hsl(44deg, 100%, 77%);\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning:hover, .button.is-warning.is-hovered {\n background-color: #ffdc7d;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning:focus, .button.is-warning.is-focused {\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning:focus:not(:active), .button.is-warning.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(255, 224, 138, 0.25);\n}\n.button.is-warning:active, .button.is-warning.is-active {\n background-color: #ffd970;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning[disabled], fieldset[disabled] .button.is-warning {\n background-color: hsl(44deg, 100%, 77%);\n border-color: hsl(44deg, 100%, 77%);\n box-shadow: none;\n}\n.button.is-warning.is-inverted {\n background-color: rgba(0, 0, 0, 0.7);\n color: hsl(44deg, 100%, 77%);\n}\n.button.is-warning.is-inverted:hover, .button.is-warning.is-inverted.is-hovered {\n background-color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning.is-inverted[disabled], fieldset[disabled] .button.is-warning.is-inverted {\n background-color: rgba(0, 0, 0, 0.7);\n border-color: transparent;\n box-shadow: none;\n color: hsl(44deg, 100%, 77%);\n}\n.button.is-warning.is-loading::after {\n border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important;\n}\n.button.is-warning.is-outlined {\n background-color: transparent;\n border-color: hsl(44deg, 100%, 77%);\n color: hsl(44deg, 100%, 77%);\n}\n.button.is-warning.is-outlined:hover, .button.is-warning.is-outlined.is-hovered, .button.is-warning.is-outlined:focus, .button.is-warning.is-outlined.is-focused {\n background-color: hsl(44deg, 100%, 77%);\n border-color: hsl(44deg, 100%, 77%);\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(44deg, 100%, 77%) hsl(44deg, 100%, 77%) !important;\n}\n.button.is-warning.is-outlined.is-loading:hover::after, .button.is-warning.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-outlined.is-loading:focus::after, .button.is-warning.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important;\n}\n.button.is-warning.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-outlined {\n background-color: transparent;\n border-color: hsl(44deg, 100%, 77%);\n box-shadow: none;\n color: hsl(44deg, 100%, 77%);\n}\n.button.is-warning.is-inverted.is-outlined {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined.is-hovered, .button.is-warning.is-inverted.is-outlined:focus, .button.is-warning.is-inverted.is-outlined.is-focused {\n background-color: rgba(0, 0, 0, 0.7);\n color: hsl(44deg, 100%, 77%);\n}\n.button.is-warning.is-inverted.is-outlined.is-loading:hover::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(44deg, 100%, 77%) hsl(44deg, 100%, 77%) !important;\n}\n.button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-inverted.is-outlined {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n box-shadow: none;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning.is-light {\n background-color: #fffaeb;\n color: #946c00;\n}\n.button.is-warning.is-light:hover, .button.is-warning.is-light.is-hovered {\n background-color: #fff6de;\n border-color: transparent;\n color: #946c00;\n}\n.button.is-warning.is-light:active, .button.is-warning.is-light.is-active {\n background-color: #fff3d1;\n border-color: transparent;\n color: #946c00;\n}\n.button.is-danger {\n background-color: hsl(348deg, 100%, 61%);\n border-color: transparent;\n color: #fff;\n}\n.button.is-danger:hover, .button.is-danger.is-hovered {\n background-color: #ff2b56;\n border-color: transparent;\n color: #fff;\n}\n.button.is-danger:focus, .button.is-danger.is-focused {\n border-color: transparent;\n color: #fff;\n}\n.button.is-danger:focus:not(:active), .button.is-danger.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25);\n}\n.button.is-danger:active, .button.is-danger.is-active {\n background-color: #ff1f4b;\n border-color: transparent;\n color: #fff;\n}\n.button.is-danger[disabled], fieldset[disabled] .button.is-danger {\n background-color: hsl(348deg, 100%, 61%);\n border-color: hsl(348deg, 100%, 61%);\n box-shadow: none;\n}\n.button.is-danger.is-inverted {\n background-color: #fff;\n color: hsl(348deg, 100%, 61%);\n}\n.button.is-danger.is-inverted:hover, .button.is-danger.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-danger.is-inverted[disabled], fieldset[disabled] .button.is-danger.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: hsl(348deg, 100%, 61%);\n}\n.button.is-danger.is-loading::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-danger.is-outlined {\n background-color: transparent;\n border-color: hsl(348deg, 100%, 61%);\n color: hsl(348deg, 100%, 61%);\n}\n.button.is-danger.is-outlined:hover, .button.is-danger.is-outlined.is-hovered, .button.is-danger.is-outlined:focus, .button.is-danger.is-outlined.is-focused {\n background-color: hsl(348deg, 100%, 61%);\n border-color: hsl(348deg, 100%, 61%);\n color: #fff;\n}\n.button.is-danger.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(348deg, 100%, 61%) hsl(348deg, 100%, 61%) !important;\n}\n.button.is-danger.is-outlined.is-loading:hover::after, .button.is-danger.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-outlined.is-loading:focus::after, .button.is-danger.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-danger.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-outlined {\n background-color: transparent;\n border-color: hsl(348deg, 100%, 61%);\n box-shadow: none;\n color: hsl(348deg, 100%, 61%);\n}\n.button.is-danger.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff;\n}\n.button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined.is-hovered, .button.is-danger.is-inverted.is-outlined:focus, .button.is-danger.is-inverted.is-outlined.is-focused {\n background-color: #fff;\n color: hsl(348deg, 100%, 61%);\n}\n.button.is-danger.is-inverted.is-outlined.is-loading:hover::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(348deg, 100%, 61%) hsl(348deg, 100%, 61%) !important;\n}\n.button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff;\n}\n.button.is-danger.is-light {\n background-color: #ffebef;\n color: #db002c;\n}\n.button.is-danger.is-light:hover, .button.is-danger.is-light.is-hovered {\n background-color: #ffdee4;\n border-color: transparent;\n color: #db002c;\n}\n.button.is-danger.is-light:active, .button.is-danger.is-light.is-active {\n background-color: #ffd1da;\n border-color: transparent;\n color: #db002c;\n}\n.button.is-small {\n font-size: 0.75rem;\n}\n.button.is-small:not(.is-rounded) {\n border-radius: 2px;\n}\n.button.is-normal {\n font-size: 1rem;\n}\n.button.is-medium {\n font-size: 1.25rem;\n}\n.button.is-large {\n font-size: 1.5rem;\n}\n.button[disabled], fieldset[disabled] .button {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 86%);\n box-shadow: none;\n opacity: 0.5;\n}\n.button.is-fullwidth {\n display: flex;\n width: 100%;\n}\n.button.is-loading {\n color: transparent !important;\n pointer-events: none;\n}\n.button.is-loading::after {\n position: absolute;\n left: calc(50% - (1em * 0.5));\n top: calc(50% - (1em * 0.5));\n position: absolute !important;\n}\n.button.is-static {\n background-color: hsl(0deg, 0%, 96%);\n border-color: hsl(0deg, 0%, 86%);\n color: hsl(0deg, 0%, 48%);\n box-shadow: none;\n pointer-events: none;\n}\n.button.is-rounded {\n border-radius: 9999px;\n padding-left: calc(1em + 0.25em);\n padding-right: calc(1em + 0.25em);\n}\n\n.buttons {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n.buttons .button {\n margin-bottom: 0.5rem;\n}\n.buttons .button:not(:last-child):not(.is-fullwidth) {\n margin-right: 0.5rem;\n}\n.buttons:last-child {\n margin-bottom: -0.5rem;\n}\n.buttons:not(:last-child) {\n margin-bottom: 1rem;\n}\n.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {\n font-size: 0.75rem;\n}\n.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large):not(.is-rounded) {\n border-radius: 2px;\n}\n.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {\n font-size: 1.25rem;\n}\n.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {\n font-size: 1.5rem;\n}\n.buttons.has-addons .button:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.buttons.has-addons .button:not(:last-child) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n margin-right: -1px;\n}\n.buttons.has-addons .button:last-child {\n margin-right: 0;\n}\n.buttons.has-addons .button:hover, .buttons.has-addons .button.is-hovered {\n z-index: 2;\n}\n.buttons.has-addons .button:focus, .buttons.has-addons .button.is-focused, .buttons.has-addons .button:active, .buttons.has-addons .button.is-active, .buttons.has-addons .button.is-selected {\n z-index: 3;\n}\n.buttons.has-addons .button:focus:hover, .buttons.has-addons .button.is-focused:hover, .buttons.has-addons .button:active:hover, .buttons.has-addons .button.is-active:hover, .buttons.has-addons .button.is-selected:hover {\n z-index: 4;\n}\n.buttons.has-addons .button.is-expanded {\n flex-grow: 1;\n flex-shrink: 1;\n}\n.buttons.is-centered {\n justify-content: center;\n}\n.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n.buttons.is-right {\n justify-content: flex-end;\n}\n.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n\n@media screen and (max-width: 768px) {\n .button.is-responsive.is-small {\n font-size: 0.5625rem;\n }\n\n .button.is-responsive,\n.button.is-responsive.is-normal {\n font-size: 0.65625rem;\n }\n\n .button.is-responsive.is-medium {\n font-size: 0.75rem;\n }\n\n .button.is-responsive.is-large {\n font-size: 1rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .button.is-responsive.is-small {\n font-size: 0.65625rem;\n }\n\n .button.is-responsive,\n.button.is-responsive.is-normal {\n font-size: 0.75rem;\n }\n\n .button.is-responsive.is-medium {\n font-size: 1rem;\n }\n\n .button.is-responsive.is-large {\n font-size: 1.25rem;\n }\n}\n.container {\n flex-grow: 1;\n margin: 0 auto;\n position: relative;\n width: auto;\n}\n.container.is-fluid {\n max-width: none !important;\n padding-left: 32px;\n padding-right: 32px;\n width: 100%;\n}\n@media screen and (min-width: 1024px) {\n .container {\n max-width: 960px;\n }\n}\n@media screen and (max-width: 1215px) {\n .container.is-widescreen:not(.is-max-desktop) {\n max-width: 1152px;\n }\n}\n@media screen and (max-width: 1407px) {\n .container.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen) {\n max-width: 1344px;\n }\n}\n@media screen and (min-width: 1216px) {\n .container:not(.is-max-desktop) {\n max-width: 1152px;\n }\n}\n@media screen and (min-width: 1408px) {\n .container:not(.is-max-desktop):not(.is-max-widescreen) {\n max-width: 1344px;\n }\n}\n\n.content li + li {\n margin-top: 0.25em;\n}\n.content p:not(:last-child),\n.content dl:not(:last-child),\n.content ol:not(:last-child),\n.content ul:not(:last-child),\n.content blockquote:not(:last-child),\n.content pre:not(:last-child),\n.content table:not(:last-child) {\n margin-bottom: 1em;\n}\n.content h1,\n.content h2,\n.content h3,\n.content h4,\n.content h5,\n.content h6 {\n color: hsl(0deg, 0%, 21%);\n font-weight: 600;\n line-height: 1.125;\n}\n.content h1 {\n font-size: 2em;\n margin-bottom: 0.5em;\n}\n.content h1:not(:first-child) {\n margin-top: 1em;\n}\n.content h2 {\n font-size: 1.75em;\n margin-bottom: 0.5714em;\n}\n.content h2:not(:first-child) {\n margin-top: 1.1428em;\n}\n.content h3 {\n font-size: 1.5em;\n margin-bottom: 0.6666em;\n}\n.content h3:not(:first-child) {\n margin-top: 1.3333em;\n}\n.content h4 {\n font-size: 1.25em;\n margin-bottom: 0.8em;\n}\n.content h5 {\n font-size: 1.125em;\n margin-bottom: 0.8888em;\n}\n.content h6 {\n font-size: 1em;\n margin-bottom: 1em;\n}\n.content blockquote {\n background-color: hsl(0deg, 0%, 96%);\n border-left: 5px solid hsl(0deg, 0%, 86%);\n padding: 1.25em 1.5em;\n}\n.content ol {\n list-style-position: outside;\n margin-left: 2em;\n margin-top: 1em;\n}\n.content ol:not([type]) {\n list-style-type: decimal;\n}\n.content ol:not([type]).is-lower-alpha {\n list-style-type: lower-alpha;\n}\n.content ol:not([type]).is-lower-roman {\n list-style-type: lower-roman;\n}\n.content ol:not([type]).is-upper-alpha {\n list-style-type: upper-alpha;\n}\n.content ol:not([type]).is-upper-roman {\n list-style-type: upper-roman;\n}\n.content ul {\n list-style: disc outside;\n margin-left: 2em;\n margin-top: 1em;\n}\n.content ul ul {\n list-style-type: circle;\n margin-top: 0.5em;\n}\n.content ul ul ul {\n list-style-type: square;\n}\n.content dd {\n margin-left: 2em;\n}\n.content figure {\n margin-left: 2em;\n margin-right: 2em;\n text-align: center;\n}\n.content figure:not(:first-child) {\n margin-top: 2em;\n}\n.content figure:not(:last-child) {\n margin-bottom: 2em;\n}\n.content figure img {\n display: inline-block;\n}\n.content figure figcaption {\n font-style: italic;\n}\n.content pre {\n -webkit-overflow-scrolling: touch;\n overflow-x: auto;\n padding: 1.25em 1.5em;\n white-space: pre;\n word-wrap: normal;\n}\n.content sup,\n.content sub {\n font-size: 75%;\n}\n.content table {\n width: 100%;\n}\n.content table td,\n.content table th {\n border: 1px solid hsl(0deg, 0%, 86%);\n border-width: 0 0 1px;\n padding: 0.5em 0.75em;\n vertical-align: top;\n}\n.content table th {\n color: hsl(0deg, 0%, 21%);\n}\n.content table th:not([align]) {\n text-align: inherit;\n}\n.content table thead td,\n.content table thead th {\n border-width: 0 0 2px;\n color: hsl(0deg, 0%, 21%);\n}\n.content table tfoot td,\n.content table tfoot th {\n border-width: 2px 0 0;\n color: hsl(0deg, 0%, 21%);\n}\n.content table tbody tr:last-child td,\n.content table tbody tr:last-child th {\n border-bottom-width: 0;\n}\n.content .tabs li + li {\n margin-top: 0;\n}\n.content.is-small {\n font-size: 0.75rem;\n}\n.content.is-normal {\n font-size: 1rem;\n}\n.content.is-medium {\n font-size: 1.25rem;\n}\n.content.is-large {\n font-size: 1.5rem;\n}\n\n.icon {\n align-items: center;\n display: inline-flex;\n justify-content: center;\n height: 1.5rem;\n width: 1.5rem;\n}\n.icon.is-small {\n height: 1rem;\n width: 1rem;\n}\n.icon.is-medium {\n height: 2rem;\n width: 2rem;\n}\n.icon.is-large {\n height: 3rem;\n width: 3rem;\n}\n\n.icon-text {\n align-items: flex-start;\n color: inherit;\n display: inline-flex;\n flex-wrap: wrap;\n line-height: 1.5rem;\n vertical-align: top;\n}\n.icon-text .icon {\n flex-grow: 0;\n flex-shrink: 0;\n}\n.icon-text .icon:not(:last-child) {\n margin-right: 0.25em;\n}\n.icon-text .icon:not(:first-child) {\n margin-left: 0.25em;\n}\n\ndiv.icon-text {\n display: flex;\n}\n\n.notification {\n background-color: hsl(0deg, 0%, 96%);\n border-radius: 4px;\n position: relative;\n padding: 1.25rem 2.5rem 1.25rem 1.5rem;\n}\n.notification a:not(.button):not(.dropdown-item) {\n color: currentColor;\n text-decoration: underline;\n}\n.notification strong {\n color: currentColor;\n}\n.notification code,\n.notification pre {\n background: hsl(0deg, 0%, 0%);\n}\n.notification pre code {\n background: transparent;\n}\n.notification > .delete {\n right: 0.5rem;\n position: absolute;\n top: 0.5rem;\n}\n.notification .title,\n.notification .subtitle,\n.notification .content {\n color: currentColor;\n}\n.notification.is-white {\n background-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.notification.is-black {\n background-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.notification.is-light {\n background-color: hsl(0deg, 0%, 96%);\n color: rgba(0, 0, 0, 0.7);\n}\n.notification.is-dark {\n background-color: hsl(0deg, 0%, 21%);\n color: #fff;\n}\n.notification.is-primary {\n background-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.notification.is-primary.is-light {\n background-color: #ebfffc;\n color: #00947e;\n}\n.notification.is-link {\n background-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n.notification.is-link.is-light {\n background-color: #edf5fd;\n color: #1671c0;\n}\n.notification.is-info {\n background-color: hsl(217deg, 89%, 61%);\n color: #fff;\n}\n.notification.is-info.is-light {\n background-color: #ecf3fe;\n color: #0c53c6;\n}\n.notification.is-success {\n background-color: hsl(141deg, 42%, 53%);\n color: #fff;\n}\n.notification.is-success.is-light {\n background-color: #f1f9f4;\n color: #327b4c;\n}\n.notification.is-warning {\n background-color: hsl(44deg, 100%, 77%);\n color: rgba(0, 0, 0, 0.7);\n}\n.notification.is-warning.is-light {\n background-color: #fffaeb;\n color: #946c00;\n}\n.notification.is-danger {\n background-color: hsl(348deg, 100%, 61%);\n color: #fff;\n}\n.notification.is-danger.is-light {\n background-color: #ffebef;\n color: #db002c;\n}\n\n.progress {\n -moz-appearance: none;\n -webkit-appearance: none;\n border: none;\n border-radius: 9999px;\n display: block;\n height: 1rem;\n overflow: hidden;\n padding: 0;\n width: 100%;\n}\n.progress::-webkit-progress-bar {\n background-color: hsl(0deg, 0%, 93%);\n}\n.progress::-webkit-progress-value {\n background-color: hsl(0deg, 0%, 96%);\n}\n.progress::-moz-progress-bar {\n background-color: hsl(0deg, 0%, 96%);\n}\n.progress::-ms-fill {\n background-color: hsl(0deg, 0%, 96%);\n border: none;\n}\n.progress.is-white::-webkit-progress-value {\n background-color: hsl(0deg, 0%, 100%);\n}\n.progress.is-white::-moz-progress-bar {\n background-color: hsl(0deg, 0%, 100%);\n}\n.progress.is-white::-ms-fill {\n background-color: hsl(0deg, 0%, 100%);\n}\n.progress.is-white:indeterminate {\n background-image: linear-gradient(to right, hsl(0deg, 0%, 100%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-black::-webkit-progress-value {\n background-color: hsl(0deg, 0%, 0%);\n}\n.progress.is-black::-moz-progress-bar {\n background-color: hsl(0deg, 0%, 0%);\n}\n.progress.is-black::-ms-fill {\n background-color: hsl(0deg, 0%, 0%);\n}\n.progress.is-black:indeterminate {\n background-image: linear-gradient(to right, hsl(0deg, 0%, 0%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-light::-webkit-progress-value {\n background-color: hsl(0deg, 0%, 96%);\n}\n.progress.is-light::-moz-progress-bar {\n background-color: hsl(0deg, 0%, 96%);\n}\n.progress.is-light::-ms-fill {\n background-color: hsl(0deg, 0%, 96%);\n}\n.progress.is-light:indeterminate {\n background-image: linear-gradient(to right, hsl(0deg, 0%, 96%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-dark::-webkit-progress-value {\n background-color: hsl(0deg, 0%, 21%);\n}\n.progress.is-dark::-moz-progress-bar {\n background-color: hsl(0deg, 0%, 21%);\n}\n.progress.is-dark::-ms-fill {\n background-color: hsl(0deg, 0%, 21%);\n}\n.progress.is-dark:indeterminate {\n background-image: linear-gradient(to right, hsl(0deg, 0%, 21%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-primary::-webkit-progress-value {\n background-color: hsl(171deg, 100%, 41%);\n}\n.progress.is-primary::-moz-progress-bar {\n background-color: hsl(171deg, 100%, 41%);\n}\n.progress.is-primary::-ms-fill {\n background-color: hsl(171deg, 100%, 41%);\n}\n.progress.is-primary:indeterminate {\n background-image: linear-gradient(to right, hsl(171deg, 100%, 41%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-link::-webkit-progress-value {\n background-color: hsl(208deg, 79%, 51%);\n}\n.progress.is-link::-moz-progress-bar {\n background-color: hsl(208deg, 79%, 51%);\n}\n.progress.is-link::-ms-fill {\n background-color: hsl(208deg, 79%, 51%);\n}\n.progress.is-link:indeterminate {\n background-image: linear-gradient(to right, hsl(208deg, 79%, 51%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-info::-webkit-progress-value {\n background-color: hsl(217deg, 89%, 61%);\n}\n.progress.is-info::-moz-progress-bar {\n background-color: hsl(217deg, 89%, 61%);\n}\n.progress.is-info::-ms-fill {\n background-color: hsl(217deg, 89%, 61%);\n}\n.progress.is-info:indeterminate {\n background-image: linear-gradient(to right, hsl(217deg, 89%, 61%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-success::-webkit-progress-value {\n background-color: hsl(141deg, 42%, 53%);\n}\n.progress.is-success::-moz-progress-bar {\n background-color: hsl(141deg, 42%, 53%);\n}\n.progress.is-success::-ms-fill {\n background-color: hsl(141deg, 42%, 53%);\n}\n.progress.is-success:indeterminate {\n background-image: linear-gradient(to right, hsl(141deg, 42%, 53%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-warning::-webkit-progress-value {\n background-color: hsl(44deg, 100%, 77%);\n}\n.progress.is-warning::-moz-progress-bar {\n background-color: hsl(44deg, 100%, 77%);\n}\n.progress.is-warning::-ms-fill {\n background-color: hsl(44deg, 100%, 77%);\n}\n.progress.is-warning:indeterminate {\n background-image: linear-gradient(to right, hsl(44deg, 100%, 77%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-danger::-webkit-progress-value {\n background-color: hsl(348deg, 100%, 61%);\n}\n.progress.is-danger::-moz-progress-bar {\n background-color: hsl(348deg, 100%, 61%);\n}\n.progress.is-danger::-ms-fill {\n background-color: hsl(348deg, 100%, 61%);\n}\n.progress.is-danger:indeterminate {\n background-image: linear-gradient(to right, hsl(348deg, 100%, 61%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress:indeterminate {\n animation-duration: 1.5s;\n animation-iteration-count: infinite;\n animation-name: moveIndeterminate;\n animation-timing-function: linear;\n background-color: hsl(0deg, 0%, 93%);\n background-image: linear-gradient(to right, hsl(0deg, 0%, 96%) 30%, hsl(0deg, 0%, 93%) 30%);\n background-position: top left;\n background-repeat: no-repeat;\n background-size: 150% 150%;\n}\n.progress:indeterminate::-webkit-progress-bar {\n background-color: transparent;\n}\n.progress:indeterminate::-moz-progress-bar {\n background-color: transparent;\n}\n.progress:indeterminate::-ms-fill {\n animation-name: none;\n}\n.progress.is-small {\n height: 0.75rem;\n}\n.progress.is-medium {\n height: 1.25rem;\n}\n.progress.is-large {\n height: 1.5rem;\n}\n\n@keyframes moveIndeterminate {\n from {\n background-position: 200% 0;\n }\n to {\n background-position: -200% 0;\n }\n}\n.table {\n background-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 21%);\n}\n.table td,\n.table th {\n border: 1px solid hsl(0deg, 0%, 86%);\n border-width: 0 0 1px;\n padding: 0.5em 0.75em;\n vertical-align: top;\n}\n.table td.is-white,\n.table th.is-white {\n background-color: hsl(0deg, 0%, 100%);\n border-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.table td.is-black,\n.table th.is-black {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.table td.is-light,\n.table th.is-light {\n background-color: hsl(0deg, 0%, 96%);\n border-color: hsl(0deg, 0%, 96%);\n color: rgba(0, 0, 0, 0.7);\n}\n.table td.is-dark,\n.table th.is-dark {\n background-color: hsl(0deg, 0%, 21%);\n border-color: hsl(0deg, 0%, 21%);\n color: #fff;\n}\n.table td.is-primary,\n.table th.is-primary {\n background-color: hsl(171deg, 100%, 41%);\n border-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.table td.is-link,\n.table th.is-link {\n background-color: hsl(208deg, 79%, 51%);\n border-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n.table td.is-info,\n.table th.is-info {\n background-color: hsl(217deg, 89%, 61%);\n border-color: hsl(217deg, 89%, 61%);\n color: #fff;\n}\n.table td.is-success,\n.table th.is-success {\n background-color: hsl(141deg, 42%, 53%);\n border-color: hsl(141deg, 42%, 53%);\n color: #fff;\n}\n.table td.is-warning,\n.table th.is-warning {\n background-color: hsl(44deg, 100%, 77%);\n border-color: hsl(44deg, 100%, 77%);\n color: rgba(0, 0, 0, 0.7);\n}\n.table td.is-danger,\n.table th.is-danger {\n background-color: hsl(348deg, 100%, 61%);\n border-color: hsl(348deg, 100%, 61%);\n color: #fff;\n}\n.table td.is-narrow,\n.table th.is-narrow {\n white-space: nowrap;\n width: 1%;\n}\n.table td.is-selected,\n.table th.is-selected {\n background-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.table td.is-selected a,\n.table td.is-selected strong,\n.table th.is-selected a,\n.table th.is-selected strong {\n color: currentColor;\n}\n.table td.is-vcentered,\n.table th.is-vcentered {\n vertical-align: middle;\n}\n.table th {\n color: hsl(0deg, 0%, 21%);\n}\n.table th:not([align]) {\n text-align: left;\n}\n.table tr.is-selected {\n background-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.table tr.is-selected a,\n.table tr.is-selected strong {\n color: currentColor;\n}\n.table tr.is-selected td,\n.table tr.is-selected th {\n border-color: #fff;\n color: currentColor;\n}\n.table thead {\n background-color: transparent;\n}\n.table thead td,\n.table thead th {\n border-width: 0 0 2px;\n color: hsl(0deg, 0%, 21%);\n}\n.table tfoot {\n background-color: transparent;\n}\n.table tfoot td,\n.table tfoot th {\n border-width: 2px 0 0;\n color: hsl(0deg, 0%, 21%);\n}\n.table tbody {\n background-color: transparent;\n}\n.table tbody tr:last-child td,\n.table tbody tr:last-child th {\n border-bottom-width: 0;\n}\n.table.is-bordered td,\n.table.is-bordered th {\n border-width: 1px;\n}\n.table.is-bordered tr:last-child td,\n.table.is-bordered tr:last-child th {\n border-bottom-width: 1px;\n}\n.table.is-fullwidth {\n width: 100%;\n}\n.table.is-hoverable tbody tr:not(.is-selected):hover {\n background-color: hsl(0deg, 0%, 98%);\n}\n.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {\n background-color: hsl(0deg, 0%, 98%);\n}\n.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {\n background-color: hsl(0deg, 0%, 96%);\n}\n.table.is-narrow td,\n.table.is-narrow th {\n padding: 0.25em 0.5em;\n}\n.table.is-striped tbody tr:not(.is-selected):nth-child(even) {\n background-color: hsl(0deg, 0%, 98%);\n}\n\n.table-container {\n -webkit-overflow-scrolling: touch;\n overflow: auto;\n overflow-y: hidden;\n max-width: 100%;\n}\n\n.title,\n.subtitle {\n word-break: break-word;\n}\n.title em,\n.title span,\n.subtitle em,\n.subtitle span {\n font-weight: inherit;\n}\n.title sub,\n.subtitle sub {\n font-size: 0.75em;\n}\n.title sup,\n.subtitle sup {\n font-size: 0.75em;\n}\n.title .tag,\n.subtitle .tag {\n vertical-align: middle;\n}\n\n.title {\n color: hsl(0deg, 0%, 96%);\n font-size: 2rem;\n font-weight: 600;\n line-height: 1.125;\n}\n.title strong {\n color: inherit;\n font-weight: inherit;\n}\n.title:not(.is-spaced) + .subtitle {\n margin-top: -1.25rem;\n}\n.title.is-1 {\n font-size: 3rem;\n}\n.title.is-2 {\n font-size: 2.5rem;\n}\n.title.is-3 {\n font-size: 2rem;\n}\n.title.is-4 {\n font-size: 1.5rem;\n}\n.title.is-5 {\n font-size: 1.25rem;\n}\n.title.is-6 {\n font-size: 1rem;\n}\n.title.is-7 {\n font-size: 0.75rem;\n}\n\n.subtitle {\n color: hsl(0deg, 0%, 93%);\n font-size: 1.25rem;\n font-weight: 400;\n line-height: 1.25;\n}\n.subtitle strong {\n color: hsl(0deg, 0%, 93%);\n font-weight: 600;\n}\n.subtitle:not(.is-spaced) + .title {\n margin-top: -1.25rem;\n}\n.subtitle.is-1 {\n font-size: 3rem;\n}\n.subtitle.is-2 {\n font-size: 2.5rem;\n}\n.subtitle.is-3 {\n font-size: 2rem;\n}\n.subtitle.is-4 {\n font-size: 1.5rem;\n}\n.subtitle.is-5 {\n font-size: 1.25rem;\n}\n.subtitle.is-6 {\n font-size: 1rem;\n}\n.subtitle.is-7 {\n font-size: 0.75rem;\n}\n\n.heading {\n display: block;\n font-size: 11px;\n letter-spacing: 1px;\n margin-bottom: 5px;\n text-transform: uppercase;\n}\n\n.number {\n align-items: center;\n background-color: hsl(0deg, 0%, 96%);\n border-radius: 9999px;\n display: inline-flex;\n font-size: 1.25rem;\n height: 2em;\n justify-content: center;\n margin-right: 1.5rem;\n min-width: 2.5em;\n padding: 0.25rem 0.5rem;\n text-align: center;\n vertical-align: top;\n}\n\n/** Bulma: Form **/\n/* Bulma Form */\n.select select, .textarea, .input {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 48%);\n border-radius: 4px;\n color: hsl(0deg, 0%, 96%);\n}\n.select select::-moz-placeholder, .textarea::-moz-placeholder, .input::-moz-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .input::-webkit-input-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select:-moz-placeholder, .textarea:-moz-placeholder, .input:-moz-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select:-ms-input-placeholder, .textarea:-ms-input-placeholder, .input:-ms-input-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select:hover, .textarea:hover, .input:hover, .select select.is-hovered, .is-hovered.textarea, .is-hovered.input {\n border-color: hsl(208deg, 79%, 51%);\n}\n.select select:focus, .textarea:focus, .input:focus, .select select.is-focused, .is-focused.textarea, .is-focused.input, .select select:active, .textarea:active, .input:active, .select select.is-active, .is-active.textarea, .is-active.input {\n border-color: #edf5fd;\n box-shadow: 0 0 0 0.125em rgba(31, 137, 229, 0.25);\n}\n.select select[disabled], [disabled].textarea, [disabled].input, fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input {\n background-color: hsl(0deg, 0%, 29%);\n border-color: hsl(0deg, 0%, 48%);\n box-shadow: none;\n color: hsl(0deg, 0%, 96%);\n}\n.select select[disabled]::-moz-placeholder, [disabled].textarea::-moz-placeholder, [disabled].input::-moz-placeholder, fieldset[disabled] .select select::-moz-placeholder, .select fieldset[disabled] select::-moz-placeholder, fieldset[disabled] .textarea::-moz-placeholder, fieldset[disabled] .input::-moz-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select[disabled]::-webkit-input-placeholder, [disabled].textarea::-webkit-input-placeholder, [disabled].input::-webkit-input-placeholder, fieldset[disabled] .select select::-webkit-input-placeholder, .select fieldset[disabled] select::-webkit-input-placeholder, fieldset[disabled] .textarea::-webkit-input-placeholder, fieldset[disabled] .input::-webkit-input-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select[disabled]:-moz-placeholder, [disabled].textarea:-moz-placeholder, [disabled].input:-moz-placeholder, fieldset[disabled] .select select:-moz-placeholder, .select fieldset[disabled] select:-moz-placeholder, fieldset[disabled] .textarea:-moz-placeholder, fieldset[disabled] .input:-moz-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select[disabled]:-ms-input-placeholder, [disabled].textarea:-ms-input-placeholder, [disabled].input:-ms-input-placeholder, fieldset[disabled] .select select:-ms-input-placeholder, .select fieldset[disabled] select:-ms-input-placeholder, fieldset[disabled] .textarea:-ms-input-placeholder, fieldset[disabled] .input:-ms-input-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n\n.textarea, .input {\n box-shadow: inset 0 0.0625em 0.125em rgba(0, 0, 0, 0.05);\n max-width: 100%;\n width: 100%;\n}\n[readonly].textarea, [readonly].input {\n box-shadow: none;\n}\n.is-white.textarea, .is-white.input {\n border-color: hsl(0deg, 0%, 100%);\n}\n.is-white.textarea:focus, .is-white.input:focus, .is-white.is-focused.textarea, .is-white.is-focused.input, .is-white.textarea:active, .is-white.input:active, .is-white.is-active.textarea, .is-white.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25);\n}\n.is-black.textarea, .is-black.input {\n border-color: hsl(0deg, 0%, 0%);\n}\n.is-black.textarea:focus, .is-black.input:focus, .is-black.is-focused.textarea, .is-black.is-focused.input, .is-black.textarea:active, .is-black.input:active, .is-black.is-active.textarea, .is-black.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(0, 0, 0, 0.25);\n}\n.is-light.textarea, .is-light.input {\n border-color: hsl(0deg, 0%, 96%);\n}\n.is-light.textarea:focus, .is-light.input:focus, .is-light.is-focused.textarea, .is-light.is-focused.input, .is-light.textarea:active, .is-light.input:active, .is-light.is-active.textarea, .is-light.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25);\n}\n.is-dark.textarea, .is-dark.input {\n border-color: hsl(0deg, 0%, 21%);\n}\n.is-dark.textarea:focus, .is-dark.input:focus, .is-dark.is-focused.textarea, .is-dark.is-focused.input, .is-dark.textarea:active, .is-dark.input:active, .is-dark.is-active.textarea, .is-dark.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25);\n}\n.is-primary.textarea, .is-primary.input {\n border-color: hsl(171deg, 100%, 41%);\n}\n.is-primary.textarea:focus, .is-primary.input:focus, .is-primary.is-focused.textarea, .is-primary.is-focused.input, .is-primary.textarea:active, .is-primary.input:active, .is-primary.is-active.textarea, .is-primary.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);\n}\n.is-link.textarea, .is-link.input {\n border-color: hsl(208deg, 79%, 51%);\n}\n.is-link.textarea:focus, .is-link.input:focus, .is-link.is-focused.textarea, .is-link.is-focused.input, .is-link.textarea:active, .is-link.input:active, .is-link.is-active.textarea, .is-link.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(31, 137, 229, 0.25);\n}\n.is-info.textarea, .is-info.input {\n border-color: hsl(217deg, 89%, 61%);\n}\n.is-info.textarea:focus, .is-info.input:focus, .is-info.is-focused.textarea, .is-info.is-focused.input, .is-info.textarea:active, .is-info.input:active, .is-info.is-active.textarea, .is-info.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(67, 135, 244, 0.25);\n}\n.is-success.textarea, .is-success.input {\n border-color: hsl(141deg, 42%, 53%);\n}\n.is-success.textarea:focus, .is-success.input:focus, .is-success.is-focused.textarea, .is-success.is-focused.input, .is-success.textarea:active, .is-success.input:active, .is-success.is-active.textarea, .is-success.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(85, 185, 120, 0.25);\n}\n.is-warning.textarea, .is-warning.input {\n border-color: hsl(44deg, 100%, 77%);\n}\n.is-warning.textarea:focus, .is-warning.input:focus, .is-warning.is-focused.textarea, .is-warning.is-focused.input, .is-warning.textarea:active, .is-warning.input:active, .is-warning.is-active.textarea, .is-warning.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(255, 224, 138, 0.25);\n}\n.is-danger.textarea, .is-danger.input {\n border-color: hsl(348deg, 100%, 61%);\n}\n.is-danger.textarea:focus, .is-danger.input:focus, .is-danger.is-focused.textarea, .is-danger.is-focused.input, .is-danger.textarea:active, .is-danger.input:active, .is-danger.is-active.textarea, .is-danger.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25);\n}\n.is-small.textarea, .is-small.input {\n border-radius: 2px;\n font-size: 0.75rem;\n}\n.is-medium.textarea, .is-medium.input {\n font-size: 1.25rem;\n}\n.is-large.textarea, .is-large.input {\n font-size: 1.5rem;\n}\n.is-fullwidth.textarea, .is-fullwidth.input {\n display: block;\n width: 100%;\n}\n.is-inline.textarea, .is-inline.input {\n display: inline;\n width: auto;\n}\n\n.input.is-rounded {\n border-radius: 9999px;\n padding-left: calc(calc(0.75em - 1px) + 0.375em);\n padding-right: calc(calc(0.75em - 1px) + 0.375em);\n}\n.input.is-static {\n background-color: transparent;\n border-color: transparent;\n box-shadow: none;\n padding-left: 0;\n padding-right: 0;\n}\n\n.textarea {\n display: block;\n max-width: 100%;\n min-width: 100%;\n padding: calc(0.75em - 1px);\n resize: vertical;\n}\n.textarea:not([rows]) {\n max-height: 40em;\n min-height: 8em;\n}\n.textarea[rows] {\n height: initial;\n}\n.textarea.has-fixed-size {\n resize: none;\n}\n\n.radio, .checkbox {\n cursor: pointer;\n display: inline-block;\n line-height: 1.25;\n position: relative;\n}\n.radio input, .checkbox input {\n cursor: pointer;\n}\n.radio:hover, .checkbox:hover {\n color: hsl(0deg, 0%, 21%);\n}\n[disabled].radio, [disabled].checkbox, fieldset[disabled] .radio, fieldset[disabled] .checkbox,\n.radio input[disabled],\n.checkbox input[disabled] {\n color: hsl(0deg, 0%, 96%);\n cursor: not-allowed;\n}\n\n.radio + .radio {\n margin-left: 0.5em;\n}\n\n.select {\n display: inline-block;\n max-width: 100%;\n position: relative;\n vertical-align: top;\n}\n.select:not(.is-multiple) {\n height: 2.5em;\n}\n.select:not(.is-multiple):not(.is-loading)::after {\n border-color: hsl(208deg, 79%, 51%);\n right: 1.125em;\n z-index: 4;\n}\n.select.is-rounded select {\n border-radius: 9999px;\n padding-left: 1em;\n}\n.select select {\n cursor: pointer;\n display: block;\n font-size: 1em;\n max-width: 100%;\n outline: none;\n}\n.select select::-ms-expand {\n display: none;\n}\n.select select[disabled]:hover, fieldset[disabled] .select select:hover {\n border-color: hsl(0deg, 0%, 48%);\n}\n.select select:not([multiple]) {\n padding-right: 2.5em;\n}\n.select select[multiple] {\n height: auto;\n padding: 0;\n}\n.select select[multiple] option {\n padding: 0.5em 1em;\n}\n.select:not(.is-multiple):not(.is-loading):hover::after {\n border-color: hsl(0deg, 0%, 21%);\n}\n.select.is-white:not(:hover)::after {\n border-color: hsl(0deg, 0%, 100%);\n}\n.select.is-white select {\n border-color: hsl(0deg, 0%, 100%);\n}\n.select.is-white select:hover, .select.is-white select.is-hovered {\n border-color: #f2f2f2;\n}\n.select.is-white select:focus, .select.is-white select.is-focused, .select.is-white select:active, .select.is-white select.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25);\n}\n.select.is-black:not(:hover)::after {\n border-color: hsl(0deg, 0%, 0%);\n}\n.select.is-black select {\n border-color: hsl(0deg, 0%, 0%);\n}\n.select.is-black select:hover, .select.is-black select.is-hovered {\n border-color: black;\n}\n.select.is-black select:focus, .select.is-black select.is-focused, .select.is-black select:active, .select.is-black select.is-active {\n box-shadow: 0 0 0 0.125em rgba(0, 0, 0, 0.25);\n}\n.select.is-light:not(:hover)::after {\n border-color: hsl(0deg, 0%, 96%);\n}\n.select.is-light select {\n border-color: hsl(0deg, 0%, 96%);\n}\n.select.is-light select:hover, .select.is-light select.is-hovered {\n border-color: #e8e8e8;\n}\n.select.is-light select:focus, .select.is-light select.is-focused, .select.is-light select:active, .select.is-light select.is-active {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25);\n}\n.select.is-dark:not(:hover)::after {\n border-color: hsl(0deg, 0%, 21%);\n}\n.select.is-dark select {\n border-color: hsl(0deg, 0%, 21%);\n}\n.select.is-dark select:hover, .select.is-dark select.is-hovered {\n border-color: #292929;\n}\n.select.is-dark select:focus, .select.is-dark select.is-focused, .select.is-dark select:active, .select.is-dark select.is-active {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25);\n}\n.select.is-primary:not(:hover)::after {\n border-color: hsl(171deg, 100%, 41%);\n}\n.select.is-primary select {\n border-color: hsl(171deg, 100%, 41%);\n}\n.select.is-primary select:hover, .select.is-primary select.is-hovered {\n border-color: #00b89c;\n}\n.select.is-primary select:focus, .select.is-primary select.is-focused, .select.is-primary select:active, .select.is-primary select.is-active {\n box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);\n}\n.select.is-link:not(:hover)::after {\n border-color: hsl(208deg, 79%, 51%);\n}\n.select.is-link select {\n border-color: hsl(208deg, 79%, 51%);\n}\n.select.is-link select:hover, .select.is-link select.is-hovered {\n border-color: #197bd2;\n}\n.select.is-link select:focus, .select.is-link select.is-focused, .select.is-link select:active, .select.is-link select.is-active {\n box-shadow: 0 0 0 0.125em rgba(31, 137, 229, 0.25);\n}\n.select.is-info:not(:hover)::after {\n border-color: hsl(217deg, 89%, 61%);\n}\n.select.is-info select {\n border-color: hsl(217deg, 89%, 61%);\n}\n.select.is-info select:hover, .select.is-info select.is-hovered {\n border-color: #2b77f3;\n}\n.select.is-info select:focus, .select.is-info select.is-focused, .select.is-info select:active, .select.is-info select.is-active {\n box-shadow: 0 0 0 0.125em rgba(67, 135, 244, 0.25);\n}\n.select.is-success:not(:hover)::after {\n border-color: hsl(141deg, 42%, 53%);\n}\n.select.is-success select {\n border-color: hsl(141deg, 42%, 53%);\n}\n.select.is-success select:hover, .select.is-success select.is-hovered {\n border-color: #47ae6b;\n}\n.select.is-success select:focus, .select.is-success select.is-focused, .select.is-success select:active, .select.is-success select.is-active {\n box-shadow: 0 0 0 0.125em rgba(85, 185, 120, 0.25);\n}\n.select.is-warning:not(:hover)::after {\n border-color: hsl(44deg, 100%, 77%);\n}\n.select.is-warning select {\n border-color: hsl(44deg, 100%, 77%);\n}\n.select.is-warning select:hover, .select.is-warning select.is-hovered {\n border-color: #ffd970;\n}\n.select.is-warning select:focus, .select.is-warning select.is-focused, .select.is-warning select:active, .select.is-warning select.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 224, 138, 0.25);\n}\n.select.is-danger:not(:hover)::after {\n border-color: hsl(348deg, 100%, 61%);\n}\n.select.is-danger select {\n border-color: hsl(348deg, 100%, 61%);\n}\n.select.is-danger select:hover, .select.is-danger select.is-hovered {\n border-color: #ff1f4b;\n}\n.select.is-danger select:focus, .select.is-danger select.is-focused, .select.is-danger select:active, .select.is-danger select.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25);\n}\n.select.is-small {\n border-radius: 2px;\n font-size: 0.75rem;\n}\n.select.is-medium {\n font-size: 1.25rem;\n}\n.select.is-large {\n font-size: 1.5rem;\n}\n.select.is-disabled::after {\n border-color: hsl(0deg, 0%, 96%) !important;\n opacity: 0.5;\n}\n.select.is-fullwidth {\n width: 100%;\n}\n.select.is-fullwidth select {\n width: 100%;\n}\n.select.is-loading::after {\n margin-top: 0;\n position: absolute;\n right: 0.625em;\n top: 0.625em;\n transform: none;\n}\n.select.is-loading.is-small:after {\n font-size: 0.75rem;\n}\n.select.is-loading.is-medium:after {\n font-size: 1.25rem;\n}\n.select.is-loading.is-large:after {\n font-size: 1.5rem;\n}\n\n.file {\n align-items: stretch;\n display: flex;\n justify-content: flex-start;\n position: relative;\n}\n.file.is-white .file-cta {\n background-color: hsl(0deg, 0%, 100%);\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.file.is-white:hover .file-cta, .file.is-white.is-hovered .file-cta {\n background-color: #f9f9f9;\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.file.is-white:focus .file-cta, .file.is-white.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);\n color: hsl(0deg, 0%, 0%);\n}\n.file.is-white:active .file-cta, .file.is-white.is-active .file-cta {\n background-color: #f2f2f2;\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.file.is-black .file-cta {\n background-color: hsl(0deg, 0%, 0%);\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.file.is-black:hover .file-cta, .file.is-black.is-hovered .file-cta {\n background-color: black;\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.file.is-black:focus .file-cta, .file.is-black.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.25);\n color: hsl(0deg, 0%, 100%);\n}\n.file.is-black:active .file-cta, .file.is-black.is-active .file-cta {\n background-color: black;\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.file.is-light .file-cta {\n background-color: hsl(0deg, 0%, 96%);\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-light:hover .file-cta, .file.is-light.is-hovered .file-cta {\n background-color: #eeeeee;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-light:focus .file-cta, .file.is-light.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-light:active .file-cta, .file.is-light.is-active .file-cta {\n background-color: #e8e8e8;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-dark .file-cta {\n background-color: hsl(0deg, 0%, 21%);\n border-color: transparent;\n color: #fff;\n}\n.file.is-dark:hover .file-cta, .file.is-dark.is-hovered .file-cta {\n background-color: #2f2f2f;\n border-color: transparent;\n color: #fff;\n}\n.file.is-dark:focus .file-cta, .file.is-dark.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);\n color: #fff;\n}\n.file.is-dark:active .file-cta, .file.is-dark.is-active .file-cta {\n background-color: #292929;\n border-color: transparent;\n color: #fff;\n}\n.file.is-primary .file-cta {\n background-color: hsl(171deg, 100%, 41%);\n border-color: transparent;\n color: #fff;\n}\n.file.is-primary:hover .file-cta, .file.is-primary.is-hovered .file-cta {\n background-color: #00c4a7;\n border-color: transparent;\n color: #fff;\n}\n.file.is-primary:focus .file-cta, .file.is-primary.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(0, 209, 178, 0.25);\n color: #fff;\n}\n.file.is-primary:active .file-cta, .file.is-primary.is-active .file-cta {\n background-color: #00b89c;\n border-color: transparent;\n color: #fff;\n}\n.file.is-link .file-cta {\n background-color: hsl(208deg, 79%, 51%);\n border-color: transparent;\n color: #fff;\n}\n.file.is-link:hover .file-cta, .file.is-link.is-hovered .file-cta {\n background-color: #1a82dd;\n border-color: transparent;\n color: #fff;\n}\n.file.is-link:focus .file-cta, .file.is-link.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(31, 137, 229, 0.25);\n color: #fff;\n}\n.file.is-link:active .file-cta, .file.is-link.is-active .file-cta {\n background-color: #197bd2;\n border-color: transparent;\n color: #fff;\n}\n.file.is-info .file-cta {\n background-color: hsl(217deg, 89%, 61%);\n border-color: transparent;\n color: #fff;\n}\n.file.is-info:hover .file-cta, .file.is-info.is-hovered .file-cta {\n background-color: #377ff3;\n border-color: transparent;\n color: #fff;\n}\n.file.is-info:focus .file-cta, .file.is-info.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(67, 135, 244, 0.25);\n color: #fff;\n}\n.file.is-info:active .file-cta, .file.is-info.is-active .file-cta {\n background-color: #2b77f3;\n border-color: transparent;\n color: #fff;\n}\n.file.is-success .file-cta {\n background-color: hsl(141deg, 42%, 53%);\n border-color: transparent;\n color: #fff;\n}\n.file.is-success:hover .file-cta, .file.is-success.is-hovered .file-cta {\n background-color: #4cb671;\n border-color: transparent;\n color: #fff;\n}\n.file.is-success:focus .file-cta, .file.is-success.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(85, 185, 120, 0.25);\n color: #fff;\n}\n.file.is-success:active .file-cta, .file.is-success.is-active .file-cta {\n background-color: #47ae6b;\n border-color: transparent;\n color: #fff;\n}\n.file.is-warning .file-cta {\n background-color: hsl(44deg, 100%, 77%);\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-warning:hover .file-cta, .file.is-warning.is-hovered .file-cta {\n background-color: #ffdc7d;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-warning:focus .file-cta, .file.is-warning.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(255, 224, 138, 0.25);\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-warning:active .file-cta, .file.is-warning.is-active .file-cta {\n background-color: #ffd970;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-danger .file-cta {\n background-color: hsl(348deg, 100%, 61%);\n border-color: transparent;\n color: #fff;\n}\n.file.is-danger:hover .file-cta, .file.is-danger.is-hovered .file-cta {\n background-color: #ff2b56;\n border-color: transparent;\n color: #fff;\n}\n.file.is-danger:focus .file-cta, .file.is-danger.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(255, 56, 96, 0.25);\n color: #fff;\n}\n.file.is-danger:active .file-cta, .file.is-danger.is-active .file-cta {\n background-color: #ff1f4b;\n border-color: transparent;\n color: #fff;\n}\n.file.is-small {\n font-size: 0.75rem;\n}\n.file.is-normal {\n font-size: 1rem;\n}\n.file.is-medium {\n font-size: 1.25rem;\n}\n.file.is-medium .file-icon .fa {\n font-size: 21px;\n}\n.file.is-large {\n font-size: 1.5rem;\n}\n.file.is-large .file-icon .fa {\n font-size: 28px;\n}\n.file.has-name .file-cta {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.file.has-name .file-name {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.file.has-name.is-empty .file-cta {\n border-radius: 4px;\n}\n.file.has-name.is-empty .file-name {\n display: none;\n}\n.file.is-boxed .file-label {\n flex-direction: column;\n}\n.file.is-boxed .file-cta {\n flex-direction: column;\n height: auto;\n padding: 1em 3em;\n}\n.file.is-boxed .file-name {\n border-width: 0 1px 1px;\n}\n.file.is-boxed .file-icon {\n height: 1.5em;\n width: 1.5em;\n}\n.file.is-boxed .file-icon .fa {\n font-size: 21px;\n}\n.file.is-boxed.is-small .file-icon .fa {\n font-size: 14px;\n}\n.file.is-boxed.is-medium .file-icon .fa {\n font-size: 28px;\n}\n.file.is-boxed.is-large .file-icon .fa {\n font-size: 35px;\n}\n.file.is-boxed.has-name .file-cta {\n border-radius: 4px 4px 0 0;\n}\n.file.is-boxed.has-name .file-name {\n border-radius: 0 0 4px 4px;\n border-width: 0 1px 1px;\n}\n.file.is-centered {\n justify-content: center;\n}\n.file.is-fullwidth .file-label {\n width: 100%;\n}\n.file.is-fullwidth .file-name {\n flex-grow: 1;\n max-width: none;\n}\n.file.is-right {\n justify-content: flex-end;\n}\n.file.is-right .file-cta {\n border-radius: 0 4px 4px 0;\n}\n.file.is-right .file-name {\n border-radius: 4px 0 0 4px;\n border-width: 1px 0 1px 1px;\n order: -1;\n}\n\n.file-label {\n align-items: stretch;\n display: flex;\n cursor: pointer;\n justify-content: flex-start;\n overflow: hidden;\n position: relative;\n}\n.file-label:hover .file-cta {\n background-color: #eeeeee;\n color: hsl(0deg, 0%, 21%);\n}\n.file-label:hover .file-name {\n border-color: #d5d5d5;\n}\n.file-label:active .file-cta {\n background-color: #e8e8e8;\n color: hsl(0deg, 0%, 21%);\n}\n.file-label:active .file-name {\n border-color: #cfcfcf;\n}\n\n.file-input {\n height: 100%;\n left: 0;\n opacity: 0;\n outline: none;\n position: absolute;\n top: 0;\n width: 100%;\n}\n\n.file-cta,\n.file-name {\n border-color: hsl(0deg, 0%, 86%);\n border-radius: 4px;\n font-size: 1em;\n padding-left: 1em;\n padding-right: 1em;\n white-space: nowrap;\n}\n\n.file-cta {\n background-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 96%);\n}\n\n.file-name {\n border-color: hsl(0deg, 0%, 86%);\n border-style: solid;\n border-width: 1px 1px 1px 0;\n display: block;\n max-width: 16em;\n overflow: hidden;\n text-align: inherit;\n text-overflow: ellipsis;\n}\n\n.file-icon {\n align-items: center;\n display: flex;\n height: 1em;\n justify-content: center;\n margin-right: 0.5em;\n width: 1em;\n}\n.file-icon .fa {\n font-size: 14px;\n}\n\n.label {\n color: hsl(0deg, 0%, 21%);\n display: block;\n font-size: 1rem;\n font-weight: 700;\n}\n.label:not(:last-child) {\n margin-bottom: 0.5em;\n}\n.label.is-small {\n font-size: 0.75rem;\n}\n.label.is-medium {\n font-size: 1.25rem;\n}\n.label.is-large {\n font-size: 1.5rem;\n}\n\n.help {\n display: block;\n font-size: 0.75rem;\n margin-top: 0.25rem;\n}\n.help.is-white {\n color: hsl(0deg, 0%, 100%);\n}\n.help.is-black {\n color: hsl(0deg, 0%, 0%);\n}\n.help.is-light {\n color: hsl(0deg, 0%, 96%);\n}\n.help.is-dark {\n color: hsl(0deg, 0%, 21%);\n}\n.help.is-primary {\n color: hsl(171deg, 100%, 41%);\n}\n.help.is-link {\n color: hsl(208deg, 79%, 51%);\n}\n.help.is-info {\n color: hsl(217deg, 89%, 61%);\n}\n.help.is-success {\n color: hsl(141deg, 42%, 53%);\n}\n.help.is-warning {\n color: hsl(44deg, 100%, 77%);\n}\n.help.is-danger {\n color: hsl(348deg, 100%, 61%);\n}\n\n.field:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n.field.has-addons {\n display: flex;\n justify-content: flex-start;\n}\n.field.has-addons .control:not(:last-child) {\n margin-right: -1px;\n}\n.field.has-addons .control:not(:first-child):not(:last-child) .button,\n.field.has-addons .control:not(:first-child):not(:last-child) .input,\n.field.has-addons .control:not(:first-child):not(:last-child) .select select {\n border-radius: 0;\n}\n.field.has-addons .control:first-child:not(:only-child) .button,\n.field.has-addons .control:first-child:not(:only-child) .input,\n.field.has-addons .control:first-child:not(:only-child) .select select {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.field.has-addons .control:last-child:not(:only-child) .button,\n.field.has-addons .control:last-child:not(:only-child) .input,\n.field.has-addons .control:last-child:not(:only-child) .select select {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button:not([disabled]).is-hovered,\n.field.has-addons .control .input:not([disabled]):hover,\n.field.has-addons .control .input:not([disabled]).is-hovered,\n.field.has-addons .control .select select:not([disabled]):hover,\n.field.has-addons .control .select select:not([disabled]).is-hovered {\n z-index: 2;\n}\n.field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button:not([disabled]).is-focused, .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button:not([disabled]).is-active,\n.field.has-addons .control .input:not([disabled]):focus,\n.field.has-addons .control .input:not([disabled]).is-focused,\n.field.has-addons .control .input:not([disabled]):active,\n.field.has-addons .control .input:not([disabled]).is-active,\n.field.has-addons .control .select select:not([disabled]):focus,\n.field.has-addons .control .select select:not([disabled]).is-focused,\n.field.has-addons .control .select select:not([disabled]):active,\n.field.has-addons .control .select select:not([disabled]).is-active {\n z-index: 3;\n}\n.field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button:not([disabled]).is-focused:hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button:not([disabled]).is-active:hover,\n.field.has-addons .control .input:not([disabled]):focus:hover,\n.field.has-addons .control .input:not([disabled]).is-focused:hover,\n.field.has-addons .control .input:not([disabled]):active:hover,\n.field.has-addons .control .input:not([disabled]).is-active:hover,\n.field.has-addons .control .select select:not([disabled]):focus:hover,\n.field.has-addons .control .select select:not([disabled]).is-focused:hover,\n.field.has-addons .control .select select:not([disabled]):active:hover,\n.field.has-addons .control .select select:not([disabled]).is-active:hover {\n z-index: 4;\n}\n.field.has-addons .control.is-expanded {\n flex-grow: 1;\n flex-shrink: 1;\n}\n.field.has-addons.has-addons-centered {\n justify-content: center;\n}\n.field.has-addons.has-addons-right {\n justify-content: flex-end;\n}\n.field.has-addons.has-addons-fullwidth .control {\n flex-grow: 1;\n flex-shrink: 0;\n}\n.field.is-grouped {\n display: flex;\n justify-content: flex-start;\n}\n.field.is-grouped > .control {\n flex-shrink: 0;\n}\n.field.is-grouped > .control:not(:last-child) {\n margin-bottom: 0;\n margin-right: 0.75rem;\n}\n.field.is-grouped > .control.is-expanded {\n flex-grow: 1;\n flex-shrink: 1;\n}\n.field.is-grouped.is-grouped-centered {\n justify-content: center;\n}\n.field.is-grouped.is-grouped-right {\n justify-content: flex-end;\n}\n.field.is-grouped.is-grouped-multiline {\n flex-wrap: wrap;\n}\n.field.is-grouped.is-grouped-multiline > .control:last-child, .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n.field.is-grouped.is-grouped-multiline:last-child {\n margin-bottom: -0.75rem;\n}\n.field.is-grouped.is-grouped-multiline:not(:last-child) {\n margin-bottom: 0;\n}\n@media screen and (min-width: 769px), print {\n .field.is-horizontal {\n display: flex;\n }\n}\n\n.field-label .label {\n font-size: inherit;\n}\n@media screen and (max-width: 768px) {\n .field-label {\n margin-bottom: 0.5rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .field-label {\n flex-basis: 0;\n flex-grow: 1;\n flex-shrink: 0;\n margin-right: 1.5rem;\n text-align: right;\n }\n .field-label.is-small {\n font-size: 0.75rem;\n padding-top: 0.375em;\n }\n .field-label.is-normal {\n padding-top: 0.375em;\n }\n .field-label.is-medium {\n font-size: 1.25rem;\n padding-top: 0.375em;\n }\n .field-label.is-large {\n font-size: 1.5rem;\n padding-top: 0.375em;\n }\n}\n\n.field-body .field .field {\n margin-bottom: 0;\n}\n@media screen and (min-width: 769px), print {\n .field-body {\n display: flex;\n flex-basis: 0;\n flex-grow: 5;\n flex-shrink: 1;\n }\n .field-body .field {\n margin-bottom: 0;\n }\n .field-body > .field {\n flex-shrink: 1;\n }\n .field-body > .field:not(.is-narrow) {\n flex-grow: 1;\n }\n .field-body > .field:not(:last-child) {\n margin-right: 0.75rem;\n }\n}\n\n.control {\n box-sizing: border-box;\n clear: both;\n font-size: 1rem;\n position: relative;\n text-align: inherit;\n}\n.control.has-icons-left .input:focus ~ .icon,\n.control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon,\n.control.has-icons-right .select:focus ~ .icon {\n color: hsl(0deg, 0%, 96%);\n}\n.control.has-icons-left .input.is-small ~ .icon,\n.control.has-icons-left .select.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon,\n.control.has-icons-right .select.is-small ~ .icon {\n font-size: 0.75rem;\n}\n.control.has-icons-left .input.is-medium ~ .icon,\n.control.has-icons-left .select.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon,\n.control.has-icons-right .select.is-medium ~ .icon {\n font-size: 1.25rem;\n}\n.control.has-icons-left .input.is-large ~ .icon,\n.control.has-icons-left .select.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon,\n.control.has-icons-right .select.is-large ~ .icon {\n font-size: 1.5rem;\n}\n.control.has-icons-left .icon, .control.has-icons-right .icon {\n color: hsl(0deg, 0%, 86%);\n height: 2.5em;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 2.5em;\n z-index: 4;\n}\n.control.has-icons-left .input,\n.control.has-icons-left .select select {\n padding-left: 2.5em;\n}\n.control.has-icons-left .icon.is-left {\n left: 0;\n}\n.control.has-icons-right .input,\n.control.has-icons-right .select select {\n padding-right: 2.5em;\n}\n.control.has-icons-right .icon.is-right {\n right: 0;\n}\n.control.is-loading::after {\n position: absolute !important;\n right: 0.625em;\n top: 0.625em;\n z-index: 4;\n}\n.control.is-loading.is-small:after {\n font-size: 0.75rem;\n}\n.control.is-loading.is-medium:after {\n font-size: 1.25rem;\n}\n.control.is-loading.is-large:after {\n font-size: 1.5rem;\n}\n\n/** Bulma: Componenets **/\n.level {\n align-items: center;\n justify-content: space-between;\n}\n.level code {\n border-radius: 4px;\n}\n.level img {\n display: inline-block;\n vertical-align: top;\n}\n.level.is-mobile {\n display: flex;\n}\n.level.is-mobile .level-left,\n.level.is-mobile .level-right {\n display: flex;\n}\n.level.is-mobile .level-left + .level-right {\n margin-top: 0;\n}\n.level.is-mobile .level-item:not(:last-child) {\n margin-bottom: 0;\n margin-right: 0.75rem;\n}\n.level.is-mobile .level-item:not(.is-narrow) {\n flex-grow: 1;\n}\n@media screen and (min-width: 769px), print {\n .level {\n display: flex;\n }\n .level > .level-item:not(.is-narrow) {\n flex-grow: 1;\n }\n}\n\n.level-item {\n align-items: center;\n display: flex;\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 0;\n justify-content: center;\n}\n.level-item .title,\n.level-item .subtitle {\n margin-bottom: 0;\n}\n@media screen and (max-width: 768px) {\n .level-item:not(:last-child) {\n margin-bottom: 0.75rem;\n }\n}\n\n.level-left,\n.level-right {\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 0;\n}\n.level-left .level-item.is-flexible,\n.level-right .level-item.is-flexible {\n flex-grow: 1;\n}\n@media screen and (min-width: 769px), print {\n .level-left .level-item:not(:last-child),\n.level-right .level-item:not(:last-child) {\n margin-right: 0.75rem;\n }\n}\n\n.level-left {\n align-items: center;\n justify-content: flex-start;\n}\n@media screen and (max-width: 768px) {\n .level-left + .level-right {\n margin-top: 1.5rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .level-left {\n display: flex;\n }\n}\n\n.level-right {\n align-items: center;\n justify-content: flex-end;\n}\n@media screen and (min-width: 769px), print {\n .level-right {\n display: flex;\n }\n}\n\n.menu {\n font-size: 1rem;\n}\n.menu.is-small {\n font-size: 0.75rem;\n}\n.menu.is-medium {\n font-size: 1.25rem;\n}\n.menu.is-large {\n font-size: 1.5rem;\n}\n\n.menu-list {\n line-height: 1.25;\n}\n.menu-list a {\n border-radius: 2px;\n color: hsl(0deg, 0%, 96%);\n display: block;\n padding: 0.5em 0.75em;\n}\n.menu-list a:hover {\n background-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 21%);\n}\n.menu-list a.is-active {\n background-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n.menu-list li ul {\n border-left: 1px solid hsl(0deg, 0%, 86%);\n margin: 0.75em;\n padding-left: 0.75em;\n}\n\n.menu-label {\n color: hsl(0deg, 0%, 48%);\n font-size: 0.75em;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n}\n.menu-label:not(:first-child) {\n margin-top: 1em;\n}\n.menu-label:not(:last-child) {\n margin-bottom: 1em;\n}\n\n.message {\n background-color: hsl(0deg, 0%, 96%);\n border-radius: 4px;\n font-size: 1rem;\n}\n.message strong {\n color: currentColor;\n}\n.message a:not(.button):not(.tag):not(.dropdown-item) {\n color: currentColor;\n text-decoration: underline;\n}\n.message.is-small {\n font-size: 0.75rem;\n}\n.message.is-medium {\n font-size: 1.25rem;\n}\n.message.is-large {\n font-size: 1.5rem;\n}\n.message.is-white {\n background-color: white;\n}\n.message.is-white .message-header {\n background-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.message.is-white .message-body {\n border-color: hsl(0deg, 0%, 100%);\n}\n.message.is-black {\n background-color: #fafafa;\n}\n.message.is-black .message-header {\n background-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.message.is-black .message-body {\n border-color: hsl(0deg, 0%, 0%);\n}\n.message.is-light {\n background-color: #fafafa;\n}\n.message.is-light .message-header {\n background-color: hsl(0deg, 0%, 96%);\n color: rgba(0, 0, 0, 0.7);\n}\n.message.is-light .message-body {\n border-color: hsl(0deg, 0%, 96%);\n}\n.message.is-dark {\n background-color: #fafafa;\n}\n.message.is-dark .message-header {\n background-color: hsl(0deg, 0%, 21%);\n color: #fff;\n}\n.message.is-dark .message-body {\n border-color: hsl(0deg, 0%, 21%);\n}\n.message.is-primary {\n background-color: #ebfffc;\n}\n.message.is-primary .message-header {\n background-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.message.is-primary .message-body {\n border-color: hsl(171deg, 100%, 41%);\n color: #00947e;\n}\n.message.is-link {\n background-color: #edf5fd;\n}\n.message.is-link .message-header {\n background-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n.message.is-link .message-body {\n border-color: hsl(208deg, 79%, 51%);\n color: #1671c0;\n}\n.message.is-info {\n background-color: #ecf3fe;\n}\n.message.is-info .message-header {\n background-color: hsl(217deg, 89%, 61%);\n color: #fff;\n}\n.message.is-info .message-body {\n border-color: hsl(217deg, 89%, 61%);\n color: #0c53c6;\n}\n.message.is-success {\n background-color: #f1f9f4;\n}\n.message.is-success .message-header {\n background-color: hsl(141deg, 42%, 53%);\n color: #fff;\n}\n.message.is-success .message-body {\n border-color: hsl(141deg, 42%, 53%);\n color: #327b4c;\n}\n.message.is-warning {\n background-color: #fffaeb;\n}\n.message.is-warning .message-header {\n background-color: hsl(44deg, 100%, 77%);\n color: rgba(0, 0, 0, 0.7);\n}\n.message.is-warning .message-body {\n border-color: hsl(44deg, 100%, 77%);\n color: #946c00;\n}\n.message.is-danger {\n background-color: #ffebef;\n}\n.message.is-danger .message-header {\n background-color: hsl(348deg, 100%, 61%);\n color: #fff;\n}\n.message.is-danger .message-body {\n border-color: hsl(348deg, 100%, 61%);\n color: #db002c;\n}\n\n.message-header {\n align-items: center;\n background-color: hsl(0deg, 0%, 96%);\n border-radius: 4px 4px 0 0;\n color: #fff;\n display: flex;\n font-weight: 700;\n justify-content: space-between;\n line-height: 1.25;\n padding: 0.75em 1em;\n position: relative;\n}\n.message-header .delete {\n flex-grow: 0;\n flex-shrink: 0;\n margin-left: 0.75em;\n}\n.message-header + .message-body {\n border-width: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.message-body {\n border-color: hsl(0deg, 0%, 86%);\n border-radius: 4px;\n border-style: solid;\n border-width: 0 0 0 4px;\n color: hsl(0deg, 0%, 96%);\n padding: 1.25em 1.5em;\n}\n.message-body code,\n.message-body pre {\n background-color: hsl(0deg, 0%, 0%);\n}\n.message-body pre code {\n background-color: transparent;\n}\n\n.pagination {\n font-size: 1rem;\n margin: -0.25rem;\n}\n.pagination.is-small {\n font-size: 0.75rem;\n}\n.pagination.is-medium {\n font-size: 1.25rem;\n}\n.pagination.is-large {\n font-size: 1.5rem;\n}\n.pagination.is-rounded .pagination-previous,\n.pagination.is-rounded .pagination-next {\n padding-left: 1em;\n padding-right: 1em;\n border-radius: 9999px;\n}\n.pagination.is-rounded .pagination-link {\n border-radius: 9999px;\n}\n\n.pagination,\n.pagination-list {\n align-items: center;\n display: flex;\n justify-content: center;\n text-align: center;\n}\n\n.pagination-previous,\n.pagination-next,\n.pagination-link,\n.pagination-ellipsis {\n font-size: 1em;\n justify-content: center;\n margin: 0.25rem;\n padding-left: 0.5em;\n padding-right: 0.5em;\n text-align: center;\n}\n\n.pagination-previous,\n.pagination-next,\n.pagination-link {\n border-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 96%);\n min-width: 2.5em;\n}\n.pagination-previous:hover,\n.pagination-next:hover,\n.pagination-link:hover {\n border-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 0%);\n}\n.pagination-previous:focus,\n.pagination-next:focus,\n.pagination-link:focus {\n border-color: hsl(208deg, 79%, 51%);\n}\n.pagination-previous:active,\n.pagination-next:active,\n.pagination-link:active {\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n.pagination-previous[disabled], .pagination-previous.is-disabled,\n.pagination-next[disabled],\n.pagination-next.is-disabled,\n.pagination-link[disabled],\n.pagination-link.is-disabled {\n background-color: hsl(0deg, 0%, 29%);\n border-color: hsl(0deg, 0%, 48%);\n box-shadow: none;\n color: hsl(0deg, 0%, 64%);\n opacity: 0.5;\n}\n\n.pagination-previous,\n.pagination-next {\n padding-left: 0.75em;\n padding-right: 0.75em;\n white-space: nowrap;\n}\n\n.pagination-link.is-current {\n background-color: hsl(208deg, 79%, 51%);\n border-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n\n.pagination-ellipsis {\n color: hsl(0deg, 0%, 71%);\n pointer-events: none;\n}\n\n.pagination-list {\n flex-wrap: wrap;\n}\n.pagination-list li {\n list-style: none;\n}\n\n@media screen and (max-width: 768px) {\n .pagination {\n flex-wrap: wrap;\n }\n\n .pagination-previous,\n.pagination-next {\n flex-grow: 1;\n flex-shrink: 1;\n }\n\n .pagination-list li {\n flex-grow: 1;\n flex-shrink: 1;\n }\n}\n@media screen and (min-width: 769px), print {\n .pagination-list {\n flex-grow: 1;\n flex-shrink: 1;\n justify-content: flex-start;\n order: 1;\n }\n\n .pagination-previous,\n.pagination-next,\n.pagination-link,\n.pagination-ellipsis {\n margin-bottom: 0;\n margin-top: 0;\n }\n\n .pagination-previous {\n order: 2;\n }\n\n .pagination-next {\n order: 3;\n }\n\n .pagination {\n justify-content: space-between;\n margin-bottom: 0;\n margin-top: 0;\n }\n .pagination.is-centered .pagination-previous {\n order: 1;\n }\n .pagination.is-centered .pagination-list {\n justify-content: center;\n order: 2;\n }\n .pagination.is-centered .pagination-next {\n order: 3;\n }\n .pagination.is-right .pagination-previous {\n order: 1;\n }\n .pagination.is-right .pagination-next {\n order: 2;\n }\n .pagination.is-right .pagination-list {\n justify-content: flex-end;\n order: 3;\n }\n}\n.tabs {\n -webkit-overflow-scrolling: touch;\n align-items: stretch;\n display: flex;\n font-size: 1rem;\n justify-content: space-between;\n overflow: hidden;\n overflow-x: auto;\n white-space: nowrap;\n}\n.tabs a {\n align-items: center;\n border-bottom-color: hsl(0deg, 0%, 86%);\n border-bottom-style: solid;\n border-bottom-width: 1px;\n color: hsl(0deg, 0%, 96%);\n display: flex;\n justify-content: center;\n margin-bottom: -1px;\n padding: 0.5em 1em;\n vertical-align: top;\n}\n.tabs a:hover {\n border-bottom-color: hsl(0deg, 0%, 21%);\n color: hsl(0deg, 0%, 96%);\n}\n.tabs li {\n display: block;\n}\n.tabs li.is-active a {\n border-bottom-color: hsl(208deg, 79%, 51%);\n color: hsl(208deg, 79%, 51%);\n}\n.tabs ul {\n align-items: center;\n border-bottom-color: hsl(0deg, 0%, 86%);\n border-bottom-style: solid;\n border-bottom-width: 1px;\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n justify-content: flex-start;\n}\n.tabs ul.is-left {\n padding-right: 0.75em;\n}\n.tabs ul.is-center {\n flex: none;\n justify-content: center;\n padding-left: 0.75em;\n padding-right: 0.75em;\n}\n.tabs ul.is-right {\n justify-content: flex-end;\n padding-left: 0.75em;\n}\n.tabs .icon:first-child {\n margin-right: 0.5em;\n}\n.tabs .icon:last-child {\n margin-left: 0.5em;\n}\n.tabs.is-centered ul {\n justify-content: center;\n}\n.tabs.is-right ul {\n justify-content: flex-end;\n}\n.tabs.is-boxed a {\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.tabs.is-boxed a:hover {\n background-color: hsl(0deg, 0%, 21%);\n border-bottom-color: hsl(0deg, 0%, 48%);\n}\n.tabs.is-boxed li.is-active a {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 48%);\n border-bottom-color: transparent !important;\n}\n.tabs.is-fullwidth li {\n flex-grow: 1;\n flex-shrink: 0;\n}\n.tabs.is-toggle a {\n border-color: hsl(0deg, 0%, 86%);\n border-style: solid;\n border-width: 1px;\n margin-bottom: 0;\n position: relative;\n}\n.tabs.is-toggle a:hover {\n background-color: hsl(0deg, 0%, 96%);\n border-color: hsl(208deg, 79%, 51%);\n z-index: 2;\n}\n.tabs.is-toggle li + li {\n margin-left: -1px;\n}\n.tabs.is-toggle li:first-child a {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.tabs.is-toggle li:last-child a {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.tabs.is-toggle li.is-active a {\n background-color: hsl(208deg, 79%, 51%);\n border-color: hsl(208deg, 79%, 51%);\n color: #fff;\n z-index: 1;\n}\n.tabs.is-toggle ul {\n border-bottom: none;\n}\n.tabs.is-toggle.is-toggle-rounded li:first-child a {\n border-bottom-left-radius: 9999px;\n border-top-left-radius: 9999px;\n padding-left: 1.25em;\n}\n.tabs.is-toggle.is-toggle-rounded li:last-child a {\n border-bottom-right-radius: 9999px;\n border-top-right-radius: 9999px;\n padding-right: 1.25em;\n}\n.tabs.is-small {\n font-size: 0.75rem;\n}\n.tabs.is-medium {\n font-size: 1.25rem;\n}\n.tabs.is-large {\n font-size: 1.5rem;\n}\n\n/** Bulma: Grid **/\n/* Bulma Grid */\n.column {\n display: block;\n flex-basis: 0;\n flex-grow: 1;\n flex-shrink: 1;\n padding: 0.75rem;\n}\n.columns.is-mobile > .column.is-narrow {\n flex: none;\n width: unset;\n}\n.columns.is-mobile > .column.is-full {\n flex: none;\n width: 100%;\n}\n.columns.is-mobile > .column.is-three-quarters {\n flex: none;\n width: 75%;\n}\n.columns.is-mobile > .column.is-two-thirds {\n flex: none;\n width: 66.6666%;\n}\n.columns.is-mobile > .column.is-half {\n flex: none;\n width: 50%;\n}\n.columns.is-mobile > .column.is-one-third {\n flex: none;\n width: 33.3333%;\n}\n.columns.is-mobile > .column.is-one-quarter {\n flex: none;\n width: 25%;\n}\n.columns.is-mobile > .column.is-one-fifth {\n flex: none;\n width: 20%;\n}\n.columns.is-mobile > .column.is-two-fifths {\n flex: none;\n width: 40%;\n}\n.columns.is-mobile > .column.is-three-fifths {\n flex: none;\n width: 60%;\n}\n.columns.is-mobile > .column.is-four-fifths {\n flex: none;\n width: 80%;\n}\n.columns.is-mobile > .column.is-offset-three-quarters {\n margin-left: 75%;\n}\n.columns.is-mobile > .column.is-offset-two-thirds {\n margin-left: 66.6666%;\n}\n.columns.is-mobile > .column.is-offset-half {\n margin-left: 50%;\n}\n.columns.is-mobile > .column.is-offset-one-third {\n margin-left: 33.3333%;\n}\n.columns.is-mobile > .column.is-offset-one-quarter {\n margin-left: 25%;\n}\n.columns.is-mobile > .column.is-offset-one-fifth {\n margin-left: 20%;\n}\n.columns.is-mobile > .column.is-offset-two-fifths {\n margin-left: 40%;\n}\n.columns.is-mobile > .column.is-offset-three-fifths {\n margin-left: 60%;\n}\n.columns.is-mobile > .column.is-offset-four-fifths {\n margin-left: 80%;\n}\n.columns.is-mobile > .column.is-0 {\n flex: none;\n width: 0%;\n}\n.columns.is-mobile > .column.is-offset-0 {\n margin-left: 0%;\n}\n.columns.is-mobile > .column.is-1 {\n flex: none;\n width: 8.33333337%;\n}\n.columns.is-mobile > .column.is-offset-1 {\n margin-left: 8.33333337%;\n}\n.columns.is-mobile > .column.is-2 {\n flex: none;\n width: 16.66666674%;\n}\n.columns.is-mobile > .column.is-offset-2 {\n margin-left: 16.66666674%;\n}\n.columns.is-mobile > .column.is-3 {\n flex: none;\n width: 25%;\n}\n.columns.is-mobile > .column.is-offset-3 {\n margin-left: 25%;\n}\n.columns.is-mobile > .column.is-4 {\n flex: none;\n width: 33.33333337%;\n}\n.columns.is-mobile > .column.is-offset-4 {\n margin-left: 33.33333337%;\n}\n.columns.is-mobile > .column.is-5 {\n flex: none;\n width: 41.66666674%;\n}\n.columns.is-mobile > .column.is-offset-5 {\n margin-left: 41.66666674%;\n}\n.columns.is-mobile > .column.is-6 {\n flex: none;\n width: 50%;\n}\n.columns.is-mobile > .column.is-offset-6 {\n margin-left: 50%;\n}\n.columns.is-mobile > .column.is-7 {\n flex: none;\n width: 58.33333337%;\n}\n.columns.is-mobile > .column.is-offset-7 {\n margin-left: 58.33333337%;\n}\n.columns.is-mobile > .column.is-8 {\n flex: none;\n width: 66.66666674%;\n}\n.columns.is-mobile > .column.is-offset-8 {\n margin-left: 66.66666674%;\n}\n.columns.is-mobile > .column.is-9 {\n flex: none;\n width: 75%;\n}\n.columns.is-mobile > .column.is-offset-9 {\n margin-left: 75%;\n}\n.columns.is-mobile > .column.is-10 {\n flex: none;\n width: 83.33333337%;\n}\n.columns.is-mobile > .column.is-offset-10 {\n margin-left: 83.33333337%;\n}\n.columns.is-mobile > .column.is-11 {\n flex: none;\n width: 91.66666674%;\n}\n.columns.is-mobile > .column.is-offset-11 {\n margin-left: 91.66666674%;\n}\n.columns.is-mobile > .column.is-12 {\n flex: none;\n width: 100%;\n}\n.columns.is-mobile > .column.is-offset-12 {\n margin-left: 100%;\n}\n@media screen and (max-width: 768px) {\n .column.is-narrow-mobile {\n flex: none;\n width: unset;\n }\n .column.is-full-mobile {\n flex: none;\n width: 100%;\n }\n .column.is-three-quarters-mobile {\n flex: none;\n width: 75%;\n }\n .column.is-two-thirds-mobile {\n flex: none;\n width: 66.6666%;\n }\n .column.is-half-mobile {\n flex: none;\n width: 50%;\n }\n .column.is-one-third-mobile {\n flex: none;\n width: 33.3333%;\n }\n .column.is-one-quarter-mobile {\n flex: none;\n width: 25%;\n }\n .column.is-one-fifth-mobile {\n flex: none;\n width: 20%;\n }\n .column.is-two-fifths-mobile {\n flex: none;\n width: 40%;\n }\n .column.is-three-fifths-mobile {\n flex: none;\n width: 60%;\n }\n .column.is-four-fifths-mobile {\n flex: none;\n width: 80%;\n }\n .column.is-offset-three-quarters-mobile {\n margin-left: 75%;\n }\n .column.is-offset-two-thirds-mobile {\n margin-left: 66.6666%;\n }\n .column.is-offset-half-mobile {\n margin-left: 50%;\n }\n .column.is-offset-one-third-mobile {\n margin-left: 33.3333%;\n }\n .column.is-offset-one-quarter-mobile {\n margin-left: 25%;\n }\n .column.is-offset-one-fifth-mobile {\n margin-left: 20%;\n }\n .column.is-offset-two-fifths-mobile {\n margin-left: 40%;\n }\n .column.is-offset-three-fifths-mobile {\n margin-left: 60%;\n }\n .column.is-offset-four-fifths-mobile {\n margin-left: 80%;\n }\n .column.is-0-mobile {\n flex: none;\n width: 0%;\n }\n .column.is-offset-0-mobile {\n margin-left: 0%;\n }\n .column.is-1-mobile {\n flex: none;\n width: 8.33333337%;\n }\n .column.is-offset-1-mobile {\n margin-left: 8.33333337%;\n }\n .column.is-2-mobile {\n flex: none;\n width: 16.66666674%;\n }\n .column.is-offset-2-mobile {\n margin-left: 16.66666674%;\n }\n .column.is-3-mobile {\n flex: none;\n width: 25%;\n }\n .column.is-offset-3-mobile {\n margin-left: 25%;\n }\n .column.is-4-mobile {\n flex: none;\n width: 33.33333337%;\n }\n .column.is-offset-4-mobile {\n margin-left: 33.33333337%;\n }\n .column.is-5-mobile {\n flex: none;\n width: 41.66666674%;\n }\n .column.is-offset-5-mobile {\n margin-left: 41.66666674%;\n }\n .column.is-6-mobile {\n flex: none;\n width: 50%;\n }\n .column.is-offset-6-mobile {\n margin-left: 50%;\n }\n .column.is-7-mobile {\n flex: none;\n width: 58.33333337%;\n }\n .column.is-offset-7-mobile {\n margin-left: 58.33333337%;\n }\n .column.is-8-mobile {\n flex: none;\n width: 66.66666674%;\n }\n .column.is-offset-8-mobile {\n margin-left: 66.66666674%;\n }\n .column.is-9-mobile {\n flex: none;\n width: 75%;\n }\n .column.is-offset-9-mobile {\n margin-left: 75%;\n }\n .column.is-10-mobile {\n flex: none;\n width: 83.33333337%;\n }\n .column.is-offset-10-mobile {\n margin-left: 83.33333337%;\n }\n .column.is-11-mobile {\n flex: none;\n width: 91.66666674%;\n }\n .column.is-offset-11-mobile {\n margin-left: 91.66666674%;\n }\n .column.is-12-mobile {\n flex: none;\n width: 100%;\n }\n .column.is-offset-12-mobile {\n margin-left: 100%;\n }\n}\n@media screen and (min-width: 769px), print {\n .column.is-narrow, .column.is-narrow-tablet {\n flex: none;\n width: unset;\n }\n .column.is-full, .column.is-full-tablet {\n flex: none;\n width: 100%;\n }\n .column.is-three-quarters, .column.is-three-quarters-tablet {\n flex: none;\n width: 75%;\n }\n .column.is-two-thirds, .column.is-two-thirds-tablet {\n flex: none;\n width: 66.6666%;\n }\n .column.is-half, .column.is-half-tablet {\n flex: none;\n width: 50%;\n }\n .column.is-one-third, .column.is-one-third-tablet {\n flex: none;\n width: 33.3333%;\n }\n .column.is-one-quarter, .column.is-one-quarter-tablet {\n flex: none;\n width: 25%;\n }\n .column.is-one-fifth, .column.is-one-fifth-tablet {\n flex: none;\n width: 20%;\n }\n .column.is-two-fifths, .column.is-two-fifths-tablet {\n flex: none;\n width: 40%;\n }\n .column.is-three-fifths, .column.is-three-fifths-tablet {\n flex: none;\n width: 60%;\n }\n .column.is-four-fifths, .column.is-four-fifths-tablet {\n flex: none;\n width: 80%;\n }\n .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet {\n margin-left: 75%;\n }\n .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet {\n margin-left: 66.6666%;\n }\n .column.is-offset-half, .column.is-offset-half-tablet {\n margin-left: 50%;\n }\n .column.is-offset-one-third, .column.is-offset-one-third-tablet {\n margin-left: 33.3333%;\n }\n .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet {\n margin-left: 25%;\n }\n .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet {\n margin-left: 20%;\n }\n .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet {\n margin-left: 40%;\n }\n .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet {\n margin-left: 60%;\n }\n .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet {\n margin-left: 80%;\n }\n .column.is-0, .column.is-0-tablet {\n flex: none;\n width: 0%;\n }\n .column.is-offset-0, .column.is-offset-0-tablet {\n margin-left: 0%;\n }\n .column.is-1, .column.is-1-tablet {\n flex: none;\n width: 8.33333337%;\n }\n .column.is-offset-1, .column.is-offset-1-tablet {\n margin-left: 8.33333337%;\n }\n .column.is-2, .column.is-2-tablet {\n flex: none;\n width: 16.66666674%;\n }\n .column.is-offset-2, .column.is-offset-2-tablet {\n margin-left: 16.66666674%;\n }\n .column.is-3, .column.is-3-tablet {\n flex: none;\n width: 25%;\n }\n .column.is-offset-3, .column.is-offset-3-tablet {\n margin-left: 25%;\n }\n .column.is-4, .column.is-4-tablet {\n flex: none;\n width: 33.33333337%;\n }\n .column.is-offset-4, .column.is-offset-4-tablet {\n margin-left: 33.33333337%;\n }\n .column.is-5, .column.is-5-tablet {\n flex: none;\n width: 41.66666674%;\n }\n .column.is-offset-5, .column.is-offset-5-tablet {\n margin-left: 41.66666674%;\n }\n .column.is-6, .column.is-6-tablet {\n flex: none;\n width: 50%;\n }\n .column.is-offset-6, .column.is-offset-6-tablet {\n margin-left: 50%;\n }\n .column.is-7, .column.is-7-tablet {\n flex: none;\n width: 58.33333337%;\n }\n .column.is-offset-7, .column.is-offset-7-tablet {\n margin-left: 58.33333337%;\n }\n .column.is-8, .column.is-8-tablet {\n flex: none;\n width: 66.66666674%;\n }\n .column.is-offset-8, .column.is-offset-8-tablet {\n margin-left: 66.66666674%;\n }\n .column.is-9, .column.is-9-tablet {\n flex: none;\n width: 75%;\n }\n .column.is-offset-9, .column.is-offset-9-tablet {\n margin-left: 75%;\n }\n .column.is-10, .column.is-10-tablet {\n flex: none;\n width: 83.33333337%;\n }\n .column.is-offset-10, .column.is-offset-10-tablet {\n margin-left: 83.33333337%;\n }\n .column.is-11, .column.is-11-tablet {\n flex: none;\n width: 91.66666674%;\n }\n .column.is-offset-11, .column.is-offset-11-tablet {\n margin-left: 91.66666674%;\n }\n .column.is-12, .column.is-12-tablet {\n flex: none;\n width: 100%;\n }\n .column.is-offset-12, .column.is-offset-12-tablet {\n margin-left: 100%;\n }\n}\n@media screen and (max-width: 1023px) {\n .column.is-narrow-touch {\n flex: none;\n width: unset;\n }\n .column.is-full-touch {\n flex: none;\n width: 100%;\n }\n .column.is-three-quarters-touch {\n flex: none;\n width: 75%;\n }\n .column.is-two-thirds-touch {\n flex: none;\n width: 66.6666%;\n }\n .column.is-half-touch {\n flex: none;\n width: 50%;\n }\n .column.is-one-third-touch {\n flex: none;\n width: 33.3333%;\n }\n .column.is-one-quarter-touch {\n flex: none;\n width: 25%;\n }\n .column.is-one-fifth-touch {\n flex: none;\n width: 20%;\n }\n .column.is-two-fifths-touch {\n flex: none;\n width: 40%;\n }\n .column.is-three-fifths-touch {\n flex: none;\n width: 60%;\n }\n .column.is-four-fifths-touch {\n flex: none;\n width: 80%;\n }\n .column.is-offset-three-quarters-touch {\n margin-left: 75%;\n }\n .column.is-offset-two-thirds-touch {\n margin-left: 66.6666%;\n }\n .column.is-offset-half-touch {\n margin-left: 50%;\n }\n .column.is-offset-one-third-touch {\n margin-left: 33.3333%;\n }\n .column.is-offset-one-quarter-touch {\n margin-left: 25%;\n }\n .column.is-offset-one-fifth-touch {\n margin-left: 20%;\n }\n .column.is-offset-two-fifths-touch {\n margin-left: 40%;\n }\n .column.is-offset-three-fifths-touch {\n margin-left: 60%;\n }\n .column.is-offset-four-fifths-touch {\n margin-left: 80%;\n }\n .column.is-0-touch {\n flex: none;\n width: 0%;\n }\n .column.is-offset-0-touch {\n margin-left: 0%;\n }\n .column.is-1-touch {\n flex: none;\n width: 8.33333337%;\n }\n .column.is-offset-1-touch {\n margin-left: 8.33333337%;\n }\n .column.is-2-touch {\n flex: none;\n width: 16.66666674%;\n }\n .column.is-offset-2-touch {\n margin-left: 16.66666674%;\n }\n .column.is-3-touch {\n flex: none;\n width: 25%;\n }\n .column.is-offset-3-touch {\n margin-left: 25%;\n }\n .column.is-4-touch {\n flex: none;\n width: 33.33333337%;\n }\n .column.is-offset-4-touch {\n margin-left: 33.33333337%;\n }\n .column.is-5-touch {\n flex: none;\n width: 41.66666674%;\n }\n .column.is-offset-5-touch {\n margin-left: 41.66666674%;\n }\n .column.is-6-touch {\n flex: none;\n width: 50%;\n }\n .column.is-offset-6-touch {\n margin-left: 50%;\n }\n .column.is-7-touch {\n flex: none;\n width: 58.33333337%;\n }\n .column.is-offset-7-touch {\n margin-left: 58.33333337%;\n }\n .column.is-8-touch {\n flex: none;\n width: 66.66666674%;\n }\n .column.is-offset-8-touch {\n margin-left: 66.66666674%;\n }\n .column.is-9-touch {\n flex: none;\n width: 75%;\n }\n .column.is-offset-9-touch {\n margin-left: 75%;\n }\n .column.is-10-touch {\n flex: none;\n width: 83.33333337%;\n }\n .column.is-offset-10-touch {\n margin-left: 83.33333337%;\n }\n .column.is-11-touch {\n flex: none;\n width: 91.66666674%;\n }\n .column.is-offset-11-touch {\n margin-left: 91.66666674%;\n }\n .column.is-12-touch {\n flex: none;\n width: 100%;\n }\n .column.is-offset-12-touch {\n margin-left: 100%;\n }\n}\n@media screen and (min-width: 1024px) {\n .column.is-narrow-desktop {\n flex: none;\n width: unset;\n }\n .column.is-full-desktop {\n flex: none;\n width: 100%;\n }\n .column.is-three-quarters-desktop {\n flex: none;\n width: 75%;\n }\n .column.is-two-thirds-desktop {\n flex: none;\n width: 66.6666%;\n }\n .column.is-half-desktop {\n flex: none;\n width: 50%;\n }\n .column.is-one-third-desktop {\n flex: none;\n width: 33.3333%;\n }\n .column.is-one-quarter-desktop {\n flex: none;\n width: 25%;\n }\n .column.is-one-fifth-desktop {\n flex: none;\n width: 20%;\n }\n .column.is-two-fifths-desktop {\n flex: none;\n width: 40%;\n }\n .column.is-three-fifths-desktop {\n flex: none;\n width: 60%;\n }\n .column.is-four-fifths-desktop {\n flex: none;\n width: 80%;\n }\n .column.is-offset-three-quarters-desktop {\n margin-left: 75%;\n }\n .column.is-offset-two-thirds-desktop {\n margin-left: 66.6666%;\n }\n .column.is-offset-half-desktop {\n margin-left: 50%;\n }\n .column.is-offset-one-third-desktop {\n margin-left: 33.3333%;\n }\n .column.is-offset-one-quarter-desktop {\n margin-left: 25%;\n }\n .column.is-offset-one-fifth-desktop {\n margin-left: 20%;\n }\n .column.is-offset-two-fifths-desktop {\n margin-left: 40%;\n }\n .column.is-offset-three-fifths-desktop {\n margin-left: 60%;\n }\n .column.is-offset-four-fifths-desktop {\n margin-left: 80%;\n }\n .column.is-0-desktop {\n flex: none;\n width: 0%;\n }\n .column.is-offset-0-desktop {\n margin-left: 0%;\n }\n .column.is-1-desktop {\n flex: none;\n width: 8.33333337%;\n }\n .column.is-offset-1-desktop {\n margin-left: 8.33333337%;\n }\n .column.is-2-desktop {\n flex: none;\n width: 16.66666674%;\n }\n .column.is-offset-2-desktop {\n margin-left: 16.66666674%;\n }\n .column.is-3-desktop {\n flex: none;\n width: 25%;\n }\n .column.is-offset-3-desktop {\n margin-left: 25%;\n }\n .column.is-4-desktop {\n flex: none;\n width: 33.33333337%;\n }\n .column.is-offset-4-desktop {\n margin-left: 33.33333337%;\n }\n .column.is-5-desktop {\n flex: none;\n width: 41.66666674%;\n }\n .column.is-offset-5-desktop {\n margin-left: 41.66666674%;\n }\n .column.is-6-desktop {\n flex: none;\n width: 50%;\n }\n .column.is-offset-6-desktop {\n margin-left: 50%;\n }\n .column.is-7-desktop {\n flex: none;\n width: 58.33333337%;\n }\n .column.is-offset-7-desktop {\n margin-left: 58.33333337%;\n }\n .column.is-8-desktop {\n flex: none;\n width: 66.66666674%;\n }\n .column.is-offset-8-desktop {\n margin-left: 66.66666674%;\n }\n .column.is-9-desktop {\n flex: none;\n width: 75%;\n }\n .column.is-offset-9-desktop {\n margin-left: 75%;\n }\n .column.is-10-desktop {\n flex: none;\n width: 83.33333337%;\n }\n .column.is-offset-10-desktop {\n margin-left: 83.33333337%;\n }\n .column.is-11-desktop {\n flex: none;\n width: 91.66666674%;\n }\n .column.is-offset-11-desktop {\n margin-left: 91.66666674%;\n }\n .column.is-12-desktop {\n flex: none;\n width: 100%;\n }\n .column.is-offset-12-desktop {\n margin-left: 100%;\n }\n}\n@media screen and (min-width: 1216px) {\n .column.is-narrow-widescreen {\n flex: none;\n width: unset;\n }\n .column.is-full-widescreen {\n flex: none;\n width: 100%;\n }\n .column.is-three-quarters-widescreen {\n flex: none;\n width: 75%;\n }\n .column.is-two-thirds-widescreen {\n flex: none;\n width: 66.6666%;\n }\n .column.is-half-widescreen {\n flex: none;\n width: 50%;\n }\n .column.is-one-third-widescreen {\n flex: none;\n width: 33.3333%;\n }\n .column.is-one-quarter-widescreen {\n flex: none;\n width: 25%;\n }\n .column.is-one-fifth-widescreen {\n flex: none;\n width: 20%;\n }\n .column.is-two-fifths-widescreen {\n flex: none;\n width: 40%;\n }\n .column.is-three-fifths-widescreen {\n flex: none;\n width: 60%;\n }\n .column.is-four-fifths-widescreen {\n flex: none;\n width: 80%;\n }\n .column.is-offset-three-quarters-widescreen {\n margin-left: 75%;\n }\n .column.is-offset-two-thirds-widescreen {\n margin-left: 66.6666%;\n }\n .column.is-offset-half-widescreen {\n margin-left: 50%;\n }\n .column.is-offset-one-third-widescreen {\n margin-left: 33.3333%;\n }\n .column.is-offset-one-quarter-widescreen {\n margin-left: 25%;\n }\n .column.is-offset-one-fifth-widescreen {\n margin-left: 20%;\n }\n .column.is-offset-two-fifths-widescreen {\n margin-left: 40%;\n }\n .column.is-offset-three-fifths-widescreen {\n margin-left: 60%;\n }\n .column.is-offset-four-fifths-widescreen {\n margin-left: 80%;\n }\n .column.is-0-widescreen {\n flex: none;\n width: 0%;\n }\n .column.is-offset-0-widescreen {\n margin-left: 0%;\n }\n .column.is-1-widescreen {\n flex: none;\n width: 8.33333337%;\n }\n .column.is-offset-1-widescreen {\n margin-left: 8.33333337%;\n }\n .column.is-2-widescreen {\n flex: none;\n width: 16.66666674%;\n }\n .column.is-offset-2-widescreen {\n margin-left: 16.66666674%;\n }\n .column.is-3-widescreen {\n flex: none;\n width: 25%;\n }\n .column.is-offset-3-widescreen {\n margin-left: 25%;\n }\n .column.is-4-widescreen {\n flex: none;\n width: 33.33333337%;\n }\n .column.is-offset-4-widescreen {\n margin-left: 33.33333337%;\n }\n .column.is-5-widescreen {\n flex: none;\n width: 41.66666674%;\n }\n .column.is-offset-5-widescreen {\n margin-left: 41.66666674%;\n }\n .column.is-6-widescreen {\n flex: none;\n width: 50%;\n }\n .column.is-offset-6-widescreen {\n margin-left: 50%;\n }\n .column.is-7-widescreen {\n flex: none;\n width: 58.33333337%;\n }\n .column.is-offset-7-widescreen {\n margin-left: 58.33333337%;\n }\n .column.is-8-widescreen {\n flex: none;\n width: 66.66666674%;\n }\n .column.is-offset-8-widescreen {\n margin-left: 66.66666674%;\n }\n .column.is-9-widescreen {\n flex: none;\n width: 75%;\n }\n .column.is-offset-9-widescreen {\n margin-left: 75%;\n }\n .column.is-10-widescreen {\n flex: none;\n width: 83.33333337%;\n }\n .column.is-offset-10-widescreen {\n margin-left: 83.33333337%;\n }\n .column.is-11-widescreen {\n flex: none;\n width: 91.66666674%;\n }\n .column.is-offset-11-widescreen {\n margin-left: 91.66666674%;\n }\n .column.is-12-widescreen {\n flex: none;\n width: 100%;\n }\n .column.is-offset-12-widescreen {\n margin-left: 100%;\n }\n}\n@media screen and (min-width: 1408px) {\n .column.is-narrow-fullhd {\n flex: none;\n width: unset;\n }\n .column.is-full-fullhd {\n flex: none;\n width: 100%;\n }\n .column.is-three-quarters-fullhd {\n flex: none;\n width: 75%;\n }\n .column.is-two-thirds-fullhd {\n flex: none;\n width: 66.6666%;\n }\n .column.is-half-fullhd {\n flex: none;\n width: 50%;\n }\n .column.is-one-third-fullhd {\n flex: none;\n width: 33.3333%;\n }\n .column.is-one-quarter-fullhd {\n flex: none;\n width: 25%;\n }\n .column.is-one-fifth-fullhd {\n flex: none;\n width: 20%;\n }\n .column.is-two-fifths-fullhd {\n flex: none;\n width: 40%;\n }\n .column.is-three-fifths-fullhd {\n flex: none;\n width: 60%;\n }\n .column.is-four-fifths-fullhd {\n flex: none;\n width: 80%;\n }\n .column.is-offset-three-quarters-fullhd {\n margin-left: 75%;\n }\n .column.is-offset-two-thirds-fullhd {\n margin-left: 66.6666%;\n }\n .column.is-offset-half-fullhd {\n margin-left: 50%;\n }\n .column.is-offset-one-third-fullhd {\n margin-left: 33.3333%;\n }\n .column.is-offset-one-quarter-fullhd {\n margin-left: 25%;\n }\n .column.is-offset-one-fifth-fullhd {\n margin-left: 20%;\n }\n .column.is-offset-two-fifths-fullhd {\n margin-left: 40%;\n }\n .column.is-offset-three-fifths-fullhd {\n margin-left: 60%;\n }\n .column.is-offset-four-fifths-fullhd {\n margin-left: 80%;\n }\n .column.is-0-fullhd {\n flex: none;\n width: 0%;\n }\n .column.is-offset-0-fullhd {\n margin-left: 0%;\n }\n .column.is-1-fullhd {\n flex: none;\n width: 8.33333337%;\n }\n .column.is-offset-1-fullhd {\n margin-left: 8.33333337%;\n }\n .column.is-2-fullhd {\n flex: none;\n width: 16.66666674%;\n }\n .column.is-offset-2-fullhd {\n margin-left: 16.66666674%;\n }\n .column.is-3-fullhd {\n flex: none;\n width: 25%;\n }\n .column.is-offset-3-fullhd {\n margin-left: 25%;\n }\n .column.is-4-fullhd {\n flex: none;\n width: 33.33333337%;\n }\n .column.is-offset-4-fullhd {\n margin-left: 33.33333337%;\n }\n .column.is-5-fullhd {\n flex: none;\n width: 41.66666674%;\n }\n .column.is-offset-5-fullhd {\n margin-left: 41.66666674%;\n }\n .column.is-6-fullhd {\n flex: none;\n width: 50%;\n }\n .column.is-offset-6-fullhd {\n margin-left: 50%;\n }\n .column.is-7-fullhd {\n flex: none;\n width: 58.33333337%;\n }\n .column.is-offset-7-fullhd {\n margin-left: 58.33333337%;\n }\n .column.is-8-fullhd {\n flex: none;\n width: 66.66666674%;\n }\n .column.is-offset-8-fullhd {\n margin-left: 66.66666674%;\n }\n .column.is-9-fullhd {\n flex: none;\n width: 75%;\n }\n .column.is-offset-9-fullhd {\n margin-left: 75%;\n }\n .column.is-10-fullhd {\n flex: none;\n width: 83.33333337%;\n }\n .column.is-offset-10-fullhd {\n margin-left: 83.33333337%;\n }\n .column.is-11-fullhd {\n flex: none;\n width: 91.66666674%;\n }\n .column.is-offset-11-fullhd {\n margin-left: 91.66666674%;\n }\n .column.is-12-fullhd {\n flex: none;\n width: 100%;\n }\n .column.is-offset-12-fullhd {\n margin-left: 100%;\n }\n}\n\n.columns {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n margin-top: -0.75rem;\n}\n.columns:last-child {\n margin-bottom: -0.75rem;\n}\n.columns:not(:last-child) {\n margin-bottom: calc(1.5rem - 0.75rem);\n}\n.columns.is-centered {\n justify-content: center;\n}\n.columns.is-gapless {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n}\n.columns.is-gapless > .column {\n margin: 0;\n padding: 0 !important;\n}\n.columns.is-gapless:not(:last-child) {\n margin-bottom: 1.5rem;\n}\n.columns.is-gapless:last-child {\n margin-bottom: 0;\n}\n.columns.is-mobile {\n display: flex;\n}\n.columns.is-multiline {\n flex-wrap: wrap;\n}\n.columns.is-vcentered {\n align-items: center;\n}\n@media screen and (min-width: 769px), print {\n .columns:not(.is-desktop) {\n display: flex;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-desktop {\n display: flex;\n }\n}\n\n.columns.is-variable {\n --columnGap: 0.75rem;\n margin-left: calc(-1 * var(--columnGap));\n margin-right: calc(-1 * var(--columnGap));\n}\n.columns.is-variable > .column {\n padding-left: var(--columnGap);\n padding-right: var(--columnGap);\n}\n.columns.is-variable.is-0 {\n --columnGap: 0rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-0-mobile {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-0-tablet {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-0-tablet-only {\n --columnGap: 0rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-0-touch {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-0-desktop {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-0-desktop-only {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-0-widescreen {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-0-widescreen-only {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-0-fullhd {\n --columnGap: 0rem;\n }\n}\n.columns.is-variable.is-1 {\n --columnGap: 0.25rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-1-mobile {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-1-tablet {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-1-tablet-only {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-1-touch {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-1-desktop {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-1-desktop-only {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-1-widescreen {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-1-widescreen-only {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-1-fullhd {\n --columnGap: 0.25rem;\n }\n}\n.columns.is-variable.is-2 {\n --columnGap: 0.5rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-2-mobile {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-2-tablet {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-2-tablet-only {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-2-touch {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-2-desktop {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-2-desktop-only {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-2-widescreen {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-2-widescreen-only {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-2-fullhd {\n --columnGap: 0.5rem;\n }\n}\n.columns.is-variable.is-3 {\n --columnGap: 0.75rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-3-mobile {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-3-tablet {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-3-tablet-only {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-3-touch {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-3-desktop {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-3-desktop-only {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-3-widescreen {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-3-widescreen-only {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-3-fullhd {\n --columnGap: 0.75rem;\n }\n}\n.columns.is-variable.is-4 {\n --columnGap: 1rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-4-mobile {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-4-tablet {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-4-tablet-only {\n --columnGap: 1rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-4-touch {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-4-desktop {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-4-desktop-only {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-4-widescreen {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-4-widescreen-only {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-4-fullhd {\n --columnGap: 1rem;\n }\n}\n.columns.is-variable.is-5 {\n --columnGap: 1.25rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-5-mobile {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-5-tablet {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-5-tablet-only {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-5-touch {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-5-desktop {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-5-desktop-only {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-5-widescreen {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-5-widescreen-only {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-5-fullhd {\n --columnGap: 1.25rem;\n }\n}\n.columns.is-variable.is-6 {\n --columnGap: 1.5rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-6-mobile {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-6-tablet {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-6-tablet-only {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-6-touch {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-6-desktop {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-6-desktop-only {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-6-widescreen {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-6-widescreen-only {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-6-fullhd {\n --columnGap: 1.5rem;\n }\n}\n.columns.is-variable.is-7 {\n --columnGap: 1.75rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-7-mobile {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-7-tablet {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-7-tablet-only {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-7-touch {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-7-desktop {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-7-desktop-only {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-7-widescreen {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-7-widescreen-only {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-7-fullhd {\n --columnGap: 1.75rem;\n }\n}\n.columns.is-variable.is-8 {\n --columnGap: 2rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-8-mobile {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-8-tablet {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-8-tablet-only {\n --columnGap: 2rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-8-touch {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-8-desktop {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-8-desktop-only {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-8-widescreen {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-8-widescreen-only {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-8-fullhd {\n --columnGap: 2rem;\n }\n}\n\n.tile {\n align-items: stretch;\n display: block;\n flex-basis: 0;\n flex-grow: 1;\n flex-shrink: 1;\n min-height: min-content;\n}\n.tile.is-ancestor {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n margin-top: -0.75rem;\n}\n.tile.is-ancestor:last-child {\n margin-bottom: -0.75rem;\n}\n.tile.is-ancestor:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n.tile.is-child {\n margin: 0 !important;\n}\n.tile.is-parent {\n padding: 0.75rem;\n}\n.tile.is-vertical {\n flex-direction: column;\n}\n.tile.is-vertical > .tile.is-child:not(:last-child) {\n margin-bottom: 1.5rem !important;\n}\n@media screen and (min-width: 769px), print {\n .tile:not(.is-child) {\n display: flex;\n }\n .tile.is-1 {\n flex: none;\n width: 8.33333337%;\n }\n .tile.is-2 {\n flex: none;\n width: 16.66666674%;\n }\n .tile.is-3 {\n flex: none;\n width: 25%;\n }\n .tile.is-4 {\n flex: none;\n width: 33.33333337%;\n }\n .tile.is-5 {\n flex: none;\n width: 41.66666674%;\n }\n .tile.is-6 {\n flex: none;\n width: 50%;\n }\n .tile.is-7 {\n flex: none;\n width: 58.33333337%;\n }\n .tile.is-8 {\n flex: none;\n width: 66.66666674%;\n }\n .tile.is-9 {\n flex: none;\n width: 75%;\n }\n .tile.is-10 {\n flex: none;\n width: 83.33333337%;\n }\n .tile.is-11 {\n flex: none;\n width: 91.66666674%;\n }\n .tile.is-12 {\n flex: none;\n width: 100%;\n }\n}\n\n/** Bulma: Helpers **/\n/* Bulma Helpers */\n.has-text-white {\n color: hsl(0deg, 0%, 100%) !important;\n}\n\na.has-text-white:hover, a.has-text-white:focus {\n color: #e6e6e6 !important;\n}\n\n.has-background-white {\n background-color: hsl(0deg, 0%, 100%) !important;\n}\n\n.has-text-black {\n color: hsl(0deg, 0%, 0%) !important;\n}\n\na.has-text-black:hover, a.has-text-black:focus {\n color: black !important;\n}\n\n.has-background-black {\n background-color: hsl(0deg, 0%, 0%) !important;\n}\n\n.has-text-light {\n color: hsl(0deg, 0%, 96%) !important;\n}\n\na.has-text-light:hover, a.has-text-light:focus {\n color: #dbdbdb !important;\n}\n\n.has-background-light {\n background-color: hsl(0deg, 0%, 96%) !important;\n}\n\n.has-text-dark {\n color: hsl(0deg, 0%, 21%) !important;\n}\n\na.has-text-dark:hover, a.has-text-dark:focus {\n color: #1c1c1c !important;\n}\n\n.has-background-dark {\n background-color: hsl(0deg, 0%, 21%) !important;\n}\n\n.has-text-primary {\n color: hsl(171deg, 100%, 41%) !important;\n}\n\na.has-text-primary:hover, a.has-text-primary:focus {\n color: #009e86 !important;\n}\n\n.has-background-primary {\n background-color: hsl(171deg, 100%, 41%) !important;\n}\n\n.has-text-primary-light {\n color: #ebfffc !important;\n}\n\na.has-text-primary-light:hover, a.has-text-primary-light:focus {\n color: #b8fff4 !important;\n}\n\n.has-background-primary-light {\n background-color: #ebfffc !important;\n}\n\n.has-text-primary-dark {\n color: #00947e !important;\n}\n\na.has-text-primary-dark:hover, a.has-text-primary-dark:focus {\n color: #00c7a9 !important;\n}\n\n.has-background-primary-dark {\n background-color: #00947e !important;\n}\n\n.has-text-link {\n color: hsl(208deg, 79%, 51%) !important;\n}\n\na.has-text-link:hover, a.has-text-link:focus {\n color: #166ebb !important;\n}\n\n.has-background-link {\n background-color: hsl(208deg, 79%, 51%) !important;\n}\n\n.has-text-link-light {\n color: #edf5fd !important;\n}\n\na.has-text-link-light:hover, a.has-text-link-light:focus {\n color: #bfddf8 !important;\n}\n\n.has-background-link-light {\n background-color: #edf5fd !important;\n}\n\n.has-text-link-dark {\n color: #1671c0 !important;\n}\n\na.has-text-link-dark:hover, a.has-text-link-dark:focus {\n color: #248be5 !important;\n}\n\n.has-background-link-dark {\n background-color: #1671c0 !important;\n}\n\n.has-text-info {\n color: hsl(217deg, 89%, 61%) !important;\n}\n\na.has-text-info:hover, a.has-text-info:focus {\n color: #1368f1 !important;\n}\n\n.has-background-info {\n background-color: hsl(217deg, 89%, 61%) !important;\n}\n\n.has-text-info-light {\n color: #ecf3fe !important;\n}\n\na.has-text-info-light:hover, a.has-text-info-light:focus {\n color: #bcd4fb !important;\n}\n\n.has-background-info-light {\n background-color: #ecf3fe !important;\n}\n\n.has-text-info-dark {\n color: #0c53c6 !important;\n}\n\na.has-text-info-dark:hover, a.has-text-info-dark:focus {\n color: #1368f1 !important;\n}\n\n.has-background-info-dark {\n background-color: #0c53c6 !important;\n}\n\n.has-text-success {\n color: hsl(141deg, 42%, 53%) !important;\n}\n\na.has-text-success:hover, a.has-text-success:focus {\n color: #409c60 !important;\n}\n\n.has-background-success {\n background-color: hsl(141deg, 42%, 53%) !important;\n}\n\n.has-text-success-light {\n color: #f1f9f4 !important;\n}\n\na.has-text-success-light:hover, a.has-text-success-light:focus {\n color: #ccead7 !important;\n}\n\n.has-background-success-light {\n background-color: #f1f9f4 !important;\n}\n\n.has-text-success-dark {\n color: #327b4c !important;\n}\n\na.has-text-success-dark:hover, a.has-text-success-dark:focus {\n color: #419f62 !important;\n}\n\n.has-background-success-dark {\n background-color: #327b4c !important;\n}\n\n.has-text-warning {\n color: hsl(44deg, 100%, 77%) !important;\n}\n\na.has-text-warning:hover, a.has-text-warning:focus {\n color: #ffd257 !important;\n}\n\n.has-background-warning {\n background-color: hsl(44deg, 100%, 77%) !important;\n}\n\n.has-text-warning-light {\n color: #fffaeb !important;\n}\n\na.has-text-warning-light:hover, a.has-text-warning-light:focus {\n color: #ffecb8 !important;\n}\n\n.has-background-warning-light {\n background-color: #fffaeb !important;\n}\n\n.has-text-warning-dark {\n color: #946c00 !important;\n}\n\na.has-text-warning-dark:hover, a.has-text-warning-dark:focus {\n color: #c79200 !important;\n}\n\n.has-background-warning-dark {\n background-color: #946c00 !important;\n}\n\n.has-text-danger {\n color: hsl(348deg, 100%, 61%) !important;\n}\n\na.has-text-danger:hover, a.has-text-danger:focus {\n color: #ff0537 !important;\n}\n\n.has-background-danger {\n background-color: hsl(348deg, 100%, 61%) !important;\n}\n\n.has-text-danger-light {\n color: #ffebef !important;\n}\n\na.has-text-danger-light:hover, a.has-text-danger-light:focus {\n color: #ffb8c6 !important;\n}\n\n.has-background-danger-light {\n background-color: #ffebef !important;\n}\n\n.has-text-danger-dark {\n color: #db002c !important;\n}\n\na.has-text-danger-dark:hover, a.has-text-danger-dark:focus {\n color: #ff0f3f !important;\n}\n\n.has-background-danger-dark {\n background-color: #db002c !important;\n}\n\n.has-text-black-bis {\n color: hsl(0deg, 0%, 7%) !important;\n}\n\n.has-background-black-bis {\n background-color: hsl(0deg, 0%, 7%) !important;\n}\n\n.has-text-black-ter {\n color: hsl(0deg, 0%, 14%) !important;\n}\n\n.has-background-black-ter {\n background-color: hsl(0deg, 0%, 14%) !important;\n}\n\n.has-text-grey-darker {\n color: hsl(0deg, 0%, 21%) !important;\n}\n\n.has-background-grey-darker {\n background-color: hsl(0deg, 0%, 21%) !important;\n}\n\n.has-text-grey-dark {\n color: hsl(0deg, 0%, 29%) !important;\n}\n\n.has-background-grey-dark {\n background-color: hsl(0deg, 0%, 29%) !important;\n}\n\n.has-text-grey {\n color: hsl(0deg, 0%, 48%) !important;\n}\n\n.has-background-grey {\n background-color: hsl(0deg, 0%, 48%) !important;\n}\n\n.has-text-grey-light {\n color: hsl(0deg, 0%, 71%) !important;\n}\n\n.has-background-grey-light {\n background-color: hsl(0deg, 0%, 71%) !important;\n}\n\n.has-text-grey-lighter {\n color: hsl(0deg, 0%, 86%) !important;\n}\n\n.has-background-grey-lighter {\n background-color: hsl(0deg, 0%, 86%) !important;\n}\n\n.has-text-white-ter {\n color: hsl(0deg, 0%, 96%) !important;\n}\n\n.has-background-white-ter {\n background-color: hsl(0deg, 0%, 96%) !important;\n}\n\n.has-text-white-bis {\n color: hsl(0deg, 0%, 98%) !important;\n}\n\n.has-background-white-bis {\n background-color: hsl(0deg, 0%, 98%) !important;\n}\n\n.is-flex-direction-row {\n flex-direction: row !important;\n}\n\n.is-flex-direction-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.is-flex-direction-column {\n flex-direction: column !important;\n}\n\n.is-flex-direction-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.is-flex-wrap-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.is-flex-wrap-wrap {\n flex-wrap: wrap !important;\n}\n\n.is-flex-wrap-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.is-justify-content-flex-start {\n justify-content: flex-start !important;\n}\n\n.is-justify-content-flex-end {\n justify-content: flex-end !important;\n}\n\n.is-justify-content-center {\n justify-content: center !important;\n}\n\n.is-justify-content-space-between {\n justify-content: space-between !important;\n}\n\n.is-justify-content-space-around {\n justify-content: space-around !important;\n}\n\n.is-justify-content-space-evenly {\n justify-content: space-evenly !important;\n}\n\n.is-justify-content-start {\n justify-content: start !important;\n}\n\n.is-justify-content-end {\n justify-content: end !important;\n}\n\n.is-justify-content-left {\n justify-content: left !important;\n}\n\n.is-justify-content-right {\n justify-content: right !important;\n}\n\n.is-align-content-flex-start {\n align-content: flex-start !important;\n}\n\n.is-align-content-flex-end {\n align-content: flex-end !important;\n}\n\n.is-align-content-center {\n align-content: center !important;\n}\n\n.is-align-content-space-between {\n align-content: space-between !important;\n}\n\n.is-align-content-space-around {\n align-content: space-around !important;\n}\n\n.is-align-content-space-evenly {\n align-content: space-evenly !important;\n}\n\n.is-align-content-stretch {\n align-content: stretch !important;\n}\n\n.is-align-content-start {\n align-content: start !important;\n}\n\n.is-align-content-end {\n align-content: end !important;\n}\n\n.is-align-content-baseline {\n align-content: baseline !important;\n}\n\n.is-align-items-stretch {\n align-items: stretch !important;\n}\n\n.is-align-items-flex-start {\n align-items: flex-start !important;\n}\n\n.is-align-items-flex-end {\n align-items: flex-end !important;\n}\n\n.is-align-items-center {\n align-items: center !important;\n}\n\n.is-align-items-baseline {\n align-items: baseline !important;\n}\n\n.is-align-items-start {\n align-items: start !important;\n}\n\n.is-align-items-end {\n align-items: end !important;\n}\n\n.is-align-items-self-start {\n align-items: self-start !important;\n}\n\n.is-align-items-self-end {\n align-items: self-end !important;\n}\n\n.is-align-self-auto {\n align-self: auto !important;\n}\n\n.is-align-self-flex-start {\n align-self: flex-start !important;\n}\n\n.is-align-self-flex-end {\n align-self: flex-end !important;\n}\n\n.is-align-self-center {\n align-self: center !important;\n}\n\n.is-align-self-baseline {\n align-self: baseline !important;\n}\n\n.is-align-self-stretch {\n align-self: stretch !important;\n}\n\n.is-flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.is-flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.is-flex-grow-2 {\n flex-grow: 2 !important;\n}\n\n.is-flex-grow-3 {\n flex-grow: 3 !important;\n}\n\n.is-flex-grow-4 {\n flex-grow: 4 !important;\n}\n\n.is-flex-grow-5 {\n flex-grow: 5 !important;\n}\n\n.is-flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.is-flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.is-flex-shrink-2 {\n flex-shrink: 2 !important;\n}\n\n.is-flex-shrink-3 {\n flex-shrink: 3 !important;\n}\n\n.is-flex-shrink-4 {\n flex-shrink: 4 !important;\n}\n\n.is-flex-shrink-5 {\n flex-shrink: 5 !important;\n}\n\n.is-clearfix::after {\n clear: both;\n content: \" \";\n display: table;\n}\n\n.is-pulled-left {\n float: left !important;\n}\n\n.is-pulled-right {\n float: right !important;\n}\n\n.is-radiusless {\n border-radius: 0 !important;\n}\n\n.is-shadowless {\n box-shadow: none !important;\n}\n\n.is-clickable {\n cursor: pointer !important;\n pointer-events: all !important;\n}\n\n.is-clipped {\n overflow: hidden !important;\n}\n\n.is-relative {\n position: relative !important;\n}\n\n.is-marginless {\n margin: 0 !important;\n}\n\n.is-paddingless {\n padding: 0 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.mx-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.m-3 {\n margin: 0.75rem !important;\n}\n\n.mt-3 {\n margin-top: 0.75rem !important;\n}\n\n.mr-3 {\n margin-right: 0.75rem !important;\n}\n\n.mb-3 {\n margin-bottom: 0.75rem !important;\n}\n\n.ml-3 {\n margin-left: 0.75rem !important;\n}\n\n.mx-3 {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n}\n\n.my-3 {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n}\n\n.m-4 {\n margin: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.m-5 {\n margin: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.m-6 {\n margin: 3rem !important;\n}\n\n.mt-6 {\n margin-top: 3rem !important;\n}\n\n.mr-6 {\n margin-right: 3rem !important;\n}\n\n.mb-6 {\n margin-bottom: 3rem !important;\n}\n\n.ml-6 {\n margin-left: 3rem !important;\n}\n\n.mx-6 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.my-6 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mx-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.px-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.p-3 {\n padding: 0.75rem !important;\n}\n\n.pt-3 {\n padding-top: 0.75rem !important;\n}\n\n.pr-3 {\n padding-right: 0.75rem !important;\n}\n\n.pb-3 {\n padding-bottom: 0.75rem !important;\n}\n\n.pl-3 {\n padding-left: 0.75rem !important;\n}\n\n.px-3 {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n}\n\n.py-3 {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n}\n\n.p-4 {\n padding: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.p-5 {\n padding: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.p-6 {\n padding: 3rem !important;\n}\n\n.pt-6 {\n padding-top: 3rem !important;\n}\n\n.pr-6 {\n padding-right: 3rem !important;\n}\n\n.pb-6 {\n padding-bottom: 3rem !important;\n}\n\n.pl-6 {\n padding-left: 3rem !important;\n}\n\n.px-6 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.py-6 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.p-auto {\n padding: auto !important;\n}\n\n.pt-auto {\n padding-top: auto !important;\n}\n\n.pr-auto {\n padding-right: auto !important;\n}\n\n.pb-auto {\n padding-bottom: auto !important;\n}\n\n.pl-auto {\n padding-left: auto !important;\n}\n\n.px-auto {\n padding-left: auto !important;\n padding-right: auto !important;\n}\n\n.py-auto {\n padding-top: auto !important;\n padding-bottom: auto !important;\n}\n\n.is-size-1 {\n font-size: 3rem !important;\n}\n\n.is-size-2 {\n font-size: 2.5rem !important;\n}\n\n.is-size-3 {\n font-size: 2rem !important;\n}\n\n.is-size-4 {\n font-size: 1.5rem !important;\n}\n\n.is-size-5 {\n font-size: 1.25rem !important;\n}\n\n.is-size-6 {\n font-size: 1rem !important;\n}\n\n.is-size-7 {\n font-size: 0.75rem !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-size-1-mobile {\n font-size: 3rem !important;\n }\n\n .is-size-2-mobile {\n font-size: 2.5rem !important;\n }\n\n .is-size-3-mobile {\n font-size: 2rem !important;\n }\n\n .is-size-4-mobile {\n font-size: 1.5rem !important;\n }\n\n .is-size-5-mobile {\n font-size: 1.25rem !important;\n }\n\n .is-size-6-mobile {\n font-size: 1rem !important;\n }\n\n .is-size-7-mobile {\n font-size: 0.75rem !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-size-1-tablet {\n font-size: 3rem !important;\n }\n\n .is-size-2-tablet {\n font-size: 2.5rem !important;\n }\n\n .is-size-3-tablet {\n font-size: 2rem !important;\n }\n\n .is-size-4-tablet {\n font-size: 1.5rem !important;\n }\n\n .is-size-5-tablet {\n font-size: 1.25rem !important;\n }\n\n .is-size-6-tablet {\n font-size: 1rem !important;\n }\n\n .is-size-7-tablet {\n font-size: 0.75rem !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-size-1-touch {\n font-size: 3rem !important;\n }\n\n .is-size-2-touch {\n font-size: 2.5rem !important;\n }\n\n .is-size-3-touch {\n font-size: 2rem !important;\n }\n\n .is-size-4-touch {\n font-size: 1.5rem !important;\n }\n\n .is-size-5-touch {\n font-size: 1.25rem !important;\n }\n\n .is-size-6-touch {\n font-size: 1rem !important;\n }\n\n .is-size-7-touch {\n font-size: 0.75rem !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-size-1-desktop {\n font-size: 3rem !important;\n }\n\n .is-size-2-desktop {\n font-size: 2.5rem !important;\n }\n\n .is-size-3-desktop {\n font-size: 2rem !important;\n }\n\n .is-size-4-desktop {\n font-size: 1.5rem !important;\n }\n\n .is-size-5-desktop {\n font-size: 1.25rem !important;\n }\n\n .is-size-6-desktop {\n font-size: 1rem !important;\n }\n\n .is-size-7-desktop {\n font-size: 0.75rem !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-size-1-widescreen {\n font-size: 3rem !important;\n }\n\n .is-size-2-widescreen {\n font-size: 2.5rem !important;\n }\n\n .is-size-3-widescreen {\n font-size: 2rem !important;\n }\n\n .is-size-4-widescreen {\n font-size: 1.5rem !important;\n }\n\n .is-size-5-widescreen {\n font-size: 1.25rem !important;\n }\n\n .is-size-6-widescreen {\n font-size: 1rem !important;\n }\n\n .is-size-7-widescreen {\n font-size: 0.75rem !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-size-1-fullhd {\n font-size: 3rem !important;\n }\n\n .is-size-2-fullhd {\n font-size: 2.5rem !important;\n }\n\n .is-size-3-fullhd {\n font-size: 2rem !important;\n }\n\n .is-size-4-fullhd {\n font-size: 1.5rem !important;\n }\n\n .is-size-5-fullhd {\n font-size: 1.25rem !important;\n }\n\n .is-size-6-fullhd {\n font-size: 1rem !important;\n }\n\n .is-size-7-fullhd {\n font-size: 0.75rem !important;\n }\n}\n.has-text-centered {\n text-align: center !important;\n}\n\n.has-text-justified {\n text-align: justify !important;\n}\n\n.has-text-left {\n text-align: left !important;\n}\n\n.has-text-right {\n text-align: right !important;\n}\n\n@media screen and (max-width: 768px) {\n .has-text-centered-mobile {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .has-text-centered-tablet {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .has-text-centered-tablet-only {\n text-align: center !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .has-text-centered-touch {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .has-text-centered-desktop {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .has-text-centered-desktop-only {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .has-text-centered-widescreen {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .has-text-centered-widescreen-only {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .has-text-centered-fullhd {\n text-align: center !important;\n }\n}\n@media screen and (max-width: 768px) {\n .has-text-justified-mobile {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .has-text-justified-tablet {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .has-text-justified-tablet-only {\n text-align: justify !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .has-text-justified-touch {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .has-text-justified-desktop {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .has-text-justified-desktop-only {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .has-text-justified-widescreen {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .has-text-justified-widescreen-only {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .has-text-justified-fullhd {\n text-align: justify !important;\n }\n}\n@media screen and (max-width: 768px) {\n .has-text-left-mobile {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .has-text-left-tablet {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .has-text-left-tablet-only {\n text-align: left !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .has-text-left-touch {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .has-text-left-desktop {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .has-text-left-desktop-only {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .has-text-left-widescreen {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .has-text-left-widescreen-only {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .has-text-left-fullhd {\n text-align: left !important;\n }\n}\n@media screen and (max-width: 768px) {\n .has-text-right-mobile {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .has-text-right-tablet {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .has-text-right-tablet-only {\n text-align: right !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .has-text-right-touch {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .has-text-right-desktop {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .has-text-right-desktop-only {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .has-text-right-widescreen {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .has-text-right-widescreen-only {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .has-text-right-fullhd {\n text-align: right !important;\n }\n}\n.is-capitalized {\n text-transform: capitalize !important;\n}\n\n.is-lowercase {\n text-transform: lowercase !important;\n}\n\n.is-uppercase {\n text-transform: uppercase !important;\n}\n\n.is-italic {\n font-style: italic !important;\n}\n\n.is-underlined {\n text-decoration: underline !important;\n}\n\n.has-text-weight-light {\n font-weight: 300 !important;\n}\n\n.has-text-weight-normal {\n font-weight: 400 !important;\n}\n\n.has-text-weight-medium {\n font-weight: 500 !important;\n}\n\n.has-text-weight-semibold {\n font-weight: 600 !important;\n}\n\n.has-text-weight-bold {\n font-weight: 700 !important;\n}\n\n.is-family-primary {\n font-family: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Ubuntu\", \"Roboto\", \"Oxygen\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif !important;\n}\n\n.is-family-secondary {\n font-family: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Ubuntu\", \"Roboto\", \"Oxygen\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif !important;\n}\n\n.is-family-sans-serif {\n font-family: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Ubuntu\", \"Roboto\", \"Oxygen\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif !important;\n}\n\n.is-family-monospace {\n font-family: monospace !important;\n}\n\n.is-family-code {\n font-family: monospace !important;\n}\n\n.is-block {\n display: block !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-block-mobile {\n display: block !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-block-tablet {\n display: block !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-block-tablet-only {\n display: block !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-block-touch {\n display: block !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-block-desktop {\n display: block !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-block-desktop-only {\n display: block !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-block-widescreen {\n display: block !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-block-widescreen-only {\n display: block !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-block-fullhd {\n display: block !important;\n }\n}\n.is-flex {\n display: flex !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-flex-mobile {\n display: flex !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-flex-tablet {\n display: flex !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-flex-tablet-only {\n display: flex !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-flex-touch {\n display: flex !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-flex-desktop {\n display: flex !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-flex-desktop-only {\n display: flex !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-flex-widescreen {\n display: flex !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-flex-widescreen-only {\n display: flex !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-flex-fullhd {\n display: flex !important;\n }\n}\n.is-inline {\n display: inline !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-inline-mobile {\n display: inline !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-inline-tablet {\n display: inline !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-inline-tablet-only {\n display: inline !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-inline-touch {\n display: inline !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-inline-desktop {\n display: inline !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-inline-desktop-only {\n display: inline !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-inline-widescreen {\n display: inline !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-inline-widescreen-only {\n display: inline !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-inline-fullhd {\n display: inline !important;\n }\n}\n.is-inline-block {\n display: inline-block !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-inline-block-mobile {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-inline-block-tablet {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-inline-block-tablet-only {\n display: inline-block !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-inline-block-touch {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-inline-block-desktop {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-inline-block-desktop-only {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-inline-block-widescreen {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-inline-block-widescreen-only {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-inline-block-fullhd {\n display: inline-block !important;\n }\n}\n.is-inline-flex {\n display: inline-flex !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-inline-flex-mobile {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-inline-flex-tablet {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-inline-flex-tablet-only {\n display: inline-flex !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-inline-flex-touch {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-inline-flex-desktop {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-inline-flex-desktop-only {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-inline-flex-widescreen {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-inline-flex-widescreen-only {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-inline-flex-fullhd {\n display: inline-flex !important;\n }\n}\n.is-hidden {\n display: none !important;\n}\n\n.is-sr-only {\n border: none !important;\n clip: rect(0, 0, 0, 0) !important;\n height: 0.01em !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n white-space: nowrap !important;\n width: 0.01em !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-hidden-mobile {\n display: none !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-hidden-tablet {\n display: none !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-hidden-tablet-only {\n display: none !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-hidden-touch {\n display: none !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-hidden-desktop {\n display: none !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-hidden-desktop-only {\n display: none !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-hidden-widescreen {\n display: none !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-hidden-widescreen-only {\n display: none !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-hidden-fullhd {\n display: none !important;\n }\n}\n.is-invisible {\n visibility: hidden !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-invisible-mobile {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-invisible-tablet {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-invisible-tablet-only {\n visibility: hidden !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-invisible-touch {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-invisible-desktop {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-invisible-desktop-only {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-invisible-widescreen {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-invisible-widescreen-only {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-invisible-fullhd {\n visibility: hidden !important;\n }\n}\n/** Bulma: Layout **/\n.hero {\n align-items: stretch;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n.hero .navbar {\n background: none;\n}\n.hero .tabs ul {\n border-bottom: none;\n}\n.hero.is-white {\n background-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-white strong {\n color: inherit;\n}\n.hero.is-white .title {\n color: hsl(0deg, 0%, 0%);\n}\n.hero.is-white .subtitle {\n color: rgba(0, 0, 0, 0.9);\n}\n.hero.is-white .subtitle a:not(.button),\n.hero.is-white .subtitle strong {\n color: hsl(0deg, 0%, 0%);\n}\n@media screen and (max-width: 1023px) {\n .hero.is-white .navbar-menu {\n background-color: hsl(0deg, 0%, 100%);\n }\n}\n.hero.is-white .navbar-item,\n.hero.is-white .navbar-link {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-white a.navbar-item:hover, .hero.is-white a.navbar-item.is-active,\n.hero.is-white .navbar-link:hover,\n.hero.is-white .navbar-link.is-active {\n background-color: #f2f2f2;\n color: hsl(0deg, 0%, 0%);\n}\n.hero.is-white .tabs a {\n color: hsl(0deg, 0%, 0%);\n opacity: 0.9;\n}\n.hero.is-white .tabs a:hover {\n opacity: 1;\n}\n.hero.is-white .tabs li.is-active a {\n color: hsl(0deg, 0%, 100%) !important;\n opacity: 1;\n}\n.hero.is-white .tabs.is-boxed a, .hero.is-white .tabs.is-toggle a {\n color: hsl(0deg, 0%, 0%);\n}\n.hero.is-white .tabs.is-boxed a:hover, .hero.is-white .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-white .tabs.is-boxed li.is-active a, .hero.is-white .tabs.is-boxed li.is-active a:hover, .hero.is-white .tabs.is-toggle li.is-active a, .hero.is-white .tabs.is-toggle li.is-active a:hover {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.hero.is-white.is-bold {\n background-image: linear-gradient(141deg, #e8e3e4 0%, hsl(0deg, 0%, 100%) 71%, white 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-white.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #e8e3e4 0%, hsl(0deg, 0%, 100%) 71%, white 100%);\n }\n}\n.hero.is-black {\n background-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-black strong {\n color: inherit;\n}\n.hero.is-black .title {\n color: hsl(0deg, 0%, 100%);\n}\n.hero.is-black .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-black .subtitle a:not(.button),\n.hero.is-black .subtitle strong {\n color: hsl(0deg, 0%, 100%);\n}\n@media screen and (max-width: 1023px) {\n .hero.is-black .navbar-menu {\n background-color: hsl(0deg, 0%, 0%);\n }\n}\n.hero.is-black .navbar-item,\n.hero.is-black .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-black a.navbar-item:hover, .hero.is-black a.navbar-item.is-active,\n.hero.is-black .navbar-link:hover,\n.hero.is-black .navbar-link.is-active {\n background-color: black;\n color: hsl(0deg, 0%, 100%);\n}\n.hero.is-black .tabs a {\n color: hsl(0deg, 0%, 100%);\n opacity: 0.9;\n}\n.hero.is-black .tabs a:hover {\n opacity: 1;\n}\n.hero.is-black .tabs li.is-active a {\n color: hsl(0deg, 0%, 0%) !important;\n opacity: 1;\n}\n.hero.is-black .tabs.is-boxed a, .hero.is-black .tabs.is-toggle a {\n color: hsl(0deg, 0%, 100%);\n}\n.hero.is-black .tabs.is-boxed a:hover, .hero.is-black .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-black .tabs.is-boxed li.is-active a, .hero.is-black .tabs.is-boxed li.is-active a:hover, .hero.is-black .tabs.is-toggle li.is-active a, .hero.is-black .tabs.is-toggle li.is-active a:hover {\n background-color: hsl(0deg, 0%, 100%);\n border-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.hero.is-black.is-bold {\n background-image: linear-gradient(141deg, black 0%, hsl(0deg, 0%, 0%) 71%, #0d0c0c 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-black.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, black 0%, hsl(0deg, 0%, 0%) 71%, #0d0c0c 100%);\n }\n}\n.hero.is-light {\n background-color: hsl(0deg, 0%, 96%);\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-light strong {\n color: inherit;\n}\n.hero.is-light .title {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-light .subtitle {\n color: rgba(0, 0, 0, 0.9);\n}\n.hero.is-light .subtitle a:not(.button),\n.hero.is-light .subtitle strong {\n color: rgba(0, 0, 0, 0.7);\n}\n@media screen and (max-width: 1023px) {\n .hero.is-light .navbar-menu {\n background-color: hsl(0deg, 0%, 96%);\n }\n}\n.hero.is-light .navbar-item,\n.hero.is-light .navbar-link {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-light a.navbar-item:hover, .hero.is-light a.navbar-item.is-active,\n.hero.is-light .navbar-link:hover,\n.hero.is-light .navbar-link.is-active {\n background-color: #e8e8e8;\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-light .tabs a {\n color: rgba(0, 0, 0, 0.7);\n opacity: 0.9;\n}\n.hero.is-light .tabs a:hover {\n opacity: 1;\n}\n.hero.is-light .tabs li.is-active a {\n color: hsl(0deg, 0%, 96%) !important;\n opacity: 1;\n}\n.hero.is-light .tabs.is-boxed a, .hero.is-light .tabs.is-toggle a {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-light .tabs.is-boxed a:hover, .hero.is-light .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-light .tabs.is-boxed li.is-active a, .hero.is-light .tabs.is-boxed li.is-active a:hover, .hero.is-light .tabs.is-toggle li.is-active a, .hero.is-light .tabs.is-toggle li.is-active a:hover {\n background-color: rgba(0, 0, 0, 0.7);\n border-color: rgba(0, 0, 0, 0.7);\n color: hsl(0deg, 0%, 96%);\n}\n.hero.is-light.is-bold {\n background-image: linear-gradient(141deg, #dfd8d9 0%, hsl(0deg, 0%, 96%) 71%, white 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-light.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #dfd8d9 0%, hsl(0deg, 0%, 96%) 71%, white 100%);\n }\n}\n.hero.is-dark {\n background-color: hsl(0deg, 0%, 21%);\n color: #fff;\n}\n.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-dark strong {\n color: inherit;\n}\n.hero.is-dark .title {\n color: #fff;\n}\n.hero.is-dark .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-dark .subtitle a:not(.button),\n.hero.is-dark .subtitle strong {\n color: #fff;\n}\n@media screen and (max-width: 1023px) {\n .hero.is-dark .navbar-menu {\n background-color: hsl(0deg, 0%, 21%);\n }\n}\n.hero.is-dark .navbar-item,\n.hero.is-dark .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-dark a.navbar-item:hover, .hero.is-dark a.navbar-item.is-active,\n.hero.is-dark .navbar-link:hover,\n.hero.is-dark .navbar-link.is-active {\n background-color: #292929;\n color: #fff;\n}\n.hero.is-dark .tabs a {\n color: #fff;\n opacity: 0.9;\n}\n.hero.is-dark .tabs a:hover {\n opacity: 1;\n}\n.hero.is-dark .tabs li.is-active a {\n color: hsl(0deg, 0%, 21%) !important;\n opacity: 1;\n}\n.hero.is-dark .tabs.is-boxed a, .hero.is-dark .tabs.is-toggle a {\n color: #fff;\n}\n.hero.is-dark .tabs.is-boxed a:hover, .hero.is-dark .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-dark .tabs.is-boxed li.is-active a, .hero.is-dark .tabs.is-boxed li.is-active a:hover, .hero.is-dark .tabs.is-toggle li.is-active a, .hero.is-dark .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: hsl(0deg, 0%, 21%);\n}\n.hero.is-dark.is-bold {\n background-image: linear-gradient(141deg, #1f191a 0%, hsl(0deg, 0%, 21%) 71%, #46403f 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-dark.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #1f191a 0%, hsl(0deg, 0%, 21%) 71%, #46403f 100%);\n }\n}\n.hero.is-primary {\n background-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-primary strong {\n color: inherit;\n}\n.hero.is-primary .title {\n color: #fff;\n}\n.hero.is-primary .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-primary .subtitle a:not(.button),\n.hero.is-primary .subtitle strong {\n color: #fff;\n}\n@media screen and (max-width: 1023px) {\n .hero.is-primary .navbar-menu {\n background-color: hsl(171deg, 100%, 41%);\n }\n}\n.hero.is-primary .navbar-item,\n.hero.is-primary .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-primary a.navbar-item:hover, .hero.is-primary a.navbar-item.is-active,\n.hero.is-primary .navbar-link:hover,\n.hero.is-primary .navbar-link.is-active {\n background-color: #00b89c;\n color: #fff;\n}\n.hero.is-primary .tabs a {\n color: #fff;\n opacity: 0.9;\n}\n.hero.is-primary .tabs a:hover {\n opacity: 1;\n}\n.hero.is-primary .tabs li.is-active a {\n color: hsl(171deg, 100%, 41%) !important;\n opacity: 1;\n}\n.hero.is-primary .tabs.is-boxed a, .hero.is-primary .tabs.is-toggle a {\n color: #fff;\n}\n.hero.is-primary .tabs.is-boxed a:hover, .hero.is-primary .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-primary .tabs.is-boxed li.is-active a, .hero.is-primary .tabs.is-boxed li.is-active a:hover, .hero.is-primary .tabs.is-toggle li.is-active a, .hero.is-primary .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: hsl(171deg, 100%, 41%);\n}\n.hero.is-primary.is-bold {\n background-image: linear-gradient(141deg, #009e6c 0%, hsl(171deg, 100%, 41%) 71%, #00e7eb 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-primary.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #009e6c 0%, hsl(171deg, 100%, 41%) 71%, #00e7eb 100%);\n }\n}\n.hero.is-link {\n background-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-link strong {\n color: inherit;\n}\n.hero.is-link .title {\n color: #fff;\n}\n.hero.is-link .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-link .subtitle a:not(.button),\n.hero.is-link .subtitle strong {\n color: #fff;\n}\n@media screen and (max-width: 1023px) {\n .hero.is-link .navbar-menu {\n background-color: hsl(208deg, 79%, 51%);\n }\n}\n.hero.is-link .navbar-item,\n.hero.is-link .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-link a.navbar-item:hover, .hero.is-link a.navbar-item.is-active,\n.hero.is-link .navbar-link:hover,\n.hero.is-link .navbar-link.is-active {\n background-color: #197bd2;\n color: #fff;\n}\n.hero.is-link .tabs a {\n color: #fff;\n opacity: 0.9;\n}\n.hero.is-link .tabs a:hover {\n opacity: 1;\n}\n.hero.is-link .tabs li.is-active a {\n color: hsl(208deg, 79%, 51%) !important;\n opacity: 1;\n}\n.hero.is-link .tabs.is-boxed a, .hero.is-link .tabs.is-toggle a {\n color: #fff;\n}\n.hero.is-link .tabs.is-boxed a:hover, .hero.is-link .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-link .tabs.is-boxed li.is-active a, .hero.is-link .tabs.is-boxed li.is-active a:hover, .hero.is-link .tabs.is-toggle li.is-active a, .hero.is-link .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: hsl(208deg, 79%, 51%);\n}\n.hero.is-link.is-bold {\n background-image: linear-gradient(141deg, #0c8ec6 0%, hsl(208deg, 79%, 51%) 71%, #3176ed 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-link.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #0c8ec6 0%, hsl(208deg, 79%, 51%) 71%, #3176ed 100%);\n }\n}\n.hero.is-info {\n background-color: hsl(217deg, 89%, 61%);\n color: #fff;\n}\n.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-info strong {\n color: inherit;\n}\n.hero.is-info .title {\n color: #fff;\n}\n.hero.is-info .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-info .subtitle a:not(.button),\n.hero.is-info .subtitle strong {\n color: #fff;\n}\n@media screen and (max-width: 1023px) {\n .hero.is-info .navbar-menu {\n background-color: hsl(217deg, 89%, 61%);\n }\n}\n.hero.is-info .navbar-item,\n.hero.is-info .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-info a.navbar-item:hover, .hero.is-info a.navbar-item.is-active,\n.hero.is-info .navbar-link:hover,\n.hero.is-info .navbar-link.is-active {\n background-color: #2b77f3;\n color: #fff;\n}\n.hero.is-info .tabs a {\n color: #fff;\n opacity: 0.9;\n}\n.hero.is-info .tabs a:hover {\n opacity: 1;\n}\n.hero.is-info .tabs li.is-active a {\n color: hsl(217deg, 89%, 61%) !important;\n opacity: 1;\n}\n.hero.is-info .tabs.is-boxed a, .hero.is-info .tabs.is-toggle a {\n color: #fff;\n}\n.hero.is-info .tabs.is-boxed a:hover, .hero.is-info .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-info .tabs.is-boxed li.is-active a, .hero.is-info .tabs.is-boxed li.is-active a:hover, .hero.is-info .tabs.is-toggle li.is-active a, .hero.is-info .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: hsl(217deg, 89%, 61%);\n}\n.hero.is-info.is-bold {\n background-image: linear-gradient(141deg, #068efe 0%, hsl(217deg, 89%, 61%) 71%, #577afa 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-info.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #068efe 0%, hsl(217deg, 89%, 61%) 71%, #577afa 100%);\n }\n}\n.hero.is-success {\n background-color: hsl(141deg, 42%, 53%);\n color: #fff;\n}\n.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-success strong {\n color: inherit;\n}\n.hero.is-success .title {\n color: #fff;\n}\n.hero.is-success .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-success .subtitle a:not(.button),\n.hero.is-success .subtitle strong {\n color: #fff;\n}\n@media screen and (max-width: 1023px) {\n .hero.is-success .navbar-menu {\n background-color: hsl(141deg, 42%, 53%);\n }\n}\n.hero.is-success .navbar-item,\n.hero.is-success .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-success a.navbar-item:hover, .hero.is-success a.navbar-item.is-active,\n.hero.is-success .navbar-link:hover,\n.hero.is-success .navbar-link.is-active {\n background-color: #47ae6b;\n color: #fff;\n}\n.hero.is-success .tabs a {\n color: #fff;\n opacity: 0.9;\n}\n.hero.is-success .tabs a:hover {\n opacity: 1;\n}\n.hero.is-success .tabs li.is-active a {\n color: hsl(141deg, 42%, 53%) !important;\n opacity: 1;\n}\n.hero.is-success .tabs.is-boxed a, .hero.is-success .tabs.is-toggle a {\n color: #fff;\n}\n.hero.is-success .tabs.is-boxed a:hover, .hero.is-success .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-success .tabs.is-boxed li.is-active a, .hero.is-success .tabs.is-boxed li.is-active a:hover, .hero.is-success .tabs.is-toggle li.is-active a, .hero.is-success .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: hsl(141deg, 42%, 53%);\n}\n.hero.is-success.is-bold {\n background-image: linear-gradient(141deg, #35a74a 0%, hsl(141deg, 42%, 53%) 71%, #62c696 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-success.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #35a74a 0%, hsl(141deg, 42%, 53%) 71%, #62c696 100%);\n }\n}\n.hero.is-warning {\n background-color: hsl(44deg, 100%, 77%);\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-warning strong {\n color: inherit;\n}\n.hero.is-warning .title {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-warning .subtitle {\n color: rgba(0, 0, 0, 0.9);\n}\n.hero.is-warning .subtitle a:not(.button),\n.hero.is-warning .subtitle strong {\n color: rgba(0, 0, 0, 0.7);\n}\n@media screen and (max-width: 1023px) {\n .hero.is-warning .navbar-menu {\n background-color: hsl(44deg, 100%, 77%);\n }\n}\n.hero.is-warning .navbar-item,\n.hero.is-warning .navbar-link {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-warning a.navbar-item:hover, .hero.is-warning a.navbar-item.is-active,\n.hero.is-warning .navbar-link:hover,\n.hero.is-warning .navbar-link.is-active {\n background-color: #ffd970;\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-warning .tabs a {\n color: rgba(0, 0, 0, 0.7);\n opacity: 0.9;\n}\n.hero.is-warning .tabs a:hover {\n opacity: 1;\n}\n.hero.is-warning .tabs li.is-active a {\n color: hsl(44deg, 100%, 77%) !important;\n opacity: 1;\n}\n.hero.is-warning .tabs.is-boxed a, .hero.is-warning .tabs.is-toggle a {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-warning .tabs.is-boxed a:hover, .hero.is-warning .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-warning .tabs.is-boxed li.is-active a, .hero.is-warning .tabs.is-boxed li.is-active a:hover, .hero.is-warning .tabs.is-toggle li.is-active a, .hero.is-warning .tabs.is-toggle li.is-active a:hover {\n background-color: rgba(0, 0, 0, 0.7);\n border-color: rgba(0, 0, 0, 0.7);\n color: hsl(44deg, 100%, 77%);\n}\n.hero.is-warning.is-bold {\n background-image: linear-gradient(141deg, #ffb657 0%, hsl(44deg, 100%, 77%) 71%, #fff6a3 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-warning.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #ffb657 0%, hsl(44deg, 100%, 77%) 71%, #fff6a3 100%);\n }\n}\n.hero.is-danger {\n background-color: hsl(348deg, 100%, 61%);\n color: #fff;\n}\n.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-danger strong {\n color: inherit;\n}\n.hero.is-danger .title {\n color: #fff;\n}\n.hero.is-danger .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-danger .subtitle a:not(.button),\n.hero.is-danger .subtitle strong {\n color: #fff;\n}\n@media screen and (max-width: 1023px) {\n .hero.is-danger .navbar-menu {\n background-color: hsl(348deg, 100%, 61%);\n }\n}\n.hero.is-danger .navbar-item,\n.hero.is-danger .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-danger a.navbar-item:hover, .hero.is-danger a.navbar-item.is-active,\n.hero.is-danger .navbar-link:hover,\n.hero.is-danger .navbar-link.is-active {\n background-color: #ff1f4b;\n color: #fff;\n}\n.hero.is-danger .tabs a {\n color: #fff;\n opacity: 0.9;\n}\n.hero.is-danger .tabs a:hover {\n opacity: 1;\n}\n.hero.is-danger .tabs li.is-active a {\n color: hsl(348deg, 100%, 61%) !important;\n opacity: 1;\n}\n.hero.is-danger .tabs.is-boxed a, .hero.is-danger .tabs.is-toggle a {\n color: #fff;\n}\n.hero.is-danger .tabs.is-boxed a:hover, .hero.is-danger .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-danger .tabs.is-boxed li.is-active a, .hero.is-danger .tabs.is-boxed li.is-active a:hover, .hero.is-danger .tabs.is-toggle li.is-active a, .hero.is-danger .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: hsl(348deg, 100%, 61%);\n}\n.hero.is-danger.is-bold {\n background-image: linear-gradient(141deg, #ff0561 0%, hsl(348deg, 100%, 61%) 71%, #ff5257 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-danger.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #ff0561 0%, hsl(348deg, 100%, 61%) 71%, #ff5257 100%);\n }\n}\n.hero.is-small .hero-body {\n padding: 1.5rem;\n}\n@media screen and (min-width: 769px), print {\n .hero.is-medium .hero-body {\n padding: 9rem 4.5rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .hero.is-large .hero-body {\n padding: 18rem 6rem;\n }\n}\n.hero.is-halfheight .hero-body, .hero.is-fullheight .hero-body, .hero.is-fullheight-with-navbar .hero-body {\n align-items: center;\n display: flex;\n}\n.hero.is-halfheight .hero-body > .container, .hero.is-fullheight .hero-body > .container, .hero.is-fullheight-with-navbar .hero-body > .container {\n flex-grow: 1;\n flex-shrink: 1;\n}\n.hero.is-halfheight {\n min-height: 50vh;\n}\n.hero.is-fullheight {\n min-height: 100vh;\n}\n\n.hero-video {\n overflow: hidden;\n}\n.hero-video video {\n left: 50%;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n top: 50%;\n transform: translate3d(-50%, -50%, 0);\n}\n.hero-video.is-transparent {\n opacity: 0.3;\n}\n@media screen and (max-width: 768px) {\n .hero-video {\n display: none;\n }\n}\n\n.hero-buttons {\n margin-top: 1.5rem;\n}\n@media screen and (max-width: 768px) {\n .hero-buttons .button {\n display: flex;\n }\n .hero-buttons .button:not(:last-child) {\n margin-bottom: 0.75rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .hero-buttons {\n display: flex;\n justify-content: center;\n }\n .hero-buttons .button:not(:last-child) {\n margin-right: 1.5rem;\n }\n}\n\n.hero-head,\n.hero-foot {\n flex-grow: 0;\n flex-shrink: 0;\n}\n\n.hero-body {\n flex-grow: 1;\n flex-shrink: 0;\n padding: 3rem 1.5rem;\n}\n@media screen and (min-width: 769px), print {\n .hero-body {\n padding: 3rem 3rem;\n }\n}\n\n.section {\n padding: 3rem 1.5rem;\n}\n@media screen and (min-width: 1024px) {\n .section {\n padding: 3rem 3rem;\n }\n .section.is-medium {\n padding: 9rem 4.5rem;\n }\n .section.is-large {\n padding: 18rem 6rem;\n }\n}\n\n/** Animations **/\n@keyframes fade-in-opacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes float-up {\n 0% {\n opacity: 0;\n transform: scale(0.86);\n }\n 25% {\n opacity: 100;\n }\n 67% {\n transform: scale(1);\n }\n 100% {\n transform: scale(1);\n }\n}\n/** General **/\nhtml {\n overflow-y: auto;\n}\n\nbody {\n animation: fade-in-opacity 0.5s;\n}\n\ncode,\n.message-body code {\n background-color: hsl(0deg, 0%, 0%);\n border-radius: 5px;\n font-size: 1rem;\n}\n\n.input::placeholder,\n.textarea::placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n\n.label {\n color: hsl(0deg, 0%, 96%);\n font-weight: normal;\n}\n\n.help {\n color: hsl(0deg, 0%, 93%);\n}\n\n.progress {\n background-color: hsl(0deg, 0%, 48%);\n}\n\n.button.is-info.is-hovered [class^=icon-]::before,\n.button.is-info.is-hovered [class*=\" icon-\"]::before,\n.button.is-info:hover [class^=icon-]::before,\n.button.is-info:hover [class*=\" icon-\"]::before {\n fill: #fff;\n}\n\n.button {\n /* TODO: Use variables for colors */\n}\n.button.is-wrappable {\n white-space: break-spaces;\n min-height: 2.25em;\n height: auto;\n}\n.button.is-dangerish {\n background-color: #ff7043;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-dangerish.is-hovered, .button.is-dangerish:not([disabled]):hover {\n background-color: #ff8a65;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-dangerish.is-active, .button.is-dangerish:not([disabled]):active {\n background-color: #ff5722;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-dangerish.is-outlined {\n background-color: transparent;\n border-color: #ff7043;\n color: #ff7043;\n}\n.button.is-dangerish.is-outlined.is-focused, .button.is-dangerish.is-outlined.is-hovered, .button.is-dangerish.is-outlined:not([disabled]):focus, .button.is-dangerish.is-outlined:not([disabled]):hover {\n background-color: #ff7043;\n border-color: #ff7043;\n color: rgba(0, 0, 0, 0.7);\n}\n\n.checkbox:hover,\n.radio:hover {\n color: hsl(0deg, 0%, 71%);\n}\n\n.select:not(.is-multiple, .is-loading)::after {\n border-color: hsl(0deg, 0%, 96%);\n}\n\n.select:not(.is-multiple, .is-loading):hover::after {\n border-color: hsl(0deg, 0%, 96%);\n}\n\n.select select[disabled]:hover,\nfieldset[disabled] .select select:hover {\n border-color: hsl(0deg, 0%, 48%);\n}\n\n.message {\n background-color: #2f2f2f;\n}\n\n.message-body {\n color: hsl(0deg, 0%, 96%);\n border: 0;\n}\n\n.table {\n color: hsl(0deg, 0%, 93%);\n background-color: hsl(0deg, 0%, 0%);\n}\n.table.is-narrow {\n font-size: 0.75rem;\n}\n.table.is-hoverable tbody tr:not(.is-selected):hover {\n background-color: #2f2f2f;\n}\n.table td,\n.table th {\n white-space: nowrap;\n vertical-align: middle;\n border-bottom: 1px solid hsl(0deg, 0%, 48%);\n}\n.table th {\n color: hsl(0deg, 0%, 96%);\n height: 2.25em;\n font-weight: normal;\n}\n.table thead td,\n.table thead th {\n color: hsl(0deg, 0%, 96%);\n background-color: #383838;\n border-bottom: 0;\n height: 31px;\n}\n.table tbody tr:last-child td,\n.table tbody tr:last-child th {\n border-bottom-width: 1px;\n}\n.table .cell-indent {\n padding-left: 2.25em;\n}\n\n.delete::before, .delete::after {\n background-color: hsl(0deg, 0%, 96%);\n}\n\n.has-word-break-all {\n word-break: break-all;\n}\n\n/** Fontello overrides **/\n.icon-gauge::before {\n margin-top: -2px;\n}\n\n/** Cookie Consent **/\n.cc-window {\n font-family: inherit !important;\n}\n\n.cc-link {\n padding: 0 !important;\n}\n\n/* floating button's bottom offset + height + bottom offset */\n.section.has-extra-bottom-padding {\n padding-bottom: 6.5rem;\n}\n\n/** Floating home button **/\na.floating-home-button {\n display: flex;\n position: fixed;\n right: 1.5rem;\n bottom: 1.5rem;\n border-radius: 100%;\n background-color: hsl(208deg, 79%, 51%);\n color: hsl(0deg, 0%, 100%);\n width: 3.5rem;\n height: 3.5rem;\n justify-content: center;\n align-items: center;\n transition: background-color 0.25s, color 0.25s;\n}\na.floating-home-button:hover {\n background-color: #edf5fd;\n color: hsl(0deg, 0%, 0%);\n}\na.floating-home-button > .icon {\n margin-top: -2px;\n}\n\n.hero.is-fullheight {\n /* https://github.com/philipwalton/flexbugs#flexbug-3 */\n}\n.hero.is-fullheight > .hero-body {\n min-height: 100vh;\n height: 100%;\n /* https://github.com/philipwalton/flexbugs#flexbug-2 */\n}\n.hero.is-fullheight > .hero-body > .container {\n width: 100%;\n}","@import \"derived-variables\"\n\n=clearfix\n &::after\n clear: both\n content: \" \"\n display: table\n\n=center($width, $height: 0)\n position: absolute\n @if $height != 0\n left: calc(50% - (#{$width} * 0.5))\n top: calc(50% - (#{$height} * 0.5))\n @else\n left: calc(50% - (#{$width} * 0.5))\n top: calc(50% - (#{$width} * 0.5))\n\n=fa($size, $dimensions)\n display: inline-block\n font-size: $size\n height: $dimensions\n line-height: $dimensions\n text-align: center\n vertical-align: top\n width: $dimensions\n\n=hamburger($dimensions)\n -moz-appearance: none\n -webkit-appearance: none\n appearance: none\n background: none\n border: none\n cursor: pointer\n display: block\n height: $dimensions\n position: relative\n width: $dimensions\n span\n background-color: currentColor\n display: block\n height: 1px\n left: calc(50% - 8px)\n position: absolute\n transform-origin: center\n transition-duration: $speed\n transition-property: background-color, opacity, transform\n transition-timing-function: $easing\n width: 16px\n &:nth-child(1)\n top: calc(50% - 6px)\n &:nth-child(2)\n top: calc(50% - 1px)\n &:nth-child(3)\n top: calc(50% + 4px)\n &:hover\n background-color: bulmaRgba(black, 0.05)\n // Modifers\n &.is-active\n span\n &:nth-child(1)\n transform: translateY(5px) rotate(45deg)\n &:nth-child(2)\n opacity: 0\n &:nth-child(3)\n transform: translateY(-5px) rotate(-45deg)\n\n=overflow-touch\n -webkit-overflow-scrolling: touch\n\n=placeholder\n $placeholders: ':-moz' ':-webkit-input' '-moz' '-ms-input'\n @each $placeholder in $placeholders\n &:#{$placeholder}-placeholder\n @content\n\n=reset\n -moz-appearance: none\n -webkit-appearance: none\n appearance: none\n background: none\n border: none\n color: currentColor\n font-family: inherit\n font-size: 1em\n margin: 0\n padding: 0\n\n// Responsiveness\n\n=from($device)\n @media screen and (min-width: $device)\n @content\n\n=until($device)\n @media screen and (max-width: $device - 1px)\n @content\n\n=between($from, $until)\n @media screen and (min-width: $from) and (max-width: $until - 1px)\n @content\n\n=mobile\n @media screen and (max-width: $tablet - 1px)\n @content\n\n=tablet\n @media screen and (min-width: $tablet), print\n @content\n\n=tablet-only\n @media screen and (min-width: $tablet) and (max-width: $desktop - 1px)\n @content\n\n=touch\n @media screen and (max-width: $desktop - 1px)\n @content\n\n=desktop\n @media screen and (min-width: $desktop)\n @content\n\n=desktop-only\n @if $widescreen-enabled\n @media screen and (min-width: $desktop) and (max-width: $widescreen - 1px)\n @content\n\n=until-widescreen\n @if $widescreen-enabled\n @media screen and (max-width: $widescreen - 1px)\n @content\n\n=widescreen\n @if $widescreen-enabled\n @media screen and (min-width: $widescreen)\n @content\n\n=widescreen-only\n @if $widescreen-enabled and $fullhd-enabled\n @media screen and (min-width: $widescreen) and (max-width: $fullhd - 1px)\n @content\n\n=until-fullhd\n @if $fullhd-enabled\n @media screen and (max-width: $fullhd - 1px)\n @content\n\n=fullhd\n @if $fullhd-enabled\n @media screen and (min-width: $fullhd)\n @content\n\n=breakpoint($name)\n $breakpoint: map-get($breakpoints, $name)\n @if $breakpoint\n $from: map-get($breakpoint, \"from\")\n $until: map-get($breakpoint, \"until\")\n @if $from and $until\n +between($from, $until)\n @content\n @else if $from\n +from($from)\n @content\n @else if $until\n +until($until)\n @content\n\n=ltr\n @if not $rtl\n @content\n\n=rtl\n @if $rtl\n @content\n\n=ltr-property($property, $spacing, $right: true)\n $normal: if($right, \"right\", \"left\")\n $opposite: if($right, \"left\", \"right\")\n @if $rtl\n #{$property}-#{$opposite}: $spacing\n @else\n #{$property}-#{$normal}: $spacing\n\n=ltr-position($spacing, $right: true)\n $normal: if($right, \"right\", \"left\")\n $opposite: if($right, \"left\", \"right\")\n @if $rtl\n #{$opposite}: $spacing\n @else\n #{$normal}: $spacing\n\n// Placeholders\n\n=unselectable\n -webkit-touch-callout: none\n -webkit-user-select: none\n -moz-user-select: none\n -ms-user-select: none\n user-select: none\n\n=arrow($color: transparent)\n border: 3px solid $color\n border-radius: 2px\n border-right: 0\n border-top: 0\n content: \" \"\n display: block\n height: 0.625em\n margin-top: -0.4375em\n pointer-events: none\n position: absolute\n top: 50%\n transform: rotate(-45deg)\n transform-origin: center\n width: 0.625em\n\n=block($spacing: $block-spacing)\n &:not(:last-child)\n margin-bottom: $spacing\n\n=delete\n +unselectable\n -moz-appearance: none\n -webkit-appearance: none\n background-color: bulmaRgba($scheme-invert, 0.2)\n border: none\n border-radius: $radius-rounded\n cursor: pointer\n pointer-events: auto\n display: inline-block\n flex-grow: 0\n flex-shrink: 0\n font-size: 0\n height: 20px\n max-height: 20px\n max-width: 20px\n min-height: 20px\n min-width: 20px\n outline: none\n position: relative\n vertical-align: top\n width: 20px\n &::before,\n &::after\n background-color: $scheme-main\n content: \"\"\n display: block\n left: 50%\n position: absolute\n top: 50%\n transform: translateX(-50%) translateY(-50%) rotate(45deg)\n transform-origin: center center\n &::before\n height: 2px\n width: 50%\n &::after\n height: 50%\n width: 2px\n &:hover,\n &:focus\n background-color: bulmaRgba($scheme-invert, 0.3)\n &:active\n background-color: bulmaRgba($scheme-invert, 0.4)\n // Sizes\n &.is-small\n height: 16px\n max-height: 16px\n max-width: 16px\n min-height: 16px\n min-width: 16px\n width: 16px\n &.is-medium\n height: 24px\n max-height: 24px\n max-width: 24px\n min-height: 24px\n min-width: 24px\n width: 24px\n &.is-large\n height: 32px\n max-height: 32px\n max-width: 32px\n min-height: 32px\n min-width: 32px\n width: 32px\n\n=loader\n animation: spinAround 500ms infinite linear\n border: 2px solid $grey-lighter\n border-radius: $radius-rounded\n border-right-color: transparent\n border-top-color: transparent\n content: \"\"\n display: block\n height: 1em\n position: relative\n width: 1em\n\n=overlay($offset: 0)\n bottom: $offset\n left: $offset\n position: absolute\n right: $offset\n top: $offset\n","@charset \"utf-8\";\n\n/* stylelint-disable scss/dollar-variable-empty-line-before */\n/* stylelint-disable-next-line value-keyword-case */\n$family-sans-serif: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Ubuntu\", \"Roboto\", \"Oxygen\", \"Cantarell\",\n \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif;\n\n$black: hsl(0deg 0% 0%);\n$green: hsl(141deg 42% 53%);\n$cyan: hsl(217deg 89% 61%);\n$blue: hsl(208deg 79% 51%);\n$red: hsl(348deg 100% 61%);\n\n/** Bulma: Variables **/\n@import \"../../node_modules/bulma/sass/utilities/initial-variables\";\n@import \"../../node_modules/bulma/sass/utilities/functions\";\n@import \"../../node_modules/bulma/sass/utilities/derived-variables\";\n\n$scheme-main: $black;\n$text: $white-ter;\n\n$strong-color: $grey-lighter;\n\n$link-hover: $link-light;\n\n$hr-background-color: $grey-light;\n\n$border-hover: $link;\n$input-focus-border-color: $link-light;\n\n$title-color: $white-ter;\n$subtitle-color: $grey-lightest;\n$subtitle-strong-color: $grey-lightest;\n\n$input-background-color: $scheme-main;\n$input-border-color: $grey;\n$input-color: $text;\n$input-placeholder-color: $grey-lightest;\n\n$input-disabled-background-color: $grey-dark;\n$input-disabled-border-color: $input-border-color;\n$input-disabled-color: $input-color;\n$input-disabled-placeholder-color: $grey-lightest;\n\n$pagination-background-color: $scheme-main;\n$pagination-border-color: $text;\n$pagination-color: $text;\n\n$pagination-hover-background-color: $pagination-color;\n$pagination-hover-border-color: $pagination-border-color;\n$pagination-hover-color: $scheme-main;\n\n$pagination-disabled-background-color: $grey-dark;\n$pagination-disabled-border-color: $grey;\n$pagination-disabled-color: hsl(0deg 0% 64%);\n\n$tabs-link-color: $text;\n$tabs-link-hover-color: $tabs-link-color;\n$tabs-boxed-link-active-border-color: $grey;\n$tabs-boxed-link-hover-background-color: $grey-darker;\n$tabs-boxed-link-hover-border-bottom-color: $tabs-boxed-link-active-border-color\n","/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */\n// Blocks\nhtml,\nbody,\np,\nol,\nul,\nli,\ndl,\ndt,\ndd,\nblockquote,\nfigure,\nfieldset,\nlegend,\ntextarea,\npre,\niframe,\nhr,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n margin: 0\n padding: 0\n\n// Headings\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n font-size: 100%\n font-weight: normal\n\n// List\nul\n list-style: none\n\n// Form\nbutton,\ninput,\nselect,\ntextarea\n margin: 0\n\n// Box sizing\nhtml\n box-sizing: border-box\n\n*\n &,\n &::before,\n &::after\n box-sizing: inherit\n\n// Media\nimg,\nvideo\n height: auto\n max-width: 100%\n\n// Iframe\niframe\n border: 0\n\n// Table\ntable\n border-collapse: collapse\n border-spacing: 0\n\ntd,\nth\n padding: 0\n &:not([align])\n text-align: inherit\n","@import \"../utilities/mixins\"\n\n$body-background-color: $scheme-main !default\n$body-size: 16px !default\n$body-min-width: 300px !default\n$body-rendering: optimizeLegibility !default\n$body-family: $family-primary !default\n$body-overflow-x: hidden !default\n$body-overflow-y: scroll !default\n\n$body-color: $text !default\n$body-font-size: 1em !default\n$body-weight: $weight-normal !default\n$body-line-height: 1.5 !default\n\n$code-family: $family-code !default\n$code-padding: 0.25em 0.5em 0.25em !default\n$code-weight: normal !default\n$code-size: 0.875em !default\n\n$small-font-size: 0.875em !default\n\n$hr-background-color: $background !default\n$hr-height: 2px !default\n$hr-margin: 1.5rem 0 !default\n\n$strong-color: $text-strong !default\n$strong-weight: $weight-bold !default\n\n$pre-font-size: 0.875em !default\n$pre-padding: 1.25rem 1.5rem !default\n$pre-code-font-size: 1em !default\n\nhtml\n background-color: $body-background-color\n font-size: $body-size\n -moz-osx-font-smoothing: grayscale\n -webkit-font-smoothing: antialiased\n min-width: $body-min-width\n overflow-x: $body-overflow-x\n overflow-y: $body-overflow-y\n text-rendering: $body-rendering\n text-size-adjust: 100%\n\narticle,\naside,\nfigure,\nfooter,\nheader,\nhgroup,\nsection\n display: block\n\nbody,\nbutton,\ninput,\noptgroup,\nselect,\ntextarea\n font-family: $body-family\n\ncode,\npre\n -moz-osx-font-smoothing: auto\n -webkit-font-smoothing: auto\n font-family: $code-family\n\nbody\n color: $body-color\n font-size: $body-font-size\n font-weight: $body-weight\n line-height: $body-line-height\n\n// Inline\n\na\n color: $link\n cursor: pointer\n text-decoration: none\n strong\n color: currentColor\n &:hover\n color: $link-hover\n\ncode\n background-color: $code-background\n color: $code\n font-size: $code-size\n font-weight: $code-weight\n padding: $code-padding\n\nhr\n background-color: $hr-background-color\n border: none\n display: block\n height: $hr-height\n margin: $hr-margin\n\nimg\n height: auto\n max-width: 100%\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"]\n vertical-align: baseline\n\nsmall\n font-size: $small-font-size\n\nspan\n font-style: inherit\n font-weight: inherit\n\nstrong\n color: $strong-color\n font-weight: $strong-weight\n\n// Block\n\nfieldset\n border: none\n\npre\n +overflow-touch\n background-color: $pre-background\n color: $pre\n font-size: $pre-font-size\n overflow-x: auto\n padding: $pre-padding\n white-space: pre\n word-wrap: normal\n code\n background-color: transparent\n color: currentColor\n font-size: $pre-code-font-size\n padding: 0\n\ntable\n td,\n th\n vertical-align: top\n &:not([align])\n text-align: inherit\n th\n color: $text-strong\n","@import \"initial-variables\"\n@import \"functions\"\n\n$primary: $turquoise !default\n\n$info: $cyan !default\n$success: $green !default\n$warning: $yellow !default\n$danger: $red !default\n\n$light: $white-ter !default\n$dark: $grey-darker !default\n\n// Invert colors\n\n$orange-invert: findColorInvert($orange) !default\n$yellow-invert: findColorInvert($yellow) !default\n$green-invert: findColorInvert($green) !default\n$turquoise-invert: findColorInvert($turquoise) !default\n$cyan-invert: findColorInvert($cyan) !default\n$blue-invert: findColorInvert($blue) !default\n$purple-invert: findColorInvert($purple) !default\n$red-invert: findColorInvert($red) !default\n\n$primary-invert: findColorInvert($primary) !default\n$primary-light: findLightColor($primary) !default\n$primary-dark: findDarkColor($primary) !default\n$info-invert: findColorInvert($info) !default\n$info-light: findLightColor($info) !default\n$info-dark: findDarkColor($info) !default\n$success-invert: findColorInvert($success) !default\n$success-light: findLightColor($success) !default\n$success-dark: findDarkColor($success) !default\n$warning-invert: findColorInvert($warning) !default\n$warning-light: findLightColor($warning) !default\n$warning-dark: findDarkColor($warning) !default\n$danger-invert: findColorInvert($danger) !default\n$danger-light: findLightColor($danger) !default\n$danger-dark: findDarkColor($danger) !default\n$light-invert: findColorInvert($light) !default\n$dark-invert: findColorInvert($dark) !default\n\n// General colors\n\n$scheme-main: $white !default\n$scheme-main-bis: $white-bis !default\n$scheme-main-ter: $white-ter !default\n$scheme-invert: $black !default\n$scheme-invert-bis: $black-bis !default\n$scheme-invert-ter: $black-ter !default\n\n$background: $white-ter !default\n\n$border: $grey-lighter !default\n$border-hover: $grey-light !default\n$border-light: $grey-lightest !default\n$border-light-hover: $grey-light !default\n\n// Text colors\n\n$text: $grey-dark !default\n$text-invert: findColorInvert($text) !default\n$text-light: $grey !default\n$text-strong: $grey-darker !default\n\n// Code colors\n\n$code: darken($red, 15%) !default\n$code-background: $background !default\n\n$pre: $text !default\n$pre-background: $background !default\n\n// Link colors\n\n$link: $blue !default\n$link-invert: findColorInvert($link) !default\n$link-light: findLightColor($link) !default\n$link-dark: findDarkColor($link) !default\n$link-visited: $purple !default\n\n$link-hover: $grey-darker !default\n$link-hover-border: $grey-light !default\n\n$link-focus: $grey-darker !default\n$link-focus-border: $blue !default\n\n$link-active: $grey-darker !default\n$link-active-border: $grey-dark !default\n\n// Typography\n\n$family-primary: $family-sans-serif !default\n$family-secondary: $family-sans-serif !default\n$family-code: $family-monospace !default\n\n$size-small: $size-7 !default\n$size-normal: $size-6 !default\n$size-medium: $size-5 !default\n$size-large: $size-4 !default\n\n// Effects\n\n$shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0px 0 1px rgba($scheme-invert, 0.02) !default\n\n// Lists and maps\n$custom-colors: null !default\n$custom-shades: null !default\n\n$colors: mergeColorMaps((\"white\": ($white, $black), \"black\": ($black, $white), \"light\": ($light, $light-invert), \"dark\": ($dark, $dark-invert), \"primary\": ($primary, $primary-invert, $primary-light, $primary-dark), \"link\": ($link, $link-invert, $link-light, $link-dark), \"info\": ($info, $info-invert, $info-light, $info-dark), \"success\": ($success, $success-invert, $success-light, $success-dark), \"warning\": ($warning, $warning-invert, $warning-light, $warning-dark), \"danger\": ($danger, $danger-invert, $danger-light, $danger-dark)), $custom-colors) !default\n\n$shades: mergeColorMaps((\"black-bis\": $black-bis, \"black-ter\": $black-ter, \"grey-darker\": $grey-darker, \"grey-dark\": $grey-dark, \"grey\": $grey, \"grey-light\": $grey-light, \"grey-lighter\": $grey-lighter, \"white-ter\": $white-ter, \"white-bis\": $white-bis), $custom-shades) !default\n\n$sizes: $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 $size-7 !default\n","@keyframes spinAround\n from\n transform: rotate(0deg)\n to\n transform: rotate(359deg)\n","@import \"../utilities/controls\"\n@import \"../utilities/mixins\"\n\n$button-color: $text-strong !default\n$button-background-color: $scheme-main !default\n$button-family: false !default\n\n$button-border-color: $border !default\n$button-border-width: $control-border-width !default\n\n$button-padding-vertical: calc(0.5em - #{$button-border-width}) !default\n$button-padding-horizontal: 1em !default\n\n$button-hover-color: $link-hover !default\n$button-hover-border-color: $link-hover-border !default\n\n$button-focus-color: $link-focus !default\n$button-focus-border-color: $link-focus-border !default\n$button-focus-box-shadow-size: 0 0 0 0.125em !default\n$button-focus-box-shadow-color: bulmaRgba($link, 0.25) !default\n\n$button-active-color: $link-active !default\n$button-active-border-color: $link-active-border !default\n\n$button-text-color: $text !default\n$button-text-decoration: underline !default\n$button-text-hover-background-color: $background !default\n$button-text-hover-color: $text-strong !default\n\n$button-ghost-background: none !default\n$button-ghost-border-color: transparent !default\n$button-ghost-color: $link !default\n$button-ghost-decoration: none !default\n$button-ghost-hover-color: $link !default\n$button-ghost-hover-decoration: underline !default\n\n$button-disabled-background-color: $scheme-main !default\n$button-disabled-border-color: $border !default\n$button-disabled-shadow: none !default\n$button-disabled-opacity: 0.5 !default\n\n$button-static-color: $text-light !default\n$button-static-background-color: $scheme-main-ter !default\n$button-static-border-color: $border !default\n\n$button-colors: $colors !default\n$button-responsive-sizes: (\"mobile\": (\"small\": ($size-small * 0.75), \"normal\": ($size-small * 0.875), \"medium\": $size-small, \"large\": $size-normal), \"tablet-only\": (\"small\": ($size-small * 0.875), \"normal\": ($size-small), \"medium\": $size-normal, \"large\": $size-medium)) !default\n\n// The button sizes use mixins so they can be used at different breakpoints\n=button-small\n &:not(.is-rounded)\n border-radius: $radius-small\n font-size: $size-small\n=button-normal\n font-size: $size-normal\n=button-medium\n font-size: $size-medium\n=button-large\n font-size: $size-large\n\n.button\n @extend %control\n @extend %unselectable\n background-color: $button-background-color\n border-color: $button-border-color\n border-width: $button-border-width\n color: $button-color\n cursor: pointer\n @if $button-family\n font-family: $button-family\n justify-content: center\n padding-bottom: $button-padding-vertical\n padding-left: $button-padding-horizontal\n padding-right: $button-padding-horizontal\n padding-top: $button-padding-vertical\n text-align: center\n white-space: nowrap\n strong\n color: inherit\n .icon\n &,\n &.is-small,\n &.is-medium,\n &.is-large\n height: 1.5em\n width: 1.5em\n &:first-child:not(:last-child)\n +ltr-property(\"margin\", calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width}), false)\n +ltr-property(\"margin\", $button-padding-horizontal * 0.25)\n &:last-child:not(:first-child)\n +ltr-property(\"margin\", $button-padding-horizontal * 0.25, false)\n +ltr-property(\"margin\", calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width}))\n &:first-child:last-child\n margin-left: calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width})\n margin-right: calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width})\n // States\n &:hover,\n &.is-hovered\n border-color: $button-hover-border-color\n color: $button-hover-color\n &:focus,\n &.is-focused\n border-color: $button-focus-border-color\n color: $button-focus-color\n &:not(:active)\n box-shadow: $button-focus-box-shadow-size $button-focus-box-shadow-color\n &:active,\n &.is-active\n border-color: $button-active-border-color\n color: $button-active-color\n // Colors\n &.is-text\n background-color: transparent\n border-color: transparent\n color: $button-text-color\n text-decoration: $button-text-decoration\n &:hover,\n &.is-hovered,\n &:focus,\n &.is-focused\n background-color: $button-text-hover-background-color\n color: $button-text-hover-color\n &:active,\n &.is-active\n background-color: bulmaDarken($button-text-hover-background-color, 5%)\n color: $button-text-hover-color\n &[disabled],\n fieldset[disabled] &\n background-color: transparent\n border-color: transparent\n box-shadow: none\n &.is-ghost\n background: $button-ghost-background\n border-color: $button-ghost-border-color\n color: $button-ghost-color\n text-decoration: $button-ghost-decoration\n &:hover,\n &.is-hovered\n color: $button-ghost-hover-color\n text-decoration: $button-ghost-hover-decoration\n @each $name, $pair in $button-colors\n $color: nth($pair, 1)\n $color-invert: nth($pair, 2)\n &.is-#{$name}\n background-color: $color\n border-color: transparent\n color: $color-invert\n &:hover,\n &.is-hovered\n background-color: bulmaDarken($color, 2.5%)\n border-color: transparent\n color: $color-invert\n &:focus,\n &.is-focused\n border-color: transparent\n color: $color-invert\n &:not(:active)\n box-shadow: $button-focus-box-shadow-size bulmaRgba($color, 0.25)\n &:active,\n &.is-active\n background-color: bulmaDarken($color, 5%)\n border-color: transparent\n color: $color-invert\n &[disabled],\n fieldset[disabled] &\n background-color: $color\n border-color: $color\n box-shadow: none\n &.is-inverted\n background-color: $color-invert\n color: $color\n &:hover,\n &.is-hovered\n background-color: bulmaDarken($color-invert, 5%)\n &[disabled],\n fieldset[disabled] &\n background-color: $color-invert\n border-color: transparent\n box-shadow: none\n color: $color\n &.is-loading\n &::after\n border-color: transparent transparent $color-invert $color-invert !important\n &.is-outlined\n background-color: transparent\n border-color: $color\n color: $color\n &:hover,\n &.is-hovered,\n &:focus,\n &.is-focused\n background-color: $color\n border-color: $color\n color: $color-invert\n &.is-loading\n &::after\n border-color: transparent transparent $color $color !important\n &:hover,\n &.is-hovered,\n &:focus,\n &.is-focused\n &::after\n border-color: transparent transparent $color-invert $color-invert !important\n &[disabled],\n fieldset[disabled] &\n background-color: transparent\n border-color: $color\n box-shadow: none\n color: $color\n &.is-inverted.is-outlined\n background-color: transparent\n border-color: $color-invert\n color: $color-invert\n &:hover,\n &.is-hovered,\n &:focus,\n &.is-focused\n background-color: $color-invert\n color: $color\n &.is-loading\n &:hover,\n &.is-hovered,\n &:focus,\n &.is-focused\n &::after\n border-color: transparent transparent $color $color !important\n &[disabled],\n fieldset[disabled] &\n background-color: transparent\n border-color: $color-invert\n box-shadow: none\n color: $color-invert\n // If light and dark colors are provided\n @if length($pair) >= 4\n $color-light: nth($pair, 3)\n $color-dark: nth($pair, 4)\n &.is-light\n background-color: $color-light\n color: $color-dark\n &:hover,\n &.is-hovered\n background-color: bulmaDarken($color-light, 2.5%)\n border-color: transparent\n color: $color-dark\n &:active,\n &.is-active\n background-color: bulmaDarken($color-light, 5%)\n border-color: transparent\n color: $color-dark\n // Sizes\n &.is-small\n +button-small\n &.is-normal\n +button-normal\n &.is-medium\n +button-medium\n &.is-large\n +button-large\n // Modifiers\n &[disabled],\n fieldset[disabled] &\n background-color: $button-disabled-background-color\n border-color: $button-disabled-border-color\n box-shadow: $button-disabled-shadow\n opacity: $button-disabled-opacity\n &.is-fullwidth\n display: flex\n width: 100%\n &.is-loading\n color: transparent !important\n pointer-events: none\n &::after\n @extend %loader\n +center(1em)\n position: absolute !important\n &.is-static\n background-color: $button-static-background-color\n border-color: $button-static-border-color\n color: $button-static-color\n box-shadow: none\n pointer-events: none\n &.is-rounded\n border-radius: $radius-rounded\n padding-left: calc(#{$button-padding-horizontal} + 0.25em)\n padding-right: calc(#{$button-padding-horizontal} + 0.25em)\n\n.buttons\n align-items: center\n display: flex\n flex-wrap: wrap\n justify-content: flex-start\n .button\n margin-bottom: 0.5rem\n &:not(:last-child):not(.is-fullwidth)\n +ltr-property(\"margin\", 0.5rem)\n &:last-child\n margin-bottom: -0.5rem\n &:not(:last-child)\n margin-bottom: 1rem\n // Sizes\n &.are-small\n .button:not(.is-normal):not(.is-medium):not(.is-large)\n +button-small\n &.are-medium\n .button:not(.is-small):not(.is-normal):not(.is-large)\n +button-medium\n &.are-large\n .button:not(.is-small):not(.is-normal):not(.is-medium)\n +button-large\n &.has-addons\n .button\n &:not(:first-child)\n border-bottom-left-radius: 0\n border-top-left-radius: 0\n &:not(:last-child)\n border-bottom-right-radius: 0\n border-top-right-radius: 0\n +ltr-property(\"margin\", -1px)\n &:last-child\n +ltr-property(\"margin\", 0)\n &:hover,\n &.is-hovered\n z-index: 2\n &:focus,\n &.is-focused,\n &:active,\n &.is-active,\n &.is-selected\n z-index: 3\n &:hover\n z-index: 4\n &.is-expanded\n flex-grow: 1\n flex-shrink: 1\n &.is-centered\n justify-content: center\n &:not(.has-addons)\n .button:not(.is-fullwidth)\n margin-left: 0.25rem\n margin-right: 0.25rem\n &.is-right\n justify-content: flex-end\n &:not(.has-addons)\n .button:not(.is-fullwidth)\n margin-left: 0.25rem\n margin-right: 0.25rem\n\n@each $bp-name, $bp-sizes in $button-responsive-sizes\n +breakpoint($bp-name)\n @each $size, $value in $bp-sizes\n @if $size != \"normal\"\n .button.is-responsive.is-#{$size}\n font-size: $value\n @else\n .button.is-responsive,\n .button.is-responsive.is-normal\n font-size: $value\n","@import \"../utilities/mixins\"\n\n$container-offset: (2 * $gap) !default\n$container-max-width: $fullhd !default\n\n.container\n flex-grow: 1\n margin: 0 auto\n position: relative\n width: auto\n &.is-fluid\n max-width: none !important\n padding-left: $gap\n padding-right: $gap\n width: 100%\n +desktop\n max-width: $desktop - $container-offset\n +until-widescreen\n &.is-widescreen:not(.is-max-desktop)\n max-width: min($widescreen, $container-max-width) - $container-offset\n +until-fullhd\n &.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen)\n max-width: min($fullhd, $container-max-width) - $container-offset\n +widescreen\n &:not(.is-max-desktop)\n max-width: min($widescreen, $container-max-width) - $container-offset\n +fullhd\n &:not(.is-max-desktop):not(.is-max-widescreen)\n max-width: min($fullhd, $container-max-width) - $container-offset\n","@import \"../utilities/mixins\"\n\n$content-heading-color: $text-strong !default\n$content-heading-weight: $weight-semibold !default\n$content-heading-line-height: 1.125 !default\n\n$content-block-margin-bottom: 1em !default\n\n$content-blockquote-background-color: $background !default\n$content-blockquote-border-left: 5px solid $border !default\n$content-blockquote-padding: 1.25em 1.5em !default\n\n$content-pre-padding: 1.25em 1.5em !default\n\n$content-table-cell-border: 1px solid $border !default\n$content-table-cell-border-width: 0 0 1px !default\n$content-table-cell-padding: 0.5em 0.75em !default\n$content-table-cell-heading-color: $text-strong !default\n$content-table-head-cell-border-width: 0 0 2px !default\n$content-table-head-cell-color: $text-strong !default\n$content-table-body-last-row-cell-border-bottom-width: 0 !default\n$content-table-foot-cell-border-width: 2px 0 0 !default\n$content-table-foot-cell-color: $text-strong !default\n\n.content\n @extend %block\n // Inline\n li + li\n margin-top: 0.25em\n // Block\n p,\n dl,\n ol,\n ul,\n blockquote,\n pre,\n table\n &:not(:last-child)\n margin-bottom: $content-block-margin-bottom\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n color: $content-heading-color\n font-weight: $content-heading-weight\n line-height: $content-heading-line-height\n h1\n font-size: 2em\n margin-bottom: 0.5em\n &:not(:first-child)\n margin-top: 1em\n h2\n font-size: 1.75em\n margin-bottom: 0.5714em\n &:not(:first-child)\n margin-top: 1.1428em\n h3\n font-size: 1.5em\n margin-bottom: 0.6666em\n &:not(:first-child)\n margin-top: 1.3333em\n h4\n font-size: 1.25em\n margin-bottom: 0.8em\n h5\n font-size: 1.125em\n margin-bottom: 0.8888em\n h6\n font-size: 1em\n margin-bottom: 1em\n blockquote\n background-color: $content-blockquote-background-color\n +ltr-property(\"border\", $content-blockquote-border-left, false)\n padding: $content-blockquote-padding\n ol\n list-style-position: outside\n +ltr-property(\"margin\", 2em, false)\n margin-top: 1em\n &:not([type])\n list-style-type: decimal\n &.is-lower-alpha\n list-style-type: lower-alpha\n &.is-lower-roman\n list-style-type: lower-roman\n &.is-upper-alpha\n list-style-type: upper-alpha\n &.is-upper-roman\n list-style-type: upper-roman\n ul\n list-style: disc outside\n +ltr-property(\"margin\", 2em, false)\n margin-top: 1em\n ul\n list-style-type: circle\n margin-top: 0.5em\n ul\n list-style-type: square\n dd\n +ltr-property(\"margin\", 2em, false)\n figure\n margin-left: 2em\n margin-right: 2em\n text-align: center\n &:not(:first-child)\n margin-top: 2em\n &:not(:last-child)\n margin-bottom: 2em\n img\n display: inline-block\n figcaption\n font-style: italic\n pre\n +overflow-touch\n overflow-x: auto\n padding: $content-pre-padding\n white-space: pre\n word-wrap: normal\n sup,\n sub\n font-size: 75%\n table\n width: 100%\n td,\n th\n border: $content-table-cell-border\n border-width: $content-table-cell-border-width\n padding: $content-table-cell-padding\n vertical-align: top\n th\n color: $content-table-cell-heading-color\n &:not([align])\n text-align: inherit\n thead\n td,\n th\n border-width: $content-table-head-cell-border-width\n color: $content-table-head-cell-color\n tfoot\n td,\n th\n border-width: $content-table-foot-cell-border-width\n color: $content-table-foot-cell-color\n tbody\n tr\n &:last-child\n td,\n th\n border-bottom-width: $content-table-body-last-row-cell-border-bottom-width\n .tabs\n li + li\n margin-top: 0\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-normal\n font-size: $size-normal\n &.is-medium\n font-size: $size-medium\n &.is-large\n font-size: $size-large\n","$icon-dimensions: 1.5rem !default\n$icon-dimensions-small: 1rem !default\n$icon-dimensions-medium: 2rem !default\n$icon-dimensions-large: 3rem !default\n$icon-text-spacing: 0.25em !default\n\n.icon\n align-items: center\n display: inline-flex\n justify-content: center\n height: $icon-dimensions\n width: $icon-dimensions\n // Sizes\n &.is-small\n height: $icon-dimensions-small\n width: $icon-dimensions-small\n &.is-medium\n height: $icon-dimensions-medium\n width: $icon-dimensions-medium\n &.is-large\n height: $icon-dimensions-large\n width: $icon-dimensions-large\n\n.icon-text\n align-items: flex-start\n color: inherit\n display: inline-flex\n flex-wrap: wrap\n line-height: $icon-dimensions\n vertical-align: top\n .icon\n flex-grow: 0\n flex-shrink: 0\n &:not(:last-child)\n +ltr\n margin-right: $icon-text-spacing\n +rtl\n margin-left: $icon-text-spacing\n &:not(:first-child)\n +ltr\n margin-left: $icon-text-spacing\n +rtl\n margin-right: $icon-text-spacing\n\ndiv.icon-text\n display: flex\n","@import \"../utilities/mixins\"\n\n$notification-background-color: $background !default\n$notification-code-background-color: $scheme-main !default\n$notification-radius: $radius !default\n$notification-padding: 1.25rem 2.5rem 1.25rem 1.5rem !default\n$notification-padding-ltr: 1.25rem 2.5rem 1.25rem 1.5rem !default\n$notification-padding-rtl: 1.25rem 1.5rem 1.25rem 2.5rem !default\n\n$notification-colors: $colors !default\n\n.notification\n @extend %block\n background-color: $notification-background-color\n border-radius: $notification-radius\n position: relative\n +ltr\n padding: $notification-padding-ltr\n +rtl\n padding: $notification-padding-rtl\n a:not(.button):not(.dropdown-item)\n color: currentColor\n text-decoration: underline\n strong\n color: currentColor\n code,\n pre\n background: $notification-code-background-color\n pre code\n background: transparent\n & > .delete\n +ltr-position(0.5rem)\n position: absolute\n top: 0.5rem\n .title,\n .subtitle,\n .content\n color: currentColor\n // Colors\n @each $name, $pair in $notification-colors\n $color: nth($pair, 1)\n $color-invert: nth($pair, 2)\n &.is-#{$name}\n background-color: $color\n color: $color-invert\n // If light and dark colors are provided\n @if length($pair) >= 4\n $color-light: nth($pair, 3)\n $color-dark: nth($pair, 4)\n &.is-light\n background-color: $color-light\n color: $color-dark\n","@import \"../utilities/mixins\"\n\n$progress-bar-background-color: $border-light !default\n$progress-value-background-color: $text !default\n$progress-border-radius: $radius-rounded !default\n\n$progress-indeterminate-duration: 1.5s !default\n\n$progress-colors: $colors !default\n\n.progress\n @extend %block\n -moz-appearance: none\n -webkit-appearance: none\n border: none\n border-radius: $progress-border-radius\n display: block\n height: $size-normal\n overflow: hidden\n padding: 0\n width: 100%\n &::-webkit-progress-bar\n background-color: $progress-bar-background-color\n &::-webkit-progress-value\n background-color: $progress-value-background-color\n &::-moz-progress-bar\n background-color: $progress-value-background-color\n &::-ms-fill\n background-color: $progress-value-background-color\n border: none\n // Colors\n @each $name, $pair in $progress-colors\n $color: nth($pair, 1)\n &.is-#{$name}\n &::-webkit-progress-value\n background-color: $color\n &::-moz-progress-bar\n background-color: $color\n &::-ms-fill\n background-color: $color\n &:indeterminate\n background-image: linear-gradient(to right, $color 30%, $progress-bar-background-color 30%)\n\n &:indeterminate\n animation-duration: $progress-indeterminate-duration\n animation-iteration-count: infinite\n animation-name: moveIndeterminate\n animation-timing-function: linear\n background-color: $progress-bar-background-color\n background-image: linear-gradient(to right, $text 30%, $progress-bar-background-color 30%)\n background-position: top left\n background-repeat: no-repeat\n background-size: 150% 150%\n &::-webkit-progress-bar\n background-color: transparent\n &::-moz-progress-bar\n background-color: transparent\n &::-ms-fill\n animation-name: none\n\n // Sizes\n &.is-small\n height: $size-small\n &.is-medium\n height: $size-medium\n &.is-large\n height: $size-large\n\n@keyframes moveIndeterminate\n from\n background-position: 200% 0\n to\n background-position: -200% 0\n","@import \"../utilities/mixins\"\n\n$table-color: $text-strong !default\n$table-background-color: $scheme-main !default\n\n$table-cell-border: 1px solid $border !default\n$table-cell-border-width: 0 0 1px !default\n$table-cell-padding: 0.5em 0.75em !default\n$table-cell-heading-color: $text-strong !default\n$table-cell-text-align: left !default\n\n$table-head-cell-border-width: 0 0 2px !default\n$table-head-cell-color: $text-strong !default\n$table-foot-cell-border-width: 2px 0 0 !default\n$table-foot-cell-color: $text-strong !default\n\n$table-head-background-color: transparent !default\n$table-body-background-color: transparent !default\n$table-foot-background-color: transparent !default\n\n$table-row-hover-background-color: $scheme-main-bis !default\n\n$table-row-active-background-color: $primary !default\n$table-row-active-color: $primary-invert !default\n\n$table-striped-row-even-background-color: $scheme-main-bis !default\n$table-striped-row-even-hover-background-color: $scheme-main-ter !default\n\n$table-colors: $colors !default\n\n.table\n @extend %block\n background-color: $table-background-color\n color: $table-color\n td,\n th\n border: $table-cell-border\n border-width: $table-cell-border-width\n padding: $table-cell-padding\n vertical-align: top\n // Colors\n @each $name, $pair in $table-colors\n $color: nth($pair, 1)\n $color-invert: nth($pair, 2)\n &.is-#{$name}\n background-color: $color\n border-color: $color\n color: $color-invert\n // Modifiers\n &.is-narrow\n white-space: nowrap\n width: 1%\n &.is-selected\n background-color: $table-row-active-background-color\n color: $table-row-active-color\n a,\n strong\n color: currentColor\n &.is-vcentered\n vertical-align: middle\n th\n color: $table-cell-heading-color\n &:not([align])\n text-align: $table-cell-text-align\n tr\n &.is-selected\n background-color: $table-row-active-background-color\n color: $table-row-active-color\n a,\n strong\n color: currentColor\n td,\n th\n border-color: $table-row-active-color\n color: currentColor\n thead\n background-color: $table-head-background-color\n td,\n th\n border-width: $table-head-cell-border-width\n color: $table-head-cell-color\n tfoot\n background-color: $table-foot-background-color\n td,\n th\n border-width: $table-foot-cell-border-width\n color: $table-foot-cell-color\n tbody\n background-color: $table-body-background-color\n tr\n &:last-child\n td,\n th\n border-bottom-width: 0\n // Modifiers\n &.is-bordered\n td,\n th\n border-width: 1px\n tr\n &:last-child\n td,\n th\n border-bottom-width: 1px\n &.is-fullwidth\n width: 100%\n &.is-hoverable\n tbody\n tr:not(.is-selected)\n &:hover\n background-color: $table-row-hover-background-color\n &.is-striped\n tbody\n tr:not(.is-selected)\n &:hover\n background-color: $table-row-hover-background-color\n &:nth-child(even)\n background-color: $table-striped-row-even-hover-background-color\n &.is-narrow\n td,\n th\n padding: 0.25em 0.5em\n &.is-striped\n tbody\n tr:not(.is-selected)\n &:nth-child(even)\n background-color: $table-striped-row-even-background-color\n\n.table-container\n @extend %block\n +overflow-touch\n overflow: auto\n overflow-y: hidden\n max-width: 100%\n","@import \"../utilities/mixins\"\n\n$title-color: $text-strong !default\n$title-family: false !default\n$title-size: $size-3 !default\n$title-weight: $weight-semibold !default\n$title-line-height: 1.125 !default\n$title-strong-color: inherit !default\n$title-strong-weight: inherit !default\n$title-sub-size: 0.75em !default\n$title-sup-size: 0.75em !default\n\n$subtitle-color: $text !default\n$subtitle-family: false !default\n$subtitle-size: $size-5 !default\n$subtitle-weight: $weight-normal !default\n$subtitle-line-height: 1.25 !default\n$subtitle-strong-color: $text-strong !default\n$subtitle-strong-weight: $weight-semibold !default\n$subtitle-negative-margin: -1.25rem !default\n\n.title,\n.subtitle\n @extend %block\n word-break: break-word\n em,\n span\n font-weight: inherit\n sub\n font-size: $title-sub-size\n sup\n font-size: $title-sup-size\n .tag\n vertical-align: middle\n\n.title\n color: $title-color\n @if $title-family\n font-family: $title-family\n font-size: $title-size\n font-weight: $title-weight\n line-height: $title-line-height\n strong\n color: $title-strong-color\n font-weight: $title-strong-weight\n &:not(.is-spaced) + .subtitle\n margin-top: $subtitle-negative-margin\n // Sizes\n @each $size in $sizes\n $i: index($sizes, $size)\n &.is-#{$i}\n font-size: $size\n\n.subtitle\n color: $subtitle-color\n @if $subtitle-family\n font-family: $subtitle-family\n font-size: $subtitle-size\n font-weight: $subtitle-weight\n line-height: $subtitle-line-height\n strong\n color: $subtitle-strong-color\n font-weight: $subtitle-strong-weight\n &:not(.is-spaced) + .title\n margin-top: $subtitle-negative-margin\n // Sizes\n @each $size in $sizes\n $i: index($sizes, $size)\n &.is-#{$i}\n font-size: $size\n","@import \"../utilities/mixins\"\n\n.block\n @extend %block\n\n.delete\n @extend %delete\n\n.heading\n display: block\n font-size: 11px\n letter-spacing: 1px\n margin-bottom: 5px\n text-transform: uppercase\n\n.loader\n @extend %loader\n\n.number\n align-items: center\n background-color: $background\n border-radius: $radius-rounded\n display: inline-flex\n font-size: $size-medium\n height: 2em\n justify-content: center\n margin-right: 1.5rem\n min-width: 2.5em\n padding: 0.25rem 0.5rem\n text-align: center\n vertical-align: top\n","@import \"../utilities/controls\"\n@import \"../utilities/mixins\"\n\n$form-colors: $colors !default\n\n$input-color: $text-strong !default\n$input-background-color: $scheme-main !default\n$input-border-color: $border !default\n$input-height: $control-height !default\n$input-shadow: inset 0 0.0625em 0.125em rgba($scheme-invert, 0.05) !default\n$input-placeholder-color: bulmaRgba($input-color, 0.3) !default\n\n$input-hover-color: $text-strong !default\n$input-hover-border-color: $border-hover !default\n\n$input-focus-color: $text-strong !default\n$input-focus-border-color: $link !default\n$input-focus-box-shadow-size: 0 0 0 0.125em !default\n$input-focus-box-shadow-color: bulmaRgba($link, 0.25) !default\n\n$input-disabled-color: $text-light !default\n$input-disabled-background-color: $background !default\n$input-disabled-border-color: $background !default\n$input-disabled-placeholder-color: bulmaRgba($input-disabled-color, 0.3) !default\n\n$input-arrow: $link !default\n\n$input-icon-color: $border !default\n$input-icon-active-color: $text !default\n\n$input-radius: $radius !default\n\n=input\n @extend %control\n background-color: $input-background-color\n border-color: $input-border-color\n border-radius: $input-radius\n color: $input-color\n +placeholder\n color: $input-placeholder-color\n &:hover,\n &.is-hovered\n border-color: $input-hover-border-color\n &:focus,\n &.is-focused,\n &:active,\n &.is-active\n border-color: $input-focus-border-color\n box-shadow: $input-focus-box-shadow-size $input-focus-box-shadow-color\n &[disabled],\n fieldset[disabled] &\n background-color: $input-disabled-background-color\n border-color: $input-disabled-border-color\n box-shadow: none\n color: $input-disabled-color\n +placeholder\n color: $input-disabled-placeholder-color\n\n%input\n +input\n","$textarea-padding: $control-padding-horizontal !default\n$textarea-max-height: 40em !default\n$textarea-min-height: 8em !default\n\n$textarea-colors: $form-colors !default\n\n%input-textarea\n @extend %input\n box-shadow: $input-shadow\n max-width: 100%\n width: 100%\n &[readonly]\n box-shadow: none\n // Colors\n @each $name, $pair in $textarea-colors\n $color: nth($pair, 1)\n &.is-#{$name}\n border-color: $color\n &:focus,\n &.is-focused,\n &:active,\n &.is-active\n box-shadow: $input-focus-box-shadow-size bulmaRgba($color, 0.25)\n // Sizes\n &.is-small\n +control-small\n &.is-medium\n +control-medium\n &.is-large\n +control-large\n // Modifiers\n &.is-fullwidth\n display: block\n width: 100%\n &.is-inline\n display: inline\n width: auto\n\n.input\n @extend %input-textarea\n &.is-rounded\n border-radius: $radius-rounded\n padding-left: calc(#{$control-padding-horizontal} + 0.375em)\n padding-right: calc(#{$control-padding-horizontal} + 0.375em)\n &.is-static\n background-color: transparent\n border-color: transparent\n box-shadow: none\n padding-left: 0\n padding-right: 0\n\n.textarea\n @extend %input-textarea\n display: block\n max-width: 100%\n min-width: 100%\n padding: $textarea-padding\n resize: vertical\n &:not([rows])\n max-height: $textarea-max-height\n min-height: $textarea-min-height\n &[rows]\n height: initial\n // Modifiers\n &.has-fixed-size\n resize: none\n","%checkbox-radio\n cursor: pointer\n display: inline-block\n line-height: 1.25\n position: relative\n input\n cursor: pointer\n &:hover\n color: $input-hover-color\n &[disabled],\n fieldset[disabled] &,\n input[disabled]\n color: $input-disabled-color\n cursor: not-allowed\n\n.checkbox\n @extend %checkbox-radio\n\n.radio\n @extend %checkbox-radio\n & + .radio\n +ltr-property(\"margin\", 0.5em, false)\n","$select-colors: $form-colors !default\n\n.select\n display: inline-block\n max-width: 100%\n position: relative\n vertical-align: top\n &:not(.is-multiple)\n height: $input-height\n &:not(.is-multiple):not(.is-loading)\n &::after\n @extend %arrow\n border-color: $input-arrow\n +ltr-position(1.125em)\n z-index: 4\n &.is-rounded\n select\n border-radius: $radius-rounded\n +ltr-property(\"padding\", 1em, false)\n select\n @extend %input\n cursor: pointer\n display: block\n font-size: 1em\n max-width: 100%\n outline: none\n &::-ms-expand\n display: none\n &[disabled]:hover,\n fieldset[disabled] &:hover\n border-color: $input-disabled-border-color\n &:not([multiple])\n +ltr-property(\"padding\", 2.5em)\n &[multiple]\n height: auto\n padding: 0\n option\n padding: 0.5em 1em\n // States\n &:not(.is-multiple):not(.is-loading):hover\n &::after\n border-color: $input-hover-color\n // Colors\n @each $name, $pair in $select-colors\n $color: nth($pair, 1)\n &.is-#{$name}\n &:not(:hover)::after\n border-color: $color\n select\n border-color: $color\n &:hover,\n &.is-hovered\n border-color: bulmaDarken($color, 5%)\n &:focus,\n &.is-focused,\n &:active,\n &.is-active\n box-shadow: $input-focus-box-shadow-size bulmaRgba($color, 0.25)\n // Sizes\n &.is-small\n +control-small\n &.is-medium\n +control-medium\n &.is-large\n +control-large\n // Modifiers\n &.is-disabled\n &::after\n border-color: $input-disabled-color !important\n opacity: 0.5\n &.is-fullwidth\n width: 100%\n select\n width: 100%\n &.is-loading\n &::after\n @extend %loader\n margin-top: 0\n position: absolute\n +ltr-position(0.625em)\n top: 0.625em\n transform: none\n &.is-small:after\n font-size: $size-small\n &.is-medium:after\n font-size: $size-medium\n &.is-large:after\n font-size: $size-large\n","$file-border-color: $border !default\n$file-radius: $radius !default\n\n$file-cta-background-color: $scheme-main-ter !default\n$file-cta-color: $text !default\n$file-cta-hover-color: $text-strong !default\n$file-cta-active-color: $text-strong !default\n\n$file-name-border-color: $border !default\n$file-name-border-style: solid !default\n$file-name-border-width: 1px 1px 1px 0 !default\n$file-name-max-width: 16em !default\n\n$file-colors: $form-colors !default\n\n.file\n @extend %unselectable\n align-items: stretch\n display: flex\n justify-content: flex-start\n position: relative\n // Colors\n @each $name, $pair in $file-colors\n $color: nth($pair, 1)\n $color-invert: nth($pair, 2)\n &.is-#{$name}\n .file-cta\n background-color: $color\n border-color: transparent\n color: $color-invert\n &:hover,\n &.is-hovered\n .file-cta\n background-color: bulmaDarken($color, 2.5%)\n border-color: transparent\n color: $color-invert\n &:focus,\n &.is-focused\n .file-cta\n border-color: transparent\n box-shadow: 0 0 0.5em bulmaRgba($color, 0.25)\n color: $color-invert\n &:active,\n &.is-active\n .file-cta\n background-color: bulmaDarken($color, 5%)\n border-color: transparent\n color: $color-invert\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-normal\n font-size: $size-normal\n &.is-medium\n font-size: $size-medium\n .file-icon\n .fa\n font-size: 21px\n &.is-large\n font-size: $size-large\n .file-icon\n .fa\n font-size: 28px\n // Modifiers\n &.has-name\n .file-cta\n border-bottom-right-radius: 0\n border-top-right-radius: 0\n .file-name\n border-bottom-left-radius: 0\n border-top-left-radius: 0\n &.is-empty\n .file-cta\n border-radius: $file-radius\n .file-name\n display: none\n &.is-boxed\n .file-label\n flex-direction: column\n .file-cta\n flex-direction: column\n height: auto\n padding: 1em 3em\n .file-name\n border-width: 0 1px 1px\n .file-icon\n height: 1.5em\n width: 1.5em\n .fa\n font-size: 21px\n &.is-small\n .file-icon .fa\n font-size: 14px\n &.is-medium\n .file-icon .fa\n font-size: 28px\n &.is-large\n .file-icon .fa\n font-size: 35px\n &.has-name\n .file-cta\n border-radius: $file-radius $file-radius 0 0\n .file-name\n border-radius: 0 0 $file-radius $file-radius\n border-width: 0 1px 1px\n &.is-centered\n justify-content: center\n &.is-fullwidth\n .file-label\n width: 100%\n .file-name\n flex-grow: 1\n max-width: none\n &.is-right\n justify-content: flex-end\n .file-cta\n border-radius: 0 $file-radius $file-radius 0\n .file-name\n border-radius: $file-radius 0 0 $file-radius\n border-width: 1px 0 1px 1px\n order: -1\n\n.file-label\n align-items: stretch\n display: flex\n cursor: pointer\n justify-content: flex-start\n overflow: hidden\n position: relative\n &:hover\n .file-cta\n background-color: bulmaDarken($file-cta-background-color, 2.5%)\n color: $file-cta-hover-color\n .file-name\n border-color: bulmaDarken($file-name-border-color, 2.5%)\n &:active\n .file-cta\n background-color: bulmaDarken($file-cta-background-color, 5%)\n color: $file-cta-active-color\n .file-name\n border-color: bulmaDarken($file-name-border-color, 5%)\n\n.file-input\n height: 100%\n left: 0\n opacity: 0\n outline: none\n position: absolute\n top: 0\n width: 100%\n\n.file-cta,\n.file-name\n @extend %control\n border-color: $file-border-color\n border-radius: $file-radius\n font-size: 1em\n padding-left: 1em\n padding-right: 1em\n white-space: nowrap\n\n.file-cta\n background-color: $file-cta-background-color\n color: $file-cta-color\n\n.file-name\n border-color: $file-name-border-color\n border-style: $file-name-border-style\n border-width: $file-name-border-width\n display: block\n max-width: $file-name-max-width\n overflow: hidden\n text-align: inherit\n text-overflow: ellipsis\n\n.file-icon\n align-items: center\n display: flex\n height: 1em\n justify-content: center\n +ltr-property(\"margin\", 0.5em)\n width: 1em\n .fa\n font-size: 14px\n","$label-color: $text-strong !default\n$label-weight: $weight-bold !default\n\n$help-size: $size-small !default\n\n$label-colors: $form-colors !default\n\n.label\n color: $label-color\n display: block\n font-size: $size-normal\n font-weight: $label-weight\n &:not(:last-child)\n margin-bottom: 0.5em\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-medium\n font-size: $size-medium\n &.is-large\n font-size: $size-large\n\n.help\n display: block\n font-size: $help-size\n margin-top: 0.25rem\n @each $name, $pair in $label-colors\n $color: nth($pair, 1)\n &.is-#{$name}\n color: $color\n\n// Containers\n\n.field\n &:not(:last-child)\n margin-bottom: 0.75rem\n // Modifiers\n &.has-addons\n display: flex\n justify-content: flex-start\n .control\n &:not(:last-child)\n +ltr-property(\"margin\", -1px)\n &:not(:first-child):not(:last-child)\n .button,\n .input,\n .select select\n border-radius: 0\n &:first-child:not(:only-child)\n .button,\n .input,\n .select select\n +ltr\n border-bottom-right-radius: 0\n border-top-right-radius: 0\n +rtl\n border-bottom-left-radius: 0\n border-top-left-radius: 0\n &:last-child:not(:only-child)\n .button,\n .input,\n .select select\n +ltr\n border-bottom-left-radius: 0\n border-top-left-radius: 0\n +rtl\n border-bottom-right-radius: 0\n border-top-right-radius: 0\n .button,\n .input,\n .select select\n &:not([disabled])\n &:hover,\n &.is-hovered\n z-index: 2\n &:focus,\n &.is-focused,\n &:active,\n &.is-active\n z-index: 3\n &:hover\n z-index: 4\n &.is-expanded\n flex-grow: 1\n flex-shrink: 1\n &.has-addons-centered\n justify-content: center\n &.has-addons-right\n justify-content: flex-end\n &.has-addons-fullwidth\n .control\n flex-grow: 1\n flex-shrink: 0\n &.is-grouped\n display: flex\n justify-content: flex-start\n & > .control\n flex-shrink: 0\n &:not(:last-child)\n margin-bottom: 0\n +ltr-property(\"margin\", 0.75rem)\n &.is-expanded\n flex-grow: 1\n flex-shrink: 1\n &.is-grouped-centered\n justify-content: center\n &.is-grouped-right\n justify-content: flex-end\n &.is-grouped-multiline\n flex-wrap: wrap\n & > .control\n &:last-child,\n &:not(:last-child)\n margin-bottom: 0.75rem\n &:last-child\n margin-bottom: -0.75rem\n &:not(:last-child)\n margin-bottom: 0\n &.is-horizontal\n +tablet\n display: flex\n\n.field-label\n .label\n font-size: inherit\n +mobile\n margin-bottom: 0.5rem\n +tablet\n flex-basis: 0\n flex-grow: 1\n flex-shrink: 0\n +ltr-property(\"margin\", 1.5rem)\n text-align: right\n &.is-small\n font-size: $size-small\n padding-top: 0.375em\n &.is-normal\n padding-top: 0.375em\n &.is-medium\n font-size: $size-medium\n padding-top: 0.375em\n &.is-large\n font-size: $size-large\n padding-top: 0.375em\n\n.field-body\n .field .field\n margin-bottom: 0\n +tablet\n display: flex\n flex-basis: 0\n flex-grow: 5\n flex-shrink: 1\n .field\n margin-bottom: 0\n & > .field\n flex-shrink: 1\n &:not(.is-narrow)\n flex-grow: 1\n &:not(:last-child)\n +ltr-property(\"margin\", 0.75rem)\n\n.control\n box-sizing: border-box\n clear: both\n font-size: $size-normal\n position: relative\n text-align: inherit\n // Modifiers\n &.has-icons-left,\n &.has-icons-right\n .input,\n .select\n &:focus\n & ~ .icon\n color: $input-icon-active-color\n &.is-small ~ .icon\n font-size: $size-small\n &.is-medium ~ .icon\n font-size: $size-medium\n &.is-large ~ .icon\n font-size: $size-large\n .icon\n color: $input-icon-color\n height: $input-height\n pointer-events: none\n position: absolute\n top: 0\n width: $input-height\n z-index: 4\n &.has-icons-left\n .input,\n .select select\n padding-left: $input-height\n .icon.is-left\n left: 0\n &.has-icons-right\n .input,\n .select select\n padding-right: $input-height\n .icon.is-right\n right: 0\n &.is-loading\n &::after\n @extend %loader\n position: absolute !important\n +ltr-position(0.625em)\n top: 0.625em\n z-index: 4\n &.is-small:after\n font-size: $size-small\n &.is-medium:after\n font-size: $size-medium\n &.is-large:after\n font-size: $size-large\n","@import \"../utilities/mixins\"\n\n$level-item-spacing: ($block-spacing * 0.5) !default\n\n.level\n @extend %block\n align-items: center\n justify-content: space-between\n code\n border-radius: $radius\n img\n display: inline-block\n vertical-align: top\n // Modifiers\n &.is-mobile\n display: flex\n .level-left,\n .level-right\n display: flex\n .level-left + .level-right\n margin-top: 0\n .level-item\n &:not(:last-child)\n margin-bottom: 0\n +ltr-property(\"margin\", $level-item-spacing)\n &:not(.is-narrow)\n flex-grow: 1\n // Responsiveness\n +tablet\n display: flex\n & > .level-item\n &:not(.is-narrow)\n flex-grow: 1\n\n.level-item\n align-items: center\n display: flex\n flex-basis: auto\n flex-grow: 0\n flex-shrink: 0\n justify-content: center\n .title,\n .subtitle\n margin-bottom: 0\n // Responsiveness\n +mobile\n &:not(:last-child)\n margin-bottom: $level-item-spacing\n\n.level-left,\n.level-right\n flex-basis: auto\n flex-grow: 0\n flex-shrink: 0\n .level-item\n // Modifiers\n &.is-flexible\n flex-grow: 1\n // Responsiveness\n +tablet\n &:not(:last-child)\n +ltr-property(\"margin\", $level-item-spacing)\n\n.level-left\n align-items: center\n justify-content: flex-start\n // Responsiveness\n +mobile\n & + .level-right\n margin-top: 1.5rem\n +tablet\n display: flex\n\n.level-right\n align-items: center\n justify-content: flex-end\n // Responsiveness\n +tablet\n display: flex\n","@import \"../utilities/mixins\"\n\n$menu-item-color: $text !default\n$menu-item-radius: $radius-small !default\n$menu-item-hover-color: $text-strong !default\n$menu-item-hover-background-color: $background !default\n$menu-item-active-color: $link-invert !default\n$menu-item-active-background-color: $link !default\n\n$menu-list-border-left: 1px solid $border !default\n$menu-list-line-height: 1.25 !default\n$menu-list-link-padding: 0.5em 0.75em !default\n$menu-nested-list-margin: 0.75em !default\n$menu-nested-list-padding-left: 0.75em !default\n\n$menu-label-color: $text-light !default\n$menu-label-font-size: 0.75em !default\n$menu-label-letter-spacing: 0.1em !default\n$menu-label-spacing: 1em !default\n\n.menu\n font-size: $size-normal\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-medium\n font-size: $size-medium\n &.is-large\n font-size: $size-large\n\n.menu-list\n line-height: $menu-list-line-height\n a\n border-radius: $menu-item-radius\n color: $menu-item-color\n display: block\n padding: $menu-list-link-padding\n &:hover\n background-color: $menu-item-hover-background-color\n color: $menu-item-hover-color\n // Modifiers\n &.is-active\n background-color: $menu-item-active-background-color\n color: $menu-item-active-color\n li\n ul\n +ltr-property(\"border\", $menu-list-border-left, false)\n margin: $menu-nested-list-margin\n +ltr-property(\"padding\", $menu-nested-list-padding-left, false)\n\n.menu-label\n color: $menu-label-color\n font-size: $menu-label-font-size\n letter-spacing: $menu-label-letter-spacing\n text-transform: uppercase\n &:not(:first-child)\n margin-top: $menu-label-spacing\n &:not(:last-child)\n margin-bottom: $menu-label-spacing\n","@import \"../utilities/mixins\"\n\n$message-background-color: $background !default\n$message-radius: $radius !default\n\n$message-header-background-color: $text !default\n$message-header-color: $text-invert !default\n$message-header-weight: $weight-bold !default\n$message-header-padding: 0.75em 1em !default\n$message-header-radius: $radius !default\n\n$message-body-border-color: $border !default\n$message-body-border-width: 0 0 0 4px !default\n$message-body-color: $text !default\n$message-body-padding: 1.25em 1.5em !default\n$message-body-radius: $radius !default\n\n$message-body-pre-background-color: $scheme-main !default\n$message-body-pre-code-background-color: transparent !default\n\n$message-header-body-border-width: 0 !default\n$message-colors: $colors !default\n\n.message\n @extend %block\n background-color: $message-background-color\n border-radius: $message-radius\n font-size: $size-normal\n strong\n color: currentColor\n a:not(.button):not(.tag):not(.dropdown-item)\n color: currentColor\n text-decoration: underline\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-medium\n font-size: $size-medium\n &.is-large\n font-size: $size-large\n // Colors\n @each $name, $components in $message-colors\n $color: nth($components, 1)\n $color-invert: nth($components, 2)\n $color-light: null\n $color-dark: null\n\n @if length($components) >= 3\n $color-light: nth($components, 3)\n @if length($components) >= 4\n $color-dark: nth($components, 4)\n @else\n $color-luminance: colorLuminance($color)\n $darken-percentage: $color-luminance * 70%\n $desaturate-percentage: $color-luminance * 30%\n $color-dark: desaturate(darken($color, $darken-percentage), $desaturate-percentage)\n @else\n $color-lightning: max((100% - lightness($color)) - 2%, 0%)\n $color-light: lighten($color, $color-lightning)\n\n &.is-#{$name}\n background-color: $color-light\n .message-header\n background-color: $color\n color: $color-invert\n .message-body\n border-color: $color\n color: $color-dark\n\n.message-header\n align-items: center\n background-color: $message-header-background-color\n border-radius: $message-header-radius $message-header-radius 0 0\n color: $message-header-color\n display: flex\n font-weight: $message-header-weight\n justify-content: space-between\n line-height: 1.25\n padding: $message-header-padding\n position: relative\n .delete\n flex-grow: 0\n flex-shrink: 0\n +ltr-property(\"margin\", 0.75em, false)\n & + .message-body\n border-width: $message-header-body-border-width\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n.message-body\n border-color: $message-body-border-color\n border-radius: $message-body-radius\n border-style: solid\n border-width: $message-body-border-width\n color: $message-body-color\n padding: $message-body-padding\n code,\n pre\n background-color: $message-body-pre-background-color\n pre code\n background-color: $message-body-pre-code-background-color\n","@import \"../utilities/controls\"\n@import \"../utilities/mixins\"\n\n$pagination-color: $text-strong !default\n$pagination-border-color: $border !default\n$pagination-margin: -0.25rem !default\n$pagination-min-width: $control-height !default\n\n$pagination-item-font-size: 1em !default\n$pagination-item-margin: 0.25rem !default\n$pagination-item-padding-left: 0.5em !default\n$pagination-item-padding-right: 0.5em !default\n\n$pagination-nav-padding-left: 0.75em !default\n$pagination-nav-padding-right: 0.75em !default\n\n$pagination-hover-color: $link-hover !default\n$pagination-hover-border-color: $link-hover-border !default\n\n$pagination-focus-color: $link-focus !default\n$pagination-focus-border-color: $link-focus-border !default\n\n$pagination-active-color: $link-active !default\n$pagination-active-border-color: $link-active-border !default\n\n$pagination-disabled-color: $text-light !default\n$pagination-disabled-background-color: $border !default\n$pagination-disabled-border-color: $border !default\n\n$pagination-current-color: $link-invert !default\n$pagination-current-background-color: $link !default\n$pagination-current-border-color: $link !default\n\n$pagination-ellipsis-color: $grey-light !default\n\n$pagination-shadow-inset: inset 0 1px 2px rgba($scheme-invert, 0.2) !default\n\n.pagination\n @extend %block\n font-size: $size-normal\n margin: $pagination-margin\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-medium\n font-size: $size-medium\n &.is-large\n font-size: $size-large\n &.is-rounded\n .pagination-previous,\n .pagination-next\n padding-left: 1em\n padding-right: 1em\n border-radius: $radius-rounded\n .pagination-link\n border-radius: $radius-rounded\n\n.pagination,\n.pagination-list\n align-items: center\n display: flex\n justify-content: center\n text-align: center\n\n.pagination-previous,\n.pagination-next,\n.pagination-link,\n.pagination-ellipsis\n @extend %control\n @extend %unselectable\n font-size: $pagination-item-font-size\n justify-content: center\n margin: $pagination-item-margin\n padding-left: $pagination-item-padding-left\n padding-right: $pagination-item-padding-right\n text-align: center\n\n.pagination-previous,\n.pagination-next,\n.pagination-link\n border-color: $pagination-border-color\n color: $pagination-color\n min-width: $pagination-min-width\n &:hover\n border-color: $pagination-hover-border-color\n color: $pagination-hover-color\n &:focus\n border-color: $pagination-focus-border-color\n &:active\n box-shadow: $pagination-shadow-inset\n &[disabled],\n &.is-disabled\n background-color: $pagination-disabled-background-color\n border-color: $pagination-disabled-border-color\n box-shadow: none\n color: $pagination-disabled-color\n opacity: 0.5\n\n.pagination-previous,\n.pagination-next\n padding-left: $pagination-nav-padding-left\n padding-right: $pagination-nav-padding-right\n white-space: nowrap\n\n.pagination-link\n &.is-current\n background-color: $pagination-current-background-color\n border-color: $pagination-current-border-color\n color: $pagination-current-color\n\n.pagination-ellipsis\n color: $pagination-ellipsis-color\n pointer-events: none\n\n.pagination-list\n flex-wrap: wrap\n li\n list-style: none\n\n+mobile\n .pagination\n flex-wrap: wrap\n .pagination-previous,\n .pagination-next\n flex-grow: 1\n flex-shrink: 1\n .pagination-list\n li\n flex-grow: 1\n flex-shrink: 1\n\n+tablet\n .pagination-list\n flex-grow: 1\n flex-shrink: 1\n justify-content: flex-start\n order: 1\n .pagination-previous,\n .pagination-next,\n .pagination-link,\n .pagination-ellipsis\n margin-bottom: 0\n margin-top: 0\n .pagination-previous\n order: 2\n .pagination-next\n order: 3\n .pagination\n justify-content: space-between\n margin-bottom: 0\n margin-top: 0\n &.is-centered\n .pagination-previous\n order: 1\n .pagination-list\n justify-content: center\n order: 2\n .pagination-next\n order: 3\n &.is-right\n .pagination-previous\n order: 1\n .pagination-next\n order: 2\n .pagination-list\n justify-content: flex-end\n order: 3\n","@import \"../utilities/mixins\"\n\n$tabs-border-bottom-color: $border !default\n$tabs-border-bottom-style: solid !default\n$tabs-border-bottom-width: 1px !default\n$tabs-link-color: $text !default\n$tabs-link-hover-border-bottom-color: $text-strong !default\n$tabs-link-hover-color: $text-strong !default\n$tabs-link-active-border-bottom-color: $link !default\n$tabs-link-active-color: $link !default\n$tabs-link-padding: 0.5em 1em !default\n\n$tabs-boxed-link-radius: $radius !default\n$tabs-boxed-link-hover-background-color: $background !default\n$tabs-boxed-link-hover-border-bottom-color: $border !default\n\n$tabs-boxed-link-active-background-color: $scheme-main !default\n$tabs-boxed-link-active-border-color: $border !default\n$tabs-boxed-link-active-border-bottom-color: transparent !default\n\n$tabs-toggle-link-border-color: $border !default\n$tabs-toggle-link-border-style: solid !default\n$tabs-toggle-link-border-width: 1px !default\n$tabs-toggle-link-hover-background-color: $background !default\n$tabs-toggle-link-hover-border-color: $border-hover !default\n$tabs-toggle-link-radius: $radius !default\n$tabs-toggle-link-active-background-color: $link !default\n$tabs-toggle-link-active-border-color: $link !default\n$tabs-toggle-link-active-color: $link-invert !default\n\n.tabs\n @extend %block\n +overflow-touch\n @extend %unselectable\n align-items: stretch\n display: flex\n font-size: $size-normal\n justify-content: space-between\n overflow: hidden\n overflow-x: auto\n white-space: nowrap\n a\n align-items: center\n border-bottom-color: $tabs-border-bottom-color\n border-bottom-style: $tabs-border-bottom-style\n border-bottom-width: $tabs-border-bottom-width\n color: $tabs-link-color\n display: flex\n justify-content: center\n margin-bottom: -#{$tabs-border-bottom-width}\n padding: $tabs-link-padding\n vertical-align: top\n &:hover\n border-bottom-color: $tabs-link-hover-border-bottom-color\n color: $tabs-link-hover-color\n li\n display: block\n &.is-active\n a\n border-bottom-color: $tabs-link-active-border-bottom-color\n color: $tabs-link-active-color\n ul\n align-items: center\n border-bottom-color: $tabs-border-bottom-color\n border-bottom-style: $tabs-border-bottom-style\n border-bottom-width: $tabs-border-bottom-width\n display: flex\n flex-grow: 1\n flex-shrink: 0\n justify-content: flex-start\n &.is-left\n padding-right: 0.75em\n &.is-center\n flex: none\n justify-content: center\n padding-left: 0.75em\n padding-right: 0.75em\n &.is-right\n justify-content: flex-end\n padding-left: 0.75em\n .icon\n &:first-child\n +ltr-property(\"margin\", 0.5em)\n &:last-child\n +ltr-property(\"margin\", 0.5em, false)\n // Alignment\n &.is-centered\n ul\n justify-content: center\n &.is-right\n ul\n justify-content: flex-end\n // Styles\n &.is-boxed\n a\n border: 1px solid transparent\n +ltr\n border-radius: $tabs-boxed-link-radius $tabs-boxed-link-radius 0 0\n +rtl\n border-radius: 0 0 $tabs-boxed-link-radius $tabs-boxed-link-radius\n &:hover\n background-color: $tabs-boxed-link-hover-background-color\n border-bottom-color: $tabs-boxed-link-hover-border-bottom-color\n li\n &.is-active\n a\n background-color: $tabs-boxed-link-active-background-color\n border-color: $tabs-boxed-link-active-border-color\n border-bottom-color: $tabs-boxed-link-active-border-bottom-color !important\n &.is-fullwidth\n li\n flex-grow: 1\n flex-shrink: 0\n &.is-toggle\n a\n border-color: $tabs-toggle-link-border-color\n border-style: $tabs-toggle-link-border-style\n border-width: $tabs-toggle-link-border-width\n margin-bottom: 0\n position: relative\n &:hover\n background-color: $tabs-toggle-link-hover-background-color\n border-color: $tabs-toggle-link-hover-border-color\n z-index: 2\n li\n & + li\n +ltr-property(\"margin\", -#{$tabs-toggle-link-border-width}, false)\n &:first-child a\n +ltr\n border-top-left-radius: $tabs-toggle-link-radius\n border-bottom-left-radius: $tabs-toggle-link-radius\n +rtl\n border-top-right-radius: $tabs-toggle-link-radius\n border-bottom-right-radius: $tabs-toggle-link-radius\n &:last-child a\n +ltr\n border-top-right-radius: $tabs-toggle-link-radius\n border-bottom-right-radius: $tabs-toggle-link-radius\n +rtl\n border-top-left-radius: $tabs-toggle-link-radius\n border-bottom-left-radius: $tabs-toggle-link-radius\n &.is-active\n a\n background-color: $tabs-toggle-link-active-background-color\n border-color: $tabs-toggle-link-active-border-color\n color: $tabs-toggle-link-active-color\n z-index: 1\n ul\n border-bottom: none\n &.is-toggle-rounded\n li\n &:first-child a\n +ltr\n border-bottom-left-radius: $radius-rounded\n border-top-left-radius: $radius-rounded\n padding-left: 1.25em\n +rtl\n border-bottom-right-radius: $radius-rounded\n border-top-right-radius: $radius-rounded\n padding-right: 1.25em\n &:last-child a\n +ltr\n border-bottom-right-radius: $radius-rounded\n border-top-right-radius: $radius-rounded\n padding-right: 1.25em\n +rtl\n border-bottom-left-radius: $radius-rounded\n border-top-left-radius: $radius-rounded\n padding-left: 1.25em\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-medium\n font-size: $size-medium\n &.is-large\n font-size: $size-large\n","@import \"../utilities/mixins\"\n\n$column-gap: 0.75rem !default\n\n.column\n display: block\n flex-basis: 0\n flex-grow: 1\n flex-shrink: 1\n padding: $column-gap\n .columns.is-mobile > &.is-narrow\n flex: none\n width: unset\n .columns.is-mobile > &.is-full\n flex: none\n width: 100%\n .columns.is-mobile > &.is-three-quarters\n flex: none\n width: 75%\n .columns.is-mobile > &.is-two-thirds\n flex: none\n width: 66.6666%\n .columns.is-mobile > &.is-half\n flex: none\n width: 50%\n .columns.is-mobile > &.is-one-third\n flex: none\n width: 33.3333%\n .columns.is-mobile > &.is-one-quarter\n flex: none\n width: 25%\n .columns.is-mobile > &.is-one-fifth\n flex: none\n width: 20%\n .columns.is-mobile > &.is-two-fifths\n flex: none\n width: 40%\n .columns.is-mobile > &.is-three-fifths\n flex: none\n width: 60%\n .columns.is-mobile > &.is-four-fifths\n flex: none\n width: 80%\n .columns.is-mobile > &.is-offset-three-quarters\n +ltr-property(\"margin\", 75%, false)\n .columns.is-mobile > &.is-offset-two-thirds\n +ltr-property(\"margin\", 66.6666%, false)\n .columns.is-mobile > &.is-offset-half\n +ltr-property(\"margin\", 50%, false)\n .columns.is-mobile > &.is-offset-one-third\n +ltr-property(\"margin\", 33.3333%, false)\n .columns.is-mobile > &.is-offset-one-quarter\n +ltr-property(\"margin\", 25%, false)\n .columns.is-mobile > &.is-offset-one-fifth\n +ltr-property(\"margin\", 20%, false)\n .columns.is-mobile > &.is-offset-two-fifths\n +ltr-property(\"margin\", 40%, false)\n .columns.is-mobile > &.is-offset-three-fifths\n +ltr-property(\"margin\", 60%, false)\n .columns.is-mobile > &.is-offset-four-fifths\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n .columns.is-mobile > &.is-#{$i}\n flex: none\n width: percentage(divide($i, 12))\n .columns.is-mobile > &.is-offset-#{$i}\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n +mobile\n &.is-narrow-mobile\n flex: none\n width: unset\n &.is-full-mobile\n flex: none\n width: 100%\n &.is-three-quarters-mobile\n flex: none\n width: 75%\n &.is-two-thirds-mobile\n flex: none\n width: 66.6666%\n &.is-half-mobile\n flex: none\n width: 50%\n &.is-one-third-mobile\n flex: none\n width: 33.3333%\n &.is-one-quarter-mobile\n flex: none\n width: 25%\n &.is-one-fifth-mobile\n flex: none\n width: 20%\n &.is-two-fifths-mobile\n flex: none\n width: 40%\n &.is-three-fifths-mobile\n flex: none\n width: 60%\n &.is-four-fifths-mobile\n flex: none\n width: 80%\n &.is-offset-three-quarters-mobile\n +ltr-property(\"margin\", 75%, false)\n &.is-offset-two-thirds-mobile\n +ltr-property(\"margin\", 66.6666%, false)\n &.is-offset-half-mobile\n +ltr-property(\"margin\", 50%, false)\n &.is-offset-one-third-mobile\n +ltr-property(\"margin\", 33.3333%, false)\n &.is-offset-one-quarter-mobile\n +ltr-property(\"margin\", 25%, false)\n &.is-offset-one-fifth-mobile\n +ltr-property(\"margin\", 20%, false)\n &.is-offset-two-fifths-mobile\n +ltr-property(\"margin\", 40%, false)\n &.is-offset-three-fifths-mobile\n +ltr-property(\"margin\", 60%, false)\n &.is-offset-four-fifths-mobile\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n &.is-#{$i}-mobile\n flex: none\n width: percentage(divide($i, 12))\n &.is-offset-#{$i}-mobile\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n +tablet\n &.is-narrow,\n &.is-narrow-tablet\n flex: none\n width: unset\n &.is-full,\n &.is-full-tablet\n flex: none\n width: 100%\n &.is-three-quarters,\n &.is-three-quarters-tablet\n flex: none\n width: 75%\n &.is-two-thirds,\n &.is-two-thirds-tablet\n flex: none\n width: 66.6666%\n &.is-half,\n &.is-half-tablet\n flex: none\n width: 50%\n &.is-one-third,\n &.is-one-third-tablet\n flex: none\n width: 33.3333%\n &.is-one-quarter,\n &.is-one-quarter-tablet\n flex: none\n width: 25%\n &.is-one-fifth,\n &.is-one-fifth-tablet\n flex: none\n width: 20%\n &.is-two-fifths,\n &.is-two-fifths-tablet\n flex: none\n width: 40%\n &.is-three-fifths,\n &.is-three-fifths-tablet\n flex: none\n width: 60%\n &.is-four-fifths,\n &.is-four-fifths-tablet\n flex: none\n width: 80%\n &.is-offset-three-quarters,\n &.is-offset-three-quarters-tablet\n +ltr-property(\"margin\", 75%, false)\n &.is-offset-two-thirds,\n &.is-offset-two-thirds-tablet\n +ltr-property(\"margin\", 66.6666%, false)\n &.is-offset-half,\n &.is-offset-half-tablet\n +ltr-property(\"margin\", 50%, false)\n &.is-offset-one-third,\n &.is-offset-one-third-tablet\n +ltr-property(\"margin\", 33.3333%, false)\n &.is-offset-one-quarter,\n &.is-offset-one-quarter-tablet\n +ltr-property(\"margin\", 25%, false)\n &.is-offset-one-fifth,\n &.is-offset-one-fifth-tablet\n +ltr-property(\"margin\", 20%, false)\n &.is-offset-two-fifths,\n &.is-offset-two-fifths-tablet\n +ltr-property(\"margin\", 40%, false)\n &.is-offset-three-fifths,\n &.is-offset-three-fifths-tablet\n +ltr-property(\"margin\", 60%, false)\n &.is-offset-four-fifths,\n &.is-offset-four-fifths-tablet\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n &.is-#{$i},\n &.is-#{$i}-tablet\n flex: none\n width: percentage(divide($i, 12))\n &.is-offset-#{$i},\n &.is-offset-#{$i}-tablet\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n +touch\n &.is-narrow-touch\n flex: none\n width: unset\n &.is-full-touch\n flex: none\n width: 100%\n &.is-three-quarters-touch\n flex: none\n width: 75%\n &.is-two-thirds-touch\n flex: none\n width: 66.6666%\n &.is-half-touch\n flex: none\n width: 50%\n &.is-one-third-touch\n flex: none\n width: 33.3333%\n &.is-one-quarter-touch\n flex: none\n width: 25%\n &.is-one-fifth-touch\n flex: none\n width: 20%\n &.is-two-fifths-touch\n flex: none\n width: 40%\n &.is-three-fifths-touch\n flex: none\n width: 60%\n &.is-four-fifths-touch\n flex: none\n width: 80%\n &.is-offset-three-quarters-touch\n +ltr-property(\"margin\", 75%, false)\n &.is-offset-two-thirds-touch\n +ltr-property(\"margin\", 66.6666%, false)\n &.is-offset-half-touch\n +ltr-property(\"margin\", 50%, false)\n &.is-offset-one-third-touch\n +ltr-property(\"margin\", 33.3333%, false)\n &.is-offset-one-quarter-touch\n +ltr-property(\"margin\", 25%, false)\n &.is-offset-one-fifth-touch\n +ltr-property(\"margin\", 20%, false)\n &.is-offset-two-fifths-touch\n +ltr-property(\"margin\", 40%, false)\n &.is-offset-three-fifths-touch\n +ltr-property(\"margin\", 60%, false)\n &.is-offset-four-fifths-touch\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n &.is-#{$i}-touch\n flex: none\n width: percentage(divide($i, 12))\n &.is-offset-#{$i}-touch\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n +desktop\n &.is-narrow-desktop\n flex: none\n width: unset\n &.is-full-desktop\n flex: none\n width: 100%\n &.is-three-quarters-desktop\n flex: none\n width: 75%\n &.is-two-thirds-desktop\n flex: none\n width: 66.6666%\n &.is-half-desktop\n flex: none\n width: 50%\n &.is-one-third-desktop\n flex: none\n width: 33.3333%\n &.is-one-quarter-desktop\n flex: none\n width: 25%\n &.is-one-fifth-desktop\n flex: none\n width: 20%\n &.is-two-fifths-desktop\n flex: none\n width: 40%\n &.is-three-fifths-desktop\n flex: none\n width: 60%\n &.is-four-fifths-desktop\n flex: none\n width: 80%\n &.is-offset-three-quarters-desktop\n +ltr-property(\"margin\", 75%, false)\n &.is-offset-two-thirds-desktop\n +ltr-property(\"margin\", 66.6666%, false)\n &.is-offset-half-desktop\n +ltr-property(\"margin\", 50%, false)\n &.is-offset-one-third-desktop\n +ltr-property(\"margin\", 33.3333%, false)\n &.is-offset-one-quarter-desktop\n +ltr-property(\"margin\", 25%, false)\n &.is-offset-one-fifth-desktop\n +ltr-property(\"margin\", 20%, false)\n &.is-offset-two-fifths-desktop\n +ltr-property(\"margin\", 40%, false)\n &.is-offset-three-fifths-desktop\n +ltr-property(\"margin\", 60%, false)\n &.is-offset-four-fifths-desktop\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n &.is-#{$i}-desktop\n flex: none\n width: percentage(divide($i, 12))\n &.is-offset-#{$i}-desktop\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n +widescreen\n &.is-narrow-widescreen\n flex: none\n width: unset\n &.is-full-widescreen\n flex: none\n width: 100%\n &.is-three-quarters-widescreen\n flex: none\n width: 75%\n &.is-two-thirds-widescreen\n flex: none\n width: 66.6666%\n &.is-half-widescreen\n flex: none\n width: 50%\n &.is-one-third-widescreen\n flex: none\n width: 33.3333%\n &.is-one-quarter-widescreen\n flex: none\n width: 25%\n &.is-one-fifth-widescreen\n flex: none\n width: 20%\n &.is-two-fifths-widescreen\n flex: none\n width: 40%\n &.is-three-fifths-widescreen\n flex: none\n width: 60%\n &.is-four-fifths-widescreen\n flex: none\n width: 80%\n &.is-offset-three-quarters-widescreen\n +ltr-property(\"margin\", 75%, false)\n &.is-offset-two-thirds-widescreen\n +ltr-property(\"margin\", 66.6666%, false)\n &.is-offset-half-widescreen\n +ltr-property(\"margin\", 50%, false)\n &.is-offset-one-third-widescreen\n +ltr-property(\"margin\", 33.3333%, false)\n &.is-offset-one-quarter-widescreen\n +ltr-property(\"margin\", 25%, false)\n &.is-offset-one-fifth-widescreen\n +ltr-property(\"margin\", 20%, false)\n &.is-offset-two-fifths-widescreen\n +ltr-property(\"margin\", 40%, false)\n &.is-offset-three-fifths-widescreen\n +ltr-property(\"margin\", 60%, false)\n &.is-offset-four-fifths-widescreen\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n &.is-#{$i}-widescreen\n flex: none\n width: percentage(divide($i, 12))\n &.is-offset-#{$i}-widescreen\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n +fullhd\n &.is-narrow-fullhd\n flex: none\n width: unset\n &.is-full-fullhd\n flex: none\n width: 100%\n &.is-three-quarters-fullhd\n flex: none\n width: 75%\n &.is-two-thirds-fullhd\n flex: none\n width: 66.6666%\n &.is-half-fullhd\n flex: none\n width: 50%\n &.is-one-third-fullhd\n flex: none\n width: 33.3333%\n &.is-one-quarter-fullhd\n flex: none\n width: 25%\n &.is-one-fifth-fullhd\n flex: none\n width: 20%\n &.is-two-fifths-fullhd\n flex: none\n width: 40%\n &.is-three-fifths-fullhd\n flex: none\n width: 60%\n &.is-four-fifths-fullhd\n flex: none\n width: 80%\n &.is-offset-three-quarters-fullhd\n +ltr-property(\"margin\", 75%, false)\n &.is-offset-two-thirds-fullhd\n +ltr-property(\"margin\", 66.6666%, false)\n &.is-offset-half-fullhd\n +ltr-property(\"margin\", 50%, false)\n &.is-offset-one-third-fullhd\n +ltr-property(\"margin\", 33.3333%, false)\n &.is-offset-one-quarter-fullhd\n +ltr-property(\"margin\", 25%, false)\n &.is-offset-one-fifth-fullhd\n +ltr-property(\"margin\", 20%, false)\n &.is-offset-two-fifths-fullhd\n +ltr-property(\"margin\", 40%, false)\n &.is-offset-three-fifths-fullhd\n +ltr-property(\"margin\", 60%, false)\n &.is-offset-four-fifths-fullhd\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n &.is-#{$i}-fullhd\n flex: none\n width: percentage(divide($i, 12))\n &.is-offset-#{$i}-fullhd\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n\n.columns\n +ltr-property(\"margin\", (-$column-gap), false)\n +ltr-property(\"margin\", (-$column-gap))\n margin-top: (-$column-gap)\n &:last-child\n margin-bottom: (-$column-gap)\n &:not(:last-child)\n margin-bottom: calc(1.5rem - #{$column-gap})\n // Modifiers\n &.is-centered\n justify-content: center\n &.is-gapless\n +ltr-property(\"margin\", 0, false)\n +ltr-property(\"margin\", 0)\n margin-top: 0\n & > .column\n margin: 0\n padding: 0 !important\n &:not(:last-child)\n margin-bottom: 1.5rem\n &:last-child\n margin-bottom: 0\n &.is-mobile\n display: flex\n &.is-multiline\n flex-wrap: wrap\n &.is-vcentered\n align-items: center\n // Responsiveness\n +tablet\n &:not(.is-desktop)\n display: flex\n +desktop\n // Modifiers\n &.is-desktop\n display: flex\n\n@if $variable-columns\n .columns.is-variable\n --columnGap: 0.75rem\n +ltr-property(\"margin\", calc(-1 * var(--columnGap)), false)\n +ltr-property(\"margin\", calc(-1 * var(--columnGap)))\n > .column\n padding-left: var(--columnGap)\n padding-right: var(--columnGap)\n @for $i from 0 through 8\n &.is-#{$i}\n --columnGap: #{$i * 0.25rem}\n +mobile\n &.is-#{$i}-mobile\n --columnGap: #{$i * 0.25rem}\n +tablet\n &.is-#{$i}-tablet\n --columnGap: #{$i * 0.25rem}\n +tablet-only\n &.is-#{$i}-tablet-only\n --columnGap: #{$i * 0.25rem}\n +touch\n &.is-#{$i}-touch\n --columnGap: #{$i * 0.25rem}\n +desktop\n &.is-#{$i}-desktop\n --columnGap: #{$i * 0.25rem}\n +desktop-only\n &.is-#{$i}-desktop-only\n --columnGap: #{$i * 0.25rem}\n +widescreen\n &.is-#{$i}-widescreen\n --columnGap: #{$i * 0.25rem}\n +widescreen-only\n &.is-#{$i}-widescreen-only\n --columnGap: #{$i * 0.25rem}\n +fullhd\n &.is-#{$i}-fullhd\n --columnGap: #{$i * 0.25rem}\n","@import \"../utilities/mixins\"\n\n$tile-spacing: 0.75rem !default\n\n.tile\n align-items: stretch\n display: block\n flex-basis: 0\n flex-grow: 1\n flex-shrink: 1\n min-height: min-content\n // Modifiers\n &.is-ancestor\n margin-left: $tile-spacing * -1\n margin-right: $tile-spacing * -1\n margin-top: $tile-spacing * -1\n &:last-child\n margin-bottom: $tile-spacing * -1\n &:not(:last-child)\n margin-bottom: $tile-spacing\n &.is-child\n margin: 0 !important\n &.is-parent\n padding: $tile-spacing\n &.is-vertical\n flex-direction: column\n & > .tile.is-child:not(:last-child)\n margin-bottom: 1.5rem !important\n // Responsiveness\n +tablet\n &:not(.is-child)\n display: flex\n @for $i from 1 through 12\n &.is-#{$i}\n flex: none\n width: (divide($i, 12)) * 100%\n","@import \"../utilities/derived-variables\"\n\n@each $name, $pair in $colors\n $color: nth($pair, 1)\n .has-text-#{$name}\n color: $color !important\n a.has-text-#{$name}\n &:hover,\n &:focus\n color: bulmaDarken($color, 10%) !important\n .has-background-#{$name}\n background-color: $color !important\n @if length($pair) >= 4\n $color-light: nth($pair, 3)\n $color-dark: nth($pair, 4)\n // Light\n .has-text-#{$name}-light\n color: $color-light !important\n a.has-text-#{$name}-light\n &:hover,\n &:focus\n color: bulmaDarken($color-light, 10%) !important\n .has-background-#{$name}-light\n background-color: $color-light !important\n // Dark\n .has-text-#{$name}-dark\n color: $color-dark !important\n a.has-text-#{$name}-dark\n &:hover,\n &:focus\n color: bulmaLighten($color-dark, 10%) !important\n .has-background-#{$name}-dark\n background-color: $color-dark !important\n\n@each $name, $shade in $shades\n .has-text-#{$name}\n color: $shade !important\n .has-background-#{$name}\n background-color: $shade !important\n","$flex-direction-values: row, row-reverse, column, column-reverse\n@each $value in $flex-direction-values\n .is-flex-direction-#{$value}\n flex-direction: $value !important\n\n$flex-wrap-values: nowrap, wrap, wrap-reverse\n@each $value in $flex-wrap-values\n .is-flex-wrap-#{$value}\n flex-wrap: $value !important\n\n$justify-content-values: flex-start, flex-end, center, space-between, space-around, space-evenly, start, end, left, right\n@each $value in $justify-content-values\n .is-justify-content-#{$value}\n justify-content: $value !important\n\n$align-content-values: flex-start, flex-end, center, space-between, space-around, space-evenly, stretch, start, end, baseline\n@each $value in $align-content-values\n .is-align-content-#{$value}\n align-content: $value !important\n\n$align-items-values: stretch, flex-start, flex-end, center, baseline, start, end, self-start, self-end\n@each $value in $align-items-values\n .is-align-items-#{$value}\n align-items: $value !important\n\n$align-self-values: auto, flex-start, flex-end, center, baseline, stretch\n@each $value in $align-self-values\n .is-align-self-#{$value}\n align-self: $value !important\n\n$flex-operators: grow, shrink\n@each $operator in $flex-operators\n @for $i from 0 through 5\n .is-flex-#{$operator}-#{$i}\n flex-#{$operator}: $i !important\n","@import \"../utilities/mixins\"\n\n.is-clearfix\n +clearfix\n\n.is-pulled-left\n float: left !important\n\n.is-pulled-right\n float: right !important\n","@import \"../utilities/mixins\"\n\n.is-radiusless\n border-radius: 0 !important\n\n.is-shadowless\n box-shadow: none !important\n\n.is-clickable\n cursor: pointer !important\n pointer-events: all !important\n\n.is-unselectable\n @extend %unselectable\n",".is-clipped\n overflow: hidden !important\n","@import \"../utilities/mixins\"\n\n.is-overlay\n @extend %overlay\n\n.is-relative\n position: relative !important\n",".is-marginless\n margin: 0 !important\n\n.is-paddingless\n padding: 0 !important\n\n$spacing-shortcuts: (\"margin\": \"m\", \"padding\": \"p\") !default\n$spacing-directions: (\"top\": \"t\", \"right\": \"r\", \"bottom\": \"b\", \"left\": \"l\") !default\n$spacing-horizontal: \"x\" !default\n$spacing-vertical: \"y\" !default\n$spacing-values: (\"0\": 0, \"1\": 0.25rem, \"2\": 0.5rem, \"3\": 0.75rem, \"4\": 1rem, \"5\": 1.5rem, \"6\": 3rem, \"auto\": auto) !default\n\n@each $property, $shortcut in $spacing-shortcuts\n @each $name, $value in $spacing-values\n // All directions\n .#{$shortcut}-#{$name}\n #{$property}: $value !important\n // Cardinal directions\n @each $direction, $suffix in $spacing-directions\n .#{$shortcut}#{$suffix}-#{$name}\n #{$property}-#{$direction}: $value !important\n // Horizontal axis\n @if $spacing-horizontal != null\n .#{$shortcut}#{$spacing-horizontal}-#{$name}\n #{$property}-left: $value !important\n #{$property}-right: $value !important\n // Vertical axis\n @if $spacing-vertical != null\n .#{$shortcut}#{$spacing-vertical}-#{$name}\n #{$property}-top: $value !important\n #{$property}-bottom: $value !important\n","@import \"../utilities/mixins\"\n\n=typography-size($target:'')\n @each $size in $sizes\n $i: index($sizes, $size)\n .is-size-#{$i}#{if($target == '', '', '-' + $target)}\n font-size: $size !important\n\n+typography-size()\n\n+mobile\n +typography-size('mobile')\n\n+tablet\n +typography-size('tablet')\n\n+touch\n +typography-size('touch')\n\n+desktop\n +typography-size('desktop')\n\n+widescreen\n +typography-size('widescreen')\n\n+fullhd\n +typography-size('fullhd')\n\n$alignments: ('centered': 'center', 'justified': 'justify', 'left': 'left', 'right': 'right')\n\n@each $alignment, $text-align in $alignments\n .has-text-#{$alignment}\n text-align: #{$text-align} !important\n\n@each $alignment, $text-align in $alignments\n +mobile\n .has-text-#{$alignment}-mobile\n text-align: #{$text-align} !important\n +tablet\n .has-text-#{$alignment}-tablet\n text-align: #{$text-align} !important\n +tablet-only\n .has-text-#{$alignment}-tablet-only\n text-align: #{$text-align} !important\n +touch\n .has-text-#{$alignment}-touch\n text-align: #{$text-align} !important\n +desktop\n .has-text-#{$alignment}-desktop\n text-align: #{$text-align} !important\n +desktop-only\n .has-text-#{$alignment}-desktop-only\n text-align: #{$text-align} !important\n +widescreen\n .has-text-#{$alignment}-widescreen\n text-align: #{$text-align} !important\n +widescreen-only\n .has-text-#{$alignment}-widescreen-only\n text-align: #{$text-align} !important\n +fullhd\n .has-text-#{$alignment}-fullhd\n text-align: #{$text-align} !important\n\n.is-capitalized\n text-transform: capitalize !important\n\n.is-lowercase\n text-transform: lowercase !important\n\n.is-uppercase\n text-transform: uppercase !important\n\n.is-italic\n font-style: italic !important\n \n.is-underlined\n text-decoration: underline !important\n\n.has-text-weight-light\n font-weight: $weight-light !important\n.has-text-weight-normal\n font-weight: $weight-normal !important\n.has-text-weight-medium\n font-weight: $weight-medium !important\n.has-text-weight-semibold\n font-weight: $weight-semibold !important\n.has-text-weight-bold\n font-weight: $weight-bold !important\n\n.is-family-primary\n font-family: $family-primary !important\n\n.is-family-secondary\n font-family: $family-secondary !important\n\n.is-family-sans-serif\n font-family: $family-sans-serif !important\n\n.is-family-monospace\n font-family: $family-monospace !important\n\n.is-family-code\n font-family: $family-code !important\n","@import \"../utilities/mixins\"\n\n$displays: 'block' 'flex' 'inline' 'inline-block' 'inline-flex'\n\n@each $display in $displays\n .is-#{$display}\n display: #{$display} !important\n +mobile\n .is-#{$display}-mobile\n display: #{$display} !important\n +tablet\n .is-#{$display}-tablet\n display: #{$display} !important\n +tablet-only\n .is-#{$display}-tablet-only\n display: #{$display} !important\n +touch\n .is-#{$display}-touch\n display: #{$display} !important\n +desktop\n .is-#{$display}-desktop\n display: #{$display} !important\n +desktop-only\n .is-#{$display}-desktop-only\n display: #{$display} !important\n +widescreen\n .is-#{$display}-widescreen\n display: #{$display} !important\n +widescreen-only\n .is-#{$display}-widescreen-only\n display: #{$display} !important\n +fullhd\n .is-#{$display}-fullhd\n display: #{$display} !important\n\n.is-hidden\n display: none !important\n\n.is-sr-only\n border: none !important\n clip: rect(0, 0, 0, 0) !important\n height: 0.01em !important\n overflow: hidden !important\n padding: 0 !important\n position: absolute !important\n white-space: nowrap !important\n width: 0.01em !important\n\n+mobile\n .is-hidden-mobile\n display: none !important\n\n+tablet\n .is-hidden-tablet\n display: none !important\n\n+tablet-only\n .is-hidden-tablet-only\n display: none !important\n\n+touch\n .is-hidden-touch\n display: none !important\n\n+desktop\n .is-hidden-desktop\n display: none !important\n\n+desktop-only\n .is-hidden-desktop-only\n display: none !important\n\n+widescreen\n .is-hidden-widescreen\n display: none !important\n\n+widescreen-only\n .is-hidden-widescreen-only\n display: none !important\n\n+fullhd\n .is-hidden-fullhd\n display: none !important\n\n.is-invisible\n visibility: hidden !important\n\n+mobile\n .is-invisible-mobile\n visibility: hidden !important\n\n+tablet\n .is-invisible-tablet\n visibility: hidden !important\n\n+tablet-only\n .is-invisible-tablet-only\n visibility: hidden !important\n\n+touch\n .is-invisible-touch\n visibility: hidden !important\n\n+desktop\n .is-invisible-desktop\n visibility: hidden !important\n\n+desktop-only\n .is-invisible-desktop-only\n visibility: hidden !important\n\n+widescreen\n .is-invisible-widescreen\n visibility: hidden !important\n\n+widescreen-only\n .is-invisible-widescreen-only\n visibility: hidden !important\n\n+fullhd\n .is-invisible-fullhd\n visibility: hidden !important\n","@import \"../utilities/mixins\"\n\n$hero-body-padding: 3rem 1.5rem !default\n$hero-body-padding-tablet: 3rem 3rem !default\n$hero-body-padding-small: 1.5rem !default\n$hero-body-padding-medium: 9rem 4.5rem !default\n$hero-body-padding-large: 18rem 6rem !default\n\n$hero-colors: $colors !default\n\n// Main container\n.hero\n align-items: stretch\n display: flex\n flex-direction: column\n justify-content: space-between\n .navbar\n background: none\n .tabs\n ul\n border-bottom: none\n // Colors\n @each $name, $pair in $hero-colors\n $color: nth($pair, 1)\n $color-invert: nth($pair, 2)\n &.is-#{$name}\n background-color: $color\n color: $color-invert\n a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n strong\n color: inherit\n .title\n color: $color-invert\n .subtitle\n color: bulmaRgba($color-invert, 0.9)\n a:not(.button),\n strong\n color: $color-invert\n .navbar-menu\n +touch\n background-color: $color\n .navbar-item,\n .navbar-link\n color: bulmaRgba($color-invert, 0.7)\n a.navbar-item,\n .navbar-link\n &:hover,\n &.is-active\n background-color: bulmaDarken($color, 5%)\n color: $color-invert\n .tabs\n a\n color: $color-invert\n opacity: 0.9\n &:hover\n opacity: 1\n li\n &.is-active a\n color: $color !important\n opacity: 1\n &.is-boxed,\n &.is-toggle\n a\n color: $color-invert\n &:hover\n background-color: bulmaRgba($scheme-invert, 0.1)\n li.is-active a\n &,\n &:hover\n background-color: $color-invert\n border-color: $color-invert\n color: $color\n // Modifiers\n @if type-of($color) == 'color'\n &.is-bold\n $gradient-top-left: darken(saturate(adjust-hue($color, -10deg), 10%), 10%)\n $gradient-bottom-right: lighten(saturate(adjust-hue($color, 10deg), 5%), 5%)\n background-image: linear-gradient(141deg, $gradient-top-left 0%, $color 71%, $gradient-bottom-right 100%)\n +mobile\n .navbar-menu\n background-image: linear-gradient(141deg, $gradient-top-left 0%, $color 71%, $gradient-bottom-right 100%)\n // Sizes\n &.is-small\n .hero-body\n padding: $hero-body-padding-small\n &.is-medium\n +tablet\n .hero-body\n padding: $hero-body-padding-medium\n &.is-large\n +tablet\n .hero-body\n padding: $hero-body-padding-large\n &.is-halfheight,\n &.is-fullheight,\n &.is-fullheight-with-navbar\n .hero-body\n align-items: center\n display: flex\n & > .container\n flex-grow: 1\n flex-shrink: 1\n &.is-halfheight\n min-height: 50vh\n &.is-fullheight\n min-height: 100vh\n\n// Components\n\n.hero-video\n @extend %overlay\n overflow: hidden\n video\n left: 50%\n min-height: 100%\n min-width: 100%\n position: absolute\n top: 50%\n transform: translate3d(-50%, -50%, 0)\n // Modifiers\n &.is-transparent\n opacity: 0.3\n // Responsiveness\n +mobile\n display: none\n\n.hero-buttons\n margin-top: 1.5rem\n // Responsiveness\n +mobile\n .button\n display: flex\n &:not(:last-child)\n margin-bottom: 0.75rem\n +tablet\n display: flex\n justify-content: center\n .button:not(:last-child)\n +ltr-property(\"margin\", 1.5rem)\n\n// Containers\n\n.hero-head,\n.hero-foot\n flex-grow: 0\n flex-shrink: 0\n\n.hero-body\n flex-grow: 1\n flex-shrink: 0\n padding: $hero-body-padding\n +tablet\n padding: $hero-body-padding-tablet\n","@import \"../utilities/mixins\"\n\n$section-padding: 3rem 1.5rem !default\n$section-padding-desktop: 3rem 3rem !default\n$section-padding-medium: 9rem 4.5rem !default\n$section-padding-large: 18rem 6rem !default\n\n.section\n padding: $section-padding\n // Responsiveness\n +desktop\n padding: $section-padding-desktop\n // Sizes\n &.is-medium\n padding: $section-padding-medium\n &.is-large\n padding: $section-padding-large\n","@charset \"utf-8\";\n@import \"_variables\";\n\n/** Bulma: Utilities **/\n\n@import \"../../node_modules/bulma/sass/utilities/controls\";\n@import \"../../node_modules/bulma/sass/utilities/extends\";\n\n/** Bulma: Base **/\n\n@import \"../../node_modules/bulma/sass/base/_all\";\n\n/** Bulma: Elements **/\n\n@import \"../../node_modules/bulma/sass/elements/button\";\n@import \"../../node_modules/bulma/sass/elements/container\";\n@import \"../../node_modules/bulma/sass/elements/content\";\n@import \"../../node_modules/bulma/sass/elements/icon\";\n@import \"../../node_modules/bulma/sass/elements/notification\";\n@import \"../../node_modules/bulma/sass/elements/progress\";\n@import \"../../node_modules/bulma/sass/elements/table\";\n@import \"../../node_modules/bulma/sass/elements/title\";\n@import \"../../node_modules/bulma/sass/elements/other\";\n\n/** Bulma: Form **/\n\n@import \"../../node_modules/bulma/sass/form/_all\";\n\n/** Bulma: Componenets **/\n\n@import \"../../node_modules/bulma/sass/components/level\";\n@import \"../../node_modules/bulma/sass/components/menu\";\n@import \"../../node_modules/bulma/sass/components/message\";\n@import \"../../node_modules/bulma/sass/components/pagination\";\n@import \"../../node_modules/bulma/sass/components/tabs\";\n\n/** Bulma: Grid **/\n\n@import \"../../node_modules/bulma/sass/grid/_all\";\n\n/** Bulma: Helpers **/\n\n@import \"../../node_modules/bulma/sass/helpers/_all\";\n\n/** Bulma: Layout **/\n\n@import \"../../node_modules/bulma/sass/layout/hero\";\n@import \"../../node_modules/bulma/sass/layout/section\";\n\n/** Animations **/\n\n@keyframes fade-in-opacity {\n 0% {\n opacity: 0\n }\n\n 100% {\n opacity: 1\n }\n}\n\n@keyframes float-up {\n 0% {\n opacity: 0;\n transform: scale(0.86)\n }\n\n 25% {\n opacity: 100\n }\n\n 67% {\n transform: scale(1)\n }\n\n 100% {\n transform: scale(1)\n }\n}\n\n/** General **/\n\nhtml {\n overflow-y: auto\n}\n\nbody {\n animation: fade-in-opacity 0.5s\n}\n\ncode,\n.message-body code {\n background-color: $black;\n border-radius: 5px;\n font-size: 1rem\n}\n\n.input::placeholder,\n.textarea::placeholder {\n color: $grey-lightest\n}\n\n.label {\n color: $white-ter;\n font-weight: normal\n}\n\n.help {\n color: $grey-lightest\n}\n\n.progress {\n background-color: $grey\n}\n\n.button.is-info.is-hovered [class^=\"icon-\"]::before,\n.button.is-info.is-hovered [class*=\" icon-\"]::before,\n.button.is-info:hover [class^=\"icon-\"]::before,\n.button.is-info:hover [class*=\" icon-\"]::before {\n fill: #fff\n}\n\n.button {\n &.is-wrappable {\n white-space: break-spaces;\n min-height: 2.25em;\n height: auto\n }\n\n /* TODO: Use variables for colors */\n &.is-dangerish {\n background-color: #ff7043;\n border-color: transparent;\n color: rgb(0 0 0 / 70%);\n\n &.is-hovered,\n &:not([disabled]):hover {\n background-color: #ff8a65;\n border-color: transparent;\n color: rgb(0 0 0 / 70%)\n }\n\n &.is-active,\n &:not([disabled]):active {\n background-color: #ff5722;\n border-color: transparent;\n color: rgb(0 0 0 / 70%)\n }\n\n &.is-outlined {\n background-color: transparent;\n border-color: #ff7043;\n color: #ff7043;\n\n &.is-focused,\n &.is-hovered,\n &:not([disabled]):focus,\n &:not([disabled]):hover {\n background-color: #ff7043;\n border-color: #ff7043;\n color: rgb(0 0 0 / 70%)\n }\n }\n }\n}\n\n.checkbox:hover,\n.radio:hover {\n color: $grey-light\n}\n\n.select:not(.is-multiple,.is-loading)::after {\n border-color: $white-ter\n}\n\n.select:not(.is-multiple,.is-loading):hover::after {\n border-color: $white-ter\n}\n\n.select select[disabled]:hover,\nfieldset[disabled] .select select:hover {\n border-color: $grey\n}\n\n.message {\n background-color: #2f2f2f\n}\n\n.message-body {\n color: $white-ter;\n border: 0\n}\n\n.table {\n color: $grey-lightest;\n background-color: $black;\n\n &.is-narrow {\n font-size: 0.75rem\n }\n\n &.is-hoverable tbody tr:not(.is-selected):hover {\n background-color: #2f2f2f\n }\n\n td,\n th {\n white-space: nowrap;\n vertical-align: middle;\n border-bottom: 1px solid $grey\n }\n\n th {\n color: $white-ter;\n height: 2.25em;\n font-weight: normal\n }\n\n thead {\n td,\n th {\n color: $white-ter;\n background-color: #383838;\n border-bottom: 0;\n height: 31px\n }\n }\n\n tbody tr:last-child {\n td,\n th {\n border-bottom-width: 1px\n }\n }\n\n .cell-indent {\n padding-left: 2.25em\n }\n}\n\n.delete {\n &::before,\n &::after {\n background-color: $text\n }\n}\n\n.has-word-break-all {\n word-break: break-all\n}\n\n/** Fontello overrides **/\n\n.icon-gauge::before {\n margin-top: -2px\n}\n\n/** Cookie Consent **/\n\n.cc-window {\n font-family: inherit !important\n}\n\n.cc-link {\n padding: 0 !important\n}\n\n/* floating button's bottom offset + height + bottom offset */\n.section.has-extra-bottom-padding {\n padding-bottom: 6.5rem\n}\n\n/** Floating home button **/\n\na.floating-home-button {\n display: flex;\n position: fixed;\n right: 1.5rem;\n bottom: 1.5rem;\n border-radius: 100%;\n background-color: $link;\n color: $white;\n width: 3.5rem;\n height: 3.5rem;\n justify-content: center;\n align-items: center;\n transition: background-color 0.25s, color 0.25s;\n\n &:hover {\n background-color: $link-hover;\n color: $scheme-main\n }\n\n > .icon {\n margin-top: -2px\n }\n}\n\n.hero.is-fullheight {\n /* https://github.com/philipwalton/flexbugs#flexbug-3 */\n > .hero-body {\n min-height: 100vh;\n height: 100%;\n\n /* https://github.com/philipwalton/flexbugs#flexbug-2 */\n > .container {\n width: 100%\n }\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["../node_modules/bulma/sass/utilities/extends.sass","../node_modules/bulma/sass/utilities/controls.sass","../node_modules/bulma/sass/utilities/initial-variables.sass","css/style.css","../node_modules/bulma/sass/utilities/mixins.sass","css/_variables.scss","../node_modules/bulma/sass/base/_all.sass","../node_modules/bulma/sass/base/minireset.sass","../node_modules/bulma/sass/base/generic.sass","../node_modules/bulma/sass/utilities/derived-variables.sass","../node_modules/bulma/sass/base/animations.sass","../node_modules/bulma/sass/elements/button.sass","../node_modules/bulma/sass/elements/container.sass","../node_modules/bulma/sass/elements/content.sass","../node_modules/bulma/sass/elements/icon.sass","../node_modules/bulma/sass/elements/notification.sass","../node_modules/bulma/sass/elements/progress.sass","../node_modules/bulma/sass/elements/table.sass","../node_modules/bulma/sass/elements/title.sass","../node_modules/bulma/sass/elements/other.sass","../node_modules/bulma/sass/form/shared.sass","../node_modules/bulma/sass/form/input-textarea.sass","../node_modules/bulma/sass/form/checkbox-radio.sass","../node_modules/bulma/sass/form/select.sass","../node_modules/bulma/sass/form/file.sass","../node_modules/bulma/sass/form/tools.sass","../node_modules/bulma/sass/components/level.sass","../node_modules/bulma/sass/components/menu.sass","../node_modules/bulma/sass/components/message.sass","../node_modules/bulma/sass/components/pagination.sass","../node_modules/bulma/sass/components/tabs.sass","../node_modules/bulma/sass/grid/columns.sass","../node_modules/bulma/sass/grid/tiles.sass","../node_modules/bulma/sass/helpers/color.sass","../node_modules/bulma/sass/helpers/flexbox.sass","../node_modules/bulma/sass/helpers/float.sass","../node_modules/bulma/sass/helpers/other.sass","../node_modules/bulma/sass/helpers/overflow.sass","../node_modules/bulma/sass/helpers/position.sass","../node_modules/bulma/sass/helpers/spacing.sass","../node_modules/bulma/sass/helpers/typography.sass","../node_modules/bulma/sass/helpers/visibility.sass","../node_modules/bulma/sass/layout/hero.sass","../node_modules/bulma/sass/layout/section.sass","css/style.scss"],"names":[],"mappings":"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ACE,wBTvQW,CSwQX,oBT3QW,CS6QX,eAAA,CADA,aT9QW,CSgRX,mBRyoCJ,CQxoCE,mBACE,oBTlNa,CSmNb,mBAAA,CACA,oBR0oCJ,CQxoCA,SACE,kBAAA,CACA,YAAA,CACA,cAAA,CACA,0BR2oCF,CQ1oCE,iBACE,mBR4oCJ,CQ3oCI,qDPjHA,kBD+vCJ,CQ5oCE,oBACE,oBR8oCJ,CQ7oCE,0BACE,kBR+oCJ,CQ5oCI,0EAzPF,gBRw4CF,CQ14CE,2FACE,iBR44CJ,CQ/oCI,0EAxPF,iBR04CF,CQ/oCI,0EAzPF,gBR24CF,CQ9oCM,8CACE,2BAAA,CACA,wBRgpCR,CQ/oCM,6CACE,4BAAA,CACA,yBAAA,CPxIJ,iBD0xCJ,CQhpCM,uCP1IF,cD6xCJ,CQjpCM,yEAEE,SRkpCR,CQjpCM,0LAKE,SR+oCR,CQ9oCQ,wNACE,SRgpCV,CQ/oCM,wCACE,WAAA,CACA,aRipCR,CQhpCE,qBACE,sBRkpCJ,CQhpCM,iEACE,kBAAA,CACA,mBRkpCR,CQjpCE,kBACE,wBRmpCJ,CQjpCM,8DACE,kBAAA,CACA,mBRmpCR,CC94CE,oCOiQM,+BACE,kBRipCR,CQ/oCM,sDAEE,mBRipCR,CQtpCM,gCACE,gBRwpCR,CQzpCM,+BACE,cR2pCR,CACF,CC15CE,2DO6PM,+BACE,mBRgqCR,CQ9pCM,sDAEE,gBRgqCR,CQrqCM,gCACE,cRuqCR,CQxqCM,+BACE,iBR0qCR,CACF,CStgDA,WACE,WAAA,CACA,aAAA,CACA,iBAAA,CACA,UTwgDF,CSvgDE,oBACE,wBAAA,CACA,iBVyCE,CUxCF,kBVwCE,CUvCF,UTygDJ,CCj6CE,qCQjHF,WAWI,eT2gDF,CACF,CC55CI,qCQ9GA,8CACE,gBT6gDJ,CACF,CCl5CI,qCQ1HA,kEACE,gBT+gDJ,CACF,CCj6CI,qCQ7GA,gCACE,gBTihDJ,CACF,CCv5CI,qCQzHA,wDACE,gBTmhDJ,CACF,CUrhDE,eACE,gBVwhDJ,CU/gDI,sNACE,iBVuhDN,CUthDE,wEAME,aXvCW,CWwCX,eXHc,CWId,iBVwhDJ,CUvhDE,YACE,aAAA,CACA,kBVyhDJ,CUxhDI,8BACE,cV0hDN,CUzhDE,YACE,gBAAA,CACA,qBV2hDJ,CU1hDI,8BACE,mBV4hDN,CU3hDE,YACE,eAAA,CACA,qBV6hDJ,CU5hDI,8BACE,mBV8hDN,CU7hDE,YACE,gBAAA,CACA,kBV+hDJ,CU9hDE,YACE,iBAAA,CACA,qBVgiDJ,CU/hDE,YACE,aAAA,CACA,iBViiDJ,CUhiDE,oBACE,wBX5DW,CEuKX,6BS3K6B,CAkE7B,oBVkiDJ,CUjiDE,YACE,2BAAA,CTuGA,eStGwB,CACxB,cVmiDJ,CUliDI,wBACE,uBVoiDN,CUniDM,uCACE,2BVqiDR,CUpiDM,uCACE,2BVsiDR,CUriDM,uCACE,2BVuiDR,CUtiDM,uCACE,2BVwiDR,CUviDE,YACE,uBAAA,CTyFA,eSxFwB,CACxB,cVyiDJ,CUxiDI,eACE,sBAAA,CACA,eV0iDN,CUziDM,kBACE,sBV2iDR,CU1iDE,YTiFE,eD49CJ,CU3iDE,gBACE,eAAA,CACA,gBAAA,CACA,iBV6iDJ,CU5iDI,kCACE,cV8iDN,CU7iDI,iCACE,iBV+iDN,CU9iDI,oBACE,oBVgjDN,CU/iDI,2BACE,iBVijDN,CUhjDE,aT9CA,gCAAA,CSmDE,gBAAA,CAHA,eAAA,CACA,oBAxGkB,CAyGlB,eVmjDJ,CUjjDE,0BAEE,aVmjDJ,CUljDE,eACE,UVojDJ,CUnjDI,oCAGE,oBAhH4B,CAgH5B,oBAhH4B,CAiH5B,kBAhHuB,CAiHvB,kBVqjDN,CUpjDI,kBACE,aVsjDN,CUrjDM,+BACE,kBVujDR,CUrjDM,gDAEE,oBAvH+B,CAwH/B,aVujDR,CUrjDM,gDAEE,oBAzH+B,CA0H/B,aVujDR,CUnjDU,4EAEE,qBVqjDZ,CUnjDI,qBACE,YVqjDN,CUnjDE,kBACE,gBVqjDJ,CUpjDE,mBACE,cVsjDJ,CUrjDE,mBACE,iBVujDJ,CUtjDE,kBACE,gBVwjDJ,CWntDA,MACE,kBAAA,CACA,mBAAA,CAEA,aAVgB,CAShB,sBAAA,CAEA,YXstDF,CWptDE,eACE,WAboB,CAcpB,UXstDJ,CWrtDE,gBACE,WAfqB,CAgBrB,UXutDJ,CWttDE,eACE,WAjBoB,CAkBpB,UXwtDJ,CWttDA,WACE,sBAAA,CACA,aAAA,CACA,mBAAA,CACA,cAAA,CACA,kBA5BgB,CA6BhB,kBXytDF,CWxtDE,iBACE,WAAA,CACA,aX0tDJ,CWztDI,kCAEI,kBX0tDR,CWvtDI,mCAEI,iBXwtDR,CWptDA,cACE,YXutDF,CYzvDA,cAEE,wBAAA,CACA,iBbwDO,CarDL,qCAXuB,CASzB,iBZ4vDF,CYvvDE,iDACE,kBAAA,CACA,yBZyvDJ,CYxvDE,qBACE,kBZ0vDJ,CYzvDE,qCAEE,eZ2vDJ,CY1vDE,uBACE,sBZ4vDJ,CY3vDE,sBAEE,iBAAA,CX4JA,WW7Jc,CAEd,SZ6vDJ,CY5vDE,oEAGE,kBZ8vDJ,CYzvDI,uBACE,qBAHM,CAIN,UZ2vDN,CY7vDI,uBACE,qBAHM,CAIN,UZ+vDN,CYjwDI,uBACE,wBAHM,CAIN,oBZmwDN,CYrwDI,sBACE,wBAHM,CAIN,UZuwDN,CYzwDI,yBACE,wBAHM,CAIN,UZ2wDN,CYtwDQ,kCACE,wBAHY,CAIZ,aZwwDV,CYjxDI,sBACE,wBAHM,CAIN,UZmxDN,CY9wDQ,+BACE,wBAHY,CAIZ,aZgxDV,CYzxDI,sBACE,wBAHM,CAIN,UZ2xDN,CYtxDQ,+BACE,wBAHY,CAIZ,aZwxDV,CYjyDI,yBACE,wBAHM,CAIN,UZmyDN,CY9xDQ,kCACE,wBAHY,CAIZ,aZgyDV,CYzyDI,yBACE,wBAHM,CAIN,oBZ2yDN,CYtyDQ,kCACE,wBAHY,CAIZ,aZwyDV,CYjzDI,wBACE,wBAHM,CAIN,UZmzDN,CY9yDQ,iCACE,wBAHY,CAIZ,aZgzDV,Caz1DA,UAEE,oBAAA,CACA,uBAAA,CACA,WAAA,CACA,oBdyDe,CcxDf,aAAA,CACA,WdoBO,CcnBP,eAAA,CACA,SAAA,CACA,Ub21DF,Ca11DE,gCACE,wBb41DJ,Ca31DE,kCACE,wBb61DJ,Ca51DE,6BACE,wBb81DJ,Ca71DE,oBACE,wBdfW,CcgBX,Wb+1DJ,Ca11DM,2CACE,qBb41DR,Ca31DM,sCACE,qBb61DR,Ca51DM,6BACE,qBb81DR,Ca71DM,iCACE,0Db+1DR,Cat2DM,2CACE,qBbw2DR,Cav2DM,sCACE,qBby2DR,Cax2DM,6BACE,qBb02DR,Caz2DM,iCACE,0Db22DR,Cal3DM,2CACE,wBbo3DR,Can3DM,sCACE,wBbq3DR,Cap3DM,6BACE,wBbs3DR,Car3DM,iCACE,6Dbu3DR,Ca93DM,0CACE,wBbg4DR,Ca/3DM,qCACE,wBbi4DR,Cah4DM,4BACE,wBbk4DR,Caj4DM,gCACE,6Dbm4DR,Ca14DM,6CACE,wBb44DR,Ca34DM,wCACE,wBb64DR,Ca54DM,+BACE,wBb84DR,Ca74DM,mCACE,6Db+4DR,Cat5DM,0CACE,wBbw5DR,Cav5DM,qCACE,wBby5DR,Cax5DM,4BACE,wBb05DR,Caz5DM,gCACE,6Db25DR,Cal6DM,0CACE,wBbo6DR,Can6DM,qCACE,wBbq6DR,Cap6DM,4BACE,wBbs6DR,Car6DM,gCACE,6Dbu6DR,Ca96DM,6CACE,wBbg7DR,Ca/6DM,wCACE,wBbi7DR,Cah7DM,+BACE,wBbk7DR,Caj7DM,mCACE,6Dbm7DR,Ca17DM,6CACE,wBb47DR,Ca37DM,wCACE,wBb67DR,Ca57DM,+BACE,wBb87DR,Ca77DM,mCACE,6Db+7DR,Cat8DM,4CACE,wBbw8DR,Cav8DM,uCACE,wBby8DR,Cax8DM,8BACE,wBb08DR,Caz8DM,kCACE,6Db28DR,Caz8DE,wBACE,+BAtC8B,CAsC9B,uBAtC8B,CAuC9B,0CAAA,CAAA,kCAAA,CACA,wCAAA,CAAA,gCAAA,CACA,wCAAA,CAAA,gCAAA,CACA,wBdrCY,CcsCZ,6DAAA,CACA,uBAAA,CACA,2BAAA,CACA,yBb28DJ,Ca18DI,8CACE,4Bb48DN,Ca38DI,2CACE,4Bb68DN,Ca58DI,kCACE,mBb88DN,Ca38DE,mBACE,ab68DJ,Ca58DE,oBACE,cb88DJ,Ca78DE,mBACE,ab+8DJ,Ca78DA,qCACE,GACE,0Bbg9DF,Ca/8DA,GACE,2Bbi9DF,CACF,Cat9DA,6BACE,GACE,0Bbg9DF,Ca/8DA,GACE,2Bbi9DF,CACF,Cc5/DA,OAGE,ad6/DF,Cc5/DE,oBAGE,oBA/BsB,CA+BtB,oBA/BsB,CAgCtB,kBA/BiB,CAgCjB,kBd8/DJ,Ccz/DM,sCACE,qBAHM,CAIN,iBAJM,CAKN,Ud4/DR,Cc//DM,sCACE,qBAHM,CAIN,iBAJM,CAKN,UdkgER,CcrgEM,sCACE,wBAHM,CAIN,oBAJM,CAKN,oBdwgER,Cc3gEM,oCACE,wBAHM,CAIN,oBAJM,CAKN,Ud8gER,CcjhEM,0CACE,wBAHM,CAIN,oBAJM,CAKN,UdohER,CcvhEM,oCACE,wBAHM,CAIN,oBAJM,CAKN,Ud0hER,Cc7hEM,oCACE,wBAHM,CAIN,oBAJM,CAKN,UdgiER,CcniEM,0CACE,wBAHM,CAIN,oBAJM,CAKN,UdsiER,CcziEM,0CACE,wBAHM,CAIN,oBAJM,CAKN,oBd4iER,Cc/iEM,wCACE,wBAHM,CAIN,oBAJM,CAKN,UdkjER,CchjEI,wCACE,kBAAA,CACA,QdmjEN,CcljEI,4CACE,wBfjCS,CekCT,UdqjEN,CcpjEM,0GAEE,kBdwjER,CcvjEI,8CACE,qBd0jEN,CczjEE,UACE,ad2jEJ,Cc1jEI,uBACE,ed4jEN,Cc1jEI,sBACE,wBf9CS,Ce+CT,Ud4jEN,Cc3jEM,qDAEE,kBd6jER,Cc5jEM,kDAEE,iBRjDS,CQkDT,kBd8jER,Cc7jEE,aACE,4Bd+jEJ,Cc9jEI,gCAEE,oBApEyB,CAqEzB,adgkEN,Cc/jEE,aACE,4BdikEJ,CchkEI,gCAEE,oBAxEyB,CAyEzB,adkkEN,CcjkEE,aACE,4BdmkEJ,CchkEQ,4DAEE,qBdkkEV,Cc/jEI,4CAEE,gBdikEN,Cc9jEQ,wEAEE,uBdgkEV,Cc/jEE,oBACE,UdikEJ,CcxjEU,qHACE,wBd6jEZ,Cc5jEY,8EACE,wBd8jEd,Cc5jEI,wCAEE,kBd8jEN,Cc1jEQ,2DACE,wBd4jEV,Cc1jEA,iBb7DE,gCAAA,CakEA,cAAA,CAFA,aAAA,CACA,iBd6jEF,Ce5qEA,iBAGE,qBf8qEF,Ce7qEE,kDAEE,mBfirEJ,Ce9qEE,kDACE,efqrEJ,CeprEE,2BACE,qBfurEJ,CerrEA,OACE,ahBvBa,CgB0Bb,chBLO,CgBMP,ehBGgB,CgBFhB,iBfsrEF,CerrEE,cACE,aApCiB,CAqCjB,mBfurEJ,CetrEE,iCACE,mBfwrEJ,CeprEI,YACE,cfsrEN,CevrEI,YACE,gBfyrEN,Ce1rEI,YACE,cf4rEN,Ce7rEI,YACE,gBf+rEN,CehsEI,YACE,iBfksEN,CensEI,YACE,cfqsEN,CetsEI,YACE,gBfwsEN,CetsEA,UACE,ahB3Cc,CgB8Cd,iBhBrBO,CgBsBP,ehBjBc,CgBkBd,gBfusEF,CetsEE,iBACE,ahBlDY,CgBmDZ,efwsEJ,CevsEE,iCACE,mBfysEJ,CersEI,eACE,cfusEN,CexsEI,eACE,gBf0sEN,Ce3sEI,eACE,cf6sEN,Ce9sEI,eACE,gBfgtEN,CejtEI,eACE,iBfmtEN,CeptEI,eACE,cfstEN,CevtEI,eACE,gBfytEN,CgBtxEA,SACE,aAAA,CACA,cAAA,CACA,kBAAA,CACA,iBAAA,CACA,wBhByxEF,CgBpxEA,QACE,kBAAA,CACA,wBjBPa,CiBQb,oBjBmDe,CiBlDf,mBAAA,CACA,iBjBaO,CiBZP,UAAA,CACA,sBAAA,CACA,mBAAA,CACA,eAAA,CACA,oBAAA,CACA,iBAAA,CACA,kBhBuxEF,CiB3vEA,gCAxBE,qBf3BM,Ce4BN,oBlB3Ba,CkB4Bb,iBlBkCO,CkBjCP,ajByxEF,CCtvEI,sFgBjCA,ajB0xEJ,CCzvEI,iHgBjCA,ajB6xEJ,CC5vEI,mFgBjCA,ajBgyEJ,CC/vEI,kGgBjCA,ajBmyEJ,CiBlyEE,mHAEE,oBjBmyEJ,CiBlyEE,sOAIE,oBX8BS,CW7BT,4CjBiyEJ,CiBhyEE,yLAEE,wBlB5CW,CkB6CX,oBlB5CW,CkB6CX,eAAA,CACA,ajBiyEJ,CC/wEI,uTgBhBE,ajBkyEN,CClxEI,sXgBhBE,ajBqyEN,CCrxEI,gTgBhBE,ajBwyEN,CCxxEI,mVgBhBE,ajB2yEN,CkB71EA,iBAEE,iDDCa,CCAb,cAAA,CACA,UlB+1EF,CkB91EE,qCACE,elBg2EJ,CkB51EI,mCACE,iBlB81EN,CkB71EM,gNAIE,2ClB41ER,CkBl2EI,mCACE,iBlBo2EN,CkBn2EM,gNAIE,uClBk2ER,CkBx2EI,mCACE,oBlB02EN,CkBz2EM,gNAIE,0ClBw2ER,CkB92EI,iCACE,oBlBg3EN,CkB/2EM,wMAIE,0ClB82ER,CkBp3EI,uCACE,oBlBs3EN,CkBr3EM,gOAIE,2ClBo3ER,CkB13EI,iCACE,oBlB43EN,CkB33EM,wMAIE,4ClB03ER,CkBh4EI,iCACE,oBlBk4EN,CkBj4EM,wMAIE,4ClBg4ER,CkBt4EI,uCACE,oBlBw4EN,CkBv4EM,gOAIE,4ClBs4ER,CkB54EI,uCACE,oBlB84EN,CkB74EM,gOAIE,6ClB44ER,CkBl5EI,qCACE,oBlBo5EN,CkBn5EM,wNAIE,2ClBk5ER,CkBh5EE,mCpBmBA,iBC0Ba,CDzBb,gBEg4EF,CkBl5EE,qCpBoBA,iBEi4EF,CkBn5EE,mCpBoBA,gBEk4EF,CkBn5EE,2CACE,aAAA,CACA,UlBq5EJ,CkBp5EE,qCACE,cAAA,CACA,UlBs5EJ,CkBl5EE,kBACE,oBnB+Ba,CmB9Bb,gCAAA,CACA,iClBq5EJ,CkBp5EE,iBACE,4BAAA,CACA,wBAAA,CACA,eAAA,CACA,cAAA,CACA,elBs5EJ,CkBp5EA,UAEE,aAAA,CACA,cAAA,CACA,cAAA,CACA,yBpB7C2B,CoB8C3B,elBs5EF,CkBr5EE,sBACE,eA1DkB,CA2DlB,clBu5EJ,CkBt5EE,gBACE,WlBw5EJ,CkBt5EE,yBACE,WlBw5EJ,CmBz9EA,iBACE,cAAA,CACA,oBAAA,CACA,gBAAA,CACA,iBnB49EF,CmB39EE,6BACE,cnB69EJ,CmB59EE,6BACE,anB89EJ,CmB79EE,6IAGE,apBCW,CoBAX,kBnB+9EJ,CmBx9EE,clBgKE,gBD4zEJ,CoB9+EA,QACE,oBAAA,CACA,cAAA,CACA,iBAAA,CACA,kBpBi/EF,CoBh/EE,0BACE,YpBk/EJ,CoBh/EI,iDAEE,oBlBFC,CDkLH,amB/KgB,CACd,SpBi/EN,CoB/+EI,0BACE,oBrBuDW,CE4Gb,gBD+0EJ,CoBh/EE,eAEE,cAAA,CACA,aAAA,CACA,aAAA,CACA,cAAA,CACA,YpBi/EJ,CoBh/EI,2BACE,YpBk/EN,CoB9+EI,+BnBqJA,mBD+1EJ,CoBl/EI,yBACE,WAAA,CACA,SpBo/EN,CoBn/EM,gCACE,gBpBq/ER,CoBl/EI,uDACE,oBpBo/EN,CoB7+EM,2DACE,iBpBk/ER,CoBj/EQ,iEAEE,oBpBk/EV,CoBj/EQ,kIAIE,2CpBg/EV,CoBv/EQ,4HAEE,iBpB8/EV,CoB7/EQ,kIAIE,uCpB4/EV,CoBrgFM,2DACE,oBpB0gFR,CoBzgFQ,iEAEE,oBpB0gFV,CoBzgFQ,kIAIE,0CpBwgFV,CoBjhFM,yDACE,oBpBshFR,CoBrhFQ,+DAEE,oBpBshFV,CoBrhFQ,8HAIE,0CpBohFV,CoB7hFM,+DACE,oBpBkiFR,CoBjiFQ,qEAEE,oBpBkiFV,CoBjiFQ,0IAIE,2CpBgiFV,CoBziFM,yDACE,oBpB8iFR,CoB7iFQ,+DAEE,oBpB8iFV,CoB7iFQ,8HAIE,4CpB4iFV,CoBrjFM,yDACE,oBpB0jFR,CoBzjFQ,+DAEE,oBpB0jFV,CoBzjFQ,8HAIE,4CpBwjFV,CoBjkFM,+DACE,oBpBskFR,CoBrkFQ,qEAEE,oBpBskFV,CoBrkFQ,0IAIE,4CpBokFV,CoB7kFM,+DACE,oBpBklFR,CoBjlFQ,qEAEE,oBpBklFV,CoBjlFQ,0IAIE,6CpBglFV,CoBzlFM,6DACE,oBpB8lFR,CoB7lFQ,mEAEE,oBpB8lFV,CoB7lFQ,sIAIE,2CpB4lFV,CoB1lFE,iBtBhBA,iBC0Ba,CDzBb,gBE6mFF,CoB5lFE,kBtBfA,iBE8mFF,CoB7lFE,iBtBfA,gBE+mFF,CoB5lFI,0BACE,8BAAA,CACA,UpB8lFN,CoB3lFI,iDACE,UpBgmFN,CoB9lFI,yBAEE,YAAA,CACA,iBAAA,CnB8GF,YmB7GgB,CACd,UAAA,CACA,cpB+lFN,CoB9lFI,kCACE,gBpBgmFN,CoB/lFI,mCACE,iBpBimFN,CoBhmFI,kCACE,gBpBkmFN,CqB1qFA,MAEE,mBAAA,CACA,YAAA,CACA,0BAAA,CACA,iBrB4qFF,CqBtqFM,yBACE,qBAJI,CAKJ,wBAAA,CACA,UrBwqFR,CqBrqFQ,mEACE,wBAAA,CACA,wBAAA,CACA,UrBuqFV,CqBpqFQ,mEACE,wBAAA,CACA,uCAAA,CACA,UrBsqFV,CqBnqFQ,mEACE,wBAAA,CACA,wBAAA,CACA,UrBqqFV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ACE,oBrB02FN,CqBx2FA,YACE,WAAA,CACA,MAAA,CACA,SAAA,CACA,YAAA,CACA,iBAAA,CACA,KAAA,CACA,UrB22FF,CqBz2FA,qBAGE,oBtBhJa,CsBiJb,iBtBrFO,CsBsFP,aAAA,CACA,gBAAA,CACA,iBAAA,CACA,kBrB22FF,CqBz2FA,UACE,wBtBrJa,CsBsJb,arB42FF,CqB12FA,WAGE,wBA9JuB,CA8JvB,mBA9JuB,CA+JvB,aAAA,CACA,cA/JoB,CAgKpB,eAAA,CACA,kBAAA,CACA,sBrB62FF,CqB32FA,WACE,kBAAA,CACA,YAAA,CACA,UAAA,CACA,sBAAA,CpBCE,iBAAA,CoBCF,SrB82FF,CqB72FE,eACE,crB+2FJ,CsB/hGA,OACE,avBFa,CuBGb,aAAA,CACA,cvB2BO,CuB1BP,etBkiGF,CsBjiGE,wBACE,kBtBmiGJ,CsBjiGE,gBACE,gBtBmiGJ,CsBliGE,iBACE,iBtBoiGJ,CsBniGE,gBACE,gBtBqiGJ,CsBniGA,MACE,aAAA,CACA,gBvBcO,CuBbP,iBtBsiGF,CsBniGI,eACE,UtBqiGN,CsBtiGI,eACE,UtBwiGN,CsBziGI,eACE,atB2iGN,CsB5iGI,cACE,atB8iGN,CsB/iGI,iBACE,atBijGN,CsBljGI,cACE,atBojGN,CsBrjGI,cACE,atBujGN,CsBxjGI,iBACE,atB0jGN,CsB3jGI,iBACE,atB6jGN,CsB9jGI,gBACE,atBgkGN,CsB3jGE,wBACE,oBtB8jGJ,CsB5jGE,kBACE,YAAA,CACA,0BtB8jGJ,CsB5jGM,4CrB2IF,iBDo7FJ,CsB5jGQ,wNAGE,etB8jGV,CsB5jGQ,sMAII,4BAAA,CACA,yBtB6jGZ,CsBxjGQ,mMAII,2BAAA,CACA,wBtByjGZ,CsBjjGU,iXAEE,StBsjGZ,CsBrjGU,kuBAIE,StB4jGZ,CsB3jGY,0yBACE,StBqkGd,CsBpkGM,uCACE,WAAA,CACA,atBskGR,CsBrkGI,sCACE,sBtBukGN,CsBtkGI,mCACE,wBtBwkGN,CsBtkGM,gDACE,WAAA,CACA,atBwkGR,CsBvkGE,kBACE,YAAA,CACA,0BtBykGJ,CsBxkGI,2BACE,atB0kGN,CsBzkGM,4CACE,eAAA,CrBiFJ,mBD2/FJ,CsB1kGM,uCACE,WAAA,CACA,atB4kGR,CsB3kGI,sCACE,sBtB6kGN,CsB5kGI,mCACE,wBtB8kGN,CsB7kGI,uCACE,ctB+kGN,CsB7kGQ,4HAEE,oBtB8kGV,CsB7kGM,kDACE,qBtB+kGR,CsB9kGM,wDACE,etBglGR,CC3lGE,0CqBYA,qBAEI,YtBilGJ,CACF,CsB/kGE,oBACE,iBtBklGJ,CCxmGE,oCqBoBF,aAII,mBtBolGF,CACF,CCzmGE,0CqBgBF,aAMI,YAAA,CACA,WAAA,CACA,aAAA,CrBkDA,mBqBjDwB,CACxB,gBtBulGF,CsBtlGE,sBACE,gBvBhGG,CuBiGH,kBtBwlGJ,CsBvlGE,uBACE,kBtBylGJ,CsBxlGE,uBACE,iBvBvGG,CuBwGH,kBtB0lGJ,CsBzlGE,sBACE,gBvB3GG,CuB4GH,kBtB2lGJ,CACF,CsBzlGE,0BACE,etB4lGJ,CCroGE,0CqBuCF,YAII,YAAA,CACA,YAAA,CACA,WAAA,CACA,atB8lGF,CsB7lGE,mBACE,etB+lGJ,CsB9lGE,mBACE,atBgmGJ,CsB/lGI,mCACE,WtBimGN,CsBhmGI,oCrBqBF,mBD8kGF,CACF,CsBjmGA,SACE,qBAAA,CACA,UAAA,CACA,cvBhIO,CuBiIP,iBAAA,CACA,kBtBomGF,CsB7lGQ,gLACE,atBimGV,CsBhmGM,4LACE,gBtBomGR,CsBnmGM,gMACE,iBtBumGR,CsBtmGM,4LACE,gBtB0mGR,CsBzmGI,6DACE,avB7KS,CuB8KT,YxBjLW,CwBkLX,mBAAA,CACA,iBAAA,CACA,KAAA,CACA,WxBrLW,CwBsLX,StB2mGN,CsBzmGI,sEAEE,kBtB2mGN,CsB1mGI,sCACE,MtB4mGN,CsB1mGI,wEAEE,mBtB4mGN,CsB3mGI,wCACE,OtB6mGN,CsB3mGI,0BAEE,2BAAA,CrBjBF,YqBkBgB,CACd,UAAA,CACA,StB4mGN,CsB3mGI,mCACE,gBtB6mGN,CsB5mGI,oCACE,iBtB8mGN,CsB7mGI,mCACE,gBtB+mGN,CuBj0GA,OAEE,kBAAA,CACA,6BvBo0GF,CuBn0GE,YACE,iBvBq0GJ,CuBp0GE,WACE,oBAAA,CACA,kBvBs0GJ,CuBl0GI,4EAEE,YvBu0GN,CuBt0GI,0CACE,YvBw0GN,CuBt0GM,8CACE,eAAA,CtB6JJ,mBD4qGJ,CuBv0GM,6CACE,WvBy0GR,CCzvGE,0CsBtGF,OAyBI,YvB00GF,CuBx0GI,mCACE,WvB00GN,CACF,CuBz0GA,YACE,kBAAA,CACA,YAAA,CACA,eAAA,CACA,WAAA,CACA,aAAA,CACA,sBvB40GF,CuB30GE,yCAEE,evB60GJ,CClxGE,oCsBxDE,6BACE,oBvB60GJ,CACF,CuB50GA,yBAEE,eAAA,CACA,WAAA,CACA,avB+0GF,CuB50GI,yEACE,WvB+0GN,CC9xGE,0CsB9CI,mFtBwHF,mBDytGF,CACF,CuB/0GA,YACE,kBAAA,CACA,0BvBk1GF,CC7yGE,oCsBlCE,yBACE,iBvBk1GJ,CACF,CC9yGE,0CsB3CF,YAQI,YvBq1GF,CACF,CuBp1GA,aACE,kBAAA,CACA,wBvBu1GF,CCxzGE,0CsBjCF,aAKI,YvBw1GF,CACF,CwBn5GA,MACE,cxBs5GF,CwBp5GE,eACE,gBxBs5GJ,CwBr5GE,gBACE,iBxBu5GJ,CwBt5GE,eACE,gBxBw5GJ,CwBt5GA,WACE,gBxBy5GF,CwBx5GE,aACE,iBzBoCW,CyBnCX,azBrBW,CyBsBX,aAAA,CACA,kBxB05GJ,CwBz5GI,mBACE,wBzBzBS,CyB0BT,axB25GN,CwBz5GI,uBACE,wBtBhCC,CsBiCD,UxB25GN,CwBz5GI,iBvBuIA,6BuB3KoB,CAsClB,YAnCoB,CvBwKtB,kBDuxGJ,CwBz5GA,YACE,azB3Ca,CyB4Cb,eApCqB,CAqCrB,mBApC0B,CAqC1B,wBxB45GF,CwB35GE,8BACE,cxB65GJ,CwB55GE,6BACE,iBxB85GJ,CyBj8GA,SAEE,wB1BZa,C0Bab,iB1B4CO,C0B3CP,czBm8GF,CyBl8GE,gBACE,kBzBo8GJ,CyBn8GE,sDACE,kBAAA,CACA,yBzBq8GJ,CyBn8GE,kBACE,gBzBq8GJ,CyBp8GE,mBACE,iBzBs8GJ,CyBr8GE,kBACE,gBzBu8GJ,CyBl7GI,kBACE,qBzBo7GN,CyBn7GM,kCACE,qBArBI,CAsBJ,UzBq7GR,CyBp7GM,gCACE,iBzBs7GR,CyB57GI,kBACE,wBzB87GN,CyB77GM,kCACE,qBArBI,CAsBJ,UzB+7GR,CyB97GM,gCACE,iBzBg8GR,CyBt8GI,kBACE,wBzBw8GN,CyBv8GM,kCACE,wBArBI,CAsBJ,oBzBy8GR,CyBx8GM,gCACE,oBzB08GR,CyBh9GI,iBACE,wBzBk9GN,CyBj9GM,iCACE,wBArBI,CAsBJ,UzBm9GR,CyBl9GM,+BACE,oBzBo9GR,CyB19GI,oBACE,wBzB49GN,CyB39GM,oCACE,wBArBI,CAsBJ,UzB69GR,CyB59GM,kCACE,oBAxBI,CAyBJ,azB89GR,CyBr+GI,iBACE,wBzBu+GN,CyBt+GM,iCACE,wBArBI,CAsBJ,UzBw+GR,CyBv+GM,+BACE,oBAxBI,CAyBJ,azBy+GR,CyBh/GI,iBACE,wBzBk/GN,CyBj/GM,iCACE,wBArBI,CAsBJ,UzBm/GR,CyBl/GM,+BACE,oBAxBI,CAyBJ,azBo/GR,CyB3/GI,oBACE,wBzB6/GN,CyB5/GM,oCACE,wBArBI,CAsBJ,UzB8/GR,CyB7/GM,kCACE,oBAxBI,CAyBJ,azB+/GR,CyBtgHI,oBACE,wBzBwgHN,CyBvgHM,oCACE,wBArBI,CAsBJ,oBzBygHR,CyBxgHM,kCACE,oBAxBI,CAyBJ,azB0gHR,CyBjhHI,mBACE,wBzBmhHN,CyBlhHM,mCACE,wBArBI,CAsBJ,UzBohHR,CyBnhHM,iCACE,oBAxBI,CAyBJ,azBqhHR,CyBnhHA,gBACE,kBAAA,CACA,wB1B1Da,C0B2Db,yBAAA,CACA,UnBZY,CmBaZ,YAAA,CACA,e1B/BY,C0BgCZ,6BAAA,CACA,gBAAA,CACA,iBAtEuB,CAuEvB,iBzBshHF,CyBrhHE,wBACE,WAAA,CACA,aAAA,CxBkGA,iBDs7GJ,CyBthHE,8BAEE,wBAAA,CACA,yBAAA,CAFA,czB0hHJ,CyBthHA,cAIE,oBAjF0B,CA+E1B,iB1BrBO,C0BuBP,sBAjF0B,CAmF1B,oBzByhHF,CyBxhHE,qCAEE,qBzB0hHJ,CyBzhHE,uBACE,4BzB2hHJ,C0B1lHA,YAEE,c3BFO,C2BGP,c1B4lHF,C0B1lHE,qBACE,gB1B4lHJ,C0B3lHE,sBACE,iB1B6lHJ,C0B5lHE,qBACE,gB1B8lHJ,C0B5lHI,oFAIE,oB3BmBW,C2BrBX,gBAAA,CACA,iB1B+lHN,C0B7lHI,wCACE,oB1B+lHN,C0B7lHA,6BAEE,kBAAA,CACA,YAAA,CACA,sBAAA,CACA,iB1BgmHF,C0B9lHA,4EAME,aA9D0B,CA+D1B,sBAAA,CACA,aA/DuB,CAgEvB,iBA/D6B,CAgE7B,kBA/D8B,CAgE9B,iB1B+lHF,C0B7lHA,uDAGE,oB3BnEa,C2BoEb,a3BpEa,C2BqEb,e1BgmHF,C0B/lHE,yEACE,oB3BvEW,C2BwEX,U1BmmHJ,C0BlmHE,yEACE,oB1BsmHJ,C0BrmHE,4EACE,yC1BymHJ,C0BxmHE,gLAEE,wB3BrFW,C2BsFX,oB3BrFW,C2BsFX,eAAA,CACA,axBzCwB,CwB0CxB,U1B6mHJ,C0B3mHA,sCAEE,kBAvF4B,CAwF5B,mBAvF6B,CAwF7B,kB1B8mHF,C0B3mHE,4BACE,wBxBhGG,CwBiGH,oBxBjGG,CwBkGH,U1B8mHJ,C0B5mHA,qBACE,a3BtGa,C2BuGb,mB1B+mHF,C0B7mHA,iBACE,c1BgnHF,C0B/mHE,oBACE,e1BinHJ,CChoHE,oCyBkBA,YACE,c1BknHF,C0B5mHE,0DACE,WAAA,CACA,a1BmnHJ,CACF,CC3oHE,0CyB0BA,iBACE,WAAA,CACA,aAAA,CACA,0BAAA,CACA,O1BonHF,C0BnnHA,4EAIE,eAAA,CACA,Y1BqnHF,C0BpnHA,qBACE,O1BsnHF,C0BrnHA,iBACE,O1BunHF,C0BtnHA,YACE,6BAAA,CACA,eAAA,CACA,Y1BwnHF,C0BtnHI,6CACE,O1BwnHN,C0BvnHI,yCACE,sBAAA,CACA,O1BynHN,C0BxnHI,yCACE,O1B0nHN,C0BxnHI,0CACE,O1B0nHN,C0BznHI,sCACE,O1B2nHN,C0B1nHI,sCACE,wBAAA,CACA,O1B4nHN,CACF,C2BrwHA,M1BqCE,gCAAA,C0BjCA,mBAAA,CACA,YAAA,CACA,c5BCO,C4BAP,6BAAA,CACA,eAAA,CACA,eAAA,CACA,kB3BqwHF,C2BpwHE,QACE,kBAAA,CAGA,+BAzCuB,CA0CvB,a5BjCW,C4BkCX,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,gBAxCgB,CAyChB,kB3BswHJ,C2BrwHI,cACE,2B5B/CS,C4BgDT,a3BuwHN,C2BtwHE,SACE,a3BwwHJ,C2BtwHM,qBACE,2BzBjDD,CyBkDC,a3BwwHR,C2BvwHE,SACE,kBAAA,CAGA,+BA7DuB,CA8DvB,YAAA,CACA,WAAA,CACA,aAAA,CACA,0B3BywHJ,C2BtwHI,oCADE,mB3BgxHN,C2B/wHI,mBACE,SAAA,CACA,sBAAA,CACA,kB3B4wHN,C2B1wHI,kBACE,wBAAA,CACA,kB3B4wHN,C2B1wHI,wB1BmGA,iBD0qHJ,C2B3wHI,uB1BiGA,gBD6qHJ,C2B1wHI,qBACE,sB3B4wHN,C2B1wHI,kBACE,wB3B4wHN,C2BzwHI,iBACE,4BAAA,CAEE,yB3B0wHR,C2BvwHM,uBACE,wB5B/FO,C4BgGP,2B3BywHR,C2BtwHQ,8BACE,qBzBnGF,CyBqGE,yCAAA,CADA,oB3BywHV,C2BtwHI,sBACE,WAAA,CACA,a3BwwHN,C2BtwHI,kBAGE,wBA/F0B,CAgG1B,eAAA,CACA,iB3BwwHN,C2BvwHM,wBACE,wB5B5GO,C4B6GP,oBzBhHD,CyBiHC,S3BywHR,C2BvwHM,sB1BuDF,gBDmtHJ,C2BxwHM,iCAGI,6B5B5DD,C4B2DC,0B3B0wHV,C2BrwHM,gCAGI,8B5BnED,C4BkEC,2B3BuwHV,C2BjwHQ,+BACE,wBzBrIH,CyBsIG,oBzBtIH,CyBuIG,UrBrEI,CqBsEJ,S3BmwHV,C2BlwHI,mBACE,kB3BowHN,C2BjwHQ,mDAEI,gC5BjFK,C4BkFL,6B5BlFK,C4BmFL,mB3BkwHZ,C2B7vHQ,kDAEI,iC5B1FK,C4B2FL,8B5B3FK,C4B4FL,oB3B8vHZ,C2BxvHE,eACE,gB3B0vHJ,C2BzvHE,gBACE,iB3B2vHJ,C2B1vHE,eACE,gB3B4vHJ,C4Bv6HA,QACE,aAAA,CACA,YAAA,CACA,WAAA,CACA,aAAA,CACA,c5B46HF,C4B36HE,qCACE,SAAA,CACA,U5B66HJ,C4B56HE,mCACE,SAAA,CACA,U5B86HJ,C4B76HE,6CACE,SAAA,CACA,S5B+6HJ,C4B96HE,yCACE,SAAA,CACA,c5Bg7HJ,C4B/6HE,mCACE,SAAA,CACA,S5Bi7HJ,C4Bh7HE,wCACE,SAAA,CACA,c5Bk7HJ,C4Bj7HE,0CACE,SAAA,CACA,S5Bm7HJ,C4Bl7HE,wCACE,SAAA,CACA,S5Bo7HJ,C4Bn7HE,yCACE,SAAA,CACA,S5Bq7HJ,C4Bp7HE,2CACE,SAAA,CACA,S5Bs7HJ,C4Br7HE,0CACE,SAAA,CACA,S5Bu7HJ,C4Bt7HE,oD3ByIE,eDgzHJ,C4Bv7HE,gD3BuIE,oBDmzHJ,C4Bx7HE,0C3BqIE,eDszHJ,C4Bz7HE,+C3BmIE,oBDyzHJ,C4B17HE,iD3BiIE,eD4zHJ,C4B37HE,+C3B+HE,eD+zHJ,C4B57HE,gD3B6HE,eDk0HJ,C4B77HE,kD3B2HE,eDq0HJ,C4B97HE,iD3ByHE,eDw0HJ,C4B97HI,gCACE,SAAA,CACA,O5Bg8HN,C4B/7HI,uC3BmHA,aD+0HJ,C4Br8HI,gCACE,SAAA,CACA,iB5Bu8HN,C4Bt8HI,uC3BmHA,uBDs1HJ,C4B58HI,gCACE,SAAA,CACA,kB5B88HN,C4B78HI,uC3BmHA,wBD61HJ,C4Bn9HI,gCACE,SAAA,CACA,S5Bq9HN,C4Bp9HI,uC3BmHA,eDo2HJ,C4B19HI,gCACE,SAAA,CACA,kB5B49HN,C4B39HI,uC3BmHA,wBD22HJ,C4Bj+HI,gCACE,SAAA,CACA,kB5Bm+HN,C4Bl+HI,uC3BmHA,wBDk3HJ,C4Bx+HI,gCACE,SAAA,CACA,S5B0+HN,C4Bz+HI,uC3BmHA,eDy3HJ,C4B/+HI,gCACE,SAAA,CACA,kB5Bi/HN,C4Bh/HI,uC3BmHA,wBDg4HJ,C4Bt/HI,gCACE,SAAA,CACA,kB5Bw/HN,C4Bv/HI,uC3BmHA,wBDu4HJ,C4B7/HI,gCACE,SAAA,CACA,S5B+/HN,C4B9/HI,uC3BmHA,eD84HJ,C4BpgII,iCACE,SAAA,CACA,kB5BsgIN,C4BrgII,wC3BmHA,wBDq5HJ,C4B3gII,iCACE,SAAA,CACA,kB5B6gIN,C4B5gII,wC3BmHA,wBD45HJ,C4BlhII,iCACE,SAAA,CACA,U5BohIN,C4BnhII,wC3BmHA,gBDm6HJ,CCj/HE,oC2BlCE,yBACE,SAAA,CACA,U5BshIJ,C4BrhIE,uBACE,SAAA,CACA,U5BuhIJ,C4BthIE,iCACE,SAAA,CACA,S5BwhIJ,C4BvhIE,6BACE,SAAA,CACA,c5ByhIJ,C4BxhIE,uBACE,SAAA,CACA,S5B0hIJ,C4BzhIE,4BACE,SAAA,CACA,c5B2hIJ,C4B1hIE,8BACE,SAAA,CACA,S5B4hIJ,C4B3hIE,4BACE,SAAA,CACA,S5B6hIJ,C4B5hIE,6BACE,SAAA,CACA,S5B8hIJ,C4B7hIE,+BACE,SAAA,CACA,S5B+hIJ,C4B9hIE,8BACE,SAAA,CACA,S5BgiIJ,C4B/hIE,wC3B+EA,eDm9HF,C4BhiIE,oC3B6EA,oBDs9HF,C4BjiIE,8B3B2EA,eDy9HF,C4BliIE,mC3ByEA,oBD49HF,C4BniIE,qC3BuEA,eD+9HF,C4BpiIE,mC3BqEA,eDk+HF,C4BriIE,oC3BmEA,eDq+HF,C4BtiIE,sC3BiEA,eDw+HF,C4BviIE,qC3B+DA,eD2+HF,C4BviII,oBACE,SAAA,CACA,O5ByiIN,C4BxiII,2B3ByDF,aDk/HF,C4B9iII,oBACE,SAAA,CACA,iB5BgjIN,C4B/iII,2B3ByDF,uBDy/HF,C4BrjII,oBACE,SAAA,CACA,kB5BujIN,C4BtjII,2B3ByDF,wBDggIF,C4B5jII,oBACE,SAAA,CACA,S5B8jIN,C4B7jII,2B3ByDF,eDugIF,C4BnkII,oBACE,SAAA,CACA,kB5BqkIN,C4BpkII,2B3ByDF,wBD8gIF,C4B1kII,oBACE,SAAA,CACA,kB5B4kIN,C4B3kII,2B3ByDF,wBDqhIF,C4BjlII,oBACE,SAAA,CACA,S5BmlIN,C4BllII,2B3ByDF,eD4hIF,C4BxlII,oBACE,SAAA,CACA,kB5B0lIN,C4BzlII,2B3ByDF,wBDmiIF,C4B/lII,oBACE,SAAA,CACA,kB5BimIN,C4BhmII,2B3ByDF,wBD0iIF,C4BtmII,oBACE,SAAA,CACA,S5BwmIN,C4BvmII,2B3ByDF,eDijIF,C4B7mII,qBACE,SAAA,CACA,kB5B+mIN,C4B9mII,4B3ByDF,wBDwjIF,C4BpnII,qBACE,SAAA,CACA,kB5BsnIN,C4BrnII,4B3ByDF,wBD+jIF,C4B3nII,qBACE,SAAA,CACA,U5B6nIN,C4B5nII,4B3ByDF,gBDskIF,CACF,CCjpIE,0C2BoBE,2CAEE,SAAA,CACA,U5B+nIJ,C4B9nIE,uCAEE,SAAA,CACA,U5B+nIJ,C4B9nIE,2DAEE,SAAA,CACA,S5B+nIJ,C4B9nIE,mDAEE,SAAA,CACA,c5B+nIJ,C4B9nIE,uCAEE,SAAA,CACA,S5B+nIJ,C4B9nIE,iDAEE,SAAA,CACA,c5B+nIJ,C4B9nIE,qDAEE,SAAA,CACA,S5B+nIJ,C4B9nIE,iDAEE,SAAA,CACA,S5B+nIJ,C4B9nIE,mDAEE,SAAA,CACA,S5B+nIJ,C4B9nIE,uDAEE,SAAA,CACA,S5B+nIJ,C4B9nIE,qDAEE,SAAA,CACA,S5B+nIJ,C4B9nIE,yE3BUA,eDunIF,C4B9nIE,iE3BOA,oBD0nIF,C4B9nIE,qD3BIA,eD6nIF,C4B9nIE,+D3BCA,oBDgoIF,C4B9nIE,mE3BFA,eDmoIF,C4B9nIE,+D3BLA,eDsoIF,C4B9nIE,iE3BRA,eDyoIF,C4B9nIE,qE3BXA,eD4oIF,C4B9nIE,mE3BdA,eD+oIF,C4B7nII,iCAEE,SAAA,CACA,O5B8nIN,C4B7nII,+C3BtBF,aDspIF,C4BpoII,iCAEE,SAAA,CACA,iB5BqoIN,C4BpoII,+C3BtBF,uBD6pIF,C4B3oII,iCAEE,SAAA,CACA,kB5B4oIN,C4B3oII,+C3BtBF,wBDoqIF,C4BlpII,iCAEE,SAAA,CACA,S5BmpIN,C4BlpII,+C3BtBF,eD2qIF,C4BzpII,iCAEE,SAAA,CACA,kB5B0pIN,C4BzpII,+C3BtBF,wBDkrIF,C4BhqII,iCAEE,SAAA,CACA,kB5BiqIN,C4BhqII,+C3BtBF,wBDyrIF,C4BvqII,iCAEE,SAAA,CACA,S5BwqIN,C4BvqII,+C3BtBF,eDgsIF,C4B9qII,iCAEE,SAAA,CACA,kB5B+qIN,C4B9qII,+C3BtBF,wBDusIF,C4BrrII,iCAEE,SAAA,CACA,kB5BsrIN,C4BrrII,+C3BtBF,wBD8sIF,C4B5rII,iCAEE,SAAA,CACA,S5B6rIN,C4B5rII,+C3BtBF,eDqtIF,C4BnsII,mCAEE,SAAA,CACA,kB5BosIN,C4BnsII,iD3BtBF,wBD4tIF,C4B1sII,mCAEE,SAAA,CACA,kB5B2sIN,C4B1sII,iD3BtBF,wBDmuIF,C4BjtII,mCAEE,SAAA,CACA,U5BktIN,C4BjtII,iD3BtBF,gBD0uIF,CACF,CC7yIE,qC2B4FE,wBACE,SAAA,CACA,U5BotIJ,C4BntIE,sBACE,SAAA,CACA,U5BqtIJ,C4BptIE,gCACE,SAAA,CACA,S5BstIJ,C4BrtIE,4BACE,SAAA,CACA,c5ButIJ,C4BttIE,sBACE,SAAA,CACA,S5BwtIJ,C4BvtIE,2BACE,SAAA,CACA,c5BytIJ,C4BxtIE,6BACE,SAAA,CACA,S5B0tIJ,C4BztIE,2BACE,SAAA,CACA,S5B2tIJ,C4B1tIE,4BACE,SAAA,CACA,S5B4tIJ,C4B3tIE,8BACE,SAAA,CACA,S5B6tIJ,C4B5tIE,6BACE,SAAA,CACA,S5B8tIJ,C4B7tIE,uC3B3DA,eD2xIF,C4B9tIE,mC3B7DA,oBD8xIF,C4B/tIE,6B3B/DA,eDiyIF,C4BhuIE,kC3BjEA,oBDoyIF,C4BjuIE,oC3BnEA,eDuyIF,C4BluIE,kC3BrEA,eD0yIF,C4BnuIE,mC3BvEA,eD6yIF,C4BpuIE,qC3BzEA,eDgzIF,C4BruIE,oC3B3EA,eDmzIF,C4BruII,mBACE,SAAA,CACA,O5BuuIN,C4BtuII,0B3BjFF,aD0zIF,C4B5uII,mBACE,SAAA,CACA,iB5B8uIN,C4B7uII,0B3BjFF,uBDi0IF,C4BnvII,mBACE,SAAA,CACA,kB5BqvIN,C4BpvII,0B3BjFF,wBDw0IF,C4B1vII,mBACE,SAAA,CACA,S5B4vIN,C4B3vII,0B3BjFF,eD+0IF,C4BjwII,mBACE,SAAA,CACA,kB5BmwIN,C4BlwII,0B3BjFF,wBDs1IF,C4BxwII,mBACE,SAAA,CACA,kB5B0wIN,C4BzwII,0B3BjFF,wBD61IF,C4B/wII,mBACE,SAAA,CACA,S5BixIN,C4BhxII,0B3BjFF,eDo2IF,C4BtxII,mBACE,SAAA,CACA,kB5BwxIN,C4BvxII,0B3BjFF,wBD22IF,C4B7xII,mBACE,SAAA,CACA,kB5B+xIN,C4B9xII,0B3BjFF,wBDk3IF,C4BpyII,mBACE,SAAA,CACA,S5BsyIN,C4BryII,0B3BjFF,eDy3IF,C4B3yII,oBACE,SAAA,CACA,kB5B6yIN,C4B5yII,2B3BjFF,wBDg4IF,C4BlzII,oBACE,SAAA,CACA,kB5BozIN,C4BnzII,2B3BjFF,wBDu4IF,C4BzzII,oBACE,SAAA,CACA,U5B2zIN,C4B1zII,2B3BjFF,gBD84IF,CACF,CC78IE,qC2BkJE,0BACE,SAAA,CACA,U5B8zIJ,C4B7zIE,wBACE,SAAA,CACA,U5B+zIJ,C4B9zIE,kCACE,SAAA,CACA,S5Bg0IJ,C4B/zIE,8BACE,SAAA,CACA,c5Bi0IJ,C4Bh0IE,wBACE,SAAA,CACA,S5Bk0IJ,C4Bj0IE,6BACE,SAAA,CACA,c5Bm0IJ,C4Bl0IE,+BACE,SAAA,CACA,S5Bo0IJ,C4Bn0IE,6BACE,SAAA,CACA,S5Bq0IJ,C4Bp0IE,8BACE,SAAA,CACA,S5Bs0IJ,C4Br0IE,gCACE,SAAA,CACA,S5Bu0IJ,C4Bt0IE,+BACE,SAAA,CACA,S5Bw0IJ,C4Bv0IE,yC3BrHA,eD+7IF,C4Bx0IE,qC3BvHA,oBDk8IF,C4Bz0IE,+B3BzHA,eDq8IF,C4B10IE,oC3B3HA,oBDw8IF,C4B30IE,sC3B7HA,eD28IF,C4B50IE,oC3B/HA,eD88IF,C4B70IE,qC3BjIA,eDi9IF,C4B90IE,uC3BnIA,eDo9IF,C4B/0IE,sC3BrIA,eDu9IF,C4B/0II,qBACE,SAAA,CACA,O5Bi1IN,C4Bh1II,4B3B3IF,aD89IF,C4Bt1II,qBACE,SAAA,CACA,iB5Bw1IN,C4Bv1II,4B3B3IF,uBDq+IF,C4B71II,qBACE,SAAA,CACA,kB5B+1IN,C4B91II,4B3B3IF,wBD4+IF,C4Bp2II,qBACE,SAAA,CACA,S5Bs2IN,C4Br2II,4B3B3IF,eDm/IF,C4B32II,qBACE,SAAA,CACA,kB5B62IN,C4B52II,4B3B3IF,wBD0/IF,C4Bl3II,qBACE,SAAA,CACA,kB5Bo3IN,C4Bn3II,4B3B3IF,wBDigJF,C4Bz3II,qBACE,SAAA,CACA,S5B23IN,C4B13II,4B3B3IF,eDwgJF,C4Bh4II,qBACE,SAAA,CACA,kB5Bk4IN,C4Bj4II,4B3B3IF,wBD+gJF,C4Bv4II,qBACE,SAAA,CACA,kB5By4IN,C4Bx4II,4B3B3IF,wBDshJF,C4B94II,qBACE,SAAA,CACA,S5Bg5IN,C4B/4II,4B3B3IF,eD6hJF,C4Br5II,sBACE,SAAA,CACA,kB5Bu5IN,C4Bt5II,6B3B3IF,wBDoiJF,C4B55II,sBACE,SAAA,CACA,kB5B85IN,C4B75II,6B3B3IF,wBD2iJF,C4Bn6II,sBACE,SAAA,CACA,U5Bq6IN,C4Bp6II,6B3B3IF,gBDkjJF,CACF,CClmJI,qC2B6LA,6BACE,SAAA,CACA,U5Bw6IJ,C4Bv6IE,2BACE,SAAA,CACA,U5By6IJ,C4Bx6IE,qCACE,SAAA,CACA,S5B06IJ,C4Bz6IE,iCACE,SAAA,CACA,c5B26IJ,C4B16IE,2BACE,SAAA,CACA,S5B46IJ,C4B36IE,gCACE,SAAA,CACA,c5B66IJ,C4B56IE,kCACE,SAAA,CACA,S5B86IJ,C4B76IE,gCACE,SAAA,CACA,S5B+6IJ,C4B96IE,iCACE,SAAA,CACA,S5Bg7IJ,C4B/6IE,mCACE,SAAA,CACA,S5Bi7IJ,C4Bh7IE,kCACE,SAAA,CACA,S5Bk7IJ,C4Bj7IE,4C3B/KA,eDmmJF,C4Bl7IE,wC3BjLA,oBDsmJF,C4Bn7IE,kC3BnLA,eDymJF,C4Bp7IE,uC3BrLA,oBD4mJF,C4Br7IE,yC3BvLA,eD+mJF,C4Bt7IE,uC3BzLA,eDknJF,C4Bv7IE,wC3B3LA,eDqnJF,C4Bx7IE,0C3B7LA,eDwnJF,C4Bz7IE,yC3B/LA,eD2nJF,C4Bz7II,wBACE,SAAA,CACA,O5B27IN,C4B17II,+B3BrMF,aDkoJF,C4Bh8II,wBACE,SAAA,CACA,iB5Bk8IN,C4Bj8II,+B3BrMF,uBDyoJF,C4Bv8II,wBACE,SAAA,CACA,kB5By8IN,C4Bx8II,+B3BrMF,wBDgpJF,C4B98II,wBACE,SAAA,CACA,S5Bg9IN,C4B/8II,+B3BrMF,eDupJF,C4Br9II,wBACE,SAAA,CACA,kB5Bu9IN,C4Bt9II,+B3BrMF,wBD8pJF,C4B59II,wBACE,SAAA,CACA,kB5B89IN,C4B79II,+B3BrMF,wBDqqJF,C4Bn+II,wBACE,SAAA,CACA,S5Bq+IN,C4Bp+II,+B3BrMF,eD4qJF,C4B1+II,wBACE,SAAA,CACA,kB5B4+IN,C4B3+II,+B3BrMF,wBDmrJF,C4Bj/II,wBACE,SAAA,CACA,kB5Bm/IN,C4Bl/II,+B3BrMF,wBD0rJF,C4Bx/II,wBACE,SAAA,CACA,S5B0/IN,C4Bz/II,+B3BrMF,eDisJF,C4B//II,yBACE,SAAA,CACA,kB5BigJN,C4BhgJI,gC3BrMF,wBDwsJF,C4BtgJI,yBACE,SAAA,CACA,kB5BwgJN,C4BvgJI,gC3BrMF,wBD+sJF,C4B7gJI,yBACE,SAAA,CACA,U5B+gJN,C4B9gJI,gC3BrMF,gBDstJF,CACF,CCvvJI,qC2BwOA,yBACE,SAAA,CACA,U5BkhJJ,C4BjhJE,uBACE,SAAA,CACA,U5BmhJJ,C4BlhJE,iCACE,SAAA,CACA,S5BohJJ,C4BnhJE,6BACE,SAAA,CACA,c5BqhJJ,C4BphJE,uBACE,SAAA,CACA,S5BshJJ,C4BrhJE,4BACE,SAAA,CACA,c5BuhJJ,C4BthJE,8BACE,SAAA,CACA,S5BwhJJ,C4BvhJE,4BACE,SAAA,CACA,S5ByhJJ,C4BxhJE,6BACE,SAAA,CACA,S5B0hJJ,C4BzhJE,+BACE,SAAA,CACA,S5B2hJJ,C4B1hJE,8BACE,SAAA,CACA,S5B4hJJ,C4B3hJE,wC3BzOA,eDuwJF,C4B5hJE,oC3B3OA,oBD0wJF,C4B7hJE,8B3B7OA,eD6wJF,C4B9hJE,mC3B/OA,oBDgxJF,C4B/hJE,qC3BjPA,eDmxJF,C4BhiJE,mC3BnPA,eDsxJF,C4BjiJE,oC3BrPA,eDyxJF,C4BliJE,sC3BvPA,eD4xJF,C4BniJE,qC3BzPA,eD+xJF,C4BniJI,oBACE,SAAA,CACA,O5BqiJN,C4BpiJI,2B3B/PF,aDsyJF,C4B1iJI,oBACE,SAAA,CACA,iB5B4iJN,C4B3iJI,2B3B/PF,uBD6yJF,C4BjjJI,oBACE,SAAA,CACA,kB5BmjJN,C4BljJI,2B3B/PF,wBDozJF,C4BxjJI,oBACE,SAAA,CACA,S5B0jJN,C4BzjJI,2B3B/PF,eD2zJF,C4B/jJI,oBACE,SAAA,CACA,kB5BikJN,C4BhkJI,2B3B/PF,wBDk0JF,C4BtkJI,oBACE,SAAA,CACA,kB5BwkJN,C4BvkJI,2B3B/PF,wBDy0JF,C4B7kJI,oBACE,SAAA,CACA,S5B+kJN,C4B9kJI,2B3B/PF,eDg1JF,C4BplJI,oBACE,SAAA,CACA,kB5BslJN,C4BrlJI,2B3B/PF,wBDu1JF,C4B3lJI,oBACE,SAAA,CACA,kB5B6lJN,C4B5lJI,2B3B/PF,wBD81JF,C4BlmJI,oBACE,SAAA,CACA,S5BomJN,C4BnmJI,2B3B/PF,eDq2JF,C4BzmJI,qBACE,SAAA,CACA,kB5B2mJN,C4B1mJI,4B3B/PF,wBD42JF,C4BhnJI,qBACE,SAAA,CACA,kB5BknJN,C4BjnJI,4B3B/PF,wBDm3JF,C4BvnJI,qBACE,SAAA,CACA,U5BynJN,C4BxnJI,4B3B/PF,gBD03JF,CACF,C4BznJA,S3BlQI,mB2BmQsB,C3BnQtB,oB2BoQsB,CACxB,kB5B4nJF,C4B3nJE,oBACE,qB5B6nJJ,C4B5nJE,0BACE,oB5B8nJJ,C4B5nJE,qBACE,sB5B8nJJ,C4B7nJE,oB3B7QE,a2B8QwB,C3B9QxB,c2B+QwB,CACxB,Y5B+nJJ,C4B9nJI,4BACE,QAAA,CACA,mB5BgoJN,C4B/nJI,qCACE,oB5BioJN,C4BhoJI,+BACE,e5BkoJN,C4BjoJE,mBACE,Y5BmoJJ,C4BloJE,sBACE,c5BooJJ,C4BnoJE,sBACE,kB5BqoJJ,CC5+JE,0C2B0WE,0BACE,Y5BqoJJ,CACF,CCr+JE,qC2BkWE,oBACE,Y5BsoJJ,CACF,C4BpoJE,qBACE,mBAAA,C3BzSA,qC2B0SwB,C3B1SxB,sCDk7JJ,C4BtoJI,6BACE,6BAAA,CACA,8B5BwoJN,C4BtoJM,0BACE,gB5BwoJR,CCvgKE,oC2BiYM,iCACE,gB5ByoJR,CACF,CCxgKE,0C2BgYM,iCACE,gB5B2oJR,CACF,CCzgKE,2D2B+XM,sCACE,gB5B6oJR,CACF,CC1gKE,qC2B8XM,gCACE,gB5B+oJR,CACF,CC3gKE,qC2B6XM,kCACE,gB5BipJR,CACF,CC3gKI,4D2B2XI,uCACE,gB5BmpJR,CACF,CCtgKI,qC2BoXI,qCACE,gB5BqpJR,CACF,CCtgKI,4D2BkXI,0CACE,gB5BupJR,CACF,CCjgKI,qC2B2WI,iCACE,gB5BypJR,CACF,C4BtrJM,0BACE,mB5BwrJR,CCvjKE,oC2BiYM,iCACE,mB5ByrJR,CACF,CCxjKE,0C2BgYM,iCACE,mB5B2rJR,CACF,CCzjKE,2D2B+XM,sCACE,mB5B6rJR,CACF,CC1jKE,qC2B8XM,gCACE,mB5B+rJR,CACF,CC3jKE,qC2B6XM,kCACE,mB5BisJR,CACF,CC3jKI,4D2B2XI,uCACE,mB5BmsJR,CACF,CCtjKI,qC2BoXI,qCACE,mB5BqsJR,CACF,CCtjKI,4D2BkXI,0CACE,mB5BusJR,CACF,CCjjKI,qC2B2WI,iCACE,mB5BysJR,CACF,C4BtuJM,0BACE,kB5BwuJR,CCvmKE,oC2BiYM,iCACE,kB5ByuJR,CACF,CCxmKE,0C2BgYM,iCACE,kB5B2uJR,CACF,CCzmKE,2D2B+XM,sCACE,kB5B6uJR,CACF,CC1mKE,qC2B8XM,gCACE,kB5B+uJR,CACF,CC3mKE,qC2B6XM,kCACE,kB5BivJR,CACF,CC3mKI,4D2B2XI,uCACE,kB5BmvJR,CACF,CCtmKI,qC2BoXI,qCACE,kB5BqvJR,CACF,CCtmKI,4D2BkXI,0CACE,kB5BuvJR,CACF,CCjmKI,qC2B2WI,iCACE,kB5ByvJR,CACF,C4BtxJM,0BACE,mB5BwxJR,CCvpKE,oC2BiYM,iCACE,mB5ByxJR,CACF,CCxpKE,0C2BgYM,iCACE,mB5B2xJR,CACF,CCzpKE,2D2B+XM,sCACE,mB5B6xJR,CACF,CC1pKE,qC2B8XM,gCACE,mB5B+xJR,CACF,CC3pKE,qC2B6XM,kCACE,mB5BiyJR,CACF,CC3pKI,4D2B2XI,uCACE,mB5BmyJR,CACF,CCtpKI,qC2BoXI,qCACE,mB5BqyJR,CACF,CCtpKI,4D2BkXI,0CACE,mB5BuyJR,CACF,CCjpKI,qC2B2WI,iCACE,mB5ByyJR,CACF,C4Bt0JM,0BACE,gB5Bw0JR,CCvsKE,oC2BiYM,iCACE,gB5By0JR,CACF,CCxsKE,0C2BgYM,iCACE,gB5B20JR,CACF,CCzsKE,2D2B+XM,sCACE,gB5B60JR,CACF,CC1sKE,qC2B8XM,gCACE,gB5B+0JR,CACF,CC3sKE,qC2B6XM,kCACE,gB5Bi1JR,CACF,CC3sKI,4D2B2XI,uCACE,gB5Bm1JR,CACF,CCtsKI,qC2BoXI,qCACE,gB5Bq1JR,CACF,CCtsKI,4D2BkXI,0CACE,gB5Bu1JR,CACF,CCjsKI,qC2B2WI,iCACE,gB5By1JR,CACF,C4Bt3JM,0BACE,mB5Bw3JR,CCvvKE,oC2BiYM,iCACE,mB5By3JR,CACF,CCxvKE,0C2BgYM,iCACE,mB5B23JR,CACF,CCzvKE,2D2B+XM,sCACE,mB5B63JR,CACF,CC1vKE,qC2B8XM,gCACE,mB5B+3JR,CACF,CC3vKE,qC2B6XM,kCACE,mB5Bi4JR,CACF,CC3vKI,4D2B2XI,uCACE,mB5Bm4JR,CACF,CCtvKI,qC2BoXI,qCACE,mB5Bq4JR,CACF,CCtvKI,4D2BkXI,0CACE,mB5Bu4JR,CACF,CCjvKI,qC2B2WI,iCACE,mB5By4JR,CACF,C4Bt6JM,0BACE,kB5Bw6JR,CCvyKE,oC2BiYM,iCACE,kB5By6JR,CACF,CCxyKE,0C2BgYM,iCACE,kB5B26JR,CACF,CCzyKE,2D2B+XM,sCACE,kB5B66JR,CACF,CC1yKE,qC2B8XM,gCACE,kB5B+6JR,CACF,CC3yKE,qC2B6XM,kCACE,kB5Bi7JR,CACF,CC3yKI,4D2B2XI,uCACE,kB5Bm7JR,CACF,CCtyKI,qC2BoXI,qCACE,kB5Bq7JR,CACF,CCtyKI,4D2BkXI,0CACE,kB5Bu7JR,CACF,CCjyKI,qC2B2WI,iCACE,kB5By7JR,CACF,C4Bt9JM,0BACE,mB5Bw9JR,CCv1KE,oC2BiYM,iCACE,mB5By9JR,CACF,CCx1KE,0C2BgYM,iCACE,mB5B29JR,CACF,CCz1KE,2D2B+XM,sCACE,mB5B69JR,CACF,CC11KE,qC2B8XM,gCACE,mB5B+9JR,CACF,CC31KE,qC2B6XM,kCACE,mB5Bi+JR,CACF,CC31KI,4D2B2XI,uCACE,mB5Bm+JR,CACF,CCt1KI,qC2BoXI,qCACE,mB5Bq+JR,CACF,CCt1KI,4D2BkXI,0CACE,mB5Bu+JR,CACF,CCj1KI,qC2B2WI,iCACE,mB5By+JR,CACF,C4BtgKM,0BACE,gB5BwgKR,CCv4KE,oC2BiYM,iCACE,gB5BygKR,CACF,CCx4KE,0C2BgYM,iCACE,gB5B2gKR,CACF,CCz4KE,2D2B+XM,sCACE,gB5B6gKR,CACF,CC14KE,qC2B8XM,gCACE,gB5B+gKR,CACF,CC34KE,qC2B6XM,kCACE,gB5BihKR,CACF,CC34KI,4D2B2XI,uCACE,gB5BmhKR,CACF,CCt4KI,qC2BoXI,qCACE,gB5BqhKR,CACF,CCt4KI,4D2BkXI,0CACE,gB5BuhKR,CACF,CCj4KI,qC2B2WI,iCACE,gB5ByhKR,CACF,C6BthLA,MACE,mBAAA,CACA,aAAA,CACA,YAAA,CACA,WAAA,CACA,aAAA,CACA,8BAAA,CAAA,2BAAA,CAAA,sB7ByhLF,C6BvhLE,kBACE,mBAAA,CACA,oBAAA,CACA,kB7ByhLJ,C6BxhLI,6BACE,qB7B0hLN,C6BzhLI,mCACE,oB7B2hLN,C6B1hLE,eACE,kB7B4hLJ,C6B3hLE,gBACE,c7B6hLJ,C6B5hLE,kBACE,qB7B8hLJ,C6B7hLI,kDACE,8B7B+hLN,CCh9KE,0C4B5EE,qBACE,Y7B+hLJ,C6B7hLI,WACE,SAAA,CACA,iB7B+hLN,C6BjiLI,WACE,SAAA,CACA,kB7BmiLN,C6BriLI,WACE,SAAA,CACA,S7BuiLN,C6BziLI,WACE,SAAA,CACA,kB7B2iLN,C6B7iLI,WACE,SAAA,CACA,kB7B+iLN,C6BjjLI,WACE,SAAA,CACA,S7BmjLN,C6BrjLI,WACE,SAAA,CACA,kB7BujLN,C6BzjLI,WACE,SAAA,CACA,kB7B2jLN,C6B7jLI,WACE,SAAA,CACA,S7B+jLN,C6BjkLI,YACE,SAAA,CACA,kB7BmkLN,C6BrkLI,YACE,SAAA,CACA,kB7BukLN,C6BzkLI,YACE,SAAA,CACA,U7B2kLN,CACF,C8B3mLE,gBACE,oB9BgnLJ,C8B9mLI,8CAEE,uB9BgnLN,C8B/mLE,sBACE,+B9BknLJ,C8BtnLI,8DAEE,oB9B4nLN,C8B3nLE,sBACE,+B9B8nLJ,C8BroLE,gBACE,uB9BwoLJ,C8BtoLI,8CAEE,uB9BwoLN,C8BvoLE,sBACE,kC9B0oLJ,C8BjpLE,eACE,uB9BopLJ,C8BlpLI,4CAEE,uB9BopLN,C8BnpLE,qBACE,kC9BspLJ,C8B7pLE,kBACE,uB9BgqLJ,C8B9pLI,kDAEE,uB9BgqLN,C8B/pLE,wBACE,kC9BkqLJ,C8B7pLI,wBACE,uB9BgqLN,C8B9pLM,8DAEE,uB9BgqLR,C8B/pLI,8BACE,kC9BkqLN,C8BhqLI,uBACE,uB9BmqLN,C8BjqLM,4DAEE,uB9BmqLR,C8BlqLI,6BACE,kC9BqqLN,C8BjsLE,eACE,uB9BosLJ,C8BlsLI,4CAEE,uB9BosLN,C8BnsLE,qBACE,kC9BssLJ,C8BjsLI,qBACE,uB9BosLN,C8BlsLM,wDAEE,uB9BosLR,C8BnsLI,2BACE,kC9BssLN,C8BpsLI,oBACE,uB9BusLN,C8BrsLM,sDAEE,uB9BusLR,C8BtsLI,0BACE,kC9BysLN,C8BruLE,eACE,uB9BwuLJ,C8BtuLI,4CAEE,uB9BwuLN,C8BvuLE,qBACE,kC9B0uLJ,C8BruLI,qBACE,uB9BwuLN,C8BtuLM,wDAEE,uB9BwuLR,C8BvuLI,2BACE,kC9B0uLN,C8BxuLI,oBACE,uB9B2uLN,C8BzuLM,sDAEE,uB9B2uLR,C8B1uLI,0BACE,kC9B6uLN,C8BzwLE,kBACE,uB9B4wLJ,C8B1wLI,kDAEE,uB9B4wLN,C8B3wLE,wBACE,kC9B8wLJ,C8BzwLI,wBACE,uB9B4wLN,C8B1wLM,8DAEE,uB9B4wLR,C8B3wLI,8BACE,kC9B8wLN,C8B5wLI,uBACE,uB9B+wLN,C8B7wLM,4DAEE,uB9B+wLR,C8B9wLI,6BACE,kC9BixLN,C8B7yLE,kBACE,uB9BgzLJ,C8B9yLI,kDAEE,uB9BgzLN,C8B/yLE,wBACE,kC9BkzLJ,C8B7yLI,wBACE,uB9BgzLN,C8B9yLM,8DAEE,uB9BgzLR,C8B/yLI,8BACE,kC9BkzLN,C8BhzLI,uBACE,uB9BmzLN,C8BjzLM,4DAEE,uB9BmzLR,C8BlzLI,6BACE,kC9BqzLN,C8Bj1LE,iBACE,uB9Bo1LJ,C8Bl1LI,gDAEE,uB9Bo1LN,C8Bn1LE,uBACE,kC9Bs1LJ,C8Bj1LI,uBACE,uB9Bo1LN,C8Bl1LM,4DAEE,uB9Bo1LR,C8Bn1LI,6BACE,kC9Bs1LN,C8Bp1LI,sBACE,uB9Bu1LN,C8Br1LM,0DAEE,uB9Bu1LR,C8Bt1LI,4BACE,kC9By1LN,C8Bt1LE,oBACE,uB9By1LJ,C8Bx1LE,0BACE,kC9B21LJ,C8B91LE,oBACE,uB9Bi2LJ,C8Bh2LE,0BACE,kC9Bm2LJ,C8Bt2LE,sBACE,uB9By2LJ,C8Bx2LE,4BACE,kC9B22LJ,C8B92LE,oBACE,uB9Bi3LJ,C8Bh3LE,0BACE,kC9Bm3LJ,C8Bt3LE,eACE,uB9By3LJ,C8Bx3LE,qBACE,kC9B23LJ,C8B93LE,qBACE,uB9Bi4LJ,C8Bh4LE,2BACE,kC9Bm4LJ,C8Bt4LE,uBACE,uB9By4LJ,C8Bx4LE,6BACE,kC9B24LJ,C8B94LE,oBACE,uB9Bi5LJ,C8Bh5LE,0BACE,kC9Bm5LJ,C8Bt5LE,oBACE,uB9By5LJ,C8Bx5LE,0BACE,kC9B25LJ,C+B/7LE,uBACE,4B/Bk8LJ,C+Bn8LE,+BACE,oC/Bs8LJ,C+Bv8LE,0BACE,+B/B08LJ,C+B38LE,kCACE,uC/B88LJ,C+B18LE,qBACE,0B/B68LJ,C+B98LE,mBACE,wB/Bi9LJ,C+Bl9LE,2BACE,gC/Bq9LJ,C+Bj9LE,+BACE,oC/Bo9LJ,C+Br9LE,6BACE,kC/Bw9LJ,C+Bz9LE,2BACE,gC/B49LJ,C+B79LE,kCACE,uC/Bg+LJ,C+Bj+LE,iCACE,sC/Bo+LJ,C+Br+LE,iCACE,sC/Bw+LJ,C+Bz+LE,0BACE,+B/B4+LJ,C+B7+LE,wBACE,6B/Bg/LJ,C+Bj/LE,yBACE,8B/Bo/LJ,C+Br/LE,0BACE,+B/Bw/LJ,C+Bp/LE,6BACE,kC/Bu/LJ,C+Bx/LE,2BACE,gC/B2/LJ,C+B5/LE,yBACE,8B/B+/LJ,C+BhgME,gCACE,qC/BmgMJ,C+BpgME,+BACE,oC/BugMJ,C+BxgME,+BACE,oC/B2gMJ,C+B5gME,0BACE,+B/B+gMJ,C+BhhME,wBACE,6B/BmhMJ,C+BphME,sBACE,2B/BuhMJ,C+BxhME,2BACE,gC/B2hMJ,C+BvhME,wBACE,6B/B0hMJ,C+B3hME,2BACE,gC/B8hMJ,C+B/hME,yBACE,8B/BkiMJ,C+BniME,uBACE,4B/BsiMJ,C+BviME,yBACE,8B/B0iMJ,C+B3iME,sBACE,2B/B8iMJ,C+B/iME,oBACE,yB/BkjMJ,C+BnjME,2BACE,gC/BsjMJ,C+BvjME,yBACE,8B/B0jMJ,C+BtjME,oBACE,yB/ByjMJ,C+B1jME,0BACE,+B/B6jMJ,C+B9jME,wBACE,6B/BikMJ,C+BlkME,sBACE,2B/BqkMJ,C+BtkME,wBACE,6B/BykMJ,C+B1kME,uBACE,4B/B6kMJ,C+BxkMI,gBACE,qB/B2kMN,C+B5kMI,gBACE,qB/B+kMN,C+BhlMI,gBACE,qB/BmlMN,C+BplMI,gBACE,qB/BulMN,C+BxlMI,gBACE,qB/B2lMN,C+B5lMI,gBACE,qB/B+lMN,C+BhmMI,kBACE,uB/BmmMN,C+BpmMI,kBACE,uB/BumMN,C+BxmMI,kBACE,uB/B2mMN,C+B5mMI,kBACE,uB/B+mMN,C+BhnMI,kBACE,uB/BmnMN,C+BpnMI,kBACE,uB/BunMN,CCtpME,mBACE,UAAA,CACA,WAAA,CACA,aDypMJ,CgC1pMA,gBACE,oBhC6pMF,CgC3pMA,iBACE,qBhC8pMF,CiCrqMA,eACE,yBjCwqMF,CiCtqMA,eACE,yBjCyqMF,CiCvqMA,cACE,wBAAA,CACA,4BjC0qMF,CkCprMA,YACE,yBlCurMF,CmCnrMA,aACE,2BnCsrMF,CoC5rMA,eACE,kBpC+rMF,CoC7rMA,gBACE,mBpCgsMF,CoCrrMI,KACE,kBpCwrMN,CoCrrMM,MACE,sBpCwrMR,CoCzrMM,MACE,wBpC4rMR,CoC7rMM,MACE,yBpCgsMR,CoC7rMM,YAHE,uBpCysMR,CoCtsMM,MAEE,wBpCosMR,CoCjsMM,MAEE,yBAAA,CADA,sBpCqsMR,CoCntMI,KACE,uBpCstMN,CoCntMM,MACE,2BpCstMR,CoCvtMM,MACE,6BpC0tMR,CoC3tMM,MACE,8BpC8tMR,CoC3tMM,YAHE,4BpCuuMR,CoCpuMM,MAEE,6BpCkuMR,CoC/tMM,MAEE,8BAAA,CADA,2BpCmuMR,CoCjvMI,KACE,sBpCovMN,CoCjvMM,MACE,0BpCovMR,CoCrvMM,MACE,4BpCwvMR,CoCzvMM,MACE,6BpC4vMR,CoCzvMM,YAHE,2BpCqwMR,CoClwMM,MAEE,4BpCgwMR,CoC7vMM,MAEE,6BAAA,CADA,0BpCiwMR,CoC/wMI,KACE,uBpCkxMN,CoC/wMM,MACE,2BpCkxMR,CoCnxMM,MACE,6BpCsxMR,CoCvxMM,MACE,8BpC0xMR,CoCvxMM,YAHE,4BpCmyMR,CoChyMM,MAEE,6BpC8xMR,CoC3xMM,MAEE,8BAAA,CADA,2BpC+xMR,CoC7yMI,KACE,qBpCgzMN,CoC7yMM,MACE,yBpCgzMR,CoCjzMM,MACE,2BpCozMR,CoCrzMM,MACE,4BpCwzMR,CoCrzMM,YAHE,0BpCi0MR,CoC9zMM,MAEE,2BpC4zMR,CoCzzMM,MAEE,4BAAA,CADA,yBpC6zMR,CoC30MI,KACE,uBpC80MN,CoC30MM,MACE,2BpC80MR,CoC/0MM,MACE,6BpCk1MR,CoCn1MM,MACE,8BpCs1MR,CoCn1MM,YAHE,4BpC+1MR,CoC51MM,MAEE,6BpC01MR,CoCv1MM,MAEE,8BAAA,CADA,2BpC21MR,CoCz2MI,KACE,qBpC42MN,CoCz2MM,MACE,yBpC42MR,CoC72MM,MACE,2BpCg3MR,CoCj3MM,MACE,4BpCo3MR,CoCj3MM,YAHE,0BpC63MR,CoC13MM,MAEE,2BpCw3MR,CoCr3MM,MAEE,4BAAA,CADA,yBpCy3MR,CoCv4MI,QACE,qBpC04MN,CoCv4MM,SACE,yBpC04MR,CoC34MM,SACE,2BpC84MR,CoC/4MM,SACE,4BpCk5MR,CoC/4MM,kBAHE,0BpC25MR,CoCx5MM,SAEE,2BpCs5MR,CoCn5MM,SAEE,4BAAA,CADA,yBpCu5MR,CoCr6MI,KACE,mBpCw6MN,CoCr6MM,MACE,uBpCw6MR,CoCz6MM,MACE,yBpC46MR,CoC76MM,MACE,0BpCg7MR,CoC76MM,YAHE,wBpCy7MR,CoCt7MM,MAEE,yBpCo7MR,CoCj7MM,MAEE,0BAAA,CADA,uBpCq7MR,CoCn8MI,KACE,wBpCs8MN,CoCn8MM,MACE,4BpCs8MR,CoCv8MM,MACE,8BpC08MR,CoC38MM,MACE,+BpC88MR,CoC38MM,YAHE,6BpCu9MR,CoCp9MM,MAEE,8BpCk9MR,CoC/8MM,MAEE,+BAAA,CADA,4BpCm9MR,CoCj+MI,KACE,uBpCo+MN,CoCj+MM,MACE,2BpCo+MR,CoCr+MM,MACE,6BpCw+MR,CoCz+MM,MACE,8BpC4+MR,CoCz+MM,YAHE,4BpCq/MR,CoCl/MM,MAEE,6BpCg/MR,CoC7+MM,MAEE,8BAAA,CADA,2BpCi/MR,CoC//MI,KACE,wBpCkgNN,CoC//MM,MACE,4BpCkgNR,CoCngNM,MACE,8BpCsgNR,CoCvgNM,MACE,+BpC0gNR,CoCvgNM,YAHE,6BpCmhNR,CoChhNM,MAEE,8BpC8gNR,CoC3gNM,MAEE,+BAAA,CADA,4BpC+gNR,CoC7hNI,KACE,sBpCgiNN,CoC7hNM,MACE,0BpCgiNR,CoCjiNM,MACE,4BpCoiNR,CoCriNM,MACE,6BpCwiNR,CoCriNM,YAHE,2BpCijNR,CoC9iNM,MAEE,4BpC4iNR,CoCziNM,MAEE,6BAAA,CADA,0BpC6iNR,CoC3jNI,KACE,wBpC8jNN,CoC3jNM,MACE,4BpC8jNR,CoC/jNM,MACE,8BpCkkNR,CoCnkNM,MACE,+BpCskNR,CoCnkNM,YAHE,6BpC+kNR,CoC5kNM,MAEE,8BpC0kNR,CoCvkNM,MAEE,+BAAA,CADA,4BpC2kNR,CoCzlNI,KACE,sBpC4lNN,CoCzlNM,MACE,0BpC4lNR,CoC7lNM,MACE,4BpCgmNR,CoCjmNM,MACE,6BpComNR,CoCjmNM,YAHE,2BpC6mNR,CoC1mNM,MAEE,4BpCwmNR,CoCrmNM,MAEE,6BAAA,CADA,0BpCymNR,CoCvnNI,QACE,sBpC0nNN,CoCvnNM,SACE,0BpC0nNR,CoC3nNM,SACE,4BpC8nNR,CoC/nNM,SACE,6BpCkoNR,CoC/nNM,kBAHE,2BpC2oNR,CoCxoNM,SAEE,4BpCsoNR,CoCnoNM,SAEE,6BAAA,CADA,0BpCuoNR,CqC/pNI,WACE,wBrCkqNN,CqCnqNI,WACE,0BrCsqNN,CqCvqNI,WACE,wBrC0qNN,CqC3qNI,WACE,0BrC8qNN,CqC/qNI,WACE,2BrCkrNN,CqCnrNI,WACE,wBrCsrNN,CqCvrNI,WACE,0BrC0rNN,CC1lNE,oCoCjGE,kBACE,wBrC+rNJ,CqChsNE,kBACE,0BrCksNJ,CqCnsNE,kBACE,wBrCqsNJ,CqCtsNE,kBACE,0BrCwsNJ,CqCzsNE,kBACE,2BrC2sNJ,CqC5sNE,kBACE,wBrC8sNJ,CqC/sNE,kBACE,0BrCitNJ,CACF,CC9mNE,0CoCrGE,kBACE,wBrCstNJ,CqCvtNE,kBACE,0BrCytNJ,CqC1tNE,kBACE,wBrC4tNJ,CqC7tNE,kBACE,0BrC+tNJ,CqChuNE,kBACE,2BrCkuNJ,CqCnuNE,kBACE,wBrCquNJ,CqCtuNE,kBACE,0BrCwuNJ,CACF,CC7nNE,qCoC7GE,iBACE,wBrC6uNJ,CqC9uNE,iBACE,0BrCgvNJ,CqCjvNE,iBACE,wBrCmvNJ,CqCpvNE,iBACE,0BrCsvNJ,CqCvvNE,iBACE,2BrCyvNJ,CqC1vNE,iBACE,wBrC4vNJ,CqC7vNE,iBACE,0BrC+vNJ,CACF,CChpNE,qCoCjHE,mBACE,wBrCowNJ,CqCrwNE,mBACE,0BrCuwNJ,CqCxwNE,mBACE,wBrC0wNJ,CqC3wNE,mBACE,0BrC6wNJ,CqC9wNE,mBACE,2BrCgxNJ,CqCjxNE,mBACE,wBrCmxNJ,CqCpxNE,mBACE,0BrCsxNJ,CACF,CCxpNI,qCoChIA,sBACE,wBrC2xNJ,CqC5xNE,sBACE,0BrC8xNJ,CqC/xNE,sBACE,wBrCiyNJ,CqClyNE,sBACE,0BrCoyNJ,CqCryNE,sBACE,2BrCuyNJ,CqCxyNE,sBACE,wBrC0yNJ,CqC3yNE,sBACE,0BrC6yNJ,CACF,CChqNI,qCoC/IA,kBACE,wBrCkzNJ,CqCnzNE,kBACE,0BrCqzNJ,CqCtzNE,kBACE,wBrCwzNJ,CqCzzNE,kBACE,0BrC2zNJ,CqC5zNE,kBACE,2BrC8zNJ,CqC/zNE,kBACE,wBrCi0NJ,CqCl0NE,kBACE,0BrCo0NJ,CACF,CqC5yNE,mBACE,2BrC8yNJ,CqC/yNE,oBACE,4BrCkzNJ,CqCnzNE,eACE,yBrCszNJ,CqCvzNE,gBACE,0BrC0zNJ,CCpvNE,oCoClEE,0BACE,2BrC0zNJ,CACF,CCtvNE,0CoCnEE,0BACE,2BrC4zNJ,CACF,CCvvNE,2DoCpEE,+BACE,2BrC8zNJ,CACF,CCxvNE,qCoCrEE,yBACE,2BrCg0NJ,CACF,CCzvNE,qCoCtEE,2BACE,2BrCk0NJ,CACF,CCzvNI,4DoCxEA,gCACE,2BrCo0NJ,CACF,CCpvNI,qCoC/EA,8BACE,2BrCs0NJ,CACF,CCpvNI,4DoCjFA,mCACE,2BrCw0NJ,CACF,CC/uNI,qCoCxFA,0BACE,2BrC00NJ,CACF,CClyNE,oCoClEE,2BACE,4BrCu2NJ,CACF,CCnyNE,0CoCnEE,2BACE,4BrCy2NJ,CACF,CCpyNE,2DoCpEE,gCACE,4BrC22NJ,CACF,CCryNE,qCoCrEE,0BACE,4BrC62NJ,CACF,CCtyNE,qCoCtEE,4BACE,4BrC+2NJ,CACF,CCtyNI,4DoCxEA,iCACE,4BrCi3NJ,CACF,CCjyNI,qCoC/EA,+BACE,4BrCm3NJ,CACF,CCjyNI,4DoCjFA,oCACE,4BrCq3NJ,CACF,CC5xNI,qCoCxFA,2BACE,4BrCu3NJ,CACF,CC/0NE,oCoClEE,sBACE,yBrCo5NJ,CACF,CCh1NE,0CoCnEE,sBACE,yBrCs5NJ,CACF,CCj1NE,2DoCpEE,2BACE,yBrCw5NJ,CACF,CCl1NE,qCoCrEE,qBACE,yBrC05NJ,CACF,CCn1NE,qCoCtEE,uBACE,yBrC45NJ,CACF,CCn1NI,4DoCxEA,4BACE,yBrC85NJ,CACF,CC90NI,qCoC/EA,0BACE,yBrCg6NJ,CACF,CC90NI,4DoCjFA,+BACE,yBrCk6NJ,CACF,CCz0NI,qCoCxFA,sBACE,yBrCo6NJ,CACF,CC53NE,oCoClEE,uBACE,0BrCi8NJ,CACF,CC73NE,0CoCnEE,uBACE,0BrCm8NJ,CACF,CC93NE,2DoCpEE,4BACE,0BrCq8NJ,CACF,CC/3NE,qCoCrEE,sBACE,0BrCu8NJ,CACF,CCh4NE,qCoCtEE,wBACE,0BrCy8NJ,CACF,CCh4NI,4DoCxEA,6BACE,0BrC28NJ,CACF,CC33NI,qCoC/EA,2BACE,0BrC68NJ,CACF,CC33NI,4DoCjFA,gCACE,0BrC+8NJ,CACF,CCt3NI,qCoCxFA,uBACE,0BrCi9NJ,CACF,CqCh9NA,gBACE,mCrCk9NF,CqCh9NA,cACE,kCrCm9NF,CqCj9NA,cACE,kCrCo9NF,CqCl9NA,WACE,2BrCq9NF,CqCn9NA,eACE,mCrCs9NF,CqCp9NA,uBACE,yBrCu9NF,CqCt9NA,wBACE,yBrCy9NF,CqCx9NA,wBACE,yBrC29NF,CqC19NA,0BACE,yBrC69NF,CqC59NA,sBACE,yBrC+9NF,CqCv9NA,8DACE,6JrCk+NF,CqC79NA,qCACE,+BrCo+NF,CsCrkOE,UACE,uBtCwkOJ,CCx+NE,oCqC9FE,iBACE,uBtC0kOJ,CACF,CC1+NE,0CqC/FE,iBACE,uBtC4kOJ,CACF,CC3+NE,2DqChGE,sBACE,uBtC8kOJ,CACF,CC5+NE,qCqCjGE,gBACE,uBtCglOJ,CACF,CC7+NE,qCqClGE,kBACE,uBtCklOJ,CACF,CC7+NI,4DqCpGA,uBACE,uBtColOJ,CACF,CCx+NI,qCqC3GA,qBACE,uBtCslOJ,CACF,CCx+NI,4DqC7GA,0BACE,uBtCwlOJ,CACF,CCn+NI,qCqCpHA,iBACE,uBtC0lOJ,CACF,CsCvnOE,SACE,sBtCynOJ,CCzhOE,oCqC9FE,gBACE,sBtC2nOJ,CACF,CC3hOE,0CqC/FE,gBACE,sBtC6nOJ,CACF,CC5hOE,2DqChGE,qBACE,sBtC+nOJ,CACF,CC7hOE,qCqCjGE,eACE,sBtCioOJ,CACF,CC9hOE,qCqClGE,iBACE,sBtCmoOJ,CACF,CC9hOI,4DqCpGA,sBACE,sBtCqoOJ,CACF,CCzhOI,qCqC3GA,oBACE,sBtCuoOJ,CACF,CCzhOI,4DqC7GA,yBACE,sBtCyoOJ,CACF,CCphOI,qCqCpHA,gBACE,sBtC2oOJ,CACF,CsCxqOE,WACE,wBtC0qOJ,CC1kOE,oCqC9FE,kBACE,wBtC4qOJ,CACF,CC5kOE,0CqC/FE,kBACE,wBtC8qOJ,CACF,CC7kOE,2DqChGE,uBACE,wBtCgrOJ,CACF,CC9kOE,qCqCjGE,iBACE,wBtCkrOJ,CACF,CC/kOE,qCqClGE,mBACE,wBtCorOJ,CACF,CC/kOI,4DqCpGA,wBACE,wBtCsrOJ,CACF,CC1kOI,qCqC3GA,sBACE,wBtCwrOJ,CACF,CC1kOI,4DqC7GA,2BACE,wBtC0rOJ,CACF,CCrkOI,qCqCpHA,kBACE,wBtC4rOJ,CACF,CsCztOE,iBACE,8BtC2tOJ,CC3nOE,oCqC9FE,wBACE,8BtC6tOJ,CACF,CC7nOE,0CqC/FE,wBACE,8BtC+tOJ,CACF,CC9nOE,2DqChGE,6BACE,8BtCiuOJ,CACF,CC/nOE,qCqCjGE,uBACE,8BtCmuOJ,CACF,CChoOE,qCqClGE,yBACE,8BtCquOJ,CACF,CChoOI,4DqCpGA,8BACE,8BtCuuOJ,CACF,CC3nOI,qCqC3GA,4BACE,8BtCyuOJ,CACF,CC3nOI,4DqC7GA,iCACE,8BtC2uOJ,CACF,CCtnOI,qCqCpHA,wBACE,8BtC6uOJ,CACF,CsC1wOE,gBACE,6BtC4wOJ,CC5qOE,oCqC9FE,uBACE,6BtC8wOJ,CACF,CC9qOE,0CqC/FE,uBACE,6BtCgxOJ,CACF,CC/qOE,2DqChGE,4BACE,6BtCkxOJ,CACF,CChrOE,qCqCjGE,sBACE,6BtCoxOJ,CACF,CCjrOE,qCqClGE,wBACE,6BtCsxOJ,CACF,CCjrOI,4DqCpGA,6BACE,6BtCwxOJ,CACF,CC5qOI,qCqC3GA,2BACE,6BtC0xOJ,CACF,CC5qOI,4DqC7GA,gCACE,6BtC4xOJ,CACF,CCvqOI,qCqCpHA,uBACE,6BtC8xOJ,CACF,CsC7xOA,WACE,sBtC+xOF,CsC7xOA,YAEE,4BAAA,CADA,qBAAA,CAEA,sBAAA,CACA,yBAAA,CACA,mBAAA,CACA,2BAAA,CACA,4BAAA,CACA,qBtCgyOF,CCxuOE,oCqCrDA,kBACE,sBtCiyOF,CACF,CC1uOE,0CqCrDA,kBACE,sBtCkyOF,CACF,CC3uOE,2DqCrDA,uBACE,sBtCmyOF,CACF,CC5uOE,qCqCrDA,iBACE,sBtCoyOF,CACF,CC7uOE,qCqCrDA,mBACE,sBtCqyOF,CACF,CC7uOI,4DqCtDF,wBACE,sBtCsyOF,CACF,CCxuOI,qCqC5DF,sBACE,sBtCuyOF,CACF,CCxuOI,4DqC7DF,2BACE,sBtCwyOF,CACF,CCnuOI,qCqCnEF,kBACE,sBtCyyOF,CACF,CsCxyOA,cACE,2BtC0yOF,CCzxOE,oCqCdA,qBACE,2BtC2yOF,CACF,CC3xOE,0CqCdA,qBACE,2BtC4yOF,CACF,CC5xOE,2DqCdA,0BACE,2BtC6yOF,CACF,CC7xOE,qCqCdA,oBACE,2BtC8yOF,CACF,CC9xOE,qCqCdA,sBACE,2BtC+yOF,CACF,CC9xOI,4DqCfF,2BACE,2BtCgzOF,CACF,CCzxOI,qCqCrBF,yBACE,2BtCizOF,CACF,CCzxOI,4DqCtBF,8BACE,2BtCkzOF,CACF,CCpxOI,qCqC5BF,qBACE,2BtCmzOF,CACF,CuCl6OA,MACE,mBAAA,CACA,YAAA,CACA,qBAAA,CACA,6BvCq6OF,CuCp6OE,cACE,evCs6OJ,CuCp6OI,eACE,kBvCs6ON,CuCj6OI,eACE,qBAHM,CAIN,UvCm6ON,CuCl6OM,mHAEE,avCo6OR,CuCn6OM,sBACE,UvCq6OR,CuCp6OM,yBACE,oBvCs6OR,CuCr6OQ,wEAEE,UvCu6OV,CC11OE,qCsC5EI,4BAEI,qBvCw6OR,CACF,CuCx6OM,wDAEE,oBvC06OR,CuCv6OQ,kJAEE,wBAAA,CACA,UvC06OV,CuCx6OQ,uBACE,UA5BS,CA6BT,UvC06OV,CuCz6OU,6BACE,SvC26OZ,CuCz6OU,oCACE,oBAAA,CACA,SvC26OZ,CuCx6OU,iEACE,UvC06OZ,CuCz6OY,6EACE,+BvC26Od,CuCz6OY,kMAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,UvC06Od,CuCv6OQ,uBAGE,8DvCu6OV,CC94OE,oCsCvBU,oCACE,8DvCw6OZ,CACF,CuCh+OI,eACE,qBAHM,CAIN,UvCk+ON,CuCj+OM,mHAEE,avCm+OR,CuCl+OM,sBACE,UvCo+OR,CuCn+OM,yBACE,wBvCq+OR,CuCp+OQ,wEAEE,UvCs+OV,CCz5OE,qCsC5EI,4BAEI,qBvCu+OR,CACF,CuCv+OM,wDAEE,wBvCy+OR,CuCt+OQ,kJAEE,qBAAA,CACA,UvCy+OV,CuCv+OQ,uBACE,UA5BS,CA6BT,UvCy+OV,CuCx+OU,6BACE,SvC0+OZ,CuCx+OU,oCACE,oBAAA,CACA,SvC0+OZ,CuCv+OU,iEACE,UvCy+OZ,CuCx+OY,6EACE,+BvC0+Od,CuCx+OY,kMAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,UvCy+Od,CuCt+OQ,uBAGE,8DvCs+OV,CC78OE,oCsCvBU,oCACE,8DvCu+OZ,CACF,CuC/hPI,eACE,wBAHM,CAIN,oBvCiiPN,CuChiPM,mHAEE,avCkiPR,CuCjiPM,sBACE,oBvCmiPR,CuCliPM,yBACE,oBvCoiPR,CuCniPQ,wEAEE,oBvCqiPV,CCx9OE,qCsC5EI,4BAEI,wBvCsiPR,CACF,CuCtiPM,wDAEE,oBvCwiPR,CuCriPQ,kJAEE,wBAAA,CACA,oBvCwiPV,CuCtiPQ,uBACE,oBA5BS,CA6BT,UvCwiPV,CuCviPU,6BACE,SvCyiPZ,CuCviPU,oCACE,uBAAA,CACA,SvCyiPZ,CuCtiPU,iEACE,oBvCwiPZ,CuCviPY,6EACE,+BvCyiPd,CuCviPY,kMAEE,+BA7CK,CA8CL,2BA9CK,CA+CL,avCwiPd,CuCriPQ,uBAGE,iEvCqiPV,CC5gPE,oCsCvBU,oCACE,iEvCsiPZ,CACF,CuC9lPI,cACE,wBAHM,CAIN,UvCgmPN,CuC/lPM,iHAEE,avCimPR,CuChmPM,qBACE,UvCkmPR,CuCjmPM,wBACE,wBvCmmPR,CuClmPQ,sEAEE,UvComPV,CCvhPE,qCsC5EI,2BAEI,wBvCqmPR,CACF,CuCrmPM,sDAEE,wBvCumPR,CuCpmPQ,8IAEE,wBAAA,CACA,UvCumPV,CuCrmPQ,sBACE,UA5BS,CA6BT,UvCumPV,CuCtmPU,4BACE,SvCwmPZ,CuCtmPU,mCACE,uBAAA,CACA,SvCwmPZ,CuCrmPU,+DACE,UvCumPZ,CuCtmPY,2EACE,+BvCwmPd,CuCtmPY,8LAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,avCumPd,CuCpmPQ,sBAGE,oEvComPV,CC3kPE,oCsCvBU,mCACE,oEvCqmPZ,CACF,CuC7pPI,iBACE,wBAHM,CAIN,UvC+pPN,CuC9pPM,uHAEE,avCgqPR,CuC/pPM,wBACE,UvCiqPR,CuChqPM,2BACE,wBvCkqPR,CuCjqPQ,4EAEE,UvCmqPV,CCtlPE,qCsC5EI,8BAEI,wBvCoqPR,CACF,CuCpqPM,4DAEE,wBvCsqPR,CuCnqPQ,0JAEE,wBAAA,CACA,UvCsqPV,CuCpqPQ,yBACE,UA5BS,CA6BT,UvCsqPV,CuCrqPU,+BACE,SvCuqPZ,CuCrqPU,sCACE,uBAAA,CACA,SvCuqPZ,CuCpqPU,qEACE,UvCsqPZ,CuCrqPY,iFACE,+BvCuqPd,CuCrqPY,0MAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,avCsqPd,CuCnqPQ,yBAGE,oEvCmqPV,CC1oPE,oCsCvBU,sCACE,oEvCoqPZ,CACF,CuC5tPI,cACE,wBAHM,CAIN,UvC8tPN,CuC7tPM,iHAEE,avC+tPR,CuC9tPM,qBACE,UvCguPR,CuC/tPM,wBACE,wBvCiuPR,CuChuPQ,sEAEE,UvCkuPV,CCrpPE,qCsC5EI,2BAEI,wBvCmuPR,CACF,CuCnuPM,sDAEE,wBvCquPR,CuCluPQ,8IAEE,wBAAA,CACA,UvCquPV,CuCnuPQ,sBACE,UA5BS,CA6BT,UvCquPV,CuCpuPU,4BACE,SvCsuPZ,CuCpuPU,mCACE,uBAAA,CACA,SvCsuPZ,CuCnuPU,+DACE,UvCquPZ,CuCpuPY,2EACE,+BvCsuPd,CuCpuPY,8LAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,avCquPd,CuCluPQ,sBAGE,oEvCkuPV,CCzsPE,oCsCvBU,mCACE,oEvCmuPZ,CACF,CuC3xPI,cACE,wBAHM,CAIN,UvC6xPN,CuC5xPM,iHAEE,avC8xPR,CuC7xPM,qBACE,UvC+xPR,CuC9xPM,wBACE,wBvCgyPR,CuC/xPQ,sEAEE,UvCiyPV,CCptPE,qCsC5EI,2BAEI,wBvCkyPR,CACF,CuClyPM,sDAEE,wBvCoyPR,CuCjyPQ,8IAEE,wBAAA,CACA,UvCoyPV,CuClyPQ,sBACE,UA5BS,CA6BT,UvCoyPV,CuCnyPU,4BACE,SvCqyPZ,CuCnyPU,mCACE,uBAAA,CACA,SvCqyPZ,CuClyPU,+DACE,UvCoyPZ,CuCnyPY,2EACE,+BvCqyPd,CuCnyPY,8LAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,avCoyPd,CuCjyPQ,sBAGE,oEvCiyPV,CCxwPE,oCsCvBU,mCACE,oEvCkyPZ,CACF,CuC11PI,iBACE,wBAHM,CAIN,UvC41PN,CuC31PM,uHAEE,avC61PR,CuC51PM,wBACE,UvC81PR,CuC71PM,2BACE,wBvC+1PR,CuC91PQ,4EAEE,UvCg2PV,CCnxPE,qCsC5EI,8BAEI,wBvCi2PR,CACF,CuCj2PM,4DAEE,wBvCm2PR,CuCh2PQ,0JAEE,wBAAA,CACA,UvCm2PV,CuCj2PQ,yBACE,UA5BS,CA6BT,UvCm2PV,CuCl2PU,+BACE,SvCo2PZ,CuCl2PU,sCACE,uBAAA,CACA,SvCo2PZ,CuCj2PU,qEACE,UvCm2PZ,CuCl2PY,iFACE,+BvCo2Pd,CuCl2PY,0MAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,avCm2Pd,CuCh2PQ,yBAGE,oEvCg2PV,CCv0PE,oCsCvBU,sCACE,oEvCi2PZ,CACF,CuCz5PI,iBACE,wBAHM,CAIN,oBvC25PN,CuC15PM,uHAEE,avC45PR,CuC35PM,wBACE,oBvC65PR,CuC55PM,2BACE,oBvC85PR,CuC75PQ,4EAEE,oBvC+5PV,CCl1PE,qCsC5EI,8BAEI,wBvCg6PR,CACF,CuCh6PM,4DAEE,oBvCk6PR,CuC/5PQ,0JAEE,wBAAA,CACA,oBvCk6PV,CuCh6PQ,yBACE,oBA5BS,CA6BT,UvCk6PV,CuCj6PU,+BACE,SvCm6PZ,CuCj6PU,sCACE,uBAAA,CACA,SvCm6PZ,CuCh6PU,qEACE,oBvCk6PZ,CuCj6PY,iFACE,+BvCm6Pd,CuCj6PY,0MAEE,+BA7CK,CA8CL,2BA9CK,CA+CL,avCk6Pd,CuC/5PQ,yBAGE,oEvC+5PV,CCt4PE,oCsCvBU,sCACE,oEvCg6PZ,CACF,CuCx9PI,gBACE,wBAHM,CAIN,UvC09PN,CuCz9PM,qHAEE,avC29PR,CuC19PM,uBACE,UvC49PR,CuC39PM,0BACE,wBvC69PR,CuC59PQ,0EAEE,UvC89PV,CCj5PE,qCsC5EI,6BAEI,wBvC+9PR,CACF,CuC/9PM,0DAEE,wBvCi+PR,CuC99PQ,sJAEE,wBAAA,CACA,UvCi+PV,CuC/9PQ,wBACE,UA5BS,CA6BT,UvCi+PV,CuCh+PU,8BACE,SvCk+PZ,CuCh+PU,qCACE,uBAAA,CACA,SvCk+PZ,CuC/9PU,mEACE,UvCi+PZ,CuCh+PY,+EACE,+BvCk+Pd,CuCh+PY,sMAEE,qBA7CK,CA8CL,iBA9CK,CA+CL,avCi+Pd,CuC99PQ,wBAGE,oEvC89PV,CCr8PE,oCsCvBU,qCACE,oEvC+9PZ,CACF,CuC79PI,0BACE,cvC+9PN,CCz8PE,0CsCnBI,2BACE,mBvC+9PN,CuC59PI,0BACE,kBvCg+PN,CAJF,CuCx9PI,yGACE,kBAAA,CACA,YvC+9PN,CuC99PM,0IACE,WAAA,CACA,avCg+PR,CuC/9PE,oBACE,evCi+PJ,CuCh+PE,oBACE,gBvCk+PJ,CuC99PA,YAEE,evCg+PF,CuC/9PE,kBACE,QAAA,CACA,eAAA,CACA,cAAA,CACA,iBAAA,CACA,OAAA,CACA,kCvCi+PJ,CuC/9PE,2BACE,UvCi+PJ,CCp/PE,oCsCOF,YAeI,YvCk+PF,CACF,CuCj+PA,cACE,iBvCo+PF,CC7/PE,oCsC4BE,sBACE,YvCo+PJ,CuCn+PI,uCACE,oBvCq+PN,CACF,CCjgQE,0CsCoBF,cASI,YAAA,CACA,sBvCw+PF,CuCv+PE,uCtC2CA,mBD+7PF,CACF,CuCt+PA,sBAEE,WAAA,CACA,avCy+PF,CuCv+PA,WACE,WAAA,CACA,aAAA,CACA,mBvC0+PF,CCthQE,0CsCyCF,WAKI,YvC4+PF,CACF,CwC9nQA,SACE,mBxCioQF,CCnhQE,qCuC/GF,SAII,YxCkoQF,CwChoQE,mBACE,mBxCkoQJ,CwCjoQE,kBACE,kBxCmoQJ,CACF,CyCjmQA,mCACE,GACE,SzCqmQF,CyClmQA,GACE,SzComQF,CACF,CyC3mQA,2BACE,GACE,SzCqmQF,CyClmQA,GACE,SzComQF,CACF,CyCjmQA,4BACE,GACE,SAAA,CACA,oBzCmmQF,CyChmQA,IACE,SzCkmQF,CyC/lQA,IACE,kBzCimQF,CyC9lQA,GACE,kBzCgmQF,CACF,CyChnQA,oBACE,GACE,SAAA,CACA,oBzCmmQF,CyChmQA,IACE,SzCkmQF,CyC/lQA,IACE,kBzCimQF,CyC9lQA,GACE,kBzCgmQF,CACF,CyC3lQA,KACE,ezC8lQF,CyC3lQA,KACE,qCAAA,CAAA,6BzC8lQF,CyC3lQA,wBAEE,qBvCrFM,CuCsFN,iBAAA,CACA,czC8lQF,CyC3lQA,qDAEE,azC8lQF,CyChmQA,2CAEE,azC8lQF,CyC3lQA,OACE,a1C1Fa,C0C2Fb,ezC8lQF,CyC3lQA,MACE,azC8lQF,CyC3lQA,UACE,wBzC8lQF,CyC3lQA,gMAIE,SzC8lQF,CyC1lQE,qBAGE,WAAA,CADA,iBAAA,CADA,wBzCkmQJ,CyC5lQE,qBACE,wBAAA,CACA,wBAAA,CACA,oBzC8lQJ,CyC5lQI,2EAEE,wBAAA,CACA,wBAAA,CACA,oBzC6lQN,CyC1lQI,2EAEE,wBAAA,CACA,wBAAA,CACA,oBzC2lQN,CyCxlQI,iCACE,4BAAA,CACA,oBAAA,CACA,azC0lQN,CyCxlQM,sMAIE,wBAAA,CACA,oBAAA,CACA,oBzCulQR,CyCjlQA,6BAEE,azColQF,CyC7kQA,wGACE,oBzColQF,CyCjlQA,uEAEE,oBzColQF,CyCjlQA,SACE,wBzColQF,CyCjlQA,cAEE,QAAA,CADA,azCqlQF,CyCjlQA,OAEE,qBvC5LM,CuC2LN,azCqlQF,CyCllQE,iBACE,gBzColQJ,CyCjlQE,qDACE,wBzCmlQJ,CyChlQE,oBAIE,+BAAA,CADA,qBAAA,CADA,kBzColQJ,CyC/kQE,UACE,a1CxMW,C0C0MX,eAAA,CADA,azCklQJ,CyC7kQI,gCAGE,wBAAA,CACA,eAAA,CAFA,a1ChNS,C0CmNT,WzC+kQN,CyC1kQI,4DAEE,uBzC4kQN,CyCxkQE,oBACE,mBzC0kQJ,CyCrkQE,6BAEE,wBzCukQJ,CyCnkQA,oBACE,oBzCskQF,CyCjkQA,mBACE,ezCqkQF,CyChkQA,WACE,6BzCokQF,CyCjkQA,SACE,mBzCokQF,CyChkQA,kCACE,qBzCokQF,CyC/jQA,uBAWE,kBAAA,CALA,wBvC9QK,CuC6QL,kBAAA,CADA,aAAA,CAGA,U1C1Qa,C0CoQb,YAAA,CAQA,aAAA,CACA,sBAAA,CARA,cAAA,CACA,YAAA,CASA,2CAAA,CAJA,YzCukQF,CyCjkQE,6BACE,wBnCpNS,CmCqNT,UzCmkQJ,CyChkQE,6BACE,ezCkkQJ,CyC5jQE,+BAEE,WAAA,CADA,gBzCokQJ,CyChkQI,0CACE,UzCkkQN","file":"style.css","sourcesContent":["@import \"mixins\"\n\n%control\n +control\n\n%unselectable\n +unselectable\n\n%arrow\n +arrow\n\n%block\n +block\n\n%delete\n +delete\n\n%loader\n +loader\n\n%overlay\n +overlay\n\n%reset\n +reset\n","@import \"derived-variables\"\n\n$control-radius: $radius !default\n$control-radius-small: $radius-small !default\n\n$control-border-width: 1px !default\n\n$control-height: 2.5em !default\n$control-line-height: 1.5 !default\n\n$control-padding-vertical: calc(0.5em - #{$control-border-width}) !default\n$control-padding-horizontal: calc(0.75em - #{$control-border-width}) !default\n\n=control\n -moz-appearance: none\n -webkit-appearance: none\n align-items: center\n border: $control-border-width solid transparent\n border-radius: $control-radius\n box-shadow: none\n display: inline-flex\n font-size: $size-normal\n height: $control-height\n justify-content: flex-start\n line-height: $control-line-height\n padding-bottom: $control-padding-vertical\n padding-left: $control-padding-horizontal\n padding-right: $control-padding-horizontal\n padding-top: $control-padding-vertical\n position: relative\n vertical-align: top\n // States\n &:focus,\n &.is-focused,\n &:active,\n &.is-active\n outline: none\n &[disabled],\n fieldset[disabled] &\n cursor: not-allowed\n\n// The controls sizes use mixins so they can be used at different breakpoints\n=control-small\n border-radius: $control-radius-small\n font-size: $size-small\n=control-medium\n font-size: $size-medium\n=control-large\n font-size: $size-large\n","// Colors\n\n$black: hsl(0, 0%, 4%) !default\n$black-bis: hsl(0, 0%, 7%) !default\n$black-ter: hsl(0, 0%, 14%) !default\n\n$grey-darker: hsl(0, 0%, 21%) !default\n$grey-dark: hsl(0, 0%, 29%) !default\n$grey: hsl(0, 0%, 48%) !default\n$grey-light: hsl(0, 0%, 71%) !default\n$grey-lighter: hsl(0, 0%, 86%) !default\n$grey-lightest: hsl(0, 0%, 93%) !default\n\n$white-ter: hsl(0, 0%, 96%) !default\n$white-bis: hsl(0, 0%, 98%) !default\n$white: hsl(0, 0%, 100%) !default\n\n$orange: hsl(14, 100%, 53%) !default\n$yellow: hsl(44, 100%, 77%) !default\n$green: hsl(153, 53%, 53%) !default\n$turquoise: hsl(171, 100%, 41%) !default\n$cyan: hsl(207, 61%, 53%) !default\n$blue: hsl(229, 53%, 53%) !default\n$purple: hsl(271, 100%, 71%) !default\n$red: hsl(348, 86%, 61%) !default\n\n// Typography\n\n$family-sans-serif: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif !default\n$family-monospace: monospace !default\n$render-mode: optimizeLegibility !default\n\n$size-1: 3rem !default\n$size-2: 2.5rem !default\n$size-3: 2rem !default\n$size-4: 1.5rem !default\n$size-5: 1.25rem !default\n$size-6: 1rem !default\n$size-7: 0.75rem !default\n\n$weight-light: 300 !default\n$weight-normal: 400 !default\n$weight-medium: 500 !default\n$weight-semibold: 600 !default\n$weight-bold: 700 !default\n\n// Spacing\n\n$block-spacing: 1.5rem !default\n\n// Responsiveness\n\n// The container horizontal gap, which acts as the offset for breakpoints\n$gap: 32px !default\n// 960, 1152, and 1344 have been chosen because they are divisible by both 12 and 16\n$tablet: 769px !default\n// 960px container + 4rem\n$desktop: 960px + (2 * $gap) !default\n// 1152px container + 4rem\n$widescreen: 1152px + (2 * $gap) !default\n$widescreen-enabled: true !default\n// 1344px container + 4rem\n$fullhd: 1344px + (2 * $gap) !default\n$fullhd-enabled: true !default\n$breakpoints: (\"mobile\": (\"until\": $tablet), \"tablet\": (\"from\": $tablet), \"tablet-only\": (\"from\": $tablet, \"until\": $desktop), \"touch\": (\"from\": $desktop), \"desktop\": (\"from\": $desktop), \"desktop-only\": (\"from\": $desktop, \"until\": $widescreen), \"until-widescreen\": (\"until\": $widescreen), \"widescreen\": (\"from\": $widescreen), \"widescreen-only\": (\"from\": $widescreen, \"until\": $fullhd), \"until-fullhd\": (\"until\": $fullhd), \"fullhd\": (\"from\": $fullhd)) !default\n\n// Miscellaneous\n\n$easing: ease-out !default\n$radius-small: 2px !default\n$radius: 4px !default\n$radius-large: 6px !default\n$radius-rounded: 9999px !default\n$speed: 86ms !default\n\n// Flags\n\n$variable-columns: true !default\n$rtl: false !default\n","/* stylelint-disable scss/dollar-variable-empty-line-before */\n/* stylelint-disable-next-line value-keyword-case */\n/** Bulma: Variables **/\n/** Bulma: Utilities **/\n.pagination-previous,\n.pagination-next,\n.pagination-link,\n.pagination-ellipsis, .file-cta,\n.file-name, .select select, .textarea, .input, .button {\n -moz-appearance: none;\n -webkit-appearance: none;\n align-items: center;\n border: 1px solid transparent;\n border-radius: 4px;\n box-shadow: none;\n display: inline-flex;\n font-size: 1rem;\n height: 2.5em;\n justify-content: flex-start;\n line-height: 1.5;\n padding-bottom: calc(0.5em - 1px);\n padding-left: calc(0.75em - 1px);\n padding-right: calc(0.75em - 1px);\n padding-top: calc(0.5em - 1px);\n position: relative;\n vertical-align: top;\n}\n.pagination-previous:focus,\n.pagination-next:focus,\n.pagination-link:focus,\n.pagination-ellipsis:focus, .file-cta:focus,\n.file-name:focus, .select select:focus, .textarea:focus, .input:focus, .button:focus, .is-focused.pagination-previous,\n.is-focused.pagination-next,\n.is-focused.pagination-link,\n.is-focused.pagination-ellipsis, .is-focused.file-cta,\n.is-focused.file-name, .select select.is-focused, .is-focused.textarea, .is-focused.input, .is-focused.button, .pagination-previous:active,\n.pagination-next:active,\n.pagination-link:active,\n.pagination-ellipsis:active, .file-cta:active,\n.file-name:active, .select select:active, .textarea:active, .input:active, .button:active, .is-active.pagination-previous,\n.is-active.pagination-next,\n.is-active.pagination-link,\n.is-active.pagination-ellipsis, .is-active.file-cta,\n.is-active.file-name, .select select.is-active, .is-active.textarea, .is-active.input, .is-active.button {\n outline: none;\n}\n[disabled].pagination-previous,\n[disabled].pagination-next,\n[disabled].pagination-link,\n[disabled].pagination-ellipsis, [disabled].file-cta,\n[disabled].file-name, .select select[disabled], [disabled].textarea, [disabled].input, [disabled].button, fieldset[disabled] .pagination-previous,\nfieldset[disabled] .pagination-next,\nfieldset[disabled] .pagination-link,\nfieldset[disabled] .pagination-ellipsis, fieldset[disabled] .file-cta,\nfieldset[disabled] .file-name, fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input, fieldset[disabled] .button {\n cursor: not-allowed;\n}\n\n.is-unselectable, .tabs, .pagination-previous,\n.pagination-next,\n.pagination-link,\n.pagination-ellipsis, .file, .button {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.select:not(.is-multiple):not(.is-loading)::after {\n border: 3px solid transparent;\n border-radius: 2px;\n border-right: 0;\n border-top: 0;\n content: \" \";\n display: block;\n height: 0.625em;\n margin-top: -0.4375em;\n pointer-events: none;\n position: absolute;\n top: 50%;\n transform: rotate(-45deg);\n transform-origin: center;\n width: 0.625em;\n}\n\n.tabs:not(:last-child), .pagination:not(:last-child), .message:not(:last-child), .level:not(:last-child), .block:not(:last-child), .title:not(:last-child),\n.subtitle:not(:last-child), .table-container:not(:last-child), .table:not(:last-child), .progress:not(:last-child), .notification:not(:last-child), .content:not(:last-child) {\n margin-bottom: 1.5rem;\n}\n\n.delete {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n background-color: rgba(0, 0, 0, 0.2);\n border: none;\n border-radius: 9999px;\n cursor: pointer;\n pointer-events: auto;\n display: inline-block;\n flex-grow: 0;\n flex-shrink: 0;\n font-size: 0;\n height: 20px;\n max-height: 20px;\n max-width: 20px;\n min-height: 20px;\n min-width: 20px;\n outline: none;\n position: relative;\n vertical-align: top;\n width: 20px;\n}\n.delete::before, .delete::after {\n background-color: hsl(0deg, 0%, 0%);\n content: \"\";\n display: block;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translateX(-50%) translateY(-50%) rotate(45deg);\n transform-origin: center center;\n}\n.delete::before {\n height: 2px;\n width: 50%;\n}\n.delete::after {\n height: 50%;\n width: 2px;\n}\n.delete:hover, .delete:focus {\n background-color: rgba(0, 0, 0, 0.3);\n}\n.delete:active {\n background-color: rgba(0, 0, 0, 0.4);\n}\n.is-small.delete {\n height: 16px;\n max-height: 16px;\n max-width: 16px;\n min-height: 16px;\n min-width: 16px;\n width: 16px;\n}\n.is-medium.delete {\n height: 24px;\n max-height: 24px;\n max-width: 24px;\n min-height: 24px;\n min-width: 24px;\n width: 24px;\n}\n.is-large.delete {\n height: 32px;\n max-height: 32px;\n max-width: 32px;\n min-height: 32px;\n min-width: 32px;\n width: 32px;\n}\n\n.control.is-loading::after, .select.is-loading::after, .loader, .button.is-loading::after {\n animation: spinAround 500ms infinite linear;\n border: 2px solid hsl(0deg, 0%, 86%);\n border-radius: 9999px;\n border-right-color: transparent;\n border-top-color: transparent;\n content: \"\";\n display: block;\n height: 1em;\n position: relative;\n width: 1em;\n}\n\n.hero-video, .is-overlay {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n/** Bulma: Base **/\n/* Bulma Base */ /*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */\nhtml,\nbody,\np,\nol,\nul,\nli,\ndl,\ndt,\ndd,\nblockquote,\nfigure,\nfieldset,\nlegend,\ntextarea,\npre,\niframe,\nhr,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin: 0;\n padding: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: 100%;\n font-weight: normal;\n}\n\nul {\n list-style: none;\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n margin: 0;\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*, *::before, *::after {\n box-sizing: inherit;\n}\n\nimg,\nvideo {\n height: auto;\n max-width: 100%;\n}\n\niframe {\n border: 0;\n}\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\ntd:not([align]),\nth:not([align]) {\n text-align: inherit;\n}\n\nhtml {\n background-color: hsl(0deg, 0%, 0%);\n font-size: 16px;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n min-width: 300px;\n overflow-x: hidden;\n overflow-y: scroll;\n text-rendering: optimizeLegibility;\n text-size-adjust: 100%;\n}\n\narticle,\naside,\nfigure,\nfooter,\nheader,\nhgroup,\nsection {\n display: block;\n}\n\nbody,\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Ubuntu\", \"Roboto\", \"Oxygen\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif;\n}\n\ncode,\npre {\n -moz-osx-font-smoothing: auto;\n -webkit-font-smoothing: auto;\n font-family: monospace;\n}\n\nbody {\n color: hsl(0deg, 0%, 96%);\n font-size: 1em;\n font-weight: 400;\n line-height: 1.5;\n}\n\na {\n color: hsl(208deg, 79%, 51%);\n cursor: pointer;\n text-decoration: none;\n}\na strong {\n color: currentColor;\n}\na:hover {\n color: #edf5fd;\n}\n\ncode {\n background-color: hsl(0deg, 0%, 96%);\n color: #eb002f;\n font-size: 0.875em;\n font-weight: normal;\n padding: 0.25em 0.5em 0.25em;\n}\n\nhr {\n background-color: hsl(0deg, 0%, 71%);\n border: none;\n display: block;\n height: 2px;\n margin: 1.5rem 0;\n}\n\nimg {\n height: auto;\n max-width: 100%;\n}\n\ninput[type=checkbox],\ninput[type=radio] {\n vertical-align: baseline;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nspan {\n font-style: inherit;\n font-weight: inherit;\n}\n\nstrong {\n color: hsl(0deg, 0%, 86%);\n font-weight: 700;\n}\n\nfieldset {\n border: none;\n}\n\npre {\n -webkit-overflow-scrolling: touch;\n background-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 29%);\n font-size: 0.875em;\n overflow-x: auto;\n padding: 1.25rem 1.5rem;\n white-space: pre;\n word-wrap: normal;\n}\npre code {\n background-color: transparent;\n color: currentColor;\n font-size: 1em;\n padding: 0;\n}\n\ntable td,\ntable th {\n vertical-align: top;\n}\ntable td:not([align]),\ntable th:not([align]) {\n text-align: inherit;\n}\ntable th {\n color: hsl(0deg, 0%, 21%);\n}\n\n@keyframes spinAround {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n}\n/** Bulma: Elements **/\n.button {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 86%);\n border-width: 1px;\n color: hsl(0deg, 0%, 21%);\n cursor: pointer;\n justify-content: center;\n padding-bottom: calc(0.5em - 1px);\n padding-left: 1em;\n padding-right: 1em;\n padding-top: calc(0.5em - 1px);\n text-align: center;\n white-space: nowrap;\n}\n.button strong {\n color: inherit;\n}\n.button .icon, .button .icon.is-small, .button .icon.is-medium, .button .icon.is-large {\n height: 1.5em;\n width: 1.5em;\n}\n.button .icon:first-child:not(:last-child) {\n margin-left: calc(-0.5em - 1px);\n margin-right: 0.25em;\n}\n.button .icon:last-child:not(:first-child) {\n margin-left: 0.25em;\n margin-right: calc(-0.5em - 1px);\n}\n.button .icon:first-child:last-child {\n margin-left: calc(-0.5em - 1px);\n margin-right: calc(-0.5em - 1px);\n}\n.button:hover, .button.is-hovered {\n border-color: hsl(0deg, 0%, 71%);\n color: #edf5fd;\n}\n.button:focus, .button.is-focused {\n border-color: hsl(208deg, 79%, 51%);\n color: hsl(0deg, 0%, 21%);\n}\n.button:focus:not(:active), .button.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(31, 137, 229, 0.25);\n}\n.button:active, .button.is-active {\n border-color: hsl(0deg, 0%, 29%);\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-text {\n background-color: transparent;\n border-color: transparent;\n color: hsl(0deg, 0%, 96%);\n text-decoration: underline;\n}\n.button.is-text:hover, .button.is-text.is-hovered, .button.is-text:focus, .button.is-text.is-focused {\n background-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-text:active, .button.is-text.is-active {\n background-color: #e8e8e8;\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-text[disabled], fieldset[disabled] .button.is-text {\n background-color: transparent;\n border-color: transparent;\n box-shadow: none;\n}\n.button.is-ghost {\n background: none;\n border-color: transparent;\n color: hsl(208deg, 79%, 51%);\n text-decoration: none;\n}\n.button.is-ghost:hover, .button.is-ghost.is-hovered {\n color: hsl(208deg, 79%, 51%);\n text-decoration: underline;\n}\n.button.is-white {\n background-color: hsl(0deg, 0%, 100%);\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-white:hover, .button.is-white.is-hovered {\n background-color: #f9f9f9;\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-white:focus, .button.is-white.is-focused {\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-white:focus:not(:active), .button.is-white.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25);\n}\n.button.is-white:active, .button.is-white.is-active {\n background-color: #f2f2f2;\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-white[disabled], fieldset[disabled] .button.is-white {\n background-color: hsl(0deg, 0%, 100%);\n border-color: hsl(0deg, 0%, 100%);\n box-shadow: none;\n}\n.button.is-white.is-inverted {\n background-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-white.is-inverted:hover, .button.is-white.is-inverted.is-hovered {\n background-color: black;\n}\n.button.is-white.is-inverted[disabled], fieldset[disabled] .button.is-white.is-inverted {\n background-color: hsl(0deg, 0%, 0%);\n border-color: transparent;\n box-shadow: none;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-white.is-loading::after {\n border-color: transparent transparent hsl(0deg, 0%, 0%) hsl(0deg, 0%, 0%) !important;\n}\n.button.is-white.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-white.is-outlined:hover, .button.is-white.is-outlined.is-hovered, .button.is-white.is-outlined:focus, .button.is-white.is-outlined.is-focused {\n background-color: hsl(0deg, 0%, 100%);\n border-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-white.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(0deg, 0%, 100%) hsl(0deg, 0%, 100%) !important;\n}\n.button.is-white.is-outlined.is-loading:hover::after, .button.is-white.is-outlined.is-loading.is-hovered::after, .button.is-white.is-outlined.is-loading:focus::after, .button.is-white.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(0deg, 0%, 0%) hsl(0deg, 0%, 0%) !important;\n}\n.button.is-white.is-outlined[disabled], fieldset[disabled] .button.is-white.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 100%);\n box-shadow: none;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-white.is-inverted.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined.is-hovered, .button.is-white.is-inverted.is-outlined:focus, .button.is-white.is-inverted.is-outlined.is-focused {\n background-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-white.is-inverted.is-outlined.is-loading:hover::after, .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-white.is-inverted.is-outlined.is-loading:focus::after, .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(0deg, 0%, 100%) hsl(0deg, 0%, 100%) !important;\n}\n.button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-white.is-inverted.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 0%);\n box-shadow: none;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-black {\n background-color: hsl(0deg, 0%, 0%);\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-black:hover, .button.is-black.is-hovered {\n background-color: black;\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-black:focus, .button.is-black.is-focused {\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-black:focus:not(:active), .button.is-black.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(0, 0, 0, 0.25);\n}\n.button.is-black:active, .button.is-black.is-active {\n background-color: black;\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-black[disabled], fieldset[disabled] .button.is-black {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 0%);\n box-shadow: none;\n}\n.button.is-black.is-inverted {\n background-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-black.is-inverted:hover, .button.is-black.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-black.is-inverted[disabled], fieldset[disabled] .button.is-black.is-inverted {\n background-color: hsl(0deg, 0%, 100%);\n border-color: transparent;\n box-shadow: none;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-black.is-loading::after {\n border-color: transparent transparent hsl(0deg, 0%, 100%) hsl(0deg, 0%, 100%) !important;\n}\n.button.is-black.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-black.is-outlined:hover, .button.is-black.is-outlined.is-hovered, .button.is-black.is-outlined:focus, .button.is-black.is-outlined.is-focused {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-black.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(0deg, 0%, 0%) hsl(0deg, 0%, 0%) !important;\n}\n.button.is-black.is-outlined.is-loading:hover::after, .button.is-black.is-outlined.is-loading.is-hovered::after, .button.is-black.is-outlined.is-loading:focus::after, .button.is-black.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(0deg, 0%, 100%) hsl(0deg, 0%, 100%) !important;\n}\n.button.is-black.is-outlined[disabled], fieldset[disabled] .button.is-black.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 0%);\n box-shadow: none;\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-black.is-inverted.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined.is-hovered, .button.is-black.is-inverted.is-outlined:focus, .button.is-black.is-inverted.is-outlined.is-focused {\n background-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.button.is-black.is-inverted.is-outlined.is-loading:hover::after, .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-black.is-inverted.is-outlined.is-loading:focus::after, .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(0deg, 0%, 0%) hsl(0deg, 0%, 0%) !important;\n}\n.button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-black.is-inverted.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 100%);\n box-shadow: none;\n color: hsl(0deg, 0%, 100%);\n}\n.button.is-light {\n background-color: hsl(0deg, 0%, 96%);\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light:hover, .button.is-light.is-hovered {\n background-color: #eeeeee;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light:focus, .button.is-light.is-focused {\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light:focus:not(:active), .button.is-light.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25);\n}\n.button.is-light:active, .button.is-light.is-active {\n background-color: #e8e8e8;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light[disabled], fieldset[disabled] .button.is-light {\n background-color: hsl(0deg, 0%, 96%);\n border-color: hsl(0deg, 0%, 96%);\n box-shadow: none;\n}\n.button.is-light.is-inverted {\n background-color: rgba(0, 0, 0, 0.7);\n color: hsl(0deg, 0%, 96%);\n}\n.button.is-light.is-inverted:hover, .button.is-light.is-inverted.is-hovered {\n background-color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light.is-inverted[disabled], fieldset[disabled] .button.is-light.is-inverted {\n background-color: rgba(0, 0, 0, 0.7);\n border-color: transparent;\n box-shadow: none;\n color: hsl(0deg, 0%, 96%);\n}\n.button.is-light.is-loading::after {\n border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important;\n}\n.button.is-light.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 96%);\n}\n.button.is-light.is-outlined:hover, .button.is-light.is-outlined.is-hovered, .button.is-light.is-outlined:focus, .button.is-light.is-outlined.is-focused {\n background-color: hsl(0deg, 0%, 96%);\n border-color: hsl(0deg, 0%, 96%);\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(0deg, 0%, 96%) hsl(0deg, 0%, 96%) !important;\n}\n.button.is-light.is-outlined.is-loading:hover::after, .button.is-light.is-outlined.is-loading.is-hovered::after, .button.is-light.is-outlined.is-loading:focus::after, .button.is-light.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important;\n}\n.button.is-light.is-outlined[disabled], fieldset[disabled] .button.is-light.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 96%);\n box-shadow: none;\n color: hsl(0deg, 0%, 96%);\n}\n.button.is-light.is-inverted.is-outlined {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined.is-hovered, .button.is-light.is-inverted.is-outlined:focus, .button.is-light.is-inverted.is-outlined.is-focused {\n background-color: rgba(0, 0, 0, 0.7);\n color: hsl(0deg, 0%, 96%);\n}\n.button.is-light.is-inverted.is-outlined.is-loading:hover::after, .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-light.is-inverted.is-outlined.is-loading:focus::after, .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(0deg, 0%, 96%) hsl(0deg, 0%, 96%) !important;\n}\n.button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-light.is-inverted.is-outlined {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n box-shadow: none;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-dark {\n background-color: hsl(0deg, 0%, 21%);\n border-color: transparent;\n color: #fff;\n}\n.button.is-dark:hover, .button.is-dark.is-hovered {\n background-color: #2f2f2f;\n border-color: transparent;\n color: #fff;\n}\n.button.is-dark:focus, .button.is-dark.is-focused {\n border-color: transparent;\n color: #fff;\n}\n.button.is-dark:focus:not(:active), .button.is-dark.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25);\n}\n.button.is-dark:active, .button.is-dark.is-active {\n background-color: #292929;\n border-color: transparent;\n color: #fff;\n}\n.button.is-dark[disabled], fieldset[disabled] .button.is-dark {\n background-color: hsl(0deg, 0%, 21%);\n border-color: hsl(0deg, 0%, 21%);\n box-shadow: none;\n}\n.button.is-dark.is-inverted {\n background-color: #fff;\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-dark.is-inverted:hover, .button.is-dark.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-dark.is-inverted[disabled], fieldset[disabled] .button.is-dark.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-dark.is-loading::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-dark.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 21%);\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-dark.is-outlined:hover, .button.is-dark.is-outlined.is-hovered, .button.is-dark.is-outlined:focus, .button.is-dark.is-outlined.is-focused {\n background-color: hsl(0deg, 0%, 21%);\n border-color: hsl(0deg, 0%, 21%);\n color: #fff;\n}\n.button.is-dark.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(0deg, 0%, 21%) hsl(0deg, 0%, 21%) !important;\n}\n.button.is-dark.is-outlined.is-loading:hover::after, .button.is-dark.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-outlined.is-loading:focus::after, .button.is-dark.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-dark.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-outlined {\n background-color: transparent;\n border-color: hsl(0deg, 0%, 21%);\n box-shadow: none;\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-dark.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff;\n}\n.button.is-dark.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined.is-hovered, .button.is-dark.is-inverted.is-outlined:focus, .button.is-dark.is-inverted.is-outlined.is-focused {\n background-color: #fff;\n color: hsl(0deg, 0%, 21%);\n}\n.button.is-dark.is-inverted.is-outlined.is-loading:hover::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(0deg, 0%, 21%) hsl(0deg, 0%, 21%) !important;\n}\n.button.is-dark.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff;\n}\n.button.is-primary {\n background-color: hsl(171deg, 100%, 41%);\n border-color: transparent;\n color: #fff;\n}\n.button.is-primary:hover, .button.is-primary.is-hovered {\n background-color: #00c4a7;\n border-color: transparent;\n color: #fff;\n}\n.button.is-primary:focus, .button.is-primary.is-focused {\n border-color: transparent;\n color: #fff;\n}\n.button.is-primary:focus:not(:active), .button.is-primary.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);\n}\n.button.is-primary:active, .button.is-primary.is-active {\n background-color: #00b89c;\n border-color: transparent;\n color: #fff;\n}\n.button.is-primary[disabled], fieldset[disabled] .button.is-primary {\n background-color: hsl(171deg, 100%, 41%);\n border-color: hsl(171deg, 100%, 41%);\n box-shadow: none;\n}\n.button.is-primary.is-inverted {\n background-color: #fff;\n color: hsl(171deg, 100%, 41%);\n}\n.button.is-primary.is-inverted:hover, .button.is-primary.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-primary.is-inverted[disabled], fieldset[disabled] .button.is-primary.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: hsl(171deg, 100%, 41%);\n}\n.button.is-primary.is-loading::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-primary.is-outlined {\n background-color: transparent;\n border-color: hsl(171deg, 100%, 41%);\n color: hsl(171deg, 100%, 41%);\n}\n.button.is-primary.is-outlined:hover, .button.is-primary.is-outlined.is-hovered, .button.is-primary.is-outlined:focus, .button.is-primary.is-outlined.is-focused {\n background-color: hsl(171deg, 100%, 41%);\n border-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.button.is-primary.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(171deg, 100%, 41%) hsl(171deg, 100%, 41%) !important;\n}\n.button.is-primary.is-outlined.is-loading:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-outlined.is-loading:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-primary.is-outlined[disabled], fieldset[disabled] .button.is-primary.is-outlined {\n background-color: transparent;\n border-color: hsl(171deg, 100%, 41%);\n box-shadow: none;\n color: hsl(171deg, 100%, 41%);\n}\n.button.is-primary.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff;\n}\n.button.is-primary.is-inverted.is-outlined:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .button.is-primary.is-inverted.is-outlined:focus, .button.is-primary.is-inverted.is-outlined.is-focused {\n background-color: #fff;\n color: hsl(171deg, 100%, 41%);\n}\n.button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(171deg, 100%, 41%) hsl(171deg, 100%, 41%) !important;\n}\n.button.is-primary.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-primary.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff;\n}\n.button.is-primary.is-light {\n background-color: #ebfffc;\n color: #00947e;\n}\n.button.is-primary.is-light:hover, .button.is-primary.is-light.is-hovered {\n background-color: #defffa;\n border-color: transparent;\n color: #00947e;\n}\n.button.is-primary.is-light:active, .button.is-primary.is-light.is-active {\n background-color: #d1fff8;\n border-color: transparent;\n color: #00947e;\n}\n.button.is-link {\n background-color: hsl(208deg, 79%, 51%);\n border-color: transparent;\n color: #fff;\n}\n.button.is-link:hover, .button.is-link.is-hovered {\n background-color: #1a82dd;\n border-color: transparent;\n color: #fff;\n}\n.button.is-link:focus, .button.is-link.is-focused {\n border-color: transparent;\n color: #fff;\n}\n.button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(31, 137, 229, 0.25);\n}\n.button.is-link:active, .button.is-link.is-active {\n background-color: #197bd2;\n border-color: transparent;\n color: #fff;\n}\n.button.is-link[disabled], fieldset[disabled] .button.is-link {\n background-color: hsl(208deg, 79%, 51%);\n border-color: hsl(208deg, 79%, 51%);\n box-shadow: none;\n}\n.button.is-link.is-inverted {\n background-color: #fff;\n color: hsl(208deg, 79%, 51%);\n}\n.button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-link.is-inverted[disabled], fieldset[disabled] .button.is-link.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: hsl(208deg, 79%, 51%);\n}\n.button.is-link.is-loading::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-link.is-outlined {\n background-color: transparent;\n border-color: hsl(208deg, 79%, 51%);\n color: hsl(208deg, 79%, 51%);\n}\n.button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {\n background-color: hsl(208deg, 79%, 51%);\n border-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n.button.is-link.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(208deg, 79%, 51%) hsl(208deg, 79%, 51%) !important;\n}\n.button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-link.is-outlined[disabled], fieldset[disabled] .button.is-link.is-outlined {\n background-color: transparent;\n border-color: hsl(208deg, 79%, 51%);\n box-shadow: none;\n color: hsl(208deg, 79%, 51%);\n}\n.button.is-link.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff;\n}\n.button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined.is-focused {\n background-color: #fff;\n color: hsl(208deg, 79%, 51%);\n}\n.button.is-link.is-inverted.is-outlined.is-loading:hover::after, .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(208deg, 79%, 51%) hsl(208deg, 79%, 51%) !important;\n}\n.button.is-link.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-link.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff;\n}\n.button.is-link.is-light {\n background-color: #edf5fd;\n color: #1671c0;\n}\n.button.is-link.is-light:hover, .button.is-link.is-light.is-hovered {\n background-color: #e1effc;\n border-color: transparent;\n color: #1671c0;\n}\n.button.is-link.is-light:active, .button.is-link.is-light.is-active {\n background-color: #d6e9fa;\n border-color: transparent;\n color: #1671c0;\n}\n.button.is-info {\n background-color: hsl(217deg, 89%, 61%);\n border-color: transparent;\n color: #fff;\n}\n.button.is-info:hover, .button.is-info.is-hovered {\n background-color: #377ff3;\n border-color: transparent;\n color: #fff;\n}\n.button.is-info:focus, .button.is-info.is-focused {\n border-color: transparent;\n color: #fff;\n}\n.button.is-info:focus:not(:active), .button.is-info.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(67, 135, 244, 0.25);\n}\n.button.is-info:active, .button.is-info.is-active {\n background-color: #2b77f3;\n border-color: transparent;\n color: #fff;\n}\n.button.is-info[disabled], fieldset[disabled] .button.is-info {\n background-color: hsl(217deg, 89%, 61%);\n border-color: hsl(217deg, 89%, 61%);\n box-shadow: none;\n}\n.button.is-info.is-inverted {\n background-color: #fff;\n color: hsl(217deg, 89%, 61%);\n}\n.button.is-info.is-inverted:hover, .button.is-info.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-info.is-inverted[disabled], fieldset[disabled] .button.is-info.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: hsl(217deg, 89%, 61%);\n}\n.button.is-info.is-loading::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-info.is-outlined {\n background-color: transparent;\n border-color: hsl(217deg, 89%, 61%);\n color: hsl(217deg, 89%, 61%);\n}\n.button.is-info.is-outlined:hover, .button.is-info.is-outlined.is-hovered, .button.is-info.is-outlined:focus, .button.is-info.is-outlined.is-focused {\n background-color: hsl(217deg, 89%, 61%);\n border-color: hsl(217deg, 89%, 61%);\n color: #fff;\n}\n.button.is-info.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(217deg, 89%, 61%) hsl(217deg, 89%, 61%) !important;\n}\n.button.is-info.is-outlined.is-loading:hover::after, .button.is-info.is-outlined.is-loading.is-hovered::after, .button.is-info.is-outlined.is-loading:focus::after, .button.is-info.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-info.is-outlined[disabled], fieldset[disabled] .button.is-info.is-outlined {\n background-color: transparent;\n border-color: hsl(217deg, 89%, 61%);\n box-shadow: none;\n color: hsl(217deg, 89%, 61%);\n}\n.button.is-info.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff;\n}\n.button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined.is-hovered, .button.is-info.is-inverted.is-outlined:focus, .button.is-info.is-inverted.is-outlined.is-focused {\n background-color: #fff;\n color: hsl(217deg, 89%, 61%);\n}\n.button.is-info.is-inverted.is-outlined.is-loading:hover::after, .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-info.is-inverted.is-outlined.is-loading:focus::after, .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(217deg, 89%, 61%) hsl(217deg, 89%, 61%) !important;\n}\n.button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-info.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff;\n}\n.button.is-info.is-light {\n background-color: #ecf3fe;\n color: #0c53c6;\n}\n.button.is-info.is-light:hover, .button.is-info.is-light.is-hovered {\n background-color: #e0ebfd;\n border-color: transparent;\n color: #0c53c6;\n}\n.button.is-info.is-light:active, .button.is-info.is-light.is-active {\n background-color: #d4e3fc;\n border-color: transparent;\n color: #0c53c6;\n}\n.button.is-success {\n background-color: hsl(141deg, 42%, 53%);\n border-color: transparent;\n color: #fff;\n}\n.button.is-success:hover, .button.is-success.is-hovered {\n background-color: #4cb671;\n border-color: transparent;\n color: #fff;\n}\n.button.is-success:focus, .button.is-success.is-focused {\n border-color: transparent;\n color: #fff;\n}\n.button.is-success:focus:not(:active), .button.is-success.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(85, 185, 120, 0.25);\n}\n.button.is-success:active, .button.is-success.is-active {\n background-color: #47ae6b;\n border-color: transparent;\n color: #fff;\n}\n.button.is-success[disabled], fieldset[disabled] .button.is-success {\n background-color: hsl(141deg, 42%, 53%);\n border-color: hsl(141deg, 42%, 53%);\n box-shadow: none;\n}\n.button.is-success.is-inverted {\n background-color: #fff;\n color: hsl(141deg, 42%, 53%);\n}\n.button.is-success.is-inverted:hover, .button.is-success.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-success.is-inverted[disabled], fieldset[disabled] .button.is-success.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: hsl(141deg, 42%, 53%);\n}\n.button.is-success.is-loading::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-success.is-outlined {\n background-color: transparent;\n border-color: hsl(141deg, 42%, 53%);\n color: hsl(141deg, 42%, 53%);\n}\n.button.is-success.is-outlined:hover, .button.is-success.is-outlined.is-hovered, .button.is-success.is-outlined:focus, .button.is-success.is-outlined.is-focused {\n background-color: hsl(141deg, 42%, 53%);\n border-color: hsl(141deg, 42%, 53%);\n color: #fff;\n}\n.button.is-success.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(141deg, 42%, 53%) hsl(141deg, 42%, 53%) !important;\n}\n.button.is-success.is-outlined.is-loading:hover::after, .button.is-success.is-outlined.is-loading.is-hovered::after, .button.is-success.is-outlined.is-loading:focus::after, .button.is-success.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-success.is-outlined[disabled], fieldset[disabled] .button.is-success.is-outlined {\n background-color: transparent;\n border-color: hsl(141deg, 42%, 53%);\n box-shadow: none;\n color: hsl(141deg, 42%, 53%);\n}\n.button.is-success.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff;\n}\n.button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined.is-hovered, .button.is-success.is-inverted.is-outlined:focus, .button.is-success.is-inverted.is-outlined.is-focused {\n background-color: #fff;\n color: hsl(141deg, 42%, 53%);\n}\n.button.is-success.is-inverted.is-outlined.is-loading:hover::after, .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-success.is-inverted.is-outlined.is-loading:focus::after, .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(141deg, 42%, 53%) hsl(141deg, 42%, 53%) !important;\n}\n.button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-success.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff;\n}\n.button.is-success.is-light {\n background-color: #f1f9f4;\n color: #327b4c;\n}\n.button.is-success.is-light:hover, .button.is-success.is-light.is-hovered {\n background-color: #e7f5ec;\n border-color: transparent;\n color: #327b4c;\n}\n.button.is-success.is-light:active, .button.is-success.is-light.is-active {\n background-color: #def2e5;\n border-color: transparent;\n color: #327b4c;\n}\n.button.is-warning {\n background-color: hsl(44deg, 100%, 77%);\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning:hover, .button.is-warning.is-hovered {\n background-color: #ffdc7d;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning:focus, .button.is-warning.is-focused {\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning:focus:not(:active), .button.is-warning.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(255, 224, 138, 0.25);\n}\n.button.is-warning:active, .button.is-warning.is-active {\n background-color: #ffd970;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning[disabled], fieldset[disabled] .button.is-warning {\n background-color: hsl(44deg, 100%, 77%);\n border-color: hsl(44deg, 100%, 77%);\n box-shadow: none;\n}\n.button.is-warning.is-inverted {\n background-color: rgba(0, 0, 0, 0.7);\n color: hsl(44deg, 100%, 77%);\n}\n.button.is-warning.is-inverted:hover, .button.is-warning.is-inverted.is-hovered {\n background-color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning.is-inverted[disabled], fieldset[disabled] .button.is-warning.is-inverted {\n background-color: rgba(0, 0, 0, 0.7);\n border-color: transparent;\n box-shadow: none;\n color: hsl(44deg, 100%, 77%);\n}\n.button.is-warning.is-loading::after {\n border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important;\n}\n.button.is-warning.is-outlined {\n background-color: transparent;\n border-color: hsl(44deg, 100%, 77%);\n color: hsl(44deg, 100%, 77%);\n}\n.button.is-warning.is-outlined:hover, .button.is-warning.is-outlined.is-hovered, .button.is-warning.is-outlined:focus, .button.is-warning.is-outlined.is-focused {\n background-color: hsl(44deg, 100%, 77%);\n border-color: hsl(44deg, 100%, 77%);\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(44deg, 100%, 77%) hsl(44deg, 100%, 77%) !important;\n}\n.button.is-warning.is-outlined.is-loading:hover::after, .button.is-warning.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-outlined.is-loading:focus::after, .button.is-warning.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important;\n}\n.button.is-warning.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-outlined {\n background-color: transparent;\n border-color: hsl(44deg, 100%, 77%);\n box-shadow: none;\n color: hsl(44deg, 100%, 77%);\n}\n.button.is-warning.is-inverted.is-outlined {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined.is-hovered, .button.is-warning.is-inverted.is-outlined:focus, .button.is-warning.is-inverted.is-outlined.is-focused {\n background-color: rgba(0, 0, 0, 0.7);\n color: hsl(44deg, 100%, 77%);\n}\n.button.is-warning.is-inverted.is-outlined.is-loading:hover::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(44deg, 100%, 77%) hsl(44deg, 100%, 77%) !important;\n}\n.button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-inverted.is-outlined {\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.7);\n box-shadow: none;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-warning.is-light {\n background-color: #fffaeb;\n color: #946c00;\n}\n.button.is-warning.is-light:hover, .button.is-warning.is-light.is-hovered {\n background-color: #fff6de;\n border-color: transparent;\n color: #946c00;\n}\n.button.is-warning.is-light:active, .button.is-warning.is-light.is-active {\n background-color: #fff3d1;\n border-color: transparent;\n color: #946c00;\n}\n.button.is-danger {\n background-color: hsl(348deg, 100%, 61%);\n border-color: transparent;\n color: #fff;\n}\n.button.is-danger:hover, .button.is-danger.is-hovered {\n background-color: #ff2b56;\n border-color: transparent;\n color: #fff;\n}\n.button.is-danger:focus, .button.is-danger.is-focused {\n border-color: transparent;\n color: #fff;\n}\n.button.is-danger:focus:not(:active), .button.is-danger.is-focused:not(:active) {\n box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25);\n}\n.button.is-danger:active, .button.is-danger.is-active {\n background-color: #ff1f4b;\n border-color: transparent;\n color: #fff;\n}\n.button.is-danger[disabled], fieldset[disabled] .button.is-danger {\n background-color: hsl(348deg, 100%, 61%);\n border-color: hsl(348deg, 100%, 61%);\n box-shadow: none;\n}\n.button.is-danger.is-inverted {\n background-color: #fff;\n color: hsl(348deg, 100%, 61%);\n}\n.button.is-danger.is-inverted:hover, .button.is-danger.is-inverted.is-hovered {\n background-color: #f2f2f2;\n}\n.button.is-danger.is-inverted[disabled], fieldset[disabled] .button.is-danger.is-inverted {\n background-color: #fff;\n border-color: transparent;\n box-shadow: none;\n color: hsl(348deg, 100%, 61%);\n}\n.button.is-danger.is-loading::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-danger.is-outlined {\n background-color: transparent;\n border-color: hsl(348deg, 100%, 61%);\n color: hsl(348deg, 100%, 61%);\n}\n.button.is-danger.is-outlined:hover, .button.is-danger.is-outlined.is-hovered, .button.is-danger.is-outlined:focus, .button.is-danger.is-outlined.is-focused {\n background-color: hsl(348deg, 100%, 61%);\n border-color: hsl(348deg, 100%, 61%);\n color: #fff;\n}\n.button.is-danger.is-outlined.is-loading::after {\n border-color: transparent transparent hsl(348deg, 100%, 61%) hsl(348deg, 100%, 61%) !important;\n}\n.button.is-danger.is-outlined.is-loading:hover::after, .button.is-danger.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-outlined.is-loading:focus::after, .button.is-danger.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent #fff #fff !important;\n}\n.button.is-danger.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-outlined {\n background-color: transparent;\n border-color: hsl(348deg, 100%, 61%);\n box-shadow: none;\n color: hsl(348deg, 100%, 61%);\n}\n.button.is-danger.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n color: #fff;\n}\n.button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined.is-hovered, .button.is-danger.is-inverted.is-outlined:focus, .button.is-danger.is-inverted.is-outlined.is-focused {\n background-color: #fff;\n color: hsl(348deg, 100%, 61%);\n}\n.button.is-danger.is-inverted.is-outlined.is-loading:hover::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {\n border-color: transparent transparent hsl(348deg, 100%, 61%) hsl(348deg, 100%, 61%) !important;\n}\n.button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-inverted.is-outlined {\n background-color: transparent;\n border-color: #fff;\n box-shadow: none;\n color: #fff;\n}\n.button.is-danger.is-light {\n background-color: #ffebef;\n color: #db002c;\n}\n.button.is-danger.is-light:hover, .button.is-danger.is-light.is-hovered {\n background-color: #ffdee4;\n border-color: transparent;\n color: #db002c;\n}\n.button.is-danger.is-light:active, .button.is-danger.is-light.is-active {\n background-color: #ffd1da;\n border-color: transparent;\n color: #db002c;\n}\n.button.is-small {\n font-size: 0.75rem;\n}\n.button.is-small:not(.is-rounded) {\n border-radius: 2px;\n}\n.button.is-normal {\n font-size: 1rem;\n}\n.button.is-medium {\n font-size: 1.25rem;\n}\n.button.is-large {\n font-size: 1.5rem;\n}\n.button[disabled], fieldset[disabled] .button {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 86%);\n box-shadow: none;\n opacity: 0.5;\n}\n.button.is-fullwidth {\n display: flex;\n width: 100%;\n}\n.button.is-loading {\n color: transparent !important;\n pointer-events: none;\n}\n.button.is-loading::after {\n position: absolute;\n left: calc(50% - (1em * 0.5));\n top: calc(50% - (1em * 0.5));\n position: absolute !important;\n}\n.button.is-static {\n background-color: hsl(0deg, 0%, 96%);\n border-color: hsl(0deg, 0%, 86%);\n color: hsl(0deg, 0%, 48%);\n box-shadow: none;\n pointer-events: none;\n}\n.button.is-rounded {\n border-radius: 9999px;\n padding-left: calc(1em + 0.25em);\n padding-right: calc(1em + 0.25em);\n}\n\n.buttons {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n.buttons .button {\n margin-bottom: 0.5rem;\n}\n.buttons .button:not(:last-child):not(.is-fullwidth) {\n margin-right: 0.5rem;\n}\n.buttons:last-child {\n margin-bottom: -0.5rem;\n}\n.buttons:not(:last-child) {\n margin-bottom: 1rem;\n}\n.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {\n font-size: 0.75rem;\n}\n.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large):not(.is-rounded) {\n border-radius: 2px;\n}\n.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {\n font-size: 1.25rem;\n}\n.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {\n font-size: 1.5rem;\n}\n.buttons.has-addons .button:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.buttons.has-addons .button:not(:last-child) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n margin-right: -1px;\n}\n.buttons.has-addons .button:last-child {\n margin-right: 0;\n}\n.buttons.has-addons .button:hover, .buttons.has-addons .button.is-hovered {\n z-index: 2;\n}\n.buttons.has-addons .button:focus, .buttons.has-addons .button.is-focused, .buttons.has-addons .button:active, .buttons.has-addons .button.is-active, .buttons.has-addons .button.is-selected {\n z-index: 3;\n}\n.buttons.has-addons .button:focus:hover, .buttons.has-addons .button.is-focused:hover, .buttons.has-addons .button:active:hover, .buttons.has-addons .button.is-active:hover, .buttons.has-addons .button.is-selected:hover {\n z-index: 4;\n}\n.buttons.has-addons .button.is-expanded {\n flex-grow: 1;\n flex-shrink: 1;\n}\n.buttons.is-centered {\n justify-content: center;\n}\n.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n.buttons.is-right {\n justify-content: flex-end;\n}\n.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n\n@media screen and (max-width: 768px) {\n .button.is-responsive.is-small {\n font-size: 0.5625rem;\n }\n .button.is-responsive,\n.button.is-responsive.is-normal {\n font-size: 0.65625rem;\n }\n .button.is-responsive.is-medium {\n font-size: 0.75rem;\n }\n .button.is-responsive.is-large {\n font-size: 1rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .button.is-responsive.is-small {\n font-size: 0.65625rem;\n }\n .button.is-responsive,\n.button.is-responsive.is-normal {\n font-size: 0.75rem;\n }\n .button.is-responsive.is-medium {\n font-size: 1rem;\n }\n .button.is-responsive.is-large {\n font-size: 1.25rem;\n }\n}\n.container {\n flex-grow: 1;\n margin: 0 auto;\n position: relative;\n width: auto;\n}\n.container.is-fluid {\n max-width: none !important;\n padding-left: 32px;\n padding-right: 32px;\n width: 100%;\n}\n@media screen and (min-width: 1024px) {\n .container {\n max-width: 960px;\n }\n}\n@media screen and (max-width: 1215px) {\n .container.is-widescreen:not(.is-max-desktop) {\n max-width: 1152px;\n }\n}\n@media screen and (max-width: 1407px) {\n .container.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen) {\n max-width: 1344px;\n }\n}\n@media screen and (min-width: 1216px) {\n .container:not(.is-max-desktop) {\n max-width: 1152px;\n }\n}\n@media screen and (min-width: 1408px) {\n .container:not(.is-max-desktop):not(.is-max-widescreen) {\n max-width: 1344px;\n }\n}\n\n.content li + li {\n margin-top: 0.25em;\n}\n.content p:not(:last-child),\n.content dl:not(:last-child),\n.content ol:not(:last-child),\n.content ul:not(:last-child),\n.content blockquote:not(:last-child),\n.content pre:not(:last-child),\n.content table:not(:last-child) {\n margin-bottom: 1em;\n}\n.content h1,\n.content h2,\n.content h3,\n.content h4,\n.content h5,\n.content h6 {\n color: hsl(0deg, 0%, 21%);\n font-weight: 600;\n line-height: 1.125;\n}\n.content h1 {\n font-size: 2em;\n margin-bottom: 0.5em;\n}\n.content h1:not(:first-child) {\n margin-top: 1em;\n}\n.content h2 {\n font-size: 1.75em;\n margin-bottom: 0.5714em;\n}\n.content h2:not(:first-child) {\n margin-top: 1.1428em;\n}\n.content h3 {\n font-size: 1.5em;\n margin-bottom: 0.6666em;\n}\n.content h3:not(:first-child) {\n margin-top: 1.3333em;\n}\n.content h4 {\n font-size: 1.25em;\n margin-bottom: 0.8em;\n}\n.content h5 {\n font-size: 1.125em;\n margin-bottom: 0.8888em;\n}\n.content h6 {\n font-size: 1em;\n margin-bottom: 1em;\n}\n.content blockquote {\n background-color: hsl(0deg, 0%, 96%);\n border-left: 5px solid hsl(0deg, 0%, 86%);\n padding: 1.25em 1.5em;\n}\n.content ol {\n list-style-position: outside;\n margin-left: 2em;\n margin-top: 1em;\n}\n.content ol:not([type]) {\n list-style-type: decimal;\n}\n.content ol:not([type]).is-lower-alpha {\n list-style-type: lower-alpha;\n}\n.content ol:not([type]).is-lower-roman {\n list-style-type: lower-roman;\n}\n.content ol:not([type]).is-upper-alpha {\n list-style-type: upper-alpha;\n}\n.content ol:not([type]).is-upper-roman {\n list-style-type: upper-roman;\n}\n.content ul {\n list-style: disc outside;\n margin-left: 2em;\n margin-top: 1em;\n}\n.content ul ul {\n list-style-type: circle;\n margin-top: 0.5em;\n}\n.content ul ul ul {\n list-style-type: square;\n}\n.content dd {\n margin-left: 2em;\n}\n.content figure {\n margin-left: 2em;\n margin-right: 2em;\n text-align: center;\n}\n.content figure:not(:first-child) {\n margin-top: 2em;\n}\n.content figure:not(:last-child) {\n margin-bottom: 2em;\n}\n.content figure img {\n display: inline-block;\n}\n.content figure figcaption {\n font-style: italic;\n}\n.content pre {\n -webkit-overflow-scrolling: touch;\n overflow-x: auto;\n padding: 1.25em 1.5em;\n white-space: pre;\n word-wrap: normal;\n}\n.content sup,\n.content sub {\n font-size: 75%;\n}\n.content table {\n width: 100%;\n}\n.content table td,\n.content table th {\n border: 1px solid hsl(0deg, 0%, 86%);\n border-width: 0 0 1px;\n padding: 0.5em 0.75em;\n vertical-align: top;\n}\n.content table th {\n color: hsl(0deg, 0%, 21%);\n}\n.content table th:not([align]) {\n text-align: inherit;\n}\n.content table thead td,\n.content table thead th {\n border-width: 0 0 2px;\n color: hsl(0deg, 0%, 21%);\n}\n.content table tfoot td,\n.content table tfoot th {\n border-width: 2px 0 0;\n color: hsl(0deg, 0%, 21%);\n}\n.content table tbody tr:last-child td,\n.content table tbody tr:last-child th {\n border-bottom-width: 0;\n}\n.content .tabs li + li {\n margin-top: 0;\n}\n.content.is-small {\n font-size: 0.75rem;\n}\n.content.is-normal {\n font-size: 1rem;\n}\n.content.is-medium {\n font-size: 1.25rem;\n}\n.content.is-large {\n font-size: 1.5rem;\n}\n\n.icon {\n align-items: center;\n display: inline-flex;\n justify-content: center;\n height: 1.5rem;\n width: 1.5rem;\n}\n.icon.is-small {\n height: 1rem;\n width: 1rem;\n}\n.icon.is-medium {\n height: 2rem;\n width: 2rem;\n}\n.icon.is-large {\n height: 3rem;\n width: 3rem;\n}\n\n.icon-text {\n align-items: flex-start;\n color: inherit;\n display: inline-flex;\n flex-wrap: wrap;\n line-height: 1.5rem;\n vertical-align: top;\n}\n.icon-text .icon {\n flex-grow: 0;\n flex-shrink: 0;\n}\n.icon-text .icon:not(:last-child) {\n margin-right: 0.25em;\n}\n.icon-text .icon:not(:first-child) {\n margin-left: 0.25em;\n}\n\ndiv.icon-text {\n display: flex;\n}\n\n.notification {\n background-color: hsl(0deg, 0%, 96%);\n border-radius: 4px;\n position: relative;\n padding: 1.25rem 2.5rem 1.25rem 1.5rem;\n}\n.notification a:not(.button):not(.dropdown-item) {\n color: currentColor;\n text-decoration: underline;\n}\n.notification strong {\n color: currentColor;\n}\n.notification code,\n.notification pre {\n background: hsl(0deg, 0%, 0%);\n}\n.notification pre code {\n background: transparent;\n}\n.notification > .delete {\n right: 0.5rem;\n position: absolute;\n top: 0.5rem;\n}\n.notification .title,\n.notification .subtitle,\n.notification .content {\n color: currentColor;\n}\n.notification.is-white {\n background-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.notification.is-black {\n background-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.notification.is-light {\n background-color: hsl(0deg, 0%, 96%);\n color: rgba(0, 0, 0, 0.7);\n}\n.notification.is-dark {\n background-color: hsl(0deg, 0%, 21%);\n color: #fff;\n}\n.notification.is-primary {\n background-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.notification.is-primary.is-light {\n background-color: #ebfffc;\n color: #00947e;\n}\n.notification.is-link {\n background-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n.notification.is-link.is-light {\n background-color: #edf5fd;\n color: #1671c0;\n}\n.notification.is-info {\n background-color: hsl(217deg, 89%, 61%);\n color: #fff;\n}\n.notification.is-info.is-light {\n background-color: #ecf3fe;\n color: #0c53c6;\n}\n.notification.is-success {\n background-color: hsl(141deg, 42%, 53%);\n color: #fff;\n}\n.notification.is-success.is-light {\n background-color: #f1f9f4;\n color: #327b4c;\n}\n.notification.is-warning {\n background-color: hsl(44deg, 100%, 77%);\n color: rgba(0, 0, 0, 0.7);\n}\n.notification.is-warning.is-light {\n background-color: #fffaeb;\n color: #946c00;\n}\n.notification.is-danger {\n background-color: hsl(348deg, 100%, 61%);\n color: #fff;\n}\n.notification.is-danger.is-light {\n background-color: #ffebef;\n color: #db002c;\n}\n\n.progress {\n -moz-appearance: none;\n -webkit-appearance: none;\n border: none;\n border-radius: 9999px;\n display: block;\n height: 1rem;\n overflow: hidden;\n padding: 0;\n width: 100%;\n}\n.progress::-webkit-progress-bar {\n background-color: hsl(0deg, 0%, 93%);\n}\n.progress::-webkit-progress-value {\n background-color: hsl(0deg, 0%, 96%);\n}\n.progress::-moz-progress-bar {\n background-color: hsl(0deg, 0%, 96%);\n}\n.progress::-ms-fill {\n background-color: hsl(0deg, 0%, 96%);\n border: none;\n}\n.progress.is-white::-webkit-progress-value {\n background-color: hsl(0deg, 0%, 100%);\n}\n.progress.is-white::-moz-progress-bar {\n background-color: hsl(0deg, 0%, 100%);\n}\n.progress.is-white::-ms-fill {\n background-color: hsl(0deg, 0%, 100%);\n}\n.progress.is-white:indeterminate {\n background-image: linear-gradient(to right, hsl(0deg, 0%, 100%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-black::-webkit-progress-value {\n background-color: hsl(0deg, 0%, 0%);\n}\n.progress.is-black::-moz-progress-bar {\n background-color: hsl(0deg, 0%, 0%);\n}\n.progress.is-black::-ms-fill {\n background-color: hsl(0deg, 0%, 0%);\n}\n.progress.is-black:indeterminate {\n background-image: linear-gradient(to right, hsl(0deg, 0%, 0%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-light::-webkit-progress-value {\n background-color: hsl(0deg, 0%, 96%);\n}\n.progress.is-light::-moz-progress-bar {\n background-color: hsl(0deg, 0%, 96%);\n}\n.progress.is-light::-ms-fill {\n background-color: hsl(0deg, 0%, 96%);\n}\n.progress.is-light:indeterminate {\n background-image: linear-gradient(to right, hsl(0deg, 0%, 96%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-dark::-webkit-progress-value {\n background-color: hsl(0deg, 0%, 21%);\n}\n.progress.is-dark::-moz-progress-bar {\n background-color: hsl(0deg, 0%, 21%);\n}\n.progress.is-dark::-ms-fill {\n background-color: hsl(0deg, 0%, 21%);\n}\n.progress.is-dark:indeterminate {\n background-image: linear-gradient(to right, hsl(0deg, 0%, 21%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-primary::-webkit-progress-value {\n background-color: hsl(171deg, 100%, 41%);\n}\n.progress.is-primary::-moz-progress-bar {\n background-color: hsl(171deg, 100%, 41%);\n}\n.progress.is-primary::-ms-fill {\n background-color: hsl(171deg, 100%, 41%);\n}\n.progress.is-primary:indeterminate {\n background-image: linear-gradient(to right, hsl(171deg, 100%, 41%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-link::-webkit-progress-value {\n background-color: hsl(208deg, 79%, 51%);\n}\n.progress.is-link::-moz-progress-bar {\n background-color: hsl(208deg, 79%, 51%);\n}\n.progress.is-link::-ms-fill {\n background-color: hsl(208deg, 79%, 51%);\n}\n.progress.is-link:indeterminate {\n background-image: linear-gradient(to right, hsl(208deg, 79%, 51%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-info::-webkit-progress-value {\n background-color: hsl(217deg, 89%, 61%);\n}\n.progress.is-info::-moz-progress-bar {\n background-color: hsl(217deg, 89%, 61%);\n}\n.progress.is-info::-ms-fill {\n background-color: hsl(217deg, 89%, 61%);\n}\n.progress.is-info:indeterminate {\n background-image: linear-gradient(to right, hsl(217deg, 89%, 61%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-success::-webkit-progress-value {\n background-color: hsl(141deg, 42%, 53%);\n}\n.progress.is-success::-moz-progress-bar {\n background-color: hsl(141deg, 42%, 53%);\n}\n.progress.is-success::-ms-fill {\n background-color: hsl(141deg, 42%, 53%);\n}\n.progress.is-success:indeterminate {\n background-image: linear-gradient(to right, hsl(141deg, 42%, 53%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-warning::-webkit-progress-value {\n background-color: hsl(44deg, 100%, 77%);\n}\n.progress.is-warning::-moz-progress-bar {\n background-color: hsl(44deg, 100%, 77%);\n}\n.progress.is-warning::-ms-fill {\n background-color: hsl(44deg, 100%, 77%);\n}\n.progress.is-warning:indeterminate {\n background-image: linear-gradient(to right, hsl(44deg, 100%, 77%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress.is-danger::-webkit-progress-value {\n background-color: hsl(348deg, 100%, 61%);\n}\n.progress.is-danger::-moz-progress-bar {\n background-color: hsl(348deg, 100%, 61%);\n}\n.progress.is-danger::-ms-fill {\n background-color: hsl(348deg, 100%, 61%);\n}\n.progress.is-danger:indeterminate {\n background-image: linear-gradient(to right, hsl(348deg, 100%, 61%) 30%, hsl(0deg, 0%, 93%) 30%);\n}\n.progress:indeterminate {\n animation-duration: 1.5s;\n animation-iteration-count: infinite;\n animation-name: moveIndeterminate;\n animation-timing-function: linear;\n background-color: hsl(0deg, 0%, 93%);\n background-image: linear-gradient(to right, hsl(0deg, 0%, 96%) 30%, hsl(0deg, 0%, 93%) 30%);\n background-position: top left;\n background-repeat: no-repeat;\n background-size: 150% 150%;\n}\n.progress:indeterminate::-webkit-progress-bar {\n background-color: transparent;\n}\n.progress:indeterminate::-moz-progress-bar {\n background-color: transparent;\n}\n.progress:indeterminate::-ms-fill {\n animation-name: none;\n}\n.progress.is-small {\n height: 0.75rem;\n}\n.progress.is-medium {\n height: 1.25rem;\n}\n.progress.is-large {\n height: 1.5rem;\n}\n\n@keyframes moveIndeterminate {\n from {\n background-position: 200% 0;\n }\n to {\n background-position: -200% 0;\n }\n}\n.table {\n background-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 21%);\n}\n.table td,\n.table th {\n border: 1px solid hsl(0deg, 0%, 86%);\n border-width: 0 0 1px;\n padding: 0.5em 0.75em;\n vertical-align: top;\n}\n.table td.is-white,\n.table th.is-white {\n background-color: hsl(0deg, 0%, 100%);\n border-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.table td.is-black,\n.table th.is-black {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.table td.is-light,\n.table th.is-light {\n background-color: hsl(0deg, 0%, 96%);\n border-color: hsl(0deg, 0%, 96%);\n color: rgba(0, 0, 0, 0.7);\n}\n.table td.is-dark,\n.table th.is-dark {\n background-color: hsl(0deg, 0%, 21%);\n border-color: hsl(0deg, 0%, 21%);\n color: #fff;\n}\n.table td.is-primary,\n.table th.is-primary {\n background-color: hsl(171deg, 100%, 41%);\n border-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.table td.is-link,\n.table th.is-link {\n background-color: hsl(208deg, 79%, 51%);\n border-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n.table td.is-info,\n.table th.is-info {\n background-color: hsl(217deg, 89%, 61%);\n border-color: hsl(217deg, 89%, 61%);\n color: #fff;\n}\n.table td.is-success,\n.table th.is-success {\n background-color: hsl(141deg, 42%, 53%);\n border-color: hsl(141deg, 42%, 53%);\n color: #fff;\n}\n.table td.is-warning,\n.table th.is-warning {\n background-color: hsl(44deg, 100%, 77%);\n border-color: hsl(44deg, 100%, 77%);\n color: rgba(0, 0, 0, 0.7);\n}\n.table td.is-danger,\n.table th.is-danger {\n background-color: hsl(348deg, 100%, 61%);\n border-color: hsl(348deg, 100%, 61%);\n color: #fff;\n}\n.table td.is-narrow,\n.table th.is-narrow {\n white-space: nowrap;\n width: 1%;\n}\n.table td.is-selected,\n.table th.is-selected {\n background-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.table td.is-selected a,\n.table td.is-selected strong,\n.table th.is-selected a,\n.table th.is-selected strong {\n color: currentColor;\n}\n.table td.is-vcentered,\n.table th.is-vcentered {\n vertical-align: middle;\n}\n.table th {\n color: hsl(0deg, 0%, 21%);\n}\n.table th:not([align]) {\n text-align: left;\n}\n.table tr.is-selected {\n background-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.table tr.is-selected a,\n.table tr.is-selected strong {\n color: currentColor;\n}\n.table tr.is-selected td,\n.table tr.is-selected th {\n border-color: #fff;\n color: currentColor;\n}\n.table thead {\n background-color: transparent;\n}\n.table thead td,\n.table thead th {\n border-width: 0 0 2px;\n color: hsl(0deg, 0%, 21%);\n}\n.table tfoot {\n background-color: transparent;\n}\n.table tfoot td,\n.table tfoot th {\n border-width: 2px 0 0;\n color: hsl(0deg, 0%, 21%);\n}\n.table tbody {\n background-color: transparent;\n}\n.table tbody tr:last-child td,\n.table tbody tr:last-child th {\n border-bottom-width: 0;\n}\n.table.is-bordered td,\n.table.is-bordered th {\n border-width: 1px;\n}\n.table.is-bordered tr:last-child td,\n.table.is-bordered tr:last-child th {\n border-bottom-width: 1px;\n}\n.table.is-fullwidth {\n width: 100%;\n}\n.table.is-hoverable tbody tr:not(.is-selected):hover {\n background-color: hsl(0deg, 0%, 98%);\n}\n.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {\n background-color: hsl(0deg, 0%, 98%);\n}\n.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {\n background-color: hsl(0deg, 0%, 96%);\n}\n.table.is-narrow td,\n.table.is-narrow th {\n padding: 0.25em 0.5em;\n}\n.table.is-striped tbody tr:not(.is-selected):nth-child(even) {\n background-color: hsl(0deg, 0%, 98%);\n}\n\n.table-container {\n -webkit-overflow-scrolling: touch;\n overflow: auto;\n overflow-y: hidden;\n max-width: 100%;\n}\n\n.title,\n.subtitle {\n word-break: break-word;\n}\n.title em,\n.title span,\n.subtitle em,\n.subtitle span {\n font-weight: inherit;\n}\n.title sub,\n.subtitle sub {\n font-size: 0.75em;\n}\n.title sup,\n.subtitle sup {\n font-size: 0.75em;\n}\n.title .tag,\n.subtitle .tag {\n vertical-align: middle;\n}\n\n.title {\n color: hsl(0deg, 0%, 96%);\n font-size: 2rem;\n font-weight: 600;\n line-height: 1.125;\n}\n.title strong {\n color: inherit;\n font-weight: inherit;\n}\n.title:not(.is-spaced) + .subtitle {\n margin-top: -1.25rem;\n}\n.title.is-1 {\n font-size: 3rem;\n}\n.title.is-2 {\n font-size: 2.5rem;\n}\n.title.is-3 {\n font-size: 2rem;\n}\n.title.is-4 {\n font-size: 1.5rem;\n}\n.title.is-5 {\n font-size: 1.25rem;\n}\n.title.is-6 {\n font-size: 1rem;\n}\n.title.is-7 {\n font-size: 0.75rem;\n}\n\n.subtitle {\n color: hsl(0deg, 0%, 93%);\n font-size: 1.25rem;\n font-weight: 400;\n line-height: 1.25;\n}\n.subtitle strong {\n color: hsl(0deg, 0%, 93%);\n font-weight: 600;\n}\n.subtitle:not(.is-spaced) + .title {\n margin-top: -1.25rem;\n}\n.subtitle.is-1 {\n font-size: 3rem;\n}\n.subtitle.is-2 {\n font-size: 2.5rem;\n}\n.subtitle.is-3 {\n font-size: 2rem;\n}\n.subtitle.is-4 {\n font-size: 1.5rem;\n}\n.subtitle.is-5 {\n font-size: 1.25rem;\n}\n.subtitle.is-6 {\n font-size: 1rem;\n}\n.subtitle.is-7 {\n font-size: 0.75rem;\n}\n\n.heading {\n display: block;\n font-size: 11px;\n letter-spacing: 1px;\n margin-bottom: 5px;\n text-transform: uppercase;\n}\n\n.number {\n align-items: center;\n background-color: hsl(0deg, 0%, 96%);\n border-radius: 9999px;\n display: inline-flex;\n font-size: 1.25rem;\n height: 2em;\n justify-content: center;\n margin-right: 1.5rem;\n min-width: 2.5em;\n padding: 0.25rem 0.5rem;\n text-align: center;\n vertical-align: top;\n}\n\n/** Bulma: Form **/\n/* Bulma Form */\n.select select, .textarea, .input {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 48%);\n border-radius: 4px;\n color: hsl(0deg, 0%, 96%);\n}\n.select select::-moz-placeholder, .textarea::-moz-placeholder, .input::-moz-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .input::-webkit-input-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select:-moz-placeholder, .textarea:-moz-placeholder, .input:-moz-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select:-ms-input-placeholder, .textarea:-ms-input-placeholder, .input:-ms-input-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select:hover, .textarea:hover, .input:hover, .select select.is-hovered, .is-hovered.textarea, .is-hovered.input {\n border-color: hsl(208deg, 79%, 51%);\n}\n.select select:focus, .textarea:focus, .input:focus, .select select.is-focused, .is-focused.textarea, .is-focused.input, .select select:active, .textarea:active, .input:active, .select select.is-active, .is-active.textarea, .is-active.input {\n border-color: #edf5fd;\n box-shadow: 0 0 0 0.125em rgba(31, 137, 229, 0.25);\n}\n.select select[disabled], [disabled].textarea, [disabled].input, fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input {\n background-color: hsl(0deg, 0%, 29%);\n border-color: hsl(0deg, 0%, 48%);\n box-shadow: none;\n color: hsl(0deg, 0%, 96%);\n}\n.select select[disabled]::-moz-placeholder, [disabled].textarea::-moz-placeholder, [disabled].input::-moz-placeholder, fieldset[disabled] .select select::-moz-placeholder, .select fieldset[disabled] select::-moz-placeholder, fieldset[disabled] .textarea::-moz-placeholder, fieldset[disabled] .input::-moz-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select[disabled]::-webkit-input-placeholder, [disabled].textarea::-webkit-input-placeholder, [disabled].input::-webkit-input-placeholder, fieldset[disabled] .select select::-webkit-input-placeholder, .select fieldset[disabled] select::-webkit-input-placeholder, fieldset[disabled] .textarea::-webkit-input-placeholder, fieldset[disabled] .input::-webkit-input-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select[disabled]:-moz-placeholder, [disabled].textarea:-moz-placeholder, [disabled].input:-moz-placeholder, fieldset[disabled] .select select:-moz-placeholder, .select fieldset[disabled] select:-moz-placeholder, fieldset[disabled] .textarea:-moz-placeholder, fieldset[disabled] .input:-moz-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n.select select[disabled]:-ms-input-placeholder, [disabled].textarea:-ms-input-placeholder, [disabled].input:-ms-input-placeholder, fieldset[disabled] .select select:-ms-input-placeholder, .select fieldset[disabled] select:-ms-input-placeholder, fieldset[disabled] .textarea:-ms-input-placeholder, fieldset[disabled] .input:-ms-input-placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n\n.textarea, .input {\n box-shadow: inset 0 0.0625em 0.125em rgba(0, 0, 0, 0.05);\n max-width: 100%;\n width: 100%;\n}\n[readonly].textarea, [readonly].input {\n box-shadow: none;\n}\n.is-white.textarea, .is-white.input {\n border-color: hsl(0deg, 0%, 100%);\n}\n.is-white.textarea:focus, .is-white.input:focus, .is-white.is-focused.textarea, .is-white.is-focused.input, .is-white.textarea:active, .is-white.input:active, .is-white.is-active.textarea, .is-white.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25);\n}\n.is-black.textarea, .is-black.input {\n border-color: hsl(0deg, 0%, 0%);\n}\n.is-black.textarea:focus, .is-black.input:focus, .is-black.is-focused.textarea, .is-black.is-focused.input, .is-black.textarea:active, .is-black.input:active, .is-black.is-active.textarea, .is-black.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(0, 0, 0, 0.25);\n}\n.is-light.textarea, .is-light.input {\n border-color: hsl(0deg, 0%, 96%);\n}\n.is-light.textarea:focus, .is-light.input:focus, .is-light.is-focused.textarea, .is-light.is-focused.input, .is-light.textarea:active, .is-light.input:active, .is-light.is-active.textarea, .is-light.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25);\n}\n.is-dark.textarea, .is-dark.input {\n border-color: hsl(0deg, 0%, 21%);\n}\n.is-dark.textarea:focus, .is-dark.input:focus, .is-dark.is-focused.textarea, .is-dark.is-focused.input, .is-dark.textarea:active, .is-dark.input:active, .is-dark.is-active.textarea, .is-dark.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25);\n}\n.is-primary.textarea, .is-primary.input {\n border-color: hsl(171deg, 100%, 41%);\n}\n.is-primary.textarea:focus, .is-primary.input:focus, .is-primary.is-focused.textarea, .is-primary.is-focused.input, .is-primary.textarea:active, .is-primary.input:active, .is-primary.is-active.textarea, .is-primary.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);\n}\n.is-link.textarea, .is-link.input {\n border-color: hsl(208deg, 79%, 51%);\n}\n.is-link.textarea:focus, .is-link.input:focus, .is-link.is-focused.textarea, .is-link.is-focused.input, .is-link.textarea:active, .is-link.input:active, .is-link.is-active.textarea, .is-link.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(31, 137, 229, 0.25);\n}\n.is-info.textarea, .is-info.input {\n border-color: hsl(217deg, 89%, 61%);\n}\n.is-info.textarea:focus, .is-info.input:focus, .is-info.is-focused.textarea, .is-info.is-focused.input, .is-info.textarea:active, .is-info.input:active, .is-info.is-active.textarea, .is-info.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(67, 135, 244, 0.25);\n}\n.is-success.textarea, .is-success.input {\n border-color: hsl(141deg, 42%, 53%);\n}\n.is-success.textarea:focus, .is-success.input:focus, .is-success.is-focused.textarea, .is-success.is-focused.input, .is-success.textarea:active, .is-success.input:active, .is-success.is-active.textarea, .is-success.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(85, 185, 120, 0.25);\n}\n.is-warning.textarea, .is-warning.input {\n border-color: hsl(44deg, 100%, 77%);\n}\n.is-warning.textarea:focus, .is-warning.input:focus, .is-warning.is-focused.textarea, .is-warning.is-focused.input, .is-warning.textarea:active, .is-warning.input:active, .is-warning.is-active.textarea, .is-warning.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(255, 224, 138, 0.25);\n}\n.is-danger.textarea, .is-danger.input {\n border-color: hsl(348deg, 100%, 61%);\n}\n.is-danger.textarea:focus, .is-danger.input:focus, .is-danger.is-focused.textarea, .is-danger.is-focused.input, .is-danger.textarea:active, .is-danger.input:active, .is-danger.is-active.textarea, .is-danger.is-active.input {\n box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25);\n}\n.is-small.textarea, .is-small.input {\n border-radius: 2px;\n font-size: 0.75rem;\n}\n.is-medium.textarea, .is-medium.input {\n font-size: 1.25rem;\n}\n.is-large.textarea, .is-large.input {\n font-size: 1.5rem;\n}\n.is-fullwidth.textarea, .is-fullwidth.input {\n display: block;\n width: 100%;\n}\n.is-inline.textarea, .is-inline.input {\n display: inline;\n width: auto;\n}\n\n.input.is-rounded {\n border-radius: 9999px;\n padding-left: calc(calc(0.75em - 1px) + 0.375em);\n padding-right: calc(calc(0.75em - 1px) + 0.375em);\n}\n.input.is-static {\n background-color: transparent;\n border-color: transparent;\n box-shadow: none;\n padding-left: 0;\n padding-right: 0;\n}\n\n.textarea {\n display: block;\n max-width: 100%;\n min-width: 100%;\n padding: calc(0.75em - 1px);\n resize: vertical;\n}\n.textarea:not([rows]) {\n max-height: 40em;\n min-height: 8em;\n}\n.textarea[rows] {\n height: initial;\n}\n.textarea.has-fixed-size {\n resize: none;\n}\n\n.radio, .checkbox {\n cursor: pointer;\n display: inline-block;\n line-height: 1.25;\n position: relative;\n}\n.radio input, .checkbox input {\n cursor: pointer;\n}\n.radio:hover, .checkbox:hover {\n color: hsl(0deg, 0%, 21%);\n}\n[disabled].radio, [disabled].checkbox, fieldset[disabled] .radio, fieldset[disabled] .checkbox,\n.radio input[disabled],\n.checkbox input[disabled] {\n color: hsl(0deg, 0%, 96%);\n cursor: not-allowed;\n}\n\n.radio + .radio {\n margin-left: 0.5em;\n}\n\n.select {\n display: inline-block;\n max-width: 100%;\n position: relative;\n vertical-align: top;\n}\n.select:not(.is-multiple) {\n height: 2.5em;\n}\n.select:not(.is-multiple):not(.is-loading)::after {\n border-color: hsl(208deg, 79%, 51%);\n right: 1.125em;\n z-index: 4;\n}\n.select.is-rounded select {\n border-radius: 9999px;\n padding-left: 1em;\n}\n.select select {\n cursor: pointer;\n display: block;\n font-size: 1em;\n max-width: 100%;\n outline: none;\n}\n.select select::-ms-expand {\n display: none;\n}\n.select select[disabled]:hover, fieldset[disabled] .select select:hover {\n border-color: hsl(0deg, 0%, 48%);\n}\n.select select:not([multiple]) {\n padding-right: 2.5em;\n}\n.select select[multiple] {\n height: auto;\n padding: 0;\n}\n.select select[multiple] option {\n padding: 0.5em 1em;\n}\n.select:not(.is-multiple):not(.is-loading):hover::after {\n border-color: hsl(0deg, 0%, 21%);\n}\n.select.is-white:not(:hover)::after {\n border-color: hsl(0deg, 0%, 100%);\n}\n.select.is-white select {\n border-color: hsl(0deg, 0%, 100%);\n}\n.select.is-white select:hover, .select.is-white select.is-hovered {\n border-color: #f2f2f2;\n}\n.select.is-white select:focus, .select.is-white select.is-focused, .select.is-white select:active, .select.is-white select.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25);\n}\n.select.is-black:not(:hover)::after {\n border-color: hsl(0deg, 0%, 0%);\n}\n.select.is-black select {\n border-color: hsl(0deg, 0%, 0%);\n}\n.select.is-black select:hover, .select.is-black select.is-hovered {\n border-color: black;\n}\n.select.is-black select:focus, .select.is-black select.is-focused, .select.is-black select:active, .select.is-black select.is-active {\n box-shadow: 0 0 0 0.125em rgba(0, 0, 0, 0.25);\n}\n.select.is-light:not(:hover)::after {\n border-color: hsl(0deg, 0%, 96%);\n}\n.select.is-light select {\n border-color: hsl(0deg, 0%, 96%);\n}\n.select.is-light select:hover, .select.is-light select.is-hovered {\n border-color: #e8e8e8;\n}\n.select.is-light select:focus, .select.is-light select.is-focused, .select.is-light select:active, .select.is-light select.is-active {\n box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25);\n}\n.select.is-dark:not(:hover)::after {\n border-color: hsl(0deg, 0%, 21%);\n}\n.select.is-dark select {\n border-color: hsl(0deg, 0%, 21%);\n}\n.select.is-dark select:hover, .select.is-dark select.is-hovered {\n border-color: #292929;\n}\n.select.is-dark select:focus, .select.is-dark select.is-focused, .select.is-dark select:active, .select.is-dark select.is-active {\n box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25);\n}\n.select.is-primary:not(:hover)::after {\n border-color: hsl(171deg, 100%, 41%);\n}\n.select.is-primary select {\n border-color: hsl(171deg, 100%, 41%);\n}\n.select.is-primary select:hover, .select.is-primary select.is-hovered {\n border-color: #00b89c;\n}\n.select.is-primary select:focus, .select.is-primary select.is-focused, .select.is-primary select:active, .select.is-primary select.is-active {\n box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);\n}\n.select.is-link:not(:hover)::after {\n border-color: hsl(208deg, 79%, 51%);\n}\n.select.is-link select {\n border-color: hsl(208deg, 79%, 51%);\n}\n.select.is-link select:hover, .select.is-link select.is-hovered {\n border-color: #197bd2;\n}\n.select.is-link select:focus, .select.is-link select.is-focused, .select.is-link select:active, .select.is-link select.is-active {\n box-shadow: 0 0 0 0.125em rgba(31, 137, 229, 0.25);\n}\n.select.is-info:not(:hover)::after {\n border-color: hsl(217deg, 89%, 61%);\n}\n.select.is-info select {\n border-color: hsl(217deg, 89%, 61%);\n}\n.select.is-info select:hover, .select.is-info select.is-hovered {\n border-color: #2b77f3;\n}\n.select.is-info select:focus, .select.is-info select.is-focused, .select.is-info select:active, .select.is-info select.is-active {\n box-shadow: 0 0 0 0.125em rgba(67, 135, 244, 0.25);\n}\n.select.is-success:not(:hover)::after {\n border-color: hsl(141deg, 42%, 53%);\n}\n.select.is-success select {\n border-color: hsl(141deg, 42%, 53%);\n}\n.select.is-success select:hover, .select.is-success select.is-hovered {\n border-color: #47ae6b;\n}\n.select.is-success select:focus, .select.is-success select.is-focused, .select.is-success select:active, .select.is-success select.is-active {\n box-shadow: 0 0 0 0.125em rgba(85, 185, 120, 0.25);\n}\n.select.is-warning:not(:hover)::after {\n border-color: hsl(44deg, 100%, 77%);\n}\n.select.is-warning select {\n border-color: hsl(44deg, 100%, 77%);\n}\n.select.is-warning select:hover, .select.is-warning select.is-hovered {\n border-color: #ffd970;\n}\n.select.is-warning select:focus, .select.is-warning select.is-focused, .select.is-warning select:active, .select.is-warning select.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 224, 138, 0.25);\n}\n.select.is-danger:not(:hover)::after {\n border-color: hsl(348deg, 100%, 61%);\n}\n.select.is-danger select {\n border-color: hsl(348deg, 100%, 61%);\n}\n.select.is-danger select:hover, .select.is-danger select.is-hovered {\n border-color: #ff1f4b;\n}\n.select.is-danger select:focus, .select.is-danger select.is-focused, .select.is-danger select:active, .select.is-danger select.is-active {\n box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25);\n}\n.select.is-small {\n border-radius: 2px;\n font-size: 0.75rem;\n}\n.select.is-medium {\n font-size: 1.25rem;\n}\n.select.is-large {\n font-size: 1.5rem;\n}\n.select.is-disabled::after {\n border-color: hsl(0deg, 0%, 96%) !important;\n opacity: 0.5;\n}\n.select.is-fullwidth {\n width: 100%;\n}\n.select.is-fullwidth select {\n width: 100%;\n}\n.select.is-loading::after {\n margin-top: 0;\n position: absolute;\n right: 0.625em;\n top: 0.625em;\n transform: none;\n}\n.select.is-loading.is-small:after {\n font-size: 0.75rem;\n}\n.select.is-loading.is-medium:after {\n font-size: 1.25rem;\n}\n.select.is-loading.is-large:after {\n font-size: 1.5rem;\n}\n\n.file {\n align-items: stretch;\n display: flex;\n justify-content: flex-start;\n position: relative;\n}\n.file.is-white .file-cta {\n background-color: hsl(0deg, 0%, 100%);\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.file.is-white:hover .file-cta, .file.is-white.is-hovered .file-cta {\n background-color: #f9f9f9;\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.file.is-white:focus .file-cta, .file.is-white.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);\n color: hsl(0deg, 0%, 0%);\n}\n.file.is-white:active .file-cta, .file.is-white.is-active .file-cta {\n background-color: #f2f2f2;\n border-color: transparent;\n color: hsl(0deg, 0%, 0%);\n}\n.file.is-black .file-cta {\n background-color: hsl(0deg, 0%, 0%);\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.file.is-black:hover .file-cta, .file.is-black.is-hovered .file-cta {\n background-color: black;\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.file.is-black:focus .file-cta, .file.is-black.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.25);\n color: hsl(0deg, 0%, 100%);\n}\n.file.is-black:active .file-cta, .file.is-black.is-active .file-cta {\n background-color: black;\n border-color: transparent;\n color: hsl(0deg, 0%, 100%);\n}\n.file.is-light .file-cta {\n background-color: hsl(0deg, 0%, 96%);\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-light:hover .file-cta, .file.is-light.is-hovered .file-cta {\n background-color: #eeeeee;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-light:focus .file-cta, .file.is-light.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-light:active .file-cta, .file.is-light.is-active .file-cta {\n background-color: #e8e8e8;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-dark .file-cta {\n background-color: hsl(0deg, 0%, 21%);\n border-color: transparent;\n color: #fff;\n}\n.file.is-dark:hover .file-cta, .file.is-dark.is-hovered .file-cta {\n background-color: #2f2f2f;\n border-color: transparent;\n color: #fff;\n}\n.file.is-dark:focus .file-cta, .file.is-dark.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);\n color: #fff;\n}\n.file.is-dark:active .file-cta, .file.is-dark.is-active .file-cta {\n background-color: #292929;\n border-color: transparent;\n color: #fff;\n}\n.file.is-primary .file-cta {\n background-color: hsl(171deg, 100%, 41%);\n border-color: transparent;\n color: #fff;\n}\n.file.is-primary:hover .file-cta, .file.is-primary.is-hovered .file-cta {\n background-color: #00c4a7;\n border-color: transparent;\n color: #fff;\n}\n.file.is-primary:focus .file-cta, .file.is-primary.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(0, 209, 178, 0.25);\n color: #fff;\n}\n.file.is-primary:active .file-cta, .file.is-primary.is-active .file-cta {\n background-color: #00b89c;\n border-color: transparent;\n color: #fff;\n}\n.file.is-link .file-cta {\n background-color: hsl(208deg, 79%, 51%);\n border-color: transparent;\n color: #fff;\n}\n.file.is-link:hover .file-cta, .file.is-link.is-hovered .file-cta {\n background-color: #1a82dd;\n border-color: transparent;\n color: #fff;\n}\n.file.is-link:focus .file-cta, .file.is-link.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(31, 137, 229, 0.25);\n color: #fff;\n}\n.file.is-link:active .file-cta, .file.is-link.is-active .file-cta {\n background-color: #197bd2;\n border-color: transparent;\n color: #fff;\n}\n.file.is-info .file-cta {\n background-color: hsl(217deg, 89%, 61%);\n border-color: transparent;\n color: #fff;\n}\n.file.is-info:hover .file-cta, .file.is-info.is-hovered .file-cta {\n background-color: #377ff3;\n border-color: transparent;\n color: #fff;\n}\n.file.is-info:focus .file-cta, .file.is-info.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(67, 135, 244, 0.25);\n color: #fff;\n}\n.file.is-info:active .file-cta, .file.is-info.is-active .file-cta {\n background-color: #2b77f3;\n border-color: transparent;\n color: #fff;\n}\n.file.is-success .file-cta {\n background-color: hsl(141deg, 42%, 53%);\n border-color: transparent;\n color: #fff;\n}\n.file.is-success:hover .file-cta, .file.is-success.is-hovered .file-cta {\n background-color: #4cb671;\n border-color: transparent;\n color: #fff;\n}\n.file.is-success:focus .file-cta, .file.is-success.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(85, 185, 120, 0.25);\n color: #fff;\n}\n.file.is-success:active .file-cta, .file.is-success.is-active .file-cta {\n background-color: #47ae6b;\n border-color: transparent;\n color: #fff;\n}\n.file.is-warning .file-cta {\n background-color: hsl(44deg, 100%, 77%);\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-warning:hover .file-cta, .file.is-warning.is-hovered .file-cta {\n background-color: #ffdc7d;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-warning:focus .file-cta, .file.is-warning.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(255, 224, 138, 0.25);\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-warning:active .file-cta, .file.is-warning.is-active .file-cta {\n background-color: #ffd970;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.file.is-danger .file-cta {\n background-color: hsl(348deg, 100%, 61%);\n border-color: transparent;\n color: #fff;\n}\n.file.is-danger:hover .file-cta, .file.is-danger.is-hovered .file-cta {\n background-color: #ff2b56;\n border-color: transparent;\n color: #fff;\n}\n.file.is-danger:focus .file-cta, .file.is-danger.is-focused .file-cta {\n border-color: transparent;\n box-shadow: 0 0 0.5em rgba(255, 56, 96, 0.25);\n color: #fff;\n}\n.file.is-danger:active .file-cta, .file.is-danger.is-active .file-cta {\n background-color: #ff1f4b;\n border-color: transparent;\n color: #fff;\n}\n.file.is-small {\n font-size: 0.75rem;\n}\n.file.is-normal {\n font-size: 1rem;\n}\n.file.is-medium {\n font-size: 1.25rem;\n}\n.file.is-medium .file-icon .fa {\n font-size: 21px;\n}\n.file.is-large {\n font-size: 1.5rem;\n}\n.file.is-large .file-icon .fa {\n font-size: 28px;\n}\n.file.has-name .file-cta {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.file.has-name .file-name {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.file.has-name.is-empty .file-cta {\n border-radius: 4px;\n}\n.file.has-name.is-empty .file-name {\n display: none;\n}\n.file.is-boxed .file-label {\n flex-direction: column;\n}\n.file.is-boxed .file-cta {\n flex-direction: column;\n height: auto;\n padding: 1em 3em;\n}\n.file.is-boxed .file-name {\n border-width: 0 1px 1px;\n}\n.file.is-boxed .file-icon {\n height: 1.5em;\n width: 1.5em;\n}\n.file.is-boxed .file-icon .fa {\n font-size: 21px;\n}\n.file.is-boxed.is-small .file-icon .fa {\n font-size: 14px;\n}\n.file.is-boxed.is-medium .file-icon .fa {\n font-size: 28px;\n}\n.file.is-boxed.is-large .file-icon .fa {\n font-size: 35px;\n}\n.file.is-boxed.has-name .file-cta {\n border-radius: 4px 4px 0 0;\n}\n.file.is-boxed.has-name .file-name {\n border-radius: 0 0 4px 4px;\n border-width: 0 1px 1px;\n}\n.file.is-centered {\n justify-content: center;\n}\n.file.is-fullwidth .file-label {\n width: 100%;\n}\n.file.is-fullwidth .file-name {\n flex-grow: 1;\n max-width: none;\n}\n.file.is-right {\n justify-content: flex-end;\n}\n.file.is-right .file-cta {\n border-radius: 0 4px 4px 0;\n}\n.file.is-right .file-name {\n border-radius: 4px 0 0 4px;\n border-width: 1px 0 1px 1px;\n order: -1;\n}\n\n.file-label {\n align-items: stretch;\n display: flex;\n cursor: pointer;\n justify-content: flex-start;\n overflow: hidden;\n position: relative;\n}\n.file-label:hover .file-cta {\n background-color: #eeeeee;\n color: hsl(0deg, 0%, 21%);\n}\n.file-label:hover .file-name {\n border-color: #d5d5d5;\n}\n.file-label:active .file-cta {\n background-color: #e8e8e8;\n color: hsl(0deg, 0%, 21%);\n}\n.file-label:active .file-name {\n border-color: #cfcfcf;\n}\n\n.file-input {\n height: 100%;\n left: 0;\n opacity: 0;\n outline: none;\n position: absolute;\n top: 0;\n width: 100%;\n}\n\n.file-cta,\n.file-name {\n border-color: hsl(0deg, 0%, 86%);\n border-radius: 4px;\n font-size: 1em;\n padding-left: 1em;\n padding-right: 1em;\n white-space: nowrap;\n}\n\n.file-cta {\n background-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 96%);\n}\n\n.file-name {\n border-color: hsl(0deg, 0%, 86%);\n border-style: solid;\n border-width: 1px 1px 1px 0;\n display: block;\n max-width: 16em;\n overflow: hidden;\n text-align: inherit;\n text-overflow: ellipsis;\n}\n\n.file-icon {\n align-items: center;\n display: flex;\n height: 1em;\n justify-content: center;\n margin-right: 0.5em;\n width: 1em;\n}\n.file-icon .fa {\n font-size: 14px;\n}\n\n.label {\n color: hsl(0deg, 0%, 21%);\n display: block;\n font-size: 1rem;\n font-weight: 700;\n}\n.label:not(:last-child) {\n margin-bottom: 0.5em;\n}\n.label.is-small {\n font-size: 0.75rem;\n}\n.label.is-medium {\n font-size: 1.25rem;\n}\n.label.is-large {\n font-size: 1.5rem;\n}\n\n.help {\n display: block;\n font-size: 0.75rem;\n margin-top: 0.25rem;\n}\n.help.is-white {\n color: hsl(0deg, 0%, 100%);\n}\n.help.is-black {\n color: hsl(0deg, 0%, 0%);\n}\n.help.is-light {\n color: hsl(0deg, 0%, 96%);\n}\n.help.is-dark {\n color: hsl(0deg, 0%, 21%);\n}\n.help.is-primary {\n color: hsl(171deg, 100%, 41%);\n}\n.help.is-link {\n color: hsl(208deg, 79%, 51%);\n}\n.help.is-info {\n color: hsl(217deg, 89%, 61%);\n}\n.help.is-success {\n color: hsl(141deg, 42%, 53%);\n}\n.help.is-warning {\n color: hsl(44deg, 100%, 77%);\n}\n.help.is-danger {\n color: hsl(348deg, 100%, 61%);\n}\n\n.field:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n.field.has-addons {\n display: flex;\n justify-content: flex-start;\n}\n.field.has-addons .control:not(:last-child) {\n margin-right: -1px;\n}\n.field.has-addons .control:not(:first-child):not(:last-child) .button,\n.field.has-addons .control:not(:first-child):not(:last-child) .input,\n.field.has-addons .control:not(:first-child):not(:last-child) .select select {\n border-radius: 0;\n}\n.field.has-addons .control:first-child:not(:only-child) .button,\n.field.has-addons .control:first-child:not(:only-child) .input,\n.field.has-addons .control:first-child:not(:only-child) .select select {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.field.has-addons .control:last-child:not(:only-child) .button,\n.field.has-addons .control:last-child:not(:only-child) .input,\n.field.has-addons .control:last-child:not(:only-child) .select select {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button:not([disabled]).is-hovered,\n.field.has-addons .control .input:not([disabled]):hover,\n.field.has-addons .control .input:not([disabled]).is-hovered,\n.field.has-addons .control .select select:not([disabled]):hover,\n.field.has-addons .control .select select:not([disabled]).is-hovered {\n z-index: 2;\n}\n.field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button:not([disabled]).is-focused, .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button:not([disabled]).is-active,\n.field.has-addons .control .input:not([disabled]):focus,\n.field.has-addons .control .input:not([disabled]).is-focused,\n.field.has-addons .control .input:not([disabled]):active,\n.field.has-addons .control .input:not([disabled]).is-active,\n.field.has-addons .control .select select:not([disabled]):focus,\n.field.has-addons .control .select select:not([disabled]).is-focused,\n.field.has-addons .control .select select:not([disabled]):active,\n.field.has-addons .control .select select:not([disabled]).is-active {\n z-index: 3;\n}\n.field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button:not([disabled]).is-focused:hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button:not([disabled]).is-active:hover,\n.field.has-addons .control .input:not([disabled]):focus:hover,\n.field.has-addons .control .input:not([disabled]).is-focused:hover,\n.field.has-addons .control .input:not([disabled]):active:hover,\n.field.has-addons .control .input:not([disabled]).is-active:hover,\n.field.has-addons .control .select select:not([disabled]):focus:hover,\n.field.has-addons .control .select select:not([disabled]).is-focused:hover,\n.field.has-addons .control .select select:not([disabled]):active:hover,\n.field.has-addons .control .select select:not([disabled]).is-active:hover {\n z-index: 4;\n}\n.field.has-addons .control.is-expanded {\n flex-grow: 1;\n flex-shrink: 1;\n}\n.field.has-addons.has-addons-centered {\n justify-content: center;\n}\n.field.has-addons.has-addons-right {\n justify-content: flex-end;\n}\n.field.has-addons.has-addons-fullwidth .control {\n flex-grow: 1;\n flex-shrink: 0;\n}\n.field.is-grouped {\n display: flex;\n justify-content: flex-start;\n}\n.field.is-grouped > .control {\n flex-shrink: 0;\n}\n.field.is-grouped > .control:not(:last-child) {\n margin-bottom: 0;\n margin-right: 0.75rem;\n}\n.field.is-grouped > .control.is-expanded {\n flex-grow: 1;\n flex-shrink: 1;\n}\n.field.is-grouped.is-grouped-centered {\n justify-content: center;\n}\n.field.is-grouped.is-grouped-right {\n justify-content: flex-end;\n}\n.field.is-grouped.is-grouped-multiline {\n flex-wrap: wrap;\n}\n.field.is-grouped.is-grouped-multiline > .control:last-child, .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n.field.is-grouped.is-grouped-multiline:last-child {\n margin-bottom: -0.75rem;\n}\n.field.is-grouped.is-grouped-multiline:not(:last-child) {\n margin-bottom: 0;\n}\n@media screen and (min-width: 769px), print {\n .field.is-horizontal {\n display: flex;\n }\n}\n\n.field-label .label {\n font-size: inherit;\n}\n@media screen and (max-width: 768px) {\n .field-label {\n margin-bottom: 0.5rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .field-label {\n flex-basis: 0;\n flex-grow: 1;\n flex-shrink: 0;\n margin-right: 1.5rem;\n text-align: right;\n }\n .field-label.is-small {\n font-size: 0.75rem;\n padding-top: 0.375em;\n }\n .field-label.is-normal {\n padding-top: 0.375em;\n }\n .field-label.is-medium {\n font-size: 1.25rem;\n padding-top: 0.375em;\n }\n .field-label.is-large {\n font-size: 1.5rem;\n padding-top: 0.375em;\n }\n}\n\n.field-body .field .field {\n margin-bottom: 0;\n}\n@media screen and (min-width: 769px), print {\n .field-body {\n display: flex;\n flex-basis: 0;\n flex-grow: 5;\n flex-shrink: 1;\n }\n .field-body .field {\n margin-bottom: 0;\n }\n .field-body > .field {\n flex-shrink: 1;\n }\n .field-body > .field:not(.is-narrow) {\n flex-grow: 1;\n }\n .field-body > .field:not(:last-child) {\n margin-right: 0.75rem;\n }\n}\n\n.control {\n box-sizing: border-box;\n clear: both;\n font-size: 1rem;\n position: relative;\n text-align: inherit;\n}\n.control.has-icons-left .input:focus ~ .icon,\n.control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon,\n.control.has-icons-right .select:focus ~ .icon {\n color: hsl(0deg, 0%, 96%);\n}\n.control.has-icons-left .input.is-small ~ .icon,\n.control.has-icons-left .select.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon,\n.control.has-icons-right .select.is-small ~ .icon {\n font-size: 0.75rem;\n}\n.control.has-icons-left .input.is-medium ~ .icon,\n.control.has-icons-left .select.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon,\n.control.has-icons-right .select.is-medium ~ .icon {\n font-size: 1.25rem;\n}\n.control.has-icons-left .input.is-large ~ .icon,\n.control.has-icons-left .select.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon,\n.control.has-icons-right .select.is-large ~ .icon {\n font-size: 1.5rem;\n}\n.control.has-icons-left .icon, .control.has-icons-right .icon {\n color: hsl(0deg, 0%, 86%);\n height: 2.5em;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 2.5em;\n z-index: 4;\n}\n.control.has-icons-left .input,\n.control.has-icons-left .select select {\n padding-left: 2.5em;\n}\n.control.has-icons-left .icon.is-left {\n left: 0;\n}\n.control.has-icons-right .input,\n.control.has-icons-right .select select {\n padding-right: 2.5em;\n}\n.control.has-icons-right .icon.is-right {\n right: 0;\n}\n.control.is-loading::after {\n position: absolute !important;\n right: 0.625em;\n top: 0.625em;\n z-index: 4;\n}\n.control.is-loading.is-small:after {\n font-size: 0.75rem;\n}\n.control.is-loading.is-medium:after {\n font-size: 1.25rem;\n}\n.control.is-loading.is-large:after {\n font-size: 1.5rem;\n}\n\n/** Bulma: Componenets **/\n.level {\n align-items: center;\n justify-content: space-between;\n}\n.level code {\n border-radius: 4px;\n}\n.level img {\n display: inline-block;\n vertical-align: top;\n}\n.level.is-mobile {\n display: flex;\n}\n.level.is-mobile .level-left,\n.level.is-mobile .level-right {\n display: flex;\n}\n.level.is-mobile .level-left + .level-right {\n margin-top: 0;\n}\n.level.is-mobile .level-item:not(:last-child) {\n margin-bottom: 0;\n margin-right: 0.75rem;\n}\n.level.is-mobile .level-item:not(.is-narrow) {\n flex-grow: 1;\n}\n@media screen and (min-width: 769px), print {\n .level {\n display: flex;\n }\n .level > .level-item:not(.is-narrow) {\n flex-grow: 1;\n }\n}\n\n.level-item {\n align-items: center;\n display: flex;\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 0;\n justify-content: center;\n}\n.level-item .title,\n.level-item .subtitle {\n margin-bottom: 0;\n}\n@media screen and (max-width: 768px) {\n .level-item:not(:last-child) {\n margin-bottom: 0.75rem;\n }\n}\n\n.level-left,\n.level-right {\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 0;\n}\n.level-left .level-item.is-flexible,\n.level-right .level-item.is-flexible {\n flex-grow: 1;\n}\n@media screen and (min-width: 769px), print {\n .level-left .level-item:not(:last-child),\n.level-right .level-item:not(:last-child) {\n margin-right: 0.75rem;\n }\n}\n\n.level-left {\n align-items: center;\n justify-content: flex-start;\n}\n@media screen and (max-width: 768px) {\n .level-left + .level-right {\n margin-top: 1.5rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .level-left {\n display: flex;\n }\n}\n\n.level-right {\n align-items: center;\n justify-content: flex-end;\n}\n@media screen and (min-width: 769px), print {\n .level-right {\n display: flex;\n }\n}\n\n.menu {\n font-size: 1rem;\n}\n.menu.is-small {\n font-size: 0.75rem;\n}\n.menu.is-medium {\n font-size: 1.25rem;\n}\n.menu.is-large {\n font-size: 1.5rem;\n}\n\n.menu-list {\n line-height: 1.25;\n}\n.menu-list a {\n border-radius: 2px;\n color: hsl(0deg, 0%, 96%);\n display: block;\n padding: 0.5em 0.75em;\n}\n.menu-list a:hover {\n background-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 21%);\n}\n.menu-list a.is-active {\n background-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n.menu-list li ul {\n border-left: 1px solid hsl(0deg, 0%, 86%);\n margin: 0.75em;\n padding-left: 0.75em;\n}\n\n.menu-label {\n color: hsl(0deg, 0%, 48%);\n font-size: 0.75em;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n}\n.menu-label:not(:first-child) {\n margin-top: 1em;\n}\n.menu-label:not(:last-child) {\n margin-bottom: 1em;\n}\n\n.message {\n background-color: hsl(0deg, 0%, 96%);\n border-radius: 4px;\n font-size: 1rem;\n}\n.message strong {\n color: currentColor;\n}\n.message a:not(.button):not(.tag):not(.dropdown-item) {\n color: currentColor;\n text-decoration: underline;\n}\n.message.is-small {\n font-size: 0.75rem;\n}\n.message.is-medium {\n font-size: 1.25rem;\n}\n.message.is-large {\n font-size: 1.5rem;\n}\n.message.is-white {\n background-color: white;\n}\n.message.is-white .message-header {\n background-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.message.is-white .message-body {\n border-color: hsl(0deg, 0%, 100%);\n}\n.message.is-black {\n background-color: #fafafa;\n}\n.message.is-black .message-header {\n background-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.message.is-black .message-body {\n border-color: hsl(0deg, 0%, 0%);\n}\n.message.is-light {\n background-color: #fafafa;\n}\n.message.is-light .message-header {\n background-color: hsl(0deg, 0%, 96%);\n color: rgba(0, 0, 0, 0.7);\n}\n.message.is-light .message-body {\n border-color: hsl(0deg, 0%, 96%);\n}\n.message.is-dark {\n background-color: #fafafa;\n}\n.message.is-dark .message-header {\n background-color: hsl(0deg, 0%, 21%);\n color: #fff;\n}\n.message.is-dark .message-body {\n border-color: hsl(0deg, 0%, 21%);\n}\n.message.is-primary {\n background-color: #ebfffc;\n}\n.message.is-primary .message-header {\n background-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.message.is-primary .message-body {\n border-color: hsl(171deg, 100%, 41%);\n color: #00947e;\n}\n.message.is-link {\n background-color: #edf5fd;\n}\n.message.is-link .message-header {\n background-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n.message.is-link .message-body {\n border-color: hsl(208deg, 79%, 51%);\n color: #1671c0;\n}\n.message.is-info {\n background-color: #ecf3fe;\n}\n.message.is-info .message-header {\n background-color: hsl(217deg, 89%, 61%);\n color: #fff;\n}\n.message.is-info .message-body {\n border-color: hsl(217deg, 89%, 61%);\n color: #0c53c6;\n}\n.message.is-success {\n background-color: #f1f9f4;\n}\n.message.is-success .message-header {\n background-color: hsl(141deg, 42%, 53%);\n color: #fff;\n}\n.message.is-success .message-body {\n border-color: hsl(141deg, 42%, 53%);\n color: #327b4c;\n}\n.message.is-warning {\n background-color: #fffaeb;\n}\n.message.is-warning .message-header {\n background-color: hsl(44deg, 100%, 77%);\n color: rgba(0, 0, 0, 0.7);\n}\n.message.is-warning .message-body {\n border-color: hsl(44deg, 100%, 77%);\n color: #946c00;\n}\n.message.is-danger {\n background-color: #ffebef;\n}\n.message.is-danger .message-header {\n background-color: hsl(348deg, 100%, 61%);\n color: #fff;\n}\n.message.is-danger .message-body {\n border-color: hsl(348deg, 100%, 61%);\n color: #db002c;\n}\n\n.message-header {\n align-items: center;\n background-color: hsl(0deg, 0%, 96%);\n border-radius: 4px 4px 0 0;\n color: #fff;\n display: flex;\n font-weight: 700;\n justify-content: space-between;\n line-height: 1.25;\n padding: 0.75em 1em;\n position: relative;\n}\n.message-header .delete {\n flex-grow: 0;\n flex-shrink: 0;\n margin-left: 0.75em;\n}\n.message-header + .message-body {\n border-width: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.message-body {\n border-color: hsl(0deg, 0%, 86%);\n border-radius: 4px;\n border-style: solid;\n border-width: 0 0 0 4px;\n color: hsl(0deg, 0%, 96%);\n padding: 1.25em 1.5em;\n}\n.message-body code,\n.message-body pre {\n background-color: hsl(0deg, 0%, 0%);\n}\n.message-body pre code {\n background-color: transparent;\n}\n\n.pagination {\n font-size: 1rem;\n margin: -0.25rem;\n}\n.pagination.is-small {\n font-size: 0.75rem;\n}\n.pagination.is-medium {\n font-size: 1.25rem;\n}\n.pagination.is-large {\n font-size: 1.5rem;\n}\n.pagination.is-rounded .pagination-previous,\n.pagination.is-rounded .pagination-next {\n padding-left: 1em;\n padding-right: 1em;\n border-radius: 9999px;\n}\n.pagination.is-rounded .pagination-link {\n border-radius: 9999px;\n}\n\n.pagination,\n.pagination-list {\n align-items: center;\n display: flex;\n justify-content: center;\n text-align: center;\n}\n\n.pagination-previous,\n.pagination-next,\n.pagination-link,\n.pagination-ellipsis {\n font-size: 1em;\n justify-content: center;\n margin: 0.25rem;\n padding-left: 0.5em;\n padding-right: 0.5em;\n text-align: center;\n}\n\n.pagination-previous,\n.pagination-next,\n.pagination-link {\n border-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 96%);\n min-width: 2.5em;\n}\n.pagination-previous:hover,\n.pagination-next:hover,\n.pagination-link:hover {\n border-color: hsl(0deg, 0%, 96%);\n color: hsl(0deg, 0%, 0%);\n}\n.pagination-previous:focus,\n.pagination-next:focus,\n.pagination-link:focus {\n border-color: hsl(208deg, 79%, 51%);\n}\n.pagination-previous:active,\n.pagination-next:active,\n.pagination-link:active {\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n.pagination-previous[disabled], .pagination-previous.is-disabled,\n.pagination-next[disabled],\n.pagination-next.is-disabled,\n.pagination-link[disabled],\n.pagination-link.is-disabled {\n background-color: hsl(0deg, 0%, 29%);\n border-color: hsl(0deg, 0%, 48%);\n box-shadow: none;\n color: hsl(0deg, 0%, 64%);\n opacity: 0.5;\n}\n\n.pagination-previous,\n.pagination-next {\n padding-left: 0.75em;\n padding-right: 0.75em;\n white-space: nowrap;\n}\n\n.pagination-link.is-current {\n background-color: hsl(208deg, 79%, 51%);\n border-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n\n.pagination-ellipsis {\n color: hsl(0deg, 0%, 71%);\n pointer-events: none;\n}\n\n.pagination-list {\n flex-wrap: wrap;\n}\n.pagination-list li {\n list-style: none;\n}\n\n@media screen and (max-width: 768px) {\n .pagination {\n flex-wrap: wrap;\n }\n .pagination-previous,\n.pagination-next {\n flex-grow: 1;\n flex-shrink: 1;\n }\n .pagination-list li {\n flex-grow: 1;\n flex-shrink: 1;\n }\n}\n@media screen and (min-width: 769px), print {\n .pagination-list {\n flex-grow: 1;\n flex-shrink: 1;\n justify-content: flex-start;\n order: 1;\n }\n .pagination-previous,\n.pagination-next,\n.pagination-link,\n.pagination-ellipsis {\n margin-bottom: 0;\n margin-top: 0;\n }\n .pagination-previous {\n order: 2;\n }\n .pagination-next {\n order: 3;\n }\n .pagination {\n justify-content: space-between;\n margin-bottom: 0;\n margin-top: 0;\n }\n .pagination.is-centered .pagination-previous {\n order: 1;\n }\n .pagination.is-centered .pagination-list {\n justify-content: center;\n order: 2;\n }\n .pagination.is-centered .pagination-next {\n order: 3;\n }\n .pagination.is-right .pagination-previous {\n order: 1;\n }\n .pagination.is-right .pagination-next {\n order: 2;\n }\n .pagination.is-right .pagination-list {\n justify-content: flex-end;\n order: 3;\n }\n}\n.tabs {\n -webkit-overflow-scrolling: touch;\n align-items: stretch;\n display: flex;\n font-size: 1rem;\n justify-content: space-between;\n overflow: hidden;\n overflow-x: auto;\n white-space: nowrap;\n}\n.tabs a {\n align-items: center;\n border-bottom-color: hsl(0deg, 0%, 86%);\n border-bottom-style: solid;\n border-bottom-width: 1px;\n color: hsl(0deg, 0%, 96%);\n display: flex;\n justify-content: center;\n margin-bottom: -1px;\n padding: 0.5em 1em;\n vertical-align: top;\n}\n.tabs a:hover {\n border-bottom-color: hsl(0deg, 0%, 21%);\n color: hsl(0deg, 0%, 96%);\n}\n.tabs li {\n display: block;\n}\n.tabs li.is-active a {\n border-bottom-color: hsl(208deg, 79%, 51%);\n color: hsl(208deg, 79%, 51%);\n}\n.tabs ul {\n align-items: center;\n border-bottom-color: hsl(0deg, 0%, 86%);\n border-bottom-style: solid;\n border-bottom-width: 1px;\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n justify-content: flex-start;\n}\n.tabs ul.is-left {\n padding-right: 0.75em;\n}\n.tabs ul.is-center {\n flex: none;\n justify-content: center;\n padding-left: 0.75em;\n padding-right: 0.75em;\n}\n.tabs ul.is-right {\n justify-content: flex-end;\n padding-left: 0.75em;\n}\n.tabs .icon:first-child {\n margin-right: 0.5em;\n}\n.tabs .icon:last-child {\n margin-left: 0.5em;\n}\n.tabs.is-centered ul {\n justify-content: center;\n}\n.tabs.is-right ul {\n justify-content: flex-end;\n}\n.tabs.is-boxed a {\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.tabs.is-boxed a:hover {\n background-color: hsl(0deg, 0%, 21%);\n border-bottom-color: hsl(0deg, 0%, 48%);\n}\n.tabs.is-boxed li.is-active a {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 48%);\n border-bottom-color: transparent !important;\n}\n.tabs.is-fullwidth li {\n flex-grow: 1;\n flex-shrink: 0;\n}\n.tabs.is-toggle a {\n border-color: hsl(0deg, 0%, 86%);\n border-style: solid;\n border-width: 1px;\n margin-bottom: 0;\n position: relative;\n}\n.tabs.is-toggle a:hover {\n background-color: hsl(0deg, 0%, 96%);\n border-color: hsl(208deg, 79%, 51%);\n z-index: 2;\n}\n.tabs.is-toggle li + li {\n margin-left: -1px;\n}\n.tabs.is-toggle li:first-child a {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.tabs.is-toggle li:last-child a {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.tabs.is-toggle li.is-active a {\n background-color: hsl(208deg, 79%, 51%);\n border-color: hsl(208deg, 79%, 51%);\n color: #fff;\n z-index: 1;\n}\n.tabs.is-toggle ul {\n border-bottom: none;\n}\n.tabs.is-toggle.is-toggle-rounded li:first-child a {\n border-bottom-left-radius: 9999px;\n border-top-left-radius: 9999px;\n padding-left: 1.25em;\n}\n.tabs.is-toggle.is-toggle-rounded li:last-child a {\n border-bottom-right-radius: 9999px;\n border-top-right-radius: 9999px;\n padding-right: 1.25em;\n}\n.tabs.is-small {\n font-size: 0.75rem;\n}\n.tabs.is-medium {\n font-size: 1.25rem;\n}\n.tabs.is-large {\n font-size: 1.5rem;\n}\n\n/** Bulma: Grid **/\n/* Bulma Grid */\n.column {\n display: block;\n flex-basis: 0;\n flex-grow: 1;\n flex-shrink: 1;\n padding: 0.75rem;\n}\n.columns.is-mobile > .column.is-narrow {\n flex: none;\n width: unset;\n}\n.columns.is-mobile > .column.is-full {\n flex: none;\n width: 100%;\n}\n.columns.is-mobile > .column.is-three-quarters {\n flex: none;\n width: 75%;\n}\n.columns.is-mobile > .column.is-two-thirds {\n flex: none;\n width: 66.6666%;\n}\n.columns.is-mobile > .column.is-half {\n flex: none;\n width: 50%;\n}\n.columns.is-mobile > .column.is-one-third {\n flex: none;\n width: 33.3333%;\n}\n.columns.is-mobile > .column.is-one-quarter {\n flex: none;\n width: 25%;\n}\n.columns.is-mobile > .column.is-one-fifth {\n flex: none;\n width: 20%;\n}\n.columns.is-mobile > .column.is-two-fifths {\n flex: none;\n width: 40%;\n}\n.columns.is-mobile > .column.is-three-fifths {\n flex: none;\n width: 60%;\n}\n.columns.is-mobile > .column.is-four-fifths {\n flex: none;\n width: 80%;\n}\n.columns.is-mobile > .column.is-offset-three-quarters {\n margin-left: 75%;\n}\n.columns.is-mobile > .column.is-offset-two-thirds {\n margin-left: 66.6666%;\n}\n.columns.is-mobile > .column.is-offset-half {\n margin-left: 50%;\n}\n.columns.is-mobile > .column.is-offset-one-third {\n margin-left: 33.3333%;\n}\n.columns.is-mobile > .column.is-offset-one-quarter {\n margin-left: 25%;\n}\n.columns.is-mobile > .column.is-offset-one-fifth {\n margin-left: 20%;\n}\n.columns.is-mobile > .column.is-offset-two-fifths {\n margin-left: 40%;\n}\n.columns.is-mobile > .column.is-offset-three-fifths {\n margin-left: 60%;\n}\n.columns.is-mobile > .column.is-offset-four-fifths {\n margin-left: 80%;\n}\n.columns.is-mobile > .column.is-0 {\n flex: none;\n width: 0%;\n}\n.columns.is-mobile > .column.is-offset-0 {\n margin-left: 0%;\n}\n.columns.is-mobile > .column.is-1 {\n flex: none;\n width: 8.33333337%;\n}\n.columns.is-mobile > .column.is-offset-1 {\n margin-left: 8.33333337%;\n}\n.columns.is-mobile > .column.is-2 {\n flex: none;\n width: 16.66666674%;\n}\n.columns.is-mobile > .column.is-offset-2 {\n margin-left: 16.66666674%;\n}\n.columns.is-mobile > .column.is-3 {\n flex: none;\n width: 25%;\n}\n.columns.is-mobile > .column.is-offset-3 {\n margin-left: 25%;\n}\n.columns.is-mobile > .column.is-4 {\n flex: none;\n width: 33.33333337%;\n}\n.columns.is-mobile > .column.is-offset-4 {\n margin-left: 33.33333337%;\n}\n.columns.is-mobile > .column.is-5 {\n flex: none;\n width: 41.66666674%;\n}\n.columns.is-mobile > .column.is-offset-5 {\n margin-left: 41.66666674%;\n}\n.columns.is-mobile > .column.is-6 {\n flex: none;\n width: 50%;\n}\n.columns.is-mobile > .column.is-offset-6 {\n margin-left: 50%;\n}\n.columns.is-mobile > .column.is-7 {\n flex: none;\n width: 58.33333337%;\n}\n.columns.is-mobile > .column.is-offset-7 {\n margin-left: 58.33333337%;\n}\n.columns.is-mobile > .column.is-8 {\n flex: none;\n width: 66.66666674%;\n}\n.columns.is-mobile > .column.is-offset-8 {\n margin-left: 66.66666674%;\n}\n.columns.is-mobile > .column.is-9 {\n flex: none;\n width: 75%;\n}\n.columns.is-mobile > .column.is-offset-9 {\n margin-left: 75%;\n}\n.columns.is-mobile > .column.is-10 {\n flex: none;\n width: 83.33333337%;\n}\n.columns.is-mobile > .column.is-offset-10 {\n margin-left: 83.33333337%;\n}\n.columns.is-mobile > .column.is-11 {\n flex: none;\n width: 91.66666674%;\n}\n.columns.is-mobile > .column.is-offset-11 {\n margin-left: 91.66666674%;\n}\n.columns.is-mobile > .column.is-12 {\n flex: none;\n width: 100%;\n}\n.columns.is-mobile > .column.is-offset-12 {\n margin-left: 100%;\n}\n@media screen and (max-width: 768px) {\n .column.is-narrow-mobile {\n flex: none;\n width: unset;\n }\n .column.is-full-mobile {\n flex: none;\n width: 100%;\n }\n .column.is-three-quarters-mobile {\n flex: none;\n width: 75%;\n }\n .column.is-two-thirds-mobile {\n flex: none;\n width: 66.6666%;\n }\n .column.is-half-mobile {\n flex: none;\n width: 50%;\n }\n .column.is-one-third-mobile {\n flex: none;\n width: 33.3333%;\n }\n .column.is-one-quarter-mobile {\n flex: none;\n width: 25%;\n }\n .column.is-one-fifth-mobile {\n flex: none;\n width: 20%;\n }\n .column.is-two-fifths-mobile {\n flex: none;\n width: 40%;\n }\n .column.is-three-fifths-mobile {\n flex: none;\n width: 60%;\n }\n .column.is-four-fifths-mobile {\n flex: none;\n width: 80%;\n }\n .column.is-offset-three-quarters-mobile {\n margin-left: 75%;\n }\n .column.is-offset-two-thirds-mobile {\n margin-left: 66.6666%;\n }\n .column.is-offset-half-mobile {\n margin-left: 50%;\n }\n .column.is-offset-one-third-mobile {\n margin-left: 33.3333%;\n }\n .column.is-offset-one-quarter-mobile {\n margin-left: 25%;\n }\n .column.is-offset-one-fifth-mobile {\n margin-left: 20%;\n }\n .column.is-offset-two-fifths-mobile {\n margin-left: 40%;\n }\n .column.is-offset-three-fifths-mobile {\n margin-left: 60%;\n }\n .column.is-offset-four-fifths-mobile {\n margin-left: 80%;\n }\n .column.is-0-mobile {\n flex: none;\n width: 0%;\n }\n .column.is-offset-0-mobile {\n margin-left: 0%;\n }\n .column.is-1-mobile {\n flex: none;\n width: 8.33333337%;\n }\n .column.is-offset-1-mobile {\n margin-left: 8.33333337%;\n }\n .column.is-2-mobile {\n flex: none;\n width: 16.66666674%;\n }\n .column.is-offset-2-mobile {\n margin-left: 16.66666674%;\n }\n .column.is-3-mobile {\n flex: none;\n width: 25%;\n }\n .column.is-offset-3-mobile {\n margin-left: 25%;\n }\n .column.is-4-mobile {\n flex: none;\n width: 33.33333337%;\n }\n .column.is-offset-4-mobile {\n margin-left: 33.33333337%;\n }\n .column.is-5-mobile {\n flex: none;\n width: 41.66666674%;\n }\n .column.is-offset-5-mobile {\n margin-left: 41.66666674%;\n }\n .column.is-6-mobile {\n flex: none;\n width: 50%;\n }\n .column.is-offset-6-mobile {\n margin-left: 50%;\n }\n .column.is-7-mobile {\n flex: none;\n width: 58.33333337%;\n }\n .column.is-offset-7-mobile {\n margin-left: 58.33333337%;\n }\n .column.is-8-mobile {\n flex: none;\n width: 66.66666674%;\n }\n .column.is-offset-8-mobile {\n margin-left: 66.66666674%;\n }\n .column.is-9-mobile {\n flex: none;\n width: 75%;\n }\n .column.is-offset-9-mobile {\n margin-left: 75%;\n }\n .column.is-10-mobile {\n flex: none;\n width: 83.33333337%;\n }\n .column.is-offset-10-mobile {\n margin-left: 83.33333337%;\n }\n .column.is-11-mobile {\n flex: none;\n width: 91.66666674%;\n }\n .column.is-offset-11-mobile {\n margin-left: 91.66666674%;\n }\n .column.is-12-mobile {\n flex: none;\n width: 100%;\n }\n .column.is-offset-12-mobile {\n margin-left: 100%;\n }\n}\n@media screen and (min-width: 769px), print {\n .column.is-narrow, .column.is-narrow-tablet {\n flex: none;\n width: unset;\n }\n .column.is-full, .column.is-full-tablet {\n flex: none;\n width: 100%;\n }\n .column.is-three-quarters, .column.is-three-quarters-tablet {\n flex: none;\n width: 75%;\n }\n .column.is-two-thirds, .column.is-two-thirds-tablet {\n flex: none;\n width: 66.6666%;\n }\n .column.is-half, .column.is-half-tablet {\n flex: none;\n width: 50%;\n }\n .column.is-one-third, .column.is-one-third-tablet {\n flex: none;\n width: 33.3333%;\n }\n .column.is-one-quarter, .column.is-one-quarter-tablet {\n flex: none;\n width: 25%;\n }\n .column.is-one-fifth, .column.is-one-fifth-tablet {\n flex: none;\n width: 20%;\n }\n .column.is-two-fifths, .column.is-two-fifths-tablet {\n flex: none;\n width: 40%;\n }\n .column.is-three-fifths, .column.is-three-fifths-tablet {\n flex: none;\n width: 60%;\n }\n .column.is-four-fifths, .column.is-four-fifths-tablet {\n flex: none;\n width: 80%;\n }\n .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet {\n margin-left: 75%;\n }\n .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet {\n margin-left: 66.6666%;\n }\n .column.is-offset-half, .column.is-offset-half-tablet {\n margin-left: 50%;\n }\n .column.is-offset-one-third, .column.is-offset-one-third-tablet {\n margin-left: 33.3333%;\n }\n .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet {\n margin-left: 25%;\n }\n .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet {\n margin-left: 20%;\n }\n .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet {\n margin-left: 40%;\n }\n .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet {\n margin-left: 60%;\n }\n .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet {\n margin-left: 80%;\n }\n .column.is-0, .column.is-0-tablet {\n flex: none;\n width: 0%;\n }\n .column.is-offset-0, .column.is-offset-0-tablet {\n margin-left: 0%;\n }\n .column.is-1, .column.is-1-tablet {\n flex: none;\n width: 8.33333337%;\n }\n .column.is-offset-1, .column.is-offset-1-tablet {\n margin-left: 8.33333337%;\n }\n .column.is-2, .column.is-2-tablet {\n flex: none;\n width: 16.66666674%;\n }\n .column.is-offset-2, .column.is-offset-2-tablet {\n margin-left: 16.66666674%;\n }\n .column.is-3, .column.is-3-tablet {\n flex: none;\n width: 25%;\n }\n .column.is-offset-3, .column.is-offset-3-tablet {\n margin-left: 25%;\n }\n .column.is-4, .column.is-4-tablet {\n flex: none;\n width: 33.33333337%;\n }\n .column.is-offset-4, .column.is-offset-4-tablet {\n margin-left: 33.33333337%;\n }\n .column.is-5, .column.is-5-tablet {\n flex: none;\n width: 41.66666674%;\n }\n .column.is-offset-5, .column.is-offset-5-tablet {\n margin-left: 41.66666674%;\n }\n .column.is-6, .column.is-6-tablet {\n flex: none;\n width: 50%;\n }\n .column.is-offset-6, .column.is-offset-6-tablet {\n margin-left: 50%;\n }\n .column.is-7, .column.is-7-tablet {\n flex: none;\n width: 58.33333337%;\n }\n .column.is-offset-7, .column.is-offset-7-tablet {\n margin-left: 58.33333337%;\n }\n .column.is-8, .column.is-8-tablet {\n flex: none;\n width: 66.66666674%;\n }\n .column.is-offset-8, .column.is-offset-8-tablet {\n margin-left: 66.66666674%;\n }\n .column.is-9, .column.is-9-tablet {\n flex: none;\n width: 75%;\n }\n .column.is-offset-9, .column.is-offset-9-tablet {\n margin-left: 75%;\n }\n .column.is-10, .column.is-10-tablet {\n flex: none;\n width: 83.33333337%;\n }\n .column.is-offset-10, .column.is-offset-10-tablet {\n margin-left: 83.33333337%;\n }\n .column.is-11, .column.is-11-tablet {\n flex: none;\n width: 91.66666674%;\n }\n .column.is-offset-11, .column.is-offset-11-tablet {\n margin-left: 91.66666674%;\n }\n .column.is-12, .column.is-12-tablet {\n flex: none;\n width: 100%;\n }\n .column.is-offset-12, .column.is-offset-12-tablet {\n margin-left: 100%;\n }\n}\n@media screen and (max-width: 1023px) {\n .column.is-narrow-touch {\n flex: none;\n width: unset;\n }\n .column.is-full-touch {\n flex: none;\n width: 100%;\n }\n .column.is-three-quarters-touch {\n flex: none;\n width: 75%;\n }\n .column.is-two-thirds-touch {\n flex: none;\n width: 66.6666%;\n }\n .column.is-half-touch {\n flex: none;\n width: 50%;\n }\n .column.is-one-third-touch {\n flex: none;\n width: 33.3333%;\n }\n .column.is-one-quarter-touch {\n flex: none;\n width: 25%;\n }\n .column.is-one-fifth-touch {\n flex: none;\n width: 20%;\n }\n .column.is-two-fifths-touch {\n flex: none;\n width: 40%;\n }\n .column.is-three-fifths-touch {\n flex: none;\n width: 60%;\n }\n .column.is-four-fifths-touch {\n flex: none;\n width: 80%;\n }\n .column.is-offset-three-quarters-touch {\n margin-left: 75%;\n }\n .column.is-offset-two-thirds-touch {\n margin-left: 66.6666%;\n }\n .column.is-offset-half-touch {\n margin-left: 50%;\n }\n .column.is-offset-one-third-touch {\n margin-left: 33.3333%;\n }\n .column.is-offset-one-quarter-touch {\n margin-left: 25%;\n }\n .column.is-offset-one-fifth-touch {\n margin-left: 20%;\n }\n .column.is-offset-two-fifths-touch {\n margin-left: 40%;\n }\n .column.is-offset-three-fifths-touch {\n margin-left: 60%;\n }\n .column.is-offset-four-fifths-touch {\n margin-left: 80%;\n }\n .column.is-0-touch {\n flex: none;\n width: 0%;\n }\n .column.is-offset-0-touch {\n margin-left: 0%;\n }\n .column.is-1-touch {\n flex: none;\n width: 8.33333337%;\n }\n .column.is-offset-1-touch {\n margin-left: 8.33333337%;\n }\n .column.is-2-touch {\n flex: none;\n width: 16.66666674%;\n }\n .column.is-offset-2-touch {\n margin-left: 16.66666674%;\n }\n .column.is-3-touch {\n flex: none;\n width: 25%;\n }\n .column.is-offset-3-touch {\n margin-left: 25%;\n }\n .column.is-4-touch {\n flex: none;\n width: 33.33333337%;\n }\n .column.is-offset-4-touch {\n margin-left: 33.33333337%;\n }\n .column.is-5-touch {\n flex: none;\n width: 41.66666674%;\n }\n .column.is-offset-5-touch {\n margin-left: 41.66666674%;\n }\n .column.is-6-touch {\n flex: none;\n width: 50%;\n }\n .column.is-offset-6-touch {\n margin-left: 50%;\n }\n .column.is-7-touch {\n flex: none;\n width: 58.33333337%;\n }\n .column.is-offset-7-touch {\n margin-left: 58.33333337%;\n }\n .column.is-8-touch {\n flex: none;\n width: 66.66666674%;\n }\n .column.is-offset-8-touch {\n margin-left: 66.66666674%;\n }\n .column.is-9-touch {\n flex: none;\n width: 75%;\n }\n .column.is-offset-9-touch {\n margin-left: 75%;\n }\n .column.is-10-touch {\n flex: none;\n width: 83.33333337%;\n }\n .column.is-offset-10-touch {\n margin-left: 83.33333337%;\n }\n .column.is-11-touch {\n flex: none;\n width: 91.66666674%;\n }\n .column.is-offset-11-touch {\n margin-left: 91.66666674%;\n }\n .column.is-12-touch {\n flex: none;\n width: 100%;\n }\n .column.is-offset-12-touch {\n margin-left: 100%;\n }\n}\n@media screen and (min-width: 1024px) {\n .column.is-narrow-desktop {\n flex: none;\n width: unset;\n }\n .column.is-full-desktop {\n flex: none;\n width: 100%;\n }\n .column.is-three-quarters-desktop {\n flex: none;\n width: 75%;\n }\n .column.is-two-thirds-desktop {\n flex: none;\n width: 66.6666%;\n }\n .column.is-half-desktop {\n flex: none;\n width: 50%;\n }\n .column.is-one-third-desktop {\n flex: none;\n width: 33.3333%;\n }\n .column.is-one-quarter-desktop {\n flex: none;\n width: 25%;\n }\n .column.is-one-fifth-desktop {\n flex: none;\n width: 20%;\n }\n .column.is-two-fifths-desktop {\n flex: none;\n width: 40%;\n }\n .column.is-three-fifths-desktop {\n flex: none;\n width: 60%;\n }\n .column.is-four-fifths-desktop {\n flex: none;\n width: 80%;\n }\n .column.is-offset-three-quarters-desktop {\n margin-left: 75%;\n }\n .column.is-offset-two-thirds-desktop {\n margin-left: 66.6666%;\n }\n .column.is-offset-half-desktop {\n margin-left: 50%;\n }\n .column.is-offset-one-third-desktop {\n margin-left: 33.3333%;\n }\n .column.is-offset-one-quarter-desktop {\n margin-left: 25%;\n }\n .column.is-offset-one-fifth-desktop {\n margin-left: 20%;\n }\n .column.is-offset-two-fifths-desktop {\n margin-left: 40%;\n }\n .column.is-offset-three-fifths-desktop {\n margin-left: 60%;\n }\n .column.is-offset-four-fifths-desktop {\n margin-left: 80%;\n }\n .column.is-0-desktop {\n flex: none;\n width: 0%;\n }\n .column.is-offset-0-desktop {\n margin-left: 0%;\n }\n .column.is-1-desktop {\n flex: none;\n width: 8.33333337%;\n }\n .column.is-offset-1-desktop {\n margin-left: 8.33333337%;\n }\n .column.is-2-desktop {\n flex: none;\n width: 16.66666674%;\n }\n .column.is-offset-2-desktop {\n margin-left: 16.66666674%;\n }\n .column.is-3-desktop {\n flex: none;\n width: 25%;\n }\n .column.is-offset-3-desktop {\n margin-left: 25%;\n }\n .column.is-4-desktop {\n flex: none;\n width: 33.33333337%;\n }\n .column.is-offset-4-desktop {\n margin-left: 33.33333337%;\n }\n .column.is-5-desktop {\n flex: none;\n width: 41.66666674%;\n }\n .column.is-offset-5-desktop {\n margin-left: 41.66666674%;\n }\n .column.is-6-desktop {\n flex: none;\n width: 50%;\n }\n .column.is-offset-6-desktop {\n margin-left: 50%;\n }\n .column.is-7-desktop {\n flex: none;\n width: 58.33333337%;\n }\n .column.is-offset-7-desktop {\n margin-left: 58.33333337%;\n }\n .column.is-8-desktop {\n flex: none;\n width: 66.66666674%;\n }\n .column.is-offset-8-desktop {\n margin-left: 66.66666674%;\n }\n .column.is-9-desktop {\n flex: none;\n width: 75%;\n }\n .column.is-offset-9-desktop {\n margin-left: 75%;\n }\n .column.is-10-desktop {\n flex: none;\n width: 83.33333337%;\n }\n .column.is-offset-10-desktop {\n margin-left: 83.33333337%;\n }\n .column.is-11-desktop {\n flex: none;\n width: 91.66666674%;\n }\n .column.is-offset-11-desktop {\n margin-left: 91.66666674%;\n }\n .column.is-12-desktop {\n flex: none;\n width: 100%;\n }\n .column.is-offset-12-desktop {\n margin-left: 100%;\n }\n}\n@media screen and (min-width: 1216px) {\n .column.is-narrow-widescreen {\n flex: none;\n width: unset;\n }\n .column.is-full-widescreen {\n flex: none;\n width: 100%;\n }\n .column.is-three-quarters-widescreen {\n flex: none;\n width: 75%;\n }\n .column.is-two-thirds-widescreen {\n flex: none;\n width: 66.6666%;\n }\n .column.is-half-widescreen {\n flex: none;\n width: 50%;\n }\n .column.is-one-third-widescreen {\n flex: none;\n width: 33.3333%;\n }\n .column.is-one-quarter-widescreen {\n flex: none;\n width: 25%;\n }\n .column.is-one-fifth-widescreen {\n flex: none;\n width: 20%;\n }\n .column.is-two-fifths-widescreen {\n flex: none;\n width: 40%;\n }\n .column.is-three-fifths-widescreen {\n flex: none;\n width: 60%;\n }\n .column.is-four-fifths-widescreen {\n flex: none;\n width: 80%;\n }\n .column.is-offset-three-quarters-widescreen {\n margin-left: 75%;\n }\n .column.is-offset-two-thirds-widescreen {\n margin-left: 66.6666%;\n }\n .column.is-offset-half-widescreen {\n margin-left: 50%;\n }\n .column.is-offset-one-third-widescreen {\n margin-left: 33.3333%;\n }\n .column.is-offset-one-quarter-widescreen {\n margin-left: 25%;\n }\n .column.is-offset-one-fifth-widescreen {\n margin-left: 20%;\n }\n .column.is-offset-two-fifths-widescreen {\n margin-left: 40%;\n }\n .column.is-offset-three-fifths-widescreen {\n margin-left: 60%;\n }\n .column.is-offset-four-fifths-widescreen {\n margin-left: 80%;\n }\n .column.is-0-widescreen {\n flex: none;\n width: 0%;\n }\n .column.is-offset-0-widescreen {\n margin-left: 0%;\n }\n .column.is-1-widescreen {\n flex: none;\n width: 8.33333337%;\n }\n .column.is-offset-1-widescreen {\n margin-left: 8.33333337%;\n }\n .column.is-2-widescreen {\n flex: none;\n width: 16.66666674%;\n }\n .column.is-offset-2-widescreen {\n margin-left: 16.66666674%;\n }\n .column.is-3-widescreen {\n flex: none;\n width: 25%;\n }\n .column.is-offset-3-widescreen {\n margin-left: 25%;\n }\n .column.is-4-widescreen {\n flex: none;\n width: 33.33333337%;\n }\n .column.is-offset-4-widescreen {\n margin-left: 33.33333337%;\n }\n .column.is-5-widescreen {\n flex: none;\n width: 41.66666674%;\n }\n .column.is-offset-5-widescreen {\n margin-left: 41.66666674%;\n }\n .column.is-6-widescreen {\n flex: none;\n width: 50%;\n }\n .column.is-offset-6-widescreen {\n margin-left: 50%;\n }\n .column.is-7-widescreen {\n flex: none;\n width: 58.33333337%;\n }\n .column.is-offset-7-widescreen {\n margin-left: 58.33333337%;\n }\n .column.is-8-widescreen {\n flex: none;\n width: 66.66666674%;\n }\n .column.is-offset-8-widescreen {\n margin-left: 66.66666674%;\n }\n .column.is-9-widescreen {\n flex: none;\n width: 75%;\n }\n .column.is-offset-9-widescreen {\n margin-left: 75%;\n }\n .column.is-10-widescreen {\n flex: none;\n width: 83.33333337%;\n }\n .column.is-offset-10-widescreen {\n margin-left: 83.33333337%;\n }\n .column.is-11-widescreen {\n flex: none;\n width: 91.66666674%;\n }\n .column.is-offset-11-widescreen {\n margin-left: 91.66666674%;\n }\n .column.is-12-widescreen {\n flex: none;\n width: 100%;\n }\n .column.is-offset-12-widescreen {\n margin-left: 100%;\n }\n}\n@media screen and (min-width: 1408px) {\n .column.is-narrow-fullhd {\n flex: none;\n width: unset;\n }\n .column.is-full-fullhd {\n flex: none;\n width: 100%;\n }\n .column.is-three-quarters-fullhd {\n flex: none;\n width: 75%;\n }\n .column.is-two-thirds-fullhd {\n flex: none;\n width: 66.6666%;\n }\n .column.is-half-fullhd {\n flex: none;\n width: 50%;\n }\n .column.is-one-third-fullhd {\n flex: none;\n width: 33.3333%;\n }\n .column.is-one-quarter-fullhd {\n flex: none;\n width: 25%;\n }\n .column.is-one-fifth-fullhd {\n flex: none;\n width: 20%;\n }\n .column.is-two-fifths-fullhd {\n flex: none;\n width: 40%;\n }\n .column.is-three-fifths-fullhd {\n flex: none;\n width: 60%;\n }\n .column.is-four-fifths-fullhd {\n flex: none;\n width: 80%;\n }\n .column.is-offset-three-quarters-fullhd {\n margin-left: 75%;\n }\n .column.is-offset-two-thirds-fullhd {\n margin-left: 66.6666%;\n }\n .column.is-offset-half-fullhd {\n margin-left: 50%;\n }\n .column.is-offset-one-third-fullhd {\n margin-left: 33.3333%;\n }\n .column.is-offset-one-quarter-fullhd {\n margin-left: 25%;\n }\n .column.is-offset-one-fifth-fullhd {\n margin-left: 20%;\n }\n .column.is-offset-two-fifths-fullhd {\n margin-left: 40%;\n }\n .column.is-offset-three-fifths-fullhd {\n margin-left: 60%;\n }\n .column.is-offset-four-fifths-fullhd {\n margin-left: 80%;\n }\n .column.is-0-fullhd {\n flex: none;\n width: 0%;\n }\n .column.is-offset-0-fullhd {\n margin-left: 0%;\n }\n .column.is-1-fullhd {\n flex: none;\n width: 8.33333337%;\n }\n .column.is-offset-1-fullhd {\n margin-left: 8.33333337%;\n }\n .column.is-2-fullhd {\n flex: none;\n width: 16.66666674%;\n }\n .column.is-offset-2-fullhd {\n margin-left: 16.66666674%;\n }\n .column.is-3-fullhd {\n flex: none;\n width: 25%;\n }\n .column.is-offset-3-fullhd {\n margin-left: 25%;\n }\n .column.is-4-fullhd {\n flex: none;\n width: 33.33333337%;\n }\n .column.is-offset-4-fullhd {\n margin-left: 33.33333337%;\n }\n .column.is-5-fullhd {\n flex: none;\n width: 41.66666674%;\n }\n .column.is-offset-5-fullhd {\n margin-left: 41.66666674%;\n }\n .column.is-6-fullhd {\n flex: none;\n width: 50%;\n }\n .column.is-offset-6-fullhd {\n margin-left: 50%;\n }\n .column.is-7-fullhd {\n flex: none;\n width: 58.33333337%;\n }\n .column.is-offset-7-fullhd {\n margin-left: 58.33333337%;\n }\n .column.is-8-fullhd {\n flex: none;\n width: 66.66666674%;\n }\n .column.is-offset-8-fullhd {\n margin-left: 66.66666674%;\n }\n .column.is-9-fullhd {\n flex: none;\n width: 75%;\n }\n .column.is-offset-9-fullhd {\n margin-left: 75%;\n }\n .column.is-10-fullhd {\n flex: none;\n width: 83.33333337%;\n }\n .column.is-offset-10-fullhd {\n margin-left: 83.33333337%;\n }\n .column.is-11-fullhd {\n flex: none;\n width: 91.66666674%;\n }\n .column.is-offset-11-fullhd {\n margin-left: 91.66666674%;\n }\n .column.is-12-fullhd {\n flex: none;\n width: 100%;\n }\n .column.is-offset-12-fullhd {\n margin-left: 100%;\n }\n}\n\n.columns {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n margin-top: -0.75rem;\n}\n.columns:last-child {\n margin-bottom: -0.75rem;\n}\n.columns:not(:last-child) {\n margin-bottom: calc(1.5rem - 0.75rem);\n}\n.columns.is-centered {\n justify-content: center;\n}\n.columns.is-gapless {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n}\n.columns.is-gapless > .column {\n margin: 0;\n padding: 0 !important;\n}\n.columns.is-gapless:not(:last-child) {\n margin-bottom: 1.5rem;\n}\n.columns.is-gapless:last-child {\n margin-bottom: 0;\n}\n.columns.is-mobile {\n display: flex;\n}\n.columns.is-multiline {\n flex-wrap: wrap;\n}\n.columns.is-vcentered {\n align-items: center;\n}\n@media screen and (min-width: 769px), print {\n .columns:not(.is-desktop) {\n display: flex;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-desktop {\n display: flex;\n }\n}\n\n.columns.is-variable {\n --columnGap: 0.75rem;\n margin-left: calc(-1 * var(--columnGap));\n margin-right: calc(-1 * var(--columnGap));\n}\n.columns.is-variable > .column {\n padding-left: var(--columnGap);\n padding-right: var(--columnGap);\n}\n.columns.is-variable.is-0 {\n --columnGap: 0rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-0-mobile {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-0-tablet {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-0-tablet-only {\n --columnGap: 0rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-0-touch {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-0-desktop {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-0-desktop-only {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-0-widescreen {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-0-widescreen-only {\n --columnGap: 0rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-0-fullhd {\n --columnGap: 0rem;\n }\n}\n.columns.is-variable.is-1 {\n --columnGap: 0.25rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-1-mobile {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-1-tablet {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-1-tablet-only {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-1-touch {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-1-desktop {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-1-desktop-only {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-1-widescreen {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-1-widescreen-only {\n --columnGap: 0.25rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-1-fullhd {\n --columnGap: 0.25rem;\n }\n}\n.columns.is-variable.is-2 {\n --columnGap: 0.5rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-2-mobile {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-2-tablet {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-2-tablet-only {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-2-touch {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-2-desktop {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-2-desktop-only {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-2-widescreen {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-2-widescreen-only {\n --columnGap: 0.5rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-2-fullhd {\n --columnGap: 0.5rem;\n }\n}\n.columns.is-variable.is-3 {\n --columnGap: 0.75rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-3-mobile {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-3-tablet {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-3-tablet-only {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-3-touch {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-3-desktop {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-3-desktop-only {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-3-widescreen {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-3-widescreen-only {\n --columnGap: 0.75rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-3-fullhd {\n --columnGap: 0.75rem;\n }\n}\n.columns.is-variable.is-4 {\n --columnGap: 1rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-4-mobile {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-4-tablet {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-4-tablet-only {\n --columnGap: 1rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-4-touch {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-4-desktop {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-4-desktop-only {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-4-widescreen {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-4-widescreen-only {\n --columnGap: 1rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-4-fullhd {\n --columnGap: 1rem;\n }\n}\n.columns.is-variable.is-5 {\n --columnGap: 1.25rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-5-mobile {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-5-tablet {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-5-tablet-only {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-5-touch {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-5-desktop {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-5-desktop-only {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-5-widescreen {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-5-widescreen-only {\n --columnGap: 1.25rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-5-fullhd {\n --columnGap: 1.25rem;\n }\n}\n.columns.is-variable.is-6 {\n --columnGap: 1.5rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-6-mobile {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-6-tablet {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-6-tablet-only {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-6-touch {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-6-desktop {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-6-desktop-only {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-6-widescreen {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-6-widescreen-only {\n --columnGap: 1.5rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-6-fullhd {\n --columnGap: 1.5rem;\n }\n}\n.columns.is-variable.is-7 {\n --columnGap: 1.75rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-7-mobile {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-7-tablet {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-7-tablet-only {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-7-touch {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-7-desktop {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-7-desktop-only {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-7-widescreen {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-7-widescreen-only {\n --columnGap: 1.75rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-7-fullhd {\n --columnGap: 1.75rem;\n }\n}\n.columns.is-variable.is-8 {\n --columnGap: 2rem;\n}\n@media screen and (max-width: 768px) {\n .columns.is-variable.is-8-mobile {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .columns.is-variable.is-8-tablet {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .columns.is-variable.is-8-tablet-only {\n --columnGap: 2rem;\n }\n}\n@media screen and (max-width: 1023px) {\n .columns.is-variable.is-8-touch {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 1024px) {\n .columns.is-variable.is-8-desktop {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .columns.is-variable.is-8-desktop-only {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 1216px) {\n .columns.is-variable.is-8-widescreen {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .columns.is-variable.is-8-widescreen-only {\n --columnGap: 2rem;\n }\n}\n@media screen and (min-width: 1408px) {\n .columns.is-variable.is-8-fullhd {\n --columnGap: 2rem;\n }\n}\n\n.tile {\n align-items: stretch;\n display: block;\n flex-basis: 0;\n flex-grow: 1;\n flex-shrink: 1;\n min-height: min-content;\n}\n.tile.is-ancestor {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n margin-top: -0.75rem;\n}\n.tile.is-ancestor:last-child {\n margin-bottom: -0.75rem;\n}\n.tile.is-ancestor:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n.tile.is-child {\n margin: 0 !important;\n}\n.tile.is-parent {\n padding: 0.75rem;\n}\n.tile.is-vertical {\n flex-direction: column;\n}\n.tile.is-vertical > .tile.is-child:not(:last-child) {\n margin-bottom: 1.5rem !important;\n}\n@media screen and (min-width: 769px), print {\n .tile:not(.is-child) {\n display: flex;\n }\n .tile.is-1 {\n flex: none;\n width: 8.33333337%;\n }\n .tile.is-2 {\n flex: none;\n width: 16.66666674%;\n }\n .tile.is-3 {\n flex: none;\n width: 25%;\n }\n .tile.is-4 {\n flex: none;\n width: 33.33333337%;\n }\n .tile.is-5 {\n flex: none;\n width: 41.66666674%;\n }\n .tile.is-6 {\n flex: none;\n width: 50%;\n }\n .tile.is-7 {\n flex: none;\n width: 58.33333337%;\n }\n .tile.is-8 {\n flex: none;\n width: 66.66666674%;\n }\n .tile.is-9 {\n flex: none;\n width: 75%;\n }\n .tile.is-10 {\n flex: none;\n width: 83.33333337%;\n }\n .tile.is-11 {\n flex: none;\n width: 91.66666674%;\n }\n .tile.is-12 {\n flex: none;\n width: 100%;\n }\n}\n\n/** Bulma: Helpers **/\n/* Bulma Helpers */\n.has-text-white {\n color: hsl(0deg, 0%, 100%) !important;\n}\n\na.has-text-white:hover, a.has-text-white:focus {\n color: #e6e6e6 !important;\n}\n\n.has-background-white {\n background-color: hsl(0deg, 0%, 100%) !important;\n}\n\n.has-text-black {\n color: hsl(0deg, 0%, 0%) !important;\n}\n\na.has-text-black:hover, a.has-text-black:focus {\n color: black !important;\n}\n\n.has-background-black {\n background-color: hsl(0deg, 0%, 0%) !important;\n}\n\n.has-text-light {\n color: hsl(0deg, 0%, 96%) !important;\n}\n\na.has-text-light:hover, a.has-text-light:focus {\n color: #dbdbdb !important;\n}\n\n.has-background-light {\n background-color: hsl(0deg, 0%, 96%) !important;\n}\n\n.has-text-dark {\n color: hsl(0deg, 0%, 21%) !important;\n}\n\na.has-text-dark:hover, a.has-text-dark:focus {\n color: #1c1c1c !important;\n}\n\n.has-background-dark {\n background-color: hsl(0deg, 0%, 21%) !important;\n}\n\n.has-text-primary {\n color: hsl(171deg, 100%, 41%) !important;\n}\n\na.has-text-primary:hover, a.has-text-primary:focus {\n color: #009e86 !important;\n}\n\n.has-background-primary {\n background-color: hsl(171deg, 100%, 41%) !important;\n}\n\n.has-text-primary-light {\n color: #ebfffc !important;\n}\n\na.has-text-primary-light:hover, a.has-text-primary-light:focus {\n color: #b8fff4 !important;\n}\n\n.has-background-primary-light {\n background-color: #ebfffc !important;\n}\n\n.has-text-primary-dark {\n color: #00947e !important;\n}\n\na.has-text-primary-dark:hover, a.has-text-primary-dark:focus {\n color: #00c7a9 !important;\n}\n\n.has-background-primary-dark {\n background-color: #00947e !important;\n}\n\n.has-text-link {\n color: hsl(208deg, 79%, 51%) !important;\n}\n\na.has-text-link:hover, a.has-text-link:focus {\n color: #166ebb !important;\n}\n\n.has-background-link {\n background-color: hsl(208deg, 79%, 51%) !important;\n}\n\n.has-text-link-light {\n color: #edf5fd !important;\n}\n\na.has-text-link-light:hover, a.has-text-link-light:focus {\n color: #bfddf8 !important;\n}\n\n.has-background-link-light {\n background-color: #edf5fd !important;\n}\n\n.has-text-link-dark {\n color: #1671c0 !important;\n}\n\na.has-text-link-dark:hover, a.has-text-link-dark:focus {\n color: #248be5 !important;\n}\n\n.has-background-link-dark {\n background-color: #1671c0 !important;\n}\n\n.has-text-info {\n color: hsl(217deg, 89%, 61%) !important;\n}\n\na.has-text-info:hover, a.has-text-info:focus {\n color: #1368f1 !important;\n}\n\n.has-background-info {\n background-color: hsl(217deg, 89%, 61%) !important;\n}\n\n.has-text-info-light {\n color: #ecf3fe !important;\n}\n\na.has-text-info-light:hover, a.has-text-info-light:focus {\n color: #bcd4fb !important;\n}\n\n.has-background-info-light {\n background-color: #ecf3fe !important;\n}\n\n.has-text-info-dark {\n color: #0c53c6 !important;\n}\n\na.has-text-info-dark:hover, a.has-text-info-dark:focus {\n color: #1368f1 !important;\n}\n\n.has-background-info-dark {\n background-color: #0c53c6 !important;\n}\n\n.has-text-success {\n color: hsl(141deg, 42%, 53%) !important;\n}\n\na.has-text-success:hover, a.has-text-success:focus {\n color: #409c60 !important;\n}\n\n.has-background-success {\n background-color: hsl(141deg, 42%, 53%) !important;\n}\n\n.has-text-success-light {\n color: #f1f9f4 !important;\n}\n\na.has-text-success-light:hover, a.has-text-success-light:focus {\n color: #ccead7 !important;\n}\n\n.has-background-success-light {\n background-color: #f1f9f4 !important;\n}\n\n.has-text-success-dark {\n color: #327b4c !important;\n}\n\na.has-text-success-dark:hover, a.has-text-success-dark:focus {\n color: #419f62 !important;\n}\n\n.has-background-success-dark {\n background-color: #327b4c !important;\n}\n\n.has-text-warning {\n color: hsl(44deg, 100%, 77%) !important;\n}\n\na.has-text-warning:hover, a.has-text-warning:focus {\n color: #ffd257 !important;\n}\n\n.has-background-warning {\n background-color: hsl(44deg, 100%, 77%) !important;\n}\n\n.has-text-warning-light {\n color: #fffaeb !important;\n}\n\na.has-text-warning-light:hover, a.has-text-warning-light:focus {\n color: #ffecb8 !important;\n}\n\n.has-background-warning-light {\n background-color: #fffaeb !important;\n}\n\n.has-text-warning-dark {\n color: #946c00 !important;\n}\n\na.has-text-warning-dark:hover, a.has-text-warning-dark:focus {\n color: #c79200 !important;\n}\n\n.has-background-warning-dark {\n background-color: #946c00 !important;\n}\n\n.has-text-danger {\n color: hsl(348deg, 100%, 61%) !important;\n}\n\na.has-text-danger:hover, a.has-text-danger:focus {\n color: #ff0537 !important;\n}\n\n.has-background-danger {\n background-color: hsl(348deg, 100%, 61%) !important;\n}\n\n.has-text-danger-light {\n color: #ffebef !important;\n}\n\na.has-text-danger-light:hover, a.has-text-danger-light:focus {\n color: #ffb8c6 !important;\n}\n\n.has-background-danger-light {\n background-color: #ffebef !important;\n}\n\n.has-text-danger-dark {\n color: #db002c !important;\n}\n\na.has-text-danger-dark:hover, a.has-text-danger-dark:focus {\n color: #ff0f3f !important;\n}\n\n.has-background-danger-dark {\n background-color: #db002c !important;\n}\n\n.has-text-black-bis {\n color: hsl(0deg, 0%, 7%) !important;\n}\n\n.has-background-black-bis {\n background-color: hsl(0deg, 0%, 7%) !important;\n}\n\n.has-text-black-ter {\n color: hsl(0deg, 0%, 14%) !important;\n}\n\n.has-background-black-ter {\n background-color: hsl(0deg, 0%, 14%) !important;\n}\n\n.has-text-grey-darker {\n color: hsl(0deg, 0%, 21%) !important;\n}\n\n.has-background-grey-darker {\n background-color: hsl(0deg, 0%, 21%) !important;\n}\n\n.has-text-grey-dark {\n color: hsl(0deg, 0%, 29%) !important;\n}\n\n.has-background-grey-dark {\n background-color: hsl(0deg, 0%, 29%) !important;\n}\n\n.has-text-grey {\n color: hsl(0deg, 0%, 48%) !important;\n}\n\n.has-background-grey {\n background-color: hsl(0deg, 0%, 48%) !important;\n}\n\n.has-text-grey-light {\n color: hsl(0deg, 0%, 71%) !important;\n}\n\n.has-background-grey-light {\n background-color: hsl(0deg, 0%, 71%) !important;\n}\n\n.has-text-grey-lighter {\n color: hsl(0deg, 0%, 86%) !important;\n}\n\n.has-background-grey-lighter {\n background-color: hsl(0deg, 0%, 86%) !important;\n}\n\n.has-text-white-ter {\n color: hsl(0deg, 0%, 96%) !important;\n}\n\n.has-background-white-ter {\n background-color: hsl(0deg, 0%, 96%) !important;\n}\n\n.has-text-white-bis {\n color: hsl(0deg, 0%, 98%) !important;\n}\n\n.has-background-white-bis {\n background-color: hsl(0deg, 0%, 98%) !important;\n}\n\n.is-flex-direction-row {\n flex-direction: row !important;\n}\n\n.is-flex-direction-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.is-flex-direction-column {\n flex-direction: column !important;\n}\n\n.is-flex-direction-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.is-flex-wrap-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.is-flex-wrap-wrap {\n flex-wrap: wrap !important;\n}\n\n.is-flex-wrap-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.is-justify-content-flex-start {\n justify-content: flex-start !important;\n}\n\n.is-justify-content-flex-end {\n justify-content: flex-end !important;\n}\n\n.is-justify-content-center {\n justify-content: center !important;\n}\n\n.is-justify-content-space-between {\n justify-content: space-between !important;\n}\n\n.is-justify-content-space-around {\n justify-content: space-around !important;\n}\n\n.is-justify-content-space-evenly {\n justify-content: space-evenly !important;\n}\n\n.is-justify-content-start {\n justify-content: start !important;\n}\n\n.is-justify-content-end {\n justify-content: end !important;\n}\n\n.is-justify-content-left {\n justify-content: left !important;\n}\n\n.is-justify-content-right {\n justify-content: right !important;\n}\n\n.is-align-content-flex-start {\n align-content: flex-start !important;\n}\n\n.is-align-content-flex-end {\n align-content: flex-end !important;\n}\n\n.is-align-content-center {\n align-content: center !important;\n}\n\n.is-align-content-space-between {\n align-content: space-between !important;\n}\n\n.is-align-content-space-around {\n align-content: space-around !important;\n}\n\n.is-align-content-space-evenly {\n align-content: space-evenly !important;\n}\n\n.is-align-content-stretch {\n align-content: stretch !important;\n}\n\n.is-align-content-start {\n align-content: start !important;\n}\n\n.is-align-content-end {\n align-content: end !important;\n}\n\n.is-align-content-baseline {\n align-content: baseline !important;\n}\n\n.is-align-items-stretch {\n align-items: stretch !important;\n}\n\n.is-align-items-flex-start {\n align-items: flex-start !important;\n}\n\n.is-align-items-flex-end {\n align-items: flex-end !important;\n}\n\n.is-align-items-center {\n align-items: center !important;\n}\n\n.is-align-items-baseline {\n align-items: baseline !important;\n}\n\n.is-align-items-start {\n align-items: start !important;\n}\n\n.is-align-items-end {\n align-items: end !important;\n}\n\n.is-align-items-self-start {\n align-items: self-start !important;\n}\n\n.is-align-items-self-end {\n align-items: self-end !important;\n}\n\n.is-align-self-auto {\n align-self: auto !important;\n}\n\n.is-align-self-flex-start {\n align-self: flex-start !important;\n}\n\n.is-align-self-flex-end {\n align-self: flex-end !important;\n}\n\n.is-align-self-center {\n align-self: center !important;\n}\n\n.is-align-self-baseline {\n align-self: baseline !important;\n}\n\n.is-align-self-stretch {\n align-self: stretch !important;\n}\n\n.is-flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.is-flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.is-flex-grow-2 {\n flex-grow: 2 !important;\n}\n\n.is-flex-grow-3 {\n flex-grow: 3 !important;\n}\n\n.is-flex-grow-4 {\n flex-grow: 4 !important;\n}\n\n.is-flex-grow-5 {\n flex-grow: 5 !important;\n}\n\n.is-flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.is-flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.is-flex-shrink-2 {\n flex-shrink: 2 !important;\n}\n\n.is-flex-shrink-3 {\n flex-shrink: 3 !important;\n}\n\n.is-flex-shrink-4 {\n flex-shrink: 4 !important;\n}\n\n.is-flex-shrink-5 {\n flex-shrink: 5 !important;\n}\n\n.is-clearfix::after {\n clear: both;\n content: \" \";\n display: table;\n}\n\n.is-pulled-left {\n float: left !important;\n}\n\n.is-pulled-right {\n float: right !important;\n}\n\n.is-radiusless {\n border-radius: 0 !important;\n}\n\n.is-shadowless {\n box-shadow: none !important;\n}\n\n.is-clickable {\n cursor: pointer !important;\n pointer-events: all !important;\n}\n\n.is-clipped {\n overflow: hidden !important;\n}\n\n.is-relative {\n position: relative !important;\n}\n\n.is-marginless {\n margin: 0 !important;\n}\n\n.is-paddingless {\n padding: 0 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.mx-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.m-3 {\n margin: 0.75rem !important;\n}\n\n.mt-3 {\n margin-top: 0.75rem !important;\n}\n\n.mr-3 {\n margin-right: 0.75rem !important;\n}\n\n.mb-3 {\n margin-bottom: 0.75rem !important;\n}\n\n.ml-3 {\n margin-left: 0.75rem !important;\n}\n\n.mx-3 {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n}\n\n.my-3 {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n}\n\n.m-4 {\n margin: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.m-5 {\n margin: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.m-6 {\n margin: 3rem !important;\n}\n\n.mt-6 {\n margin-top: 3rem !important;\n}\n\n.mr-6 {\n margin-right: 3rem !important;\n}\n\n.mb-6 {\n margin-bottom: 3rem !important;\n}\n\n.ml-6 {\n margin-left: 3rem !important;\n}\n\n.mx-6 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.my-6 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mx-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.px-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.p-3 {\n padding: 0.75rem !important;\n}\n\n.pt-3 {\n padding-top: 0.75rem !important;\n}\n\n.pr-3 {\n padding-right: 0.75rem !important;\n}\n\n.pb-3 {\n padding-bottom: 0.75rem !important;\n}\n\n.pl-3 {\n padding-left: 0.75rem !important;\n}\n\n.px-3 {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n}\n\n.py-3 {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n}\n\n.p-4 {\n padding: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.p-5 {\n padding: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.p-6 {\n padding: 3rem !important;\n}\n\n.pt-6 {\n padding-top: 3rem !important;\n}\n\n.pr-6 {\n padding-right: 3rem !important;\n}\n\n.pb-6 {\n padding-bottom: 3rem !important;\n}\n\n.pl-6 {\n padding-left: 3rem !important;\n}\n\n.px-6 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.py-6 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.p-auto {\n padding: auto !important;\n}\n\n.pt-auto {\n padding-top: auto !important;\n}\n\n.pr-auto {\n padding-right: auto !important;\n}\n\n.pb-auto {\n padding-bottom: auto !important;\n}\n\n.pl-auto {\n padding-left: auto !important;\n}\n\n.px-auto {\n padding-left: auto !important;\n padding-right: auto !important;\n}\n\n.py-auto {\n padding-top: auto !important;\n padding-bottom: auto !important;\n}\n\n.is-size-1 {\n font-size: 3rem !important;\n}\n\n.is-size-2 {\n font-size: 2.5rem !important;\n}\n\n.is-size-3 {\n font-size: 2rem !important;\n}\n\n.is-size-4 {\n font-size: 1.5rem !important;\n}\n\n.is-size-5 {\n font-size: 1.25rem !important;\n}\n\n.is-size-6 {\n font-size: 1rem !important;\n}\n\n.is-size-7 {\n font-size: 0.75rem !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-size-1-mobile {\n font-size: 3rem !important;\n }\n .is-size-2-mobile {\n font-size: 2.5rem !important;\n }\n .is-size-3-mobile {\n font-size: 2rem !important;\n }\n .is-size-4-mobile {\n font-size: 1.5rem !important;\n }\n .is-size-5-mobile {\n font-size: 1.25rem !important;\n }\n .is-size-6-mobile {\n font-size: 1rem !important;\n }\n .is-size-7-mobile {\n font-size: 0.75rem !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-size-1-tablet {\n font-size: 3rem !important;\n }\n .is-size-2-tablet {\n font-size: 2.5rem !important;\n }\n .is-size-3-tablet {\n font-size: 2rem !important;\n }\n .is-size-4-tablet {\n font-size: 1.5rem !important;\n }\n .is-size-5-tablet {\n font-size: 1.25rem !important;\n }\n .is-size-6-tablet {\n font-size: 1rem !important;\n }\n .is-size-7-tablet {\n font-size: 0.75rem !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-size-1-touch {\n font-size: 3rem !important;\n }\n .is-size-2-touch {\n font-size: 2.5rem !important;\n }\n .is-size-3-touch {\n font-size: 2rem !important;\n }\n .is-size-4-touch {\n font-size: 1.5rem !important;\n }\n .is-size-5-touch {\n font-size: 1.25rem !important;\n }\n .is-size-6-touch {\n font-size: 1rem !important;\n }\n .is-size-7-touch {\n font-size: 0.75rem !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-size-1-desktop {\n font-size: 3rem !important;\n }\n .is-size-2-desktop {\n font-size: 2.5rem !important;\n }\n .is-size-3-desktop {\n font-size: 2rem !important;\n }\n .is-size-4-desktop {\n font-size: 1.5rem !important;\n }\n .is-size-5-desktop {\n font-size: 1.25rem !important;\n }\n .is-size-6-desktop {\n font-size: 1rem !important;\n }\n .is-size-7-desktop {\n font-size: 0.75rem !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-size-1-widescreen {\n font-size: 3rem !important;\n }\n .is-size-2-widescreen {\n font-size: 2.5rem !important;\n }\n .is-size-3-widescreen {\n font-size: 2rem !important;\n }\n .is-size-4-widescreen {\n font-size: 1.5rem !important;\n }\n .is-size-5-widescreen {\n font-size: 1.25rem !important;\n }\n .is-size-6-widescreen {\n font-size: 1rem !important;\n }\n .is-size-7-widescreen {\n font-size: 0.75rem !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-size-1-fullhd {\n font-size: 3rem !important;\n }\n .is-size-2-fullhd {\n font-size: 2.5rem !important;\n }\n .is-size-3-fullhd {\n font-size: 2rem !important;\n }\n .is-size-4-fullhd {\n font-size: 1.5rem !important;\n }\n .is-size-5-fullhd {\n font-size: 1.25rem !important;\n }\n .is-size-6-fullhd {\n font-size: 1rem !important;\n }\n .is-size-7-fullhd {\n font-size: 0.75rem !important;\n }\n}\n.has-text-centered {\n text-align: center !important;\n}\n\n.has-text-justified {\n text-align: justify !important;\n}\n\n.has-text-left {\n text-align: left !important;\n}\n\n.has-text-right {\n text-align: right !important;\n}\n\n@media screen and (max-width: 768px) {\n .has-text-centered-mobile {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .has-text-centered-tablet {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .has-text-centered-tablet-only {\n text-align: center !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .has-text-centered-touch {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .has-text-centered-desktop {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .has-text-centered-desktop-only {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .has-text-centered-widescreen {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .has-text-centered-widescreen-only {\n text-align: center !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .has-text-centered-fullhd {\n text-align: center !important;\n }\n}\n@media screen and (max-width: 768px) {\n .has-text-justified-mobile {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .has-text-justified-tablet {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .has-text-justified-tablet-only {\n text-align: justify !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .has-text-justified-touch {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .has-text-justified-desktop {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .has-text-justified-desktop-only {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .has-text-justified-widescreen {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .has-text-justified-widescreen-only {\n text-align: justify !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .has-text-justified-fullhd {\n text-align: justify !important;\n }\n}\n@media screen and (max-width: 768px) {\n .has-text-left-mobile {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .has-text-left-tablet {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .has-text-left-tablet-only {\n text-align: left !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .has-text-left-touch {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .has-text-left-desktop {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .has-text-left-desktop-only {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .has-text-left-widescreen {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .has-text-left-widescreen-only {\n text-align: left !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .has-text-left-fullhd {\n text-align: left !important;\n }\n}\n@media screen and (max-width: 768px) {\n .has-text-right-mobile {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .has-text-right-tablet {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .has-text-right-tablet-only {\n text-align: right !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .has-text-right-touch {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .has-text-right-desktop {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .has-text-right-desktop-only {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .has-text-right-widescreen {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .has-text-right-widescreen-only {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .has-text-right-fullhd {\n text-align: right !important;\n }\n}\n.is-capitalized {\n text-transform: capitalize !important;\n}\n\n.is-lowercase {\n text-transform: lowercase !important;\n}\n\n.is-uppercase {\n text-transform: uppercase !important;\n}\n\n.is-italic {\n font-style: italic !important;\n}\n\n.is-underlined {\n text-decoration: underline !important;\n}\n\n.has-text-weight-light {\n font-weight: 300 !important;\n}\n\n.has-text-weight-normal {\n font-weight: 400 !important;\n}\n\n.has-text-weight-medium {\n font-weight: 500 !important;\n}\n\n.has-text-weight-semibold {\n font-weight: 600 !important;\n}\n\n.has-text-weight-bold {\n font-weight: 700 !important;\n}\n\n.is-family-primary {\n font-family: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Ubuntu\", \"Roboto\", \"Oxygen\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif !important;\n}\n\n.is-family-secondary {\n font-family: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Ubuntu\", \"Roboto\", \"Oxygen\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif !important;\n}\n\n.is-family-sans-serif {\n font-family: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Ubuntu\", \"Roboto\", \"Oxygen\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif !important;\n}\n\n.is-family-monospace {\n font-family: monospace !important;\n}\n\n.is-family-code {\n font-family: monospace !important;\n}\n\n.is-block {\n display: block !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-block-mobile {\n display: block !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-block-tablet {\n display: block !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-block-tablet-only {\n display: block !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-block-touch {\n display: block !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-block-desktop {\n display: block !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-block-desktop-only {\n display: block !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-block-widescreen {\n display: block !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-block-widescreen-only {\n display: block !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-block-fullhd {\n display: block !important;\n }\n}\n.is-flex {\n display: flex !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-flex-mobile {\n display: flex !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-flex-tablet {\n display: flex !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-flex-tablet-only {\n display: flex !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-flex-touch {\n display: flex !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-flex-desktop {\n display: flex !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-flex-desktop-only {\n display: flex !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-flex-widescreen {\n display: flex !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-flex-widescreen-only {\n display: flex !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-flex-fullhd {\n display: flex !important;\n }\n}\n.is-inline {\n display: inline !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-inline-mobile {\n display: inline !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-inline-tablet {\n display: inline !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-inline-tablet-only {\n display: inline !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-inline-touch {\n display: inline !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-inline-desktop {\n display: inline !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-inline-desktop-only {\n display: inline !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-inline-widescreen {\n display: inline !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-inline-widescreen-only {\n display: inline !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-inline-fullhd {\n display: inline !important;\n }\n}\n.is-inline-block {\n display: inline-block !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-inline-block-mobile {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-inline-block-tablet {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-inline-block-tablet-only {\n display: inline-block !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-inline-block-touch {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-inline-block-desktop {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-inline-block-desktop-only {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-inline-block-widescreen {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-inline-block-widescreen-only {\n display: inline-block !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-inline-block-fullhd {\n display: inline-block !important;\n }\n}\n.is-inline-flex {\n display: inline-flex !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-inline-flex-mobile {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-inline-flex-tablet {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-inline-flex-tablet-only {\n display: inline-flex !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-inline-flex-touch {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-inline-flex-desktop {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-inline-flex-desktop-only {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-inline-flex-widescreen {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-inline-flex-widescreen-only {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-inline-flex-fullhd {\n display: inline-flex !important;\n }\n}\n.is-hidden {\n display: none !important;\n}\n\n.is-sr-only {\n border: none !important;\n clip: rect(0, 0, 0, 0) !important;\n height: 0.01em !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n white-space: nowrap !important;\n width: 0.01em !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-hidden-mobile {\n display: none !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-hidden-tablet {\n display: none !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-hidden-tablet-only {\n display: none !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-hidden-touch {\n display: none !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-hidden-desktop {\n display: none !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-hidden-desktop-only {\n display: none !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-hidden-widescreen {\n display: none !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-hidden-widescreen-only {\n display: none !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-hidden-fullhd {\n display: none !important;\n }\n}\n.is-invisible {\n visibility: hidden !important;\n}\n\n@media screen and (max-width: 768px) {\n .is-invisible-mobile {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 769px), print {\n .is-invisible-tablet {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 769px) and (max-width: 1023px) {\n .is-invisible-tablet-only {\n visibility: hidden !important;\n }\n}\n@media screen and (max-width: 1023px) {\n .is-invisible-touch {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 1024px) {\n .is-invisible-desktop {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 1024px) and (max-width: 1215px) {\n .is-invisible-desktop-only {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 1216px) {\n .is-invisible-widescreen {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 1216px) and (max-width: 1407px) {\n .is-invisible-widescreen-only {\n visibility: hidden !important;\n }\n}\n@media screen and (min-width: 1408px) {\n .is-invisible-fullhd {\n visibility: hidden !important;\n }\n}\n/** Bulma: Layout **/\n.hero {\n align-items: stretch;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n.hero .navbar {\n background: none;\n}\n.hero .tabs ul {\n border-bottom: none;\n}\n.hero.is-white {\n background-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-white strong {\n color: inherit;\n}\n.hero.is-white .title {\n color: hsl(0deg, 0%, 0%);\n}\n.hero.is-white .subtitle {\n color: rgba(0, 0, 0, 0.9);\n}\n.hero.is-white .subtitle a:not(.button),\n.hero.is-white .subtitle strong {\n color: hsl(0deg, 0%, 0%);\n}\n@media screen and (max-width: 1023px) {\n .hero.is-white .navbar-menu {\n background-color: hsl(0deg, 0%, 100%);\n }\n}\n.hero.is-white .navbar-item,\n.hero.is-white .navbar-link {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-white a.navbar-item:hover, .hero.is-white a.navbar-item.is-active,\n.hero.is-white .navbar-link:hover,\n.hero.is-white .navbar-link.is-active {\n background-color: #f2f2f2;\n color: hsl(0deg, 0%, 0%);\n}\n.hero.is-white .tabs a {\n color: hsl(0deg, 0%, 0%);\n opacity: 0.9;\n}\n.hero.is-white .tabs a:hover {\n opacity: 1;\n}\n.hero.is-white .tabs li.is-active a {\n color: hsl(0deg, 0%, 100%) !important;\n opacity: 1;\n}\n.hero.is-white .tabs.is-boxed a, .hero.is-white .tabs.is-toggle a {\n color: hsl(0deg, 0%, 0%);\n}\n.hero.is-white .tabs.is-boxed a:hover, .hero.is-white .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-white .tabs.is-boxed li.is-active a, .hero.is-white .tabs.is-boxed li.is-active a:hover, .hero.is-white .tabs.is-toggle li.is-active a, .hero.is-white .tabs.is-toggle li.is-active a:hover {\n background-color: hsl(0deg, 0%, 0%);\n border-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.hero.is-white.is-bold {\n background-image: linear-gradient(141deg, #e8e3e4 0%, hsl(0deg, 0%, 100%) 71%, white 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-white.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #e8e3e4 0%, hsl(0deg, 0%, 100%) 71%, white 100%);\n }\n}\n.hero.is-black {\n background-color: hsl(0deg, 0%, 0%);\n color: hsl(0deg, 0%, 100%);\n}\n.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-black strong {\n color: inherit;\n}\n.hero.is-black .title {\n color: hsl(0deg, 0%, 100%);\n}\n.hero.is-black .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-black .subtitle a:not(.button),\n.hero.is-black .subtitle strong {\n color: hsl(0deg, 0%, 100%);\n}\n@media screen and (max-width: 1023px) {\n .hero.is-black .navbar-menu {\n background-color: hsl(0deg, 0%, 0%);\n }\n}\n.hero.is-black .navbar-item,\n.hero.is-black .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-black a.navbar-item:hover, .hero.is-black a.navbar-item.is-active,\n.hero.is-black .navbar-link:hover,\n.hero.is-black .navbar-link.is-active {\n background-color: black;\n color: hsl(0deg, 0%, 100%);\n}\n.hero.is-black .tabs a {\n color: hsl(0deg, 0%, 100%);\n opacity: 0.9;\n}\n.hero.is-black .tabs a:hover {\n opacity: 1;\n}\n.hero.is-black .tabs li.is-active a {\n color: hsl(0deg, 0%, 0%) !important;\n opacity: 1;\n}\n.hero.is-black .tabs.is-boxed a, .hero.is-black .tabs.is-toggle a {\n color: hsl(0deg, 0%, 100%);\n}\n.hero.is-black .tabs.is-boxed a:hover, .hero.is-black .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-black .tabs.is-boxed li.is-active a, .hero.is-black .tabs.is-boxed li.is-active a:hover, .hero.is-black .tabs.is-toggle li.is-active a, .hero.is-black .tabs.is-toggle li.is-active a:hover {\n background-color: hsl(0deg, 0%, 100%);\n border-color: hsl(0deg, 0%, 100%);\n color: hsl(0deg, 0%, 0%);\n}\n.hero.is-black.is-bold {\n background-image: linear-gradient(141deg, black 0%, hsl(0deg, 0%, 0%) 71%, #0d0c0c 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-black.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, black 0%, hsl(0deg, 0%, 0%) 71%, #0d0c0c 100%);\n }\n}\n.hero.is-light {\n background-color: hsl(0deg, 0%, 96%);\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-light strong {\n color: inherit;\n}\n.hero.is-light .title {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-light .subtitle {\n color: rgba(0, 0, 0, 0.9);\n}\n.hero.is-light .subtitle a:not(.button),\n.hero.is-light .subtitle strong {\n color: rgba(0, 0, 0, 0.7);\n}\n@media screen and (max-width: 1023px) {\n .hero.is-light .navbar-menu {\n background-color: hsl(0deg, 0%, 96%);\n }\n}\n.hero.is-light .navbar-item,\n.hero.is-light .navbar-link {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-light a.navbar-item:hover, .hero.is-light a.navbar-item.is-active,\n.hero.is-light .navbar-link:hover,\n.hero.is-light .navbar-link.is-active {\n background-color: #e8e8e8;\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-light .tabs a {\n color: rgba(0, 0, 0, 0.7);\n opacity: 0.9;\n}\n.hero.is-light .tabs a:hover {\n opacity: 1;\n}\n.hero.is-light .tabs li.is-active a {\n color: hsl(0deg, 0%, 96%) !important;\n opacity: 1;\n}\n.hero.is-light .tabs.is-boxed a, .hero.is-light .tabs.is-toggle a {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-light .tabs.is-boxed a:hover, .hero.is-light .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-light .tabs.is-boxed li.is-active a, .hero.is-light .tabs.is-boxed li.is-active a:hover, .hero.is-light .tabs.is-toggle li.is-active a, .hero.is-light .tabs.is-toggle li.is-active a:hover {\n background-color: rgba(0, 0, 0, 0.7);\n border-color: rgba(0, 0, 0, 0.7);\n color: hsl(0deg, 0%, 96%);\n}\n.hero.is-light.is-bold {\n background-image: linear-gradient(141deg, #dfd8d9 0%, hsl(0deg, 0%, 96%) 71%, white 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-light.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #dfd8d9 0%, hsl(0deg, 0%, 96%) 71%, white 100%);\n }\n}\n.hero.is-dark {\n background-color: hsl(0deg, 0%, 21%);\n color: #fff;\n}\n.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-dark strong {\n color: inherit;\n}\n.hero.is-dark .title {\n color: #fff;\n}\n.hero.is-dark .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-dark .subtitle a:not(.button),\n.hero.is-dark .subtitle strong {\n color: #fff;\n}\n@media screen and (max-width: 1023px) {\n .hero.is-dark .navbar-menu {\n background-color: hsl(0deg, 0%, 21%);\n }\n}\n.hero.is-dark .navbar-item,\n.hero.is-dark .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-dark a.navbar-item:hover, .hero.is-dark a.navbar-item.is-active,\n.hero.is-dark .navbar-link:hover,\n.hero.is-dark .navbar-link.is-active {\n background-color: #292929;\n color: #fff;\n}\n.hero.is-dark .tabs a {\n color: #fff;\n opacity: 0.9;\n}\n.hero.is-dark .tabs a:hover {\n opacity: 1;\n}\n.hero.is-dark .tabs li.is-active a {\n color: hsl(0deg, 0%, 21%) !important;\n opacity: 1;\n}\n.hero.is-dark .tabs.is-boxed a, .hero.is-dark .tabs.is-toggle a {\n color: #fff;\n}\n.hero.is-dark .tabs.is-boxed a:hover, .hero.is-dark .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-dark .tabs.is-boxed li.is-active a, .hero.is-dark .tabs.is-boxed li.is-active a:hover, .hero.is-dark .tabs.is-toggle li.is-active a, .hero.is-dark .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: hsl(0deg, 0%, 21%);\n}\n.hero.is-dark.is-bold {\n background-image: linear-gradient(141deg, #1f191a 0%, hsl(0deg, 0%, 21%) 71%, #46403f 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-dark.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #1f191a 0%, hsl(0deg, 0%, 21%) 71%, #46403f 100%);\n }\n}\n.hero.is-primary {\n background-color: hsl(171deg, 100%, 41%);\n color: #fff;\n}\n.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-primary strong {\n color: inherit;\n}\n.hero.is-primary .title {\n color: #fff;\n}\n.hero.is-primary .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-primary .subtitle a:not(.button),\n.hero.is-primary .subtitle strong {\n color: #fff;\n}\n@media screen and (max-width: 1023px) {\n .hero.is-primary .navbar-menu {\n background-color: hsl(171deg, 100%, 41%);\n }\n}\n.hero.is-primary .navbar-item,\n.hero.is-primary .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-primary a.navbar-item:hover, .hero.is-primary a.navbar-item.is-active,\n.hero.is-primary .navbar-link:hover,\n.hero.is-primary .navbar-link.is-active {\n background-color: #00b89c;\n color: #fff;\n}\n.hero.is-primary .tabs a {\n color: #fff;\n opacity: 0.9;\n}\n.hero.is-primary .tabs a:hover {\n opacity: 1;\n}\n.hero.is-primary .tabs li.is-active a {\n color: hsl(171deg, 100%, 41%) !important;\n opacity: 1;\n}\n.hero.is-primary .tabs.is-boxed a, .hero.is-primary .tabs.is-toggle a {\n color: #fff;\n}\n.hero.is-primary .tabs.is-boxed a:hover, .hero.is-primary .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-primary .tabs.is-boxed li.is-active a, .hero.is-primary .tabs.is-boxed li.is-active a:hover, .hero.is-primary .tabs.is-toggle li.is-active a, .hero.is-primary .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: hsl(171deg, 100%, 41%);\n}\n.hero.is-primary.is-bold {\n background-image: linear-gradient(141deg, #009e6c 0%, hsl(171deg, 100%, 41%) 71%, #00e7eb 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-primary.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #009e6c 0%, hsl(171deg, 100%, 41%) 71%, #00e7eb 100%);\n }\n}\n.hero.is-link {\n background-color: hsl(208deg, 79%, 51%);\n color: #fff;\n}\n.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-link strong {\n color: inherit;\n}\n.hero.is-link .title {\n color: #fff;\n}\n.hero.is-link .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-link .subtitle a:not(.button),\n.hero.is-link .subtitle strong {\n color: #fff;\n}\n@media screen and (max-width: 1023px) {\n .hero.is-link .navbar-menu {\n background-color: hsl(208deg, 79%, 51%);\n }\n}\n.hero.is-link .navbar-item,\n.hero.is-link .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-link a.navbar-item:hover, .hero.is-link a.navbar-item.is-active,\n.hero.is-link .navbar-link:hover,\n.hero.is-link .navbar-link.is-active {\n background-color: #197bd2;\n color: #fff;\n}\n.hero.is-link .tabs a {\n color: #fff;\n opacity: 0.9;\n}\n.hero.is-link .tabs a:hover {\n opacity: 1;\n}\n.hero.is-link .tabs li.is-active a {\n color: hsl(208deg, 79%, 51%) !important;\n opacity: 1;\n}\n.hero.is-link .tabs.is-boxed a, .hero.is-link .tabs.is-toggle a {\n color: #fff;\n}\n.hero.is-link .tabs.is-boxed a:hover, .hero.is-link .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-link .tabs.is-boxed li.is-active a, .hero.is-link .tabs.is-boxed li.is-active a:hover, .hero.is-link .tabs.is-toggle li.is-active a, .hero.is-link .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: hsl(208deg, 79%, 51%);\n}\n.hero.is-link.is-bold {\n background-image: linear-gradient(141deg, #0c8ec6 0%, hsl(208deg, 79%, 51%) 71%, #3176ed 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-link.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #0c8ec6 0%, hsl(208deg, 79%, 51%) 71%, #3176ed 100%);\n }\n}\n.hero.is-info {\n background-color: hsl(217deg, 89%, 61%);\n color: #fff;\n}\n.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-info strong {\n color: inherit;\n}\n.hero.is-info .title {\n color: #fff;\n}\n.hero.is-info .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-info .subtitle a:not(.button),\n.hero.is-info .subtitle strong {\n color: #fff;\n}\n@media screen and (max-width: 1023px) {\n .hero.is-info .navbar-menu {\n background-color: hsl(217deg, 89%, 61%);\n }\n}\n.hero.is-info .navbar-item,\n.hero.is-info .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-info a.navbar-item:hover, .hero.is-info a.navbar-item.is-active,\n.hero.is-info .navbar-link:hover,\n.hero.is-info .navbar-link.is-active {\n background-color: #2b77f3;\n color: #fff;\n}\n.hero.is-info .tabs a {\n color: #fff;\n opacity: 0.9;\n}\n.hero.is-info .tabs a:hover {\n opacity: 1;\n}\n.hero.is-info .tabs li.is-active a {\n color: hsl(217deg, 89%, 61%) !important;\n opacity: 1;\n}\n.hero.is-info .tabs.is-boxed a, .hero.is-info .tabs.is-toggle a {\n color: #fff;\n}\n.hero.is-info .tabs.is-boxed a:hover, .hero.is-info .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-info .tabs.is-boxed li.is-active a, .hero.is-info .tabs.is-boxed li.is-active a:hover, .hero.is-info .tabs.is-toggle li.is-active a, .hero.is-info .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: hsl(217deg, 89%, 61%);\n}\n.hero.is-info.is-bold {\n background-image: linear-gradient(141deg, #068efe 0%, hsl(217deg, 89%, 61%) 71%, #577afa 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-info.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #068efe 0%, hsl(217deg, 89%, 61%) 71%, #577afa 100%);\n }\n}\n.hero.is-success {\n background-color: hsl(141deg, 42%, 53%);\n color: #fff;\n}\n.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-success strong {\n color: inherit;\n}\n.hero.is-success .title {\n color: #fff;\n}\n.hero.is-success .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-success .subtitle a:not(.button),\n.hero.is-success .subtitle strong {\n color: #fff;\n}\n@media screen and (max-width: 1023px) {\n .hero.is-success .navbar-menu {\n background-color: hsl(141deg, 42%, 53%);\n }\n}\n.hero.is-success .navbar-item,\n.hero.is-success .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-success a.navbar-item:hover, .hero.is-success a.navbar-item.is-active,\n.hero.is-success .navbar-link:hover,\n.hero.is-success .navbar-link.is-active {\n background-color: #47ae6b;\n color: #fff;\n}\n.hero.is-success .tabs a {\n color: #fff;\n opacity: 0.9;\n}\n.hero.is-success .tabs a:hover {\n opacity: 1;\n}\n.hero.is-success .tabs li.is-active a {\n color: hsl(141deg, 42%, 53%) !important;\n opacity: 1;\n}\n.hero.is-success .tabs.is-boxed a, .hero.is-success .tabs.is-toggle a {\n color: #fff;\n}\n.hero.is-success .tabs.is-boxed a:hover, .hero.is-success .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-success .tabs.is-boxed li.is-active a, .hero.is-success .tabs.is-boxed li.is-active a:hover, .hero.is-success .tabs.is-toggle li.is-active a, .hero.is-success .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: hsl(141deg, 42%, 53%);\n}\n.hero.is-success.is-bold {\n background-image: linear-gradient(141deg, #35a74a 0%, hsl(141deg, 42%, 53%) 71%, #62c696 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-success.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #35a74a 0%, hsl(141deg, 42%, 53%) 71%, #62c696 100%);\n }\n}\n.hero.is-warning {\n background-color: hsl(44deg, 100%, 77%);\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-warning strong {\n color: inherit;\n}\n.hero.is-warning .title {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-warning .subtitle {\n color: rgba(0, 0, 0, 0.9);\n}\n.hero.is-warning .subtitle a:not(.button),\n.hero.is-warning .subtitle strong {\n color: rgba(0, 0, 0, 0.7);\n}\n@media screen and (max-width: 1023px) {\n .hero.is-warning .navbar-menu {\n background-color: hsl(44deg, 100%, 77%);\n }\n}\n.hero.is-warning .navbar-item,\n.hero.is-warning .navbar-link {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-warning a.navbar-item:hover, .hero.is-warning a.navbar-item.is-active,\n.hero.is-warning .navbar-link:hover,\n.hero.is-warning .navbar-link.is-active {\n background-color: #ffd970;\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-warning .tabs a {\n color: rgba(0, 0, 0, 0.7);\n opacity: 0.9;\n}\n.hero.is-warning .tabs a:hover {\n opacity: 1;\n}\n.hero.is-warning .tabs li.is-active a {\n color: hsl(44deg, 100%, 77%) !important;\n opacity: 1;\n}\n.hero.is-warning .tabs.is-boxed a, .hero.is-warning .tabs.is-toggle a {\n color: rgba(0, 0, 0, 0.7);\n}\n.hero.is-warning .tabs.is-boxed a:hover, .hero.is-warning .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-warning .tabs.is-boxed li.is-active a, .hero.is-warning .tabs.is-boxed li.is-active a:hover, .hero.is-warning .tabs.is-toggle li.is-active a, .hero.is-warning .tabs.is-toggle li.is-active a:hover {\n background-color: rgba(0, 0, 0, 0.7);\n border-color: rgba(0, 0, 0, 0.7);\n color: hsl(44deg, 100%, 77%);\n}\n.hero.is-warning.is-bold {\n background-image: linear-gradient(141deg, #ffb657 0%, hsl(44deg, 100%, 77%) 71%, #fff6a3 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-warning.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #ffb657 0%, hsl(44deg, 100%, 77%) 71%, #fff6a3 100%);\n }\n}\n.hero.is-danger {\n background-color: hsl(348deg, 100%, 61%);\n color: #fff;\n}\n.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n.hero.is-danger strong {\n color: inherit;\n}\n.hero.is-danger .title {\n color: #fff;\n}\n.hero.is-danger .subtitle {\n color: rgba(255, 255, 255, 0.9);\n}\n.hero.is-danger .subtitle a:not(.button),\n.hero.is-danger .subtitle strong {\n color: #fff;\n}\n@media screen and (max-width: 1023px) {\n .hero.is-danger .navbar-menu {\n background-color: hsl(348deg, 100%, 61%);\n }\n}\n.hero.is-danger .navbar-item,\n.hero.is-danger .navbar-link {\n color: rgba(255, 255, 255, 0.7);\n}\n.hero.is-danger a.navbar-item:hover, .hero.is-danger a.navbar-item.is-active,\n.hero.is-danger .navbar-link:hover,\n.hero.is-danger .navbar-link.is-active {\n background-color: #ff1f4b;\n color: #fff;\n}\n.hero.is-danger .tabs a {\n color: #fff;\n opacity: 0.9;\n}\n.hero.is-danger .tabs a:hover {\n opacity: 1;\n}\n.hero.is-danger .tabs li.is-active a {\n color: hsl(348deg, 100%, 61%) !important;\n opacity: 1;\n}\n.hero.is-danger .tabs.is-boxed a, .hero.is-danger .tabs.is-toggle a {\n color: #fff;\n}\n.hero.is-danger .tabs.is-boxed a:hover, .hero.is-danger .tabs.is-toggle a:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.hero.is-danger .tabs.is-boxed li.is-active a, .hero.is-danger .tabs.is-boxed li.is-active a:hover, .hero.is-danger .tabs.is-toggle li.is-active a, .hero.is-danger .tabs.is-toggle li.is-active a:hover {\n background-color: #fff;\n border-color: #fff;\n color: hsl(348deg, 100%, 61%);\n}\n.hero.is-danger.is-bold {\n background-image: linear-gradient(141deg, #ff0561 0%, hsl(348deg, 100%, 61%) 71%, #ff5257 100%);\n}\n@media screen and (max-width: 768px) {\n .hero.is-danger.is-bold .navbar-menu {\n background-image: linear-gradient(141deg, #ff0561 0%, hsl(348deg, 100%, 61%) 71%, #ff5257 100%);\n }\n}\n.hero.is-small .hero-body {\n padding: 1.5rem;\n}\n@media screen and (min-width: 769px), print {\n .hero.is-medium .hero-body {\n padding: 9rem 4.5rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .hero.is-large .hero-body {\n padding: 18rem 6rem;\n }\n}\n.hero.is-halfheight .hero-body, .hero.is-fullheight .hero-body, .hero.is-fullheight-with-navbar .hero-body {\n align-items: center;\n display: flex;\n}\n.hero.is-halfheight .hero-body > .container, .hero.is-fullheight .hero-body > .container, .hero.is-fullheight-with-navbar .hero-body > .container {\n flex-grow: 1;\n flex-shrink: 1;\n}\n.hero.is-halfheight {\n min-height: 50vh;\n}\n.hero.is-fullheight {\n min-height: 100vh;\n}\n\n.hero-video {\n overflow: hidden;\n}\n.hero-video video {\n left: 50%;\n min-height: 100%;\n min-width: 100%;\n position: absolute;\n top: 50%;\n transform: translate3d(-50%, -50%, 0);\n}\n.hero-video.is-transparent {\n opacity: 0.3;\n}\n@media screen and (max-width: 768px) {\n .hero-video {\n display: none;\n }\n}\n\n.hero-buttons {\n margin-top: 1.5rem;\n}\n@media screen and (max-width: 768px) {\n .hero-buttons .button {\n display: flex;\n }\n .hero-buttons .button:not(:last-child) {\n margin-bottom: 0.75rem;\n }\n}\n@media screen and (min-width: 769px), print {\n .hero-buttons {\n display: flex;\n justify-content: center;\n }\n .hero-buttons .button:not(:last-child) {\n margin-right: 1.5rem;\n }\n}\n\n.hero-head,\n.hero-foot {\n flex-grow: 0;\n flex-shrink: 0;\n}\n\n.hero-body {\n flex-grow: 1;\n flex-shrink: 0;\n padding: 3rem 1.5rem;\n}\n@media screen and (min-width: 769px), print {\n .hero-body {\n padding: 3rem 3rem;\n }\n}\n\n.section {\n padding: 3rem 1.5rem;\n}\n@media screen and (min-width: 1024px) {\n .section {\n padding: 3rem 3rem;\n }\n .section.is-medium {\n padding: 9rem 4.5rem;\n }\n .section.is-large {\n padding: 18rem 6rem;\n }\n}\n\n/** Animations **/\n@keyframes fade-in-opacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes float-up {\n 0% {\n opacity: 0;\n transform: scale(0.86);\n }\n 25% {\n opacity: 100;\n }\n 67% {\n transform: scale(1);\n }\n 100% {\n transform: scale(1);\n }\n}\n/** General **/\nhtml {\n overflow-y: auto;\n}\n\nbody {\n animation: fade-in-opacity 0.5s;\n}\n\ncode,\n.message-body code {\n background-color: hsl(0deg, 0%, 0%);\n border-radius: 5px;\n font-size: 1rem;\n}\n\n.input::placeholder,\n.textarea::placeholder {\n color: hsl(0deg, 0%, 93%);\n}\n\n.label {\n color: hsl(0deg, 0%, 96%);\n font-weight: normal;\n}\n\n.help {\n color: hsl(0deg, 0%, 93%);\n}\n\n.progress {\n background-color: hsl(0deg, 0%, 48%);\n}\n\n.button.is-info.is-hovered [class^=icon-]::before,\n.button.is-info.is-hovered [class*=\" icon-\"]::before,\n.button.is-info:hover [class^=icon-]::before,\n.button.is-info:hover [class*=\" icon-\"]::before {\n fill: #fff;\n}\n\n.button {\n /* TODO: Use variables for colors */\n}\n.button.is-wrappable {\n white-space: break-spaces;\n min-height: 2.25em;\n height: auto;\n}\n.button.is-dangerish {\n background-color: #ff7043;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-dangerish.is-hovered, .button.is-dangerish:not([disabled]):hover {\n background-color: #ff8a65;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-dangerish.is-active, .button.is-dangerish:not([disabled]):active {\n background-color: #ff5722;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7);\n}\n.button.is-dangerish.is-outlined {\n background-color: transparent;\n border-color: #ff7043;\n color: #ff7043;\n}\n.button.is-dangerish.is-outlined.is-focused, .button.is-dangerish.is-outlined.is-hovered, .button.is-dangerish.is-outlined:not([disabled]):focus, .button.is-dangerish.is-outlined:not([disabled]):hover {\n background-color: #ff7043;\n border-color: #ff7043;\n color: rgba(0, 0, 0, 0.7);\n}\n\n.checkbox:hover,\n.radio:hover {\n color: hsl(0deg, 0%, 71%);\n}\n\n.select:not(.is-multiple, .is-loading)::after {\n border-color: hsl(0deg, 0%, 96%);\n}\n\n.select:not(.is-multiple, .is-loading):hover::after {\n border-color: hsl(0deg, 0%, 96%);\n}\n\n.select select[disabled]:hover,\nfieldset[disabled] .select select:hover {\n border-color: hsl(0deg, 0%, 48%);\n}\n\n.message {\n background-color: #2f2f2f;\n}\n\n.message-body {\n color: hsl(0deg, 0%, 96%);\n border: 0;\n}\n\n.table {\n color: hsl(0deg, 0%, 93%);\n background-color: hsl(0deg, 0%, 0%);\n}\n.table.is-narrow {\n font-size: 0.75rem;\n}\n.table.is-hoverable tbody tr:not(.is-selected):hover {\n background-color: #2f2f2f;\n}\n.table td,\n.table th {\n white-space: nowrap;\n vertical-align: middle;\n border-bottom: 1px solid hsl(0deg, 0%, 48%);\n}\n.table th {\n color: hsl(0deg, 0%, 96%);\n height: 2.25em;\n font-weight: normal;\n}\n.table thead td,\n.table thead th {\n color: hsl(0deg, 0%, 96%);\n background-color: #383838;\n border-bottom: 0;\n height: 31px;\n}\n.table tbody tr:last-child td,\n.table tbody tr:last-child th {\n border-bottom-width: 1px;\n}\n.table .cell-indent {\n padding-left: 2.25em;\n}\n\n.delete::before, .delete::after {\n background-color: hsl(0deg, 0%, 96%);\n}\n\n.has-word-break-all {\n word-break: break-all;\n}\n\n/** Fontello overrides **/\n.icon-gauge::before {\n margin-top: -2px;\n}\n\n/** Cookie Consent **/\n.cc-window {\n font-family: inherit !important;\n}\n\n.cc-link {\n padding: 0 !important;\n}\n\n/* floating button's bottom offset + height + bottom offset */\n.section.has-extra-bottom-padding {\n padding-bottom: 6.5rem;\n}\n\n/** Floating home button **/\na.floating-home-button {\n display: flex;\n position: fixed;\n right: 1.5rem;\n bottom: 1.5rem;\n border-radius: 100%;\n background-color: hsl(208deg, 79%, 51%);\n color: hsl(0deg, 0%, 100%);\n width: 3.5rem;\n height: 3.5rem;\n justify-content: center;\n align-items: center;\n transition: background-color 0.25s, color 0.25s;\n}\na.floating-home-button:hover {\n background-color: #edf5fd;\n color: hsl(0deg, 0%, 0%);\n}\na.floating-home-button > .icon {\n margin-top: -2px;\n}\n\n.hero.is-fullheight {\n /* https://github.com/philipwalton/flexbugs#flexbug-3 */\n}\n.hero.is-fullheight > .hero-body {\n min-height: 100vh;\n height: 100%;\n /* https://github.com/philipwalton/flexbugs#flexbug-2 */\n}\n.hero.is-fullheight > .hero-body > .container {\n width: 100%;\n}","@import \"derived-variables\"\n\n=clearfix\n &::after\n clear: both\n content: \" \"\n display: table\n\n=center($width, $height: 0)\n position: absolute\n @if $height != 0\n left: calc(50% - (#{$width} * 0.5))\n top: calc(50% - (#{$height} * 0.5))\n @else\n left: calc(50% - (#{$width} * 0.5))\n top: calc(50% - (#{$width} * 0.5))\n\n=fa($size, $dimensions)\n display: inline-block\n font-size: $size\n height: $dimensions\n line-height: $dimensions\n text-align: center\n vertical-align: top\n width: $dimensions\n\n=hamburger($dimensions)\n -moz-appearance: none\n -webkit-appearance: none\n appearance: none\n background: none\n border: none\n cursor: pointer\n display: block\n height: $dimensions\n position: relative\n width: $dimensions\n span\n background-color: currentColor\n display: block\n height: 1px\n left: calc(50% - 8px)\n position: absolute\n transform-origin: center\n transition-duration: $speed\n transition-property: background-color, opacity, transform\n transition-timing-function: $easing\n width: 16px\n &:nth-child(1)\n top: calc(50% - 6px)\n &:nth-child(2)\n top: calc(50% - 1px)\n &:nth-child(3)\n top: calc(50% + 4px)\n &:hover\n background-color: bulmaRgba(black, 0.05)\n // Modifers\n &.is-active\n span\n &:nth-child(1)\n transform: translateY(5px) rotate(45deg)\n &:nth-child(2)\n opacity: 0\n &:nth-child(3)\n transform: translateY(-5px) rotate(-45deg)\n\n=overflow-touch\n -webkit-overflow-scrolling: touch\n\n=placeholder\n $placeholders: ':-moz' ':-webkit-input' '-moz' '-ms-input'\n @each $placeholder in $placeholders\n &:#{$placeholder}-placeholder\n @content\n\n=reset\n -moz-appearance: none\n -webkit-appearance: none\n appearance: none\n background: none\n border: none\n color: currentColor\n font-family: inherit\n font-size: 1em\n margin: 0\n padding: 0\n\n// Responsiveness\n\n=from($device)\n @media screen and (min-width: $device)\n @content\n\n=until($device)\n @media screen and (max-width: $device - 1px)\n @content\n\n=between($from, $until)\n @media screen and (min-width: $from) and (max-width: $until - 1px)\n @content\n\n=mobile\n @media screen and (max-width: $tablet - 1px)\n @content\n\n=tablet\n @media screen and (min-width: $tablet), print\n @content\n\n=tablet-only\n @media screen and (min-width: $tablet) and (max-width: $desktop - 1px)\n @content\n\n=touch\n @media screen and (max-width: $desktop - 1px)\n @content\n\n=desktop\n @media screen and (min-width: $desktop)\n @content\n\n=desktop-only\n @if $widescreen-enabled\n @media screen and (min-width: $desktop) and (max-width: $widescreen - 1px)\n @content\n\n=until-widescreen\n @if $widescreen-enabled\n @media screen and (max-width: $widescreen - 1px)\n @content\n\n=widescreen\n @if $widescreen-enabled\n @media screen and (min-width: $widescreen)\n @content\n\n=widescreen-only\n @if $widescreen-enabled and $fullhd-enabled\n @media screen and (min-width: $widescreen) and (max-width: $fullhd - 1px)\n @content\n\n=until-fullhd\n @if $fullhd-enabled\n @media screen and (max-width: $fullhd - 1px)\n @content\n\n=fullhd\n @if $fullhd-enabled\n @media screen and (min-width: $fullhd)\n @content\n\n=breakpoint($name)\n $breakpoint: map-get($breakpoints, $name)\n @if $breakpoint\n $from: map-get($breakpoint, \"from\")\n $until: map-get($breakpoint, \"until\")\n @if $from and $until\n +between($from, $until)\n @content\n @else if $from\n +from($from)\n @content\n @else if $until\n +until($until)\n @content\n\n=ltr\n @if not $rtl\n @content\n\n=rtl\n @if $rtl\n @content\n\n=ltr-property($property, $spacing, $right: true)\n $normal: if($right, \"right\", \"left\")\n $opposite: if($right, \"left\", \"right\")\n @if $rtl\n #{$property}-#{$opposite}: $spacing\n @else\n #{$property}-#{$normal}: $spacing\n\n=ltr-position($spacing, $right: true)\n $normal: if($right, \"right\", \"left\")\n $opposite: if($right, \"left\", \"right\")\n @if $rtl\n #{$opposite}: $spacing\n @else\n #{$normal}: $spacing\n\n// Placeholders\n\n=unselectable\n -webkit-touch-callout: none\n -webkit-user-select: none\n -moz-user-select: none\n -ms-user-select: none\n user-select: none\n\n=arrow($color: transparent)\n border: 3px solid $color\n border-radius: 2px\n border-right: 0\n border-top: 0\n content: \" \"\n display: block\n height: 0.625em\n margin-top: -0.4375em\n pointer-events: none\n position: absolute\n top: 50%\n transform: rotate(-45deg)\n transform-origin: center\n width: 0.625em\n\n=block($spacing: $block-spacing)\n &:not(:last-child)\n margin-bottom: $spacing\n\n=delete\n +unselectable\n -moz-appearance: none\n -webkit-appearance: none\n background-color: bulmaRgba($scheme-invert, 0.2)\n border: none\n border-radius: $radius-rounded\n cursor: pointer\n pointer-events: auto\n display: inline-block\n flex-grow: 0\n flex-shrink: 0\n font-size: 0\n height: 20px\n max-height: 20px\n max-width: 20px\n min-height: 20px\n min-width: 20px\n outline: none\n position: relative\n vertical-align: top\n width: 20px\n &::before,\n &::after\n background-color: $scheme-main\n content: \"\"\n display: block\n left: 50%\n position: absolute\n top: 50%\n transform: translateX(-50%) translateY(-50%) rotate(45deg)\n transform-origin: center center\n &::before\n height: 2px\n width: 50%\n &::after\n height: 50%\n width: 2px\n &:hover,\n &:focus\n background-color: bulmaRgba($scheme-invert, 0.3)\n &:active\n background-color: bulmaRgba($scheme-invert, 0.4)\n // Sizes\n &.is-small\n height: 16px\n max-height: 16px\n max-width: 16px\n min-height: 16px\n min-width: 16px\n width: 16px\n &.is-medium\n height: 24px\n max-height: 24px\n max-width: 24px\n min-height: 24px\n min-width: 24px\n width: 24px\n &.is-large\n height: 32px\n max-height: 32px\n max-width: 32px\n min-height: 32px\n min-width: 32px\n width: 32px\n\n=loader\n animation: spinAround 500ms infinite linear\n border: 2px solid $grey-lighter\n border-radius: $radius-rounded\n border-right-color: transparent\n border-top-color: transparent\n content: \"\"\n display: block\n height: 1em\n position: relative\n width: 1em\n\n=overlay($offset: 0)\n bottom: $offset\n left: $offset\n position: absolute\n right: $offset\n top: $offset\n","@charset \"utf-8\";\n\n/* stylelint-disable scss/dollar-variable-empty-line-before */\n/* stylelint-disable-next-line value-keyword-case */\n$family-sans-serif: BlinkMacSystemFont, -apple-system, \"Segoe UI\", \"Ubuntu\", \"Roboto\", \"Oxygen\", \"Cantarell\",\n \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"Helvetica\", \"Arial\", sans-serif;\n\n$black: hsl(0deg 0% 0%);\n$green: hsl(141deg 42% 53%);\n$cyan: hsl(217deg 89% 61%);\n$blue: hsl(208deg 79% 51%);\n$red: hsl(348deg 100% 61%);\n\n/** Bulma: Variables **/\n@import \"../../node_modules/bulma/sass/utilities/initial-variables\";\n@import \"../../node_modules/bulma/sass/utilities/functions\";\n@import \"../../node_modules/bulma/sass/utilities/derived-variables\";\n\n$scheme-main: $black;\n$text: $white-ter;\n\n$strong-color: $grey-lighter;\n\n$link-hover: $link-light;\n\n$hr-background-color: $grey-light;\n\n$border-hover: $link;\n$input-focus-border-color: $link-light;\n\n$title-color: $white-ter;\n$subtitle-color: $grey-lightest;\n$subtitle-strong-color: $grey-lightest;\n\n$input-background-color: $scheme-main;\n$input-border-color: $grey;\n$input-color: $text;\n$input-placeholder-color: $grey-lightest;\n\n$input-disabled-background-color: $grey-dark;\n$input-disabled-border-color: $input-border-color;\n$input-disabled-color: $input-color;\n$input-disabled-placeholder-color: $grey-lightest;\n\n$pagination-background-color: $scheme-main;\n$pagination-border-color: $text;\n$pagination-color: $text;\n\n$pagination-hover-background-color: $pagination-color;\n$pagination-hover-border-color: $pagination-border-color;\n$pagination-hover-color: $scheme-main;\n\n$pagination-disabled-background-color: $grey-dark;\n$pagination-disabled-border-color: $grey;\n$pagination-disabled-color: hsl(0deg 0% 64%);\n\n$tabs-link-color: $text;\n$tabs-link-hover-color: $tabs-link-color;\n$tabs-boxed-link-active-border-color: $grey;\n$tabs-boxed-link-hover-background-color: $grey-darker;\n$tabs-boxed-link-hover-border-bottom-color: $tabs-boxed-link-active-border-color\n","/* Bulma Base */\n@charset \"utf-8\"\n\n@import \"minireset\"\n@import \"generic\"\n@import \"animations\"\n","/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */\n// Blocks\nhtml,\nbody,\np,\nol,\nul,\nli,\ndl,\ndt,\ndd,\nblockquote,\nfigure,\nfieldset,\nlegend,\ntextarea,\npre,\niframe,\nhr,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n margin: 0\n padding: 0\n\n// Headings\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n font-size: 100%\n font-weight: normal\n\n// List\nul\n list-style: none\n\n// Form\nbutton,\ninput,\nselect,\ntextarea\n margin: 0\n\n// Box sizing\nhtml\n box-sizing: border-box\n\n*\n &,\n &::before,\n &::after\n box-sizing: inherit\n\n// Media\nimg,\nvideo\n height: auto\n max-width: 100%\n\n// Iframe\niframe\n border: 0\n\n// Table\ntable\n border-collapse: collapse\n border-spacing: 0\n\ntd,\nth\n padding: 0\n &:not([align])\n text-align: inherit\n","@import \"../utilities/mixins\"\n\n$body-background-color: $scheme-main !default\n$body-size: 16px !default\n$body-min-width: 300px !default\n$body-rendering: optimizeLegibility !default\n$body-family: $family-primary !default\n$body-overflow-x: hidden !default\n$body-overflow-y: scroll !default\n\n$body-color: $text !default\n$body-font-size: 1em !default\n$body-weight: $weight-normal !default\n$body-line-height: 1.5 !default\n\n$code-family: $family-code !default\n$code-padding: 0.25em 0.5em 0.25em !default\n$code-weight: normal !default\n$code-size: 0.875em !default\n\n$small-font-size: 0.875em !default\n\n$hr-background-color: $background !default\n$hr-height: 2px !default\n$hr-margin: 1.5rem 0 !default\n\n$strong-color: $text-strong !default\n$strong-weight: $weight-bold !default\n\n$pre-font-size: 0.875em !default\n$pre-padding: 1.25rem 1.5rem !default\n$pre-code-font-size: 1em !default\n\nhtml\n background-color: $body-background-color\n font-size: $body-size\n -moz-osx-font-smoothing: grayscale\n -webkit-font-smoothing: antialiased\n min-width: $body-min-width\n overflow-x: $body-overflow-x\n overflow-y: $body-overflow-y\n text-rendering: $body-rendering\n text-size-adjust: 100%\n\narticle,\naside,\nfigure,\nfooter,\nheader,\nhgroup,\nsection\n display: block\n\nbody,\nbutton,\ninput,\noptgroup,\nselect,\ntextarea\n font-family: $body-family\n\ncode,\npre\n -moz-osx-font-smoothing: auto\n -webkit-font-smoothing: auto\n font-family: $code-family\n\nbody\n color: $body-color\n font-size: $body-font-size\n font-weight: $body-weight\n line-height: $body-line-height\n\n// Inline\n\na\n color: $link\n cursor: pointer\n text-decoration: none\n strong\n color: currentColor\n &:hover\n color: $link-hover\n\ncode\n background-color: $code-background\n color: $code\n font-size: $code-size\n font-weight: $code-weight\n padding: $code-padding\n\nhr\n background-color: $hr-background-color\n border: none\n display: block\n height: $hr-height\n margin: $hr-margin\n\nimg\n height: auto\n max-width: 100%\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"]\n vertical-align: baseline\n\nsmall\n font-size: $small-font-size\n\nspan\n font-style: inherit\n font-weight: inherit\n\nstrong\n color: $strong-color\n font-weight: $strong-weight\n\n// Block\n\nfieldset\n border: none\n\npre\n +overflow-touch\n background-color: $pre-background\n color: $pre\n font-size: $pre-font-size\n overflow-x: auto\n padding: $pre-padding\n white-space: pre\n word-wrap: normal\n code\n background-color: transparent\n color: currentColor\n font-size: $pre-code-font-size\n padding: 0\n\ntable\n td,\n th\n vertical-align: top\n &:not([align])\n text-align: inherit\n th\n color: $text-strong\n","@import \"initial-variables\"\n@import \"functions\"\n\n$primary: $turquoise !default\n\n$info: $cyan !default\n$success: $green !default\n$warning: $yellow !default\n$danger: $red !default\n\n$light: $white-ter !default\n$dark: $grey-darker !default\n\n// Invert colors\n\n$orange-invert: findColorInvert($orange) !default\n$yellow-invert: findColorInvert($yellow) !default\n$green-invert: findColorInvert($green) !default\n$turquoise-invert: findColorInvert($turquoise) !default\n$cyan-invert: findColorInvert($cyan) !default\n$blue-invert: findColorInvert($blue) !default\n$purple-invert: findColorInvert($purple) !default\n$red-invert: findColorInvert($red) !default\n\n$primary-invert: findColorInvert($primary) !default\n$primary-light: findLightColor($primary) !default\n$primary-dark: findDarkColor($primary) !default\n$info-invert: findColorInvert($info) !default\n$info-light: findLightColor($info) !default\n$info-dark: findDarkColor($info) !default\n$success-invert: findColorInvert($success) !default\n$success-light: findLightColor($success) !default\n$success-dark: findDarkColor($success) !default\n$warning-invert: findColorInvert($warning) !default\n$warning-light: findLightColor($warning) !default\n$warning-dark: findDarkColor($warning) !default\n$danger-invert: findColorInvert($danger) !default\n$danger-light: findLightColor($danger) !default\n$danger-dark: findDarkColor($danger) !default\n$light-invert: findColorInvert($light) !default\n$dark-invert: findColorInvert($dark) !default\n\n// General colors\n\n$scheme-main: $white !default\n$scheme-main-bis: $white-bis !default\n$scheme-main-ter: $white-ter !default\n$scheme-invert: $black !default\n$scheme-invert-bis: $black-bis !default\n$scheme-invert-ter: $black-ter !default\n\n$background: $white-ter !default\n\n$border: $grey-lighter !default\n$border-hover: $grey-light !default\n$border-light: $grey-lightest !default\n$border-light-hover: $grey-light !default\n\n// Text colors\n\n$text: $grey-dark !default\n$text-invert: findColorInvert($text) !default\n$text-light: $grey !default\n$text-strong: $grey-darker !default\n\n// Code colors\n\n$code: darken($red, 15%) !default\n$code-background: $background !default\n\n$pre: $text !default\n$pre-background: $background !default\n\n// Link colors\n\n$link: $blue !default\n$link-invert: findColorInvert($link) !default\n$link-light: findLightColor($link) !default\n$link-dark: findDarkColor($link) !default\n$link-visited: $purple !default\n\n$link-hover: $grey-darker !default\n$link-hover-border: $grey-light !default\n\n$link-focus: $grey-darker !default\n$link-focus-border: $blue !default\n\n$link-active: $grey-darker !default\n$link-active-border: $grey-dark !default\n\n// Typography\n\n$family-primary: $family-sans-serif !default\n$family-secondary: $family-sans-serif !default\n$family-code: $family-monospace !default\n\n$size-small: $size-7 !default\n$size-normal: $size-6 !default\n$size-medium: $size-5 !default\n$size-large: $size-4 !default\n\n// Effects\n\n$shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0px 0 1px rgba($scheme-invert, 0.02) !default\n\n// Lists and maps\n$custom-colors: null !default\n$custom-shades: null !default\n\n$colors: mergeColorMaps((\"white\": ($white, $black), \"black\": ($black, $white), \"light\": ($light, $light-invert), \"dark\": ($dark, $dark-invert), \"primary\": ($primary, $primary-invert, $primary-light, $primary-dark), \"link\": ($link, $link-invert, $link-light, $link-dark), \"info\": ($info, $info-invert, $info-light, $info-dark), \"success\": ($success, $success-invert, $success-light, $success-dark), \"warning\": ($warning, $warning-invert, $warning-light, $warning-dark), \"danger\": ($danger, $danger-invert, $danger-light, $danger-dark)), $custom-colors) !default\n\n$shades: mergeColorMaps((\"black-bis\": $black-bis, \"black-ter\": $black-ter, \"grey-darker\": $grey-darker, \"grey-dark\": $grey-dark, \"grey\": $grey, \"grey-light\": $grey-light, \"grey-lighter\": $grey-lighter, \"white-ter\": $white-ter, \"white-bis\": $white-bis), $custom-shades) !default\n\n$sizes: $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 $size-7 !default\n","@keyframes spinAround\n from\n transform: rotate(0deg)\n to\n transform: rotate(359deg)\n","@import \"../utilities/controls\"\n@import \"../utilities/mixins\"\n\n$button-color: $text-strong !default\n$button-background-color: $scheme-main !default\n$button-family: false !default\n\n$button-border-color: $border !default\n$button-border-width: $control-border-width !default\n\n$button-padding-vertical: calc(0.5em - #{$button-border-width}) !default\n$button-padding-horizontal: 1em !default\n\n$button-hover-color: $link-hover !default\n$button-hover-border-color: $link-hover-border !default\n\n$button-focus-color: $link-focus !default\n$button-focus-border-color: $link-focus-border !default\n$button-focus-box-shadow-size: 0 0 0 0.125em !default\n$button-focus-box-shadow-color: bulmaRgba($link, 0.25) !default\n\n$button-active-color: $link-active !default\n$button-active-border-color: $link-active-border !default\n\n$button-text-color: $text !default\n$button-text-decoration: underline !default\n$button-text-hover-background-color: $background !default\n$button-text-hover-color: $text-strong !default\n\n$button-ghost-background: none !default\n$button-ghost-border-color: transparent !default\n$button-ghost-color: $link !default\n$button-ghost-decoration: none !default\n$button-ghost-hover-color: $link !default\n$button-ghost-hover-decoration: underline !default\n\n$button-disabled-background-color: $scheme-main !default\n$button-disabled-border-color: $border !default\n$button-disabled-shadow: none !default\n$button-disabled-opacity: 0.5 !default\n\n$button-static-color: $text-light !default\n$button-static-background-color: $scheme-main-ter !default\n$button-static-border-color: $border !default\n\n$button-colors: $colors !default\n$button-responsive-sizes: (\"mobile\": (\"small\": ($size-small * 0.75), \"normal\": ($size-small * 0.875), \"medium\": $size-small, \"large\": $size-normal), \"tablet-only\": (\"small\": ($size-small * 0.875), \"normal\": ($size-small), \"medium\": $size-normal, \"large\": $size-medium)) !default\n\n// The button sizes use mixins so they can be used at different breakpoints\n=button-small\n &:not(.is-rounded)\n border-radius: $radius-small\n font-size: $size-small\n=button-normal\n font-size: $size-normal\n=button-medium\n font-size: $size-medium\n=button-large\n font-size: $size-large\n\n.button\n @extend %control\n @extend %unselectable\n background-color: $button-background-color\n border-color: $button-border-color\n border-width: $button-border-width\n color: $button-color\n cursor: pointer\n @if $button-family\n font-family: $button-family\n justify-content: center\n padding-bottom: $button-padding-vertical\n padding-left: $button-padding-horizontal\n padding-right: $button-padding-horizontal\n padding-top: $button-padding-vertical\n text-align: center\n white-space: nowrap\n strong\n color: inherit\n .icon\n &,\n &.is-small,\n &.is-medium,\n &.is-large\n height: 1.5em\n width: 1.5em\n &:first-child:not(:last-child)\n +ltr-property(\"margin\", calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width}), false)\n +ltr-property(\"margin\", $button-padding-horizontal * 0.25)\n &:last-child:not(:first-child)\n +ltr-property(\"margin\", $button-padding-horizontal * 0.25, false)\n +ltr-property(\"margin\", calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width}))\n &:first-child:last-child\n margin-left: calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width})\n margin-right: calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width})\n // States\n &:hover,\n &.is-hovered\n border-color: $button-hover-border-color\n color: $button-hover-color\n &:focus,\n &.is-focused\n border-color: $button-focus-border-color\n color: $button-focus-color\n &:not(:active)\n box-shadow: $button-focus-box-shadow-size $button-focus-box-shadow-color\n &:active,\n &.is-active\n border-color: $button-active-border-color\n color: $button-active-color\n // Colors\n &.is-text\n background-color: transparent\n border-color: transparent\n color: $button-text-color\n text-decoration: $button-text-decoration\n &:hover,\n &.is-hovered,\n &:focus,\n &.is-focused\n background-color: $button-text-hover-background-color\n color: $button-text-hover-color\n &:active,\n &.is-active\n background-color: bulmaDarken($button-text-hover-background-color, 5%)\n color: $button-text-hover-color\n &[disabled],\n fieldset[disabled] &\n background-color: transparent\n border-color: transparent\n box-shadow: none\n &.is-ghost\n background: $button-ghost-background\n border-color: $button-ghost-border-color\n color: $button-ghost-color\n text-decoration: $button-ghost-decoration\n &:hover,\n &.is-hovered\n color: $button-ghost-hover-color\n text-decoration: $button-ghost-hover-decoration\n @each $name, $pair in $button-colors\n $color: nth($pair, 1)\n $color-invert: nth($pair, 2)\n &.is-#{$name}\n background-color: $color\n border-color: transparent\n color: $color-invert\n &:hover,\n &.is-hovered\n background-color: bulmaDarken($color, 2.5%)\n border-color: transparent\n color: $color-invert\n &:focus,\n &.is-focused\n border-color: transparent\n color: $color-invert\n &:not(:active)\n box-shadow: $button-focus-box-shadow-size bulmaRgba($color, 0.25)\n &:active,\n &.is-active\n background-color: bulmaDarken($color, 5%)\n border-color: transparent\n color: $color-invert\n &[disabled],\n fieldset[disabled] &\n background-color: $color\n border-color: $color\n box-shadow: none\n &.is-inverted\n background-color: $color-invert\n color: $color\n &:hover,\n &.is-hovered\n background-color: bulmaDarken($color-invert, 5%)\n &[disabled],\n fieldset[disabled] &\n background-color: $color-invert\n border-color: transparent\n box-shadow: none\n color: $color\n &.is-loading\n &::after\n border-color: transparent transparent $color-invert $color-invert !important\n &.is-outlined\n background-color: transparent\n border-color: $color\n color: $color\n &:hover,\n &.is-hovered,\n &:focus,\n &.is-focused\n background-color: $color\n border-color: $color\n color: $color-invert\n &.is-loading\n &::after\n border-color: transparent transparent $color $color !important\n &:hover,\n &.is-hovered,\n &:focus,\n &.is-focused\n &::after\n border-color: transparent transparent $color-invert $color-invert !important\n &[disabled],\n fieldset[disabled] &\n background-color: transparent\n border-color: $color\n box-shadow: none\n color: $color\n &.is-inverted.is-outlined\n background-color: transparent\n border-color: $color-invert\n color: $color-invert\n &:hover,\n &.is-hovered,\n &:focus,\n &.is-focused\n background-color: $color-invert\n color: $color\n &.is-loading\n &:hover,\n &.is-hovered,\n &:focus,\n &.is-focused\n &::after\n border-color: transparent transparent $color $color !important\n &[disabled],\n fieldset[disabled] &\n background-color: transparent\n border-color: $color-invert\n box-shadow: none\n color: $color-invert\n // If light and dark colors are provided\n @if length($pair) >= 4\n $color-light: nth($pair, 3)\n $color-dark: nth($pair, 4)\n &.is-light\n background-color: $color-light\n color: $color-dark\n &:hover,\n &.is-hovered\n background-color: bulmaDarken($color-light, 2.5%)\n border-color: transparent\n color: $color-dark\n &:active,\n &.is-active\n background-color: bulmaDarken($color-light, 5%)\n border-color: transparent\n color: $color-dark\n // Sizes\n &.is-small\n +button-small\n &.is-normal\n +button-normal\n &.is-medium\n +button-medium\n &.is-large\n +button-large\n // Modifiers\n &[disabled],\n fieldset[disabled] &\n background-color: $button-disabled-background-color\n border-color: $button-disabled-border-color\n box-shadow: $button-disabled-shadow\n opacity: $button-disabled-opacity\n &.is-fullwidth\n display: flex\n width: 100%\n &.is-loading\n color: transparent !important\n pointer-events: none\n &::after\n @extend %loader\n +center(1em)\n position: absolute !important\n &.is-static\n background-color: $button-static-background-color\n border-color: $button-static-border-color\n color: $button-static-color\n box-shadow: none\n pointer-events: none\n &.is-rounded\n border-radius: $radius-rounded\n padding-left: calc(#{$button-padding-horizontal} + 0.25em)\n padding-right: calc(#{$button-padding-horizontal} + 0.25em)\n\n.buttons\n align-items: center\n display: flex\n flex-wrap: wrap\n justify-content: flex-start\n .button\n margin-bottom: 0.5rem\n &:not(:last-child):not(.is-fullwidth)\n +ltr-property(\"margin\", 0.5rem)\n &:last-child\n margin-bottom: -0.5rem\n &:not(:last-child)\n margin-bottom: 1rem\n // Sizes\n &.are-small\n .button:not(.is-normal):not(.is-medium):not(.is-large)\n +button-small\n &.are-medium\n .button:not(.is-small):not(.is-normal):not(.is-large)\n +button-medium\n &.are-large\n .button:not(.is-small):not(.is-normal):not(.is-medium)\n +button-large\n &.has-addons\n .button\n &:not(:first-child)\n border-bottom-left-radius: 0\n border-top-left-radius: 0\n &:not(:last-child)\n border-bottom-right-radius: 0\n border-top-right-radius: 0\n +ltr-property(\"margin\", -1px)\n &:last-child\n +ltr-property(\"margin\", 0)\n &:hover,\n &.is-hovered\n z-index: 2\n &:focus,\n &.is-focused,\n &:active,\n &.is-active,\n &.is-selected\n z-index: 3\n &:hover\n z-index: 4\n &.is-expanded\n flex-grow: 1\n flex-shrink: 1\n &.is-centered\n justify-content: center\n &:not(.has-addons)\n .button:not(.is-fullwidth)\n margin-left: 0.25rem\n margin-right: 0.25rem\n &.is-right\n justify-content: flex-end\n &:not(.has-addons)\n .button:not(.is-fullwidth)\n margin-left: 0.25rem\n margin-right: 0.25rem\n\n@each $bp-name, $bp-sizes in $button-responsive-sizes\n +breakpoint($bp-name)\n @each $size, $value in $bp-sizes\n @if $size != \"normal\"\n .button.is-responsive.is-#{$size}\n font-size: $value\n @else\n .button.is-responsive,\n .button.is-responsive.is-normal\n font-size: $value\n","@import \"../utilities/mixins\"\n\n$container-offset: (2 * $gap) !default\n$container-max-width: $fullhd !default\n\n.container\n flex-grow: 1\n margin: 0 auto\n position: relative\n width: auto\n &.is-fluid\n max-width: none !important\n padding-left: $gap\n padding-right: $gap\n width: 100%\n +desktop\n max-width: $desktop - $container-offset\n +until-widescreen\n &.is-widescreen:not(.is-max-desktop)\n max-width: min($widescreen, $container-max-width) - $container-offset\n +until-fullhd\n &.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen)\n max-width: min($fullhd, $container-max-width) - $container-offset\n +widescreen\n &:not(.is-max-desktop)\n max-width: min($widescreen, $container-max-width) - $container-offset\n +fullhd\n &:not(.is-max-desktop):not(.is-max-widescreen)\n max-width: min($fullhd, $container-max-width) - $container-offset\n","@import \"../utilities/mixins\"\n\n$content-heading-color: $text-strong !default\n$content-heading-weight: $weight-semibold !default\n$content-heading-line-height: 1.125 !default\n\n$content-block-margin-bottom: 1em !default\n\n$content-blockquote-background-color: $background !default\n$content-blockquote-border-left: 5px solid $border !default\n$content-blockquote-padding: 1.25em 1.5em !default\n\n$content-pre-padding: 1.25em 1.5em !default\n\n$content-table-cell-border: 1px solid $border !default\n$content-table-cell-border-width: 0 0 1px !default\n$content-table-cell-padding: 0.5em 0.75em !default\n$content-table-cell-heading-color: $text-strong !default\n$content-table-head-cell-border-width: 0 0 2px !default\n$content-table-head-cell-color: $text-strong !default\n$content-table-body-last-row-cell-border-bottom-width: 0 !default\n$content-table-foot-cell-border-width: 2px 0 0 !default\n$content-table-foot-cell-color: $text-strong !default\n\n.content\n @extend %block\n // Inline\n li + li\n margin-top: 0.25em\n // Block\n p,\n dl,\n ol,\n ul,\n blockquote,\n pre,\n table\n &:not(:last-child)\n margin-bottom: $content-block-margin-bottom\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n color: $content-heading-color\n font-weight: $content-heading-weight\n line-height: $content-heading-line-height\n h1\n font-size: 2em\n margin-bottom: 0.5em\n &:not(:first-child)\n margin-top: 1em\n h2\n font-size: 1.75em\n margin-bottom: 0.5714em\n &:not(:first-child)\n margin-top: 1.1428em\n h3\n font-size: 1.5em\n margin-bottom: 0.6666em\n &:not(:first-child)\n margin-top: 1.3333em\n h4\n font-size: 1.25em\n margin-bottom: 0.8em\n h5\n font-size: 1.125em\n margin-bottom: 0.8888em\n h6\n font-size: 1em\n margin-bottom: 1em\n blockquote\n background-color: $content-blockquote-background-color\n +ltr-property(\"border\", $content-blockquote-border-left, false)\n padding: $content-blockquote-padding\n ol\n list-style-position: outside\n +ltr-property(\"margin\", 2em, false)\n margin-top: 1em\n &:not([type])\n list-style-type: decimal\n &.is-lower-alpha\n list-style-type: lower-alpha\n &.is-lower-roman\n list-style-type: lower-roman\n &.is-upper-alpha\n list-style-type: upper-alpha\n &.is-upper-roman\n list-style-type: upper-roman\n ul\n list-style: disc outside\n +ltr-property(\"margin\", 2em, false)\n margin-top: 1em\n ul\n list-style-type: circle\n margin-top: 0.5em\n ul\n list-style-type: square\n dd\n +ltr-property(\"margin\", 2em, false)\n figure\n margin-left: 2em\n margin-right: 2em\n text-align: center\n &:not(:first-child)\n margin-top: 2em\n &:not(:last-child)\n margin-bottom: 2em\n img\n display: inline-block\n figcaption\n font-style: italic\n pre\n +overflow-touch\n overflow-x: auto\n padding: $content-pre-padding\n white-space: pre\n word-wrap: normal\n sup,\n sub\n font-size: 75%\n table\n width: 100%\n td,\n th\n border: $content-table-cell-border\n border-width: $content-table-cell-border-width\n padding: $content-table-cell-padding\n vertical-align: top\n th\n color: $content-table-cell-heading-color\n &:not([align])\n text-align: inherit\n thead\n td,\n th\n border-width: $content-table-head-cell-border-width\n color: $content-table-head-cell-color\n tfoot\n td,\n th\n border-width: $content-table-foot-cell-border-width\n color: $content-table-foot-cell-color\n tbody\n tr\n &:last-child\n td,\n th\n border-bottom-width: $content-table-body-last-row-cell-border-bottom-width\n .tabs\n li + li\n margin-top: 0\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-normal\n font-size: $size-normal\n &.is-medium\n font-size: $size-medium\n &.is-large\n font-size: $size-large\n","$icon-dimensions: 1.5rem !default\n$icon-dimensions-small: 1rem !default\n$icon-dimensions-medium: 2rem !default\n$icon-dimensions-large: 3rem !default\n$icon-text-spacing: 0.25em !default\n\n.icon\n align-items: center\n display: inline-flex\n justify-content: center\n height: $icon-dimensions\n width: $icon-dimensions\n // Sizes\n &.is-small\n height: $icon-dimensions-small\n width: $icon-dimensions-small\n &.is-medium\n height: $icon-dimensions-medium\n width: $icon-dimensions-medium\n &.is-large\n height: $icon-dimensions-large\n width: $icon-dimensions-large\n\n.icon-text\n align-items: flex-start\n color: inherit\n display: inline-flex\n flex-wrap: wrap\n line-height: $icon-dimensions\n vertical-align: top\n .icon\n flex-grow: 0\n flex-shrink: 0\n &:not(:last-child)\n +ltr\n margin-right: $icon-text-spacing\n +rtl\n margin-left: $icon-text-spacing\n &:not(:first-child)\n +ltr\n margin-left: $icon-text-spacing\n +rtl\n margin-right: $icon-text-spacing\n\ndiv.icon-text\n display: flex\n","@import \"../utilities/mixins\"\n\n$notification-background-color: $background !default\n$notification-code-background-color: $scheme-main !default\n$notification-radius: $radius !default\n$notification-padding: 1.25rem 2.5rem 1.25rem 1.5rem !default\n$notification-padding-ltr: 1.25rem 2.5rem 1.25rem 1.5rem !default\n$notification-padding-rtl: 1.25rem 1.5rem 1.25rem 2.5rem !default\n\n$notification-colors: $colors !default\n\n.notification\n @extend %block\n background-color: $notification-background-color\n border-radius: $notification-radius\n position: relative\n +ltr\n padding: $notification-padding-ltr\n +rtl\n padding: $notification-padding-rtl\n a:not(.button):not(.dropdown-item)\n color: currentColor\n text-decoration: underline\n strong\n color: currentColor\n code,\n pre\n background: $notification-code-background-color\n pre code\n background: transparent\n & > .delete\n +ltr-position(0.5rem)\n position: absolute\n top: 0.5rem\n .title,\n .subtitle,\n .content\n color: currentColor\n // Colors\n @each $name, $pair in $notification-colors\n $color: nth($pair, 1)\n $color-invert: nth($pair, 2)\n &.is-#{$name}\n background-color: $color\n color: $color-invert\n // If light and dark colors are provided\n @if length($pair) >= 4\n $color-light: nth($pair, 3)\n $color-dark: nth($pair, 4)\n &.is-light\n background-color: $color-light\n color: $color-dark\n","@import \"../utilities/mixins\"\n\n$progress-bar-background-color: $border-light !default\n$progress-value-background-color: $text !default\n$progress-border-radius: $radius-rounded !default\n\n$progress-indeterminate-duration: 1.5s !default\n\n$progress-colors: $colors !default\n\n.progress\n @extend %block\n -moz-appearance: none\n -webkit-appearance: none\n border: none\n border-radius: $progress-border-radius\n display: block\n height: $size-normal\n overflow: hidden\n padding: 0\n width: 100%\n &::-webkit-progress-bar\n background-color: $progress-bar-background-color\n &::-webkit-progress-value\n background-color: $progress-value-background-color\n &::-moz-progress-bar\n background-color: $progress-value-background-color\n &::-ms-fill\n background-color: $progress-value-background-color\n border: none\n // Colors\n @each $name, $pair in $progress-colors\n $color: nth($pair, 1)\n &.is-#{$name}\n &::-webkit-progress-value\n background-color: $color\n &::-moz-progress-bar\n background-color: $color\n &::-ms-fill\n background-color: $color\n &:indeterminate\n background-image: linear-gradient(to right, $color 30%, $progress-bar-background-color 30%)\n\n &:indeterminate\n animation-duration: $progress-indeterminate-duration\n animation-iteration-count: infinite\n animation-name: moveIndeterminate\n animation-timing-function: linear\n background-color: $progress-bar-background-color\n background-image: linear-gradient(to right, $text 30%, $progress-bar-background-color 30%)\n background-position: top left\n background-repeat: no-repeat\n background-size: 150% 150%\n &::-webkit-progress-bar\n background-color: transparent\n &::-moz-progress-bar\n background-color: transparent\n &::-ms-fill\n animation-name: none\n\n // Sizes\n &.is-small\n height: $size-small\n &.is-medium\n height: $size-medium\n &.is-large\n height: $size-large\n\n@keyframes moveIndeterminate\n from\n background-position: 200% 0\n to\n background-position: -200% 0\n","@import \"../utilities/mixins\"\n\n$table-color: $text-strong !default\n$table-background-color: $scheme-main !default\n\n$table-cell-border: 1px solid $border !default\n$table-cell-border-width: 0 0 1px !default\n$table-cell-padding: 0.5em 0.75em !default\n$table-cell-heading-color: $text-strong !default\n$table-cell-text-align: left !default\n\n$table-head-cell-border-width: 0 0 2px !default\n$table-head-cell-color: $text-strong !default\n$table-foot-cell-border-width: 2px 0 0 !default\n$table-foot-cell-color: $text-strong !default\n\n$table-head-background-color: transparent !default\n$table-body-background-color: transparent !default\n$table-foot-background-color: transparent !default\n\n$table-row-hover-background-color: $scheme-main-bis !default\n\n$table-row-active-background-color: $primary !default\n$table-row-active-color: $primary-invert !default\n\n$table-striped-row-even-background-color: $scheme-main-bis !default\n$table-striped-row-even-hover-background-color: $scheme-main-ter !default\n\n$table-colors: $colors !default\n\n.table\n @extend %block\n background-color: $table-background-color\n color: $table-color\n td,\n th\n border: $table-cell-border\n border-width: $table-cell-border-width\n padding: $table-cell-padding\n vertical-align: top\n // Colors\n @each $name, $pair in $table-colors\n $color: nth($pair, 1)\n $color-invert: nth($pair, 2)\n &.is-#{$name}\n background-color: $color\n border-color: $color\n color: $color-invert\n // Modifiers\n &.is-narrow\n white-space: nowrap\n width: 1%\n &.is-selected\n background-color: $table-row-active-background-color\n color: $table-row-active-color\n a,\n strong\n color: currentColor\n &.is-vcentered\n vertical-align: middle\n th\n color: $table-cell-heading-color\n &:not([align])\n text-align: $table-cell-text-align\n tr\n &.is-selected\n background-color: $table-row-active-background-color\n color: $table-row-active-color\n a,\n strong\n color: currentColor\n td,\n th\n border-color: $table-row-active-color\n color: currentColor\n thead\n background-color: $table-head-background-color\n td,\n th\n border-width: $table-head-cell-border-width\n color: $table-head-cell-color\n tfoot\n background-color: $table-foot-background-color\n td,\n th\n border-width: $table-foot-cell-border-width\n color: $table-foot-cell-color\n tbody\n background-color: $table-body-background-color\n tr\n &:last-child\n td,\n th\n border-bottom-width: 0\n // Modifiers\n &.is-bordered\n td,\n th\n border-width: 1px\n tr\n &:last-child\n td,\n th\n border-bottom-width: 1px\n &.is-fullwidth\n width: 100%\n &.is-hoverable\n tbody\n tr:not(.is-selected)\n &:hover\n background-color: $table-row-hover-background-color\n &.is-striped\n tbody\n tr:not(.is-selected)\n &:hover\n background-color: $table-row-hover-background-color\n &:nth-child(even)\n background-color: $table-striped-row-even-hover-background-color\n &.is-narrow\n td,\n th\n padding: 0.25em 0.5em\n &.is-striped\n tbody\n tr:not(.is-selected)\n &:nth-child(even)\n background-color: $table-striped-row-even-background-color\n\n.table-container\n @extend %block\n +overflow-touch\n overflow: auto\n overflow-y: hidden\n max-width: 100%\n","@import \"../utilities/mixins\"\n\n$title-color: $text-strong !default\n$title-family: false !default\n$title-size: $size-3 !default\n$title-weight: $weight-semibold !default\n$title-line-height: 1.125 !default\n$title-strong-color: inherit !default\n$title-strong-weight: inherit !default\n$title-sub-size: 0.75em !default\n$title-sup-size: 0.75em !default\n\n$subtitle-color: $text !default\n$subtitle-family: false !default\n$subtitle-size: $size-5 !default\n$subtitle-weight: $weight-normal !default\n$subtitle-line-height: 1.25 !default\n$subtitle-strong-color: $text-strong !default\n$subtitle-strong-weight: $weight-semibold !default\n$subtitle-negative-margin: -1.25rem !default\n\n.title,\n.subtitle\n @extend %block\n word-break: break-word\n em,\n span\n font-weight: inherit\n sub\n font-size: $title-sub-size\n sup\n font-size: $title-sup-size\n .tag\n vertical-align: middle\n\n.title\n color: $title-color\n @if $title-family\n font-family: $title-family\n font-size: $title-size\n font-weight: $title-weight\n line-height: $title-line-height\n strong\n color: $title-strong-color\n font-weight: $title-strong-weight\n &:not(.is-spaced) + .subtitle\n margin-top: $subtitle-negative-margin\n // Sizes\n @each $size in $sizes\n $i: index($sizes, $size)\n &.is-#{$i}\n font-size: $size\n\n.subtitle\n color: $subtitle-color\n @if $subtitle-family\n font-family: $subtitle-family\n font-size: $subtitle-size\n font-weight: $subtitle-weight\n line-height: $subtitle-line-height\n strong\n color: $subtitle-strong-color\n font-weight: $subtitle-strong-weight\n &:not(.is-spaced) + .title\n margin-top: $subtitle-negative-margin\n // Sizes\n @each $size in $sizes\n $i: index($sizes, $size)\n &.is-#{$i}\n font-size: $size\n","@import \"../utilities/mixins\"\n\n.block\n @extend %block\n\n.delete\n @extend %delete\n\n.heading\n display: block\n font-size: 11px\n letter-spacing: 1px\n margin-bottom: 5px\n text-transform: uppercase\n\n.loader\n @extend %loader\n\n.number\n align-items: center\n background-color: $background\n border-radius: $radius-rounded\n display: inline-flex\n font-size: $size-medium\n height: 2em\n justify-content: center\n margin-right: 1.5rem\n min-width: 2.5em\n padding: 0.25rem 0.5rem\n text-align: center\n vertical-align: top\n","@import \"../utilities/controls\"\n@import \"../utilities/mixins\"\n\n$form-colors: $colors !default\n\n$input-color: $text-strong !default\n$input-background-color: $scheme-main !default\n$input-border-color: $border !default\n$input-height: $control-height !default\n$input-shadow: inset 0 0.0625em 0.125em rgba($scheme-invert, 0.05) !default\n$input-placeholder-color: bulmaRgba($input-color, 0.3) !default\n\n$input-hover-color: $text-strong !default\n$input-hover-border-color: $border-hover !default\n\n$input-focus-color: $text-strong !default\n$input-focus-border-color: $link !default\n$input-focus-box-shadow-size: 0 0 0 0.125em !default\n$input-focus-box-shadow-color: bulmaRgba($link, 0.25) !default\n\n$input-disabled-color: $text-light !default\n$input-disabled-background-color: $background !default\n$input-disabled-border-color: $background !default\n$input-disabled-placeholder-color: bulmaRgba($input-disabled-color, 0.3) !default\n\n$input-arrow: $link !default\n\n$input-icon-color: $border !default\n$input-icon-active-color: $text !default\n\n$input-radius: $radius !default\n\n=input\n @extend %control\n background-color: $input-background-color\n border-color: $input-border-color\n border-radius: $input-radius\n color: $input-color\n +placeholder\n color: $input-placeholder-color\n &:hover,\n &.is-hovered\n border-color: $input-hover-border-color\n &:focus,\n &.is-focused,\n &:active,\n &.is-active\n border-color: $input-focus-border-color\n box-shadow: $input-focus-box-shadow-size $input-focus-box-shadow-color\n &[disabled],\n fieldset[disabled] &\n background-color: $input-disabled-background-color\n border-color: $input-disabled-border-color\n box-shadow: none\n color: $input-disabled-color\n +placeholder\n color: $input-disabled-placeholder-color\n\n%input\n +input\n","$textarea-padding: $control-padding-horizontal !default\n$textarea-max-height: 40em !default\n$textarea-min-height: 8em !default\n\n$textarea-colors: $form-colors !default\n\n%input-textarea\n @extend %input\n box-shadow: $input-shadow\n max-width: 100%\n width: 100%\n &[readonly]\n box-shadow: none\n // Colors\n @each $name, $pair in $textarea-colors\n $color: nth($pair, 1)\n &.is-#{$name}\n border-color: $color\n &:focus,\n &.is-focused,\n &:active,\n &.is-active\n box-shadow: $input-focus-box-shadow-size bulmaRgba($color, 0.25)\n // Sizes\n &.is-small\n +control-small\n &.is-medium\n +control-medium\n &.is-large\n +control-large\n // Modifiers\n &.is-fullwidth\n display: block\n width: 100%\n &.is-inline\n display: inline\n width: auto\n\n.input\n @extend %input-textarea\n &.is-rounded\n border-radius: $radius-rounded\n padding-left: calc(#{$control-padding-horizontal} + 0.375em)\n padding-right: calc(#{$control-padding-horizontal} + 0.375em)\n &.is-static\n background-color: transparent\n border-color: transparent\n box-shadow: none\n padding-left: 0\n padding-right: 0\n\n.textarea\n @extend %input-textarea\n display: block\n max-width: 100%\n min-width: 100%\n padding: $textarea-padding\n resize: vertical\n &:not([rows])\n max-height: $textarea-max-height\n min-height: $textarea-min-height\n &[rows]\n height: initial\n // Modifiers\n &.has-fixed-size\n resize: none\n","%checkbox-radio\n cursor: pointer\n display: inline-block\n line-height: 1.25\n position: relative\n input\n cursor: pointer\n &:hover\n color: $input-hover-color\n &[disabled],\n fieldset[disabled] &,\n input[disabled]\n color: $input-disabled-color\n cursor: not-allowed\n\n.checkbox\n @extend %checkbox-radio\n\n.radio\n @extend %checkbox-radio\n & + .radio\n +ltr-property(\"margin\", 0.5em, false)\n","$select-colors: $form-colors !default\n\n.select\n display: inline-block\n max-width: 100%\n position: relative\n vertical-align: top\n &:not(.is-multiple)\n height: $input-height\n &:not(.is-multiple):not(.is-loading)\n &::after\n @extend %arrow\n border-color: $input-arrow\n +ltr-position(1.125em)\n z-index: 4\n &.is-rounded\n select\n border-radius: $radius-rounded\n +ltr-property(\"padding\", 1em, false)\n select\n @extend %input\n cursor: pointer\n display: block\n font-size: 1em\n max-width: 100%\n outline: none\n &::-ms-expand\n display: none\n &[disabled]:hover,\n fieldset[disabled] &:hover\n border-color: $input-disabled-border-color\n &:not([multiple])\n +ltr-property(\"padding\", 2.5em)\n &[multiple]\n height: auto\n padding: 0\n option\n padding: 0.5em 1em\n // States\n &:not(.is-multiple):not(.is-loading):hover\n &::after\n border-color: $input-hover-color\n // Colors\n @each $name, $pair in $select-colors\n $color: nth($pair, 1)\n &.is-#{$name}\n &:not(:hover)::after\n border-color: $color\n select\n border-color: $color\n &:hover,\n &.is-hovered\n border-color: bulmaDarken($color, 5%)\n &:focus,\n &.is-focused,\n &:active,\n &.is-active\n box-shadow: $input-focus-box-shadow-size bulmaRgba($color, 0.25)\n // Sizes\n &.is-small\n +control-small\n &.is-medium\n +control-medium\n &.is-large\n +control-large\n // Modifiers\n &.is-disabled\n &::after\n border-color: $input-disabled-color !important\n opacity: 0.5\n &.is-fullwidth\n width: 100%\n select\n width: 100%\n &.is-loading\n &::after\n @extend %loader\n margin-top: 0\n position: absolute\n +ltr-position(0.625em)\n top: 0.625em\n transform: none\n &.is-small:after\n font-size: $size-small\n &.is-medium:after\n font-size: $size-medium\n &.is-large:after\n font-size: $size-large\n","$file-border-color: $border !default\n$file-radius: $radius !default\n\n$file-cta-background-color: $scheme-main-ter !default\n$file-cta-color: $text !default\n$file-cta-hover-color: $text-strong !default\n$file-cta-active-color: $text-strong !default\n\n$file-name-border-color: $border !default\n$file-name-border-style: solid !default\n$file-name-border-width: 1px 1px 1px 0 !default\n$file-name-max-width: 16em !default\n\n$file-colors: $form-colors !default\n\n.file\n @extend %unselectable\n align-items: stretch\n display: flex\n justify-content: flex-start\n position: relative\n // Colors\n @each $name, $pair in $file-colors\n $color: nth($pair, 1)\n $color-invert: nth($pair, 2)\n &.is-#{$name}\n .file-cta\n background-color: $color\n border-color: transparent\n color: $color-invert\n &:hover,\n &.is-hovered\n .file-cta\n background-color: bulmaDarken($color, 2.5%)\n border-color: transparent\n color: $color-invert\n &:focus,\n &.is-focused\n .file-cta\n border-color: transparent\n box-shadow: 0 0 0.5em bulmaRgba($color, 0.25)\n color: $color-invert\n &:active,\n &.is-active\n .file-cta\n background-color: bulmaDarken($color, 5%)\n border-color: transparent\n color: $color-invert\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-normal\n font-size: $size-normal\n &.is-medium\n font-size: $size-medium\n .file-icon\n .fa\n font-size: 21px\n &.is-large\n font-size: $size-large\n .file-icon\n .fa\n font-size: 28px\n // Modifiers\n &.has-name\n .file-cta\n border-bottom-right-radius: 0\n border-top-right-radius: 0\n .file-name\n border-bottom-left-radius: 0\n border-top-left-radius: 0\n &.is-empty\n .file-cta\n border-radius: $file-radius\n .file-name\n display: none\n &.is-boxed\n .file-label\n flex-direction: column\n .file-cta\n flex-direction: column\n height: auto\n padding: 1em 3em\n .file-name\n border-width: 0 1px 1px\n .file-icon\n height: 1.5em\n width: 1.5em\n .fa\n font-size: 21px\n &.is-small\n .file-icon .fa\n font-size: 14px\n &.is-medium\n .file-icon .fa\n font-size: 28px\n &.is-large\n .file-icon .fa\n font-size: 35px\n &.has-name\n .file-cta\n border-radius: $file-radius $file-radius 0 0\n .file-name\n border-radius: 0 0 $file-radius $file-radius\n border-width: 0 1px 1px\n &.is-centered\n justify-content: center\n &.is-fullwidth\n .file-label\n width: 100%\n .file-name\n flex-grow: 1\n max-width: none\n &.is-right\n justify-content: flex-end\n .file-cta\n border-radius: 0 $file-radius $file-radius 0\n .file-name\n border-radius: $file-radius 0 0 $file-radius\n border-width: 1px 0 1px 1px\n order: -1\n\n.file-label\n align-items: stretch\n display: flex\n cursor: pointer\n justify-content: flex-start\n overflow: hidden\n position: relative\n &:hover\n .file-cta\n background-color: bulmaDarken($file-cta-background-color, 2.5%)\n color: $file-cta-hover-color\n .file-name\n border-color: bulmaDarken($file-name-border-color, 2.5%)\n &:active\n .file-cta\n background-color: bulmaDarken($file-cta-background-color, 5%)\n color: $file-cta-active-color\n .file-name\n border-color: bulmaDarken($file-name-border-color, 5%)\n\n.file-input\n height: 100%\n left: 0\n opacity: 0\n outline: none\n position: absolute\n top: 0\n width: 100%\n\n.file-cta,\n.file-name\n @extend %control\n border-color: $file-border-color\n border-radius: $file-radius\n font-size: 1em\n padding-left: 1em\n padding-right: 1em\n white-space: nowrap\n\n.file-cta\n background-color: $file-cta-background-color\n color: $file-cta-color\n\n.file-name\n border-color: $file-name-border-color\n border-style: $file-name-border-style\n border-width: $file-name-border-width\n display: block\n max-width: $file-name-max-width\n overflow: hidden\n text-align: inherit\n text-overflow: ellipsis\n\n.file-icon\n align-items: center\n display: flex\n height: 1em\n justify-content: center\n +ltr-property(\"margin\", 0.5em)\n width: 1em\n .fa\n font-size: 14px\n","$label-color: $text-strong !default\n$label-weight: $weight-bold !default\n\n$help-size: $size-small !default\n\n$label-colors: $form-colors !default\n\n.label\n color: $label-color\n display: block\n font-size: $size-normal\n font-weight: $label-weight\n &:not(:last-child)\n margin-bottom: 0.5em\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-medium\n font-size: $size-medium\n &.is-large\n font-size: $size-large\n\n.help\n display: block\n font-size: $help-size\n margin-top: 0.25rem\n @each $name, $pair in $label-colors\n $color: nth($pair, 1)\n &.is-#{$name}\n color: $color\n\n// Containers\n\n.field\n &:not(:last-child)\n margin-bottom: 0.75rem\n // Modifiers\n &.has-addons\n display: flex\n justify-content: flex-start\n .control\n &:not(:last-child)\n +ltr-property(\"margin\", -1px)\n &:not(:first-child):not(:last-child)\n .button,\n .input,\n .select select\n border-radius: 0\n &:first-child:not(:only-child)\n .button,\n .input,\n .select select\n +ltr\n border-bottom-right-radius: 0\n border-top-right-radius: 0\n +rtl\n border-bottom-left-radius: 0\n border-top-left-radius: 0\n &:last-child:not(:only-child)\n .button,\n .input,\n .select select\n +ltr\n border-bottom-left-radius: 0\n border-top-left-radius: 0\n +rtl\n border-bottom-right-radius: 0\n border-top-right-radius: 0\n .button,\n .input,\n .select select\n &:not([disabled])\n &:hover,\n &.is-hovered\n z-index: 2\n &:focus,\n &.is-focused,\n &:active,\n &.is-active\n z-index: 3\n &:hover\n z-index: 4\n &.is-expanded\n flex-grow: 1\n flex-shrink: 1\n &.has-addons-centered\n justify-content: center\n &.has-addons-right\n justify-content: flex-end\n &.has-addons-fullwidth\n .control\n flex-grow: 1\n flex-shrink: 0\n &.is-grouped\n display: flex\n justify-content: flex-start\n & > .control\n flex-shrink: 0\n &:not(:last-child)\n margin-bottom: 0\n +ltr-property(\"margin\", 0.75rem)\n &.is-expanded\n flex-grow: 1\n flex-shrink: 1\n &.is-grouped-centered\n justify-content: center\n &.is-grouped-right\n justify-content: flex-end\n &.is-grouped-multiline\n flex-wrap: wrap\n & > .control\n &:last-child,\n &:not(:last-child)\n margin-bottom: 0.75rem\n &:last-child\n margin-bottom: -0.75rem\n &:not(:last-child)\n margin-bottom: 0\n &.is-horizontal\n +tablet\n display: flex\n\n.field-label\n .label\n font-size: inherit\n +mobile\n margin-bottom: 0.5rem\n +tablet\n flex-basis: 0\n flex-grow: 1\n flex-shrink: 0\n +ltr-property(\"margin\", 1.5rem)\n text-align: right\n &.is-small\n font-size: $size-small\n padding-top: 0.375em\n &.is-normal\n padding-top: 0.375em\n &.is-medium\n font-size: $size-medium\n padding-top: 0.375em\n &.is-large\n font-size: $size-large\n padding-top: 0.375em\n\n.field-body\n .field .field\n margin-bottom: 0\n +tablet\n display: flex\n flex-basis: 0\n flex-grow: 5\n flex-shrink: 1\n .field\n margin-bottom: 0\n & > .field\n flex-shrink: 1\n &:not(.is-narrow)\n flex-grow: 1\n &:not(:last-child)\n +ltr-property(\"margin\", 0.75rem)\n\n.control\n box-sizing: border-box\n clear: both\n font-size: $size-normal\n position: relative\n text-align: inherit\n // Modifiers\n &.has-icons-left,\n &.has-icons-right\n .input,\n .select\n &:focus\n & ~ .icon\n color: $input-icon-active-color\n &.is-small ~ .icon\n font-size: $size-small\n &.is-medium ~ .icon\n font-size: $size-medium\n &.is-large ~ .icon\n font-size: $size-large\n .icon\n color: $input-icon-color\n height: $input-height\n pointer-events: none\n position: absolute\n top: 0\n width: $input-height\n z-index: 4\n &.has-icons-left\n .input,\n .select select\n padding-left: $input-height\n .icon.is-left\n left: 0\n &.has-icons-right\n .input,\n .select select\n padding-right: $input-height\n .icon.is-right\n right: 0\n &.is-loading\n &::after\n @extend %loader\n position: absolute !important\n +ltr-position(0.625em)\n top: 0.625em\n z-index: 4\n &.is-small:after\n font-size: $size-small\n &.is-medium:after\n font-size: $size-medium\n &.is-large:after\n font-size: $size-large\n","@import \"../utilities/mixins\"\n\n$level-item-spacing: ($block-spacing * 0.5) !default\n\n.level\n @extend %block\n align-items: center\n justify-content: space-between\n code\n border-radius: $radius\n img\n display: inline-block\n vertical-align: top\n // Modifiers\n &.is-mobile\n display: flex\n .level-left,\n .level-right\n display: flex\n .level-left + .level-right\n margin-top: 0\n .level-item\n &:not(:last-child)\n margin-bottom: 0\n +ltr-property(\"margin\", $level-item-spacing)\n &:not(.is-narrow)\n flex-grow: 1\n // Responsiveness\n +tablet\n display: flex\n & > .level-item\n &:not(.is-narrow)\n flex-grow: 1\n\n.level-item\n align-items: center\n display: flex\n flex-basis: auto\n flex-grow: 0\n flex-shrink: 0\n justify-content: center\n .title,\n .subtitle\n margin-bottom: 0\n // Responsiveness\n +mobile\n &:not(:last-child)\n margin-bottom: $level-item-spacing\n\n.level-left,\n.level-right\n flex-basis: auto\n flex-grow: 0\n flex-shrink: 0\n .level-item\n // Modifiers\n &.is-flexible\n flex-grow: 1\n // Responsiveness\n +tablet\n &:not(:last-child)\n +ltr-property(\"margin\", $level-item-spacing)\n\n.level-left\n align-items: center\n justify-content: flex-start\n // Responsiveness\n +mobile\n & + .level-right\n margin-top: 1.5rem\n +tablet\n display: flex\n\n.level-right\n align-items: center\n justify-content: flex-end\n // Responsiveness\n +tablet\n display: flex\n","@import \"../utilities/mixins\"\n\n$menu-item-color: $text !default\n$menu-item-radius: $radius-small !default\n$menu-item-hover-color: $text-strong !default\n$menu-item-hover-background-color: $background !default\n$menu-item-active-color: $link-invert !default\n$menu-item-active-background-color: $link !default\n\n$menu-list-border-left: 1px solid $border !default\n$menu-list-line-height: 1.25 !default\n$menu-list-link-padding: 0.5em 0.75em !default\n$menu-nested-list-margin: 0.75em !default\n$menu-nested-list-padding-left: 0.75em !default\n\n$menu-label-color: $text-light !default\n$menu-label-font-size: 0.75em !default\n$menu-label-letter-spacing: 0.1em !default\n$menu-label-spacing: 1em !default\n\n.menu\n font-size: $size-normal\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-medium\n font-size: $size-medium\n &.is-large\n font-size: $size-large\n\n.menu-list\n line-height: $menu-list-line-height\n a\n border-radius: $menu-item-radius\n color: $menu-item-color\n display: block\n padding: $menu-list-link-padding\n &:hover\n background-color: $menu-item-hover-background-color\n color: $menu-item-hover-color\n // Modifiers\n &.is-active\n background-color: $menu-item-active-background-color\n color: $menu-item-active-color\n li\n ul\n +ltr-property(\"border\", $menu-list-border-left, false)\n margin: $menu-nested-list-margin\n +ltr-property(\"padding\", $menu-nested-list-padding-left, false)\n\n.menu-label\n color: $menu-label-color\n font-size: $menu-label-font-size\n letter-spacing: $menu-label-letter-spacing\n text-transform: uppercase\n &:not(:first-child)\n margin-top: $menu-label-spacing\n &:not(:last-child)\n margin-bottom: $menu-label-spacing\n","@import \"../utilities/mixins\"\n\n$message-background-color: $background !default\n$message-radius: $radius !default\n\n$message-header-background-color: $text !default\n$message-header-color: $text-invert !default\n$message-header-weight: $weight-bold !default\n$message-header-padding: 0.75em 1em !default\n$message-header-radius: $radius !default\n\n$message-body-border-color: $border !default\n$message-body-border-width: 0 0 0 4px !default\n$message-body-color: $text !default\n$message-body-padding: 1.25em 1.5em !default\n$message-body-radius: $radius !default\n\n$message-body-pre-background-color: $scheme-main !default\n$message-body-pre-code-background-color: transparent !default\n\n$message-header-body-border-width: 0 !default\n$message-colors: $colors !default\n\n.message\n @extend %block\n background-color: $message-background-color\n border-radius: $message-radius\n font-size: $size-normal\n strong\n color: currentColor\n a:not(.button):not(.tag):not(.dropdown-item)\n color: currentColor\n text-decoration: underline\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-medium\n font-size: $size-medium\n &.is-large\n font-size: $size-large\n // Colors\n @each $name, $components in $message-colors\n $color: nth($components, 1)\n $color-invert: nth($components, 2)\n $color-light: null\n $color-dark: null\n\n @if length($components) >= 3\n $color-light: nth($components, 3)\n @if length($components) >= 4\n $color-dark: nth($components, 4)\n @else\n $color-luminance: colorLuminance($color)\n $darken-percentage: $color-luminance * 70%\n $desaturate-percentage: $color-luminance * 30%\n $color-dark: desaturate(darken($color, $darken-percentage), $desaturate-percentage)\n @else\n $color-lightning: max((100% - lightness($color)) - 2%, 0%)\n $color-light: lighten($color, $color-lightning)\n\n &.is-#{$name}\n background-color: $color-light\n .message-header\n background-color: $color\n color: $color-invert\n .message-body\n border-color: $color\n color: $color-dark\n\n.message-header\n align-items: center\n background-color: $message-header-background-color\n border-radius: $message-header-radius $message-header-radius 0 0\n color: $message-header-color\n display: flex\n font-weight: $message-header-weight\n justify-content: space-between\n line-height: 1.25\n padding: $message-header-padding\n position: relative\n .delete\n flex-grow: 0\n flex-shrink: 0\n +ltr-property(\"margin\", 0.75em, false)\n & + .message-body\n border-width: $message-header-body-border-width\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n.message-body\n border-color: $message-body-border-color\n border-radius: $message-body-radius\n border-style: solid\n border-width: $message-body-border-width\n color: $message-body-color\n padding: $message-body-padding\n code,\n pre\n background-color: $message-body-pre-background-color\n pre code\n background-color: $message-body-pre-code-background-color\n","@import \"../utilities/controls\"\n@import \"../utilities/mixins\"\n\n$pagination-color: $text-strong !default\n$pagination-border-color: $border !default\n$pagination-margin: -0.25rem !default\n$pagination-min-width: $control-height !default\n\n$pagination-item-font-size: 1em !default\n$pagination-item-margin: 0.25rem !default\n$pagination-item-padding-left: 0.5em !default\n$pagination-item-padding-right: 0.5em !default\n\n$pagination-nav-padding-left: 0.75em !default\n$pagination-nav-padding-right: 0.75em !default\n\n$pagination-hover-color: $link-hover !default\n$pagination-hover-border-color: $link-hover-border !default\n\n$pagination-focus-color: $link-focus !default\n$pagination-focus-border-color: $link-focus-border !default\n\n$pagination-active-color: $link-active !default\n$pagination-active-border-color: $link-active-border !default\n\n$pagination-disabled-color: $text-light !default\n$pagination-disabled-background-color: $border !default\n$pagination-disabled-border-color: $border !default\n\n$pagination-current-color: $link-invert !default\n$pagination-current-background-color: $link !default\n$pagination-current-border-color: $link !default\n\n$pagination-ellipsis-color: $grey-light !default\n\n$pagination-shadow-inset: inset 0 1px 2px rgba($scheme-invert, 0.2) !default\n\n.pagination\n @extend %block\n font-size: $size-normal\n margin: $pagination-margin\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-medium\n font-size: $size-medium\n &.is-large\n font-size: $size-large\n &.is-rounded\n .pagination-previous,\n .pagination-next\n padding-left: 1em\n padding-right: 1em\n border-radius: $radius-rounded\n .pagination-link\n border-radius: $radius-rounded\n\n.pagination,\n.pagination-list\n align-items: center\n display: flex\n justify-content: center\n text-align: center\n\n.pagination-previous,\n.pagination-next,\n.pagination-link,\n.pagination-ellipsis\n @extend %control\n @extend %unselectable\n font-size: $pagination-item-font-size\n justify-content: center\n margin: $pagination-item-margin\n padding-left: $pagination-item-padding-left\n padding-right: $pagination-item-padding-right\n text-align: center\n\n.pagination-previous,\n.pagination-next,\n.pagination-link\n border-color: $pagination-border-color\n color: $pagination-color\n min-width: $pagination-min-width\n &:hover\n border-color: $pagination-hover-border-color\n color: $pagination-hover-color\n &:focus\n border-color: $pagination-focus-border-color\n &:active\n box-shadow: $pagination-shadow-inset\n &[disabled],\n &.is-disabled\n background-color: $pagination-disabled-background-color\n border-color: $pagination-disabled-border-color\n box-shadow: none\n color: $pagination-disabled-color\n opacity: 0.5\n\n.pagination-previous,\n.pagination-next\n padding-left: $pagination-nav-padding-left\n padding-right: $pagination-nav-padding-right\n white-space: nowrap\n\n.pagination-link\n &.is-current\n background-color: $pagination-current-background-color\n border-color: $pagination-current-border-color\n color: $pagination-current-color\n\n.pagination-ellipsis\n color: $pagination-ellipsis-color\n pointer-events: none\n\n.pagination-list\n flex-wrap: wrap\n li\n list-style: none\n\n+mobile\n .pagination\n flex-wrap: wrap\n .pagination-previous,\n .pagination-next\n flex-grow: 1\n flex-shrink: 1\n .pagination-list\n li\n flex-grow: 1\n flex-shrink: 1\n\n+tablet\n .pagination-list\n flex-grow: 1\n flex-shrink: 1\n justify-content: flex-start\n order: 1\n .pagination-previous,\n .pagination-next,\n .pagination-link,\n .pagination-ellipsis\n margin-bottom: 0\n margin-top: 0\n .pagination-previous\n order: 2\n .pagination-next\n order: 3\n .pagination\n justify-content: space-between\n margin-bottom: 0\n margin-top: 0\n &.is-centered\n .pagination-previous\n order: 1\n .pagination-list\n justify-content: center\n order: 2\n .pagination-next\n order: 3\n &.is-right\n .pagination-previous\n order: 1\n .pagination-next\n order: 2\n .pagination-list\n justify-content: flex-end\n order: 3\n","@import \"../utilities/mixins\"\n\n$tabs-border-bottom-color: $border !default\n$tabs-border-bottom-style: solid !default\n$tabs-border-bottom-width: 1px !default\n$tabs-link-color: $text !default\n$tabs-link-hover-border-bottom-color: $text-strong !default\n$tabs-link-hover-color: $text-strong !default\n$tabs-link-active-border-bottom-color: $link !default\n$tabs-link-active-color: $link !default\n$tabs-link-padding: 0.5em 1em !default\n\n$tabs-boxed-link-radius: $radius !default\n$tabs-boxed-link-hover-background-color: $background !default\n$tabs-boxed-link-hover-border-bottom-color: $border !default\n\n$tabs-boxed-link-active-background-color: $scheme-main !default\n$tabs-boxed-link-active-border-color: $border !default\n$tabs-boxed-link-active-border-bottom-color: transparent !default\n\n$tabs-toggle-link-border-color: $border !default\n$tabs-toggle-link-border-style: solid !default\n$tabs-toggle-link-border-width: 1px !default\n$tabs-toggle-link-hover-background-color: $background !default\n$tabs-toggle-link-hover-border-color: $border-hover !default\n$tabs-toggle-link-radius: $radius !default\n$tabs-toggle-link-active-background-color: $link !default\n$tabs-toggle-link-active-border-color: $link !default\n$tabs-toggle-link-active-color: $link-invert !default\n\n.tabs\n @extend %block\n +overflow-touch\n @extend %unselectable\n align-items: stretch\n display: flex\n font-size: $size-normal\n justify-content: space-between\n overflow: hidden\n overflow-x: auto\n white-space: nowrap\n a\n align-items: center\n border-bottom-color: $tabs-border-bottom-color\n border-bottom-style: $tabs-border-bottom-style\n border-bottom-width: $tabs-border-bottom-width\n color: $tabs-link-color\n display: flex\n justify-content: center\n margin-bottom: -#{$tabs-border-bottom-width}\n padding: $tabs-link-padding\n vertical-align: top\n &:hover\n border-bottom-color: $tabs-link-hover-border-bottom-color\n color: $tabs-link-hover-color\n li\n display: block\n &.is-active\n a\n border-bottom-color: $tabs-link-active-border-bottom-color\n color: $tabs-link-active-color\n ul\n align-items: center\n border-bottom-color: $tabs-border-bottom-color\n border-bottom-style: $tabs-border-bottom-style\n border-bottom-width: $tabs-border-bottom-width\n display: flex\n flex-grow: 1\n flex-shrink: 0\n justify-content: flex-start\n &.is-left\n padding-right: 0.75em\n &.is-center\n flex: none\n justify-content: center\n padding-left: 0.75em\n padding-right: 0.75em\n &.is-right\n justify-content: flex-end\n padding-left: 0.75em\n .icon\n &:first-child\n +ltr-property(\"margin\", 0.5em)\n &:last-child\n +ltr-property(\"margin\", 0.5em, false)\n // Alignment\n &.is-centered\n ul\n justify-content: center\n &.is-right\n ul\n justify-content: flex-end\n // Styles\n &.is-boxed\n a\n border: 1px solid transparent\n +ltr\n border-radius: $tabs-boxed-link-radius $tabs-boxed-link-radius 0 0\n +rtl\n border-radius: 0 0 $tabs-boxed-link-radius $tabs-boxed-link-radius\n &:hover\n background-color: $tabs-boxed-link-hover-background-color\n border-bottom-color: $tabs-boxed-link-hover-border-bottom-color\n li\n &.is-active\n a\n background-color: $tabs-boxed-link-active-background-color\n border-color: $tabs-boxed-link-active-border-color\n border-bottom-color: $tabs-boxed-link-active-border-bottom-color !important\n &.is-fullwidth\n li\n flex-grow: 1\n flex-shrink: 0\n &.is-toggle\n a\n border-color: $tabs-toggle-link-border-color\n border-style: $tabs-toggle-link-border-style\n border-width: $tabs-toggle-link-border-width\n margin-bottom: 0\n position: relative\n &:hover\n background-color: $tabs-toggle-link-hover-background-color\n border-color: $tabs-toggle-link-hover-border-color\n z-index: 2\n li\n & + li\n +ltr-property(\"margin\", -#{$tabs-toggle-link-border-width}, false)\n &:first-child a\n +ltr\n border-top-left-radius: $tabs-toggle-link-radius\n border-bottom-left-radius: $tabs-toggle-link-radius\n +rtl\n border-top-right-radius: $tabs-toggle-link-radius\n border-bottom-right-radius: $tabs-toggle-link-radius\n &:last-child a\n +ltr\n border-top-right-radius: $tabs-toggle-link-radius\n border-bottom-right-radius: $tabs-toggle-link-radius\n +rtl\n border-top-left-radius: $tabs-toggle-link-radius\n border-bottom-left-radius: $tabs-toggle-link-radius\n &.is-active\n a\n background-color: $tabs-toggle-link-active-background-color\n border-color: $tabs-toggle-link-active-border-color\n color: $tabs-toggle-link-active-color\n z-index: 1\n ul\n border-bottom: none\n &.is-toggle-rounded\n li\n &:first-child a\n +ltr\n border-bottom-left-radius: $radius-rounded\n border-top-left-radius: $radius-rounded\n padding-left: 1.25em\n +rtl\n border-bottom-right-radius: $radius-rounded\n border-top-right-radius: $radius-rounded\n padding-right: 1.25em\n &:last-child a\n +ltr\n border-bottom-right-radius: $radius-rounded\n border-top-right-radius: $radius-rounded\n padding-right: 1.25em\n +rtl\n border-bottom-left-radius: $radius-rounded\n border-top-left-radius: $radius-rounded\n padding-left: 1.25em\n // Sizes\n &.is-small\n font-size: $size-small\n &.is-medium\n font-size: $size-medium\n &.is-large\n font-size: $size-large\n","@import \"../utilities/mixins\"\n\n$column-gap: 0.75rem !default\n\n.column\n display: block\n flex-basis: 0\n flex-grow: 1\n flex-shrink: 1\n padding: $column-gap\n .columns.is-mobile > &.is-narrow\n flex: none\n width: unset\n .columns.is-mobile > &.is-full\n flex: none\n width: 100%\n .columns.is-mobile > &.is-three-quarters\n flex: none\n width: 75%\n .columns.is-mobile > &.is-two-thirds\n flex: none\n width: 66.6666%\n .columns.is-mobile > &.is-half\n flex: none\n width: 50%\n .columns.is-mobile > &.is-one-third\n flex: none\n width: 33.3333%\n .columns.is-mobile > &.is-one-quarter\n flex: none\n width: 25%\n .columns.is-mobile > &.is-one-fifth\n flex: none\n width: 20%\n .columns.is-mobile > &.is-two-fifths\n flex: none\n width: 40%\n .columns.is-mobile > &.is-three-fifths\n flex: none\n width: 60%\n .columns.is-mobile > &.is-four-fifths\n flex: none\n width: 80%\n .columns.is-mobile > &.is-offset-three-quarters\n +ltr-property(\"margin\", 75%, false)\n .columns.is-mobile > &.is-offset-two-thirds\n +ltr-property(\"margin\", 66.6666%, false)\n .columns.is-mobile > &.is-offset-half\n +ltr-property(\"margin\", 50%, false)\n .columns.is-mobile > &.is-offset-one-third\n +ltr-property(\"margin\", 33.3333%, false)\n .columns.is-mobile > &.is-offset-one-quarter\n +ltr-property(\"margin\", 25%, false)\n .columns.is-mobile > &.is-offset-one-fifth\n +ltr-property(\"margin\", 20%, false)\n .columns.is-mobile > &.is-offset-two-fifths\n +ltr-property(\"margin\", 40%, false)\n .columns.is-mobile > &.is-offset-three-fifths\n +ltr-property(\"margin\", 60%, false)\n .columns.is-mobile > &.is-offset-four-fifths\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n .columns.is-mobile > &.is-#{$i}\n flex: none\n width: percentage(divide($i, 12))\n .columns.is-mobile > &.is-offset-#{$i}\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n +mobile\n &.is-narrow-mobile\n flex: none\n width: unset\n &.is-full-mobile\n flex: none\n width: 100%\n &.is-three-quarters-mobile\n flex: none\n width: 75%\n &.is-two-thirds-mobile\n flex: none\n width: 66.6666%\n &.is-half-mobile\n flex: none\n width: 50%\n &.is-one-third-mobile\n flex: none\n width: 33.3333%\n &.is-one-quarter-mobile\n flex: none\n width: 25%\n &.is-one-fifth-mobile\n flex: none\n width: 20%\n &.is-two-fifths-mobile\n flex: none\n width: 40%\n &.is-three-fifths-mobile\n flex: none\n width: 60%\n &.is-four-fifths-mobile\n flex: none\n width: 80%\n &.is-offset-three-quarters-mobile\n +ltr-property(\"margin\", 75%, false)\n &.is-offset-two-thirds-mobile\n +ltr-property(\"margin\", 66.6666%, false)\n &.is-offset-half-mobile\n +ltr-property(\"margin\", 50%, false)\n &.is-offset-one-third-mobile\n +ltr-property(\"margin\", 33.3333%, false)\n &.is-offset-one-quarter-mobile\n +ltr-property(\"margin\", 25%, false)\n &.is-offset-one-fifth-mobile\n +ltr-property(\"margin\", 20%, false)\n &.is-offset-two-fifths-mobile\n +ltr-property(\"margin\", 40%, false)\n &.is-offset-three-fifths-mobile\n +ltr-property(\"margin\", 60%, false)\n &.is-offset-four-fifths-mobile\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n &.is-#{$i}-mobile\n flex: none\n width: percentage(divide($i, 12))\n &.is-offset-#{$i}-mobile\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n +tablet\n &.is-narrow,\n &.is-narrow-tablet\n flex: none\n width: unset\n &.is-full,\n &.is-full-tablet\n flex: none\n width: 100%\n &.is-three-quarters,\n &.is-three-quarters-tablet\n flex: none\n width: 75%\n &.is-two-thirds,\n &.is-two-thirds-tablet\n flex: none\n width: 66.6666%\n &.is-half,\n &.is-half-tablet\n flex: none\n width: 50%\n &.is-one-third,\n &.is-one-third-tablet\n flex: none\n width: 33.3333%\n &.is-one-quarter,\n &.is-one-quarter-tablet\n flex: none\n width: 25%\n &.is-one-fifth,\n &.is-one-fifth-tablet\n flex: none\n width: 20%\n &.is-two-fifths,\n &.is-two-fifths-tablet\n flex: none\n width: 40%\n &.is-three-fifths,\n &.is-three-fifths-tablet\n flex: none\n width: 60%\n &.is-four-fifths,\n &.is-four-fifths-tablet\n flex: none\n width: 80%\n &.is-offset-three-quarters,\n &.is-offset-three-quarters-tablet\n +ltr-property(\"margin\", 75%, false)\n &.is-offset-two-thirds,\n &.is-offset-two-thirds-tablet\n +ltr-property(\"margin\", 66.6666%, false)\n &.is-offset-half,\n &.is-offset-half-tablet\n +ltr-property(\"margin\", 50%, false)\n &.is-offset-one-third,\n &.is-offset-one-third-tablet\n +ltr-property(\"margin\", 33.3333%, false)\n &.is-offset-one-quarter,\n &.is-offset-one-quarter-tablet\n +ltr-property(\"margin\", 25%, false)\n &.is-offset-one-fifth,\n &.is-offset-one-fifth-tablet\n +ltr-property(\"margin\", 20%, false)\n &.is-offset-two-fifths,\n &.is-offset-two-fifths-tablet\n +ltr-property(\"margin\", 40%, false)\n &.is-offset-three-fifths,\n &.is-offset-three-fifths-tablet\n +ltr-property(\"margin\", 60%, false)\n &.is-offset-four-fifths,\n &.is-offset-four-fifths-tablet\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n &.is-#{$i},\n &.is-#{$i}-tablet\n flex: none\n width: percentage(divide($i, 12))\n &.is-offset-#{$i},\n &.is-offset-#{$i}-tablet\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n +touch\n &.is-narrow-touch\n flex: none\n width: unset\n &.is-full-touch\n flex: none\n width: 100%\n &.is-three-quarters-touch\n flex: none\n width: 75%\n &.is-two-thirds-touch\n flex: none\n width: 66.6666%\n &.is-half-touch\n flex: none\n width: 50%\n &.is-one-third-touch\n flex: none\n width: 33.3333%\n &.is-one-quarter-touch\n flex: none\n width: 25%\n &.is-one-fifth-touch\n flex: none\n width: 20%\n &.is-two-fifths-touch\n flex: none\n width: 40%\n &.is-three-fifths-touch\n flex: none\n width: 60%\n &.is-four-fifths-touch\n flex: none\n width: 80%\n &.is-offset-three-quarters-touch\n +ltr-property(\"margin\", 75%, false)\n &.is-offset-two-thirds-touch\n +ltr-property(\"margin\", 66.6666%, false)\n &.is-offset-half-touch\n +ltr-property(\"margin\", 50%, false)\n &.is-offset-one-third-touch\n +ltr-property(\"margin\", 33.3333%, false)\n &.is-offset-one-quarter-touch\n +ltr-property(\"margin\", 25%, false)\n &.is-offset-one-fifth-touch\n +ltr-property(\"margin\", 20%, false)\n &.is-offset-two-fifths-touch\n +ltr-property(\"margin\", 40%, false)\n &.is-offset-three-fifths-touch\n +ltr-property(\"margin\", 60%, false)\n &.is-offset-four-fifths-touch\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n &.is-#{$i}-touch\n flex: none\n width: percentage(divide($i, 12))\n &.is-offset-#{$i}-touch\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n +desktop\n &.is-narrow-desktop\n flex: none\n width: unset\n &.is-full-desktop\n flex: none\n width: 100%\n &.is-three-quarters-desktop\n flex: none\n width: 75%\n &.is-two-thirds-desktop\n flex: none\n width: 66.6666%\n &.is-half-desktop\n flex: none\n width: 50%\n &.is-one-third-desktop\n flex: none\n width: 33.3333%\n &.is-one-quarter-desktop\n flex: none\n width: 25%\n &.is-one-fifth-desktop\n flex: none\n width: 20%\n &.is-two-fifths-desktop\n flex: none\n width: 40%\n &.is-three-fifths-desktop\n flex: none\n width: 60%\n &.is-four-fifths-desktop\n flex: none\n width: 80%\n &.is-offset-three-quarters-desktop\n +ltr-property(\"margin\", 75%, false)\n &.is-offset-two-thirds-desktop\n +ltr-property(\"margin\", 66.6666%, false)\n &.is-offset-half-desktop\n +ltr-property(\"margin\", 50%, false)\n &.is-offset-one-third-desktop\n +ltr-property(\"margin\", 33.3333%, false)\n &.is-offset-one-quarter-desktop\n +ltr-property(\"margin\", 25%, false)\n &.is-offset-one-fifth-desktop\n +ltr-property(\"margin\", 20%, false)\n &.is-offset-two-fifths-desktop\n +ltr-property(\"margin\", 40%, false)\n &.is-offset-three-fifths-desktop\n +ltr-property(\"margin\", 60%, false)\n &.is-offset-four-fifths-desktop\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n &.is-#{$i}-desktop\n flex: none\n width: percentage(divide($i, 12))\n &.is-offset-#{$i}-desktop\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n +widescreen\n &.is-narrow-widescreen\n flex: none\n width: unset\n &.is-full-widescreen\n flex: none\n width: 100%\n &.is-three-quarters-widescreen\n flex: none\n width: 75%\n &.is-two-thirds-widescreen\n flex: none\n width: 66.6666%\n &.is-half-widescreen\n flex: none\n width: 50%\n &.is-one-third-widescreen\n flex: none\n width: 33.3333%\n &.is-one-quarter-widescreen\n flex: none\n width: 25%\n &.is-one-fifth-widescreen\n flex: none\n width: 20%\n &.is-two-fifths-widescreen\n flex: none\n width: 40%\n &.is-three-fifths-widescreen\n flex: none\n width: 60%\n &.is-four-fifths-widescreen\n flex: none\n width: 80%\n &.is-offset-three-quarters-widescreen\n +ltr-property(\"margin\", 75%, false)\n &.is-offset-two-thirds-widescreen\n +ltr-property(\"margin\", 66.6666%, false)\n &.is-offset-half-widescreen\n +ltr-property(\"margin\", 50%, false)\n &.is-offset-one-third-widescreen\n +ltr-property(\"margin\", 33.3333%, false)\n &.is-offset-one-quarter-widescreen\n +ltr-property(\"margin\", 25%, false)\n &.is-offset-one-fifth-widescreen\n +ltr-property(\"margin\", 20%, false)\n &.is-offset-two-fifths-widescreen\n +ltr-property(\"margin\", 40%, false)\n &.is-offset-three-fifths-widescreen\n +ltr-property(\"margin\", 60%, false)\n &.is-offset-four-fifths-widescreen\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n &.is-#{$i}-widescreen\n flex: none\n width: percentage(divide($i, 12))\n &.is-offset-#{$i}-widescreen\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n +fullhd\n &.is-narrow-fullhd\n flex: none\n width: unset\n &.is-full-fullhd\n flex: none\n width: 100%\n &.is-three-quarters-fullhd\n flex: none\n width: 75%\n &.is-two-thirds-fullhd\n flex: none\n width: 66.6666%\n &.is-half-fullhd\n flex: none\n width: 50%\n &.is-one-third-fullhd\n flex: none\n width: 33.3333%\n &.is-one-quarter-fullhd\n flex: none\n width: 25%\n &.is-one-fifth-fullhd\n flex: none\n width: 20%\n &.is-two-fifths-fullhd\n flex: none\n width: 40%\n &.is-three-fifths-fullhd\n flex: none\n width: 60%\n &.is-four-fifths-fullhd\n flex: none\n width: 80%\n &.is-offset-three-quarters-fullhd\n +ltr-property(\"margin\", 75%, false)\n &.is-offset-two-thirds-fullhd\n +ltr-property(\"margin\", 66.6666%, false)\n &.is-offset-half-fullhd\n +ltr-property(\"margin\", 50%, false)\n &.is-offset-one-third-fullhd\n +ltr-property(\"margin\", 33.3333%, false)\n &.is-offset-one-quarter-fullhd\n +ltr-property(\"margin\", 25%, false)\n &.is-offset-one-fifth-fullhd\n +ltr-property(\"margin\", 20%, false)\n &.is-offset-two-fifths-fullhd\n +ltr-property(\"margin\", 40%, false)\n &.is-offset-three-fifths-fullhd\n +ltr-property(\"margin\", 60%, false)\n &.is-offset-four-fifths-fullhd\n +ltr-property(\"margin\", 80%, false)\n @for $i from 0 through 12\n &.is-#{$i}-fullhd\n flex: none\n width: percentage(divide($i, 12))\n &.is-offset-#{$i}-fullhd\n +ltr-property(\"margin\", percentage(divide($i, 12)), false)\n\n.columns\n +ltr-property(\"margin\", (-$column-gap), false)\n +ltr-property(\"margin\", (-$column-gap))\n margin-top: (-$column-gap)\n &:last-child\n margin-bottom: (-$column-gap)\n &:not(:last-child)\n margin-bottom: calc(1.5rem - #{$column-gap})\n // Modifiers\n &.is-centered\n justify-content: center\n &.is-gapless\n +ltr-property(\"margin\", 0, false)\n +ltr-property(\"margin\", 0)\n margin-top: 0\n & > .column\n margin: 0\n padding: 0 !important\n &:not(:last-child)\n margin-bottom: 1.5rem\n &:last-child\n margin-bottom: 0\n &.is-mobile\n display: flex\n &.is-multiline\n flex-wrap: wrap\n &.is-vcentered\n align-items: center\n // Responsiveness\n +tablet\n &:not(.is-desktop)\n display: flex\n +desktop\n // Modifiers\n &.is-desktop\n display: flex\n\n@if $variable-columns\n .columns.is-variable\n --columnGap: 0.75rem\n +ltr-property(\"margin\", calc(-1 * var(--columnGap)), false)\n +ltr-property(\"margin\", calc(-1 * var(--columnGap)))\n > .column\n padding-left: var(--columnGap)\n padding-right: var(--columnGap)\n @for $i from 0 through 8\n &.is-#{$i}\n --columnGap: #{$i * 0.25rem}\n +mobile\n &.is-#{$i}-mobile\n --columnGap: #{$i * 0.25rem}\n +tablet\n &.is-#{$i}-tablet\n --columnGap: #{$i * 0.25rem}\n +tablet-only\n &.is-#{$i}-tablet-only\n --columnGap: #{$i * 0.25rem}\n +touch\n &.is-#{$i}-touch\n --columnGap: #{$i * 0.25rem}\n +desktop\n &.is-#{$i}-desktop\n --columnGap: #{$i * 0.25rem}\n +desktop-only\n &.is-#{$i}-desktop-only\n --columnGap: #{$i * 0.25rem}\n +widescreen\n &.is-#{$i}-widescreen\n --columnGap: #{$i * 0.25rem}\n +widescreen-only\n &.is-#{$i}-widescreen-only\n --columnGap: #{$i * 0.25rem}\n +fullhd\n &.is-#{$i}-fullhd\n --columnGap: #{$i * 0.25rem}\n","@import \"../utilities/mixins\"\n\n$tile-spacing: 0.75rem !default\n\n.tile\n align-items: stretch\n display: block\n flex-basis: 0\n flex-grow: 1\n flex-shrink: 1\n min-height: min-content\n // Modifiers\n &.is-ancestor\n margin-left: $tile-spacing * -1\n margin-right: $tile-spacing * -1\n margin-top: $tile-spacing * -1\n &:last-child\n margin-bottom: $tile-spacing * -1\n &:not(:last-child)\n margin-bottom: $tile-spacing\n &.is-child\n margin: 0 !important\n &.is-parent\n padding: $tile-spacing\n &.is-vertical\n flex-direction: column\n & > .tile.is-child:not(:last-child)\n margin-bottom: 1.5rem !important\n // Responsiveness\n +tablet\n &:not(.is-child)\n display: flex\n @for $i from 1 through 12\n &.is-#{$i}\n flex: none\n width: (divide($i, 12)) * 100%\n","@import \"../utilities/derived-variables\"\n\n@each $name, $pair in $colors\n $color: nth($pair, 1)\n .has-text-#{$name}\n color: $color !important\n a.has-text-#{$name}\n &:hover,\n &:focus\n color: bulmaDarken($color, 10%) !important\n .has-background-#{$name}\n background-color: $color !important\n @if length($pair) >= 4\n $color-light: nth($pair, 3)\n $color-dark: nth($pair, 4)\n // Light\n .has-text-#{$name}-light\n color: $color-light !important\n a.has-text-#{$name}-light\n &:hover,\n &:focus\n color: bulmaDarken($color-light, 10%) !important\n .has-background-#{$name}-light\n background-color: $color-light !important\n // Dark\n .has-text-#{$name}-dark\n color: $color-dark !important\n a.has-text-#{$name}-dark\n &:hover,\n &:focus\n color: bulmaLighten($color-dark, 10%) !important\n .has-background-#{$name}-dark\n background-color: $color-dark !important\n\n@each $name, $shade in $shades\n .has-text-#{$name}\n color: $shade !important\n .has-background-#{$name}\n background-color: $shade !important\n","$flex-direction-values: row, row-reverse, column, column-reverse\n@each $value in $flex-direction-values\n .is-flex-direction-#{$value}\n flex-direction: $value !important\n\n$flex-wrap-values: nowrap, wrap, wrap-reverse\n@each $value in $flex-wrap-values\n .is-flex-wrap-#{$value}\n flex-wrap: $value !important\n\n$justify-content-values: flex-start, flex-end, center, space-between, space-around, space-evenly, start, end, left, right\n@each $value in $justify-content-values\n .is-justify-content-#{$value}\n justify-content: $value !important\n\n$align-content-values: flex-start, flex-end, center, space-between, space-around, space-evenly, stretch, start, end, baseline\n@each $value in $align-content-values\n .is-align-content-#{$value}\n align-content: $value !important\n\n$align-items-values: stretch, flex-start, flex-end, center, baseline, start, end, self-start, self-end\n@each $value in $align-items-values\n .is-align-items-#{$value}\n align-items: $value !important\n\n$align-self-values: auto, flex-start, flex-end, center, baseline, stretch\n@each $value in $align-self-values\n .is-align-self-#{$value}\n align-self: $value !important\n\n$flex-operators: grow, shrink\n@each $operator in $flex-operators\n @for $i from 0 through 5\n .is-flex-#{$operator}-#{$i}\n flex-#{$operator}: $i !important\n","@import \"../utilities/mixins\"\n\n.is-clearfix\n +clearfix\n\n.is-pulled-left\n float: left !important\n\n.is-pulled-right\n float: right !important\n","@import \"../utilities/mixins\"\n\n.is-radiusless\n border-radius: 0 !important\n\n.is-shadowless\n box-shadow: none !important\n\n.is-clickable\n cursor: pointer !important\n pointer-events: all !important\n\n.is-unselectable\n @extend %unselectable\n",".is-clipped\n overflow: hidden !important\n","@import \"../utilities/mixins\"\n\n.is-overlay\n @extend %overlay\n\n.is-relative\n position: relative !important\n",".is-marginless\n margin: 0 !important\n\n.is-paddingless\n padding: 0 !important\n\n$spacing-shortcuts: (\"margin\": \"m\", \"padding\": \"p\") !default\n$spacing-directions: (\"top\": \"t\", \"right\": \"r\", \"bottom\": \"b\", \"left\": \"l\") !default\n$spacing-horizontal: \"x\" !default\n$spacing-vertical: \"y\" !default\n$spacing-values: (\"0\": 0, \"1\": 0.25rem, \"2\": 0.5rem, \"3\": 0.75rem, \"4\": 1rem, \"5\": 1.5rem, \"6\": 3rem, \"auto\": auto) !default\n\n@each $property, $shortcut in $spacing-shortcuts\n @each $name, $value in $spacing-values\n // All directions\n .#{$shortcut}-#{$name}\n #{$property}: $value !important\n // Cardinal directions\n @each $direction, $suffix in $spacing-directions\n .#{$shortcut}#{$suffix}-#{$name}\n #{$property}-#{$direction}: $value !important\n // Horizontal axis\n @if $spacing-horizontal != null\n .#{$shortcut}#{$spacing-horizontal}-#{$name}\n #{$property}-left: $value !important\n #{$property}-right: $value !important\n // Vertical axis\n @if $spacing-vertical != null\n .#{$shortcut}#{$spacing-vertical}-#{$name}\n #{$property}-top: $value !important\n #{$property}-bottom: $value !important\n","@import \"../utilities/mixins\"\n\n=typography-size($target:'')\n @each $size in $sizes\n $i: index($sizes, $size)\n .is-size-#{$i}#{if($target == '', '', '-' + $target)}\n font-size: $size !important\n\n+typography-size()\n\n+mobile\n +typography-size('mobile')\n\n+tablet\n +typography-size('tablet')\n\n+touch\n +typography-size('touch')\n\n+desktop\n +typography-size('desktop')\n\n+widescreen\n +typography-size('widescreen')\n\n+fullhd\n +typography-size('fullhd')\n\n$alignments: ('centered': 'center', 'justified': 'justify', 'left': 'left', 'right': 'right')\n\n@each $alignment, $text-align in $alignments\n .has-text-#{$alignment}\n text-align: #{$text-align} !important\n\n@each $alignment, $text-align in $alignments\n +mobile\n .has-text-#{$alignment}-mobile\n text-align: #{$text-align} !important\n +tablet\n .has-text-#{$alignment}-tablet\n text-align: #{$text-align} !important\n +tablet-only\n .has-text-#{$alignment}-tablet-only\n text-align: #{$text-align} !important\n +touch\n .has-text-#{$alignment}-touch\n text-align: #{$text-align} !important\n +desktop\n .has-text-#{$alignment}-desktop\n text-align: #{$text-align} !important\n +desktop-only\n .has-text-#{$alignment}-desktop-only\n text-align: #{$text-align} !important\n +widescreen\n .has-text-#{$alignment}-widescreen\n text-align: #{$text-align} !important\n +widescreen-only\n .has-text-#{$alignment}-widescreen-only\n text-align: #{$text-align} !important\n +fullhd\n .has-text-#{$alignment}-fullhd\n text-align: #{$text-align} !important\n\n.is-capitalized\n text-transform: capitalize !important\n\n.is-lowercase\n text-transform: lowercase !important\n\n.is-uppercase\n text-transform: uppercase !important\n\n.is-italic\n font-style: italic !important\n \n.is-underlined\n text-decoration: underline !important\n\n.has-text-weight-light\n font-weight: $weight-light !important\n.has-text-weight-normal\n font-weight: $weight-normal !important\n.has-text-weight-medium\n font-weight: $weight-medium !important\n.has-text-weight-semibold\n font-weight: $weight-semibold !important\n.has-text-weight-bold\n font-weight: $weight-bold !important\n\n.is-family-primary\n font-family: $family-primary !important\n\n.is-family-secondary\n font-family: $family-secondary !important\n\n.is-family-sans-serif\n font-family: $family-sans-serif !important\n\n.is-family-monospace\n font-family: $family-monospace !important\n\n.is-family-code\n font-family: $family-code !important\n","@import \"../utilities/mixins\"\n\n$displays: 'block' 'flex' 'inline' 'inline-block' 'inline-flex'\n\n@each $display in $displays\n .is-#{$display}\n display: #{$display} !important\n +mobile\n .is-#{$display}-mobile\n display: #{$display} !important\n +tablet\n .is-#{$display}-tablet\n display: #{$display} !important\n +tablet-only\n .is-#{$display}-tablet-only\n display: #{$display} !important\n +touch\n .is-#{$display}-touch\n display: #{$display} !important\n +desktop\n .is-#{$display}-desktop\n display: #{$display} !important\n +desktop-only\n .is-#{$display}-desktop-only\n display: #{$display} !important\n +widescreen\n .is-#{$display}-widescreen\n display: #{$display} !important\n +widescreen-only\n .is-#{$display}-widescreen-only\n display: #{$display} !important\n +fullhd\n .is-#{$display}-fullhd\n display: #{$display} !important\n\n.is-hidden\n display: none !important\n\n.is-sr-only\n border: none !important\n clip: rect(0, 0, 0, 0) !important\n height: 0.01em !important\n overflow: hidden !important\n padding: 0 !important\n position: absolute !important\n white-space: nowrap !important\n width: 0.01em !important\n\n+mobile\n .is-hidden-mobile\n display: none !important\n\n+tablet\n .is-hidden-tablet\n display: none !important\n\n+tablet-only\n .is-hidden-tablet-only\n display: none !important\n\n+touch\n .is-hidden-touch\n display: none !important\n\n+desktop\n .is-hidden-desktop\n display: none !important\n\n+desktop-only\n .is-hidden-desktop-only\n display: none !important\n\n+widescreen\n .is-hidden-widescreen\n display: none !important\n\n+widescreen-only\n .is-hidden-widescreen-only\n display: none !important\n\n+fullhd\n .is-hidden-fullhd\n display: none !important\n\n.is-invisible\n visibility: hidden !important\n\n+mobile\n .is-invisible-mobile\n visibility: hidden !important\n\n+tablet\n .is-invisible-tablet\n visibility: hidden !important\n\n+tablet-only\n .is-invisible-tablet-only\n visibility: hidden !important\n\n+touch\n .is-invisible-touch\n visibility: hidden !important\n\n+desktop\n .is-invisible-desktop\n visibility: hidden !important\n\n+desktop-only\n .is-invisible-desktop-only\n visibility: hidden !important\n\n+widescreen\n .is-invisible-widescreen\n visibility: hidden !important\n\n+widescreen-only\n .is-invisible-widescreen-only\n visibility: hidden !important\n\n+fullhd\n .is-invisible-fullhd\n visibility: hidden !important\n","@import \"../utilities/mixins\"\n\n$hero-body-padding: 3rem 1.5rem !default\n$hero-body-padding-tablet: 3rem 3rem !default\n$hero-body-padding-small: 1.5rem !default\n$hero-body-padding-medium: 9rem 4.5rem !default\n$hero-body-padding-large: 18rem 6rem !default\n\n$hero-colors: $colors !default\n\n// Main container\n.hero\n align-items: stretch\n display: flex\n flex-direction: column\n justify-content: space-between\n .navbar\n background: none\n .tabs\n ul\n border-bottom: none\n // Colors\n @each $name, $pair in $hero-colors\n $color: nth($pair, 1)\n $color-invert: nth($pair, 2)\n &.is-#{$name}\n background-color: $color\n color: $color-invert\n a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),\n strong\n color: inherit\n .title\n color: $color-invert\n .subtitle\n color: bulmaRgba($color-invert, 0.9)\n a:not(.button),\n strong\n color: $color-invert\n .navbar-menu\n +touch\n background-color: $color\n .navbar-item,\n .navbar-link\n color: bulmaRgba($color-invert, 0.7)\n a.navbar-item,\n .navbar-link\n &:hover,\n &.is-active\n background-color: bulmaDarken($color, 5%)\n color: $color-invert\n .tabs\n a\n color: $color-invert\n opacity: 0.9\n &:hover\n opacity: 1\n li\n &.is-active a\n color: $color !important\n opacity: 1\n &.is-boxed,\n &.is-toggle\n a\n color: $color-invert\n &:hover\n background-color: bulmaRgba($scheme-invert, 0.1)\n li.is-active a\n &,\n &:hover\n background-color: $color-invert\n border-color: $color-invert\n color: $color\n // Modifiers\n @if type-of($color) == 'color'\n &.is-bold\n $gradient-top-left: darken(saturate(adjust-hue($color, -10deg), 10%), 10%)\n $gradient-bottom-right: lighten(saturate(adjust-hue($color, 10deg), 5%), 5%)\n background-image: linear-gradient(141deg, $gradient-top-left 0%, $color 71%, $gradient-bottom-right 100%)\n +mobile\n .navbar-menu\n background-image: linear-gradient(141deg, $gradient-top-left 0%, $color 71%, $gradient-bottom-right 100%)\n // Sizes\n &.is-small\n .hero-body\n padding: $hero-body-padding-small\n &.is-medium\n +tablet\n .hero-body\n padding: $hero-body-padding-medium\n &.is-large\n +tablet\n .hero-body\n padding: $hero-body-padding-large\n &.is-halfheight,\n &.is-fullheight,\n &.is-fullheight-with-navbar\n .hero-body\n align-items: center\n display: flex\n & > .container\n flex-grow: 1\n flex-shrink: 1\n &.is-halfheight\n min-height: 50vh\n &.is-fullheight\n min-height: 100vh\n\n// Components\n\n.hero-video\n @extend %overlay\n overflow: hidden\n video\n left: 50%\n min-height: 100%\n min-width: 100%\n position: absolute\n top: 50%\n transform: translate3d(-50%, -50%, 0)\n // Modifiers\n &.is-transparent\n opacity: 0.3\n // Responsiveness\n +mobile\n display: none\n\n.hero-buttons\n margin-top: 1.5rem\n // Responsiveness\n +mobile\n .button\n display: flex\n &:not(:last-child)\n margin-bottom: 0.75rem\n +tablet\n display: flex\n justify-content: center\n .button:not(:last-child)\n +ltr-property(\"margin\", 1.5rem)\n\n// Containers\n\n.hero-head,\n.hero-foot\n flex-grow: 0\n flex-shrink: 0\n\n.hero-body\n flex-grow: 1\n flex-shrink: 0\n padding: $hero-body-padding\n +tablet\n padding: $hero-body-padding-tablet\n","@import \"../utilities/mixins\"\n\n$section-padding: 3rem 1.5rem !default\n$section-padding-desktop: 3rem 3rem !default\n$section-padding-medium: 9rem 4.5rem !default\n$section-padding-large: 18rem 6rem !default\n\n.section\n padding: $section-padding\n // Responsiveness\n +desktop\n padding: $section-padding-desktop\n // Sizes\n &.is-medium\n padding: $section-padding-medium\n &.is-large\n padding: $section-padding-large\n","@charset \"utf-8\";\n@import \"_variables\";\n\n/** Bulma: Utilities **/\n\n@import \"../../node_modules/bulma/sass/utilities/controls\";\n@import \"../../node_modules/bulma/sass/utilities/extends\";\n\n/** Bulma: Base **/\n\n@import \"../../node_modules/bulma/sass/base/_all\";\n\n/** Bulma: Elements **/\n\n@import \"../../node_modules/bulma/sass/elements/button\";\n@import \"../../node_modules/bulma/sass/elements/container\";\n@import \"../../node_modules/bulma/sass/elements/content\";\n@import \"../../node_modules/bulma/sass/elements/icon\";\n@import \"../../node_modules/bulma/sass/elements/notification\";\n@import \"../../node_modules/bulma/sass/elements/progress\";\n@import \"../../node_modules/bulma/sass/elements/table\";\n@import \"../../node_modules/bulma/sass/elements/title\";\n@import \"../../node_modules/bulma/sass/elements/other\";\n\n/** Bulma: Form **/\n\n@import \"../../node_modules/bulma/sass/form/_all\";\n\n/** Bulma: Componenets **/\n\n@import \"../../node_modules/bulma/sass/components/level\";\n@import \"../../node_modules/bulma/sass/components/menu\";\n@import \"../../node_modules/bulma/sass/components/message\";\n@import \"../../node_modules/bulma/sass/components/pagination\";\n@import \"../../node_modules/bulma/sass/components/tabs\";\n\n/** Bulma: Grid **/\n\n@import \"../../node_modules/bulma/sass/grid/_all\";\n\n/** Bulma: Helpers **/\n\n@import \"../../node_modules/bulma/sass/helpers/_all\";\n\n/** Bulma: Layout **/\n\n@import \"../../node_modules/bulma/sass/layout/hero\";\n@import \"../../node_modules/bulma/sass/layout/section\";\n\n/** Animations **/\n\n@keyframes fade-in-opacity {\n 0% {\n opacity: 0\n }\n\n 100% {\n opacity: 1\n }\n}\n\n@keyframes float-up {\n 0% {\n opacity: 0;\n transform: scale(0.86)\n }\n\n 25% {\n opacity: 100\n }\n\n 67% {\n transform: scale(1)\n }\n\n 100% {\n transform: scale(1)\n }\n}\n\n/** General **/\n\nhtml {\n overflow-y: auto\n}\n\nbody {\n animation: fade-in-opacity 0.5s\n}\n\ncode,\n.message-body code {\n background-color: $black;\n border-radius: 5px;\n font-size: 1rem\n}\n\n.input::placeholder,\n.textarea::placeholder {\n color: $grey-lightest\n}\n\n.label {\n color: $white-ter;\n font-weight: normal\n}\n\n.help {\n color: $grey-lightest\n}\n\n.progress {\n background-color: $grey\n}\n\n.button.is-info.is-hovered [class^=\"icon-\"]::before,\n.button.is-info.is-hovered [class*=\" icon-\"]::before,\n.button.is-info:hover [class^=\"icon-\"]::before,\n.button.is-info:hover [class*=\" icon-\"]::before {\n fill: #fff\n}\n\n.button {\n &.is-wrappable {\n white-space: break-spaces;\n min-height: 2.25em;\n height: auto\n }\n\n /* TODO: Use variables for colors */\n &.is-dangerish {\n background-color: #ff7043;\n border-color: transparent;\n color: rgb(0 0 0 / 70%);\n\n &.is-hovered,\n &:not([disabled]):hover {\n background-color: #ff8a65;\n border-color: transparent;\n color: rgb(0 0 0 / 70%)\n }\n\n &.is-active,\n &:not([disabled]):active {\n background-color: #ff5722;\n border-color: transparent;\n color: rgb(0 0 0 / 70%)\n }\n\n &.is-outlined {\n background-color: transparent;\n border-color: #ff7043;\n color: #ff7043;\n\n &.is-focused,\n &.is-hovered,\n &:not([disabled]):focus,\n &:not([disabled]):hover {\n background-color: #ff7043;\n border-color: #ff7043;\n color: rgb(0 0 0 / 70%)\n }\n }\n }\n}\n\n.checkbox:hover,\n.radio:hover {\n color: $grey-light\n}\n\n.select:not(.is-multiple,.is-loading)::after {\n border-color: $white-ter\n}\n\n.select:not(.is-multiple,.is-loading):hover::after {\n border-color: $white-ter\n}\n\n.select select[disabled]:hover,\nfieldset[disabled] .select select:hover {\n border-color: $grey\n}\n\n.message {\n background-color: #2f2f2f\n}\n\n.message-body {\n color: $white-ter;\n border: 0\n}\n\n.table {\n color: $grey-lightest;\n background-color: $black;\n\n &.is-narrow {\n font-size: 0.75rem\n }\n\n &.is-hoverable tbody tr:not(.is-selected):hover {\n background-color: #2f2f2f\n }\n\n td,\n th {\n white-space: nowrap;\n vertical-align: middle;\n border-bottom: 1px solid $grey\n }\n\n th {\n color: $white-ter;\n height: 2.25em;\n font-weight: normal\n }\n\n thead {\n td,\n th {\n color: $white-ter;\n background-color: #383838;\n border-bottom: 0;\n height: 31px\n }\n }\n\n tbody tr:last-child {\n td,\n th {\n border-bottom-width: 1px\n }\n }\n\n .cell-indent {\n padding-left: 2.25em\n }\n}\n\n.delete {\n &::before,\n &::after {\n background-color: $text\n }\n}\n\n.has-word-break-all {\n word-break: break-all\n}\n\n/** Fontello overrides **/\n\n.icon-gauge::before {\n margin-top: -2px\n}\n\n/** Cookie Consent **/\n\n.cc-window {\n font-family: inherit !important\n}\n\n.cc-link {\n padding: 0 !important\n}\n\n/* floating button's bottom offset + height + bottom offset */\n.section.has-extra-bottom-padding {\n padding-bottom: 6.5rem\n}\n\n/** Floating home button **/\n\na.floating-home-button {\n display: flex;\n position: fixed;\n right: 1.5rem;\n bottom: 1.5rem;\n border-radius: 100%;\n background-color: $link;\n color: $white;\n width: 3.5rem;\n height: 3.5rem;\n justify-content: center;\n align-items: center;\n transition: background-color 0.25s, color 0.25s;\n\n &:hover {\n background-color: $link-hover;\n color: $scheme-main\n }\n\n > .icon {\n margin-top: -2px\n }\n}\n\n.hero.is-fullheight {\n /* https://github.com/philipwalton/flexbugs#flexbug-3 */\n > .hero-body {\n min-height: 100vh;\n height: 100%;\n\n /* https://github.com/philipwalton/flexbugs#flexbug-2 */\n > .container {\n width: 100%\n }\n }\n}\n"]} \ No newline at end of file diff --git a/dist/js/album.js.map b/dist/js/album.js.map index 4d60c07..65f83df 100644 --- a/dist/js/album.js.map +++ b/dist/js/album.js.map @@ -1 +1 @@ -{"version":3,"sources":["album.js"],"names":["const","lsKeys","page","lazyLoad","window","addEventListener","elements","document","querySelectorAll","i","length","innerHTML","getPrettyBytes","parseInt","replace","LazyLoad"],"mappings":"AAGAA,IAAMC,OAAS,GAETC,KAAO,CACXC,SAAU,MAGZC,OAAOC,iBAAiB,oBAAkB,WAExC,IADAL,IAAMM,EAAWC,SAASC,iBAAiB,cAClCC,EAAI,EAAGA,EAAIH,EAASI,OAAQD,IACnCH,EAASG,GAAGE,UAAYT,KAAKU,eAAeC,SAASP,EAASG,GAAGE,UAAUG,QAAQ,SAAU,MAG/FZ,KAAKC,SAAW,IAAIY","file":"album.js","sourcesContent":["/* global LazyLoad */\n\n// eslint-disable-next-line no-unused-vars\nconst lsKeys = {}\n\nconst page = {\n lazyLoad: null\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n const elements = document.querySelectorAll('.file-size')\n for (let i = 0; i < elements.length; i++) {\n elements[i].innerHTML = page.getPrettyBytes(parseInt(elements[i].innerHTML.replace(/\\s*B$/i, '')))\n }\n\n page.lazyLoad = new LazyLoad()\n})\n"]} \ No newline at end of file +{"version":3,"sources":["album.js"],"names":["const","lsKeys","page","lazyLoad","window","addEventListener","elements","document","querySelectorAll","i","length","innerHTML","getPrettyBytes","parseInt","replace","LazyLoad"],"mappings":"AAGAA,IAAMC,OAAS,CAAA,EAETC,KAAO,CACXC,SAAU,MAGZC,OAAOC,iBAAiB,oBAAkB,WAExC,IADAL,IAAMM,EAAWC,SAASC,iBAAiB,cAClCC,EAAI,EAAGA,EAAIH,EAASI,OAAQD,IACnCH,EAASG,GAAGE,UAAYT,KAAKU,eAAeC,SAASP,EAASG,GAAGE,UAAUG,QAAQ,SAAU,MAG/FZ,KAAKC,SAAW,IAAIY,QACtB","file":"album.js","sourcesContent":["/* global LazyLoad */\n\n// eslint-disable-next-line no-unused-vars\nconst lsKeys = {}\n\nconst page = {\n lazyLoad: null\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n const elements = document.querySelectorAll('.file-size')\n for (let i = 0; i < elements.length; i++) {\n elements[i].innerHTML = page.getPrettyBytes(parseInt(elements[i].innerHTML.replace(/\\s*B$/i, '')))\n }\n\n page.lazyLoad = new LazyLoad()\n})\n"]} \ No newline at end of file diff --git a/dist/js/auth.js.map b/dist/js/auth.js.map index a1185bb..d2b9f8f 100644 --- a/dist/js/auth.js.map +++ b/dist/js/auth.js.map @@ -1 +1 @@ -{"version":3,"sources":["auth.js"],"names":["const","lsKeys","token","page","localStorage","user","pass","loaderSection","document","querySelector","classList","add","loginSection","remove","floatingBtn","error","console","statusText","response","status","description","data","swal","dest","trigger","value","trim","axios","post","username","password","then","success","window","location","catch","onAxiosError","unhide","code","removeItem","addEventListener","form","event","preventDefault","loginBtn","checkValidity","do","currentTarget","registerBtn","click","verify"],"mappings":"AAEAA,IAAMC,OAAS,CACbC,MAAO,SAGHC,KAAO,CAEXD,MAAOE,aAAaH,OAAOC,OAG3BG,KAAM,KACNC,KAAM,KAGRH,OAAW,WACTH,IAAMO,EAAgBC,SAASC,cAAc,WACzCF,GAAeA,EAAcG,UAAUC,IAAI,aAE/CX,IAAMY,EAAeJ,SAASC,cAAc,oBACxCG,GAAcA,EAAaF,UAAUG,OAAO,aAEhDb,IAAMc,EAAcN,SAASC,cAAc,mCACvCK,GAAaA,EAAYJ,UAAUG,OAAO,cAIhDV,aAAiB,SAAGY,GAClBC,QAAQD,MAAMA,GAGdf,IAYMiB,EAZmB,CACvB,IAAK,gBACL,IAAK,qBACL,IAAK,uBACL,IAAK,wBACL,IAAK,qBACL,IAAK,uBACL,IAAK,0BACL,IAAK,gBACL,IAAK,oBAG6BF,EAAMG,SAASC,SAAWJ,EAAMG,SAASD,WACvEG,EAAcL,EAAMG,SAASG,MAAQN,EAAMG,SAASG,KAAKD,YAC3DL,EAAMG,SAASG,KAAKD,YACpB,uFAEJ,OAAOE,KAAQP,EAAMG,SAAS,OAAM,IAAID,EAAcG,EAAa,UAGrEjB,GAAO,SAAIoB,EAAMC,GACfxB,IAAMK,EAAOF,KAAKE,KAAKoB,MAAMC,OAC7B,IAAKrB,EAAM,OAAOiB,KAAK,qBAAsB,kCAAmC,SAEhFtB,IAAMM,EAAOH,KAAKG,KAAKmB,MAAMC,OAC7B,IAAKpB,EAAM,OAAOgB,KAAK,qBAAsB,kCAAmC,SAEhFE,EAAQd,UAAUC,IAAI,cACtBgB,MAAMC,KAAK,OAAOL,EAAQ,CACxBM,SAAUxB,EACVyB,SAAUxB,IACTyB,MAAI,SAACb,GACN,IAA8B,IAA1BA,EAASG,KAAKW,QAEhB,OADAR,EAAQd,UAAUG,OAAO,cAClBS,KAAK,aAAaC,EAAI,IAAKL,EAASG,KAAKD,YAAa,SAG/DhB,aAAaF,MAAQgB,EAASG,KAAKnB,MACnC+B,OAAOC,SAAW,eACjBC,OAAK,SAACpB,GACPS,EAAQd,UAAUG,OAAO,cACzBV,KAAKiC,aAAarB,OAItBZ,OAAW,WACTwB,MAAMC,KAAK,oBAAqB,CAC9B1B,MAAOC,KAAKD,QACX6B,MAAI,SAACb,GACN,IAA8B,IAA1BA,EAASG,KAAKW,QAEhB,OADA7B,KAAKkC,SACEf,KAAK,qBAAsBJ,EAASG,KAAKD,YAAa,SAI/Da,OAAOC,SAAW,eACjBC,OAAK,SAACpB,GACHA,EAAMG,SAASG,MAAqC,QAA7BN,EAAMG,SAASG,KAAKiB,MAC7ClC,aAAamC,WAAWtC,OAAOC,OAEjCC,KAAKkC,SACLlC,KAAKiC,aAAarB,QAItBkB,OAAOO,iBAAiB,oBAAkB,WACxCrC,KAAKE,KAAOG,SAASC,cAAc,SACnCN,KAAKG,KAAOE,SAASC,cAAc,SAGnCT,IAAMyC,EAAOjC,SAASC,cAAc,aACpCgC,EAAKD,iBAAiB,UAAQ,SAAEE,GAC9BA,EAAMC,oBAGR3C,IAAM4C,EAAWpC,SAASC,cAAc,aACpCmC,GACFA,EAASJ,iBAAiB,SAAO,SAAEE,GAC5BD,EAAKI,iBACV1C,KAAK2C,GAAG,QAASJ,EAAMK,kBAI3B/C,IAAMgD,EAAcxC,SAASC,cAAc,gBACvCuC,GACFA,EAAYR,iBAAiB,SAAO,SAAEE,GACpC,IAAKD,EAAKI,gBAER,OAAOD,EAASK,QAElB9C,KAAK2C,GAAG,WAAYJ,EAAMK,kBAI1B5C,KAAKD,MAAOC,KAAK+C,SAChB/C,KAAKkC","file":"auth.js","sourcesContent":["/* global swal, axios */\n\nconst lsKeys = {\n token: 'token'\n}\n\nconst page = {\n // user token\n token: localStorage[lsKeys.token],\n\n // HTML elements\n user: null,\n pass: null\n}\n\npage.unhide = () => {\n const loaderSection = document.querySelector('#loader')\n if (loaderSection) loaderSection.classList.add('is-hidden')\n\n const loginSection = document.querySelector('#login.is-hidden')\n if (loginSection) loginSection.classList.remove('is-hidden')\n\n const floatingBtn = document.querySelector('.floating-home-button.is-hidden')\n if (floatingBtn) floatingBtn.classList.remove('is-hidden')\n}\n\n// Handler for Axios errors\npage.onAxiosError = error => {\n console.error(error)\n\n // Better Cloudflare errors\n const cloudflareErrors = {\n 520: 'Unknown Error',\n 521: 'Web Server Is Down',\n 522: 'Connection Timed Out',\n 523: 'Origin Is Unreachable',\n 524: 'A Timeout Occurred',\n 525: 'SSL Handshake Failed',\n 526: 'Invalid SSL Certificate',\n 527: 'Railgun Error',\n 530: 'Origin DNS Error'\n }\n\n const statusText = cloudflareErrors[error.response.status] || error.response.statusText\n const description = error.response.data && error.response.data.description\n ? error.response.data.description\n : 'There was an error with the request.\\nPlease check the console for more information.'\n\n return swal(`${error.response.status} ${statusText}`, description, 'error')\n}\n\npage.do = (dest, trigger) => {\n const user = page.user.value.trim()\n if (!user) return swal('An error occurred!', 'You need to specify a username.', 'error')\n\n const pass = page.pass.value.trim()\n if (!pass) return swal('An error occurred!', 'You need to specify a password.', 'error')\n\n trigger.classList.add('is-loading')\n axios.post(`api/${dest}`, {\n username: user,\n password: pass\n }).then(response => {\n if (response.data.success === false) {\n trigger.classList.remove('is-loading')\n return swal(`Unable to ${dest}!`, response.data.description, 'error')\n }\n\n localStorage.token = response.data.token\n window.location = 'dashboard'\n }).catch(error => {\n trigger.classList.remove('is-loading')\n page.onAxiosError(error)\n })\n}\n\npage.verify = () => {\n axios.post('api/tokens/verify', {\n token: page.token\n }).then(response => {\n if (response.data.success === false) {\n page.unhide()\n return swal('An error occurred!', response.data.description, 'error')\n }\n\n // Redirect to dashboard if token is valid\n window.location = 'dashboard'\n }).catch(error => {\n if (error.response.data && error.response.data.code === 10001) {\n localStorage.removeItem(lsKeys.token)\n }\n page.unhide()\n page.onAxiosError(error)\n })\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n page.user = document.querySelector('#user')\n page.pass = document.querySelector('#pass')\n\n // Prevent default form's submit action\n const form = document.querySelector('#authForm')\n form.addEventListener('submit', event => {\n event.preventDefault()\n })\n\n const loginBtn = document.querySelector('#loginBtn')\n if (loginBtn) {\n loginBtn.addEventListener('click', event => {\n if (!form.checkValidity()) return\n page.do('login', event.currentTarget)\n })\n }\n\n const registerBtn = document.querySelector('#registerBtn')\n if (registerBtn) {\n registerBtn.addEventListener('click', event => {\n if (!form.checkValidity()) {\n // Workaround for browsers to display native form error messages\n return loginBtn.click()\n }\n page.do('register', event.currentTarget)\n })\n }\n\n if (page.token) page.verify()\n else page.unhide()\n})\n"]} \ No newline at end of file +{"version":3,"sources":["auth.js"],"names":["const","lsKeys","token","page","localStorage","user","pass","loaderSection","document","querySelector","classList","add","loginSection","remove","floatingBtn","error","console","statusText","response","status","description","data","swal","dest","trigger","value","trim","axios","post","username","password","then","success","window","location","catch","onAxiosError","unhide","code","removeItem","addEventListener","form","event","preventDefault","loginBtn","checkValidity","do","currentTarget","registerBtn","click","verify"],"mappings":"AAEAA,IAAMC,OAAS,CACbC,MAAO,SAGHC,KAAO,CAEXD,MAAOE,aAAaH,OAAOC,OAG3BG,KAAM,KACNC,KAAM,KAGRH,OAAW,WACTH,IAAMO,EAAgBC,SAASC,cAAc,WACzCF,GAAeA,EAAcG,UAAUC,IAAI,aAE/CX,IAAMY,EAAeJ,SAASC,cAAc,oBACxCG,GAAcA,EAAaF,UAAUG,OAAO,aAEhDb,IAAMc,EAAcN,SAASC,cAAc,mCACvCK,GAAaA,EAAYJ,UAAUG,OAAO,YAChD,EAGAV,aAAiB,SAAGY,GAClBC,QAAQD,MAAMA,GAGdf,IAYMiB,EAZmB,CACvB,IAAK,gBACL,IAAK,qBACL,IAAK,uBACL,IAAK,wBACL,IAAK,qBACL,IAAK,uBACL,IAAK,0BACL,IAAK,gBACL,IAAK,oBAG6BF,EAAMG,SAASC,SAAWJ,EAAMG,SAASD,WACvEG,EAAcL,EAAMG,SAASG,MAAQN,EAAMG,SAASG,KAAKD,YAC3DL,EAAMG,SAASG,KAAKD,YACpB,uFAEJ,OAAOE,KAAQP,EAAMG,SAAS,OAAM,IAAID,EAAcG,EAAa,QACrE,EAEAjB,GAAO,SAAIoB,EAAMC,GACfxB,IAAMK,EAAOF,KAAKE,KAAKoB,MAAMC,OAC7B,IAAKrB,EAAM,OAAOiB,KAAK,qBAAsB,kCAAmC,SAEhFtB,IAAMM,EAAOH,KAAKG,KAAKmB,MAAMC,OAC7B,IAAKpB,EAAM,OAAOgB,KAAK,qBAAsB,kCAAmC,SAEhFE,EAAQd,UAAUC,IAAI,cACtBgB,MAAMC,KAAK,OAAOL,EAAQ,CACxBM,SAAUxB,EACVyB,SAAUxB,IACTyB,MAAI,SAACb,GACN,IAA8B,IAA1BA,EAASG,KAAKW,QAEhB,OADAR,EAAQd,UAAUG,OAAO,cAClBS,KAAK,aAAaC,EAAI,IAAKL,EAASG,KAAKD,YAAa,SAG/DhB,aAAaF,MAAQgB,EAASG,KAAKnB,MACnC+B,OAAOC,SAAW,WACpB,IAAGC,OAAK,SAACpB,GACPS,EAAQd,UAAUG,OAAO,cACzBV,KAAKiC,aAAarB,EACpB,GACF,EAEAZ,OAAW,WACTwB,MAAMC,KAAK,oBAAqB,CAC9B1B,MAAOC,KAAKD,QACX6B,MAAI,SAACb,GACN,IAA8B,IAA1BA,EAASG,KAAKW,QAEhB,OADA7B,KAAKkC,SACEf,KAAK,qBAAsBJ,EAASG,KAAKD,YAAa,SAI/Da,OAAOC,SAAW,WACpB,IAAGC,OAAK,SAACpB,GACHA,EAAMG,SAASG,MAAqC,QAA7BN,EAAMG,SAASG,KAAKiB,MAC7ClC,aAAamC,WAAWtC,OAAOC,OAEjCC,KAAKkC,SACLlC,KAAKiC,aAAarB,EACpB,GACF,GAEAkB,OAAOO,iBAAiB,oBAAkB,WACxCrC,KAAKE,KAAOG,SAASC,cAAc,SACnCN,KAAKG,KAAOE,SAASC,cAAc,SAGnCT,IAAMyC,EAAOjC,SAASC,cAAc,aACpCgC,EAAKD,iBAAiB,UAAQ,SAAEE,GAC9BA,EAAMC,gBACR,IAEA3C,IAAM4C,EAAWpC,SAASC,cAAc,aACpCmC,GACFA,EAASJ,iBAAiB,SAAO,SAAEE,GAC5BD,EAAKI,iBACV1C,KAAK2C,GAAG,QAASJ,EAAMK,cACzB,IAGF/C,IAAMgD,EAAcxC,SAASC,cAAc,gBACvCuC,GACFA,EAAYR,iBAAiB,SAAO,SAAEE,GACpC,IAAKD,EAAKI,gBAER,OAAOD,EAASK,QAElB9C,KAAK2C,GAAG,WAAYJ,EAAMK,cAC5B,IAGE5C,KAAKD,MAAOC,KAAK+C,SAChB/C,KAAKkC,QACZ","file":"auth.js","sourcesContent":["/* global swal, axios */\n\nconst lsKeys = {\n token: 'token'\n}\n\nconst page = {\n // user token\n token: localStorage[lsKeys.token],\n\n // HTML elements\n user: null,\n pass: null\n}\n\npage.unhide = () => {\n const loaderSection = document.querySelector('#loader')\n if (loaderSection) loaderSection.classList.add('is-hidden')\n\n const loginSection = document.querySelector('#login.is-hidden')\n if (loginSection) loginSection.classList.remove('is-hidden')\n\n const floatingBtn = document.querySelector('.floating-home-button.is-hidden')\n if (floatingBtn) floatingBtn.classList.remove('is-hidden')\n}\n\n// Handler for Axios errors\npage.onAxiosError = error => {\n console.error(error)\n\n // Better Cloudflare errors\n const cloudflareErrors = {\n 520: 'Unknown Error',\n 521: 'Web Server Is Down',\n 522: 'Connection Timed Out',\n 523: 'Origin Is Unreachable',\n 524: 'A Timeout Occurred',\n 525: 'SSL Handshake Failed',\n 526: 'Invalid SSL Certificate',\n 527: 'Railgun Error',\n 530: 'Origin DNS Error'\n }\n\n const statusText = cloudflareErrors[error.response.status] || error.response.statusText\n const description = error.response.data && error.response.data.description\n ? error.response.data.description\n : 'There was an error with the request.\\nPlease check the console for more information.'\n\n return swal(`${error.response.status} ${statusText}`, description, 'error')\n}\n\npage.do = (dest, trigger) => {\n const user = page.user.value.trim()\n if (!user) return swal('An error occurred!', 'You need to specify a username.', 'error')\n\n const pass = page.pass.value.trim()\n if (!pass) return swal('An error occurred!', 'You need to specify a password.', 'error')\n\n trigger.classList.add('is-loading')\n axios.post(`api/${dest}`, {\n username: user,\n password: pass\n }).then(response => {\n if (response.data.success === false) {\n trigger.classList.remove('is-loading')\n return swal(`Unable to ${dest}!`, response.data.description, 'error')\n }\n\n localStorage.token = response.data.token\n window.location = 'dashboard'\n }).catch(error => {\n trigger.classList.remove('is-loading')\n page.onAxiosError(error)\n })\n}\n\npage.verify = () => {\n axios.post('api/tokens/verify', {\n token: page.token\n }).then(response => {\n if (response.data.success === false) {\n page.unhide()\n return swal('An error occurred!', response.data.description, 'error')\n }\n\n // Redirect to dashboard if token is valid\n window.location = 'dashboard'\n }).catch(error => {\n if (error.response.data && error.response.data.code === 10001) {\n localStorage.removeItem(lsKeys.token)\n }\n page.unhide()\n page.onAxiosError(error)\n })\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n page.user = document.querySelector('#user')\n page.pass = document.querySelector('#pass')\n\n // Prevent default form's submit action\n const form = document.querySelector('#authForm')\n form.addEventListener('submit', event => {\n event.preventDefault()\n })\n\n const loginBtn = document.querySelector('#loginBtn')\n if (loginBtn) {\n loginBtn.addEventListener('click', event => {\n if (!form.checkValidity()) return\n page.do('login', event.currentTarget)\n })\n }\n\n const registerBtn = document.querySelector('#registerBtn')\n if (registerBtn) {\n registerBtn.addEventListener('click', event => {\n if (!form.checkValidity()) {\n // Workaround for browsers to display native form error messages\n return loginBtn.click()\n }\n page.do('register', event.currentTarget)\n })\n }\n\n if (page.token) page.verify()\n else page.unhide()\n})\n"]} \ No newline at end of file diff --git a/dist/js/dashboard.js.map b/dist/js/dashboard.js.map index f855fd2..70631ce 100644 --- a/dist/js/dashboard.js.map +++ b/dist/js/dashboard.js.map @@ -1 +1 @@ -{"version":3,"sources":["dashboard.js"],"names":["const","lsKeys","token","viewType","uploads","uploadsAll","selected","albums","albumsAll","users","originalNames","page","section","dom","localStorage","username","permissions","menusContainer","menus","currentView","views","type","album","pageNum","filters","all","prevPageNums","checkboxes","lastSelected","selectAlbumContainer","cache","clipboardJS","lazyLoad","albumsSidebarCollapse","albumsSidebarCollapsible","imageExts","videoExts","audioExts","isSomethingLoading","fadingIn","albumTitleMaxLength","albumDescMaxLength","document","querySelector","classList","add","remove","error","console","content","createElement","innerHTML","toString","swal","title","icon","statusText","response","status","description","data","verifyToken","window","location","apiVersion","match","src","text","buttons","confirm","closeModal","then","reload","axios","post","defaults","headers","common","version","checkClientVersion","prepareDashboard","catch","code","removeItem","addEventListener","domClick","event","target","contains","preventDefault","itemMenus","selector","onclick","getUploads","deleteUploadsByNames","getAlbums","changeToken","changePassword","logout","params","group","getStatistics","getUsers","loop","i","item","warnSomethingLoading","call","Object","assign","trigger","currentTarget","forceScroll","push","length","moderator","unhide","getAlbumsSidebar","prepareShareX","updateTrigger","timer","newState","parentNode","tagName","className","includes","let","element","parent","parseInt","dataset","id","action","hasAttribute","stopPropagation","getItemID","setUploadsView","toggleOriginalNames","addToAlbum","deleteUpload","addSelectedUploadsToAlbum","bulkDeleteUploads","displayPreview","uploadFiltersHelp","filterUploads","submitAlbum","editAlbum","disableAlbum","deleteAlbum","viewAlbumUploads","createUser","editUser","disableUser","deleteUser","viewUserUploads","getNewToken","clearSelection","select","selectAll","focusJumpToPage","switchPage","disableFading","clearTimeout","setTimeout","disableSmooth","scrollIntoView","behavior","block","inline","view","get","func","getByView","goto","jumpToPage","jumpid","checkValidity","parsed","value","isNaN","focus","url","test","minoffset","Date","getTimezoneOffset","success","pages","Math","ceil","count","files","autoPage","basedomain","max","pagination","paginate","extraControls","escape","controls","bottomExtraControls","replace","bottomPagination","unselected","showOriginalNames","hasExpiryDateColumn","some","file","expirydate","origin","thumb","extname","toLowerCase","previewable","name","original","prettyBytes","getPrettyBytes","size","prettyDate","getPrettyDate","timestamp","prettyExpiryDate","appendix","userid","albumid","table","upload","div","appendChild","querySelectorAll","allAlbums","tr","ip","checked","fadeInDom","scrollToDom","update","onAxiosError","undefined","onload","body","onerror","setAttribute","splice","indexOf","JSON","stringify","lastElement","thisIndex","index","lastIndex","abs","shiftKey","selectInBetween","suffix","substring","proceed","Boolean","style","trim","filtersid","user","postBulkDeleteUploads","field","values","cb","failed","filter","textArea","seen","names","split","map","trimmed","prototype","hasOwnProperty","join","objective","dangerMode","cancel","Array","isArray","addUploadsToAlbum","ids","callback","choose","added","simple","list","getElementsByTagName","removeAttribute","homeDomain","createNewAlbum","albumUrlText","identifier","albumUrl","hasZip","zipSize","prettyZipDate","zipGeneratedAt","isZipExpired","editedAt","enabled","download","public","descriptionHtml","urlPath","requestLink","purge","albumsSidebar","oldAlbums","diffCount","innerText","collapsed","textExpand","textCollapse","collapse","li","a","sendNewPassword","pass","password","admin","displayGroup","groups","keys","registration","prettyTokenUpdate","usage","groupOptions","g","isHigher","isDisabledHelper","resetPassword","autoClose","displayName","totalItems","itemsPerPage","currentPage","numPages","template","start","end","elementsToShow","step","stats","rows","valKeys","j","totalForPercentage","available","used","total","toFixed","getPrettyUptime","toLocaleString","onError","hrtime","defineProperty","varArgs","arguments$1","arguments","TypeError","to","nextSource","nextKey","writable","configurable","documentElement","selectedKeys","ls","parse","preparePage","ClipboardJS","on","LazyLoad","bulmaCollapsible"],"mappings":"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","file":"dashboard.js","sourcesContent":["/* global swal, axios, ClipboardJS, LazyLoad, bulmaCollapsible */\n\nconst lsKeys = {\n token: 'token',\n viewType: {\n uploads: 'viewTypeUploads',\n uploadsAll: 'viewTypeUploadsAll'\n },\n selected: {\n uploads: 'selectedUploads',\n uploadsAll: 'selectedUploadsAll',\n albums: 'selectedAlbums',\n albumsAll: 'selectedAlbumsAll',\n users: 'selectedUsers'\n },\n originalNames: {\n uploads: 'originalNames',\n uploadsAll: 'originalNamesAll'\n }\n}\n\nconst page = {\n // #dashboard\n section: null,\n // #page\n dom: null,\n\n // user token\n token: localStorage[lsKeys.token],\n\n // from api/tokens/verify\n username: null,\n permissions: null,\n\n // sidebar menus\n menusContainer: null,\n menus: [],\n\n currentView: null,\n views: {\n // params of uploads view\n uploads: {\n type: localStorage[lsKeys.viewType.uploads],\n originalNames: localStorage[lsKeys.originalNames.uploads] === '1',\n album: null, // album's id\n pageNum: null\n },\n // params of uploads view (all)\n uploadsAll: {\n type: localStorage[lsKeys.viewType.uploadsAll],\n originalNames: localStorage[lsKeys.originalNames.uploadsAll] === '1',\n filters: null,\n pageNum: null,\n all: true\n },\n // params of albums view\n albums: {\n filters: null,\n pageNum: null\n },\n // params of albums view (all)\n albumsAll: {\n filters: null,\n pageNum: null,\n all: true\n },\n // params of users view\n users: {\n filters: null,\n pageNum: null\n }\n },\n prevPageNums: {\n uploads: null,\n uploadsAll: null,\n albums: null,\n albumsAll: null,\n users: null\n },\n\n // ids of selected items (shared across pages and will be synced with localStorage)\n selected: {\n uploads: [],\n uploadsAll: [],\n albums: [],\n albumsAll: [],\n users: []\n },\n checkboxes: [],\n lastSelected: [],\n\n // select album dom for dialogs/modals\n selectAlbumContainer: null,\n\n // cache for dialogs/modals\n cache: {},\n\n clipboardJS: null,\n lazyLoad: null,\n albumsSidebarCollapse: null,\n albumsSidebarCollapsible: null,\n\n imageExts: ['.gif', '.jpeg', '.jpg', '.png', '.svg', '.tif', '.tiff', '.webp'],\n videoExts: ['.3g2', '.3gp', '.asf', '.avchd', '.avi', '.divx', '.evo', '.flv', '.h264', '.h265', '.hevc', '.m2p', '.m2ts', '.m4v', '.mk3d', '.mkv', '.mov', '.mp4', '.mpeg', '.mpg', '.mxf', '.ogg', '.ogv', '.ps', '.qt', '.rmvb', '.ts', '.vob', '.webm', '.wmv'],\n audioExts: ['.flac', '.mp3', '.wav', '.wma'],\n\n isSomethingLoading: false,\n fadingIn: null,\n\n albumTitleMaxLength: 70,\n albumDescMaxLength: 4000\n}\n\npage.unhide = () => {\n document.querySelector('#loader').classList.add('is-hidden')\n page.section.classList.remove('is-hidden')\n}\n\n// Handler for regular JS errors\npage.onError = error => {\n console.error(error)\n\n const content = document.createElement('div')\n content.innerHTML = `\n

${error.toString()}

\n

Please check your console for more information.

\n `\n return swal({\n title: 'An error occurred!',\n icon: 'error',\n content\n })\n}\n\n// Handler for Axios errors\npage.onAxiosError = error => {\n console.error(error)\n\n // Better Cloudflare errors\n const cloudflareErrors = {\n 520: 'Unknown Error',\n 521: 'Web Server Is Down',\n 522: 'Connection Timed Out',\n 523: 'Origin Is Unreachable',\n 524: 'A Timeout Occurred',\n 525: 'SSL Handshake Failed',\n 526: 'Invalid SSL Certificate',\n 527: 'Railgun Error',\n 530: 'Origin DNS Error'\n }\n\n const statusText = cloudflareErrors[error.response.status] || error.response.statusText\n const description = error.response.data && error.response.data.description\n ? error.response.data.description\n : 'There was an error with the request.\\nPlease check the console for more information.'\n\n return swal(`${error.response.status} ${statusText}`, description, 'error')\n}\n\npage.preparePage = () => {\n if (page.token) page.verifyToken(page.token)\n else window.location = 'auth'\n}\n\npage.checkClientVersion = apiVersion => {\n const self = document.querySelector('#mainScript')\n const match = self.src.match(/\\?_=(\\d+)$/)\n if (match && match[1] && match[1] !== apiVersion) {\n return swal({\n title: 'Update detected!',\n text: 'Client assets have been updated. Reload to display the latest version?',\n icon: 'info',\n buttons: {\n confirm: {\n text: 'Reload',\n closeModal: false\n }\n }\n }).then(() => {\n window.location.reload()\n })\n }\n}\n\npage.verifyToken = token => {\n axios.post('api/tokens/verify', { token }).then(response => {\n axios.defaults.headers.common.token = token\n localStorage[lsKeys.token] = token\n\n if (response.data.version) {\n page.checkClientVersion(response.data.version)\n }\n\n page.token = token\n page.username = response.data.username\n page.permissions = response.data.permissions\n page.prepareDashboard()\n }).catch(error => {\n return swal({\n title: 'An error occurred!',\n text: error.response.data ? error.response.data.description : error.toString(),\n icon: 'error'\n }).then(() => {\n if (error.response.data && error.response.data.code === 10001) {\n localStorage.removeItem(lsKeys.token)\n window.location = 'auth'\n }\n })\n })\n}\n\npage.prepareDashboard = () => {\n page.section = document.querySelector('#dashboard')\n page.dom = page.section.querySelector('#page')\n\n // Capture all click events\n page.dom.addEventListener('click', page.domClick, true)\n\n // Capture all submit events\n page.dom.addEventListener('submit', event => {\n // Prevent default if necessary\n if (event.target && event.target.classList.contains('prevent-default')) {\n return event.preventDefault()\n }\n }, true)\n\n page.menusContainer = document.querySelector('#menu')\n\n // All item menus in the sidebar\n const itemMenus = [\n { selector: '#itemUploads', onclick: page.getUploads },\n { selector: '#itemDeleteUploadsByNames', onclick: page.deleteUploadsByNames },\n { selector: '#itemManageYourAlbums', onclick: page.getAlbums },\n { selector: '#itemManageToken', onclick: page.changeToken },\n { selector: '#itemChangePassword', onclick: page.changePassword },\n { selector: '#itemLogout', onclick: page.logout },\n { selector: '#itemManageUploads', onclick: page.getUploads, params: { all: true }, group: 'moderator' },\n { selector: '#itemManageAlbums', onclick: page.getAlbums, params: { all: true }, group: 'moderator' },\n { selector: '#itemStatistics', onclick: page.getStatistics, group: 'admin' },\n { selector: '#itemManageUsers', onclick: page.getUsers, group: 'admin' }\n ]\n\n for (let i = 0; i < itemMenus.length; i++) {\n // Skip item menu if not enough permission\n if (itemMenus[i].group && !page.permissions[itemMenus[i].group]) continue\n\n // Add onclick event listener\n const item = document.querySelector(itemMenus[i].selector)\n item.addEventListener('click', event => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n // eslint-disable-next-line compat/compat\n itemMenus[i].onclick.call(null, Object.assign(itemMenus[i].params || {}, {\n trigger: event.currentTarget,\n forceScroll: true\n }))\n })\n\n item.classList.remove('is-hidden')\n page.menus.push(item)\n }\n\n // If at least a moderator, show administration section\n if (page.permissions.moderator) {\n document.querySelector('#itemLabelAdmin').classList.remove('is-hidden')\n document.querySelector('#itemListAdmin').classList.remove('is-hidden')\n }\n\n // Update text of logout button\n document.querySelector('#itemLogout').innerHTML = `Logout ( ${page.username} )`\n\n // Finally display dashboard\n page.unhide()\n\n // Load albums sidebar\n page.getAlbumsSidebar()\n\n if (typeof page.prepareShareX === 'function') page.prepareShareX()\n}\n\npage.logout = params => {\n page.updateTrigger(params.trigger, 'active')\n localStorage.removeItem(lsKeys.token)\n window.location = 'auth'\n}\n\npage.warnSomethingLoading = () => {\n swal('Please wait!', 'Something else is still loading\\u2026', 'warning', {\n buttons: false,\n timer: 3000\n })\n}\n\npage.updateTrigger = (trigger, newState) => {\n if (!trigger) return\n\n // Disable menus container and pagination when loading\n if (newState === 'loading') {\n page.isSomethingLoading = true\n page.section.classList.add('is-loading')\n } else {\n page.section.classList.remove('is-loading')\n page.isSomethingLoading = false\n }\n\n if (newState === 'loading') {\n trigger.classList.add('is-loading')\n } else if (newState === 'active') {\n if (trigger.parentNode.tagName === 'LI' && !trigger.className.includes('pagination-link')) {\n for (let i = 0; i < page.menus.length; i++) {\n page.menus[i].classList.remove('is-active')\n }\n trigger.classList.add('is-active')\n }\n trigger.classList.remove('is-loading')\n } else {\n trigger.classList.remove('is-loading')\n trigger.classList.remove('is-active')\n }\n}\n\npage.getItemID = element => {\n // This expects the item's parent to have the item's ID\n let parent = element.parentNode\n // If the element is part of a set of controls, use the container's parent instead\n if (element.parentNode.classList.contains('controls')) parent = parent.parentNode\n return parseInt(parent.dataset.id)\n}\n\npage.domClick = event => {\n // We are processing clicks this way to avoid using \"onclick\" attribute\n // Apparently we will need to use \"unsafe-inline\" for \"script-src\" directive\n // of Content Security Policy (CSP), if we want to use \"onclick\" attribute\n // Though I think that only applies to some browsers (?)\n // Of course it wouldn't have mattered if we didn't use CSP to begin with\n // Anyway, I personally would rather not use \"onclick\" attribute\n let element = event.target\n if (!element) return\n\n // Delegate click events to their A or BUTTON parents\n if (['I'].includes(element.tagName) && ['SPAN'].includes(element.parentNode.tagName)) {\n element = element.parentNode\n }\n if (['SPAN'].includes(element.tagName) && ['A', 'BUTTON'].includes(element.parentNode.tagName)) {\n element = element.parentNode\n }\n\n // Skip elements that have no action data\n if (!element.dataset || !element.dataset.action) return\n\n // Skip disabled elements\n if (element.hasAttribute('disabled')) return\n\n event.stopPropagation() // maybe necessary\n const id = page.getItemID(element)\n const action = element.dataset.action\n\n switch (action) {\n // Uploads\n case 'view-list':\n return page.setUploadsView('list', element)\n case 'view-thumbs':\n return page.setUploadsView('thumbs', element)\n case 'toggle-original-names':\n return page.toggleOriginalNames(element)\n case 'add-to-album':\n return page.addToAlbum(id)\n case 'delete-upload':\n return page.deleteUpload(id)\n case 'add-selected-uploads-to-album':\n return page.addSelectedUploadsToAlbum()\n case 'bulk-delete-uploads':\n return page.bulkDeleteUploads()\n case 'display-preview':\n return page.displayPreview(id)\n // Manage uploads\n case 'upload-filters-help':\n return page.uploadFiltersHelp(element)\n case 'filter-uploads':\n return page.filterUploads(element)\n // Manage your albums\n case 'submit-album':\n return page.submitAlbum(element)\n case 'edit-album':\n return page.editAlbum(id)\n case 'disable-album':\n return page.disableAlbum(id)\n case 'delete-album':\n return page.deleteAlbum(id)\n case 'view-album-uploads':\n return page.viewAlbumUploads(id, element)\n // Manage users\n case 'create-user':\n return page.createUser()\n case 'edit-user':\n return page.editUser(id)\n case 'disable-user':\n return page.disableUser(id)\n case 'delete-user':\n return page.deleteUser(id)\n case 'view-user-uploads':\n return page.viewUserUploads(id, element)\n // Others\n case 'get-new-token':\n return page.getNewToken(element)\n // Uploads & Users\n case 'clear-selection':\n return page.clearSelection()\n case 'select':\n return page.select(element, event)\n case 'select-all':\n return page.selectAll(element)\n case 'page-ellipsis':\n return page.focusJumpToPage(element)\n case 'page-prev':\n case 'page-next':\n case 'page-goto':\n case 'jump-to-page':\n return page.switchPage(action, element)\n }\n}\n\npage.fadeInDom = disableFading => {\n if (page.fadingIn) {\n clearTimeout(page.fadingIn)\n page.dom.classList.remove('fade-in')\n }\n\n if (!disableFading) {\n page.dom.classList.add('fade-in')\n page.fadingIn = setTimeout(() => {\n page.dom.classList.remove('fade-in')\n }, 500)\n }\n}\n\npage.scrollToDom = disableSmooth => {\n page.dom.scrollIntoView({\n behavior: disableSmooth ? 'auto' : 'smooth',\n block: 'start',\n inline: 'nearest'\n })\n}\n\npage.getByView = (view, get) => {\n switch (view) {\n case 'uploads':\n case 'uploadsAll':\n return {\n type: 'uploads',\n func: page.getUploads\n }[get]\n case 'albums':\n case 'albumsAll':\n return {\n type: 'albums',\n func: page.getAlbums\n }[get]\n case 'users':\n return {\n type: 'users',\n func: page.getUsers\n }[get]\n default:\n return null\n }\n}\n\npage.switchPage = (action, element) => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n // eslint-disable-next-line compat/compat\n const params = Object.assign(page.views[page.currentView], {\n trigger: element\n })\n\n const func = page.getByView(page.currentView, 'func')\n\n switch (action) {\n case 'page-prev':\n params.pageNum = page.views[page.currentView].pageNum - 1\n if (params.pageNum < 0) {\n return swal('An error occurred!', 'This is already the first page.', 'error')\n }\n return func(params)\n case 'page-next':\n params.pageNum = page.views[page.currentView].pageNum + 1\n return func(params)\n case 'page-goto':\n params.pageNum = parseInt(element.dataset.goto)\n return func(params)\n case 'jump-to-page': {\n const jumpToPage = document.querySelector(`#${element.dataset.jumpid || 'jumpToPage'}`)\n if (!jumpToPage.checkValidity()) return\n const parsed = parseInt(jumpToPage.value)\n params.pageNum = isNaN(parsed) ? 0 : (parsed - 1)\n if (params.pageNum < 0) params.pageNum = 0\n return func(params)\n }\n }\n}\n\npage.focusJumpToPage = element => {\n const jumpToPage = document.querySelector(`#${element.dataset.jumpid || 'jumpToPage'}`)\n if (!jumpToPage) return\n jumpToPage.focus()\n jumpToPage.select()\n}\n\npage.getUploads = (params = {}) => {\n if (params && params.all && !page.permissions.moderator) {\n return swal('An error occurred!', 'You cannot do this!', 'error')\n }\n\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n page.updateTrigger(params.trigger, 'loading')\n\n if (typeof params.pageNum !== 'number' || params.pageNum < 0) {\n params.pageNum = 0\n }\n\n const url = typeof params.album !== 'undefined'\n ? `api/album/${params.album}/${params.pageNum}`\n : `api/uploads/${params.pageNum}`\n\n const headers = {}\n if (params.all) headers.all = '1'\n if (params.filters) {\n headers.filters = params.filters\n // Send client timezone offset if properly using date: and/or :expiry filters\n // Server will pretend client is on UTC if unset\n if (/(^|\\s)(date|expiry):[\\d\"]/.test(params.filters)) {\n headers.minoffset = new Date().getTimezoneOffset()\n }\n }\n\n axios.get(url, { headers }).then(response => {\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(params.trigger)\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const pages = Math.ceil(response.data.count / 25)\n const files = response.data.files\n if (params.pageNum && (files.length === 0)) {\n page.updateTrigger(params.trigger)\n if (params.autoPage) {\n params.pageNum = pages - 1\n return page.getUploads(params)\n } else {\n return swal('An error occurred!', `There are no more uploads to populate page ${params.pageNum + 1}.`, 'error')\n }\n }\n\n page.currentView = params.all ? 'uploadsAll' : 'uploads'\n page.cache = {}\n\n const albums = response.data.albums\n const users = response.data.users\n const basedomain = response.data.basedomain\n\n if (params.pageNum < 0) params.pageNum = Math.max(0, pages + params.pageNum)\n const pagination = page.paginate(response.data.count, 25, params.pageNum)\n\n const filter = `\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n `\n const extraControls = `\n
\n ${filter}\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n `\n\n const controls = `\n
\n \n \n
\n \n \n \n \n \n ${params.all\n ? ''\n : `\n \n \n \n `}\n \n \n \n \n Bulk delete\n \n
\n
\n `\n\n // Do some string replacements for bottom controls\n const bottomFiltersId = 'bFilters'\n const bottomJumpId = 'bJumpToPage'\n const bottomExtraControls = extraControls\n .replace(/id=\"filters\"/, `id=\"${bottomFiltersId}\"`)\n .replace(/(data-action=\"filter-uploads\")/, `$1 data-filtersid=\"${bottomFiltersId}\"`)\n .replace(/id=\"jumpToPage\"/, `id=\"${bottomJumpId}\"`)\n .replace(/(data-action=\"jump-to-page\")/g, `$1 data-jumpid=\"${bottomJumpId}\"`)\n const bottomPagination = pagination\n .replace(/(data-action=\"page-ellipsis\")/g, `$1 data-jumpid=\"${bottomJumpId}\"`)\n\n // Whether there are any unselected items\n let unselected = false\n\n const showOriginalNames = page.views[page.currentView].originalNames\n const hasExpiryDateColumn = files.some(file => typeof file.expirydate !== 'undefined')\n\n for (let i = 0; i < files.length; i++) {\n // Build full URLs\n files[i].file = `${basedomain || window.location.origin}/${files[i].name}`\n if (files[i].thumb) {\n files[i].thumb = `${basedomain ? `${basedomain}/` : ''}${files[i].thumb}`\n }\n\n // Determine types\n const extname = files[i].extname.toLowerCase()\n if (page.imageExts.includes(extname)) {\n files[i].type = 'picture'\n } else if (page.videoExts.includes(extname)) {\n files[i].type = 'video'\n } else if (page.audioExts.includes(extname)) {\n files[i].type = 'audio'\n } else {\n files[i].type = 'other'\n }\n\n files[i].previewable = files[i].thumb || files[i].type === 'audio'\n\n // Cache bare minimum data for thumbnails viewer\n page.cache[files[i].id] = {\n name: files[i].name,\n original: files[i].original,\n extname: files[i].extname,\n thumb: files[i].thumb,\n file: files[i].file,\n type: files[i].type,\n previewable: files[i].previewable\n }\n\n // Prettify\n files[i].prettyBytes = page.getPrettyBytes(parseInt(files[i].size))\n files[i].prettyDate = page.getPrettyDate(new Date(files[i].timestamp * 1000))\n\n if (hasExpiryDateColumn) {\n files[i].prettyExpiryDate = files[i].expirydate\n ? page.getPrettyDate(new Date(files[i].expirydate * 1000))\n : null\n }\n\n // Update selected status\n files[i].selected = page.selected[page.currentView].includes(files[i].id)\n if (!files[i].selected) unselected = true\n\n // Appendix (display album or user)\n if (params.all) {\n files[i].appendix = files[i].userid\n ? users[files[i].userid] || ''\n : ''\n } else if (typeof params.album === 'undefined') {\n files[i].appendix = files[i].albumid\n ? albums[files[i].albumid] || ''\n : ''\n }\n }\n\n if (page.views[page.currentView].type === 'thumbs') {\n page.dom.innerHTML = `\n ${pagination}\n ${extraControls}\n ${controls}\n
\n
\n ${controls}\n ${bottomExtraControls}\n ${bottomPagination}\n `\n\n const table = document.querySelector('#table')\n\n for (let i = 0; i < files.length; i++) {\n const upload = files[i]\n const div = document.createElement('div')\n div.className = 'image-container column'\n div.dataset.id = upload.id\n\n if (typeof upload.thumb !== 'undefined') {\n div.innerHTML = `\"${upload.name}\"`\n } else {\n div.innerHTML = `

${upload.extname || 'N/A'}

`\n }\n\n div.innerHTML += `\n \n
\n ${upload.previewable\n ? `\n \n \n \n `\n : ''}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n

${upload.name}

\n ${showOriginalNames ? `

${upload.original}

` : ''}\n

${upload.appendix ? `${upload.appendix} – ` : ''}${upload.prettyBytes}

\n ${hasExpiryDateColumn && upload.prettyExpiryDate\n ? `

EXP: ${upload.prettyExpiryDate}

`\n : ''}\n
\n `\n\n table.appendChild(div)\n page.checkboxes = table.querySelectorAll('.checkbox[data-action=\"select\"]')\n }\n } else {\n const allAlbums = params.all && params.filters && params.filters.includes('albumid:')\n page.dom.innerHTML = `\n ${pagination}\n ${extraControls}\n ${controls}\n
\n \n \n \n \n \n ${showOriginalNames ? '' : ''}\n ${typeof params.album === 'undefined' ? `` : ''}\n ${allAlbums ? '' : ''}\n \n ${params.all ? '' : ''}\n \n ${hasExpiryDateColumn ? '' : ''}\n \n \n \n \n \n
File nameOriginal nameUser' : 'albumid\">Album'}AlbumSizeIPUpload dateExpiry date(${response.data.count} total)
\n
\n ${controls}\n ${bottomExtraControls}\n ${bottomPagination}\n `\n\n const table = document.querySelector('#table')\n\n for (let i = 0; i < files.length; i++) {\n const upload = files[i]\n const tr = document.createElement('tr')\n tr.dataset.id = upload.id\n tr.innerHTML = `\n \n ${upload.name}\n ${showOriginalNames ? `${upload.original}` : ''}\n ${typeof params.album === 'undefined' ? `${upload.appendix}` : ''}\n ${allAlbums ? `${upload.albumid ? (albums[upload.albumid] || '') : ''}` : ''}\n ${upload.prettyBytes}\n ${params.all ? `${upload.ip || ''}` : ''}\n ${upload.prettyDate}\n ${hasExpiryDateColumn ? `${upload.prettyExpiryDate || '-'}` : ''}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ${params.all\n ? ''\n : `\n \n \n \n `}\n \n \n \n \n \n \n `\n\n table.appendChild(tr)\n page.checkboxes = table.querySelectorAll('.checkbox[data-action=\"select\"]')\n }\n }\n\n const selectAll = document.querySelector('#selectAll')\n if (selectAll && !unselected && files.length) {\n selectAll.checked = true\n selectAll.title = 'Unselect all'\n }\n\n page.fadeInDom()\n\n const pageNum = files.length ? params.pageNum : 0\n if (params.forceScroll ||\n page.prevPageNums[page.currentView] === null ||\n page.prevPageNums[page.currentView] !== pageNum) {\n const disableSmooth = !params.forceScroll && page.views[page.currentView].type === 'thumbs'\n page.scrollToDom(disableSmooth)\n }\n\n if (page.views[page.currentView].type === 'thumbs') {\n page.lazyLoad.update()\n }\n\n page.updateTrigger(params.trigger, 'active')\n\n if (page.currentView === 'uploads') {\n page.views.uploads.album = params.album\n }\n page.views[page.currentView].filters = params.filters\n page.views[page.currentView].pageNum = page.prevPageNums[page.currentView] = pageNum\n }).catch(error => {\n page.updateTrigger(params.trigger)\n page.onAxiosError(error)\n })\n}\n\npage.setUploadsView = (view, element) => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n if (view === 'list') {\n delete localStorage[lsKeys.viewType[page.currentView]]\n page.views[page.currentView].type = undefined\n } else {\n localStorage[lsKeys.viewType[page.currentView]] = view\n page.views[page.currentView].type = view\n }\n\n // eslint-disable-next-line compat/compat\n page.getUploads(Object.assign(page.views[page.currentView], {\n trigger: element\n }))\n}\n\npage.toggleOriginalNames = element => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n if (page.views[page.currentView].originalNames) {\n delete localStorage[lsKeys.originalNames[page.currentView]]\n page.views[page.currentView].originalNames = false\n } else {\n localStorage[lsKeys.originalNames[page.currentView]] = '1'\n page.views[page.currentView].originalNames = true\n }\n\n // eslint-disable-next-line compat/compat\n page.getUploads(Object.assign(page.views[page.currentView], {\n trigger: element\n }))\n}\n\npage.displayPreview = id => {\n const file = page.cache[id]\n if (!file.previewable) return\n\n const div = document.createElement('div')\n div.innerHTML = `\n
\n

\n

${file.name}
\n
${file.original}
\n

\n ${file.thumb\n ? `

\n \n

`\n : ''}\n
\n `\n\n if (file.file && ['picture', 'video', 'audio'].includes(file.type)) {\n div.innerHTML += `\n
\n \n
\n `\n\n if (file.type === 'picture') {\n div.querySelector('#swalOriginal').addEventListener('click', event => {\n const trigger = event.currentTarget\n if (trigger.classList.contains('is-danger')) return\n\n trigger.classList.add('is-loading')\n const thumb = div.querySelector('#swalThumb')\n\n thumb.src = file.file\n thumb.onload = () => {\n trigger.classList.add('is-hidden')\n document.body.querySelector('.swal-overlay .swal-modal:not(.is-expanded)').classList.add('is-expanded')\n }\n thumb.onerror = event => {\n event.currentTarget.classList.add('is-hidden')\n trigger.className = 'button is-danger is-fullwidth'\n trigger.innerHTML = `\n \n \n \n Unable to load original\n `\n }\n })\n } else {\n const match = file.file.match(/.*\\/(.*)$/)\n if (match || match[1]) {\n div.querySelector('#swalOriginal').setAttribute('href', `v/${match[1]}`)\n div.querySelector('#swalOriginal').setAttribute('target', '_blank')\n }\n }\n }\n\n return swal({\n content: div,\n buttons: false\n }).then(() => {\n // Restore modal size\n document.body.querySelector('.swal-overlay .swal-modal').classList.remove('is-expanded')\n })\n}\n\npage.selectAll = element => {\n for (let i = 0; i < page.checkboxes.length; i++) {\n const id = page.getItemID(page.checkboxes[i])\n if (isNaN(id)) continue\n if (page.checkboxes[i].checked !== element.checked) {\n page.checkboxes[i].checked = element.checked\n if (page.checkboxes[i].checked) {\n page.selected[page.currentView].push(id)\n } else {\n page.selected[page.currentView].splice(page.selected[page.currentView].indexOf(id), 1)\n }\n }\n }\n\n if (page.selected[page.currentView].length) {\n localStorage[lsKeys.selected[page.currentView]] = JSON.stringify(page.selected[page.currentView])\n } else {\n delete localStorage[lsKeys.selected[page.currentView]]\n }\n\n element.title = element.checked ? 'Unselect all' : 'Select all'\n}\n\npage.selectInBetween = (element, lastElement) => {\n const thisIndex = parseInt(element.dataset.index)\n const lastIndex = parseInt(lastElement.dataset.index)\n\n const distance = Math.abs(thisIndex - lastIndex)\n if (distance < 2) return\n\n for (let i = 0; i < page.checkboxes.length; i++) {\n if ((thisIndex > lastIndex && i > lastIndex && i < thisIndex) ||\n (thisIndex < lastIndex && i > thisIndex && i < lastIndex)) {\n // Check or uncheck depending on the state of the initial checkbox\n const checked = page.checkboxes[i].checked = lastElement.checked\n const id = page.getItemID(page.checkboxes[i])\n if (!page.selected[page.currentView].includes(id) && checked) {\n page.selected[page.currentView].push(id)\n } else if (page.selected[page.currentView].includes(id) && !checked) {\n page.selected[page.currentView].splice(page.selected[page.currentView].indexOf(id), 1)\n }\n }\n }\n}\n\npage.select = (element, event) => {\n const id = page.getItemID(element)\n if (isNaN(id)) return\n\n if (event.shiftKey && page.lastSelected) {\n page.selectInBetween(element, page.lastSelected)\n // Check or uncheck depending on the state of the initial checkbox\n element.checked = page.lastSelected.checked\n } else {\n page.lastSelected = element\n }\n\n if (!page.selected[page.currentView].includes(id) && element.checked) {\n page.selected[page.currentView].push(id)\n } else if (page.selected[page.currentView].includes(id) && !element.checked) {\n page.selected[page.currentView].splice(page.selected[page.currentView].indexOf(id), 1)\n }\n\n // Update local storage\n if (page.selected[page.currentView].length) {\n localStorage[lsKeys.selected[page.currentView]] = JSON.stringify(page.selected[page.currentView])\n } else {\n delete localStorage[lsKeys.selected[page.currentView]]\n }\n}\n\npage.clearSelection = () => {\n const selected = page.selected[page.currentView]\n const type = page.getByView(page.currentView, 'type')\n const count = selected.length\n if (!count) return swal('An error occurred!', `You have not selected any ${type}.`, 'error')\n\n const suffix = count === 1 ? type.substring(0, type.length - 1) : type\n return swal({\n title: 'Are you sure?',\n text: `You are going to unselect ${count} ${suffix}.`,\n buttons: true\n }).then(proceed => {\n if (!proceed) return\n\n const checkboxes = page.checkboxes\n for (let i = 0; i < checkboxes.length; i++) {\n if (checkboxes[i].checked) {\n checkboxes[i].checked = false\n }\n }\n\n page.selected[page.currentView] = []\n delete localStorage[lsKeys.selected[page.currentView]]\n\n const selectAll = document.querySelector('#selectAll')\n if (selectAll) selectAll.checked = false\n\n return swal('Cleared selection!', `Unselected ${count} ${suffix}.`, 'success')\n })\n}\n\npage.uploadFiltersHelp = element => {\n const all = Boolean(element.dataset.all)\n const content = document.createElement('div')\n content.style = 'text-align: left'\n content.innerHTML = `${all\n ? `There are 2 filter keys, namely user (username) and ip.\n These keys can be specified more than once.\n For usernames with whitespaces, wrap them with double quotes (\").\n Special cases such as uploads by non-registered users or have no IPs respectively, use user:- or ip:-.\n\n To exclude certain users/ips while still listing every other uploads, add negation sign (-) before the keys.\n Negation sign can also be used to exclude the special cases mentioned above (i.e. -user:- or -ip:-).\n\n If you know the ID of a user's album, you can list its uploads with albumid key.\n Negation sign works for this key as well.`\n : `There is only 1 filter key, namely albumid.\n This key can be specified more than once.\n Special case such as uploads with no albums, use albumid:-.\n\n To exclude certain albums while still listing every other uploads, add negation sign (-) before the keys.\n Negation sign can also be used to exclude the special case mentioned above (i.e. -albumid:-).`}\n\n There are 2 range keys: date (upload date) and expiry (expiry date).\n Their format is: \"YYYY/MM/DD HH:MM:SS-YYYY/MM/DD HH:MM:SS\" (\"from\" date and \"to\" date respectively).\n You may specify only one of the dates.\n If \"to\" date is missing, 'now' will be used. If \"from\" date is missing, 'beginning of time' will be used.\n If any of the subsequent date or time units are not specified, their first value will be used (e.g. January for month, 1 for day, and so on).\n If only time is specified, today's date will be used.\n If you do not need to specify both date and time, you may omit the double quotes.\n In conclusion, the following examples are all valid: date:\"2020/01/01 01:23-2018/01/01 06\", expiry:-2020/05, date:12:34:56.\n These keys can only be specified once each.\n\n Timezone? Feel free to query the dates with your own timezone.\n API requests to the filter endpoint will attach your browser's timezone offset, so the server will automatically calculate timezone differences.\n\n Matches can also be sorted with sort keys.\n Their formats are: sort:columnName[:d[escending]], where :d[escending] is an optional tag to set the direction to descending.\n This key must be used with internal column names used in the database (id, ${all ? 'userid' : 'albumid'}, and so on),\n but there are 2 shortcuts available: date for timestamp column and expiry for expirydate column.\n This key can also be specified more than once, where their order will decide the sorting steps.\n\n Finally, there are type-is keys to refine by types.\n You can use is:image, is:video, and is:audio to list images, videos, audios respectively.\n This will only use image, video and audio extensions that are whitelisted internally in the safe.\n For images and videos specifically, they will be the ones whose thumbnails can be generated by the safe.\n Negation sign works for this key as well.\n Mixing inclusion and exclusion is not allowed (i.e. is:image -is:video, since the second key is redundant).\n\n Any leftover keywords which do not use keys (non-keyed keywords) will be matched against the matches' file names.\n Excluding certain keywords is also supported by adding negation sign before the keywords.\n\n Internal steps:\n ${all\n ? `- Query uploads passing ALL exclusion filter keys OR matching ANY filter keys, if any.\n - Refine matches`\n : '- Filter uploads'} using date key, if any.\n - Refine matches using expiry key, if any.\n - Refine matches using type-is keys, if any.\n - Refine matches using ANY non-keyed keywords, if any.\n - Filter matches using ALL exclusion non-keyed keywords, if any.\n - Sort matches using sorting keys, if any.\n\n Examples:\n ${all\n ? `- Uploads from users named \"demo\" AND/OR \"John Doe\" AND/OR non-registered users:\n user:demo user:\"John Doe\" user:-\n - ALL uploads, but NOT the ones from user named \"demo\" AND \"John Doe\":\n -user:demo -user:\"John Doe\"\n - Uploads from IP \"127.0.0.1\" AND which file names match \"*.rar\" OR \"*.zip\":\n ip:127.0.0.1 *.rar *.zip\n `\n : ''}- Uploads without albums:\n albumid:-\n - ALL uploads, but NOT the ones from album with ID 69:\n -albumid:69\n - Uploads uploaded since \"1 June 2019 00:00:00\":\n date:2019/06\n - Uploads uploaded between \"7 April 2020 12:00:00\" and \"7 April 2020 23:59:59\":\n date:\"2020/04/07 12-2020/04/07 23:59:59\"\n - Uploads uploaded before \"5 February 2020 00:00:00\":\n date:-2020/02/05\n - Uploads which file names match \"*.gz\" but NOT \"*.tar.gz\":\n *.gz -*.tar.gz\n - Sort matches by \"size\" column in ascending and descending order respectively:\n ${all ? 'user:\"John Doe\"' : '*.txt'} sort:size\n *.mp4 ${all ? 'user:- ' : ''}sort:size:d\n ${!page.permissions.moderator\n ? 'Notice: Regular users may face some limitations in the amount of keys that can be used at a time.'\n : ''}\n Friendly reminder: This window can be scrolled up!\n `.trim().replace(/^\\s*/g, '').replace(/\\n/g, '
')\n\n swal({ content }).then(() => {\n // Restore modal size\n document.body.querySelector('.swal-overlay .swal-modal').classList.remove('is-expanded')\n })\n\n // Expand modal size\n document.body.querySelector('.swal-overlay .swal-modal:not(.is-expanded)').classList.add('is-expanded')\n}\n\npage.filterUploads = element => {\n const filters = document.querySelector(`#${element.dataset.filtersid || 'filters'}`).value\n .trim()\n .replace(/\\t/g, ' ')\n .replace(/(^|\\s)((albumid|ip|user|date|expiry|is|sort|orderby):)\\s+/g, '$2')\n // eslint-disable-next-line compat/compat\n page.getUploads(Object.assign(page.views[page.currentView], {\n filters,\n pageNum: 0,\n trigger: element\n }))\n}\n\npage.viewUserUploads = (id, element) => {\n const user = page.cache[id]\n if (!user) return\n element.classList.add('is-loading')\n // Wrap username in quotes if it contains whitespaces\n const username = user.username.includes(' ')\n ? `\"${user.username}\"`\n : user.username\n page.getUploads({\n all: true,\n filters: `user:${username}`,\n trigger: document.querySelector('#itemManageUploads')\n })\n}\n\npage.viewAlbumUploads = (id, element) => {\n if (!page.cache[id]) return\n element.classList.add('is-loading')\n // eslint-disable-next-line compat/compat\n const all = page.currentView === 'albumsAll' && page.permissions.moderator\n page.getUploads({\n all,\n filters: `albumid:${id}`,\n trigger: all\n ? document.querySelector('#itemManageUploads')\n : document.querySelector('#itemUploads')\n })\n}\n\npage.deleteUpload = id => {\n page.postBulkDeleteUploads({\n all: page.currentView === 'uploadsAll',\n field: 'id',\n values: [id],\n cb (failed) {\n // Remove from remembered checkboxes if necessary\n if (!failed.length && page.selected[page.currentView].includes(id)) {\n page.selected[page.currentView].splice(page.selected[page.currentView].indexOf(id), 1)\n }\n\n // Update local storage\n if (page.selected[page.currentView].length) {\n localStorage[lsKeys.selected[page.currentView]] = JSON.stringify(page.selected[page.currentView])\n } else {\n delete localStorage[lsKeys.selected[page.currentView]]\n }\n\n // Reload upload list\n // eslint-disable-next-line compat/compat\n page.getUploads(Object.assign(page.views[page.currentView], {\n autoPage: true\n }))\n }\n })\n}\n\npage.bulkDeleteUploads = () => {\n const count = page.selected[page.currentView].length\n if (!count) return swal('An error occurred!', 'You have not selected any uploads.', 'error')\n\n page.postBulkDeleteUploads({\n all: page.currentView === 'uploadsAll',\n field: 'id',\n values: page.selected[page.currentView],\n cb (failed) {\n // Update state of checkboxes\n if (failed.length) {\n page.selected[page.currentView] = page.selected[page.currentView]\n .filter(id => failed.includes(id))\n } else {\n page.selected[page.currentView] = []\n }\n\n // Update local storage\n if (page.selected[page.currentView].length) {\n localStorage[lsKeys.selected[page.currentView]] = JSON.stringify(page.selected[page.currentView])\n } else {\n delete localStorage[lsKeys.selected[page.currentView]]\n }\n\n // Reload uploads list\n // eslint-disable-next-line compat/compat\n page.getUploads(Object.assign(page.views[page.currentView], {\n autoPage: true\n }))\n }\n })\n}\n\npage.deleteUploadsByNames = (params = {}) => {\n let appendix = ''\n if (page.permissions.moderator) {\n appendix = '
Hint: You can use this feature to delete uploads by other users.'\n }\n\n page.dom.innerHTML = `\n
\n
\n \n
\n \n
\n

Separate each entry with a new line.${appendix}

\n
\n
\n
\n \n
\n
\n
\n `\n page.fadeInDom()\n page.scrollToDom()\n page.updateTrigger(params.trigger, 'active')\n\n document.querySelector('#submitBulkDelete').addEventListener('click', () => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n const textArea = document.querySelector('#bulkDeleteNames')\n\n // Clean up\n const seen = {}\n const names = textArea.value\n .split(/\\r?\\n/)\n .map(name => {\n const trimmed = name.trim()\n return /^[^\\s]+$/.test(trimmed)\n ? trimmed\n : ''\n })\n .filter(name => {\n // Filter out invalid and duplicate names\n return (!name || Object.prototype.hasOwnProperty.call(seen, name))\n ? false\n : (seen[name] = true)\n })\n\n // Update textarea with cleaned names\n textArea.value = names.join('\\n')\n\n if (!names.length) {\n return swal('An error occurred!', 'You have not entered any upload names.', 'error')\n }\n\n page.postBulkDeleteUploads({\n all: true,\n field: 'name',\n values: names,\n cb (failed) {\n textArea.value = failed.join('\\n')\n }\n })\n })\n}\n\npage.postBulkDeleteUploads = (params = {}) => {\n const count = params.values.length\n\n const objective = `${params.values.length} upload${count === 1 ? '' : 's'}`\n const boldObjective = objective.replace(/^(\\d*)(.*)/, '$1$2')\n let text = `

You won't be able to recover ${boldObjective}!

`\n\n if (params.all) {\n const obj1 = count === 1 ? 'an upload' : 'some uploads'\n const obj2 = count === 1 ? 'another user' : 'other users'\n text += `\\n

Warning: You may be nuking ${obj1} by ${obj2}!

`\n }\n\n const content = document.createElement('div')\n content.innerHTML = text\n\n swal({\n title: 'Are you sure?',\n content,\n icon: 'warning',\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: `Yes, nuke ${params.values.length === 1 ? 'it' : 'them'}!`,\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/upload/bulkdelete', {\n field: params.field,\n values: params.values\n }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const failed = Array.isArray(response.data.failed) ? response.data.failed : []\n if (failed.length === params.values.length) {\n swal('An error occurred!', `Unable to delete any of the ${objective}.`, 'error')\n } else if (failed.length && failed.length < params.values.length) {\n swal('Warning!', `From ${objective}, unable to delete ${failed.length} of them.`, 'warning')\n } else {\n swal('Deleted!', `${objective} ${count === 1 ? 'has' : 'have'} been deleted.`, 'success', {\n buttons: false,\n timer: 1500\n })\n }\n\n if (typeof params.cb === 'function') params.cb(failed)\n }).catch(page.onAxiosError)\n })\n}\n\npage.addSelectedUploadsToAlbum = () => {\n if (page.currentView !== 'uploads') return\n\n const count = page.selected[page.currentView].length\n if (!count) return swal('An error occurred!', 'You have not selected any uploads.', 'error')\n\n page.addUploadsToAlbum(page.selected[page.currentView], failed => {\n if (!failed) return\n if (failed.length) {\n page.selected[page.currentView] = page.selected[page.currentView]\n .filter(id => failed.includes(id))\n } else {\n page.selected[page.currentView] = []\n }\n\n localStorage[lsKeys.selected[page.currentView]] = JSON.stringify(page.selected[page.currentView])\n page.getUploads(page.views[page.currentView])\n })\n}\n\npage.addToAlbum = id => {\n page.addUploadsToAlbum([id], failed => {\n if (!failed) return\n page.getUploads(page.views[page.currentView])\n })\n}\n\npage.addUploadsToAlbum = (ids, callback) => {\n const count = ids.length\n\n const content = document.createElement('div')\n content.innerHTML = `\n
\n

You are about to add ${count} upload${count === 1 ? '' : 's'} to an album.

\n

If an upload is already in an album, it will be moved.

\n
\n
\n
\n
\n \n
\n
\n
\n `\n\n swal({\n icon: 'warning',\n content,\n buttons: {\n cancel: true,\n confirm: {\n text: 'OK',\n closeModal: false\n }\n }\n }).then(choose => {\n if (!choose) return\n\n const albumid = parseInt(document.querySelector('#swalAlbum').value)\n if (isNaN(albumid)) return swal('An error occurred!', 'You did not choose an album.', 'error')\n\n axios.post('api/albums/addfiles', {\n ids,\n albumid\n }).then(add => {\n if (!add) return\n\n if (add.data.success === false) {\n if (add.data.description === 'No token provided') {\n page.verifyToken(page.token)\n } else {\n swal('An error occurred!', add.data.description, 'error')\n }\n return\n }\n\n let added = ids.length\n if (add.data.failed && add.data.failed.length) {\n added -= add.data.failed.length\n }\n\n const suffix = `upload${ids.length === 1 ? '' : 's'}`\n if (!added) return swal('An error occurred!', `Could not add the ${suffix} to the album.`, 'error')\n\n swal('Woohoo!', `Successfully ${albumid < 0 ? 'removed' : 'added'} ${added} ${suffix} ${albumid < 0 ? 'from' : 'to'} the album.`, 'success', {\n buttons: false,\n timer: 1500\n })\n callback(add.data.failed)\n }).catch(page.onAxiosError)\n })\n\n // Get albums list then update content of swal\n axios.get('api/albums', { headers: { simple: '1' } }).then(list => {\n if (list.data.success === false) {\n if (list.data.description === 'No token provided') {\n page.verifyToken(page.token)\n } else {\n swal('An error occurred!', list.data.description, 'error')\n }\n return\n }\n\n // If the prompt was replaced, the container would be missing\n const select = document.querySelector('#swalAlbum')\n if (!select) return\n\n select.innerHTML += list.data.albums\n .map(album => {\n return ``\n })\n .join('\\n')\n\n select.getElementsByTagName('option')[1].innerHTML = 'Choose an album'\n select.removeAttribute('disabled')\n }).catch(page.onAxiosError)\n}\n\npage.getAlbums = (params = {}) => {\n if (params && params.all && !page.permissions.moderator) {\n return swal('An error occurred!', 'You cannot do this!', 'error')\n }\n\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n page.updateTrigger(params.trigger, 'loading')\n\n if (typeof params.pageNum !== 'number') params.pageNum = 0\n\n const headers = {}\n if (params.all) headers.all = '1'\n\n const url = `api/albums/${params.pageNum}`\n axios.get(url, { headers }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(params.trigger)\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const pages = Math.ceil(response.data.count / 25)\n const albums = response.data.albums\n if (params.pageNum && (albums.length === 0)) {\n page.updateTrigger(params.trigger)\n if (params.autoPage) {\n params.pageNum = pages - 1\n return page.getAlbums(params)\n } else {\n return swal('An error occurred!', `There are no more albums to populate page ${params.pageNum + 1}.`, 'error')\n }\n }\n\n page.currentView = params.all ? 'albumsAll' : 'albums'\n page.cache = {}\n\n const users = response.data.users\n const homeDomain = response.data.homeDomain || window.location.origin\n\n if (params.pageNum < 0) params.pageNum = Math.max(0, pages + params.pageNum)\n const pagination = page.paginate(response.data.count, 25, params.pageNum)\n\n const filter = `\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n `\n const extraControls = `\n
\n ${filter}\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n `\n\n const controls = `\n
\n
\n \n
\n `\n\n // Do some string replacements for bottom controls\n const bottomFiltersId = 'bFilters'\n const bottomJumpId = 'bJumpToPage'\n const bottomExtraControls = extraControls\n .replace(/id=\"filters\"/, `id=\"${bottomFiltersId}\"`)\n .replace(/(data-action=\"filter-uploads\")/, `$1 data-filtersid=\"${bottomFiltersId}\"`)\n .replace(/id=\"jumpToPage\"/, `id=\"${bottomJumpId}\"`)\n .replace(/(data-action=\"jump-to-page\")/g, `$1 data-jumpid=\"${bottomJumpId}\"`)\n const bottomPagination = pagination\n .replace(/(data-action=\"page-ellipsis\")/g, `$1 data-jumpid=\"${bottomJumpId}\"`)\n\n // Whether there are any unselected items\n let unselected = false\n\n const createNewAlbum = `\n

Create new album

\n
\n
\n
\n \n
\n

Max length is ${page.albumTitleMaxLength} characters.

\n
\n
\n
\n \n
\n

Max length is ${page.albumDescMaxLength} characters.

\n
\n
\n
\n \n
\n
\n
\n
\n `\n\n page.dom.innerHTML = `\n ${!params.all ? createNewAlbum : ''}\n ${pagination}\n ${extraControls}\n ${controls}\n
\n \n \n \n \n \n \n ${params.all ? '' : ''}\n \n \n \n \n \n \n \n \n \n \n \n
IDNameUserUploadsSizeCreated atZIP sizeZIP generated atPublic link(${response.data.count} total)
\n
\n ${controls}\n ${bottomExtraControls}\n ${bottomPagination}\n `\n\n const table = document.querySelector('#table')\n\n for (let i = 0; i < albums.length; i++) {\n const album = albums[i]\n const urlPath = '/a/'\n const albumUrlText = urlPath + album.identifier\n const albumUrl = homeDomain + albumUrlText\n\n const selected = page.selected[page.currentView].includes(album.id)\n if (!selected) unselected = true\n\n // Prettify\n album.hasZip = album.zipSize !== null\n album.prettyDate = page.getPrettyDate(new Date(album.timestamp * 1000))\n album.prettyZipDate = album.hasZip ? page.getPrettyDate(new Date(album.zipGeneratedAt * 1000)) : null\n album.isZipExpired = album.hasZip && !(album.zipGeneratedAt > album.editedAt)\n\n // Server-side explicitly expect this value to consider an album as disabled\n const enabled = album.enabled !== 0\n page.cache[album.id] = {\n name: album.name,\n download: album.download,\n public: album.public,\n description: album.description,\n descriptionHtml: album.descriptionHtml,\n enabled,\n homeDomain,\n urlPath,\n identifier: album.identifier\n }\n\n const tr = document.createElement('tr')\n tr.dataset.id = album.id\n tr.innerHTML = `\n \n ${album.id}\n ${album.name}\n ${params.all ? `${album.userid ? (users[album.userid] || '') : ''}` : ''}\n ${album.uploads}\n ${page.getPrettyBytes(album.size)}\n ${album.prettyDate}\n ${album.hasZip ? page.getPrettyBytes(album.zipSize) : '-'}\n ${album.hasZip ? album.prettyZipDate : '-'}\n ${albumUrlText}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ${params.all\n ? `\n \n \n \n `\n : ''}\n \n `\n\n table.appendChild(tr)\n page.checkboxes = table.querySelectorAll('.checkbox[data-action=\"select\"]')\n }\n\n const selectAll = document.querySelector('#selectAll')\n if (selectAll && !unselected) {\n selectAll.checked = true\n selectAll.title = 'Unselect all'\n }\n\n page.fadeInDom()\n\n const pageNum = albums.length ? params.pageNum : 0\n if (params.forceScroll ||\n page.prevPageNums[page.currentView] === null ||\n page.prevPageNums[page.currentView] !== pageNum) {\n page.scrollToDom()\n }\n\n page.updateTrigger(params.trigger, 'active')\n\n if (page.currentView === 'albumsAll') {\n page.views[page.currentView].filters = params.filters\n }\n page.views[page.currentView].pageNum = page.prevPageNums[page.currentView] = pageNum\n }).catch(error => {\n page.updateTrigger(params.trigger)\n page.onAxiosError(error)\n })\n}\n\npage.editAlbum = id => {\n const album = page.cache[id]\n if (!album) return\n\n const albumUrlText = album.urlPath + album.identifier\n const albumUrl = album.homeDomain + albumUrlText\n\n const div = document.createElement('div')\n div.innerHTML = `\n
\n
\n \n
\n

Max length is ${page.albumTitleMaxLength} characters.

\n
\n
\n
\n \n
\n

Markdown supported. Max length is ${page.albumDescMaxLength} characters.

\n
\n ${album.descriptionHtml\n ? `
\n
\n ${album.descriptionHtml}\n
\n

Save changes then re-open this Edit prompt to refresh this preview.

\n
`\n : ''}\n ${page.currentView === 'albumsAll' && page.permissions.moderator\n ? `
\n
\n \n
\n
`\n : ''}\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n

Current public link: ${albumUrlText}

\n
\n `\n\n swal({\n title: 'Edit album',\n icon: 'info',\n content: div,\n buttons: {\n cancel: true,\n confirm: {\n closeModal: false\n }\n }\n }).then(value => {\n if (!value) return\n\n const post = {\n id,\n name: document.querySelector('#swalName').value.trim(),\n description: document.querySelector('#swalDescription').value.trim(),\n download: document.querySelector('#swalDownload').checked,\n public: document.querySelector('#swalPublic').checked,\n requestLink: document.querySelector('#swalRequestLink').checked\n }\n\n if (page.currentView === 'albumsAll' && page.permissions.moderator) {\n post.enabled = document.querySelector('#swalEnabled').checked\n }\n\n axios.post('api/albums/edit', post).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n if (response.data.identifier) {\n swal('Success!', `The album's new identifier is: ${response.data.identifier}.`, 'success')\n } else if (response.data.name !== album.name) {\n swal('Success!', `The album was renamed to: ${response.data.name}.`, 'success')\n } else {\n swal('Success!', 'The album was edited.', 'success', {\n buttons: false,\n timer: 1500\n })\n }\n\n page.getAlbumsSidebar()\n // Reload albums list\n // eslint-disable-next-line compat/compat\n page.getAlbums(Object.assign(page.views[page.currentView], {\n autoPage: true\n }))\n }).catch(page.onAxiosError)\n })\n}\n\npage.disableAlbum = id => {\n swal({\n title: 'Are you sure?',\n text: 'This won\\'t delete the uploads associated with the album!',\n icon: 'warning',\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: 'Yes, disable it!',\n closeModal: false\n },\n purge: {\n text: 'Umm, delete the uploads, please?',\n value: 'purge',\n className: 'swal-button--danger',\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/albums/disable', {\n id,\n purge: proceed === 'purge'\n }).then(response => {\n if (response.data.success === false) {\n const failed = Array.isArray(response.data.failed)\n ? response.data.failed\n : []\n\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else if (failed.length) {\n return swal('An error occurred!', `Unable to delete ${failed.length} of the album's upload${failed.length === 1 ? '' : 's'}.`, 'error')\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n swal('Disabled!', 'The album has been disabled.', 'success', {\n buttons: false,\n timer: 1500\n })\n\n page.getAlbumsSidebar()\n // Reload albums list\n // eslint-disable-next-line compat/compat\n page.getAlbums(Object.assign(page.views[page.currentView], {\n autoPage: true\n }))\n }).catch(page.onAxiosError)\n })\n}\n\npage.deleteAlbum = id => {\n swal({\n title: 'Are you sure?',\n text: 'You won\\'t be able to recover this album!\\n' +\n 'This also won\\'t delete the uploads associated with the album!',\n icon: 'warning',\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: 'Yes, delete it!',\n closeModal: false\n },\n purge: {\n text: 'Umm, delete the uploads, please?',\n value: 'purge',\n className: 'swal-button--danger',\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/albums/delete', {\n id,\n purge: proceed === 'purge'\n }).then(response => {\n if (response.data.success === false) {\n const failed = Array.isArray(response.data.failed)\n ? response.data.failed\n : []\n\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else if (failed.length) {\n return swal('An error occurred!', `Unable to delete ${failed.length} of the album's upload${failed.length === 1 ? '' : 's'}.`, 'error')\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n swal('Disabled!', 'The album has been deleted.', 'success', {\n buttons: false,\n timer: 1500\n })\n\n page.getAlbumsSidebar()\n // Reload albums list\n // eslint-disable-next-line compat/compat\n page.getAlbums(Object.assign(page.views[page.currentView], {\n autoPage: true\n }))\n }).catch(page.onAxiosError)\n })\n}\n\npage.submitAlbum = element => {\n page.updateTrigger(element, 'loading')\n\n axios.post('api/albums', {\n name: document.querySelector('#albumName').value.trim(),\n description: document.querySelector('#albumDescription').value.trim()\n }).then(response => {\n if (!response) return\n\n page.updateTrigger(element)\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n swal('Woohoo!', 'Album was created successfully.', 'success', {\n buttons: false,\n timer: 1500\n })\n page.getAlbumsSidebar()\n page.getAlbums({\n pageNum: -1\n })\n }).catch(error => {\n page.updateTrigger(element)\n page.onAxiosError(error)\n })\n}\n\npage.getAlbumsSidebar = () => {\n axios.get('api/albums', { headers: { simple: '1' } }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const albums = response.data.albums\n const count = response.data.count\n const albumsSidebar = document.querySelector('#albumsSidebar')\n\n // Clear albums sidebar if necessary\n const oldAlbums = albumsSidebar.querySelectorAll('li > a')\n const diffCount = oldAlbums.length !== count\n if (oldAlbums.length) {\n for (let i = 0; i < oldAlbums.length; i++) {\n page.menus.splice(page.menus.indexOf(oldAlbums[i]), 1)\n }\n albumsSidebar.innerHTML = ''\n }\n\n page.albumsSidebarCollapse.innerText = page.albumsSidebarCollapsible.collapsed()\n ? page.albumsSidebarCollapse.dataset.textExpand\n : page.albumsSidebarCollapse.dataset.textCollapse\n\n if (!albums || !albums.length) {\n page.albumsSidebarCollapsible.collapse()\n page.albumsSidebarCollapse.setAttribute('disabled', 'disabled')\n return\n }\n\n for (let i = 0; i < albums.length; i++) {\n const album = albums[i]\n const li = document.createElement('li')\n const a = document.createElement('a')\n a.id = album.id\n a.className = 'is-relative'\n a.innerHTML = album.name\n\n a.addEventListener('click', event => {\n page.getUploads({\n album: parseInt(event.currentTarget.id),\n trigger: event.currentTarget\n })\n })\n page.menus.push(a)\n\n li.appendChild(a)\n albumsSidebar.appendChild(li)\n }\n\n page.albumsSidebarCollapse.removeAttribute('disabled')\n if (!page.albumsSidebarCollapsible.collapsed() && diffCount) {\n // Since it's not possible to refresh collapsible's height with bulmaCollapsible APIs,\n // forcefully collapse albums sidebar if albums count is different with the previous iteration.\n page.albumsSidebarCollapsible.collapse()\n }\n }).catch(page.onAxiosError)\n}\n\npage.changeToken = (params = {}) => {\n page.dom.innerHTML = `\n
\n \n
\n
\n \n
\n
\n
\n \n `\n page.fadeInDom()\n page.scrollToDom()\n page.updateTrigger(params.trigger, 'active')\n\n document.querySelector('#getNewToken').addEventListener('click', event => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n const trigger = event.currentTarget\n page.updateTrigger(trigger, 'loading')\n axios.post('api/tokens/change').then(response => {\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(trigger)\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n page.updateTrigger(trigger)\n swal({\n title: 'Woohoo!',\n text: 'Your token was successfully changed.',\n icon: 'success',\n buttons: false,\n timer: 1500\n }).then(() => {\n axios.defaults.headers.common.token = response.data.token\n localStorage[lsKeys.token] = response.data.token\n page.token = response.data.token\n page.changeToken()\n })\n }).catch(error => {\n page.updateTrigger(trigger)\n page.onAxiosError(error)\n })\n })\n}\n\npage.changePassword = (params = {}) => {\n page.dom.innerHTML = `\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n
\n
\n `\n page.fadeInDom()\n page.scrollToDom()\n page.updateTrigger(params.trigger, 'active')\n\n document.querySelector('#sendChangePassword').addEventListener('click', event => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n if (!page.dom.querySelector('form').checkValidity()) return\n\n if (document.querySelector('#password').value === document.querySelector('#passwordConfirm').value) {\n page.sendNewPassword(document.querySelector('#password').value, event.currentTarget)\n } else {\n swal({\n title: 'Password mismatch!',\n text: 'Your passwords do not match, please try again.',\n icon: 'error'\n })\n }\n })\n}\n\npage.sendNewPassword = (pass, element) => {\n page.updateTrigger(element, 'loading')\n\n axios.post('api/password/change', { password: pass }).then(response => {\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(element)\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n page.updateTrigger(element)\n swal({\n title: 'Woohoo!',\n text: 'Your password was successfully changed.',\n icon: 'success',\n buttons: false,\n timer: 1500\n }).then(() => {\n page.changePassword()\n })\n }).catch(error => {\n page.updateTrigger(element)\n page.onAxiosError(error)\n })\n}\n\npage.getUsers = (params = {}) => {\n if (!page.permissions.admin) return swal('An error occurred!', 'You cannot do this!', 'error')\n\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n page.updateTrigger(params.trigger, 'loading')\n\n if (typeof params.pageNum !== 'number') params.pageNum = 0\n\n const url = `api/users/${params.pageNum}`\n axios.get(url).then(response => {\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(params.trigger)\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const pages = Math.ceil(response.data.count / 25)\n const users = response.data.users\n if (params.pageNum && (users.length === 0)) {\n page.updateTrigger(params.trigger)\n if (params.autoPage) {\n params.pageNum = pages - 1\n return page.getUsers(params)\n } else {\n return swal('An error occurred!', `There are no more users to populate page ${params.pageNum + 1}.`, 'error')\n }\n }\n\n page.currentView = 'users'\n page.cache = {}\n\n if (params.pageNum < 0) params.pageNum = Math.max(0, pages + params.pageNum)\n const pagination = page.paginate(response.data.count, 25, params.pageNum)\n\n const filter = `\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n `\n const extraControls = `\n
\n ${filter}\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n `\n\n const controls = `\n \n `\n\n // Do some string replacements for bottom controls\n const bottomFiltersId = 'bFilters'\n const bottomJumpId = 'bJumpToPage'\n const bottomExtraControls = extraControls\n .replace(/id=\"filters\"/, `id=\"${bottomFiltersId}\"`)\n .replace(/(data-action=\"filter-uploads\")/, `$1 data-filtersid=\"${bottomFiltersId}\"`)\n .replace(/id=\"jumpToPage\"/, `id=\"${bottomJumpId}\"`)\n .replace(/(data-action=\"jump-to-page\")/g, `$1 data-jumpid=\"${bottomJumpId}\"`)\n const bottomPagination = pagination\n .replace(/(data-action=\"page-ellipsis\")/g, `$1 data-jumpid=\"${bottomJumpId}\"`)\n\n // Whether there are any unselected items\n let unselected = false\n\n page.dom.innerHTML = `\n ${pagination}\n ${extraControls}\n ${controls}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
UsernameUploadsUsageGroupRegistration dateLast token update(${response.data.count} total)
\n
\n ${controls}\n ${bottomExtraControls}\n ${bottomPagination}\n `\n\n const table = document.querySelector('#table')\n\n for (let i = 0; i < users.length; i++) {\n const user = users[i]\n const selected = page.selected[page.currentView].includes(user.id)\n if (!selected) unselected = true\n\n let displayGroup = null\n const groups = Object.keys(user.groups)\n for (let i = 0; i < groups.length; i++) {\n if (!user.groups[groups[i]]) break\n displayGroup = groups[i]\n }\n\n // Server-side explicitly expects either of these two values to consider a user as disabled\n const enabled = user.enabled !== false && user.enabled !== 0\n page.cache[user.id] = {\n username: user.username,\n groups: user.groups,\n enabled,\n displayGroup\n }\n\n const prettyDate = user.registration\n ? page.getPrettyDate(new Date(user.registration * 1000))\n : '-'\n const prettyTokenUpdate = user.timestamp\n ? page.getPrettyDate(new Date(user.timestamp * 1000))\n : '-'\n\n const tr = document.createElement('tr')\n tr.dataset.id = user.id\n tr.innerHTML = `\n \n ${user.username}\n ${user.uploads}\n ${page.getPrettyBytes(user.usage)}\n ${displayGroup}\n ${prettyDate}\n ${prettyTokenUpdate}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `\n\n table.appendChild(tr)\n page.checkboxes = table.querySelectorAll('.checkbox[data-action=\"select\"]')\n }\n\n const selectAll = document.querySelector('#selectAll')\n if (selectAll && !unselected) {\n selectAll.checked = true\n selectAll.title = 'Unselect all'\n }\n\n page.fadeInDom()\n\n const pageNum = users.length ? params.pageNum : 0\n if (params.forceScroll ||\n page.prevPageNums[page.currentView] === null ||\n page.prevPageNums[page.currentView] !== pageNum) {\n page.scrollToDom()\n }\n\n page.updateTrigger(params.trigger, 'active')\n\n page.views[page.currentView].pageNum = page.prevPageNums[page.currentView] = pageNum\n }).catch(error => {\n page.updateTrigger(params.trigger)\n page.onAxiosError(error)\n })\n}\n\npage.createUser = () => {\n const groupOptions = Object.keys(page.permissions).map((g, i, a) => {\n const disabled = !(a[i + 1] && page.permissions[a[i + 1]])\n return ``\n }).join('\\n')\n\n const div = document.createElement('div')\n div.innerHTML = `\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n `\n\n swal({\n title: 'Create new user',\n icon: 'info',\n content: div,\n buttons: {\n cancel: true,\n confirm: {\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/users/create', {\n username: document.querySelector('#swalUsername').value,\n password: document.querySelector('#swalPassword').value,\n group: document.querySelector('#swalGroup').value\n }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const div = document.createElement('div')\n div.innerHTML = `\n

Username: ${response.data.username}

\n

Password: ${response.data.password}

\n

User group: ${response.data.group}

\n `\n swal({\n title: 'Created a new user!',\n icon: 'success',\n content: div\n })\n\n // Load last page of users list\n // eslint-disable-next-line compat/compat\n page.getUsers(Object.assign(page.views.users, {\n pageNum: -1\n }))\n }).catch(page.onAxiosError)\n })\n}\n\npage.editUser = id => {\n const user = page.cache[id]\n if (!user) return\n\n let isHigher = false\n const groupOptions = Object.keys(page.permissions).map((g, i, a) => {\n const selected = g === user.displayGroup\n if (selected) {\n isHigher = typeof a[i + 1] !== 'undefined' && page.permissions[a[i + 1]]\n }\n const disabled = !(a[i + 1] && page.permissions[a[i + 1]])\n return ``\n }).join('\\n')\n\n const isDisabledHelper = isHigher ? '' : ' disabled'\n const div = document.createElement('div')\n div.innerHTML = `\n
\n

User ID: ${id}

\n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n ${isHigher\n ? ''\n : `
\n You cannot modify user in the same or higher group as you.\n
`\n }\n `\n\n swal({\n title: 'Edit user',\n icon: 'info',\n content: div,\n buttons: {\n cancel: true,\n confirm: {\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/users/edit', {\n id,\n username: document.querySelector('#swalUsername').value,\n group: document.querySelector('#swalGroup').value,\n enabled: document.querySelector('#swalEnabled').checked,\n resetPassword: document.querySelector('#swalResetPassword').checked\n }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n let autoClose = true\n const div = document.createElement('div')\n\n let displayName = user.username\n if (response.data.update.username !== user.username) {\n div.innerHTML += `

${user.username} was renamed into: ${response.data.update.username}.

`\n autoClose = false\n displayName = response.data.update.username\n }\n\n if (response.data.update.password) {\n div.innerHTML += `\n

${displayName}'s new password is:

\n

${response.data.update.password}

\n `\n autoClose = false\n }\n\n if (response.data.update.enabled !== user.enabled) {\n div.innerHTML += `

${displayName} has been ${response.data.update.enabled ? 'enabled' : 'disabled'}!

`\n }\n\n if (!div.innerHTML) {\n div.innerHTML = `

${displayName} was edited!

`\n }\n\n swal({\n title: 'Success!',\n icon: 'success',\n content: div,\n buttons: !autoClose,\n timer: autoClose ? 1500 : null\n })\n page.getUsers(page.views.users)\n }).catch(page.onAxiosError)\n })\n}\n\npage.disableUser = id => {\n const user = page.cache[id]\n if (!user || !user.enabled) return\n\n const content = document.createElement('div')\n content.innerHTML = `\n

You will be disabling a user named ${page.cache[id].username}.

\n

Their files will remain.

\n `\n\n swal({\n title: 'Are you sure?',\n icon: 'warning',\n content,\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: 'Yes, disable them!',\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/users/disable', { id }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n swal('Success!', `${page.cache[id].username} has been disabled.`, 'success', {\n buttons: false,\n timer: 1500\n })\n page.getUsers(page.views.users)\n }).catch(page.onAxiosError)\n })\n}\n\npage.deleteUser = id => {\n const user = page.cache[id]\n if (!user) return\n\n const content = document.createElement('div')\n content.innerHTML = `\n

You will be deleting a user named ${page.cache[id].username}.

\n

Their uploads will still remain, unless you choose otherwise.

\n `\n\n swal({\n title: 'Are you sure?',\n icon: 'warning',\n content,\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: 'Yes, ONLY the user!',\n closeModal: false\n },\n purge: {\n text: 'Yes, AND their uploads too!',\n value: 'purge',\n className: 'swal-button--danger',\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/users/delete', {\n id,\n purge: proceed === 'purge'\n }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n const failed = Array.isArray(response.data.failed)\n ? response.data.failed\n : []\n\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else if (failed.length) {\n return swal('An error occurred!', `Unable to delete ${failed.length} of the user's upload${failed.length === 1 ? '' : 's'}.`, 'error')\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n swal('Success!', `${page.cache[id].username} has been deleted.`, 'success', {\n buttons: false,\n timer: 1500\n })\n\n // Reload users list\n // eslint-disable-next-line compat/compat\n page.getUsers(Object.assign(page.views.users, {\n autoPage: true\n }))\n }).catch(page.onAxiosError)\n })\n}\n\n// Roughly based on https://github.com/mayuska/pagination/blob/03cac0fb8af3a759bc1220bd3c011b67dbc5e909/index.js\npage.paginate = (totalItems, itemsPerPage, currentPage) => {\n currentPage = currentPage + 1\n const step = 3\n const numPages = Math.ceil(totalItems / itemsPerPage)\n\n let template = ''\n const elementsToShow = step * 2\n const add = {\n pageNum (start, end) {\n for (let i = start; i <= end; ++i) {\n template += `
  • ${i}
  • `\n }\n },\n startDots () {\n template += `\n
  • 1
  • \n
  • \n `\n },\n endDots () {\n template += `\n
  • \n
  • ${numPages}
  • \n `\n }\n }\n\n if (elementsToShow + 1 >= numPages) {\n add.pageNum(1, numPages)\n } else if (currentPage < elementsToShow) {\n add.pageNum(1, elementsToShow)\n add.endDots()\n } else if (currentPage > numPages - elementsToShow + 1) {\n add.startDots()\n add.pageNum(numPages - elementsToShow + 1, numPages)\n } else {\n add.startDots()\n add.pageNum(currentPage - step + 1, currentPage + step - 1)\n add.endDots()\n }\n\n return `\n \n `\n}\n\npage.getStatistics = (params = {}) => {\n if (!page.permissions.admin) return swal('An error occurred!', 'You cannot do this!', 'error')\n\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n page.updateTrigger(params.trigger, 'loading')\n\n const url = 'api/stats'\n axios.get(url).then(response => {\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(params.trigger)\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n let content = ''\n const keys = Object.keys(response.data.stats)\n for (let i = 0; i < keys.length; i++) {\n let rows = ''\n if (!response.data.stats[keys[i]]) {\n rows += `\n \n Generating, please try again later\\u2026\n \n \n `\n } else {\n try {\n const valKeys = Object.keys(response.data.stats[keys[i]])\n for (let j = 0; j < valKeys.length; j++) {\n const data = response.data.stats[keys[i]][valKeys[j]]\n const type = typeof data === 'object' ? data.type : 'auto'\n const value = typeof data === 'object' ? data.value : data\n\n let parsed\n switch (type) {\n case 'byte':\n parsed = page.getPrettyBytes(value)\n break\n case 'byteUsage': {\n // Reasoning: https://github.com/sebhildebrandt/systeminformation/issues/464#issuecomment-756406053\n const totalForPercentage = typeof value.available !== 'undefined'\n ? (value.used + value.available)\n : value.total\n parsed = `${page.getPrettyBytes(value.used)} / ${page.getPrettyBytes(value.total)} (${(value.used / totalForPercentage * 100).toFixed(2)}%)`\n break\n }\n case 'uptime':\n parsed = page.getPrettyUptime(value)\n break\n case 'auto':\n switch (typeof value) {\n case 'number':\n parsed = value.toLocaleString()\n break\n default:\n parsed = value\n }\n break\n default:\n parsed = value\n }\n\n rows += `\n \n ${valKeys[j]}\n ${parsed}\n \n `\n }\n } catch (error) {\n rows = `\n \n Error parsing response. Try again?\n \n \n `\n page.onError(error)\n }\n }\n\n content += `\n
    \n \n \n \n \n \n \n \n \n ${rows}\n \n
    ${keys[i]}
    \n
    \n `\n }\n\n if (Array.isArray(response.data.hrtime)) {\n content += `\n
    \n
    \n Time taken: ${response.data.hrtime[0]}s ${Math.ceil(response.data.hrtime[1] / 1000000)}ms.\n
    \n
    \n `\n }\n\n page.dom.innerHTML = content\n page.fadeInDom()\n page.scrollToDom()\n page.updateTrigger(params.trigger, 'active')\n }).catch(error => {\n page.updateTrigger(params.trigger)\n page.onAxiosError(error)\n })\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n // Polyfill Object.assign()\n // eslint-disable-next-line compat/compat\n if (typeof Object.assign !== 'function') {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, 'assign', {\n value: function assign (target, varArgs) { // .length of function is 2\n 'use strict'\n if (target === null || typeof target === 'undefined') {\n throw new TypeError('Cannot convert undefined or null to object')\n }\n const to = Object(target)\n for (let i = 1; i < arguments.length; i++) {\n const nextSource = arguments[i]\n if (nextSource !== null && typeof nextSource !== 'undefined') {\n for (const nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey]\n }\n }\n }\n }\n return to\n },\n writable: true,\n configurable: true\n })\n }\n\n // Add 'no-touch' class to non-touch devices\n if (!('ontouchstart' in document.documentElement)) {\n document.documentElement.classList.add('no-touch')\n }\n\n const selectedKeys = ['uploads', 'uploadsAll', 'albums', 'albumsAll', 'users']\n for (let i = 0; i < selectedKeys.length; i++) {\n const ls = localStorage[lsKeys.selected[selectedKeys[i]]]\n if (ls) page.selected[selectedKeys[i]] = JSON.parse(ls)\n }\n\n page.preparePage()\n\n page.clipboardJS = new ClipboardJS('.clipboard-js')\n\n page.clipboardJS.on('success', () => {\n return swal('', 'The link has been copied to clipboard.', 'success', {\n buttons: false,\n timer: 1500\n })\n })\n\n page.clipboardJS.on('error', page.onError)\n\n page.lazyLoad = new LazyLoad()\n\n page.albumsSidebarCollapse = document.querySelector('#albumsSidebarCollapse')\n\n /* eslint-disable-next-line new-cap */\n page.albumsSidebarCollapsible = new bulmaCollapsible(document.querySelector('#albumsSidebar'))\n page.albumsSidebarCollapsible.on('before:expand', event => {\n page.albumsSidebarCollapse.innerText = page.albumsSidebarCollapse.dataset.textCollapse\n })\n page.albumsSidebarCollapsible.on('before:collapse', event => {\n page.albumsSidebarCollapse.innerText = page.albumsSidebarCollapse.dataset.textExpand\n })\n})\n"]} \ No newline at end of file +{"version":3,"sources":["dashboard.js"],"names":["const","lsKeys","token","viewType","uploads","uploadsAll","selected","albums","albumsAll","users","originalNames","page","section","dom","localStorage","username","permissions","menusContainer","menus","currentView","views","type","album","pageNum","filters","all","prevPageNums","checkboxes","lastSelected","selectAlbumContainer","cache","clipboardJS","lazyLoad","albumsSidebarCollapse","albumsSidebarCollapsible","imageExts","videoExts","audioExts","isSomethingLoading","fadingIn","albumTitleMaxLength","albumDescMaxLength","document","querySelector","classList","add","remove","error","console","content","createElement","innerHTML","toString","swal","title","icon","statusText","response","status","description","data","verifyToken","window","location","apiVersion","match","src","text","buttons","confirm","closeModal","then","reload","axios","post","defaults","headers","common","version","checkClientVersion","prepareDashboard","catch","code","removeItem","addEventListener","domClick","event","target","contains","preventDefault","itemMenus","selector","onclick","getUploads","deleteUploadsByNames","getAlbums","changeToken","changePassword","logout","params","group","getStatistics","getUsers","loop","i","item","warnSomethingLoading","call","Object","assign","trigger","currentTarget","forceScroll","push","length","moderator","unhide","getAlbumsSidebar","prepareShareX","updateTrigger","timer","newState","parentNode","tagName","className","includes","let","element","parent","parseInt","dataset","id","action","hasAttribute","stopPropagation","getItemID","setUploadsView","toggleOriginalNames","addToAlbum","deleteUpload","addSelectedUploadsToAlbum","bulkDeleteUploads","displayPreview","uploadFiltersHelp","filterUploads","submitAlbum","editAlbum","disableAlbum","deleteAlbum","viewAlbumUploads","createUser","editUser","disableUser","deleteUser","viewUserUploads","getNewToken","clearSelection","select","selectAll","focusJumpToPage","switchPage","disableFading","clearTimeout","setTimeout","disableSmooth","scrollIntoView","behavior","block","inline","view","get","func","getByView","goto","jumpToPage","jumpid","checkValidity","parsed","value","isNaN","focus","url","test","minoffset","Date","getTimezoneOffset","success","pages","Math","ceil","count","files","autoPage","basedomain","max","pagination","paginate","extraControls","escape","controls","bottomExtraControls","replace","bottomPagination","unselected","showOriginalNames","hasExpiryDateColumn","some","file","expirydate","origin","thumb","extname","toLowerCase","previewable","name","original","prettyBytes","getPrettyBytes","size","prettyDate","getPrettyDate","timestamp","prettyExpiryDate","appendix","userid","albumid","table","upload","div","appendChild","querySelectorAll","allAlbums","tr","ip","checked","fadeInDom","scrollToDom","update","onAxiosError","undefined","onload","body","onerror","setAttribute","splice","indexOf","JSON","stringify","lastElement","thisIndex","index","lastIndex","abs","shiftKey","selectInBetween","suffix","substring","proceed","Boolean","style","trim","filtersid","user","postBulkDeleteUploads","field","values","cb","failed","filter","textArea","seen","names","split","map","trimmed","prototype","hasOwnProperty","join","objective","dangerMode","cancel","Array","isArray","addUploadsToAlbum","ids","callback","choose","added","simple","list","getElementsByTagName","removeAttribute","homeDomain","createNewAlbum","albumUrlText","identifier","albumUrl","hasZip","zipSize","prettyZipDate","zipGeneratedAt","isZipExpired","editedAt","enabled","download","public","descriptionHtml","urlPath","requestLink","purge","albumsSidebar","oldAlbums","diffCount","innerText","collapsed","textExpand","textCollapse","collapse","li","a","sendNewPassword","pass","password","admin","displayGroup","groups","keys","registration","prettyTokenUpdate","usage","groupOptions","g","isHigher","isDisabledHelper","resetPassword","autoClose","displayName","totalItems","itemsPerPage","currentPage","numPages","template","start","end","elementsToShow","step","stats","rows","valKeys","j","totalForPercentage","available","used","total","toFixed","getPrettyUptime","toLocaleString","onError","hrtime","defineProperty","varArgs","arguments$1","arguments","TypeError","to","nextSource","nextKey","writable","configurable","documentElement","selectedKeys","ls","parse","preparePage","ClipboardJS","on","LazyLoad","bulmaCollapsible"],"mappings":"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","file":"dashboard.js","sourcesContent":["/* global swal, axios, ClipboardJS, LazyLoad, bulmaCollapsible */\n\nconst lsKeys = {\n token: 'token',\n viewType: {\n uploads: 'viewTypeUploads',\n uploadsAll: 'viewTypeUploadsAll'\n },\n selected: {\n uploads: 'selectedUploads',\n uploadsAll: 'selectedUploadsAll',\n albums: 'selectedAlbums',\n albumsAll: 'selectedAlbumsAll',\n users: 'selectedUsers'\n },\n originalNames: {\n uploads: 'originalNames',\n uploadsAll: 'originalNamesAll'\n }\n}\n\nconst page = {\n // #dashboard\n section: null,\n // #page\n dom: null,\n\n // user token\n token: localStorage[lsKeys.token],\n\n // from api/tokens/verify\n username: null,\n permissions: null,\n\n // sidebar menus\n menusContainer: null,\n menus: [],\n\n currentView: null,\n views: {\n // params of uploads view\n uploads: {\n type: localStorage[lsKeys.viewType.uploads],\n originalNames: localStorage[lsKeys.originalNames.uploads] === '1',\n album: null, // album's id\n pageNum: null\n },\n // params of uploads view (all)\n uploadsAll: {\n type: localStorage[lsKeys.viewType.uploadsAll],\n originalNames: localStorage[lsKeys.originalNames.uploadsAll] === '1',\n filters: null,\n pageNum: null,\n all: true\n },\n // params of albums view\n albums: {\n filters: null,\n pageNum: null\n },\n // params of albums view (all)\n albumsAll: {\n filters: null,\n pageNum: null,\n all: true\n },\n // params of users view\n users: {\n filters: null,\n pageNum: null\n }\n },\n prevPageNums: {\n uploads: null,\n uploadsAll: null,\n albums: null,\n albumsAll: null,\n users: null\n },\n\n // ids of selected items (shared across pages and will be synced with localStorage)\n selected: {\n uploads: [],\n uploadsAll: [],\n albums: [],\n albumsAll: [],\n users: []\n },\n checkboxes: [],\n lastSelected: [],\n\n // select album dom for dialogs/modals\n selectAlbumContainer: null,\n\n // cache for dialogs/modals\n cache: {},\n\n clipboardJS: null,\n lazyLoad: null,\n albumsSidebarCollapse: null,\n albumsSidebarCollapsible: null,\n\n imageExts: ['.gif', '.jpeg', '.jpg', '.png', '.svg', '.tif', '.tiff', '.webp'],\n videoExts: ['.3g2', '.3gp', '.asf', '.avchd', '.avi', '.divx', '.evo', '.flv', '.h264', '.h265', '.hevc', '.m2p', '.m2ts', '.m4v', '.mk3d', '.mkv', '.mov', '.mp4', '.mpeg', '.mpg', '.mxf', '.ogg', '.ogv', '.ps', '.qt', '.rmvb', '.ts', '.vob', '.webm', '.wmv'],\n audioExts: ['.flac', '.mp3', '.wav', '.wma'],\n\n isSomethingLoading: false,\n fadingIn: null,\n\n albumTitleMaxLength: 70,\n albumDescMaxLength: 4000\n}\n\npage.unhide = () => {\n document.querySelector('#loader').classList.add('is-hidden')\n page.section.classList.remove('is-hidden')\n}\n\n// Handler for regular JS errors\npage.onError = error => {\n console.error(error)\n\n const content = document.createElement('div')\n content.innerHTML = `\n

    ${error.toString()}

    \n

    Please check your console for more information.

    \n `\n return swal({\n title: 'An error occurred!',\n icon: 'error',\n content\n })\n}\n\n// Handler for Axios errors\npage.onAxiosError = error => {\n console.error(error)\n\n // Better Cloudflare errors\n const cloudflareErrors = {\n 520: 'Unknown Error',\n 521: 'Web Server Is Down',\n 522: 'Connection Timed Out',\n 523: 'Origin Is Unreachable',\n 524: 'A Timeout Occurred',\n 525: 'SSL Handshake Failed',\n 526: 'Invalid SSL Certificate',\n 527: 'Railgun Error',\n 530: 'Origin DNS Error'\n }\n\n const statusText = cloudflareErrors[error.response.status] || error.response.statusText\n const description = error.response.data && error.response.data.description\n ? error.response.data.description\n : 'There was an error with the request.\\nPlease check the console for more information.'\n\n return swal(`${error.response.status} ${statusText}`, description, 'error')\n}\n\npage.preparePage = () => {\n if (page.token) page.verifyToken(page.token)\n else window.location = 'auth'\n}\n\npage.checkClientVersion = apiVersion => {\n const self = document.querySelector('#mainScript')\n const match = self.src.match(/\\?_=(\\d+)$/)\n if (match && match[1] && match[1] !== apiVersion) {\n return swal({\n title: 'Update detected!',\n text: 'Client assets have been updated. Reload to display the latest version?',\n icon: 'info',\n buttons: {\n confirm: {\n text: 'Reload',\n closeModal: false\n }\n }\n }).then(() => {\n window.location.reload()\n })\n }\n}\n\npage.verifyToken = token => {\n axios.post('api/tokens/verify', { token }).then(response => {\n axios.defaults.headers.common.token = token\n localStorage[lsKeys.token] = token\n\n if (response.data.version) {\n page.checkClientVersion(response.data.version)\n }\n\n page.token = token\n page.username = response.data.username\n page.permissions = response.data.permissions\n page.prepareDashboard()\n }).catch(error => {\n return swal({\n title: 'An error occurred!',\n text: error.response.data ? error.response.data.description : error.toString(),\n icon: 'error'\n }).then(() => {\n if (error.response.data && error.response.data.code === 10001) {\n localStorage.removeItem(lsKeys.token)\n window.location = 'auth'\n }\n })\n })\n}\n\npage.prepareDashboard = () => {\n page.section = document.querySelector('#dashboard')\n page.dom = page.section.querySelector('#page')\n\n // Capture all click events\n page.dom.addEventListener('click', page.domClick, true)\n\n // Capture all submit events\n page.dom.addEventListener('submit', event => {\n // Prevent default if necessary\n if (event.target && event.target.classList.contains('prevent-default')) {\n return event.preventDefault()\n }\n }, true)\n\n page.menusContainer = document.querySelector('#menu')\n\n // All item menus in the sidebar\n const itemMenus = [\n { selector: '#itemUploads', onclick: page.getUploads },\n { selector: '#itemDeleteUploadsByNames', onclick: page.deleteUploadsByNames },\n { selector: '#itemManageYourAlbums', onclick: page.getAlbums },\n { selector: '#itemManageToken', onclick: page.changeToken },\n { selector: '#itemChangePassword', onclick: page.changePassword },\n { selector: '#itemLogout', onclick: page.logout },\n { selector: '#itemManageUploads', onclick: page.getUploads, params: { all: true }, group: 'moderator' },\n { selector: '#itemManageAlbums', onclick: page.getAlbums, params: { all: true }, group: 'moderator' },\n { selector: '#itemStatistics', onclick: page.getStatistics, group: 'admin' },\n { selector: '#itemManageUsers', onclick: page.getUsers, group: 'admin' }\n ]\n\n for (let i = 0; i < itemMenus.length; i++) {\n // Skip item menu if not enough permission\n if (itemMenus[i].group && !page.permissions[itemMenus[i].group]) continue\n\n // Add onclick event listener\n const item = document.querySelector(itemMenus[i].selector)\n item.addEventListener('click', event => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n // eslint-disable-next-line compat/compat\n itemMenus[i].onclick.call(null, Object.assign(itemMenus[i].params || {}, {\n trigger: event.currentTarget,\n forceScroll: true\n }))\n })\n\n item.classList.remove('is-hidden')\n page.menus.push(item)\n }\n\n // If at least a moderator, show administration section\n if (page.permissions.moderator) {\n document.querySelector('#itemLabelAdmin').classList.remove('is-hidden')\n document.querySelector('#itemListAdmin').classList.remove('is-hidden')\n }\n\n // Update text of logout button\n document.querySelector('#itemLogout').innerHTML = `Logout ( ${page.username} )`\n\n // Finally display dashboard\n page.unhide()\n\n // Load albums sidebar\n page.getAlbumsSidebar()\n\n if (typeof page.prepareShareX === 'function') page.prepareShareX()\n}\n\npage.logout = params => {\n page.updateTrigger(params.trigger, 'active')\n localStorage.removeItem(lsKeys.token)\n window.location = 'auth'\n}\n\npage.warnSomethingLoading = () => {\n swal('Please wait!', 'Something else is still loading\\u2026', 'warning', {\n buttons: false,\n timer: 3000\n })\n}\n\npage.updateTrigger = (trigger, newState) => {\n if (!trigger) return\n\n // Disable menus container and pagination when loading\n if (newState === 'loading') {\n page.isSomethingLoading = true\n page.section.classList.add('is-loading')\n } else {\n page.section.classList.remove('is-loading')\n page.isSomethingLoading = false\n }\n\n if (newState === 'loading') {\n trigger.classList.add('is-loading')\n } else if (newState === 'active') {\n if (trigger.parentNode.tagName === 'LI' && !trigger.className.includes('pagination-link')) {\n for (let i = 0; i < page.menus.length; i++) {\n page.menus[i].classList.remove('is-active')\n }\n trigger.classList.add('is-active')\n }\n trigger.classList.remove('is-loading')\n } else {\n trigger.classList.remove('is-loading')\n trigger.classList.remove('is-active')\n }\n}\n\npage.getItemID = element => {\n // This expects the item's parent to have the item's ID\n let parent = element.parentNode\n // If the element is part of a set of controls, use the container's parent instead\n if (element.parentNode.classList.contains('controls')) parent = parent.parentNode\n return parseInt(parent.dataset.id)\n}\n\npage.domClick = event => {\n // We are processing clicks this way to avoid using \"onclick\" attribute\n // Apparently we will need to use \"unsafe-inline\" for \"script-src\" directive\n // of Content Security Policy (CSP), if we want to use \"onclick\" attribute\n // Though I think that only applies to some browsers (?)\n // Of course it wouldn't have mattered if we didn't use CSP to begin with\n // Anyway, I personally would rather not use \"onclick\" attribute\n let element = event.target\n if (!element) return\n\n // Delegate click events to their A or BUTTON parents\n if (['I'].includes(element.tagName) && ['SPAN'].includes(element.parentNode.tagName)) {\n element = element.parentNode\n }\n if (['SPAN'].includes(element.tagName) && ['A', 'BUTTON'].includes(element.parentNode.tagName)) {\n element = element.parentNode\n }\n\n // Skip elements that have no action data\n if (!element.dataset || !element.dataset.action) return\n\n // Skip disabled elements\n if (element.hasAttribute('disabled')) return\n\n event.stopPropagation() // maybe necessary\n const id = page.getItemID(element)\n const action = element.dataset.action\n\n switch (action) {\n // Uploads\n case 'view-list':\n return page.setUploadsView('list', element)\n case 'view-thumbs':\n return page.setUploadsView('thumbs', element)\n case 'toggle-original-names':\n return page.toggleOriginalNames(element)\n case 'add-to-album':\n return page.addToAlbum(id)\n case 'delete-upload':\n return page.deleteUpload(id)\n case 'add-selected-uploads-to-album':\n return page.addSelectedUploadsToAlbum()\n case 'bulk-delete-uploads':\n return page.bulkDeleteUploads()\n case 'display-preview':\n return page.displayPreview(id)\n // Manage uploads\n case 'upload-filters-help':\n return page.uploadFiltersHelp(element)\n case 'filter-uploads':\n return page.filterUploads(element)\n // Manage your albums\n case 'submit-album':\n return page.submitAlbum(element)\n case 'edit-album':\n return page.editAlbum(id)\n case 'disable-album':\n return page.disableAlbum(id)\n case 'delete-album':\n return page.deleteAlbum(id)\n case 'view-album-uploads':\n return page.viewAlbumUploads(id, element)\n // Manage users\n case 'create-user':\n return page.createUser()\n case 'edit-user':\n return page.editUser(id)\n case 'disable-user':\n return page.disableUser(id)\n case 'delete-user':\n return page.deleteUser(id)\n case 'view-user-uploads':\n return page.viewUserUploads(id, element)\n // Others\n case 'get-new-token':\n return page.getNewToken(element)\n // Uploads & Users\n case 'clear-selection':\n return page.clearSelection()\n case 'select':\n return page.select(element, event)\n case 'select-all':\n return page.selectAll(element)\n case 'page-ellipsis':\n return page.focusJumpToPage(element)\n case 'page-prev':\n case 'page-next':\n case 'page-goto':\n case 'jump-to-page':\n return page.switchPage(action, element)\n }\n}\n\npage.fadeInDom = disableFading => {\n if (page.fadingIn) {\n clearTimeout(page.fadingIn)\n page.dom.classList.remove('fade-in')\n }\n\n if (!disableFading) {\n page.dom.classList.add('fade-in')\n page.fadingIn = setTimeout(() => {\n page.dom.classList.remove('fade-in')\n }, 500)\n }\n}\n\npage.scrollToDom = disableSmooth => {\n page.dom.scrollIntoView({\n behavior: disableSmooth ? 'auto' : 'smooth',\n block: 'start',\n inline: 'nearest'\n })\n}\n\npage.getByView = (view, get) => {\n switch (view) {\n case 'uploads':\n case 'uploadsAll':\n return {\n type: 'uploads',\n func: page.getUploads\n }[get]\n case 'albums':\n case 'albumsAll':\n return {\n type: 'albums',\n func: page.getAlbums\n }[get]\n case 'users':\n return {\n type: 'users',\n func: page.getUsers\n }[get]\n default:\n return null\n }\n}\n\npage.switchPage = (action, element) => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n // eslint-disable-next-line compat/compat\n const params = Object.assign(page.views[page.currentView], {\n trigger: element\n })\n\n const func = page.getByView(page.currentView, 'func')\n\n switch (action) {\n case 'page-prev':\n params.pageNum = page.views[page.currentView].pageNum - 1\n if (params.pageNum < 0) {\n return swal('An error occurred!', 'This is already the first page.', 'error')\n }\n return func(params)\n case 'page-next':\n params.pageNum = page.views[page.currentView].pageNum + 1\n return func(params)\n case 'page-goto':\n params.pageNum = parseInt(element.dataset.goto)\n return func(params)\n case 'jump-to-page': {\n const jumpToPage = document.querySelector(`#${element.dataset.jumpid || 'jumpToPage'}`)\n if (!jumpToPage.checkValidity()) return\n const parsed = parseInt(jumpToPage.value)\n params.pageNum = isNaN(parsed) ? 0 : (parsed - 1)\n if (params.pageNum < 0) params.pageNum = 0\n return func(params)\n }\n }\n}\n\npage.focusJumpToPage = element => {\n const jumpToPage = document.querySelector(`#${element.dataset.jumpid || 'jumpToPage'}`)\n if (!jumpToPage) return\n jumpToPage.focus()\n jumpToPage.select()\n}\n\npage.getUploads = (params = {}) => {\n if (params && params.all && !page.permissions.moderator) {\n return swal('An error occurred!', 'You cannot do this!', 'error')\n }\n\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n page.updateTrigger(params.trigger, 'loading')\n\n if (typeof params.pageNum !== 'number' || params.pageNum < 0) {\n params.pageNum = 0\n }\n\n const url = typeof params.album !== 'undefined'\n ? `api/album/${params.album}/${params.pageNum}`\n : `api/uploads/${params.pageNum}`\n\n const headers = {}\n if (params.all) headers.all = '1'\n if (params.filters) {\n headers.filters = params.filters\n // Send client timezone offset if properly using date: and/or :expiry filters\n // Server will pretend client is on UTC if unset\n if (/(^|\\s)(date|expiry):[\\d\"]/.test(params.filters)) {\n headers.minoffset = new Date().getTimezoneOffset()\n }\n }\n\n axios.get(url, { headers }).then(response => {\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(params.trigger)\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const pages = Math.ceil(response.data.count / 25)\n const files = response.data.files\n if (params.pageNum && (files.length === 0)) {\n page.updateTrigger(params.trigger)\n if (params.autoPage) {\n params.pageNum = pages - 1\n return page.getUploads(params)\n } else {\n return swal('An error occurred!', `There are no more uploads to populate page ${params.pageNum + 1}.`, 'error')\n }\n }\n\n page.currentView = params.all ? 'uploadsAll' : 'uploads'\n page.cache = {}\n\n const albums = response.data.albums\n const users = response.data.users\n const basedomain = response.data.basedomain\n\n if (params.pageNum < 0) params.pageNum = Math.max(0, pages + params.pageNum)\n const pagination = page.paginate(response.data.count, 25, params.pageNum)\n\n const filter = `\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n `\n const extraControls = `\n
    \n ${filter}\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n `\n\n const controls = `\n \n `\n\n // Do some string replacements for bottom controls\n const bottomFiltersId = 'bFilters'\n const bottomJumpId = 'bJumpToPage'\n const bottomExtraControls = extraControls\n .replace(/id=\"filters\"/, `id=\"${bottomFiltersId}\"`)\n .replace(/(data-action=\"filter-uploads\")/, `$1 data-filtersid=\"${bottomFiltersId}\"`)\n .replace(/id=\"jumpToPage\"/, `id=\"${bottomJumpId}\"`)\n .replace(/(data-action=\"jump-to-page\")/g, `$1 data-jumpid=\"${bottomJumpId}\"`)\n const bottomPagination = pagination\n .replace(/(data-action=\"page-ellipsis\")/g, `$1 data-jumpid=\"${bottomJumpId}\"`)\n\n // Whether there are any unselected items\n let unselected = false\n\n const showOriginalNames = page.views[page.currentView].originalNames\n const hasExpiryDateColumn = files.some(file => typeof file.expirydate !== 'undefined')\n\n for (let i = 0; i < files.length; i++) {\n // Build full URLs\n files[i].file = `${basedomain || window.location.origin}/${files[i].name}`\n if (files[i].thumb) {\n files[i].thumb = `${basedomain ? `${basedomain}/` : ''}${files[i].thumb}`\n }\n\n // Determine types\n const extname = files[i].extname.toLowerCase()\n if (page.imageExts.includes(extname)) {\n files[i].type = 'picture'\n } else if (page.videoExts.includes(extname)) {\n files[i].type = 'video'\n } else if (page.audioExts.includes(extname)) {\n files[i].type = 'audio'\n } else {\n files[i].type = 'other'\n }\n\n files[i].previewable = files[i].thumb || files[i].type === 'audio'\n\n // Cache bare minimum data for thumbnails viewer\n page.cache[files[i].id] = {\n name: files[i].name,\n original: files[i].original,\n extname: files[i].extname,\n thumb: files[i].thumb,\n file: files[i].file,\n type: files[i].type,\n previewable: files[i].previewable\n }\n\n // Prettify\n files[i].prettyBytes = page.getPrettyBytes(parseInt(files[i].size))\n files[i].prettyDate = page.getPrettyDate(new Date(files[i].timestamp * 1000))\n\n if (hasExpiryDateColumn) {\n files[i].prettyExpiryDate = files[i].expirydate\n ? page.getPrettyDate(new Date(files[i].expirydate * 1000))\n : null\n }\n\n // Update selected status\n files[i].selected = page.selected[page.currentView].includes(files[i].id)\n if (!files[i].selected) unselected = true\n\n // Appendix (display album or user)\n if (params.all) {\n files[i].appendix = files[i].userid\n ? users[files[i].userid] || ''\n : ''\n } else if (typeof params.album === 'undefined') {\n files[i].appendix = files[i].albumid\n ? albums[files[i].albumid] || ''\n : ''\n }\n }\n\n if (page.views[page.currentView].type === 'thumbs') {\n page.dom.innerHTML = `\n ${pagination}\n ${extraControls}\n ${controls}\n
    \n
    \n ${controls}\n ${bottomExtraControls}\n ${bottomPagination}\n `\n\n const table = document.querySelector('#table')\n\n for (let i = 0; i < files.length; i++) {\n const upload = files[i]\n const div = document.createElement('div')\n div.className = 'image-container column'\n div.dataset.id = upload.id\n\n if (typeof upload.thumb !== 'undefined') {\n div.innerHTML = `\"${upload.name}\"`\n } else {\n div.innerHTML = `

    ${upload.extname || 'N/A'}

    `\n }\n\n div.innerHTML += `\n \n
    \n ${upload.previewable\n ? `\n \n \n \n `\n : ''}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n

    ${upload.name}

    \n ${showOriginalNames ? `

    ${upload.original}

    ` : ''}\n

    ${upload.appendix ? `${upload.appendix} – ` : ''}${upload.prettyBytes}

    \n ${hasExpiryDateColumn && upload.prettyExpiryDate\n ? `

    EXP: ${upload.prettyExpiryDate}

    `\n : ''}\n
    \n `\n\n table.appendChild(div)\n page.checkboxes = table.querySelectorAll('.checkbox[data-action=\"select\"]')\n }\n } else {\n const allAlbums = params.all && params.filters && params.filters.includes('albumid:')\n page.dom.innerHTML = `\n ${pagination}\n ${extraControls}\n ${controls}\n
    \n \n \n \n \n \n ${showOriginalNames ? '' : ''}\n ${typeof params.album === 'undefined' ? `` : ''}\n ${allAlbums ? '' : ''}\n \n ${params.all ? '' : ''}\n \n ${hasExpiryDateColumn ? '' : ''}\n \n \n \n \n \n
    File nameOriginal nameUser' : 'albumid\">Album'}AlbumSizeIPUpload dateExpiry date(${response.data.count} total)
    \n
    \n ${controls}\n ${bottomExtraControls}\n ${bottomPagination}\n `\n\n const table = document.querySelector('#table')\n\n for (let i = 0; i < files.length; i++) {\n const upload = files[i]\n const tr = document.createElement('tr')\n tr.dataset.id = upload.id\n tr.innerHTML = `\n \n ${upload.name}\n ${showOriginalNames ? `${upload.original}` : ''}\n ${typeof params.album === 'undefined' ? `${upload.appendix}` : ''}\n ${allAlbums ? `${upload.albumid ? (albums[upload.albumid] || '') : ''}` : ''}\n ${upload.prettyBytes}\n ${params.all ? `${upload.ip || ''}` : ''}\n ${upload.prettyDate}\n ${hasExpiryDateColumn ? `${upload.prettyExpiryDate || '-'}` : ''}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ${params.all\n ? ''\n : `\n \n \n \n `}\n \n \n \n \n \n \n `\n\n table.appendChild(tr)\n page.checkboxes = table.querySelectorAll('.checkbox[data-action=\"select\"]')\n }\n }\n\n const selectAll = document.querySelector('#selectAll')\n if (selectAll && !unselected && files.length) {\n selectAll.checked = true\n selectAll.title = 'Unselect all'\n }\n\n page.fadeInDom()\n\n const pageNum = files.length ? params.pageNum : 0\n if (params.forceScroll ||\n page.prevPageNums[page.currentView] === null ||\n page.prevPageNums[page.currentView] !== pageNum) {\n const disableSmooth = !params.forceScroll && page.views[page.currentView].type === 'thumbs'\n page.scrollToDom(disableSmooth)\n }\n\n if (page.views[page.currentView].type === 'thumbs') {\n page.lazyLoad.update()\n }\n\n page.updateTrigger(params.trigger, 'active')\n\n if (page.currentView === 'uploads') {\n page.views.uploads.album = params.album\n }\n page.views[page.currentView].filters = params.filters\n page.views[page.currentView].pageNum = page.prevPageNums[page.currentView] = pageNum\n }).catch(error => {\n page.updateTrigger(params.trigger)\n page.onAxiosError(error)\n })\n}\n\npage.setUploadsView = (view, element) => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n if (view === 'list') {\n delete localStorage[lsKeys.viewType[page.currentView]]\n page.views[page.currentView].type = undefined\n } else {\n localStorage[lsKeys.viewType[page.currentView]] = view\n page.views[page.currentView].type = view\n }\n\n // eslint-disable-next-line compat/compat\n page.getUploads(Object.assign(page.views[page.currentView], {\n trigger: element\n }))\n}\n\npage.toggleOriginalNames = element => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n if (page.views[page.currentView].originalNames) {\n delete localStorage[lsKeys.originalNames[page.currentView]]\n page.views[page.currentView].originalNames = false\n } else {\n localStorage[lsKeys.originalNames[page.currentView]] = '1'\n page.views[page.currentView].originalNames = true\n }\n\n // eslint-disable-next-line compat/compat\n page.getUploads(Object.assign(page.views[page.currentView], {\n trigger: element\n }))\n}\n\npage.displayPreview = id => {\n const file = page.cache[id]\n if (!file.previewable) return\n\n const div = document.createElement('div')\n div.innerHTML = `\n
    \n

    \n

    ${file.name}
    \n
    ${file.original}
    \n

    \n ${file.thumb\n ? `

    \n \n

    `\n : ''}\n
    \n `\n\n if (file.file && ['picture', 'video', 'audio'].includes(file.type)) {\n div.innerHTML += `\n \n `\n\n if (file.type === 'picture') {\n div.querySelector('#swalOriginal').addEventListener('click', event => {\n const trigger = event.currentTarget\n if (trigger.classList.contains('is-danger')) return\n\n trigger.classList.add('is-loading')\n const thumb = div.querySelector('#swalThumb')\n\n thumb.src = file.file\n thumb.onload = () => {\n trigger.classList.add('is-hidden')\n document.body.querySelector('.swal-overlay .swal-modal:not(.is-expanded)').classList.add('is-expanded')\n }\n thumb.onerror = event => {\n event.currentTarget.classList.add('is-hidden')\n trigger.className = 'button is-danger is-fullwidth'\n trigger.innerHTML = `\n \n \n \n Unable to load original\n `\n }\n })\n } else {\n const match = file.file.match(/.*\\/(.*)$/)\n if (match || match[1]) {\n div.querySelector('#swalOriginal').setAttribute('href', `v/${match[1]}`)\n div.querySelector('#swalOriginal').setAttribute('target', '_blank')\n }\n }\n }\n\n return swal({\n content: div,\n buttons: false\n }).then(() => {\n // Restore modal size\n document.body.querySelector('.swal-overlay .swal-modal').classList.remove('is-expanded')\n })\n}\n\npage.selectAll = element => {\n for (let i = 0; i < page.checkboxes.length; i++) {\n const id = page.getItemID(page.checkboxes[i])\n if (isNaN(id)) continue\n if (page.checkboxes[i].checked !== element.checked) {\n page.checkboxes[i].checked = element.checked\n if (page.checkboxes[i].checked) {\n page.selected[page.currentView].push(id)\n } else {\n page.selected[page.currentView].splice(page.selected[page.currentView].indexOf(id), 1)\n }\n }\n }\n\n if (page.selected[page.currentView].length) {\n localStorage[lsKeys.selected[page.currentView]] = JSON.stringify(page.selected[page.currentView])\n } else {\n delete localStorage[lsKeys.selected[page.currentView]]\n }\n\n element.title = element.checked ? 'Unselect all' : 'Select all'\n}\n\npage.selectInBetween = (element, lastElement) => {\n const thisIndex = parseInt(element.dataset.index)\n const lastIndex = parseInt(lastElement.dataset.index)\n\n const distance = Math.abs(thisIndex - lastIndex)\n if (distance < 2) return\n\n for (let i = 0; i < page.checkboxes.length; i++) {\n if ((thisIndex > lastIndex && i > lastIndex && i < thisIndex) ||\n (thisIndex < lastIndex && i > thisIndex && i < lastIndex)) {\n // Check or uncheck depending on the state of the initial checkbox\n const checked = page.checkboxes[i].checked = lastElement.checked\n const id = page.getItemID(page.checkboxes[i])\n if (!page.selected[page.currentView].includes(id) && checked) {\n page.selected[page.currentView].push(id)\n } else if (page.selected[page.currentView].includes(id) && !checked) {\n page.selected[page.currentView].splice(page.selected[page.currentView].indexOf(id), 1)\n }\n }\n }\n}\n\npage.select = (element, event) => {\n const id = page.getItemID(element)\n if (isNaN(id)) return\n\n if (event.shiftKey && page.lastSelected) {\n page.selectInBetween(element, page.lastSelected)\n // Check or uncheck depending on the state of the initial checkbox\n element.checked = page.lastSelected.checked\n } else {\n page.lastSelected = element\n }\n\n if (!page.selected[page.currentView].includes(id) && element.checked) {\n page.selected[page.currentView].push(id)\n } else if (page.selected[page.currentView].includes(id) && !element.checked) {\n page.selected[page.currentView].splice(page.selected[page.currentView].indexOf(id), 1)\n }\n\n // Update local storage\n if (page.selected[page.currentView].length) {\n localStorage[lsKeys.selected[page.currentView]] = JSON.stringify(page.selected[page.currentView])\n } else {\n delete localStorage[lsKeys.selected[page.currentView]]\n }\n}\n\npage.clearSelection = () => {\n const selected = page.selected[page.currentView]\n const type = page.getByView(page.currentView, 'type')\n const count = selected.length\n if (!count) return swal('An error occurred!', `You have not selected any ${type}.`, 'error')\n\n const suffix = count === 1 ? type.substring(0, type.length - 1) : type\n return swal({\n title: 'Are you sure?',\n text: `You are going to unselect ${count} ${suffix}.`,\n buttons: true\n }).then(proceed => {\n if (!proceed) return\n\n const checkboxes = page.checkboxes\n for (let i = 0; i < checkboxes.length; i++) {\n if (checkboxes[i].checked) {\n checkboxes[i].checked = false\n }\n }\n\n page.selected[page.currentView] = []\n delete localStorage[lsKeys.selected[page.currentView]]\n\n const selectAll = document.querySelector('#selectAll')\n if (selectAll) selectAll.checked = false\n\n return swal('Cleared selection!', `Unselected ${count} ${suffix}.`, 'success')\n })\n}\n\npage.uploadFiltersHelp = element => {\n const all = Boolean(element.dataset.all)\n const content = document.createElement('div')\n content.style = 'text-align: left'\n content.innerHTML = `${all\n ? `There are 2 filter keys, namely user (username) and ip.\n These keys can be specified more than once.\n For usernames with whitespaces, wrap them with double quotes (\").\n Special cases such as uploads by non-registered users or have no IPs respectively, use user:- or ip:-.\n\n To exclude certain users/ips while still listing every other uploads, add negation sign (-) before the keys.\n Negation sign can also be used to exclude the special cases mentioned above (i.e. -user:- or -ip:-).\n\n If you know the ID of a user's album, you can list its uploads with albumid key.\n Negation sign works for this key as well.`\n : `There is only 1 filter key, namely albumid.\n This key can be specified more than once.\n Special case such as uploads with no albums, use albumid:-.\n\n To exclude certain albums while still listing every other uploads, add negation sign (-) before the keys.\n Negation sign can also be used to exclude the special case mentioned above (i.e. -albumid:-).`}\n\n There are 2 range keys: date (upload date) and expiry (expiry date).\n Their format is: \"YYYY/MM/DD HH:MM:SS-YYYY/MM/DD HH:MM:SS\" (\"from\" date and \"to\" date respectively).\n You may specify only one of the dates.\n If \"to\" date is missing, 'now' will be used. If \"from\" date is missing, 'beginning of time' will be used.\n If any of the subsequent date or time units are not specified, their first value will be used (e.g. January for month, 1 for day, and so on).\n If only time is specified, today's date will be used.\n If you do not need to specify both date and time, you may omit the double quotes.\n In conclusion, the following examples are all valid: date:\"2020/01/01 01:23-2018/01/01 06\", expiry:-2020/05, date:12:34:56.\n These keys can only be specified once each.\n\n Timezone? Feel free to query the dates with your own timezone.\n API requests to the filter endpoint will attach your browser's timezone offset, so the server will automatically calculate timezone differences.\n\n Matches can also be sorted with sort keys.\n Their formats are: sort:columnName[:d[escending]], where :d[escending] is an optional tag to set the direction to descending.\n This key must be used with internal column names used in the database (id, ${all ? 'userid' : 'albumid'}, and so on),\n but there are 2 shortcuts available: date for timestamp column and expiry for expirydate column.\n This key can also be specified more than once, where their order will decide the sorting steps.\n\n Finally, there are type-is keys to refine by types.\n You can use is:image, is:video, and is:audio to list images, videos, audios respectively.\n This will only use image, video and audio extensions that are whitelisted internally in the safe.\n For images and videos specifically, they will be the ones whose thumbnails can be generated by the safe.\n Negation sign works for this key as well.\n Mixing inclusion and exclusion is not allowed (i.e. is:image -is:video, since the second key is redundant).\n\n Any leftover keywords which do not use keys (non-keyed keywords) will be matched against the matches' file names.\n Excluding certain keywords is also supported by adding negation sign before the keywords.\n\n Internal steps:\n ${all\n ? `- Query uploads passing ALL exclusion filter keys OR matching ANY filter keys, if any.\n - Refine matches`\n : '- Filter uploads'} using date key, if any.\n - Refine matches using expiry key, if any.\n - Refine matches using type-is keys, if any.\n - Refine matches using ANY non-keyed keywords, if any.\n - Filter matches using ALL exclusion non-keyed keywords, if any.\n - Sort matches using sorting keys, if any.\n\n Examples:\n ${all\n ? `- Uploads from users named \"demo\" AND/OR \"John Doe\" AND/OR non-registered users:\n user:demo user:\"John Doe\" user:-\n - ALL uploads, but NOT the ones from user named \"demo\" AND \"John Doe\":\n -user:demo -user:\"John Doe\"\n - Uploads from IP \"127.0.0.1\" AND which file names match \"*.rar\" OR \"*.zip\":\n ip:127.0.0.1 *.rar *.zip\n `\n : ''}- Uploads without albums:\n albumid:-\n - ALL uploads, but NOT the ones from album with ID 69:\n -albumid:69\n - Uploads uploaded since \"1 June 2019 00:00:00\":\n date:2019/06\n - Uploads uploaded between \"7 April 2020 12:00:00\" and \"7 April 2020 23:59:59\":\n date:\"2020/04/07 12-2020/04/07 23:59:59\"\n - Uploads uploaded before \"5 February 2020 00:00:00\":\n date:-2020/02/05\n - Uploads which file names match \"*.gz\" but NOT \"*.tar.gz\":\n *.gz -*.tar.gz\n - Sort matches by \"size\" column in ascending and descending order respectively:\n ${all ? 'user:\"John Doe\"' : '*.txt'} sort:size\n *.mp4 ${all ? 'user:- ' : ''}sort:size:d\n ${!page.permissions.moderator\n ? 'Notice: Regular users may face some limitations in the amount of keys that can be used at a time.'\n : ''}\n Friendly reminder: This window can be scrolled up!\n `.trim().replace(/^\\s*/g, '').replace(/\\n/g, '
    ')\n\n swal({ content }).then(() => {\n // Restore modal size\n document.body.querySelector('.swal-overlay .swal-modal').classList.remove('is-expanded')\n })\n\n // Expand modal size\n document.body.querySelector('.swal-overlay .swal-modal:not(.is-expanded)').classList.add('is-expanded')\n}\n\npage.filterUploads = element => {\n const filters = document.querySelector(`#${element.dataset.filtersid || 'filters'}`).value\n .trim()\n .replace(/\\t/g, ' ')\n .replace(/(^|\\s)((albumid|ip|user|date|expiry|is|sort|orderby):)\\s+/g, '$2')\n // eslint-disable-next-line compat/compat\n page.getUploads(Object.assign(page.views[page.currentView], {\n filters,\n pageNum: 0,\n trigger: element\n }))\n}\n\npage.viewUserUploads = (id, element) => {\n const user = page.cache[id]\n if (!user) return\n element.classList.add('is-loading')\n // Wrap username in quotes if it contains whitespaces\n const username = user.username.includes(' ')\n ? `\"${user.username}\"`\n : user.username\n page.getUploads({\n all: true,\n filters: `user:${username}`,\n trigger: document.querySelector('#itemManageUploads')\n })\n}\n\npage.viewAlbumUploads = (id, element) => {\n if (!page.cache[id]) return\n element.classList.add('is-loading')\n // eslint-disable-next-line compat/compat\n const all = page.currentView === 'albumsAll' && page.permissions.moderator\n page.getUploads({\n all,\n filters: `albumid:${id}`,\n trigger: all\n ? document.querySelector('#itemManageUploads')\n : document.querySelector('#itemUploads')\n })\n}\n\npage.deleteUpload = id => {\n page.postBulkDeleteUploads({\n all: page.currentView === 'uploadsAll',\n field: 'id',\n values: [id],\n cb (failed) {\n // Remove from remembered checkboxes if necessary\n if (!failed.length && page.selected[page.currentView].includes(id)) {\n page.selected[page.currentView].splice(page.selected[page.currentView].indexOf(id), 1)\n }\n\n // Update local storage\n if (page.selected[page.currentView].length) {\n localStorage[lsKeys.selected[page.currentView]] = JSON.stringify(page.selected[page.currentView])\n } else {\n delete localStorage[lsKeys.selected[page.currentView]]\n }\n\n // Reload upload list\n // eslint-disable-next-line compat/compat\n page.getUploads(Object.assign(page.views[page.currentView], {\n autoPage: true\n }))\n }\n })\n}\n\npage.bulkDeleteUploads = () => {\n const count = page.selected[page.currentView].length\n if (!count) return swal('An error occurred!', 'You have not selected any uploads.', 'error')\n\n page.postBulkDeleteUploads({\n all: page.currentView === 'uploadsAll',\n field: 'id',\n values: page.selected[page.currentView],\n cb (failed) {\n // Update state of checkboxes\n if (failed.length) {\n page.selected[page.currentView] = page.selected[page.currentView]\n .filter(id => failed.includes(id))\n } else {\n page.selected[page.currentView] = []\n }\n\n // Update local storage\n if (page.selected[page.currentView].length) {\n localStorage[lsKeys.selected[page.currentView]] = JSON.stringify(page.selected[page.currentView])\n } else {\n delete localStorage[lsKeys.selected[page.currentView]]\n }\n\n // Reload uploads list\n // eslint-disable-next-line compat/compat\n page.getUploads(Object.assign(page.views[page.currentView], {\n autoPage: true\n }))\n }\n })\n}\n\npage.deleteUploadsByNames = (params = {}) => {\n let appendix = ''\n if (page.permissions.moderator) {\n appendix = '
    Hint: You can use this feature to delete uploads by other users.'\n }\n\n page.dom.innerHTML = `\n
    \n
    \n \n
    \n \n
    \n

    Separate each entry with a new line.${appendix}

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n `\n page.fadeInDom()\n page.scrollToDom()\n page.updateTrigger(params.trigger, 'active')\n\n document.querySelector('#submitBulkDelete').addEventListener('click', () => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n const textArea = document.querySelector('#bulkDeleteNames')\n\n // Clean up\n const seen = {}\n const names = textArea.value\n .split(/\\r?\\n/)\n .map(name => {\n const trimmed = name.trim()\n return /^[^\\s]+$/.test(trimmed)\n ? trimmed\n : ''\n })\n .filter(name => {\n // Filter out invalid and duplicate names\n return (!name || Object.prototype.hasOwnProperty.call(seen, name))\n ? false\n : (seen[name] = true)\n })\n\n // Update textarea with cleaned names\n textArea.value = names.join('\\n')\n\n if (!names.length) {\n return swal('An error occurred!', 'You have not entered any upload names.', 'error')\n }\n\n page.postBulkDeleteUploads({\n all: true,\n field: 'name',\n values: names,\n cb (failed) {\n textArea.value = failed.join('\\n')\n }\n })\n })\n}\n\npage.postBulkDeleteUploads = (params = {}) => {\n const count = params.values.length\n\n const objective = `${params.values.length} upload${count === 1 ? '' : 's'}`\n const boldObjective = objective.replace(/^(\\d*)(.*)/, '$1$2')\n let text = `

    You won't be able to recover ${boldObjective}!

    `\n\n if (params.all) {\n const obj1 = count === 1 ? 'an upload' : 'some uploads'\n const obj2 = count === 1 ? 'another user' : 'other users'\n text += `\\n

    Warning: You may be nuking ${obj1} by ${obj2}!

    `\n }\n\n const content = document.createElement('div')\n content.innerHTML = text\n\n swal({\n title: 'Are you sure?',\n content,\n icon: 'warning',\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: `Yes, nuke ${params.values.length === 1 ? 'it' : 'them'}!`,\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/upload/bulkdelete', {\n field: params.field,\n values: params.values\n }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const failed = Array.isArray(response.data.failed) ? response.data.failed : []\n if (failed.length === params.values.length) {\n swal('An error occurred!', `Unable to delete any of the ${objective}.`, 'error')\n } else if (failed.length && failed.length < params.values.length) {\n swal('Warning!', `From ${objective}, unable to delete ${failed.length} of them.`, 'warning')\n } else {\n swal('Deleted!', `${objective} ${count === 1 ? 'has' : 'have'} been deleted.`, 'success', {\n buttons: false,\n timer: 1500\n })\n }\n\n if (typeof params.cb === 'function') params.cb(failed)\n }).catch(page.onAxiosError)\n })\n}\n\npage.addSelectedUploadsToAlbum = () => {\n if (page.currentView !== 'uploads') return\n\n const count = page.selected[page.currentView].length\n if (!count) return swal('An error occurred!', 'You have not selected any uploads.', 'error')\n\n page.addUploadsToAlbum(page.selected[page.currentView], failed => {\n if (!failed) return\n if (failed.length) {\n page.selected[page.currentView] = page.selected[page.currentView]\n .filter(id => failed.includes(id))\n } else {\n page.selected[page.currentView] = []\n }\n\n localStorage[lsKeys.selected[page.currentView]] = JSON.stringify(page.selected[page.currentView])\n page.getUploads(page.views[page.currentView])\n })\n}\n\npage.addToAlbum = id => {\n page.addUploadsToAlbum([id], failed => {\n if (!failed) return\n page.getUploads(page.views[page.currentView])\n })\n}\n\npage.addUploadsToAlbum = (ids, callback) => {\n const count = ids.length\n\n const content = document.createElement('div')\n content.innerHTML = `\n
    \n

    You are about to add ${count} upload${count === 1 ? '' : 's'} to an album.

    \n

    If an upload is already in an album, it will be moved.

    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n `\n\n swal({\n icon: 'warning',\n content,\n buttons: {\n cancel: true,\n confirm: {\n text: 'OK',\n closeModal: false\n }\n }\n }).then(choose => {\n if (!choose) return\n\n const albumid = parseInt(document.querySelector('#swalAlbum').value)\n if (isNaN(albumid)) return swal('An error occurred!', 'You did not choose an album.', 'error')\n\n axios.post('api/albums/addfiles', {\n ids,\n albumid\n }).then(add => {\n if (!add) return\n\n if (add.data.success === false) {\n if (add.data.description === 'No token provided') {\n page.verifyToken(page.token)\n } else {\n swal('An error occurred!', add.data.description, 'error')\n }\n return\n }\n\n let added = ids.length\n if (add.data.failed && add.data.failed.length) {\n added -= add.data.failed.length\n }\n\n const suffix = `upload${ids.length === 1 ? '' : 's'}`\n if (!added) return swal('An error occurred!', `Could not add the ${suffix} to the album.`, 'error')\n\n swal('Woohoo!', `Successfully ${albumid < 0 ? 'removed' : 'added'} ${added} ${suffix} ${albumid < 0 ? 'from' : 'to'} the album.`, 'success', {\n buttons: false,\n timer: 1500\n })\n callback(add.data.failed)\n }).catch(page.onAxiosError)\n })\n\n // Get albums list then update content of swal\n axios.get('api/albums', { headers: { simple: '1' } }).then(list => {\n if (list.data.success === false) {\n if (list.data.description === 'No token provided') {\n page.verifyToken(page.token)\n } else {\n swal('An error occurred!', list.data.description, 'error')\n }\n return\n }\n\n // If the prompt was replaced, the container would be missing\n const select = document.querySelector('#swalAlbum')\n if (!select) return\n\n select.innerHTML += list.data.albums\n .map(album => {\n return ``\n })\n .join('\\n')\n\n select.getElementsByTagName('option')[1].innerHTML = 'Choose an album'\n select.removeAttribute('disabled')\n }).catch(page.onAxiosError)\n}\n\npage.getAlbums = (params = {}) => {\n if (params && params.all && !page.permissions.moderator) {\n return swal('An error occurred!', 'You cannot do this!', 'error')\n }\n\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n page.updateTrigger(params.trigger, 'loading')\n\n if (typeof params.pageNum !== 'number') params.pageNum = 0\n\n const headers = {}\n if (params.all) headers.all = '1'\n\n const url = `api/albums/${params.pageNum}`\n axios.get(url, { headers }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(params.trigger)\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const pages = Math.ceil(response.data.count / 25)\n const albums = response.data.albums\n if (params.pageNum && (albums.length === 0)) {\n page.updateTrigger(params.trigger)\n if (params.autoPage) {\n params.pageNum = pages - 1\n return page.getAlbums(params)\n } else {\n return swal('An error occurred!', `There are no more albums to populate page ${params.pageNum + 1}.`, 'error')\n }\n }\n\n page.currentView = params.all ? 'albumsAll' : 'albums'\n page.cache = {}\n\n const users = response.data.users\n const homeDomain = response.data.homeDomain || window.location.origin\n\n if (params.pageNum < 0) params.pageNum = Math.max(0, pages + params.pageNum)\n const pagination = page.paginate(response.data.count, 25, params.pageNum)\n\n const filter = `\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n `\n const extraControls = `\n
    \n ${filter}\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n `\n\n const controls = `\n \n `\n\n // Do some string replacements for bottom controls\n const bottomFiltersId = 'bFilters'\n const bottomJumpId = 'bJumpToPage'\n const bottomExtraControls = extraControls\n .replace(/id=\"filters\"/, `id=\"${bottomFiltersId}\"`)\n .replace(/(data-action=\"filter-uploads\")/, `$1 data-filtersid=\"${bottomFiltersId}\"`)\n .replace(/id=\"jumpToPage\"/, `id=\"${bottomJumpId}\"`)\n .replace(/(data-action=\"jump-to-page\")/g, `$1 data-jumpid=\"${bottomJumpId}\"`)\n const bottomPagination = pagination\n .replace(/(data-action=\"page-ellipsis\")/g, `$1 data-jumpid=\"${bottomJumpId}\"`)\n\n // Whether there are any unselected items\n let unselected = false\n\n const createNewAlbum = `\n

    Create new album

    \n
    \n
    \n
    \n \n
    \n

    Max length is ${page.albumTitleMaxLength} characters.

    \n
    \n
    \n
    \n \n
    \n

    Max length is ${page.albumDescMaxLength} characters.

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n `\n\n page.dom.innerHTML = `\n ${!params.all ? createNewAlbum : ''}\n ${pagination}\n ${extraControls}\n ${controls}\n
    \n \n \n \n \n \n \n ${params.all ? '' : ''}\n \n \n \n \n \n \n \n \n \n \n \n
    IDNameUserUploadsSizeCreated atZIP sizeZIP generated atPublic link(${response.data.count} total)
    \n
    \n ${controls}\n ${bottomExtraControls}\n ${bottomPagination}\n `\n\n const table = document.querySelector('#table')\n\n for (let i = 0; i < albums.length; i++) {\n const album = albums[i]\n const urlPath = '/a/'\n const albumUrlText = urlPath + album.identifier\n const albumUrl = homeDomain + albumUrlText\n\n const selected = page.selected[page.currentView].includes(album.id)\n if (!selected) unselected = true\n\n // Prettify\n album.hasZip = album.zipSize !== null\n album.prettyDate = page.getPrettyDate(new Date(album.timestamp * 1000))\n album.prettyZipDate = album.hasZip ? page.getPrettyDate(new Date(album.zipGeneratedAt * 1000)) : null\n album.isZipExpired = album.hasZip && !(album.zipGeneratedAt > album.editedAt)\n\n // Server-side explicitly expect this value to consider an album as disabled\n const enabled = album.enabled !== 0\n page.cache[album.id] = {\n name: album.name,\n download: album.download,\n public: album.public,\n description: album.description,\n descriptionHtml: album.descriptionHtml,\n enabled,\n homeDomain,\n urlPath,\n identifier: album.identifier\n }\n\n const tr = document.createElement('tr')\n tr.dataset.id = album.id\n tr.innerHTML = `\n \n ${album.id}\n ${album.name}\n ${params.all ? `${album.userid ? (users[album.userid] || '') : ''}` : ''}\n ${album.uploads}\n ${page.getPrettyBytes(album.size)}\n ${album.prettyDate}\n ${album.hasZip ? page.getPrettyBytes(album.zipSize) : '-'}\n ${album.hasZip ? album.prettyZipDate : '-'}\n ${albumUrlText}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ${params.all\n ? `\n \n \n \n `\n : ''}\n \n `\n\n table.appendChild(tr)\n page.checkboxes = table.querySelectorAll('.checkbox[data-action=\"select\"]')\n }\n\n const selectAll = document.querySelector('#selectAll')\n if (selectAll && !unselected) {\n selectAll.checked = true\n selectAll.title = 'Unselect all'\n }\n\n page.fadeInDom()\n\n const pageNum = albums.length ? params.pageNum : 0\n if (params.forceScroll ||\n page.prevPageNums[page.currentView] === null ||\n page.prevPageNums[page.currentView] !== pageNum) {\n page.scrollToDom()\n }\n\n page.updateTrigger(params.trigger, 'active')\n\n if (page.currentView === 'albumsAll') {\n page.views[page.currentView].filters = params.filters\n }\n page.views[page.currentView].pageNum = page.prevPageNums[page.currentView] = pageNum\n }).catch(error => {\n page.updateTrigger(params.trigger)\n page.onAxiosError(error)\n })\n}\n\npage.editAlbum = id => {\n const album = page.cache[id]\n if (!album) return\n\n const albumUrlText = album.urlPath + album.identifier\n const albumUrl = album.homeDomain + albumUrlText\n\n const div = document.createElement('div')\n div.innerHTML = `\n
    \n
    \n \n
    \n

    Max length is ${page.albumTitleMaxLength} characters.

    \n
    \n
    \n
    \n \n
    \n

    Markdown supported. Max length is ${page.albumDescMaxLength} characters.

    \n
    \n ${album.descriptionHtml\n ? `
    \n
    \n ${album.descriptionHtml}\n
    \n

    Save changes then re-open this Edit prompt to refresh this preview.

    \n
    `\n : ''}\n ${page.currentView === 'albumsAll' && page.permissions.moderator\n ? `
    \n
    \n \n
    \n
    `\n : ''}\n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n

    Current public link: ${albumUrlText}

    \n
    \n `\n\n swal({\n title: 'Edit album',\n icon: 'info',\n content: div,\n buttons: {\n cancel: true,\n confirm: {\n closeModal: false\n }\n }\n }).then(value => {\n if (!value) return\n\n const post = {\n id,\n name: document.querySelector('#swalName').value.trim(),\n description: document.querySelector('#swalDescription').value.trim(),\n download: document.querySelector('#swalDownload').checked,\n public: document.querySelector('#swalPublic').checked,\n requestLink: document.querySelector('#swalRequestLink').checked\n }\n\n if (page.currentView === 'albumsAll' && page.permissions.moderator) {\n post.enabled = document.querySelector('#swalEnabled').checked\n }\n\n axios.post('api/albums/edit', post).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n if (response.data.identifier) {\n swal('Success!', `The album's new identifier is: ${response.data.identifier}.`, 'success')\n } else if (response.data.name !== album.name) {\n swal('Success!', `The album was renamed to: ${response.data.name}.`, 'success')\n } else {\n swal('Success!', 'The album was edited.', 'success', {\n buttons: false,\n timer: 1500\n })\n }\n\n page.getAlbumsSidebar()\n // Reload albums list\n // eslint-disable-next-line compat/compat\n page.getAlbums(Object.assign(page.views[page.currentView], {\n autoPage: true\n }))\n }).catch(page.onAxiosError)\n })\n}\n\npage.disableAlbum = id => {\n swal({\n title: 'Are you sure?',\n text: 'This won\\'t delete the uploads associated with the album!',\n icon: 'warning',\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: 'Yes, disable it!',\n closeModal: false\n },\n purge: {\n text: 'Umm, delete the uploads, please?',\n value: 'purge',\n className: 'swal-button--danger',\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/albums/disable', {\n id,\n purge: proceed === 'purge'\n }).then(response => {\n if (response.data.success === false) {\n const failed = Array.isArray(response.data.failed)\n ? response.data.failed\n : []\n\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else if (failed.length) {\n return swal('An error occurred!', `Unable to delete ${failed.length} of the album's upload${failed.length === 1 ? '' : 's'}.`, 'error')\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n swal('Disabled!', 'The album has been disabled.', 'success', {\n buttons: false,\n timer: 1500\n })\n\n page.getAlbumsSidebar()\n // Reload albums list\n // eslint-disable-next-line compat/compat\n page.getAlbums(Object.assign(page.views[page.currentView], {\n autoPage: true\n }))\n }).catch(page.onAxiosError)\n })\n}\n\npage.deleteAlbum = id => {\n swal({\n title: 'Are you sure?',\n text: 'You won\\'t be able to recover this album!\\n' +\n 'This also won\\'t delete the uploads associated with the album!',\n icon: 'warning',\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: 'Yes, delete it!',\n closeModal: false\n },\n purge: {\n text: 'Umm, delete the uploads, please?',\n value: 'purge',\n className: 'swal-button--danger',\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/albums/delete', {\n id,\n purge: proceed === 'purge'\n }).then(response => {\n if (response.data.success === false) {\n const failed = Array.isArray(response.data.failed)\n ? response.data.failed\n : []\n\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else if (failed.length) {\n return swal('An error occurred!', `Unable to delete ${failed.length} of the album's upload${failed.length === 1 ? '' : 's'}.`, 'error')\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n swal('Disabled!', 'The album has been deleted.', 'success', {\n buttons: false,\n timer: 1500\n })\n\n page.getAlbumsSidebar()\n // Reload albums list\n // eslint-disable-next-line compat/compat\n page.getAlbums(Object.assign(page.views[page.currentView], {\n autoPage: true\n }))\n }).catch(page.onAxiosError)\n })\n}\n\npage.submitAlbum = element => {\n page.updateTrigger(element, 'loading')\n\n axios.post('api/albums', {\n name: document.querySelector('#albumName').value.trim(),\n description: document.querySelector('#albumDescription').value.trim()\n }).then(response => {\n if (!response) return\n\n page.updateTrigger(element)\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n swal('Woohoo!', 'Album was created successfully.', 'success', {\n buttons: false,\n timer: 1500\n })\n page.getAlbumsSidebar()\n page.getAlbums({\n pageNum: -1\n })\n }).catch(error => {\n page.updateTrigger(element)\n page.onAxiosError(error)\n })\n}\n\npage.getAlbumsSidebar = () => {\n axios.get('api/albums', { headers: { simple: '1' } }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const albums = response.data.albums\n const count = response.data.count\n const albumsSidebar = document.querySelector('#albumsSidebar')\n\n // Clear albums sidebar if necessary\n const oldAlbums = albumsSidebar.querySelectorAll('li > a')\n const diffCount = oldAlbums.length !== count\n if (oldAlbums.length) {\n for (let i = 0; i < oldAlbums.length; i++) {\n page.menus.splice(page.menus.indexOf(oldAlbums[i]), 1)\n }\n albumsSidebar.innerHTML = ''\n }\n\n page.albumsSidebarCollapse.innerText = page.albumsSidebarCollapsible.collapsed()\n ? page.albumsSidebarCollapse.dataset.textExpand\n : page.albumsSidebarCollapse.dataset.textCollapse\n\n if (!albums || !albums.length) {\n page.albumsSidebarCollapsible.collapse()\n page.albumsSidebarCollapse.setAttribute('disabled', 'disabled')\n return\n }\n\n for (let i = 0; i < albums.length; i++) {\n const album = albums[i]\n const li = document.createElement('li')\n const a = document.createElement('a')\n a.id = album.id\n a.className = 'is-relative'\n a.innerHTML = album.name\n\n a.addEventListener('click', event => {\n page.getUploads({\n album: parseInt(event.currentTarget.id),\n trigger: event.currentTarget\n })\n })\n page.menus.push(a)\n\n li.appendChild(a)\n albumsSidebar.appendChild(li)\n }\n\n page.albumsSidebarCollapse.removeAttribute('disabled')\n if (!page.albumsSidebarCollapsible.collapsed() && diffCount) {\n // Since it's not possible to refresh collapsible's height with bulmaCollapsible APIs,\n // forcefully collapse albums sidebar if albums count is different with the previous iteration.\n page.albumsSidebarCollapsible.collapse()\n }\n }).catch(page.onAxiosError)\n}\n\npage.changeToken = (params = {}) => {\n page.dom.innerHTML = `\n
    \n \n
    \n
    \n \n
    \n
    \n
    \n \n `\n page.fadeInDom()\n page.scrollToDom()\n page.updateTrigger(params.trigger, 'active')\n\n document.querySelector('#getNewToken').addEventListener('click', event => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n const trigger = event.currentTarget\n page.updateTrigger(trigger, 'loading')\n axios.post('api/tokens/change').then(response => {\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(trigger)\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n page.updateTrigger(trigger)\n swal({\n title: 'Woohoo!',\n text: 'Your token was successfully changed.',\n icon: 'success',\n buttons: false,\n timer: 1500\n }).then(() => {\n axios.defaults.headers.common.token = response.data.token\n localStorage[lsKeys.token] = response.data.token\n page.token = response.data.token\n page.changeToken()\n })\n }).catch(error => {\n page.updateTrigger(trigger)\n page.onAxiosError(error)\n })\n })\n}\n\npage.changePassword = (params = {}) => {\n page.dom.innerHTML = `\n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n `\n page.fadeInDom()\n page.scrollToDom()\n page.updateTrigger(params.trigger, 'active')\n\n document.querySelector('#sendChangePassword').addEventListener('click', event => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n if (!page.dom.querySelector('form').checkValidity()) return\n\n if (document.querySelector('#password').value === document.querySelector('#passwordConfirm').value) {\n page.sendNewPassword(document.querySelector('#password').value, event.currentTarget)\n } else {\n swal({\n title: 'Password mismatch!',\n text: 'Your passwords do not match, please try again.',\n icon: 'error'\n })\n }\n })\n}\n\npage.sendNewPassword = (pass, element) => {\n page.updateTrigger(element, 'loading')\n\n axios.post('api/password/change', { password: pass }).then(response => {\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(element)\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n page.updateTrigger(element)\n swal({\n title: 'Woohoo!',\n text: 'Your password was successfully changed.',\n icon: 'success',\n buttons: false,\n timer: 1500\n }).then(() => {\n page.changePassword()\n })\n }).catch(error => {\n page.updateTrigger(element)\n page.onAxiosError(error)\n })\n}\n\npage.getUsers = (params = {}) => {\n if (!page.permissions.admin) return swal('An error occurred!', 'You cannot do this!', 'error')\n\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n page.updateTrigger(params.trigger, 'loading')\n\n if (typeof params.pageNum !== 'number') params.pageNum = 0\n\n const url = `api/users/${params.pageNum}`\n axios.get(url).then(response => {\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(params.trigger)\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const pages = Math.ceil(response.data.count / 25)\n const users = response.data.users\n if (params.pageNum && (users.length === 0)) {\n page.updateTrigger(params.trigger)\n if (params.autoPage) {\n params.pageNum = pages - 1\n return page.getUsers(params)\n } else {\n return swal('An error occurred!', `There are no more users to populate page ${params.pageNum + 1}.`, 'error')\n }\n }\n\n page.currentView = 'users'\n page.cache = {}\n\n if (params.pageNum < 0) params.pageNum = Math.max(0, pages + params.pageNum)\n const pagination = page.paginate(response.data.count, 25, params.pageNum)\n\n const filter = `\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n `\n const extraControls = `\n
    \n ${filter}\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n `\n\n const controls = `\n \n `\n\n // Do some string replacements for bottom controls\n const bottomFiltersId = 'bFilters'\n const bottomJumpId = 'bJumpToPage'\n const bottomExtraControls = extraControls\n .replace(/id=\"filters\"/, `id=\"${bottomFiltersId}\"`)\n .replace(/(data-action=\"filter-uploads\")/, `$1 data-filtersid=\"${bottomFiltersId}\"`)\n .replace(/id=\"jumpToPage\"/, `id=\"${bottomJumpId}\"`)\n .replace(/(data-action=\"jump-to-page\")/g, `$1 data-jumpid=\"${bottomJumpId}\"`)\n const bottomPagination = pagination\n .replace(/(data-action=\"page-ellipsis\")/g, `$1 data-jumpid=\"${bottomJumpId}\"`)\n\n // Whether there are any unselected items\n let unselected = false\n\n page.dom.innerHTML = `\n ${pagination}\n ${extraControls}\n ${controls}\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    UsernameUploadsUsageGroupRegistration dateLast token update(${response.data.count} total)
    \n
    \n ${controls}\n ${bottomExtraControls}\n ${bottomPagination}\n `\n\n const table = document.querySelector('#table')\n\n for (let i = 0; i < users.length; i++) {\n const user = users[i]\n const selected = page.selected[page.currentView].includes(user.id)\n if (!selected) unselected = true\n\n let displayGroup = null\n const groups = Object.keys(user.groups)\n for (let i = 0; i < groups.length; i++) {\n if (!user.groups[groups[i]]) break\n displayGroup = groups[i]\n }\n\n // Server-side explicitly expects either of these two values to consider a user as disabled\n const enabled = user.enabled !== false && user.enabled !== 0\n page.cache[user.id] = {\n username: user.username,\n groups: user.groups,\n enabled,\n displayGroup\n }\n\n const prettyDate = user.registration\n ? page.getPrettyDate(new Date(user.registration * 1000))\n : '-'\n const prettyTokenUpdate = user.timestamp\n ? page.getPrettyDate(new Date(user.timestamp * 1000))\n : '-'\n\n const tr = document.createElement('tr')\n tr.dataset.id = user.id\n tr.innerHTML = `\n \n ${user.username}\n ${user.uploads}\n ${page.getPrettyBytes(user.usage)}\n ${displayGroup}\n ${prettyDate}\n ${prettyTokenUpdate}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `\n\n table.appendChild(tr)\n page.checkboxes = table.querySelectorAll('.checkbox[data-action=\"select\"]')\n }\n\n const selectAll = document.querySelector('#selectAll')\n if (selectAll && !unselected) {\n selectAll.checked = true\n selectAll.title = 'Unselect all'\n }\n\n page.fadeInDom()\n\n const pageNum = users.length ? params.pageNum : 0\n if (params.forceScroll ||\n page.prevPageNums[page.currentView] === null ||\n page.prevPageNums[page.currentView] !== pageNum) {\n page.scrollToDom()\n }\n\n page.updateTrigger(params.trigger, 'active')\n\n page.views[page.currentView].pageNum = page.prevPageNums[page.currentView] = pageNum\n }).catch(error => {\n page.updateTrigger(params.trigger)\n page.onAxiosError(error)\n })\n}\n\npage.createUser = () => {\n const groupOptions = Object.keys(page.permissions).map((g, i, a) => {\n const disabled = !(a[i + 1] && page.permissions[a[i + 1]])\n return ``\n }).join('\\n')\n\n const div = document.createElement('div')\n div.innerHTML = `\n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n `\n\n swal({\n title: 'Create new user',\n icon: 'info',\n content: div,\n buttons: {\n cancel: true,\n confirm: {\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/users/create', {\n username: document.querySelector('#swalUsername').value,\n password: document.querySelector('#swalPassword').value,\n group: document.querySelector('#swalGroup').value\n }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const div = document.createElement('div')\n div.innerHTML = `\n

    Username: ${response.data.username}

    \n

    Password: ${response.data.password}

    \n

    User group: ${response.data.group}

    \n `\n swal({\n title: 'Created a new user!',\n icon: 'success',\n content: div\n })\n\n // Load last page of users list\n // eslint-disable-next-line compat/compat\n page.getUsers(Object.assign(page.views.users, {\n pageNum: -1\n }))\n }).catch(page.onAxiosError)\n })\n}\n\npage.editUser = id => {\n const user = page.cache[id]\n if (!user) return\n\n let isHigher = false\n const groupOptions = Object.keys(page.permissions).map((g, i, a) => {\n const selected = g === user.displayGroup\n if (selected) {\n isHigher = typeof a[i + 1] !== 'undefined' && page.permissions[a[i + 1]]\n }\n const disabled = !(a[i + 1] && page.permissions[a[i + 1]])\n return ``\n }).join('\\n')\n\n const isDisabledHelper = isHigher ? '' : ' disabled'\n const div = document.createElement('div')\n div.innerHTML = `\n
    \n

    User ID: ${id}

    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n ${isHigher\n ? ''\n : `
    \n You cannot modify user in the same or higher group as you.\n
    `\n }\n `\n\n swal({\n title: 'Edit user',\n icon: 'info',\n content: div,\n buttons: {\n cancel: true,\n confirm: {\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/users/edit', {\n id,\n username: document.querySelector('#swalUsername').value,\n group: document.querySelector('#swalGroup').value,\n enabled: document.querySelector('#swalEnabled').checked,\n resetPassword: document.querySelector('#swalResetPassword').checked\n }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n let autoClose = true\n const div = document.createElement('div')\n\n let displayName = user.username\n if (response.data.update.username !== user.username) {\n div.innerHTML += `

    ${user.username} was renamed into: ${response.data.update.username}.

    `\n autoClose = false\n displayName = response.data.update.username\n }\n\n if (response.data.update.password) {\n div.innerHTML += `\n

    ${displayName}'s new password is:

    \n

    ${response.data.update.password}

    \n `\n autoClose = false\n }\n\n if (response.data.update.enabled !== user.enabled) {\n div.innerHTML += `

    ${displayName} has been ${response.data.update.enabled ? 'enabled' : 'disabled'}!

    `\n }\n\n if (!div.innerHTML) {\n div.innerHTML = `

    ${displayName} was edited!

    `\n }\n\n swal({\n title: 'Success!',\n icon: 'success',\n content: div,\n buttons: !autoClose,\n timer: autoClose ? 1500 : null\n })\n page.getUsers(page.views.users)\n }).catch(page.onAxiosError)\n })\n}\n\npage.disableUser = id => {\n const user = page.cache[id]\n if (!user || !user.enabled) return\n\n const content = document.createElement('div')\n content.innerHTML = `\n

    You will be disabling a user named ${page.cache[id].username}.

    \n

    Their files will remain.

    \n `\n\n swal({\n title: 'Are you sure?',\n icon: 'warning',\n content,\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: 'Yes, disable them!',\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/users/disable', { id }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n swal('Success!', `${page.cache[id].username} has been disabled.`, 'success', {\n buttons: false,\n timer: 1500\n })\n page.getUsers(page.views.users)\n }).catch(page.onAxiosError)\n })\n}\n\npage.deleteUser = id => {\n const user = page.cache[id]\n if (!user) return\n\n const content = document.createElement('div')\n content.innerHTML = `\n

    You will be deleting a user named ${page.cache[id].username}.

    \n

    Their uploads will still remain, unless you choose otherwise.

    \n `\n\n swal({\n title: 'Are you sure?',\n icon: 'warning',\n content,\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: 'Yes, ONLY the user!',\n closeModal: false\n },\n purge: {\n text: 'Yes, AND their uploads too!',\n value: 'purge',\n className: 'swal-button--danger',\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/users/delete', {\n id,\n purge: proceed === 'purge'\n }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n const failed = Array.isArray(response.data.failed)\n ? response.data.failed\n : []\n\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else if (failed.length) {\n return swal('An error occurred!', `Unable to delete ${failed.length} of the user's upload${failed.length === 1 ? '' : 's'}.`, 'error')\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n swal('Success!', `${page.cache[id].username} has been deleted.`, 'success', {\n buttons: false,\n timer: 1500\n })\n\n // Reload users list\n // eslint-disable-next-line compat/compat\n page.getUsers(Object.assign(page.views.users, {\n autoPage: true\n }))\n }).catch(page.onAxiosError)\n })\n}\n\n// Roughly based on https://github.com/mayuska/pagination/blob/03cac0fb8af3a759bc1220bd3c011b67dbc5e909/index.js\npage.paginate = (totalItems, itemsPerPage, currentPage) => {\n currentPage = currentPage + 1\n const step = 3\n const numPages = Math.ceil(totalItems / itemsPerPage)\n\n let template = ''\n const elementsToShow = step * 2\n const add = {\n pageNum (start, end) {\n for (let i = start; i <= end; ++i) {\n template += `
  • ${i}
  • `\n }\n },\n startDots () {\n template += `\n
  • 1
  • \n
  • \n `\n },\n endDots () {\n template += `\n
  • \n
  • ${numPages}
  • \n `\n }\n }\n\n if (elementsToShow + 1 >= numPages) {\n add.pageNum(1, numPages)\n } else if (currentPage < elementsToShow) {\n add.pageNum(1, elementsToShow)\n add.endDots()\n } else if (currentPage > numPages - elementsToShow + 1) {\n add.startDots()\n add.pageNum(numPages - elementsToShow + 1, numPages)\n } else {\n add.startDots()\n add.pageNum(currentPage - step + 1, currentPage + step - 1)\n add.endDots()\n }\n\n return `\n \n `\n}\n\npage.getStatistics = (params = {}) => {\n if (!page.permissions.admin) return swal('An error occurred!', 'You cannot do this!', 'error')\n\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n page.updateTrigger(params.trigger, 'loading')\n\n const url = 'api/stats'\n axios.get(url).then(response => {\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(params.trigger)\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n let content = ''\n const keys = Object.keys(response.data.stats)\n for (let i = 0; i < keys.length; i++) {\n let rows = ''\n if (!response.data.stats[keys[i]]) {\n rows += `\n \n Generating, please try again later\\u2026\n \n \n `\n } else {\n try {\n const valKeys = Object.keys(response.data.stats[keys[i]])\n for (let j = 0; j < valKeys.length; j++) {\n const data = response.data.stats[keys[i]][valKeys[j]]\n const type = typeof data === 'object' ? data.type : 'auto'\n const value = typeof data === 'object' ? data.value : data\n\n let parsed\n switch (type) {\n case 'byte':\n parsed = page.getPrettyBytes(value)\n break\n case 'byteUsage': {\n // Reasoning: https://github.com/sebhildebrandt/systeminformation/issues/464#issuecomment-756406053\n const totalForPercentage = typeof value.available !== 'undefined'\n ? (value.used + value.available)\n : value.total\n parsed = `${page.getPrettyBytes(value.used)} / ${page.getPrettyBytes(value.total)} (${(value.used / totalForPercentage * 100).toFixed(2)}%)`\n break\n }\n case 'uptime':\n parsed = page.getPrettyUptime(value)\n break\n case 'auto':\n switch (typeof value) {\n case 'number':\n parsed = value.toLocaleString()\n break\n default:\n parsed = value\n }\n break\n default:\n parsed = value\n }\n\n rows += `\n \n ${valKeys[j]}\n ${parsed}\n \n `\n }\n } catch (error) {\n rows = `\n \n Error parsing response. Try again?\n \n \n `\n page.onError(error)\n }\n }\n\n content += `\n
    \n \n \n \n \n \n \n \n \n ${rows}\n \n
    ${keys[i]}
    \n
    \n `\n }\n\n if (Array.isArray(response.data.hrtime)) {\n content += `\n
    \n
    \n Time taken: ${response.data.hrtime[0]}s ${Math.ceil(response.data.hrtime[1] / 1000000)}ms.\n
    \n
    \n `\n }\n\n page.dom.innerHTML = content\n page.fadeInDom()\n page.scrollToDom()\n page.updateTrigger(params.trigger, 'active')\n }).catch(error => {\n page.updateTrigger(params.trigger)\n page.onAxiosError(error)\n })\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n // Polyfill Object.assign()\n // eslint-disable-next-line compat/compat\n if (typeof Object.assign !== 'function') {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, 'assign', {\n value: function assign (target, varArgs) { // .length of function is 2\n 'use strict'\n if (target === null || typeof target === 'undefined') {\n throw new TypeError('Cannot convert undefined or null to object')\n }\n const to = Object(target)\n for (let i = 1; i < arguments.length; i++) {\n const nextSource = arguments[i]\n if (nextSource !== null && typeof nextSource !== 'undefined') {\n for (const nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey]\n }\n }\n }\n }\n return to\n },\n writable: true,\n configurable: true\n })\n }\n\n // Add 'no-touch' class to non-touch devices\n if (!('ontouchstart' in document.documentElement)) {\n document.documentElement.classList.add('no-touch')\n }\n\n const selectedKeys = ['uploads', 'uploadsAll', 'albums', 'albumsAll', 'users']\n for (let i = 0; i < selectedKeys.length; i++) {\n const ls = localStorage[lsKeys.selected[selectedKeys[i]]]\n if (ls) page.selected[selectedKeys[i]] = JSON.parse(ls)\n }\n\n page.preparePage()\n\n page.clipboardJS = new ClipboardJS('.clipboard-js')\n\n page.clipboardJS.on('success', () => {\n return swal('', 'The link has been copied to clipboard.', 'success', {\n buttons: false,\n timer: 1500\n })\n })\n\n page.clipboardJS.on('error', page.onError)\n\n page.lazyLoad = new LazyLoad()\n\n page.albumsSidebarCollapse = document.querySelector('#albumsSidebarCollapse')\n\n /* eslint-disable-next-line new-cap */\n page.albumsSidebarCollapsible = new bulmaCollapsible(document.querySelector('#albumsSidebar'))\n page.albumsSidebarCollapsible.on('before:expand', event => {\n page.albumsSidebarCollapse.innerText = page.albumsSidebarCollapse.dataset.textCollapse\n })\n page.albumsSidebarCollapsible.on('before:collapse', event => {\n page.albumsSidebarCollapse.innerText = page.albumsSidebarCollapse.dataset.textExpand\n })\n})\n"]} \ No newline at end of file diff --git a/dist/js/file.js.map b/dist/js/file.js.map index c06dced..cd3a9fe 100644 --- a/dist/js/file.js.map +++ b/dist/js/file.js.map @@ -1 +1 @@ -{"version":3,"sources":["file.js"],"names":["const","lsKeys","token","page","localStorage","urlPrefix","urlIdentifier","messageElement","document","querySelector","fileinfoContainer","clipboardBtn","playerBtn","downloadBtn","deleteBtn","uploadRoot","titleFormat","file","clipboardJS","content","innerHTML","classList","remove","error","console","updateMessageBody","toString","statusText","response","status","description","data","createElement","swal","title","icon","dangerMode","buttons","cancel","confirm","text","closeModal","then","proceed","axios","post","id","success","Array","isArray","failed","length","catch","onAxiosError","get","includes","replace","name","let","rows","keys","Object","i","value","prettyValue","getPrettyBytes","getPrettyDate","Date","innerText","fileUrl","setAttribute","dataset","clipboardText","img","src","parentNode","onerror","event","currentTarget","add","isvideo","type","startsWith","isaudio","urlParams","has","click","onError","window","addEventListener","URLSearchParams","searchString","self","this","RegExp","exec","defaults","headers","common","mainScript","location","protocol","host","match","pathname","substring","indexOf","search","ClipboardJS","on","timer","deleteFile","loadFileinfo"],"mappings":"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","file":"file.js","sourcesContent":["/* global swal, axios, ClipboardJS */\n\nconst lsKeys = {\n token: 'token'\n}\n\nconst page = {\n // user token\n token: localStorage[lsKeys.token],\n\n urlPrefix: null,\n urlIdentifier: null,\n\n messageElement: document.querySelector('#message'),\n fileinfoContainer: document.querySelector('#fileinfo'),\n\n clipboardBtn: document.querySelector('#clipboardBtn'),\n playerBtn: document.querySelector('#playerBtn'),\n downloadBtn: document.querySelector('#downloadBtn'),\n deleteBtn: document.querySelector('#deleteBtn'),\n uploadRoot: null,\n titleFormat: null,\n\n file: null,\n clipboardJS: null\n}\n\npage.updateMessageBody = content => {\n page.messageElement.querySelector('.message-body').innerHTML = content\n page.messageElement.classList.remove('is-hidden')\n}\n\n// Handler for regular JS errors\npage.onError = error => {\n console.error(error)\n page.updateMessageBody(`\n

    An error occurred!

    \n

    ${error.toString()}

    \n

    Please check your console for more information.

    \n `)\n}\n\n// Handler for Axios errors\npage.onAxiosError = error => {\n // Better Cloudflare errors\n const cloudflareErrors = {\n 520: 'Unknown Error',\n 521: 'Web Server Is Down',\n 522: 'Connection Timed Out',\n 523: 'Origin Is Unreachable',\n 524: 'A Timeout Occurred',\n 525: 'SSL Handshake Failed',\n 526: 'Invalid SSL Certificate',\n 527: 'Railgun Error',\n 530: 'Origin DNS Error'\n }\n\n const statusText = cloudflareErrors[error.response.status] || error.response.statusText\n\n const description = error.response.data && error.response.data.description\n ? error.response.data.description\n : ''\n page.updateMessageBody(`\n

    ${error.response.status} ${statusText}

    \n

    ${description}

    \n `)\n}\n\npage.deleteFile = () => {\n if (!page.file) return\n\n const content = document.createElement('div')\n content.innerHTML = '

    You won\\'t be able to recover this file!

    '\n\n swal({\n title: 'Are you sure?',\n content,\n icon: 'warning',\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: 'Yes, nuke it!',\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('../api/upload/delete', {\n id: page.file.id\n }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n return swal('An error occurred!', response.data.description, 'error')\n }\n\n const failed = Array.isArray(response.data.failed) ? response.data.failed : []\n if (failed.length) {\n swal('An error occurred!', 'Unable to delete this file.', 'error')\n } else {\n swal('Deleted!', 'This file has been deleted.', 'success', {\n buttons: false\n })\n }\n }).catch(page.onAxiosError)\n })\n}\n\npage.loadFileinfo = () => {\n if (!page.urlIdentifier) return\n\n axios.get(`../api/upload/get/${page.urlIdentifier}`).then(response => {\n if (![200, 304].includes(response.status)) {\n return page.onAxiosError(response)\n }\n\n page.file = response.data.file\n\n if (page.titleFormat) {\n document.title = page.titleFormat.replace(/%identifier%/g, page.file.name)\n }\n\n let rows = ''\n const keys = Object.keys(page.file)\n for (let i = 0; i < keys.length; i++) {\n const value = page.file[keys[i]]\n\n let prettyValue = ''\n if (value) {\n if (['size'].includes(keys[i])) {\n prettyValue = page.getPrettyBytes(value)\n } else if (['timestamp', 'expirydate'].includes(keys[i])) {\n prettyValue = page.getPrettyDate(new Date(value * 1000))\n }\n }\n\n rows += `\n \n ${keys[i]}\n ${value}\n ${prettyValue}\n \n `\n }\n\n document.querySelector('#title').innerText = page.file.name\n page.fileinfoContainer.querySelector('.table-container').innerHTML = `\n
    \n \n \n \n \n \n \n \n \n \n ${rows}\n \n
    FieldsValues
    \n
    \n `\n\n const fileUrl = `${page.uploadRoot}/${page.file.name}`\n page.downloadBtn.setAttribute('href', fileUrl)\n page.clipboardBtn.dataset.clipboardText = fileUrl\n\n const img = page.fileinfoContainer.querySelector('img')\n img.setAttribute('alt', page.file.name || '')\n img.src = `${page.uploadRoot}/${page.file.name}`\n img.parentNode.classList.remove('is-hidden')\n img.onerror = event => event.currentTarget.parentNode.classList.add('is-hidden')\n\n const isvideo = page.file.type.startsWith('video/')\n const isaudio = page.file.type.startsWith('audio/')\n if (isvideo || isaudio) {\n page.playerBtn.setAttribute('href', `../v/${page.file.name}`)\n page.playerBtn.parentNode.parentNode.classList.remove('is-hidden')\n }\n\n page.fileinfoContainer.classList.remove('is-hidden')\n page.messageElement.classList.add('is-hidden')\n\n if (page.urlParams.has('delete')) {\n page.deleteBtn.click()\n }\n }).catch(error => {\n if (typeof error.response !== 'undefined') page.onAxiosError(error)\n else page.onError(error)\n })\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n // Partial polyfill URLSearchParams.has()\n // eslint-disable-next-line compat/compat\n window.URLSearchParams = window.URLSearchParams || function (searchString) {\n const self = this\n self.has = function (name) {\n const results = new RegExp('[?&]' + name).exec(self.searchString)\n if (results == null) {\n return false\n } else {\n return true\n }\n }\n }\n\n axios.defaults.headers.common.token = page.token\n\n const mainScript = document.querySelector('#mainScript')\n if (!mainScript || typeof mainScript.dataset.uploadRoot === 'undefined') return\n\n page.uploadRoot = mainScript.dataset.uploadRoot\n page.titleFormat = mainScript.dataset.titleFormat\n\n let urlPrefix = window.location.protocol + '//' + window.location.host\n const match = window.location.pathname.match(/.*\\/(.*)$/)\n if (!match || !match[1]) {\n return page.updateMessageBody('

    Failed to parse upload identifier from URL.

    ')\n }\n\n page.urlIdentifier = match[1]\n urlPrefix += window.location.pathname.substring(0, window.location.pathname.indexOf(match[1]))\n page.urlPrefix = urlPrefix\n\n // eslint-disable-next-line compat/compat\n page.urlParams = new URLSearchParams(window.location.search)\n\n page.clipboardJS = new ClipboardJS('.clipboard-js')\n\n page.clipboardJS.on('success', () => {\n return swal('', 'The link has been copied to clipboard.', 'success', {\n buttons: false,\n timer: 1500\n })\n })\n\n page.clipboardJS.on('error', page.onError)\n\n page.deleteBtn.addEventListener('click', page.deleteFile)\n\n page.loadFileinfo()\n})\n"]} \ No newline at end of file +{"version":3,"sources":["file.js"],"names":["const","lsKeys","token","page","localStorage","urlPrefix","urlIdentifier","messageElement","document","querySelector","fileinfoContainer","clipboardBtn","playerBtn","downloadBtn","deleteBtn","uploadRoot","titleFormat","file","clipboardJS","content","innerHTML","classList","remove","error","console","updateMessageBody","toString","statusText","response","status","description","data","createElement","swal","title","icon","dangerMode","buttons","cancel","confirm","text","closeModal","then","proceed","axios","post","id","success","Array","isArray","failed","length","catch","onAxiosError","get","includes","replace","name","let","rows","keys","Object","i","value","prettyValue","getPrettyBytes","getPrettyDate","Date","innerText","fileUrl","setAttribute","dataset","clipboardText","img","src","parentNode","onerror","event","currentTarget","add","isvideo","type","startsWith","isaudio","urlParams","has","click","onError","window","addEventListener","URLSearchParams","searchString","self","this","RegExp","exec","defaults","headers","common","mainScript","location","protocol","host","match","pathname","substring","indexOf","search","ClipboardJS","on","timer","deleteFile","loadFileinfo"],"mappings":"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","file":"file.js","sourcesContent":["/* global swal, axios, ClipboardJS */\n\nconst lsKeys = {\n token: 'token'\n}\n\nconst page = {\n // user token\n token: localStorage[lsKeys.token],\n\n urlPrefix: null,\n urlIdentifier: null,\n\n messageElement: document.querySelector('#message'),\n fileinfoContainer: document.querySelector('#fileinfo'),\n\n clipboardBtn: document.querySelector('#clipboardBtn'),\n playerBtn: document.querySelector('#playerBtn'),\n downloadBtn: document.querySelector('#downloadBtn'),\n deleteBtn: document.querySelector('#deleteBtn'),\n uploadRoot: null,\n titleFormat: null,\n\n file: null,\n clipboardJS: null\n}\n\npage.updateMessageBody = content => {\n page.messageElement.querySelector('.message-body').innerHTML = content\n page.messageElement.classList.remove('is-hidden')\n}\n\n// Handler for regular JS errors\npage.onError = error => {\n console.error(error)\n page.updateMessageBody(`\n

    An error occurred!

    \n

    ${error.toString()}

    \n

    Please check your console for more information.

    \n `)\n}\n\n// Handler for Axios errors\npage.onAxiosError = error => {\n // Better Cloudflare errors\n const cloudflareErrors = {\n 520: 'Unknown Error',\n 521: 'Web Server Is Down',\n 522: 'Connection Timed Out',\n 523: 'Origin Is Unreachable',\n 524: 'A Timeout Occurred',\n 525: 'SSL Handshake Failed',\n 526: 'Invalid SSL Certificate',\n 527: 'Railgun Error',\n 530: 'Origin DNS Error'\n }\n\n const statusText = cloudflareErrors[error.response.status] || error.response.statusText\n\n const description = error.response.data && error.response.data.description\n ? error.response.data.description\n : ''\n page.updateMessageBody(`\n

    ${error.response.status} ${statusText}

    \n

    ${description}

    \n `)\n}\n\npage.deleteFile = () => {\n if (!page.file) return\n\n const content = document.createElement('div')\n content.innerHTML = '

    You won\\'t be able to recover this file!

    '\n\n swal({\n title: 'Are you sure?',\n content,\n icon: 'warning',\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: 'Yes, nuke it!',\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('../api/upload/delete', {\n id: page.file.id\n }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n return swal('An error occurred!', response.data.description, 'error')\n }\n\n const failed = Array.isArray(response.data.failed) ? response.data.failed : []\n if (failed.length) {\n swal('An error occurred!', 'Unable to delete this file.', 'error')\n } else {\n swal('Deleted!', 'This file has been deleted.', 'success', {\n buttons: false\n })\n }\n }).catch(page.onAxiosError)\n })\n}\n\npage.loadFileinfo = () => {\n if (!page.urlIdentifier) return\n\n axios.get(`../api/upload/get/${page.urlIdentifier}`).then(response => {\n if (![200, 304].includes(response.status)) {\n return page.onAxiosError(response)\n }\n\n page.file = response.data.file\n\n if (page.titleFormat) {\n document.title = page.titleFormat.replace(/%identifier%/g, page.file.name)\n }\n\n let rows = ''\n const keys = Object.keys(page.file)\n for (let i = 0; i < keys.length; i++) {\n const value = page.file[keys[i]]\n\n let prettyValue = ''\n if (value) {\n if (['size'].includes(keys[i])) {\n prettyValue = page.getPrettyBytes(value)\n } else if (['timestamp', 'expirydate'].includes(keys[i])) {\n prettyValue = page.getPrettyDate(new Date(value * 1000))\n }\n }\n\n rows += `\n \n ${keys[i]}\n ${value}\n ${prettyValue}\n \n `\n }\n\n document.querySelector('#title').innerText = page.file.name\n page.fileinfoContainer.querySelector('.table-container').innerHTML = `\n
    \n \n \n \n \n \n \n \n \n \n ${rows}\n \n
    FieldsValues
    \n
    \n `\n\n const fileUrl = `${page.uploadRoot}/${page.file.name}`\n page.downloadBtn.setAttribute('href', fileUrl)\n page.clipboardBtn.dataset.clipboardText = fileUrl\n\n const img = page.fileinfoContainer.querySelector('img')\n img.setAttribute('alt', page.file.name || '')\n img.src = `${page.uploadRoot}/${page.file.name}`\n img.parentNode.classList.remove('is-hidden')\n img.onerror = event => event.currentTarget.parentNode.classList.add('is-hidden')\n\n const isvideo = page.file.type.startsWith('video/')\n const isaudio = page.file.type.startsWith('audio/')\n if (isvideo || isaudio) {\n page.playerBtn.setAttribute('href', `../v/${page.file.name}`)\n page.playerBtn.parentNode.parentNode.classList.remove('is-hidden')\n }\n\n page.fileinfoContainer.classList.remove('is-hidden')\n page.messageElement.classList.add('is-hidden')\n\n if (page.urlParams.has('delete')) {\n page.deleteBtn.click()\n }\n }).catch(error => {\n if (typeof error.response !== 'undefined') page.onAxiosError(error)\n else page.onError(error)\n })\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n // Partial polyfill URLSearchParams.has()\n // eslint-disable-next-line compat/compat\n window.URLSearchParams = window.URLSearchParams || function (searchString) {\n const self = this\n self.has = function (name) {\n const results = new RegExp('[?&]' + name).exec(self.searchString)\n if (results == null) {\n return false\n } else {\n return true\n }\n }\n }\n\n axios.defaults.headers.common.token = page.token\n\n const mainScript = document.querySelector('#mainScript')\n if (!mainScript || typeof mainScript.dataset.uploadRoot === 'undefined') return\n\n page.uploadRoot = mainScript.dataset.uploadRoot\n page.titleFormat = mainScript.dataset.titleFormat\n\n let urlPrefix = window.location.protocol + '//' + window.location.host\n const match = window.location.pathname.match(/.*\\/(.*)$/)\n if (!match || !match[1]) {\n return page.updateMessageBody('

    Failed to parse upload identifier from URL.

    ')\n }\n\n page.urlIdentifier = match[1]\n urlPrefix += window.location.pathname.substring(0, window.location.pathname.indexOf(match[1]))\n page.urlPrefix = urlPrefix\n\n // eslint-disable-next-line compat/compat\n page.urlParams = new URLSearchParams(window.location.search)\n\n page.clipboardJS = new ClipboardJS('.clipboard-js')\n\n page.clipboardJS.on('success', () => {\n return swal('', 'The link has been copied to clipboard.', 'success', {\n buttons: false,\n timer: 1500\n })\n })\n\n page.clipboardJS.on('error', page.onError)\n\n page.deleteBtn.addEventListener('click', page.deleteFile)\n\n page.loadFileinfo()\n})\n"]} \ No newline at end of file diff --git a/dist/js/home.js b/dist/js/home.js index 735b214..1b689ab 100644 --- a/dist/js/home.js +++ b/dist/js/home.js @@ -1,2 +1,2 @@ -var lsKeys={token:"token",chunkSize:"chunkSize",parallelUploads:"parallelUploads",uploadsHistoryOrder:"uploadsHistoryOrder",previewImages:"previewImages",fileLength:"fileLength",uploadAge:"uploadAge",stripTags:"stripTags"},page={token:localStorage[lsKeys.token],apiChecked:!1,private:null,enableUserAccounts:null,maxSize:null,chunkSizeConfig:null,temporaryUploadAges:null,defaultTemporaryUploadAge:null,fileIdentifierLength:null,stripTagsConfig:null,album:null,parallelUploads:null,previewImages:null,fileLength:null,uploadAge:null,stripTags:null,maxSizeBytes:null,urlMaxSize:null,urlMaxSizeBytes:null,chunkSize:null,tabs:[],activeTab:null,albumSelect:null,albumSelectOnChange:null,previewTemplate:null,dropzone:null,clipboardJS:null,lazyLoad:null,urlsQueue:[],activeUrlsQueue:0,imageExts:[".gif",".jpeg",".jpg",".png",".svg",".tif",".tiff",".webp",".bmp"],videoExts:[".avi",".m2ts",".m4v",".mkv",".mov",".mp4",".webm",".wmv"],albumTitleMaxLength:70,albumDescMaxLength:4e3,onInitError:function(e){document.querySelector("#albumDiv").classList.add("is-hidden"),document.querySelector("#tabs").classList.add("is-hidden"),document.querySelectorAll(".tab-content").forEach((function(e){return e.classList.add("is-hidden")}));var a=document.querySelector("#loginToUpload");a.innerText="An error occurred. Try to reload?",a.classList.remove("is-loading"),a.classList.remove("is-hidden"),a.addEventListener("click",(function(){window.location.reload()})),e&&(e.response?page.onAxiosError(e):page.onError(e))},onError:function(e){console.error(e);var a=document.createElement("div");return a.innerHTML="\n

    "+e.toString()+"

    \n

    Please check your console for more information.

    \n ",swal({title:"An error occurred!",icon:"error",content:a})},onAxiosError:function(e,a){a||console.error(e);var t={520:"Unknown Error",521:"Web Server Is Down",522:"Connection Timed Out",523:"Origin Is Unreachable",524:"A Timeout Occurred",525:"SSL Handshake Failed",526:"Invalid SSL Certificate",527:"Railgun Error",530:"Origin DNS Error"}[e.response.status]||e.response.statusText;if(a)return e.response.data&&e.response.data.description?e.response:{data:{success:!1,description:e.response?e.response.status+" "+t:e.toString()}};var n=e.response.data&&e.response.data.description?e.response.data.description:"There was an error with the request.\nPlease check the console for more information.";return swal(e.response.status+" "+t,n,"error")},checkClientVersion:function(e){var a=document.querySelector("#mainScript").src.match(/\?_=(\d+)$/);if(a&&a[1]&&a[1]!==e)return swal({title:"Update detected!",text:"Client assets have been updated. Reload to display the latest version?",icon:"info",buttons:{confirm:{text:"Reload",closeModal:!1}}}).then((function(){window.location.reload()}))},checkIfPublic:function(){return axios.get("api/check",{onDownloadProgress:function(){"undefined"==typeof render||render.done||render.do(),"undefined"==typeof newsfeed||newsfeed.done||newsfeed.do(),page.apiChecked||(page.apiChecked=!0)}}).then((function(e){return e.data.version&&page.checkClientVersion(e.data.version),page.private=e.data.private,page.enableUserAccounts=e.data.enableUserAccounts,page.maxSize=parseInt(e.data.maxSize),page.maxSizeBytes=1e6*page.maxSize,document.querySelector("#maxSize > span").innerHTML=page.getPrettyBytes(page.maxSizeBytes),page.chunkSizeConfig={max:e.data.chunkSize&&parseInt(e.data.chunkSize.max)||95,default:e.data.chunkSize&&parseInt(e.data.chunkSize.default)},page.temporaryUploadAges=e.data.temporaryUploadAges,page.defaultTemporaryUploadAge=e.data.defaultTemporaryUploadAge||null,page.fileIdentifierLength=e.data.fileIdentifierLength,page.stripTagsConfig=e.data.stripTags,page.preparePage()})).catch(page.onInitError)},preparePage:function(){if(page.token)return page.verifyToken(page.token);if(!page.private)return page.prepareUpload();var e=document.querySelector("#loginToUpload");e.href="auth",e.classList.remove("is-loading"),page.enableUserAccounts?e.innerText="Anonymous upload is disabled.\nLog in or register to upload.":e.innerText="Running in private mode.\nLog in to upload."},verifyToken:function(e){return axios.post("api/tokens/verify",{token:e}).then((function(a){return localStorage[lsKeys.token]=e,page.token=e,Array.isArray(a.data.retentionPeriods)&&(page.temporaryUploadAges=a.data.retentionPeriods,page.defaultTemporaryUploadAge=a.data.defaultRetentionPeriod),page.prepareUpload()})).catch((function(e){return swal({title:"An error occurred!",text:e.response.data?e.response.data.description:e.toString(),icon:"error"}).then((function(){e.response.data&&10001===e.response.data.code?(localStorage.removeItem(lsKeys.token),window.location.reload()):page.onInitError()}))}))},prepareUpload:function(){if(page.token){var e=document.querySelector('#linksColumn a[href="auth"]');e&&e.setAttribute("href","dashboard"),document.querySelector("#albumDiv").classList.remove("is-hidden"),page.albumSelect=document.querySelector("#albumSelect"),page.albumSelectOnChange=function(){page.album=parseInt(page.albumSelect.value),"function"==typeof page.prepareShareX&&page.prepareShareX()},page.albumSelect.addEventListener("change",page.albumSelectOnChange),page.fetchAlbums()}else page.enableUserAccounts&&(document.querySelector("#loginLinkText").innerHTML="Create an account and keep track of your uploads");page.prepareUploadConfig(),document.querySelector("#loginToUpload").classList.add("is-hidden"),page.prepareDropzone(),"function"==typeof page.prepareShareX&&page.prepareShareX();var a=document.querySelector("#urlMaxSize");a&&(page.urlMaxSize=parseInt(a.innerHTML),page.urlMaxSizeBytes=1e6*page.urlMaxSize,a.innerHTML=page.getPrettyBytes(page.urlMaxSizeBytes));var t=document.querySelector("#uploadUrls");t&&t.addEventListener("click",(function(e){page.addUrlsToQueue()}));for(var n=document.querySelector("#tabs"),r=n.querySelectorAll("li"),i=function(e){var a=r[e].dataset.id,t=document.querySelector("#"+a);t&&(r[e].addEventListener("click",(function(){page.setActiveTab(e)})),page.tabs.push({tab:r[e],content:t}))},l=0;l2){for(var f=0,h=0,v=!1,b=m-1;b--;)if(v)l._uplSpeedCalc.data.splice(b,1);else if((f=c-l._uplSpeedCalc.data[b].timestamp)>1e3){var y=f-1e3,S=f-(c-l._uplSpeedCalc.data[b+1].timestamp);h+=(S-y)/S*l._uplSpeedCalc.data[b+1].bytes,v=!0}else h+=l._uplSpeedCalc.data[b+1].bytes;v||(h*=1e3/f),t=page.getPrettyBytes(h)}}e.previewElement.querySelector(".descriptive-progress").innerHTML=o+" "+r+"%"+(t?" at "+t+"/s":"")})),this.on("success",(function(e,a){a&&(e.previewElement.querySelector(".descriptive-progress").classList.add("is-hidden"),!1===a.success&&(e.previewElement.querySelector(".error").innerHTML=a.description,e.previewElement.querySelector(".error").classList.remove("is-hidden")),Array.isArray(a.files)&&a.files[0]&&page.updateTemplate(e,a.files[0]))})),this.on("error",(function(e,a,t){var n=a;"object"==typeof a&&a.description?n=a.description:t?n=page.onAxiosError({response:{status:t.status,statusText:t.statusText}},!0).data.description:a instanceof Error&&(n=a.toString()),(/^File is too big/.test(n)||/File too large/.test(n))&&(n="File too large ("+page.getPrettyBytes(e.size)+")."),e.previewElement.querySelector(".descriptive-progress").classList.add("is-hidden"),e.previewElement.querySelector(".error").innerHTML=n,e.previewElement.querySelector(".error").classList.remove("is-hidden"),page.updateTemplateIcon(e.previewElement,"icon-block")}))},chunksUploaded:function(e,a){return e.previewElement.querySelector(".descriptive-progress").innerHTML="Rebuilding "+e.upload.totalChunkCount+" chunks…",axios.post("api/upload/finishchunks",{files:[{uuid:e.upload.uuid,original:e.name,type:e.type,albumid:page.album,filelength:page.fileLength,age:page.uploadAge}]},{headers:{token:page.token,striptags:page.stripTags}}).catch((function(e){return page.onAxiosError(e,!0)})).then((function(t){return e.previewElement.querySelector(".descriptive-progress").classList.add("is-hidden"),!1===t.data.success&&(e.previewElement.querySelector(".error").innerHTML=t.data.description,e.previewElement.querySelector(".error").classList.remove("is-hidden"),page.updateTemplateIcon(e.previewElement,"icon-block")),t.data.files&&t.data.files[0]&&page.updateTemplate(e,t.data.files[0]),a()}))}})},addUrlsToQueue:function(){var e=document.querySelector("#urls").value.split(/\r?\n/).filter((function(e){return e.trim().length}));if(!e.length)return swal("An error occurred!","You have not entered any URLs.","error");var a=document.querySelector("#tab-urls");a.querySelector(".uploads").classList.remove("is-hidden");for(var t=0;t .clipboard-js"),i=a.url;/^https?:\/\//i.test(i)||(i=window.location.origin+"/"+i),n.href=n.innerHTML=r.dataset.clipboardText=i,t.classList.remove("is-hidden"),r.parentElement.classList.remove("is-hidden");var l=/.[\w]+$/.exec(a.url),o=l&&l[0]?l[0].toLowerCase():null;if(page.imageExts.includes(o))if(page.previewImages){var s=e.previewElement.querySelector("img");s.setAttribute("alt",a.name||""),s.dataset.src=a.url,s.classList.remove("is-hidden"),s.onerror=function(a){a.currentTarget.classList.add("is-hidden"),page.updateTemplateIcon(e.previewElement,"icon-picture")},page.lazyLoad.update(e.previewElement.querySelectorAll("img"))}else page.updateTemplateIcon(e.previewElement,"icon-picture");else page.videoExts.includes(o)?page.updateTemplateIcon(e.previewElement,"icon-video"):page.updateTemplateIcon(e.previewElement,"icon-doc-inv");if(a.expirydate){var p=e.previewElement.querySelector(".expiry-date");p.dataset.timestamp=a.expirydate,p.innerHTML="EXP: "+page.getPrettyDate(new Date(1e3*a.expirydate)),p.classList.remove("is-hidden")}}},page.createAlbum=function(){var e=document.createElement("div");e.innerHTML='\n
    \n
    \n \n
    \n

    Max length is '+page.albumTitleMaxLength+' characters.

    \n
    \n
    \n
    \n \n
    \n

    Max length is '+page.albumDescMaxLength+' characters.

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n ',swal({title:"Create new album",icon:"info",content:e,buttons:{cancel:!0,confirm:{closeModal:!1}}}).then((function(e){if(e){var a=document.querySelector("#swalName").value.trim();axios.post("api/albums",{name:a,description:document.querySelector("#swalDescription").value.trim(),download:document.querySelector("#swalDownload").checked,public:document.querySelector("#swalPublic").checked},{headers:{token:page.token}}).then((function(e){if(!1===e.data.success)return swal("An error occurred!",e.data.description,"error");var t=document.createElement("option");page.albumSelect.appendChild(t),t.value=e.data.id,t.innerHTML=a,t.selected=!0,page.albumSelectOnChange(),swal("Woohoo!","Album was created successfully.","success")})).catch(page.onError)}}))},page.prepareUploadConfig=function(){var e={chunkSize:page.chunkSizeConfig.default,parallelUploads:2},a=Array.isArray(page.temporaryUploadAges)&&page.temporaryUploadAges.length,t=page.fileIdentifierLength&&"number"==typeof page.fileIdentifierLength.min&&"number"==typeof page.fileIdentifierLength.max,n={siBytes:{label:"File size display",select:[{value:"default",text:"1000 B = 1 kB = 1 Kilobyte"},{value:"0",text:"1024 B = 1 KiB = 1 Kibibyte"}],help:"This will be used in our homepage, dashboard, and album public pages.",valueHandler:function(){}},ampmTime:{label:"Show AM/PM on date",select:[{value:"default",text:"No"},{value:"1",text:"Yes"}],help:"This will be used in our homepage and dashboard.",valueHandler:function(){}},fileLength:{display:t,label:"File identifier length",number:t?{min:page.fileIdentifierLength.min,max:page.fileIdentifierLength.max,default:page.fileIdentifierLength.default,round:!0}:void 0,help:!0,disabled:t&&page.fileIdentifierLength.force},uploadAge:{display:a,label:"Upload age",select:[],help:"Whether to automatically delete your uploads after a certain amount of time."},stripTags:{display:page.stripTagsConfig,label:"Strip tags",select:page.stripTagsConfig?[{value:page.stripTagsConfig.default?"default":"1",text:"Yes"},{value:page.stripTagsConfig.default?"0":"default",text:"No"}]:null,help:"Whether to strip tags (e.g. EXIF) from your uploads.
    \n This only applies to regular image"+(page.stripTagsConfig&&page.stripTagsConfig.video?" and video":"")+" uploads (i.e. not URL uploads).",disabled:page.stripTagsConfig&&page.stripTagsConfig.force},chunkSize:{display:Boolean(page.chunkSizeConfig.default),label:"Upload chunk size (MB)",number:{min:1,max:page.chunkSizeConfig.max,default:e.chunkSize,suffix:" MB",round:!0},help:!0},parallelUploads:{label:"Parallel uploads",number:{min:1,max:10,default:e.parallelUploads,round:!0},help:!0},uploadsHistoryOrder:{label:"Uploads history order",select:[{value:"default",text:"Older files on top"},{value:"0",text:"Newer files on top"}],help:'"Newer files on top" will use a CSS technique, which unfortunately come with some undesirable side effects.
    \n This also affects text selection, such as when trying to select text from top to bottom will result in them being selected from bottom to top instead, and vice versa.',valueHandler:function(e){if("0"===e)for(var a=document.querySelectorAll(".tab-content > .uploads"),t=0;t=page.fileIdentifierLength.min&&s<=page.fileIdentifierLength.max&&(n.fileLength.value=s)}var p=document.querySelector("#tab-config"),d=document.createElement("form");d.addEventListener("submit",(function(e){return e.preventDefault()}));for(var u=Object.keys(n),c=0;c=m.number.min&&(h=v)}else{var b=localStorage[lsKeys[g]];h=Array.isArray(m.select)?m.select.find((function(e){return e.value===b}))?b:void 0:b}"function"==typeof m.valueHandler?m.valueHandler(h):void 0!==h?page[g]=h:void 0!==e[g]&&(page[g]=e[g])}var y=void 0;if(Array.isArray(m.select)){(y=document.createElement("div")).className="select is-fullwidth";for(var S=[],w=0;w\n "+k.text+("default"===k.value?" (default)":"")+"\n \n ")}y.innerHTML='\n \n "}else m.number&&((y=document.createElement("input")).id=y.name=g,y.className="input is-fullwidth",y.type="number",void 0!==m.number.min&&(y.min=m.number.min),void 0!==m.number.max&&(y.max=m.number.max),"number"==typeof h?y.value=h:void 0!==m.number.default&&(y.value=m.number.default));var L=void 0;if(m.disabled)Array.isArray(m.select)?y.querySelector("select").disabled=m.disabled:y.disabled=m.disabled,L="This option is currently not configurable.";else if("string"==typeof m.help)L=m.help;else if(!0===m.help&&void 0!==m.number){var T=[];void 0!==m.number.default&&T.push("Default is "+m.number.default+(m.number.suffix||"")+"."),void 0!==m.number.min&&T.push("Min is "+m.number.min+(m.number.suffix||"")+"."),void 0!==m.number.max&&T.push("Max is "+m.number.max+(m.number.suffix||"")+"."),L=T.join(" ")}f.innerHTML='\n \n
    \n '+(L?'

    '+L+"

    ":"")+"\n ",f.querySelector("div.control").appendChild(y),d.appendChild(f)}}var A=document.createElement("div");A.className="field",A.innerHTML='\n

    \n \n

    \n

    \n This configuration will only be used in this browser.
    \n After reloading the page, some of them will also be applied to the ShareX config that you can download by clicking on the ShareX icon below.\n

    \n ',d.appendChild(A),d.querySelector("#saveConfig").addEventListener("click",(function(){if(d.checkValidity()){for(var e=Object.keys(n).filter((function(e){return!1!==n[e].display&&!0!==n[e].disabled})),a=0;a=24){var t=e/24;return t+" day"+(1===t?"":"s")}return e+" hour"+(1===e?"":"s")},window.addEventListener("paste",(function(e){for(var a=(e.clipboardData||e.originalEvent.clipboardData).items,t=Object.keys(a),n=0;n

    \n

    Please check your console for more information.

    \n ",swal({title:"An error occurred!",icon:"error",content:a})},onAxiosError:function(e,a){a||console.error(e);var t={520:"Unknown Error",521:"Web Server Is Down",522:"Connection Timed Out",523:"Origin Is Unreachable",524:"A Timeout Occurred",525:"SSL Handshake Failed",526:"Invalid SSL Certificate",527:"Railgun Error",530:"Origin DNS Error"}[e.response.status]||e.response.statusText;if(a)return e.response.data&&e.response.data.description?e.response:{data:{success:!1,description:e.response?e.response.status+" "+t:e.toString()}};var n=e.response.data&&e.response.data.description?e.response.data.description:"There was an error with the request.\nPlease check the console for more information.";return swal(e.response.status+" "+t,n,"error")},checkClientVersion:function(e){var a=document.querySelector("#mainScript").src.match(/\?_=(\d+)$/);if(a&&a[1]&&a[1]!==e)return swal({title:"Update detected!",text:"Client assets have been updated. Reload to display the latest version?",icon:"info",buttons:{confirm:{text:"Reload",closeModal:!1}}}).then((function(){window.location.reload()}))},checkIfPublic:function(){return axios.get("api/check",{onDownloadProgress:function(){"undefined"==typeof render||render.done||render.do(),"undefined"==typeof newsfeed||newsfeed.done||newsfeed.do(),page.apiChecked||(page.apiChecked=!0)}}).then((function(e){return e.data.version&&page.checkClientVersion(e.data.version),page.private=e.data.private,page.enableUserAccounts=e.data.enableUserAccounts,page.maxSize=parseInt(e.data.maxSize),page.maxSizeBytes=1e6*page.maxSize,document.querySelector("#maxSize > span").innerHTML=page.getPrettyBytes(page.maxSizeBytes),page.chunkSizeConfig={max:e.data.chunkSize&&parseInt(e.data.chunkSize.max)||95,default:e.data.chunkSize&&parseInt(e.data.chunkSize.default)},page.temporaryUploadAges=e.data.temporaryUploadAges,page.defaultTemporaryUploadAge=e.data.defaultTemporaryUploadAge||null,page.fileIdentifierLength=e.data.fileIdentifierLength,page.stripTagsConfig=e.data.stripTags,page.preparePage()})).catch(page.onInitError)},preparePage:function(){if(page.token)return page.verifyToken(page.token);if(!page.private)return page.prepareUpload();var e=document.querySelector("#loginToUpload");e.href="auth",e.classList.remove("is-loading"),page.enableUserAccounts?e.innerText="Anonymous upload is disabled.\nLog in or register to upload.":e.innerText="Running in private mode.\nLog in to upload."},verifyToken:function(e){return axios.post("api/tokens/verify",{token:e}).then((function(a){return localStorage[lsKeys.token]=e,page.token=e,Array.isArray(a.data.retentionPeriods)&&(page.temporaryUploadAges=a.data.retentionPeriods,page.defaultTemporaryUploadAge=a.data.defaultRetentionPeriod),page.prepareUpload()})).catch((function(e){return swal({title:"An error occurred!",text:e.response.data?e.response.data.description:e.toString(),icon:"error"}).then((function(){e.response.data&&10001===e.response.data.code?(localStorage.removeItem(lsKeys.token),window.location.reload()):page.onInitError()}))}))},prepareUpload:function(){if(page.token){var e=document.querySelector('#linksColumn a[href="auth"]');e&&e.setAttribute("href","dashboard"),document.querySelector("#albumDiv").classList.remove("is-hidden"),page.albumSelect=document.querySelector("#albumSelect"),page.albumSelectOnChange=function(){page.album=parseInt(page.albumSelect.value),"function"==typeof page.prepareShareX&&page.prepareShareX()},page.albumSelect.addEventListener("change",page.albumSelectOnChange),page.fetchAlbums()}else page.enableUserAccounts&&(document.querySelector("#loginLinkText").innerHTML="Create an account and keep track of your uploads");page.prepareUploadConfig(),document.querySelector("#loginToUpload").classList.add("is-hidden"),page.prepareDropzone(),"function"==typeof page.prepareShareX&&page.prepareShareX();var a=document.querySelector("#urlMaxSize");a&&(page.urlMaxSize=parseInt(a.innerHTML),page.urlMaxSizeBytes=1e6*page.urlMaxSize,a.innerHTML=page.getPrettyBytes(page.urlMaxSizeBytes));var t=document.querySelector("#uploadUrls");t&&t.addEventListener("click",(function(e){page.addUrlsToQueue()}));for(var n=document.querySelector("#tabs"),r=n.querySelectorAll("li"),i=function(e){var a=r[e].dataset.id,t=document.querySelector("#"+a);t&&(r[e].addEventListener("click",(function(){page.setActiveTab(e)})),page.tabs.push({tab:r[e],content:t}))},l=0;l2){for(var f=0,h=0,v=!1,b=m-1;b--;)if(v)l._uplSpeedCalc.data.splice(b,1);else if((f=c-l._uplSpeedCalc.data[b].timestamp)>1e3){var y=f-1e3,S=f-(c-l._uplSpeedCalc.data[b+1].timestamp);h+=(S-y)/S*l._uplSpeedCalc.data[b+1].bytes,v=!0}else h+=l._uplSpeedCalc.data[b+1].bytes;v||(h*=1e3/f),t=page.getPrettyBytes(h)}}e.previewElement.querySelector(".descriptive-progress").innerHTML=o+" "+r+"%"+(t?" at "+t+"/s":"")})),this.on("success",(function(e,a){a&&(e.previewElement.querySelector(".descriptive-progress").classList.add("is-hidden"),!1===a.success&&(e.previewElement.querySelector(".error").innerHTML=a.description,e.previewElement.querySelector(".error").classList.remove("is-hidden")),Array.isArray(a.files)&&a.files[0]&&page.updateTemplate(e,a.files[0]))})),this.on("error",(function(e,a,t){var n=a;"object"==typeof a&&a.description?n=a.description:t?n=page.onAxiosError({response:{status:t.status,statusText:t.statusText}},!0).data.description:a instanceof Error&&(n=a.toString()),(/^File is too big/.test(n)||/File too large/.test(n))&&(n="File too large ("+page.getPrettyBytes(e.size)+")."),e.previewElement.querySelector(".descriptive-progress").classList.add("is-hidden"),e.previewElement.querySelector(".error").innerHTML=n,e.previewElement.querySelector(".error").classList.remove("is-hidden"),page.updateTemplateIcon(e.previewElement,"icon-block")}))},chunksUploaded:function(e,a){e.previewElement.querySelector(".descriptive-progress").innerHTML="Rebuilding "+e.upload.totalChunkCount+" chunks…",axios.post("api/upload/finishchunks",{files:[{uuid:e.upload.uuid,original:e.name,type:e.type,size:e.size,albumid:page.album,filelength:page.fileLength,age:page.uploadAge}]},{headers:{token:page.token,striptags:page.stripTags}}).catch((function(e){return page.onAxiosError(e,!0)})).then((function(t){e.previewElement.querySelector(".descriptive-progress").classList.add("is-hidden"),!1===t.data.success&&(e.previewElement.querySelector(".error").innerHTML=t.data.description,e.previewElement.querySelector(".error").classList.remove("is-hidden"),page.updateTemplateIcon(e.previewElement,"icon-block")),t.data.files&&t.data.files[0]&&page.updateTemplate(e,t.data.files[0]),a()}))}})},addUrlsToQueue:function(){var e=document.querySelector("#urls").value.split(/\r?\n/).filter((function(e){return e.trim().length}));if(!e.length)return swal("An error occurred!","You have not entered any URLs.","error");var a=document.querySelector("#tab-urls");a.querySelector(".uploads").classList.remove("is-hidden");for(var t=0;t .clipboard-js"),i=a.url;/^https?:\/\//i.test(i)||(i=window.location.origin+"/"+i),n.href=n.innerHTML=r.dataset.clipboardText=i,t.classList.remove("is-hidden"),r.parentElement.classList.remove("is-hidden");var l=/.[\w]+$/.exec(a.url),o=l&&l[0]?l[0].toLowerCase():null;if(page.imageExts.includes(o))if(page.previewImages){var s=e.previewElement.querySelector("img");s.setAttribute("alt",a.name||""),s.dataset.src=a.url,s.classList.remove("is-hidden"),s.onerror=function(a){a.currentTarget.classList.add("is-hidden"),page.updateTemplateIcon(e.previewElement,"icon-picture")},page.lazyLoad.update(e.previewElement.querySelectorAll("img"))}else page.updateTemplateIcon(e.previewElement,"icon-picture");else page.videoExts.includes(o)?page.updateTemplateIcon(e.previewElement,"icon-video"):page.updateTemplateIcon(e.previewElement,"icon-doc-inv");if(a.expirydate){var p=e.previewElement.querySelector(".expiry-date");p.dataset.timestamp=a.expirydate,p.innerHTML="EXP: "+page.getPrettyDate(new Date(1e3*a.expirydate)),p.classList.remove("is-hidden")}}},page.createAlbum=function(){var e=document.createElement("div");e.innerHTML='\n
    \n
    \n \n
    \n

    Max length is '+page.albumTitleMaxLength+' characters.

    \n
    \n
    \n
    \n \n
    \n

    Max length is '+page.albumDescMaxLength+' characters.

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n ',swal({title:"Create new album",icon:"info",content:e,buttons:{cancel:!0,confirm:{closeModal:!1}}}).then((function(e){if(e){var a=document.querySelector("#swalName").value.trim();axios.post("api/albums",{name:a,description:document.querySelector("#swalDescription").value.trim(),download:document.querySelector("#swalDownload").checked,public:document.querySelector("#swalPublic").checked},{headers:{token:page.token}}).then((function(e){if(!1===e.data.success)return swal("An error occurred!",e.data.description,"error");var t=document.createElement("option");page.albumSelect.appendChild(t),t.value=e.data.id,t.innerHTML=a,t.selected=!0,page.albumSelectOnChange(),swal("Woohoo!","Album was created successfully.","success")})).catch(page.onError)}}))},page.prepareUploadConfig=function(){var e={chunkSize:page.chunkSizeConfig.default,parallelUploads:2},a=Array.isArray(page.temporaryUploadAges)&&page.temporaryUploadAges.length,t=page.fileIdentifierLength&&"number"==typeof page.fileIdentifierLength.min&&"number"==typeof page.fileIdentifierLength.max,n={siBytes:{label:"File size display",select:[{value:"default",text:"1000 B = 1 kB = 1 Kilobyte"},{value:"0",text:"1024 B = 1 KiB = 1 Kibibyte"}],help:"This will be used in our homepage, dashboard, and album public pages.",valueHandler:function(){}},ampmTime:{label:"Show AM/PM on date",select:[{value:"default",text:"No"},{value:"1",text:"Yes"}],help:"This will be used in our homepage and dashboard.",valueHandler:function(){}},fileLength:{display:t,label:"File identifier length",number:t?{min:page.fileIdentifierLength.min,max:page.fileIdentifierLength.max,default:page.fileIdentifierLength.default,round:!0}:void 0,help:!0,disabled:t&&page.fileIdentifierLength.force},uploadAge:{display:a,label:"Upload age",select:[],help:"Whether to automatically delete your uploads after a certain amount of time."},stripTags:{display:page.stripTagsConfig,label:"Strip tags",select:page.stripTagsConfig?[{value:page.stripTagsConfig.default?"default":"1",text:"Yes"},{value:page.stripTagsConfig.default?"0":"default",text:"No"}]:null,help:"Whether to strip tags (e.g. EXIF) from your uploads.
    \n This only applies to regular image"+(page.stripTagsConfig&&page.stripTagsConfig.video?" and video":"")+" uploads (i.e. not URL uploads).",disabled:page.stripTagsConfig&&page.stripTagsConfig.force},chunkSize:{display:Boolean(page.chunkSizeConfig.default),label:"Upload chunk size (MB)",number:{min:1,max:page.chunkSizeConfig.max,default:e.chunkSize,suffix:" MB",round:!0},help:!0},parallelUploads:{label:"Parallel uploads",number:{min:1,max:10,default:e.parallelUploads,round:!0},help:!0},uploadsHistoryOrder:{label:"Uploads history order",select:[{value:"default",text:"Older files on top"},{value:"0",text:"Newer files on top"}],help:'"Newer files on top" will use a CSS technique, which unfortunately come with some undesirable side effects.
    \n This also affects text selection, such as when trying to select text from top to bottom will result in them being selected from bottom to top instead, and vice versa.',valueHandler:function(e){if("0"===e)for(var a=document.querySelectorAll(".tab-content > .uploads"),t=0;t=page.fileIdentifierLength.min&&s<=page.fileIdentifierLength.max&&(n.fileLength.value=s)}var p=document.querySelector("#tab-config"),d=document.createElement("form");d.addEventListener("submit",(function(e){return e.preventDefault()}));for(var u=Object.keys(n),c=0;c=m.number.min&&(h=v)}else{var b=localStorage[lsKeys[g]];h=Array.isArray(m.select)?m.select.find((function(e){return e.value===b}))?b:void 0:b}"function"==typeof m.valueHandler?m.valueHandler(h):void 0!==h?page[g]=h:void 0!==e[g]&&(page[g]=e[g])}var y=void 0;if(Array.isArray(m.select)){(y=document.createElement("div")).className="select is-fullwidth";for(var S=[],w=0;w\n "+k.text+("default"===k.value?" (default)":"")+"\n \n ")}y.innerHTML='\n \n "}else m.number&&((y=document.createElement("input")).id=y.name=g,y.className="input is-fullwidth",y.type="number",void 0!==m.number.min&&(y.min=m.number.min),void 0!==m.number.max&&(y.max=m.number.max),"number"==typeof h?y.value=h:void 0!==m.number.default&&(y.value=m.number.default));var L=void 0;if(m.disabled)Array.isArray(m.select)?y.querySelector("select").disabled=m.disabled:y.disabled=m.disabled,L="This option is currently not configurable.";else if("string"==typeof m.help)L=m.help;else if(!0===m.help&&void 0!==m.number){var T=[];void 0!==m.number.default&&T.push("Default is "+m.number.default+(m.number.suffix||"")+"."),void 0!==m.number.min&&T.push("Min is "+m.number.min+(m.number.suffix||"")+"."),void 0!==m.number.max&&T.push("Max is "+m.number.max+(m.number.suffix||"")+"."),L=T.join(" ")}f.innerHTML='\n \n
    \n '+(L?'

    '+L+"

    ":"")+"\n ",f.querySelector("div.control").appendChild(y),d.appendChild(f)}}var A=document.createElement("div");A.className="field",A.innerHTML='\n

    \n \n

    \n

    \n This configuration will only be used in this browser.
    \n After reloading the page, some of them will also be applied to the ShareX config that you can download by clicking on the ShareX icon below.\n

    \n ',d.appendChild(A),d.querySelector("#saveConfig").addEventListener("click",(function(){if(d.checkValidity()){for(var e=Object.keys(n).filter((function(e){return!1!==n[e].display&&!0!==n[e].disabled})),a=0;a=24){var t=e/24;return t+" day"+(1===t?"":"s")}return e+" hour"+(1===e?"":"s")},window.addEventListener("paste",(function(e){for(var a=(e.clipboardData||e.originalEvent.clipboardData).items,t=Object.keys(a),n=0;n {\n // Hide these elements\n document.querySelector('#albumDiv').classList.add('is-hidden')\n document.querySelector('#tabs').classList.add('is-hidden')\n document.querySelectorAll('.tab-content').forEach(element => {\n return element.classList.add('is-hidden')\n })\n\n // Update upload button\n const uploadButton = document.querySelector('#loginToUpload')\n uploadButton.innerText = 'An error occurred. Try to reload?'\n uploadButton.classList.remove('is-loading')\n uploadButton.classList.remove('is-hidden')\n\n uploadButton.addEventListener('click', () => {\n window.location.reload()\n })\n\n if (!error) return\n if (error.response) page.onAxiosError(error)\n else page.onError(error)\n}\n\n// Handler for regular JS errors\npage.onError = error => {\n console.error(error)\n\n const content = document.createElement('div')\n content.innerHTML = `\n

    ${error.toString()}

    \n

    Please check your console for more information.

    \n `\n return swal({\n title: 'An error occurred!',\n icon: 'error',\n content\n })\n}\n\n// Handler for Axios errors\npage.onAxiosError = (error, cont) => {\n if (!cont) console.error(error)\n\n // Better Cloudflare errors\n const cloudflareErrors = {\n 520: 'Unknown Error',\n 521: 'Web Server Is Down',\n 522: 'Connection Timed Out',\n 523: 'Origin Is Unreachable',\n 524: 'A Timeout Occurred',\n 525: 'SSL Handshake Failed',\n 526: 'Invalid SSL Certificate',\n 527: 'Railgun Error',\n 530: 'Origin DNS Error'\n }\n\n const statusText = cloudflareErrors[error.response.status] || error.response.statusText\n\n if (!cont) {\n const description = error.response.data && error.response.data.description\n ? error.response.data.description\n : 'There was an error with the request.\\nPlease check the console for more information.'\n return swal(`${error.response.status} ${statusText}`, description, 'error')\n } else if (error.response.data && error.response.data.description) {\n return error.response\n } else {\n const description = error.response\n ? `${error.response.status} ${statusText}`\n : error.toString()\n return { data: { success: false, description } }\n }\n}\n\npage.checkClientVersion = apiVersion => {\n const self = document.querySelector('#mainScript')\n const match = self.src.match(/\\?_=(\\d+)$/)\n if (match && match[1] && match[1] !== apiVersion) {\n return swal({\n title: 'Update detected!',\n text: 'Client assets have been updated. Reload to display the latest version?',\n icon: 'info',\n buttons: {\n confirm: {\n text: 'Reload',\n closeModal: false\n }\n }\n }).then(() => {\n window.location.reload()\n })\n }\n}\n\npage.checkIfPublic = () => {\n return axios.get('api/check', {\n onDownloadProgress: () => {\n // Only do render and/or newsfeed after this request has been initiated to avoid blocking\n /* global render */\n if (typeof render !== 'undefined' && !render.done) render.do()\n /* global newsfeed */\n if (typeof newsfeed !== 'undefined' && !newsfeed.done) newsfeed.do()\n if (!page.apiChecked) page.apiChecked = true\n }\n }).then(response => {\n if (response.data.version) {\n page.checkClientVersion(response.data.version)\n }\n\n page.private = response.data.private\n page.enableUserAccounts = response.data.enableUserAccounts\n\n page.maxSize = parseInt(response.data.maxSize)\n page.maxSizeBytes = page.maxSize * 1e6\n document.querySelector('#maxSize > span').innerHTML = page.getPrettyBytes(page.maxSizeBytes)\n\n page.chunkSizeConfig = {\n max: (response.data.chunkSize && parseInt(response.data.chunkSize.max)) || 95,\n default: response.data.chunkSize && parseInt(response.data.chunkSize.default)\n }\n\n page.temporaryUploadAges = response.data.temporaryUploadAges\n page.defaultTemporaryUploadAge = response.data.defaultTemporaryUploadAge || null\n page.fileIdentifierLength = response.data.fileIdentifierLength\n page.stripTagsConfig = response.data.stripTags\n\n return page.preparePage()\n }).catch(page.onInitError)\n}\n\npage.preparePage = () => {\n if (page.token) {\n return page.verifyToken(page.token)\n } else if (page.private) {\n const button = document.querySelector('#loginToUpload')\n button.href = 'auth'\n button.classList.remove('is-loading')\n if (page.enableUserAccounts) {\n button.innerText = 'Anonymous upload is disabled.\\nLog in or register to upload.'\n } else {\n button.innerText = 'Running in private mode.\\nLog in to upload.'\n }\n } else {\n return page.prepareUpload()\n }\n}\n\npage.verifyToken = token => {\n return axios.post('api/tokens/verify', { token }).then(response => {\n localStorage[lsKeys.token] = token\n page.token = token\n\n // If user has its own retention periods array, override defaults\n if (Array.isArray(response.data.retentionPeriods)) {\n page.temporaryUploadAges = response.data.retentionPeriods\n page.defaultTemporaryUploadAge = response.data.defaultRetentionPeriod\n }\n\n return page.prepareUpload()\n }).catch(error => {\n return swal({\n title: 'An error occurred!',\n text: error.response.data ? error.response.data.description : error.toString(),\n icon: 'error'\n }).then(() => {\n if (error.response.data && error.response.data.code === 10001) {\n localStorage.removeItem(lsKeys.token)\n window.location.reload()\n } else {\n page.onInitError()\n }\n })\n })\n}\n\npage.prepareUpload = () => {\n // I think this fits best here because we need to check for a valid token before we can get the albums\n if (page.token) {\n // Change /auth link to /dashboard\n const authLink = document.querySelector('#linksColumn a[href=\"auth\"]')\n if (authLink) authLink.setAttribute('href', 'dashboard')\n\n // Display the album selection\n document.querySelector('#albumDiv').classList.remove('is-hidden')\n\n page.albumSelect = document.querySelector('#albumSelect')\n page.albumSelectOnChange = () => {\n page.album = parseInt(page.albumSelect.value)\n // Re-generate ShareX config file\n if (typeof page.prepareShareX === 'function') page.prepareShareX()\n }\n page.albumSelect.addEventListener('change', page.albumSelectOnChange)\n\n // Fetch albums\n page.fetchAlbums()\n } else if (page.enableUserAccounts) {\n document.querySelector('#loginLinkText').innerHTML = 'Create an account and keep track of your uploads'\n }\n\n // Prepare & generate config tab\n page.prepareUploadConfig()\n\n // Hide login button\n document.querySelector('#loginToUpload').classList.add('is-hidden')\n\n // Prepare & generate files upload tab\n page.prepareDropzone()\n\n // Generate ShareX config file\n if (typeof page.prepareShareX === 'function') page.prepareShareX()\n\n // Prepare urls upload tab\n const urlMaxSize = document.querySelector('#urlMaxSize')\n if (urlMaxSize) {\n page.urlMaxSize = parseInt(urlMaxSize.innerHTML)\n page.urlMaxSizeBytes = page.urlMaxSize * 1e6\n urlMaxSize.innerHTML = page.getPrettyBytes(page.urlMaxSizeBytes)\n }\n\n const uploadUrls = document.querySelector('#uploadUrls')\n if (uploadUrls) {\n uploadUrls.addEventListener('click', event => {\n page.addUrlsToQueue()\n })\n }\n\n // Get all tabs\n const tabsContainer = document.querySelector('#tabs')\n const tabs = tabsContainer.querySelectorAll('li')\n for (let i = 0; i < tabs.length; i++) {\n const id = tabs[i].dataset.id\n const tabContent = document.querySelector(`#${id}`)\n if (!tabContent) continue\n\n tabs[i].addEventListener('click', () => {\n page.setActiveTab(i)\n })\n page.tabs.push({ tab: tabs[i], content: tabContent })\n }\n\n // Set first valid tab as the default active tab\n if (page.tabs.length) {\n page.setActiveTab(0)\n tabsContainer.classList.remove('is-hidden')\n }\n}\n\npage.setActiveTab = index => {\n for (let i = 0; i < page.tabs.length; i++) {\n if (i === index) {\n page.tabs[i].tab.classList.add('is-active')\n page.tabs[i].content.classList.remove('is-hidden')\n page.activeTab = index\n } else {\n page.tabs[i].tab.classList.remove('is-active')\n page.tabs[i].content.classList.add('is-hidden')\n }\n }\n}\n\npage.fetchAlbums = () => {\n return axios.get('api/albums', {\n headers: {\n simple: '1',\n token: page.token\n }\n }).then(response => {\n if (response.data.success === false) {\n return swal('An error occurred!', response.data.description, 'error')\n }\n\n // Create an option for each album\n if (Array.isArray(response.data.albums) && response.data.albums.length) {\n for (let i = 0; i < response.data.albums.length; i++) {\n const album = response.data.albums[i]\n const option = document.createElement('option')\n option.value = album.id\n option.innerHTML = album.name\n page.albumSelect.appendChild(option)\n }\n }\n }).catch(page.onInitError)\n}\n\npage.prepareDropzone = () => {\n // Parse template element\n const previewNode = document.querySelector('#tpl')\n page.previewTemplate = previewNode.innerHTML\n previewNode.parentNode.removeChild(previewNode)\n\n // Generate files upload tab\n const tabDiv = document.querySelector('#tab-files')\n const div = document.createElement('div')\n div.className = 'control is-expanded'\n div.innerHTML = `\n
    \n \n \n \n Click here or drag & drop files\n
    \n `\n tabDiv.querySelector('.dz-container').appendChild(div)\n\n const previewsContainer = tabDiv.querySelector('#tab-files .field.uploads')\n\n page.dropzone = new Dropzone(document.body, {\n url: 'api/upload',\n paramName: 'files[]',\n clickable: tabDiv.querySelector('#dropzone'),\n maxFilesize: page.maxSizeBytes / 1024 / 1024, // this option expects MiB\n parallelUploads: page.parallelUploads,\n uploadMultiple: false,\n previewsContainer,\n previewTemplate: page.previewTemplate,\n createImageThumbnails: false,\n autoProcessQueue: true,\n headers: { token: page.token },\n chunking: Boolean(page.chunkSize),\n chunkSize: page.chunkSize * 1e6, // this option expects Bytes\n parallelChunkUploads: false, // for now, enabling this breaks descriptive upload progress\n timeout: 0,\n\n init () {\n this.on('addedfile', file => {\n // Set active tab to file uploads, if necessary\n if (page.activeTab !== 0) page.setActiveTab(0)\n\n // Add file entry\n tabDiv.querySelector('.uploads').classList.remove('is-hidden')\n\n file.previewElement.querySelector('.name').innerHTML = file.name\n file.previewElement.querySelector('.descriptive-progress').innerHTML = 'Waiting in queue\\u2026'\n })\n\n this.on('sending', (file, xhr) => {\n // Add timeout listener (hacky method due to lack of built-in timeout handler)\n if (!xhr.ontimeout) {\n xhr.ontimeout = () => {\n const instances = page.dropzone.getUploadingFiles()\n .filter(instance => instance.xhr === xhr)\n page.dropzone._handleUploadError(instances, xhr, 'Connection timed out. Try to reduce upload chunk size.')\n }\n }\n\n // Attach necessary data for initial upload speed calculation\n if (typeof xhr._uplSpeedCalc === 'undefined') {\n xhr._uplSpeedCalc = {\n lastSent: 0,\n data: [{ timestamp: Date.now(), bytes: 0 }]\n }\n }\n\n // If not chunked uploads, add extra headers\n if (!file.upload.chunked) {\n if (page.album !== null) xhr.setRequestHeader('albumid', page.album)\n if (page.fileLength !== null) xhr.setRequestHeader('filelength', page.fileLength)\n if (page.uploadAge !== null) xhr.setRequestHeader('age', page.uploadAge)\n if (page.stripTags !== null) xhr.setRequestHeader('striptags', page.stripTags)\n }\n\n if (!file.upload.chunked) {\n file.previewElement.querySelector('.descriptive-progress').innerHTML = 'Uploading\\u2026'\n } else if (file.upload.chunks.length === 1) {\n file.previewElement.querySelector('.descriptive-progress').innerHTML = `Uploading chunk 1/${file.upload.totalChunkCount}\\u2026`\n }\n })\n\n // Update descriptive progress\n this.on('uploadprogress', (file, progress) => {\n // Total bytes will eventually be bigger than file size when chunked\n const total = Math.max(file.size, file.upload.total)\n const percentage = (file.upload.bytesSent / total * 100).toFixed(0)\n\n const upl = file.upload.chunked\n ? file.upload.chunks[file.upload.chunks.length - 1]\n : file.upload\n const xhr = upl.xhr || file.xhr\n\n let prefix = 'Uploading\\u2026'\n let skipProgress = false\n if (file.upload.chunked) {\n const done = upl.bytesSent === upl.total\n const last = file.upload.chunks.length === file.upload.totalChunkCount\n let chunkIndex = file.upload.chunks.length\n if (done && !last) {\n chunkIndex++\n skipProgress = true\n }\n prefix = `Uploading chunk ${chunkIndex}/${file.upload.totalChunkCount}\\u2026`\n }\n\n // Real-time upload speed calculation\n let prettyBytesPerSec\n if (!skipProgress) {\n const now = Date.now()\n const bytesSent = upl.bytesSent - xhr._uplSpeedCalc.lastSent\n\n // Push data of current iteration\n xhr._uplSpeedCalc.lastSent = upl.bytesSent\n xhr._uplSpeedCalc.data.push({ timestamp: now, bytes: bytesSent })\n\n // Wait till at least the 2nd iteration (3 data including initial data)\n const length = xhr._uplSpeedCalc.data.length\n if (length > 2) {\n // Calculate using data from all iterations\n let elapsed = 0\n let bytesPerSec = 0\n let fullSec = false\n let i = length - 1 // Always start with 2nd from last item\n while (i--) {\n // Splice data of unrequired iterations\n if (fullSec) {\n xhr._uplSpeedCalc.data.splice(i, 1)\n continue\n }\n // Sum data\n elapsed = now - xhr._uplSpeedCalc.data[i].timestamp\n if (elapsed > 1000) {\n const excessDuration = elapsed - 1000\n const newerIterationElapsed = now - xhr._uplSpeedCalc.data[i + 1].timestamp\n const duration = elapsed - newerIterationElapsed\n const fragment = (duration - excessDuration) / duration * xhr._uplSpeedCalc.data[i + 1].bytes\n bytesPerSec += fragment\n fullSec = true\n } else {\n bytesPerSec += xhr._uplSpeedCalc.data[i + 1].bytes\n }\n }\n\n // If not enough data\n if (!fullSec) bytesPerSec = 1000 / elapsed * bytesPerSec\n\n // Get pretty bytes\n prettyBytesPerSec = page.getPrettyBytes(bytesPerSec)\n }\n }\n\n file.previewElement.querySelector('.descriptive-progress').innerHTML =\n `${prefix} ${percentage}%${prettyBytesPerSec ? ` at ${prettyBytesPerSec}/s` : ''}`\n })\n\n this.on('success', (file, data) => {\n if (!data) return\n file.previewElement.querySelector('.descriptive-progress').classList.add('is-hidden')\n\n if (data.success === false) {\n file.previewElement.querySelector('.error').innerHTML = data.description\n file.previewElement.querySelector('.error').classList.remove('is-hidden')\n }\n\n if (Array.isArray(data.files) && data.files[0]) {\n page.updateTemplate(file, data.files[0])\n }\n })\n\n this.on('error', (file, error, xhr) => {\n let err = error\n if (typeof error === 'object' && error.description) {\n err = error.description\n } else if (xhr) {\n // Formatting the Object is necessary since the function expect Axios errors\n err = page.onAxiosError({\n response: {\n status: xhr.status,\n statusText: xhr.statusText\n }\n }, true).data.description\n } else if (error instanceof Error) {\n err = error.toString()\n }\n\n // Clean up file size errors\n if (/^File is too big/.test(err) || /File too large/.test(err)) {\n err = `File too large (${page.getPrettyBytes(file.size)}).`\n }\n\n file.previewElement.querySelector('.descriptive-progress').classList.add('is-hidden')\n\n file.previewElement.querySelector('.error').innerHTML = err\n file.previewElement.querySelector('.error').classList.remove('is-hidden')\n\n page.updateTemplateIcon(file.previewElement, 'icon-block')\n })\n },\n\n chunksUploaded (file, done) {\n file.previewElement.querySelector('.descriptive-progress').innerHTML =\n `Rebuilding ${file.upload.totalChunkCount} chunks\\u2026`\n\n return axios.post('api/upload/finishchunks', {\n // This API supports an array of multiple files\n files: [{\n uuid: file.upload.uuid,\n original: file.name,\n type: file.type,\n albumid: page.album,\n filelength: page.fileLength,\n age: page.uploadAge\n }]\n }, {\n headers: {\n token: page.token,\n // Unlike the options above (e.g. albumid, filelength, etc.),\n // strip tags cannot yet be configured per file with this API\n striptags: page.stripTags\n }\n }).catch(error => page.onAxiosError(error, true)).then(response => {\n file.previewElement.querySelector('.descriptive-progress').classList.add('is-hidden')\n\n if (response.data.success === false) {\n file.previewElement.querySelector('.error').innerHTML = response.data.description\n file.previewElement.querySelector('.error').classList.remove('is-hidden')\n\n page.updateTemplateIcon(file.previewElement, 'icon-block')\n }\n\n if (response.data.files && response.data.files[0]) {\n page.updateTemplate(file, response.data.files[0])\n }\n\n return done()\n })\n }\n })\n}\n\npage.addUrlsToQueue = () => {\n const urls = document.querySelector('#urls').value\n .split(/\\r?\\n/)\n .filter(url => {\n return url.trim().length\n })\n\n if (!urls.length) {\n return swal('An error occurred!', 'You have not entered any URLs.', 'error')\n }\n\n const tabDiv = document.querySelector('#tab-urls')\n tabDiv.querySelector('.uploads').classList.remove('is-hidden')\n\n for (let i = 0; i < urls.length; i++) {\n const previewTemplate = document.createElement('template')\n previewTemplate.innerHTML = page.previewTemplate.trim()\n\n const previewElement = previewTemplate.content.firstChild\n previewElement.querySelector('.name').innerHTML = urls[i]\n previewElement.querySelector('.descriptive-progress').innerHTML = 'Waiting in queue\\u2026'\n\n const previewsContainer = tabDiv.querySelector('.uploads')\n previewsContainer.appendChild(previewElement)\n\n page.urlsQueue.push({\n url: urls[i],\n previewElement\n })\n }\n\n page.processUrlsQueue()\n document.querySelector('#urls').value = ''\n}\n\npage.processUrlsQueue = () => {\n if (!page.urlsQueue.length) return\n\n function finishedUrlUpload (file, data) {\n file.previewElement.querySelector('.descriptive-progress').classList.add('is-hidden')\n\n if (data.success === false) {\n const match = data.description.match(/ over limit: (\\d+)$/)\n if (match && match[1]) {\n data.description = `File exceeded limit of ${page.getPrettyBytes(match[1])}.`\n }\n\n file.previewElement.querySelector('.error').innerHTML = data.description\n file.previewElement.querySelector('.error').classList.remove('is-hidden')\n\n page.updateTemplateIcon(file.previewElement, 'icon-block')\n }\n\n if (Array.isArray(data.files) && data.files[0]) {\n page.updateTemplate(file, data.files[0])\n }\n\n page.activeUrlsQueue--\n return shiftQueue()\n }\n\n function initUrlUpload (file) {\n file.previewElement.querySelector('.descriptive-progress').innerHTML =\n 'Waiting for server to fetch URL\\u2026'\n\n return axios.post('api/upload', {\n urls: [file.url]\n }, {\n headers: {\n token: page.token,\n albumid: page.album,\n age: page.uploadAge,\n filelength: page.fileLength\n }\n }).catch(error => page.onAxiosError(error, true)).then(response => {\n return finishedUrlUpload(file, response.data)\n })\n }\n\n function shiftQueue () {\n while (page.urlsQueue.length && (page.activeUrlsQueue < page.parallelUploads)) {\n page.activeUrlsQueue++\n initUrlUpload(page.urlsQueue.shift())\n }\n }\n\n return shiftQueue()\n}\n\npage.updateTemplateIcon = (templateElement, iconClass) => {\n const iconElement = templateElement.querySelector('.icon')\n if (!iconElement) return\n\n iconElement.classList.add(iconClass)\n iconElement.classList.remove('is-hidden')\n}\n\npage.updateTemplate = (file, response) => {\n if (!response.url) return\n\n const link = file.previewElement.querySelector('.link')\n const a = link.querySelector('a')\n const clipboard = file.previewElement.querySelector('.clipboard-mobile > .clipboard-js')\n let url = response.url\n if (!/^https?:\\/\\//i.test(url)) {\n url = `${window.location.origin}/${url}`\n }\n a.href = a.innerHTML = clipboard.dataset.clipboardText = url\n\n link.classList.remove('is-hidden')\n clipboard.parentElement.classList.remove('is-hidden')\n\n const exec = /.[\\w]+$/.exec(response.url)\n const extname = exec && exec[0]\n ? exec[0].toLowerCase()\n : null\n\n if (page.imageExts.includes(extname)) {\n if (page.previewImages) {\n const img = file.previewElement.querySelector('img')\n img.setAttribute('alt', response.name || '')\n img.dataset.src = response.url\n img.classList.remove('is-hidden')\n img.onerror = event => {\n // Hide image elements that fail to load\n // Consequently include WEBP in browsers that do not have WEBP support (e.g. IE)\n event.currentTarget.classList.add('is-hidden')\n page.updateTemplateIcon(file.previewElement, 'icon-picture')\n }\n page.lazyLoad.update(file.previewElement.querySelectorAll('img'))\n } else {\n page.updateTemplateIcon(file.previewElement, 'icon-picture')\n }\n } else if (page.videoExts.includes(extname)) {\n page.updateTemplateIcon(file.previewElement, 'icon-video')\n } else {\n page.updateTemplateIcon(file.previewElement, 'icon-doc-inv')\n }\n\n if (response.expirydate) {\n const expiryDate = file.previewElement.querySelector('.expiry-date')\n expiryDate.dataset.timestamp = response.expirydate\n expiryDate.innerHTML = `EXP: ${page.getPrettyDate(new Date(response.expirydate * 1000))}`\n expiryDate.classList.remove('is-hidden')\n }\n}\n\npage.createAlbum = () => {\n const div = document.createElement('div')\n div.innerHTML = `\n
    \n
    \n \n
    \n

    Max length is ${page.albumTitleMaxLength} characters.

    \n
    \n
    \n
    \n \n
    \n

    Max length is ${page.albumDescMaxLength} characters.

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n `\n\n swal({\n title: 'Create new album',\n icon: 'info',\n content: div,\n buttons: {\n cancel: true,\n confirm: {\n closeModal: false\n }\n }\n }).then(value => {\n if (!value) return\n\n const name = document.querySelector('#swalName').value.trim()\n axios.post('api/albums', {\n name,\n description: document.querySelector('#swalDescription').value.trim(),\n download: document.querySelector('#swalDownload').checked,\n public: document.querySelector('#swalPublic').checked\n }, {\n headers: {\n token: page.token\n }\n }).then(response => {\n if (response.data.success === false) {\n return swal('An error occurred!', response.data.description, 'error')\n }\n\n const option = document.createElement('option')\n page.albumSelect.appendChild(option)\n option.value = response.data.id\n option.innerHTML = name\n option.selected = true\n page.albumSelectOnChange()\n\n swal('Woohoo!', 'Album was created successfully.', 'success')\n }).catch(page.onError)\n })\n}\n\npage.prepareUploadConfig = () => {\n // This object should only be used to set fallback values for page[key]\n // (essentially for page[key] properties that explicitly need to be set as something)\n // As for default values in the Config tab (which will not set page[key]),\n // check out number.default property of each config\n const fallback = {\n chunkSize: page.chunkSizeConfig.default,\n parallelUploads: 2\n }\n\n const temporaryUploadAges = Array.isArray(page.temporaryUploadAges) &&\n page.temporaryUploadAges.length\n const fileIdentifierLength = page.fileIdentifierLength &&\n typeof page.fileIdentifierLength.min === 'number' &&\n typeof page.fileIdentifierLength.max === 'number'\n\n const config = {\n siBytes: {\n label: 'File size display',\n select: [\n { value: 'default', text: '1000 B = 1 kB = 1 Kilobyte' },\n { value: '0', text: '1024 B = 1 KiB = 1 Kibibyte' }\n ],\n help: 'This will be used in our homepage, dashboard, and album public pages.',\n valueHandler () {} // Do nothing\n },\n ampmTime: {\n label: 'Show AM/PM on date',\n select: [\n { value: 'default', text: 'No' },\n { value: '1', text: 'Yes' }\n ],\n help: 'This will be used in our homepage and dashboard.',\n valueHandler () {} // Do nothing\n },\n fileLength: {\n display: fileIdentifierLength,\n label: 'File identifier length',\n number: fileIdentifierLength\n ? {\n min: page.fileIdentifierLength.min,\n max: page.fileIdentifierLength.max,\n default: page.fileIdentifierLength.default,\n round: true\n }\n : undefined,\n help: true, // true means auto-generated, for number-based configs only\n disabled: fileIdentifierLength && page.fileIdentifierLength.force\n },\n uploadAge: {\n display: temporaryUploadAges,\n label: 'Upload age',\n select: [],\n help: 'Whether to automatically delete your uploads after a certain amount of time.'\n },\n stripTags: {\n display: page.stripTagsConfig,\n label: 'Strip tags',\n select: page.stripTagsConfig\n ? [\n { value: page.stripTagsConfig.default ? 'default' : '1', text: 'Yes' },\n { value: page.stripTagsConfig.default ? '0' : 'default', text: 'No' }\n ]\n : null,\n help: `Whether to strip tags (e.g. EXIF) from your uploads.
    \n This only applies to regular image${page.stripTagsConfig && page.stripTagsConfig.video ? ' and video' : ''} uploads (i.e. not URL uploads).`,\n disabled: page.stripTagsConfig && page.stripTagsConfig.force\n },\n chunkSize: {\n display: Boolean(page.chunkSizeConfig.default),\n label: 'Upload chunk size (MB)',\n number: {\n min: 1,\n max: page.chunkSizeConfig.max,\n default: fallback.chunkSize,\n suffix: ' MB',\n round: true\n },\n help: true\n },\n parallelUploads: {\n label: 'Parallel uploads',\n number: {\n min: 1,\n max: 10,\n default: fallback.parallelUploads,\n round: true\n },\n help: true\n },\n uploadsHistoryOrder: {\n label: 'Uploads history order',\n select: [\n { value: 'default', text: 'Older files on top' },\n { value: '0', text: 'Newer files on top' }\n ],\n help: `\"Newer files on top\" will use a CSS technique, which unfortunately come with some undesirable side effects.
    \n This also affects text selection, such as when trying to select text from top to bottom will result in them being selected from bottom to top instead, and vice versa.`,\n valueHandler (value) {\n if (value === '0') {\n const uploadFields = document.querySelectorAll('.tab-content > .uploads')\n for (let i = 0; i < uploadFields.length; i++) {\n uploadFields[i].classList.add('is-reversed')\n }\n }\n }\n },\n previewImages: {\n label: 'Load images for preview',\n select: [\n { value: 'default', text: 'Yes' },\n { value: '0', text: 'No' }\n ],\n help: 'By default, uploaded images will be loaded as their previews.',\n valueHandler (value) {\n page.previewImages = value !== '0'\n }\n }\n }\n\n if (temporaryUploadAges) {\n const _default = page.defaultTemporaryUploadAge === null\n ? page.temporaryUploadAges[0]\n : page.defaultTemporaryUploadAge\n const stored = parseFloat(localStorage[lsKeys.uploadAge])\n for (let i = 0; i < page.temporaryUploadAges.length; i++) {\n const age = page.temporaryUploadAges[i]\n config.uploadAge.select.push({\n value: age === _default ? 'default' : String(age),\n text: page.getPrettyUploadAge(age)\n })\n if (age === stored) {\n config.uploadAge.value = stored\n }\n }\n }\n\n if (fileIdentifierLength) {\n const stored = parseInt(localStorage[lsKeys.fileLength])\n if (!page.fileIdentifierLength.force &&\n !isNaN(stored) &&\n stored >= page.fileIdentifierLength.min &&\n stored <= page.fileIdentifierLength.max) {\n config.fileLength.value = stored\n }\n }\n\n const tabContent = document.querySelector('#tab-config')\n const form = document.createElement('form')\n form.addEventListener('submit', event => event.preventDefault())\n\n const configKeys = Object.keys(config)\n for (let i = 0; i < configKeys.length; i++) {\n const key = configKeys[i]\n const conf = config[key]\n\n // Skip only if display attribute is explicitly set to false\n if (conf.display === false) continue\n\n const field = document.createElement('div')\n field.className = 'field'\n\n let value\n if (!conf.disabled) {\n if (typeof conf.value !== 'undefined') {\n value = conf.value\n } else if (typeof conf.number !== 'undefined') {\n const parsed = parseInt(localStorage[lsKeys[key]])\n if (!isNaN(parsed) && parsed <= conf.number.max && parsed >= conf.number.min) {\n value = parsed\n }\n } else {\n const stored = localStorage[lsKeys[key]]\n if (Array.isArray(conf.select)) {\n value = conf.select.find(sel => sel.value === stored)\n ? stored\n : undefined\n } else {\n value = stored\n }\n }\n\n // If valueHandler function exists, defer to the function,\n // otherwise pass value to global page object\n if (typeof conf.valueHandler === 'function') {\n conf.valueHandler(value)\n } else if (typeof value !== 'undefined') {\n page[key] = value\n } else if (typeof fallback[key] !== 'undefined') {\n page[key] = fallback[key]\n }\n }\n\n let control\n if (Array.isArray(conf.select)) {\n control = document.createElement('div')\n control.className = 'select is-fullwidth'\n\n const opts = []\n for (let j = 0; j < conf.select.length; j++) {\n const opt = conf.select[j]\n const selected = (value && (opt.value === String(value))) ||\n (typeof value === 'undefined' && opt.value === 'default')\n opts.push(`\n \n `)\n }\n\n control.innerHTML = `\n \n `\n } else if (conf.number) {\n control = document.createElement('input')\n control.id = control.name = key\n control.className = 'input is-fullwidth'\n control.type = 'number'\n\n if (typeof conf.number.min !== 'undefined') control.min = conf.number.min\n if (typeof conf.number.max !== 'undefined') control.max = conf.number.max\n if (typeof value === 'number') control.value = value\n else if (typeof conf.number.default !== 'undefined') control.value = conf.number.default\n }\n\n let help\n if (conf.disabled) {\n if (Array.isArray(conf.select)) {\n control.querySelector('select').disabled = conf.disabled\n } else {\n control.disabled = conf.disabled\n }\n help = 'This option is currently not configurable.'\n } else if (typeof conf.help === 'string') {\n help = conf.help\n } else if (conf.help === true && typeof conf.number !== 'undefined') {\n const tmp = []\n\n if (typeof conf.number.default !== 'undefined') {\n tmp.push(`Default is ${conf.number.default}${conf.number.suffix || ''}.`)\n }\n if (typeof conf.number.min !== 'undefined') {\n tmp.push(`Min is ${conf.number.min}${conf.number.suffix || ''}.`)\n }\n if (typeof conf.number.max !== 'undefined') {\n tmp.push(`Max is ${conf.number.max}${conf.number.suffix || ''}.`)\n }\n\n help = tmp.join(' ')\n }\n\n field.innerHTML = `\n \n
    \n ${help ? `

    ${help}

    ` : ''}\n `\n field.querySelector('div.control').appendChild(control)\n\n form.appendChild(field)\n }\n\n const submit = document.createElement('div')\n submit.className = 'field'\n submit.innerHTML = `\n

    \n \n

    \n

    \n This configuration will only be used in this browser.
    \n After reloading the page, some of them will also be applied to the ShareX config that you can download by clicking on the ShareX icon below.\n

    \n `\n\n form.appendChild(submit)\n form.querySelector('#saveConfig').addEventListener('click', () => {\n if (!form.checkValidity()) return\n\n const keys = Object.keys(config)\n .filter(key => config[key].display !== false && config[key].disabled !== true)\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n\n let value\n if (typeof config[key].select !== 'undefined') {\n if (form.elements[key].value !== 'default') {\n value = form.elements[key].value\n }\n } else if (typeof config[key].number !== 'undefined') {\n const parsed = parseInt(form.elements[key].value)\n if (!isNaN(parsed) && parsed !== config[key].number.default) {\n value = Math.min(Math.max(parsed, config[key].number.min), config[key].number.max)\n }\n }\n\n if (typeof value !== 'undefined') localStorage[lsKeys[key]] = value\n else localStorage.removeItem(lsKeys[key])\n }\n\n swal({\n title: 'Woohoo!',\n text: 'Configuration saved into this browser.',\n icon: 'success'\n }).then(() => {\n window.location.reload()\n })\n })\n\n tabContent.appendChild(form)\n}\n\npage.getPrettyUploadAge = hours => {\n if (hours === 0) {\n return 'Permanent'\n } else if (hours < 1) {\n const minutes = hours * 60\n return `${minutes} minute${minutes === 1 ? '' : 's'}`\n } else if (hours >= 24) {\n const days = hours / 24\n return `${days} day${days === 1 ? '' : 's'}`\n } else {\n return `${hours} hour${hours === 1 ? '' : 's'}`\n }\n}\n\n// Handle image paste event\nwindow.addEventListener('paste', event => {\n const items = (event.clipboardData || event.originalEvent.clipboardData).items\n const index = Object.keys(items)\n for (let i = 0; i < index.length; i++) {\n const item = items[index[i]]\n if (item.kind === 'file') {\n const blob = item.getAsFile()\n /* eslint-disable-next-line compat/compat */\n const file = new File([blob], `pasted-image.${blob.type.match(/(?:[^/]*\\/)([^;]*)/)[1]}`, {\n type: blob.type\n })\n page.dropzone.addFile(file)\n }\n }\n})\n\nwindow.addEventListener('DOMContentLoaded', () => {\n if (window.cookieconsent) {\n window.cookieconsent.initialise({\n cookie: {\n name: 'cookieconsent_status',\n path: window.location.pathname,\n expiryDays: 730,\n secure: window.location.protocol === 'https:'\n },\n palette: {\n popup: {\n background: '#282828',\n text: '#eff0f1'\n },\n button: {\n background: '#209cee',\n text: '#ffffff'\n }\n },\n theme: 'classic',\n position: 'bottom-left',\n content: {\n message: 'We use cookies to offer you a better browsing experience and to analyze our traffic. You consent to our cookies if you continue to use this website.',\n dismiss: 'Got it!',\n link: 'Details in our Cookie Policy',\n href: 'cookiepolicy'\n }\n })\n }\n\n page.checkIfPublic()\n\n page.clipboardJS = new ClipboardJS('.clipboard-js')\n\n page.clipboardJS.on('success', () => {\n return swal('', 'The link has been copied to clipboard.', 'success', {\n buttons: false,\n timer: 1500\n })\n })\n\n page.clipboardJS.on('error', page.onError)\n\n page.lazyLoad = new LazyLoad({\n elements_selector: '.field.uploads img'\n })\n\n document.querySelector('#createAlbum').addEventListener('click', () => {\n page.createAlbum()\n })\n})\n"]} \ No newline at end of file +{"version":3,"sources":["home.js"],"names":["const","lsKeys","token","chunkSize","parallelUploads","uploadsHistoryOrder","previewImages","fileLength","uploadAge","stripTags","page","localStorage","apiChecked","private","enableUserAccounts","maxSize","chunkSizeConfig","temporaryUploadAges","defaultTemporaryUploadAge","fileIdentifierLength","stripTagsConfig","album","maxSizeBytes","urlMaxSize","urlMaxSizeBytes","tabs","activeTab","albumSelect","albumSelectOnChange","previewTemplate","dropzone","clipboardJS","lazyLoad","urlsQueue","activeUrlsQueue","imageExts","videoExts","albumTitleMaxLength","albumDescMaxLength","error","document","querySelector","classList","add","querySelectorAll","forEach","element","uploadButton","innerText","remove","addEventListener","window","location","reload","response","onAxiosError","onError","console","content","createElement","innerHTML","toString","swal","title","icon","cont","statusText","status","data","description","success","apiVersion","match","src","text","buttons","confirm","closeModal","then","axios","get","onDownloadProgress","render","done","do","newsfeed","version","checkClientVersion","parseInt","getPrettyBytes","max","default","preparePage","catch","onInitError","verifyToken","prepareUpload","button","href","post","Array","isArray","retentionPeriods","defaultRetentionPeriod","code","removeItem","authLink","setAttribute","value","prepareShareX","fetchAlbums","prepareUploadConfig","prepareDropzone","uploadUrls","event","addUrlsToQueue","tabsContainer","loop","i","id","dataset","tabContent","setActiveTab","push","tab","length","index","let","headers","simple","albums","option","name","appendChild","previewNode","parentNode","removeChild","tabDiv","div","className","previewsContainer","Dropzone","body","url","paramName","clickable","maxFilesize","uploadMultiple","createImageThumbnails","autoProcessQueue","chunking","Boolean","parallelChunkUploads","timeout","init","this","on","file","previewElement","xhr","ontimeout","instances","getUploadingFiles","filter","instance","_handleUploadError","_uplSpeedCalc","lastSent","timestamp","Date","now","bytes","upload","chunked","setRequestHeader","chunks","progress","prettyBytesPerSec","total","Math","size","percentage","bytesSent","toFixed","upl","prefix","skipProgress","last","totalChunkCount","chunkIndex","elapsed","bytesPerSec","fullSec","splice","excessDuration","duration","files","updateTemplate","err","Error","test","updateTemplateIcon","chunksUploaded","uuid","original","type","albumid","filelength","age","striptags","urls","split","trim","firstChild","processUrlsQueue","shiftQueue","initUrlUpload","finishedUrlUpload","shift","templateElement","iconClass","iconElement","link","a","clipboard","clipboardText","parentElement","exec","extname","toLowerCase","includes","img","onerror","currentTarget","update","expirydate","expiryDate","getPrettyDate","createAlbum","cancel","download","checked","public","selected","fallback","min","config","siBytes","label","select","help","valueHandler","ampmTime","display","number","round","undefined","disabled","force","video","suffix","uploadFields","_default","stored","parseFloat","String","getPrettyUploadAge","isNaN","form","preventDefault","configKeys","Object","keys","key","conf","field","parsed","find","sel","control","opts","j","opt","join","tmp","submit","checkValidity","elements","hours","minutes","days","items","clipboardData","originalEvent","item","kind","blob","getAsFile","File","addFile","cookieconsent","initialise","cookie","path","pathname","expiryDays","secure","protocol","palette","popup","background","theme","position","message","dismiss","checkIfPublic","ClipboardJS","timer","LazyLoad","elements_selector"],"mappings":"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","file":"home.js","sourcesContent":["/* global swal, axios, Dropzone, ClipboardJS, LazyLoad */\n\nconst lsKeys = {\n token: 'token',\n chunkSize: 'chunkSize',\n parallelUploads: 'parallelUploads',\n uploadsHistoryOrder: 'uploadsHistoryOrder',\n previewImages: 'previewImages',\n fileLength: 'fileLength',\n uploadAge: 'uploadAge',\n stripTags: 'stripTags'\n}\n\nconst page = {\n // user token\n token: localStorage[lsKeys.token],\n\n // configs from api/check\n apiChecked: false,\n private: null,\n enableUserAccounts: null,\n maxSize: null,\n chunkSizeConfig: null,\n temporaryUploadAges: null,\n defaultTemporaryUploadAge: null,\n fileIdentifierLength: null,\n stripTagsConfig: null,\n\n // store album id that will be used with upload requests\n album: null,\n\n parallelUploads: null,\n previewImages: null,\n fileLength: null,\n uploadAge: null,\n stripTags: null,\n\n maxSizeBytes: null,\n urlMaxSize: null,\n urlMaxSizeBytes: null,\n chunkSize: null,\n\n tabs: [],\n activeTab: null,\n albumSelect: null,\n albumSelectOnChange: null,\n previewTemplate: null,\n\n dropzone: null,\n clipboardJS: null,\n lazyLoad: null,\n\n // additional vars for url uploads\n urlsQueue: [],\n activeUrlsQueue: 0,\n\n // Include BMP for uploads preview only, cause the real images will be used\n // Sharp isn't capable of making their thumbnails for dashboard and album public pages\n imageExts: ['.gif', '.jpeg', '.jpg', '.png', '.svg', '.tif', '.tiff', '.webp', '.bmp'],\n videoExts: ['.avi', '.m2ts', '.m4v', '.mkv', '.mov', '.mp4', '.webm', '.wmv'],\n\n albumTitleMaxLength: 70,\n albumDescMaxLength: 4000\n}\n\n// Handler for errors during initialization\npage.onInitError = error => {\n // Hide these elements\n document.querySelector('#albumDiv').classList.add('is-hidden')\n document.querySelector('#tabs').classList.add('is-hidden')\n document.querySelectorAll('.tab-content').forEach(element => {\n return element.classList.add('is-hidden')\n })\n\n // Update upload button\n const uploadButton = document.querySelector('#loginToUpload')\n uploadButton.innerText = 'An error occurred. Try to reload?'\n uploadButton.classList.remove('is-loading')\n uploadButton.classList.remove('is-hidden')\n\n uploadButton.addEventListener('click', () => {\n window.location.reload()\n })\n\n if (!error) return\n if (error.response) page.onAxiosError(error)\n else page.onError(error)\n}\n\n// Handler for regular JS errors\npage.onError = error => {\n console.error(error)\n\n const content = document.createElement('div')\n content.innerHTML = `\n

    ${error.toString()}

    \n

    Please check your console for more information.

    \n `\n return swal({\n title: 'An error occurred!',\n icon: 'error',\n content\n })\n}\n\n// Handler for Axios errors\npage.onAxiosError = (error, cont) => {\n if (!cont) console.error(error)\n\n // Better Cloudflare errors\n const cloudflareErrors = {\n 520: 'Unknown Error',\n 521: 'Web Server Is Down',\n 522: 'Connection Timed Out',\n 523: 'Origin Is Unreachable',\n 524: 'A Timeout Occurred',\n 525: 'SSL Handshake Failed',\n 526: 'Invalid SSL Certificate',\n 527: 'Railgun Error',\n 530: 'Origin DNS Error'\n }\n\n const statusText = cloudflareErrors[error.response.status] || error.response.statusText\n\n if (!cont) {\n const description = error.response.data && error.response.data.description\n ? error.response.data.description\n : 'There was an error with the request.\\nPlease check the console for more information.'\n return swal(`${error.response.status} ${statusText}`, description, 'error')\n } else if (error.response.data && error.response.data.description) {\n return error.response\n } else {\n const description = error.response\n ? `${error.response.status} ${statusText}`\n : error.toString()\n return { data: { success: false, description } }\n }\n}\n\npage.checkClientVersion = apiVersion => {\n const self = document.querySelector('#mainScript')\n const match = self.src.match(/\\?_=(\\d+)$/)\n if (match && match[1] && match[1] !== apiVersion) {\n return swal({\n title: 'Update detected!',\n text: 'Client assets have been updated. Reload to display the latest version?',\n icon: 'info',\n buttons: {\n confirm: {\n text: 'Reload',\n closeModal: false\n }\n }\n }).then(() => {\n window.location.reload()\n })\n }\n}\n\npage.checkIfPublic = () => {\n return axios.get('api/check', {\n onDownloadProgress: () => {\n // Only do render and/or newsfeed after this request has been initiated to avoid blocking\n /* global render */\n if (typeof render !== 'undefined' && !render.done) render.do()\n /* global newsfeed */\n if (typeof newsfeed !== 'undefined' && !newsfeed.done) newsfeed.do()\n if (!page.apiChecked) page.apiChecked = true\n }\n }).then(response => {\n if (response.data.version) {\n page.checkClientVersion(response.data.version)\n }\n\n page.private = response.data.private\n page.enableUserAccounts = response.data.enableUserAccounts\n\n page.maxSize = parseInt(response.data.maxSize)\n page.maxSizeBytes = page.maxSize * 1e6\n document.querySelector('#maxSize > span').innerHTML = page.getPrettyBytes(page.maxSizeBytes)\n\n page.chunkSizeConfig = {\n max: (response.data.chunkSize && parseInt(response.data.chunkSize.max)) || 95,\n default: response.data.chunkSize && parseInt(response.data.chunkSize.default)\n }\n\n page.temporaryUploadAges = response.data.temporaryUploadAges\n page.defaultTemporaryUploadAge = response.data.defaultTemporaryUploadAge || null\n page.fileIdentifierLength = response.data.fileIdentifierLength\n page.stripTagsConfig = response.data.stripTags\n\n return page.preparePage()\n }).catch(page.onInitError)\n}\n\npage.preparePage = () => {\n if (page.token) {\n return page.verifyToken(page.token)\n } else if (page.private) {\n const button = document.querySelector('#loginToUpload')\n button.href = 'auth'\n button.classList.remove('is-loading')\n if (page.enableUserAccounts) {\n button.innerText = 'Anonymous upload is disabled.\\nLog in or register to upload.'\n } else {\n button.innerText = 'Running in private mode.\\nLog in to upload.'\n }\n } else {\n return page.prepareUpload()\n }\n}\n\npage.verifyToken = token => {\n return axios.post('api/tokens/verify', { token }).then(response => {\n localStorage[lsKeys.token] = token\n page.token = token\n\n // If user has its own retention periods array, override defaults\n if (Array.isArray(response.data.retentionPeriods)) {\n page.temporaryUploadAges = response.data.retentionPeriods\n page.defaultTemporaryUploadAge = response.data.defaultRetentionPeriod\n }\n\n return page.prepareUpload()\n }).catch(error => {\n return swal({\n title: 'An error occurred!',\n text: error.response.data ? error.response.data.description : error.toString(),\n icon: 'error'\n }).then(() => {\n if (error.response.data && error.response.data.code === 10001) {\n localStorage.removeItem(lsKeys.token)\n window.location.reload()\n } else {\n page.onInitError()\n }\n })\n })\n}\n\npage.prepareUpload = () => {\n // I think this fits best here because we need to check for a valid token before we can get the albums\n if (page.token) {\n // Change /auth link to /dashboard\n const authLink = document.querySelector('#linksColumn a[href=\"auth\"]')\n if (authLink) authLink.setAttribute('href', 'dashboard')\n\n // Display the album selection\n document.querySelector('#albumDiv').classList.remove('is-hidden')\n\n page.albumSelect = document.querySelector('#albumSelect')\n page.albumSelectOnChange = () => {\n page.album = parseInt(page.albumSelect.value)\n // Re-generate ShareX config file\n if (typeof page.prepareShareX === 'function') page.prepareShareX()\n }\n page.albumSelect.addEventListener('change', page.albumSelectOnChange)\n\n // Fetch albums\n page.fetchAlbums()\n } else if (page.enableUserAccounts) {\n document.querySelector('#loginLinkText').innerHTML = 'Create an account and keep track of your uploads'\n }\n\n // Prepare & generate config tab\n page.prepareUploadConfig()\n\n // Hide login button\n document.querySelector('#loginToUpload').classList.add('is-hidden')\n\n // Prepare & generate files upload tab\n page.prepareDropzone()\n\n // Generate ShareX config file\n if (typeof page.prepareShareX === 'function') page.prepareShareX()\n\n // Prepare urls upload tab\n const urlMaxSize = document.querySelector('#urlMaxSize')\n if (urlMaxSize) {\n page.urlMaxSize = parseInt(urlMaxSize.innerHTML)\n page.urlMaxSizeBytes = page.urlMaxSize * 1e6\n urlMaxSize.innerHTML = page.getPrettyBytes(page.urlMaxSizeBytes)\n }\n\n const uploadUrls = document.querySelector('#uploadUrls')\n if (uploadUrls) {\n uploadUrls.addEventListener('click', event => {\n page.addUrlsToQueue()\n })\n }\n\n // Get all tabs\n const tabsContainer = document.querySelector('#tabs')\n const tabs = tabsContainer.querySelectorAll('li')\n for (let i = 0; i < tabs.length; i++) {\n const id = tabs[i].dataset.id\n const tabContent = document.querySelector(`#${id}`)\n if (!tabContent) continue\n\n tabs[i].addEventListener('click', () => {\n page.setActiveTab(i)\n })\n page.tabs.push({ tab: tabs[i], content: tabContent })\n }\n\n // Set first valid tab as the default active tab\n if (page.tabs.length) {\n page.setActiveTab(0)\n tabsContainer.classList.remove('is-hidden')\n }\n}\n\npage.setActiveTab = index => {\n for (let i = 0; i < page.tabs.length; i++) {\n if (i === index) {\n page.tabs[i].tab.classList.add('is-active')\n page.tabs[i].content.classList.remove('is-hidden')\n page.activeTab = index\n } else {\n page.tabs[i].tab.classList.remove('is-active')\n page.tabs[i].content.classList.add('is-hidden')\n }\n }\n}\n\npage.fetchAlbums = () => {\n return axios.get('api/albums', {\n headers: {\n simple: '1',\n token: page.token\n }\n }).then(response => {\n if (response.data.success === false) {\n return swal('An error occurred!', response.data.description, 'error')\n }\n\n // Create an option for each album\n if (Array.isArray(response.data.albums) && response.data.albums.length) {\n for (let i = 0; i < response.data.albums.length; i++) {\n const album = response.data.albums[i]\n const option = document.createElement('option')\n option.value = album.id\n option.innerHTML = album.name\n page.albumSelect.appendChild(option)\n }\n }\n }).catch(page.onInitError)\n}\n\npage.prepareDropzone = () => {\n // Parse template element\n const previewNode = document.querySelector('#tpl')\n page.previewTemplate = previewNode.innerHTML\n previewNode.parentNode.removeChild(previewNode)\n\n // Generate files upload tab\n const tabDiv = document.querySelector('#tab-files')\n const div = document.createElement('div')\n div.className = 'control is-expanded'\n div.innerHTML = `\n
    \n \n \n \n Click here or drag & drop files\n
    \n `\n tabDiv.querySelector('.dz-container').appendChild(div)\n\n const previewsContainer = tabDiv.querySelector('#tab-files .field.uploads')\n\n page.dropzone = new Dropzone(document.body, {\n url: 'api/upload',\n paramName: 'files[]',\n clickable: tabDiv.querySelector('#dropzone'),\n maxFilesize: page.maxSizeBytes / 1024 / 1024, // this option expects MiB\n parallelUploads: page.parallelUploads,\n uploadMultiple: false,\n previewsContainer,\n previewTemplate: page.previewTemplate,\n createImageThumbnails: false,\n autoProcessQueue: true,\n headers: { token: page.token },\n chunking: Boolean(page.chunkSize),\n chunkSize: page.chunkSize * 1e6, // this option expects Bytes\n // Lolisafe cannot handle parallel chunked uploads\n // due to technical reasons involving how we optimize I/O performance\n parallelChunkUploads: false,\n timeout: 0,\n\n init () {\n this.on('addedfile', file => {\n // Set active tab to file uploads, if necessary\n if (page.activeTab !== 0) page.setActiveTab(0)\n\n // Add file entry\n tabDiv.querySelector('.uploads').classList.remove('is-hidden')\n\n file.previewElement.querySelector('.name').innerHTML = file.name\n file.previewElement.querySelector('.descriptive-progress').innerHTML = 'Waiting in queue\\u2026'\n })\n\n this.on('sending', (file, xhr) => {\n // Add timeout listener (hacky method due to lack of built-in timeout handler)\n if (!xhr.ontimeout) {\n xhr.ontimeout = () => {\n const instances = page.dropzone.getUploadingFiles()\n .filter(instance => instance.xhr === xhr)\n page.dropzone._handleUploadError(instances, xhr, 'Connection timed out. Try to reduce upload chunk size.')\n }\n }\n\n // Attach necessary data for initial upload speed calculation\n if (typeof xhr._uplSpeedCalc === 'undefined') {\n xhr._uplSpeedCalc = {\n lastSent: 0,\n data: [{ timestamp: Date.now(), bytes: 0 }]\n }\n }\n\n // If not chunked uploads, add extra headers\n if (!file.upload.chunked) {\n if (page.album !== null) xhr.setRequestHeader('albumid', page.album)\n if (page.fileLength !== null) xhr.setRequestHeader('filelength', page.fileLength)\n if (page.uploadAge !== null) xhr.setRequestHeader('age', page.uploadAge)\n if (page.stripTags !== null) xhr.setRequestHeader('striptags', page.stripTags)\n }\n\n if (!file.upload.chunked) {\n file.previewElement.querySelector('.descriptive-progress').innerHTML = 'Uploading\\u2026'\n } else if (file.upload.chunks.length === 1) {\n file.previewElement.querySelector('.descriptive-progress').innerHTML = `Uploading chunk 1/${file.upload.totalChunkCount}\\u2026`\n }\n })\n\n // Update descriptive progress\n this.on('uploadprogress', (file, progress) => {\n // Total bytes will eventually be bigger than file size when chunked\n const total = Math.max(file.size, file.upload.total)\n const percentage = (file.upload.bytesSent / total * 100).toFixed(0)\n\n const upl = file.upload.chunked\n ? file.upload.chunks[file.upload.chunks.length - 1]\n : file.upload\n const xhr = upl.xhr || file.xhr\n\n let prefix = 'Uploading\\u2026'\n let skipProgress = false\n if (file.upload.chunked) {\n const done = upl.bytesSent === upl.total\n const last = file.upload.chunks.length === file.upload.totalChunkCount\n let chunkIndex = file.upload.chunks.length\n if (done && !last) {\n chunkIndex++\n skipProgress = true\n }\n prefix = `Uploading chunk ${chunkIndex}/${file.upload.totalChunkCount}\\u2026`\n }\n\n // Real-time upload speed calculation\n let prettyBytesPerSec\n if (!skipProgress) {\n const now = Date.now()\n const bytesSent = upl.bytesSent - xhr._uplSpeedCalc.lastSent\n\n // Push data of current iteration\n xhr._uplSpeedCalc.lastSent = upl.bytesSent\n xhr._uplSpeedCalc.data.push({ timestamp: now, bytes: bytesSent })\n\n // Wait till at least the 2nd iteration (3 data including initial data)\n const length = xhr._uplSpeedCalc.data.length\n if (length > 2) {\n // Calculate using data from all iterations\n let elapsed = 0\n let bytesPerSec = 0\n let fullSec = false\n let i = length - 1 // Always start with 2nd from last item\n while (i--) {\n // Splice data of unrequired iterations\n if (fullSec) {\n xhr._uplSpeedCalc.data.splice(i, 1)\n continue\n }\n // Sum data\n elapsed = now - xhr._uplSpeedCalc.data[i].timestamp\n if (elapsed > 1000) {\n const excessDuration = elapsed - 1000\n const newerIterationElapsed = now - xhr._uplSpeedCalc.data[i + 1].timestamp\n const duration = elapsed - newerIterationElapsed\n const fragment = (duration - excessDuration) / duration * xhr._uplSpeedCalc.data[i + 1].bytes\n bytesPerSec += fragment\n fullSec = true\n } else {\n bytesPerSec += xhr._uplSpeedCalc.data[i + 1].bytes\n }\n }\n\n // If not enough data\n if (!fullSec) bytesPerSec = 1000 / elapsed * bytesPerSec\n\n // Get pretty bytes\n prettyBytesPerSec = page.getPrettyBytes(bytesPerSec)\n }\n }\n\n file.previewElement.querySelector('.descriptive-progress').innerHTML =\n `${prefix} ${percentage}%${prettyBytesPerSec ? ` at ${prettyBytesPerSec}/s` : ''}`\n })\n\n this.on('success', (file, data) => {\n if (!data) return\n file.previewElement.querySelector('.descriptive-progress').classList.add('is-hidden')\n\n if (data.success === false) {\n file.previewElement.querySelector('.error').innerHTML = data.description\n file.previewElement.querySelector('.error').classList.remove('is-hidden')\n }\n\n if (Array.isArray(data.files) && data.files[0]) {\n page.updateTemplate(file, data.files[0])\n }\n })\n\n this.on('error', (file, error, xhr) => {\n let err = error\n if (typeof error === 'object' && error.description) {\n err = error.description\n } else if (xhr) {\n // Formatting the Object is necessary since the function expect Axios errors\n err = page.onAxiosError({\n response: {\n status: xhr.status,\n statusText: xhr.statusText\n }\n }, true).data.description\n } else if (error instanceof Error) {\n err = error.toString()\n }\n\n // Clean up file size errors\n if (/^File is too big/.test(err) || /File too large/.test(err)) {\n err = `File too large (${page.getPrettyBytes(file.size)}).`\n }\n\n file.previewElement.querySelector('.descriptive-progress').classList.add('is-hidden')\n\n file.previewElement.querySelector('.error').innerHTML = err\n file.previewElement.querySelector('.error').classList.remove('is-hidden')\n\n page.updateTemplateIcon(file.previewElement, 'icon-block')\n })\n },\n\n chunksUploaded (file, done) {\n file.previewElement.querySelector('.descriptive-progress').innerHTML =\n `Rebuilding ${file.upload.totalChunkCount} chunks\\u2026`\n\n axios.post('api/upload/finishchunks', {\n // This API supports an array of multiple files\n files: [{\n uuid: file.upload.uuid,\n original: file.name,\n type: file.type,\n size: file.size,\n albumid: page.album,\n filelength: page.fileLength,\n age: page.uploadAge\n }]\n }, {\n headers: {\n token: page.token,\n // Unlike the options above (e.g. albumid, filelength, etc.),\n // strip tags cannot yet be configured per file with this API\n striptags: page.stripTags\n }\n }).catch(error => page.onAxiosError(error, true)).then(response => {\n file.previewElement.querySelector('.descriptive-progress').classList.add('is-hidden')\n\n if (response.data.success === false) {\n file.previewElement.querySelector('.error').innerHTML = response.data.description\n file.previewElement.querySelector('.error').classList.remove('is-hidden')\n\n page.updateTemplateIcon(file.previewElement, 'icon-block')\n }\n\n if (response.data.files && response.data.files[0]) {\n page.updateTemplate(file, response.data.files[0])\n }\n\n done()\n })\n }\n })\n}\n\npage.addUrlsToQueue = () => {\n const urls = document.querySelector('#urls').value\n .split(/\\r?\\n/)\n .filter(url => {\n return url.trim().length\n })\n\n if (!urls.length) {\n return swal('An error occurred!', 'You have not entered any URLs.', 'error')\n }\n\n const tabDiv = document.querySelector('#tab-urls')\n tabDiv.querySelector('.uploads').classList.remove('is-hidden')\n\n for (let i = 0; i < urls.length; i++) {\n const previewTemplate = document.createElement('template')\n previewTemplate.innerHTML = page.previewTemplate.trim()\n\n const previewElement = previewTemplate.content.firstChild\n previewElement.querySelector('.name').innerHTML = urls[i]\n previewElement.querySelector('.descriptive-progress').innerHTML = 'Waiting in queue\\u2026'\n\n const previewsContainer = tabDiv.querySelector('.uploads')\n previewsContainer.appendChild(previewElement)\n\n page.urlsQueue.push({\n url: urls[i],\n previewElement\n })\n }\n\n page.processUrlsQueue()\n document.querySelector('#urls').value = ''\n}\n\npage.processUrlsQueue = () => {\n if (!page.urlsQueue.length) return\n\n function finishedUrlUpload (file, data) {\n file.previewElement.querySelector('.descriptive-progress').classList.add('is-hidden')\n\n if (data.success === false) {\n const match = data.description.match(/ over limit: (\\d+)$/)\n if (match && match[1]) {\n data.description = `File exceeded limit of ${page.getPrettyBytes(match[1])}.`\n }\n\n file.previewElement.querySelector('.error').innerHTML = data.description\n file.previewElement.querySelector('.error').classList.remove('is-hidden')\n\n page.updateTemplateIcon(file.previewElement, 'icon-block')\n }\n\n if (Array.isArray(data.files) && data.files[0]) {\n page.updateTemplate(file, data.files[0])\n }\n\n page.activeUrlsQueue--\n return shiftQueue()\n }\n\n function initUrlUpload (file) {\n file.previewElement.querySelector('.descriptive-progress').innerHTML =\n 'Waiting for server to fetch URL\\u2026'\n\n return axios.post('api/upload', {\n urls: [file.url]\n }, {\n headers: {\n token: page.token,\n albumid: page.album,\n age: page.uploadAge,\n filelength: page.fileLength\n }\n }).catch(error => page.onAxiosError(error, true)).then(response => {\n return finishedUrlUpload(file, response.data)\n })\n }\n\n function shiftQueue () {\n while (page.urlsQueue.length && (page.activeUrlsQueue < page.parallelUploads)) {\n page.activeUrlsQueue++\n initUrlUpload(page.urlsQueue.shift())\n }\n }\n\n return shiftQueue()\n}\n\npage.updateTemplateIcon = (templateElement, iconClass) => {\n const iconElement = templateElement.querySelector('.icon')\n if (!iconElement) return\n\n iconElement.classList.add(iconClass)\n iconElement.classList.remove('is-hidden')\n}\n\npage.updateTemplate = (file, response) => {\n if (!response.url) return\n\n const link = file.previewElement.querySelector('.link')\n const a = link.querySelector('a')\n const clipboard = file.previewElement.querySelector('.clipboard-mobile > .clipboard-js')\n let url = response.url\n if (!/^https?:\\/\\//i.test(url)) {\n url = `${window.location.origin}/${url}`\n }\n a.href = a.innerHTML = clipboard.dataset.clipboardText = url\n\n link.classList.remove('is-hidden')\n clipboard.parentElement.classList.remove('is-hidden')\n\n const exec = /.[\\w]+$/.exec(response.url)\n const extname = exec && exec[0]\n ? exec[0].toLowerCase()\n : null\n\n if (page.imageExts.includes(extname)) {\n if (page.previewImages) {\n const img = file.previewElement.querySelector('img')\n img.setAttribute('alt', response.name || '')\n img.dataset.src = response.url\n img.classList.remove('is-hidden')\n img.onerror = event => {\n // Hide image elements that fail to load\n // Consequently include WEBP in browsers that do not have WEBP support (e.g. IE)\n event.currentTarget.classList.add('is-hidden')\n page.updateTemplateIcon(file.previewElement, 'icon-picture')\n }\n page.lazyLoad.update(file.previewElement.querySelectorAll('img'))\n } else {\n page.updateTemplateIcon(file.previewElement, 'icon-picture')\n }\n } else if (page.videoExts.includes(extname)) {\n page.updateTemplateIcon(file.previewElement, 'icon-video')\n } else {\n page.updateTemplateIcon(file.previewElement, 'icon-doc-inv')\n }\n\n if (response.expirydate) {\n const expiryDate = file.previewElement.querySelector('.expiry-date')\n expiryDate.dataset.timestamp = response.expirydate\n expiryDate.innerHTML = `EXP: ${page.getPrettyDate(new Date(response.expirydate * 1000))}`\n expiryDate.classList.remove('is-hidden')\n }\n}\n\npage.createAlbum = () => {\n const div = document.createElement('div')\n div.innerHTML = `\n
    \n
    \n \n
    \n

    Max length is ${page.albumTitleMaxLength} characters.

    \n
    \n
    \n
    \n \n
    \n

    Max length is ${page.albumDescMaxLength} characters.

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n `\n\n swal({\n title: 'Create new album',\n icon: 'info',\n content: div,\n buttons: {\n cancel: true,\n confirm: {\n closeModal: false\n }\n }\n }).then(value => {\n if (!value) return\n\n const name = document.querySelector('#swalName').value.trim()\n axios.post('api/albums', {\n name,\n description: document.querySelector('#swalDescription').value.trim(),\n download: document.querySelector('#swalDownload').checked,\n public: document.querySelector('#swalPublic').checked\n }, {\n headers: {\n token: page.token\n }\n }).then(response => {\n if (response.data.success === false) {\n return swal('An error occurred!', response.data.description, 'error')\n }\n\n const option = document.createElement('option')\n page.albumSelect.appendChild(option)\n option.value = response.data.id\n option.innerHTML = name\n option.selected = true\n page.albumSelectOnChange()\n\n swal('Woohoo!', 'Album was created successfully.', 'success')\n }).catch(page.onError)\n })\n}\n\npage.prepareUploadConfig = () => {\n // This object should only be used to set fallback values for page[key]\n // (essentially for page[key] properties that explicitly need to be set as something)\n // As for default values in the Config tab (which will not set page[key]),\n // check out number.default property of each config\n const fallback = {\n chunkSize: page.chunkSizeConfig.default,\n parallelUploads: 2\n }\n\n const temporaryUploadAges = Array.isArray(page.temporaryUploadAges) &&\n page.temporaryUploadAges.length\n const fileIdentifierLength = page.fileIdentifierLength &&\n typeof page.fileIdentifierLength.min === 'number' &&\n typeof page.fileIdentifierLength.max === 'number'\n\n const config = {\n siBytes: {\n label: 'File size display',\n select: [\n { value: 'default', text: '1000 B = 1 kB = 1 Kilobyte' },\n { value: '0', text: '1024 B = 1 KiB = 1 Kibibyte' }\n ],\n help: 'This will be used in our homepage, dashboard, and album public pages.',\n valueHandler () {} // Do nothing\n },\n ampmTime: {\n label: 'Show AM/PM on date',\n select: [\n { value: 'default', text: 'No' },\n { value: '1', text: 'Yes' }\n ],\n help: 'This will be used in our homepage and dashboard.',\n valueHandler () {} // Do nothing\n },\n fileLength: {\n display: fileIdentifierLength,\n label: 'File identifier length',\n number: fileIdentifierLength\n ? {\n min: page.fileIdentifierLength.min,\n max: page.fileIdentifierLength.max,\n default: page.fileIdentifierLength.default,\n round: true\n }\n : undefined,\n help: true, // true means auto-generated, for number-based configs only\n disabled: fileIdentifierLength && page.fileIdentifierLength.force\n },\n uploadAge: {\n display: temporaryUploadAges,\n label: 'Upload age',\n select: [],\n help: 'Whether to automatically delete your uploads after a certain amount of time.'\n },\n stripTags: {\n display: page.stripTagsConfig,\n label: 'Strip tags',\n select: page.stripTagsConfig\n ? [\n { value: page.stripTagsConfig.default ? 'default' : '1', text: 'Yes' },\n { value: page.stripTagsConfig.default ? '0' : 'default', text: 'No' }\n ]\n : null,\n help: `Whether to strip tags (e.g. EXIF) from your uploads.
    \n This only applies to regular image${page.stripTagsConfig && page.stripTagsConfig.video ? ' and video' : ''} uploads (i.e. not URL uploads).`,\n disabled: page.stripTagsConfig && page.stripTagsConfig.force\n },\n chunkSize: {\n display: Boolean(page.chunkSizeConfig.default),\n label: 'Upload chunk size (MB)',\n number: {\n min: 1,\n max: page.chunkSizeConfig.max,\n default: fallback.chunkSize,\n suffix: ' MB',\n round: true\n },\n help: true\n },\n parallelUploads: {\n label: 'Parallel uploads',\n number: {\n min: 1,\n max: 10,\n default: fallback.parallelUploads,\n round: true\n },\n help: true\n },\n uploadsHistoryOrder: {\n label: 'Uploads history order',\n select: [\n { value: 'default', text: 'Older files on top' },\n { value: '0', text: 'Newer files on top' }\n ],\n help: `\"Newer files on top\" will use a CSS technique, which unfortunately come with some undesirable side effects.
    \n This also affects text selection, such as when trying to select text from top to bottom will result in them being selected from bottom to top instead, and vice versa.`,\n valueHandler (value) {\n if (value === '0') {\n const uploadFields = document.querySelectorAll('.tab-content > .uploads')\n for (let i = 0; i < uploadFields.length; i++) {\n uploadFields[i].classList.add('is-reversed')\n }\n }\n }\n },\n previewImages: {\n label: 'Load images for preview',\n select: [\n { value: 'default', text: 'Yes' },\n { value: '0', text: 'No' }\n ],\n help: 'By default, uploaded images will be loaded as their previews.',\n valueHandler (value) {\n page.previewImages = value !== '0'\n }\n }\n }\n\n if (temporaryUploadAges) {\n const _default = page.defaultTemporaryUploadAge === null\n ? page.temporaryUploadAges[0]\n : page.defaultTemporaryUploadAge\n const stored = parseFloat(localStorage[lsKeys.uploadAge])\n for (let i = 0; i < page.temporaryUploadAges.length; i++) {\n const age = page.temporaryUploadAges[i]\n config.uploadAge.select.push({\n value: age === _default ? 'default' : String(age),\n text: page.getPrettyUploadAge(age)\n })\n if (age === stored) {\n config.uploadAge.value = stored\n }\n }\n }\n\n if (fileIdentifierLength) {\n const stored = parseInt(localStorage[lsKeys.fileLength])\n if (!page.fileIdentifierLength.force &&\n !isNaN(stored) &&\n stored >= page.fileIdentifierLength.min &&\n stored <= page.fileIdentifierLength.max) {\n config.fileLength.value = stored\n }\n }\n\n const tabContent = document.querySelector('#tab-config')\n const form = document.createElement('form')\n form.addEventListener('submit', event => event.preventDefault())\n\n const configKeys = Object.keys(config)\n for (let i = 0; i < configKeys.length; i++) {\n const key = configKeys[i]\n const conf = config[key]\n\n // Skip only if display attribute is explicitly set to false\n if (conf.display === false) continue\n\n const field = document.createElement('div')\n field.className = 'field'\n\n let value\n if (!conf.disabled) {\n if (typeof conf.value !== 'undefined') {\n value = conf.value\n } else if (typeof conf.number !== 'undefined') {\n const parsed = parseInt(localStorage[lsKeys[key]])\n if (!isNaN(parsed) && parsed <= conf.number.max && parsed >= conf.number.min) {\n value = parsed\n }\n } else {\n const stored = localStorage[lsKeys[key]]\n if (Array.isArray(conf.select)) {\n value = conf.select.find(sel => sel.value === stored)\n ? stored\n : undefined\n } else {\n value = stored\n }\n }\n\n // If valueHandler function exists, defer to the function,\n // otherwise pass value to global page object\n if (typeof conf.valueHandler === 'function') {\n conf.valueHandler(value)\n } else if (typeof value !== 'undefined') {\n page[key] = value\n } else if (typeof fallback[key] !== 'undefined') {\n page[key] = fallback[key]\n }\n }\n\n let control\n if (Array.isArray(conf.select)) {\n control = document.createElement('div')\n control.className = 'select is-fullwidth'\n\n const opts = []\n for (let j = 0; j < conf.select.length; j++) {\n const opt = conf.select[j]\n const selected = (value && (opt.value === String(value))) ||\n (typeof value === 'undefined' && opt.value === 'default')\n opts.push(`\n \n `)\n }\n\n control.innerHTML = `\n \n `\n } else if (conf.number) {\n control = document.createElement('input')\n control.id = control.name = key\n control.className = 'input is-fullwidth'\n control.type = 'number'\n\n if (typeof conf.number.min !== 'undefined') control.min = conf.number.min\n if (typeof conf.number.max !== 'undefined') control.max = conf.number.max\n if (typeof value === 'number') control.value = value\n else if (typeof conf.number.default !== 'undefined') control.value = conf.number.default\n }\n\n let help\n if (conf.disabled) {\n if (Array.isArray(conf.select)) {\n control.querySelector('select').disabled = conf.disabled\n } else {\n control.disabled = conf.disabled\n }\n help = 'This option is currently not configurable.'\n } else if (typeof conf.help === 'string') {\n help = conf.help\n } else if (conf.help === true && typeof conf.number !== 'undefined') {\n const tmp = []\n\n if (typeof conf.number.default !== 'undefined') {\n tmp.push(`Default is ${conf.number.default}${conf.number.suffix || ''}.`)\n }\n if (typeof conf.number.min !== 'undefined') {\n tmp.push(`Min is ${conf.number.min}${conf.number.suffix || ''}.`)\n }\n if (typeof conf.number.max !== 'undefined') {\n tmp.push(`Max is ${conf.number.max}${conf.number.suffix || ''}.`)\n }\n\n help = tmp.join(' ')\n }\n\n field.innerHTML = `\n \n
    \n ${help ? `

    ${help}

    ` : ''}\n `\n field.querySelector('div.control').appendChild(control)\n\n form.appendChild(field)\n }\n\n const submit = document.createElement('div')\n submit.className = 'field'\n submit.innerHTML = `\n

    \n \n

    \n

    \n This configuration will only be used in this browser.
    \n After reloading the page, some of them will also be applied to the ShareX config that you can download by clicking on the ShareX icon below.\n

    \n `\n\n form.appendChild(submit)\n form.querySelector('#saveConfig').addEventListener('click', () => {\n if (!form.checkValidity()) return\n\n const keys = Object.keys(config)\n .filter(key => config[key].display !== false && config[key].disabled !== true)\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n\n let value\n if (typeof config[key].select !== 'undefined') {\n if (form.elements[key].value !== 'default') {\n value = form.elements[key].value\n }\n } else if (typeof config[key].number !== 'undefined') {\n const parsed = parseInt(form.elements[key].value)\n if (!isNaN(parsed) && parsed !== config[key].number.default) {\n value = Math.min(Math.max(parsed, config[key].number.min), config[key].number.max)\n }\n }\n\n if (typeof value !== 'undefined') localStorage[lsKeys[key]] = value\n else localStorage.removeItem(lsKeys[key])\n }\n\n swal({\n title: 'Woohoo!',\n text: 'Configuration saved into this browser.',\n icon: 'success'\n }).then(() => {\n window.location.reload()\n })\n })\n\n tabContent.appendChild(form)\n}\n\npage.getPrettyUploadAge = hours => {\n if (hours === 0) {\n return 'Permanent'\n } else if (hours < 1) {\n const minutes = hours * 60\n return `${minutes} minute${minutes === 1 ? '' : 's'}`\n } else if (hours >= 24) {\n const days = hours / 24\n return `${days} day${days === 1 ? '' : 's'}`\n } else {\n return `${hours} hour${hours === 1 ? '' : 's'}`\n }\n}\n\n// Handle image paste event\nwindow.addEventListener('paste', event => {\n const items = (event.clipboardData || event.originalEvent.clipboardData).items\n const index = Object.keys(items)\n for (let i = 0; i < index.length; i++) {\n const item = items[index[i]]\n if (item.kind === 'file') {\n const blob = item.getAsFile()\n /* eslint-disable-next-line compat/compat */\n const file = new File([blob], `pasted-image.${blob.type.match(/(?:[^/]*\\/)([^;]*)/)[1]}`, {\n type: blob.type\n })\n page.dropzone.addFile(file)\n }\n }\n})\n\nwindow.addEventListener('DOMContentLoaded', () => {\n if (window.cookieconsent) {\n window.cookieconsent.initialise({\n cookie: {\n name: 'cookieconsent_status',\n path: window.location.pathname,\n expiryDays: 730,\n secure: window.location.protocol === 'https:'\n },\n palette: {\n popup: {\n background: '#282828',\n text: '#eff0f1'\n },\n button: {\n background: '#209cee',\n text: '#ffffff'\n }\n },\n theme: 'classic',\n position: 'bottom-left',\n content: {\n message: 'We use cookies to offer you a better browsing experience and to analyze our traffic. You consent to our cookies if you continue to use this website.',\n dismiss: 'Got it!',\n link: 'Details in our Cookie Policy',\n href: 'cookiepolicy'\n }\n })\n }\n\n page.checkIfPublic()\n\n page.clipboardJS = new ClipboardJS('.clipboard-js')\n\n page.clipboardJS.on('success', () => {\n return swal('', 'The link has been copied to clipboard.', 'success', {\n buttons: false,\n timer: 1500\n })\n })\n\n page.clipboardJS.on('error', page.onError)\n\n page.lazyLoad = new LazyLoad({\n elements_selector: '.field.uploads img'\n })\n\n document.querySelector('#createAlbum').addEventListener('click', () => {\n page.createAlbum()\n })\n})\n"]} \ No newline at end of file diff --git a/dist/js/misc/newsfeed.js.map b/dist/js/misc/newsfeed.js.map index 09334bb..551d4de 100644 --- a/dist/js/misc/newsfeed.js.map +++ b/dist/js/misc/newsfeed.js.map @@ -1 +1 @@ -{"version":3,"sources":["newsfeed.js"],"names":["const","newsfeed","lsKey","feedUrl","maxItems","maxAge","dismissed","done","string","months","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","match","date","Date","setUTCDate","setUTCMonth","setUTCFullYear","setUTCHours","setUTCMinutes","setUTCSeconds","delta","fuzzy","unit","hour","minute","day","week","Math","floor","item","isRecentWeek","dateDelta","element","document","createElement","dataset","identifier","className","href","link","target","innerHTML","title","description","slice","parsedDate","toLocaleString","formatRelativeDate","parentNode","removeChild","keys","Object","length","let","i","localStorage","JSON","stringify","axios","get","responseType","then","response","data","documentElement","Element","Error","items","querySelectorAll","parse","id","column","querySelector","min","titleElement","descriptionElement","pubDateElement","linkElement","textContent","pubDate","simpleParseDate","round","notificationElement","formatNotification","dismissTrigger","addEventListener","event","preventDefault","dismissNotification","appendChild","body","catch","console","error","page","apiChecked","do","readyState","onloaded","window"],"mappings":"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","file":"newsfeed.js","sourcesContent":["/* global page, axios */\n\nconst newsfeed = {\n lsKey: 'newsfeed',\n feedUrl: 'https://blog.fiery.me/rss-newsfeed.xml',\n maxItems: 3,\n maxAge: 91 * 24 * 60 * 60, // 91 days (~3 months)\n dismissed: {},\n done: false\n}\n\nnewsfeed.simpleParseDate = string => {\n // For now limited to support the following examples (used in blog.fiery.me):\n // Mon, 27 Jul 2020 18:30:00 GMT\n // Sat, 16 May 2020 14:55:00 GMT\n // Probably better to use a library if it needs to support other formats.\n const months = { Jan: 0, Feb: 1, Mar: 2, Apr: 3, May: 4, Jun: 5, Jul: 6, Aug: 7, Sep: 8, Oct: 9, Nov: 10, Dec: 11 }\n const match = string.match(/[a-zA-Z]*,\\s(\\d{2})\\s([a-zA-Z]{3})\\s(\\d{4})\\s(\\d{2}):(\\d{2}):(\\d{2})\\sGMT/)\n if (match && (typeof months[match[2]] !== 'undefined')) {\n const date = new Date()\n date.setUTCDate(match[1])\n date.setUTCMonth(months[match[2]])\n date.setUTCFullYear(match[3])\n date.setUTCHours(match[4])\n date.setUTCMinutes(match[5])\n date.setUTCSeconds(match[6])\n return date\n }\n}\n\nnewsfeed.formatRelativeDate = delta => {\n // https://stackoverflow.com/a/7641812\n // CC BY-SA 3.0\n const minute = 60\n const hour = minute * 60\n const day = hour * 24\n const week = day * 7\n\n let fuzzy\n let unit\n if (delta < minute) {\n fuzzy = delta\n unit = 'second'\n } else if (delta < hour) {\n fuzzy = Math.floor(delta / minute)\n unit = 'minute'\n } else if (delta < day) {\n fuzzy = Math.floor(delta / hour)\n unit = 'hour'\n } else if (delta < week) {\n fuzzy = Math.floor(delta / day)\n unit = 'day'\n } else {\n fuzzy = Math.floor(delta / week)\n unit = 'week'\n }\n\n return `${fuzzy} ${unit}${fuzzy !== 1 ? 's' : ''} ago`\n}\n\nnewsfeed.formatNotification = item => {\n const isRecentWeek = item.dateDelta <= (7 * 24 * 60 * 60) // 7 days (1 week)\n const element = document.createElement('a')\n element.dataset.identifier = item.identifier\n element.className = 'notification is-info'\n element.href = item.link\n element.target = '_blank'\n element.innerHTML = `\n \n
    \n
    \n ${item.title || 'Untitled'}\n
    \n
    \n ${item.description\n ? `${item.description.slice(-1) === '…' ? `${item.description.slice(0, -1)} […]` : item.description}`\n : 'N/A'}\n
    \n
    \n ${newsfeed.formatRelativeDate(item.dateDelta)}\n
    \n
    \n `\n return element\n}\n\nnewsfeed.dismissNotification = element => {\n if (!element || !element.dataset.identifier) return\n\n newsfeed.dismissed[element.dataset.identifier] = 1\n element.parentNode.removeChild(element)\n\n const keys = Object.keys(newsfeed.dismissed)\n if (keys.length > newsfeed.maxItems) {\n for (let i = 0; i < keys.length - newsfeed.maxItems; i++) {\n delete newsfeed.dismissed[keys[i]]\n }\n }\n\n localStorage[newsfeed.lsKey] = JSON.stringify(newsfeed.dismissed)\n}\n\nnewsfeed.do = () => {\n return axios.get(newsfeed.feedUrl, {\n responseType: 'document'\n }).then(response => {\n if (response && response.data && response.data.documentElement instanceof Element) {\n const items = response.data.documentElement.querySelectorAll('item')\n\n if (items.length) {\n const dismissed = localStorage[newsfeed.lsKey]\n if (dismissed) {\n newsfeed.dismissed = JSON.parse(dismissed)\n }\n\n const element = document.createElement('section')\n element.id = 'newsfeed'\n element.className = 'section'\n element.innerHTML = `\n
    \n
    \n
    \n
    \n
    \n `\n const column = element.querySelector('.columns > .column:last-child')\n\n for (let i = 0; i < Math.min(newsfeed.maxItems, items.length); i++) {\n const titleElement = items[i].querySelector('title')\n const descriptionElement = items[i].querySelector('description')\n const pubDateElement = items[i].querySelector('pubDate')\n const linkElement = items[i].querySelector('link')\n\n const title = titleElement ? titleElement.textContent : ''\n const description = descriptionElement ? descriptionElement.textContent : ''\n const pubDate = pubDateElement ? pubDateElement.textContent : ''\n const link = linkElement ? linkElement.textContent : ''\n\n const identifier = title + '|' + description + '|' + pubDate + '|' + link\n\n if (!newsfeed.dismissed[identifier]) {\n const parsedDate = newsfeed.simpleParseDate(pubDate)\n const dateDelta = Math.round((+new Date() - parsedDate) / 1000)\n\n if (typeof newsfeed.maxAge === 'number' && dateDelta <= newsfeed.maxAge) {\n const notificationElement = newsfeed.formatNotification({\n title, description, pubDate, link, identifier, parsedDate, dateDelta\n })\n\n const dismissTrigger = notificationElement.querySelector('.delete')\n if (dismissTrigger) {\n dismissTrigger.addEventListener('click', function () {\n event.preventDefault()\n newsfeed.dismissNotification(event.target.parentNode)\n })\n }\n\n column.appendChild(notificationElement)\n }\n }\n }\n\n document.body.appendChild(element)\n }\n } else {\n throw Error('response.data.documentElement is NOT an instance of Element')\n }\n }).catch(console.error)\n}\n\nnewsfeed.onloaded = () => {\n // If the main script had already done its API check, yet newsfeed haven't been triggered, do it\n // This would only happen if this newsfeed script only gets loaded after the main script's API check\n if (typeof page !== 'undefined' && page.apiChecked && !newsfeed.done) {\n newsfeed.do()\n }\n}\n\nif (document.readyState === 'interactive' || document.readyState === 'complete') {\n newsfeed.onloaded()\n} else {\n window.addEventListener('DOMContentLoaded', () => newsfeed.onloaded())\n}\n"]} \ No newline at end of file +{"version":3,"sources":["newsfeed.js"],"names":["const","newsfeed","lsKey","feedUrl","maxItems","maxAge","dismissed","done","string","months","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","match","date","Date","setUTCDate","setUTCMonth","setUTCFullYear","setUTCHours","setUTCMinutes","setUTCSeconds","delta","fuzzy","unit","hour","minute","day","week","Math","floor","item","isRecentWeek","dateDelta","element","document","createElement","dataset","identifier","className","href","link","target","innerHTML","title","description","slice","parsedDate","toLocaleString","formatRelativeDate","parentNode","removeChild","keys","Object","length","let","i","localStorage","JSON","stringify","axios","get","responseType","then","response","data","documentElement","Element","Error","items","querySelectorAll","parse","id","column","querySelector","min","titleElement","descriptionElement","pubDateElement","linkElement","textContent","pubDate","simpleParseDate","round","notificationElement","formatNotification","dismissTrigger","addEventListener","event","preventDefault","dismissNotification","appendChild","body","catch","console","error","page","apiChecked","do","readyState","onloaded","window"],"mappings":"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","file":"newsfeed.js","sourcesContent":["/* global page, axios */\n\nconst newsfeed = {\n lsKey: 'newsfeed',\n feedUrl: 'https://blog.fiery.me/rss-newsfeed.xml',\n maxItems: 3,\n maxAge: 91 * 24 * 60 * 60, // 91 days (~3 months)\n dismissed: {},\n done: false\n}\n\nnewsfeed.simpleParseDate = string => {\n // For now limited to support the following examples (used in blog.fiery.me):\n // Mon, 27 Jul 2020 18:30:00 GMT\n // Sat, 16 May 2020 14:55:00 GMT\n // Probably better to use a library if it needs to support other formats.\n const months = { Jan: 0, Feb: 1, Mar: 2, Apr: 3, May: 4, Jun: 5, Jul: 6, Aug: 7, Sep: 8, Oct: 9, Nov: 10, Dec: 11 }\n const match = string.match(/[a-zA-Z]*,\\s(\\d{2})\\s([a-zA-Z]{3})\\s(\\d{4})\\s(\\d{2}):(\\d{2}):(\\d{2})\\sGMT/)\n if (match && (typeof months[match[2]] !== 'undefined')) {\n const date = new Date()\n date.setUTCDate(match[1])\n date.setUTCMonth(months[match[2]])\n date.setUTCFullYear(match[3])\n date.setUTCHours(match[4])\n date.setUTCMinutes(match[5])\n date.setUTCSeconds(match[6])\n return date\n }\n}\n\nnewsfeed.formatRelativeDate = delta => {\n // https://stackoverflow.com/a/7641812\n // CC BY-SA 3.0\n const minute = 60\n const hour = minute * 60\n const day = hour * 24\n const week = day * 7\n\n let fuzzy\n let unit\n if (delta < minute) {\n fuzzy = delta\n unit = 'second'\n } else if (delta < hour) {\n fuzzy = Math.floor(delta / minute)\n unit = 'minute'\n } else if (delta < day) {\n fuzzy = Math.floor(delta / hour)\n unit = 'hour'\n } else if (delta < week) {\n fuzzy = Math.floor(delta / day)\n unit = 'day'\n } else {\n fuzzy = Math.floor(delta / week)\n unit = 'week'\n }\n\n return `${fuzzy} ${unit}${fuzzy !== 1 ? 's' : ''} ago`\n}\n\nnewsfeed.formatNotification = item => {\n const isRecentWeek = item.dateDelta <= (7 * 24 * 60 * 60) // 7 days (1 week)\n const element = document.createElement('a')\n element.dataset.identifier = item.identifier\n element.className = 'notification is-info'\n element.href = item.link\n element.target = '_blank'\n element.innerHTML = `\n \n
    \n
    \n ${item.title || 'Untitled'}\n
    \n
    \n ${item.description\n ? `${item.description.slice(-1) === '…' ? `${item.description.slice(0, -1)} […]` : item.description}`\n : 'N/A'}\n
    \n
    \n ${newsfeed.formatRelativeDate(item.dateDelta)}\n
    \n
    \n `\n return element\n}\n\nnewsfeed.dismissNotification = element => {\n if (!element || !element.dataset.identifier) return\n\n newsfeed.dismissed[element.dataset.identifier] = 1\n element.parentNode.removeChild(element)\n\n const keys = Object.keys(newsfeed.dismissed)\n if (keys.length > newsfeed.maxItems) {\n for (let i = 0; i < keys.length - newsfeed.maxItems; i++) {\n delete newsfeed.dismissed[keys[i]]\n }\n }\n\n localStorage[newsfeed.lsKey] = JSON.stringify(newsfeed.dismissed)\n}\n\nnewsfeed.do = () => {\n return axios.get(newsfeed.feedUrl, {\n responseType: 'document'\n }).then(response => {\n if (response && response.data && response.data.documentElement instanceof Element) {\n const items = response.data.documentElement.querySelectorAll('item')\n\n if (items.length) {\n const dismissed = localStorage[newsfeed.lsKey]\n if (dismissed) {\n newsfeed.dismissed = JSON.parse(dismissed)\n }\n\n const element = document.createElement('section')\n element.id = 'newsfeed'\n element.className = 'section'\n element.innerHTML = `\n
    \n
    \n
    \n
    \n
    \n `\n const column = element.querySelector('.columns > .column:last-child')\n\n for (let i = 0; i < Math.min(newsfeed.maxItems, items.length); i++) {\n const titleElement = items[i].querySelector('title')\n const descriptionElement = items[i].querySelector('description')\n const pubDateElement = items[i].querySelector('pubDate')\n const linkElement = items[i].querySelector('link')\n\n const title = titleElement ? titleElement.textContent : ''\n const description = descriptionElement ? descriptionElement.textContent : ''\n const pubDate = pubDateElement ? pubDateElement.textContent : ''\n const link = linkElement ? linkElement.textContent : ''\n\n const identifier = title + '|' + description + '|' + pubDate + '|' + link\n\n if (!newsfeed.dismissed[identifier]) {\n const parsedDate = newsfeed.simpleParseDate(pubDate)\n const dateDelta = Math.round((+new Date() - parsedDate) / 1000)\n\n if (typeof newsfeed.maxAge === 'number' && dateDelta <= newsfeed.maxAge) {\n const notificationElement = newsfeed.formatNotification({\n title, description, pubDate, link, identifier, parsedDate, dateDelta\n })\n\n const dismissTrigger = notificationElement.querySelector('.delete')\n if (dismissTrigger) {\n dismissTrigger.addEventListener('click', function () {\n event.preventDefault()\n newsfeed.dismissNotification(event.target.parentNode)\n })\n }\n\n column.appendChild(notificationElement)\n }\n }\n }\n\n document.body.appendChild(element)\n }\n } else {\n throw Error('response.data.documentElement is NOT an instance of Element')\n }\n }).catch(console.error)\n}\n\nnewsfeed.onloaded = () => {\n // If the main script had already done its API check, yet newsfeed haven't been triggered, do it\n // This would only happen if this newsfeed script only gets loaded after the main script's API check\n if (typeof page !== 'undefined' && page.apiChecked && !newsfeed.done) {\n newsfeed.do()\n }\n}\n\nif (document.readyState === 'interactive' || document.readyState === 'complete') {\n newsfeed.onloaded()\n} else {\n window.addEventListener('DOMContentLoaded', () => newsfeed.onloaded())\n}\n"]} \ No newline at end of file diff --git a/dist/js/misc/render.js.map b/dist/js/misc/render.js.map index 526a333..5cc67db 100644 --- a/dist/js/misc/render.js.map +++ b/dist/js/misc/render.js.map @@ -1 +1 @@ -{"version":3,"sources":["render.js"],"names":["const","render","lsKey","configs","al","name","root","array","Array","apply","length","map","_","i","slice","miku","config","selected","done","renderEnabled","localStorage","div","document","createElement","innerHTML","buttons","reload","text","className","confirm","swal","content","then","value","do","newValue","querySelector","checked","undefined","removeItem","timer","renderScript","dataset","version","parseSelectedConfig","previousElement","remove","element","parseVersion","Math","floor","random","alt","title","src","classList","add","addEventListener","showTogglePrompt","body","appendChild","page","apiChecked","readyState","onloaded","window"],"mappings":"AAEAA,IAAMC,OAAS,CACbC,MAAO,SACPC,QAAS,CACPC,GAAI,CACFC,KAAM,cACNC,KAAM,aAENC,MAAOC,MAAMC,MAAM,KAAM,CAAEC,OAAQ,KAAMC,KAAG,SAAEC,EAAGC,GAAG,OAAO,MAAQA,EAAI,IAAIC,OAAO,GAAE,WAEtFC,KAAM,CACJV,KAAM,WACNC,KAAM,eAENC,MAAOC,MAAMC,MAAM,KAAM,CAAEC,OAAQ,KAAMC,KAAG,SAAEC,EAAGC,GAAG,OAAO,MAAQA,EAAI,IAAIC,OAAO,GAAE,YAGxFE,OAAQ,KACRC,SAAU,KACVC,MAAM,EAGRjB,iBAAuB,WACrBD,IAAMmB,IAAiD,MAA/BC,aAAanB,OAAOC,QACtCmB,EAAMC,SAASC,cAAc,OACnCF,EAAIG,UAAY,+IAIiCL,EAAgB,UAAY,IAAE,wCAC7ClB,OAAOe,OAAO,KAAI,kMAOpDhB,IAAMyB,EAAU,GACZN,IACFM,EAAQC,OAAS,CACfC,KAAM,sCACNC,UAAW,wBAGfH,EAAQI,SAAU,EAElBC,KAAK,CACHC,QAASV,EATTI,QAUAA,IACCO,MAAI,SAACC,GACN,GAAc,WAAVA,EACFhC,OAAOiC,IAAG,QACL,GAAID,EAAO,CAChBjC,IAAMmC,EAAWd,EAAIe,cAAc,eAAeC,aAAUC,EAAY,IACpEH,IAAaf,aAAanB,OAAOC,SAC/BiC,EAAUf,aAAanB,OAAOC,OAASiC,EACtCf,aAAamB,WAAWtC,OAAOC,OACpC4B,KAAK,GAAI,yBAAwBK,EAAW,WAAa,WAAS,IAAK,UAAW,CAChFV,SAAS,EACTe,MAAO,OAETvC,OAAOiC,WAMfjC,oBAA0B,WACxBD,IAAMyC,EAAenB,SAASc,cAAc,iBAC5C,GAAIK,GAAgBA,EAAaC,QAAQ1B,OAAQ,OAAOyB,EAAaC,QAAQ1B,QAG/Ef,aAAmB,WACjBD,IAAMyC,EAAenB,SAASc,cAAc,iBAC5C,OAAIK,GAAgBA,EAAaC,QAAQC,QAAgB,MAAMF,EAAaC,QAAe,QAC/E,IAGdzC,GAAS,SAAGyB,GAIV,GAHKzB,OAAOiB,OAAMjB,OAAOiB,MAAO,GAEhCjB,OAAOe,OAASf,OAAOE,QAAQF,OAAO2C,uBACjC3C,OAAOe,QAAWf,OAAOe,OAAOT,MAAMG,OAA3C,CAEAV,IAAM6C,EAAkBvB,SAASc,cAAc,kBAC3CS,GAAiBA,EAAgBC,SAErC9C,IAaI+C,EACCrB,GAAyC,MAA/BN,aAAanB,OAAOC,aAbH,IAAnBD,OAAO0C,UAChB1C,OAAO0C,QAAU1C,OAAO+C,gBAI1B/C,OAAOgB,SAAWhB,OAAOe,OAAOT,MAAM0C,KAAKC,MAAMD,KAAKE,SAAWlD,OAAOe,OAAOT,MAAMG,UACrFqC,EAAUzB,SAASC,cAAc,QACzB6B,IAAML,EAAQM,MAAQpD,OAAOe,OAAOX,KAC5C0C,EAAQnB,UAAY,mBACpBmB,EAAQO,IAAM,GAAGrD,OAAOe,OAAW,KAAGf,OAAe,SAAGA,OAAc,WAKtE8C,EAAUzB,SAASC,cAAc,MACzBK,UAAY,kCACpBmB,EAAQM,MAAQpD,OAAOe,OAAOX,KAC9B0C,EAAQvB,UAAY,gCAKtBuB,EAAQQ,UAAUC,IAAI,UACtBT,EAAQU,iBAAiB,QAASxD,OAAOyD,kBACzCpC,SAASqC,KAAKC,YAAYb,KAG5B9C,SAAe,WAGO,oBAAT4D,MAAwBA,KAAKC,aAAe7D,OAAOiB,MAC5DjB,OAAOiC,OAIiB,gBAAxBZ,SAASyC,YAAwD,aAAxBzC,SAASyC,WACpD9D,OAAO+D,WAEPC,OAAOR,iBAAiB,oBAAkB,WAAK,OAAGxD,OAAO+D","file":"render.js","sourcesContent":["/* global page, swal */\n\nconst render = {\n lsKey: 'render',\n configs: {\n al: {\n name: 'ship waifu~',\n root: 'render/al/',\n // 001.png ~ 038.png\n array: Array.apply(null, { length: 38 }).map((_, i) => `${('00' + (i + 1)).slice(-3)}.png`)\n },\n miku: {\n name: 'miku ❤️~',\n root: 'render/miku/',\n // 001.png ~ 050.png\n array: Array.apply(null, { length: 50 }).map((_, i) => `${('00' + (i + 1)).slice(-3)}.png`)\n }\n },\n config: null,\n selected: null,\n done: false\n}\n\nrender.showTogglePrompt = () => {\n const renderEnabled = !(localStorage[render.lsKey] === '0')\n const div = document.createElement('div')\n div.innerHTML = `\n
    \n
    \n \n
    \n

    If disabled, you will still be able to see a small button on the bottom right corner of the screen to re-enable it.

    \n
    \n `\n\n const buttons = {}\n if (renderEnabled) {\n buttons.reload = {\n text: 'Nah fam, show me a different render',\n className: 'swal-button--cancel'\n }\n }\n buttons.confirm = true\n\n swal({\n content: div,\n buttons\n }).then(value => {\n if (value === 'reload') {\n render.do(true)\n } else if (value) {\n const newValue = div.querySelector('#swalRender').checked ? undefined : '0'\n if (newValue !== localStorage[render.lsKey]) {\n if (newValue) localStorage[render.lsKey] = newValue\n else localStorage.removeItem(render.lsKey)\n swal('', `Random render is now ${newValue ? 'disabled' : 'enabled'}.`, 'success', {\n buttons: false,\n timer: 1500\n })\n render.do()\n }\n }\n })\n}\n\nrender.parseSelectedConfig = () => {\n const renderScript = document.querySelector('#renderScript')\n if (renderScript && renderScript.dataset.config) return renderScript.dataset.config\n}\n\nrender.parseVersion = () => {\n const renderScript = document.querySelector('#renderScript')\n if (renderScript && renderScript.dataset.version) return `?v=${renderScript.dataset.version}`\n else return ''\n}\n\nrender.do = reload => {\n if (!render.done) render.done = true\n\n render.config = render.configs[render.parseSelectedConfig()]\n if (!render.config || !render.config.array.length) return\n\n const previousElement = document.querySelector('body > .render')\n if (previousElement) previousElement.remove()\n\n const doRender = () => {\n if (typeof render.version === 'undefined') {\n render.version = render.parseVersion()\n }\n\n // Let us just allow people to get new render when toggling the option\n render.selected = render.config.array[Math.floor(Math.random() * render.config.array.length)]\n element = document.createElement('img')\n element.alt = element.title = render.config.name\n element.className = 'is-hidden-mobile'\n element.src = `${render.config.root}${render.selected}${render.version}`\n }\n\n let element\n if (!reload && localStorage[render.lsKey] === '0') {\n element = document.createElement('a')\n element.className = 'button is-info is-hidden-mobile'\n element.title = render.config.name\n element.innerHTML = ''\n } else {\n doRender()\n }\n\n element.classList.add('render')\n element.addEventListener('click', render.showTogglePrompt)\n document.body.appendChild(element)\n}\n\nrender.onloaded = () => {\n // If the main script had already done its API check, yet render haven't been triggered, do it\n // This would only happen if this render script only gets loaded after the main script's API check\n if (typeof page !== 'undefined' && page.apiChecked && !render.done) {\n render.do()\n }\n}\n\nif (document.readyState === 'interactive' || document.readyState === 'complete') {\n render.onloaded()\n} else {\n window.addEventListener('DOMContentLoaded', () => render.onloaded())\n}\n"]} \ No newline at end of file +{"version":3,"sources":["render.js"],"names":["const","render","lsKey","configs","al","name","root","array","Array","apply","length","map","_","i","slice","miku","config","selected","done","renderEnabled","localStorage","div","document","createElement","innerHTML","buttons","reload","text","className","confirm","swal","content","then","value","do","newValue","querySelector","checked","undefined","removeItem","timer","renderScript","dataset","version","parseSelectedConfig","previousElement","remove","element","parseVersion","Math","floor","random","alt","title","src","classList","add","addEventListener","showTogglePrompt","body","appendChild","page","apiChecked","readyState","onloaded","window"],"mappings":"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","file":"render.js","sourcesContent":["/* global page, swal */\n\nconst render = {\n lsKey: 'render',\n configs: {\n al: {\n name: 'ship waifu~',\n root: 'render/al/',\n // 001.png ~ 038.png\n array: Array.apply(null, { length: 38 }).map((_, i) => `${('00' + (i + 1)).slice(-3)}.png`)\n },\n miku: {\n name: 'miku ❤️~',\n root: 'render/miku/',\n // 001.png ~ 050.png\n array: Array.apply(null, { length: 50 }).map((_, i) => `${('00' + (i + 1)).slice(-3)}.png`)\n }\n },\n config: null,\n selected: null,\n done: false\n}\n\nrender.showTogglePrompt = () => {\n const renderEnabled = !(localStorage[render.lsKey] === '0')\n const div = document.createElement('div')\n div.innerHTML = `\n
    \n
    \n \n
    \n

    If disabled, you will still be able to see a small button on the bottom right corner of the screen to re-enable it.

    \n
    \n `\n\n const buttons = {}\n if (renderEnabled) {\n buttons.reload = {\n text: 'Nah fam, show me a different render',\n className: 'swal-button--cancel'\n }\n }\n buttons.confirm = true\n\n swal({\n content: div,\n buttons\n }).then(value => {\n if (value === 'reload') {\n render.do(true)\n } else if (value) {\n const newValue = div.querySelector('#swalRender').checked ? undefined : '0'\n if (newValue !== localStorage[render.lsKey]) {\n if (newValue) localStorage[render.lsKey] = newValue\n else localStorage.removeItem(render.lsKey)\n swal('', `Random render is now ${newValue ? 'disabled' : 'enabled'}.`, 'success', {\n buttons: false,\n timer: 1500\n })\n render.do()\n }\n }\n })\n}\n\nrender.parseSelectedConfig = () => {\n const renderScript = document.querySelector('#renderScript')\n if (renderScript && renderScript.dataset.config) return renderScript.dataset.config\n}\n\nrender.parseVersion = () => {\n const renderScript = document.querySelector('#renderScript')\n if (renderScript && renderScript.dataset.version) return `?v=${renderScript.dataset.version}`\n else return ''\n}\n\nrender.do = reload => {\n if (!render.done) render.done = true\n\n render.config = render.configs[render.parseSelectedConfig()]\n if (!render.config || !render.config.array.length) return\n\n const previousElement = document.querySelector('body > .render')\n if (previousElement) previousElement.remove()\n\n const doRender = () => {\n if (typeof render.version === 'undefined') {\n render.version = render.parseVersion()\n }\n\n // Let us just allow people to get new render when toggling the option\n render.selected = render.config.array[Math.floor(Math.random() * render.config.array.length)]\n element = document.createElement('img')\n element.alt = element.title = render.config.name\n element.className = 'is-hidden-mobile'\n element.src = `${render.config.root}${render.selected}${render.version}`\n }\n\n let element\n if (!reload && localStorage[render.lsKey] === '0') {\n element = document.createElement('a')\n element.className = 'button is-info is-hidden-mobile'\n element.title = render.config.name\n element.innerHTML = ''\n } else {\n doRender()\n }\n\n element.classList.add('render')\n element.addEventListener('click', render.showTogglePrompt)\n document.body.appendChild(element)\n}\n\nrender.onloaded = () => {\n // If the main script had already done its API check, yet render haven't been triggered, do it\n // This would only happen if this render script only gets loaded after the main script's API check\n if (typeof page !== 'undefined' && page.apiChecked && !render.done) {\n render.do()\n }\n}\n\nif (document.readyState === 'interactive' || document.readyState === 'complete') {\n render.onloaded()\n} else {\n window.addEventListener('DOMContentLoaded', () => render.onloaded())\n}\n"]} \ No newline at end of file diff --git a/dist/js/misc/utils.js.map b/dist/js/misc/utils.js.map index 6bc5167..ff9fce2 100644 --- a/dist/js/misc/utils.js.map +++ b/dist/js/misc/utils.js.map @@ -1 +1 @@ -{"version":3,"sources":["utils.js"],"names":["lsKeys","siBytes","ampmTime","page","prepareShareX","const","sharexElement","document","querySelector","headers","token","albumid","album","filelength","fileLength","age","uploadAge","striptags","stripTags","origin","window","location","host","pathname","replace","originClean","sharexConfObj","Version","Name","DestinationType","RequestMethod","RequestURL","Headers","Body","FileFormName","URL","ThumbnailURL","DeletionURL","sharexConfStr","JSON","stringify","sharexBlob","Blob","type","setAttribute","createObjectURL","getPrettyDate","date","getFullYear","getMonth","getDate","toLocaleString","hour","minute","second","hour12","localStorage","getPrettyBytes","num","isFinite","si","neg","scale","exponent","Math","min","floor","log","LOG10E","Number","pow","toPrecision","charAt","getPrettyUptime","seconds","days","let","hours","minutes","escape","string","str","String","match","exec","html","index","lastIndex","length","charCodeAt","substring"],"mappings":"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","file":"utils.js","sourcesContent":["/* global lsKeys, page */\n\n// keys for localStorage\nlsKeys.siBytes = 'siBytes'\nlsKeys.ampmTime = 'ampmTime'\n\npage.prepareShareX = () => {\n const sharexElement = document.querySelector('#ShareX')\n if (!sharexElement) return\n\n const headers = {}\n\n if (page.token) {\n headers.token = page.token || ''\n headers.albumid = page.album || ''\n }\n\n headers.filelength = page.fileLength || ''\n headers.age = page.uploadAge || ''\n headers.striptags = page.stripTags || ''\n\n const origin = (window.location.host + window.location.pathname).replace(/\\/(dashboard)?$/, '')\n const originClean = origin.replace(/\\//g, '_')\n\n const sharexConfObj = {\n Version: '13.4.0',\n Name: originClean,\n DestinationType: 'ImageUploader, FileUploader',\n RequestMethod: 'POST',\n RequestURL: `${window.location.protocol}//${origin}/api/upload`,\n Headers: headers,\n Body: 'MultipartFormData',\n FileFormName: 'files[]',\n URL: '$json:files[0].url$',\n ThumbnailURL: '$json:files[0].url$'\n }\n\n if (page.token) {\n sharexConfObj.DeletionURL = '$json:files[0].deleteUrl$'\n }\n\n const sharexConfStr = JSON.stringify(sharexConfObj, null, 2)\n const sharexBlob = new Blob([sharexConfStr], { type: 'application/octet-binary' })\n /* eslint-disable-next-line compat/compat */\n sharexElement.setAttribute('href', URL.createObjectURL(sharexBlob))\n sharexElement.setAttribute('download', `${originClean}.sxcu`)\n}\n\npage.getPrettyDate = date => {\n // Not using .toLocaleString() for date display to maintain a global standard,\n // but its AM/PM logic is perfect for our use case as long as it's fixed to \"en\" locale.\n return date.getFullYear() + '/' +\n (date.getMonth() < 9 ? '0' : '') + // month's index starts from zero\n (date.getMonth() + 1) + '/' +\n (date.getDate() < 10 ? '0' : '') +\n date.getDate() + ' ' +\n date.toLocaleString('en', {\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: localStorage[lsKeys.ampmTime] === '1'\n })\n}\n\npage.getPrettyBytes = num => {\n // MIT License\n // Copyright (c) Sindre Sorhus (sindresorhus.com)\n if (typeof num !== 'number' && !isFinite(num)) return num\n\n const si = localStorage[lsKeys.siBytes] !== '0'\n const neg = num < 0 ? '-' : ''\n const scale = si ? 1000 : 1024\n if (neg) num = -num\n if (num < scale) return `${neg}${num} B`\n\n const exponent = Math.min(Math.floor((Math.log(num) * Math.LOG10E) / 3), 8) // 8 is count of KMGTPEZY\n const numStr = Number((num / Math.pow(scale, exponent)).toPrecision(3))\n const pre = (si ? 'kMGTPEZY' : 'KMGTPEZY').charAt(exponent - 1) + (si ? '' : 'i')\n return `${neg}${numStr} ${pre}B`\n}\n\npage.getPrettyUptime = seconds => {\n const days = Math.floor(seconds / 86400)\n seconds %= 86400\n let hours = Math.floor(seconds / 3600)\n seconds %= 3600\n let minutes = Math.floor(seconds / 60)\n seconds %= 60\n\n if (hours < 10) hours = '0' + hours\n if (minutes < 10) minutes = '0' + minutes\n if (seconds < 10) seconds = '0' + seconds\n\n if (days > 0) {\n return days + 'd ' + hours + ':' + minutes + ':' + seconds\n } else {\n return hours + ':' + minutes + ':' + seconds\n }\n}\n\npage.escape = string => {\n // MIT License\n // Copyright(c) 2012-2013 TJ Holowaychuk\n // Copyright(c) 2015 Andreas Lubbe\n // Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n\n if (!string) return string\n\n const str = String(string)\n const match = /[\"'&<>]/.exec(str)\n\n if (!match) return str\n\n let escape\n let html = ''\n let index = 0\n let lastIndex = 0\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"'\n break\n case 38: // &\n escape = '&'\n break\n case 39: // '\n escape = '''\n break\n case 60: // <\n escape = '<'\n break\n case 62: // >\n escape = '>'\n break\n default:\n continue\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index)\n }\n\n lastIndex = index + 1\n html += escape\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html\n}\n"]} \ No newline at end of file +{"version":3,"sources":["utils.js"],"names":["lsKeys","siBytes","ampmTime","page","prepareShareX","const","sharexElement","document","querySelector","headers","token","albumid","album","filelength","fileLength","age","uploadAge","striptags","stripTags","origin","window","location","host","pathname","replace","originClean","sharexConfObj","Version","Name","DestinationType","RequestMethod","RequestURL","Headers","Body","FileFormName","URL","ThumbnailURL","DeletionURL","sharexConfStr","JSON","stringify","sharexBlob","Blob","type","setAttribute","createObjectURL","getPrettyDate","date","getFullYear","getMonth","getDate","toLocaleString","hour","minute","second","hour12","localStorage","getPrettyBytes","num","isFinite","si","neg","scale","exponent","Math","min","floor","log","LOG10E","Number","pow","toPrecision","charAt","getPrettyUptime","seconds","days","let","hours","minutes","escape","string","str","String","match","exec","html","index","lastIndex","length","charCodeAt","substring"],"mappings":"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","file":"utils.js","sourcesContent":["/* global lsKeys, page */\n\n// keys for localStorage\nlsKeys.siBytes = 'siBytes'\nlsKeys.ampmTime = 'ampmTime'\n\npage.prepareShareX = () => {\n const sharexElement = document.querySelector('#ShareX')\n if (!sharexElement) return\n\n const headers = {}\n\n if (page.token) {\n headers.token = page.token || ''\n headers.albumid = page.album || ''\n }\n\n headers.filelength = page.fileLength || ''\n headers.age = page.uploadAge || ''\n headers.striptags = page.stripTags || ''\n\n const origin = (window.location.host + window.location.pathname).replace(/\\/(dashboard)?$/, '')\n const originClean = origin.replace(/\\//g, '_')\n\n const sharexConfObj = {\n Version: '13.4.0',\n Name: originClean,\n DestinationType: 'ImageUploader, FileUploader',\n RequestMethod: 'POST',\n RequestURL: `${window.location.protocol}//${origin}/api/upload`,\n Headers: headers,\n Body: 'MultipartFormData',\n FileFormName: 'files[]',\n URL: '$json:files[0].url$',\n ThumbnailURL: '$json:files[0].url$'\n }\n\n if (page.token) {\n sharexConfObj.DeletionURL = '$json:files[0].deleteUrl$'\n }\n\n const sharexConfStr = JSON.stringify(sharexConfObj, null, 2)\n const sharexBlob = new Blob([sharexConfStr], { type: 'application/octet-binary' })\n /* eslint-disable-next-line compat/compat */\n sharexElement.setAttribute('href', URL.createObjectURL(sharexBlob))\n sharexElement.setAttribute('download', `${originClean}.sxcu`)\n}\n\npage.getPrettyDate = date => {\n // Not using .toLocaleString() for date display to maintain a global standard,\n // but its AM/PM logic is perfect for our use case as long as it's fixed to \"en\" locale.\n return date.getFullYear() + '/' +\n (date.getMonth() < 9 ? '0' : '') + // month's index starts from zero\n (date.getMonth() + 1) + '/' +\n (date.getDate() < 10 ? '0' : '') +\n date.getDate() + ' ' +\n date.toLocaleString('en', {\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: localStorage[lsKeys.ampmTime] === '1'\n })\n}\n\npage.getPrettyBytes = num => {\n // MIT License\n // Copyright (c) Sindre Sorhus (sindresorhus.com)\n if (typeof num !== 'number' && !isFinite(num)) return num\n\n const si = localStorage[lsKeys.siBytes] !== '0'\n const neg = num < 0 ? '-' : ''\n const scale = si ? 1000 : 1024\n if (neg) num = -num\n if (num < scale) return `${neg}${num} B`\n\n const exponent = Math.min(Math.floor((Math.log(num) * Math.LOG10E) / 3), 8) // 8 is count of KMGTPEZY\n const numStr = Number((num / Math.pow(scale, exponent)).toPrecision(3))\n const pre = (si ? 'kMGTPEZY' : 'KMGTPEZY').charAt(exponent - 1) + (si ? '' : 'i')\n return `${neg}${numStr} ${pre}B`\n}\n\npage.getPrettyUptime = seconds => {\n const days = Math.floor(seconds / 86400)\n seconds %= 86400\n let hours = Math.floor(seconds / 3600)\n seconds %= 3600\n let minutes = Math.floor(seconds / 60)\n seconds %= 60\n\n if (hours < 10) hours = '0' + hours\n if (minutes < 10) minutes = '0' + minutes\n if (seconds < 10) seconds = '0' + seconds\n\n if (days > 0) {\n return days + 'd ' + hours + ':' + minutes + ':' + seconds\n } else {\n return hours + ':' + minutes + ':' + seconds\n }\n}\n\npage.escape = string => {\n // MIT License\n // Copyright(c) 2012-2013 TJ Holowaychuk\n // Copyright(c) 2015 Andreas Lubbe\n // Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n\n if (!string) return string\n\n const str = String(string)\n const match = /[\"'&<>]/.exec(str)\n\n if (!match) return str\n\n let escape\n let html = ''\n let index = 0\n let lastIndex = 0\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"'\n break\n case 38: // &\n escape = '&'\n break\n case 39: // '\n escape = '''\n break\n case 60: // <\n escape = '<'\n break\n case 62: // >\n escape = '>'\n break\n default:\n continue\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index)\n }\n\n lastIndex = index + 1\n html += escape\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html\n}\n"]} \ No newline at end of file diff --git a/dist/js/player.js.map b/dist/js/player.js.map index 56fc8fa..50b5c93 100644 --- a/dist/js/player.js.map +++ b/dist/js/player.js.map @@ -1 +1 @@ -{"version":3,"sources":["player.js"],"names":["const","lsKeys","page","urlPrefix","urlIdentifier","urlInput","document","querySelector","reloadBtn","downloadBtn","uploadRoot","titleFormat","videoContainer","player","window","HELP_IMPROVE_VIDEOJS","onError","error","console","content","createElement","innerHTML","toString","swal","title","icon","onAxiosError","statusText","response","status","description","data","toggleReloadBtn","enabled","classList","remove","removeAttribute","add","setAttribute","reloadVideo","value","src","axios","head","then","includes","type","headers","isvideo","startsWith","isaudio","dispose","videoElement","id","className","appendChild","options","language","playbackRates","responsive","plugins","wavesurfer","videojs","let","message","getPluginVersion","WaveSurfer","log","seekButtons","forward","back","videoJSButton","getComponent","loopButtonText","loop","loopButton","extend","constructor","apply","this","arguments","addClass","controlText","handleClick","toggleClass","registerComponent","getChild","addChild","replace","history","pushState","catch","addEventListener","mainScript","dataset","location","protocol","host","match","pathname","substring","indexOf","form","event","preventDefault","checkValidity"],"mappings":"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","file":"player.js","sourcesContent":["/* global swal, axios, videojs, WaveSurfer */\n\n// eslint-disable-next-line no-unused-vars\nconst lsKeys = {}\n\nconst page = {\n urlPrefix: null,\n urlIdentifier: null,\n\n urlInput: document.querySelector('#identifier'),\n reloadBtn: document.querySelector('#reloadBtn'),\n downloadBtn: document.querySelector('#downloadBtn'),\n uploadRoot: null,\n titleFormat: null,\n\n videoContainer: document.querySelector('#playerContainer'),\n player: null\n}\n\n// Disable video.js telemetry (should already be disabled by default since v7 though)\nwindow.HELP_IMPROVE_VIDEOJS = false\n\n// Handler for regular JS errors\npage.onError = error => {\n console.error(error)\n\n const content = document.createElement('div')\n content.innerHTML = `\n

    ${error.toString()}

    \n

    Please check your console for more information.

    \n `\n return swal({\n title: 'An error occurred!',\n icon: 'error',\n content\n })\n}\n\n// Handler for Axios errors\npage.onAxiosError = error => {\n // Better Cloudflare errors\n const cloudflareErrors = {\n 520: 'Unknown Error',\n 521: 'Web Server Is Down',\n 522: 'Connection Timed Out',\n 523: 'Origin Is Unreachable',\n 524: 'A Timeout Occurred',\n 525: 'SSL Handshake Failed',\n 526: 'Invalid SSL Certificate',\n 527: 'Railgun Error',\n 530: 'Origin DNS Error'\n }\n\n const statusText = cloudflareErrors[error.response.status] || error.response.statusText\n\n const description = error.response.data && error.response.data.description\n ? error.response.data.description\n : ''\n return swal(`${error.response.status} ${statusText}`, description, 'error')\n}\n\npage.toggleReloadBtn = enabled => {\n if (enabled) {\n page.reloadBtn.classList.remove('is-loading')\n page.reloadBtn.removeAttribute('disabled')\n } else {\n page.reloadBtn.classList.add('is-loading')\n page.reloadBtn.setAttribute('disabled', 'disabled')\n }\n}\n\npage.reloadVideo = () => {\n if (!page.urlInput.value) return\n\n page.toggleReloadBtn(false)\n const src = `${page.uploadRoot}/${page.urlInput.value}`\n\n axios.head(src).then(response => {\n if (![200, 304].includes(response.status)) {\n page.toggleReloadBtn(true)\n return page.onAxiosError(response)\n }\n\n const type = response.headers['content-type'] || ''\n const isvideo = type.startsWith('video/')\n const isaudio = type.startsWith('audio/')\n if (!isvideo && !isaudio) {\n page.toggleReloadBtn(true)\n return swal('An error occurred!', 'The requested upload does not appear to be a media file.', 'error')\n }\n\n page.urlIdentifier = page.urlInput.value\n\n if (page.player) {\n page.player.dispose()\n page.videoContainer.innerHTML = ''\n }\n\n const videoElement = document.createElement('video-js')\n videoElement.id = 'video-js'\n videoElement.className = 'video-js vjs-default-skin vjs-fluid vjs-big-play-centered'\n videoElement.setAttribute('controls', true)\n videoElement.setAttribute('preload', 'auto')\n\n page.videoContainer.appendChild(videoElement)\n\n const options = {\n language: 'en',\n playbackRates: [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2],\n responsive: true,\n plugins: {}\n }\n\n if (isaudio) {\n options.plugins.wavesurfer = {\n responsive: true\n }\n }\n\n page.player = videojs('video-js', options, () => {\n let message = `Using video.js ${videojs.VERSION}`\n if (isaudio) {\n message += ` with videojs-wavesurfer ${videojs.getPluginVersion('wavesurfer')} and wavesurfer.js ${WaveSurfer.VERSION}`\n }\n videojs.log(message)\n page.player.src({ src, type })\n })\n page.player.seekButtons({ forward: 10, back: 10 })\n\n const videoJSButton = videojs.getComponent('Button')\n const loopButtonText = () => page.player.loop()\n ? 'Disable loop'\n : 'Enable loop'\n const loopButton = videojs.extend(videoJSButton, {\n constructor () {\n videoJSButton.apply(this, arguments)\n this.addClass('vjs-loop-button')\n this.controlText(loopButtonText())\n },\n handleClick () {\n page.player.loop(!page.player.loop())\n this.toggleClass('vjs-loop-enabled', page.player.loop())\n this.controlText(loopButtonText())\n }\n })\n videojs.registerComponent('loopButton', loopButton)\n page.player.getChild('controlBar').addChild('loopButton')\n\n if (page.titleFormat) {\n document.title = page.titleFormat.replace(/%identifier%/g, page.urlIdentifier)\n }\n\n if (page.downloadBtn) {\n page.downloadBtn.setAttribute('href', src)\n }\n\n window.history.pushState(null, null, page.urlPrefix + page.urlIdentifier)\n page.toggleReloadBtn(true)\n }).catch(error => {\n page.toggleReloadBtn(true)\n if (typeof error.response !== 'undefined') page.onAxiosError(error)\n else page.onError(error)\n })\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n const mainScript = document.querySelector('#mainScript')\n if (!mainScript || typeof mainScript.dataset.uploadRoot === 'undefined') return\n\n page.uploadRoot = mainScript.dataset.uploadRoot\n page.titleFormat = mainScript.dataset.titleFormat\n\n let urlPrefix = window.location.protocol + '//' + window.location.host\n const match = window.location.pathname.match(/.*\\/(.*)$/)\n if (!match || !match[1]) {\n return swal('An error occurred!', 'Failed to parse upload identifier from URL.', 'error')\n }\n\n page.urlIdentifier = match[1]\n urlPrefix += window.location.pathname.substring(0, window.location.pathname.indexOf(match[1]))\n page.urlPrefix = urlPrefix\n\n if (!page.urlInput) return\n page.urlInput.value = page.urlIdentifier\n\n // Prevent default form's submit actio\n const form = document.querySelector('#inputForm')\n form.addEventListener('submit', event => {\n event.preventDefault()\n })\n\n if (!page.videoContainer) return\n\n page.reloadBtn = document.querySelector('#reloadBtn')\n if (page.reloadBtn) {\n page.reloadBtn.addEventListener('click', event => {\n if (!form.checkValidity()) return\n page.reloadVideo()\n })\n }\n\n page.reloadVideo()\n})\n"]} \ No newline at end of file +{"version":3,"sources":["player.js"],"names":["const","lsKeys","page","urlPrefix","urlIdentifier","urlInput","document","querySelector","reloadBtn","downloadBtn","uploadRoot","titleFormat","videoContainer","player","window","HELP_IMPROVE_VIDEOJS","onError","error","console","content","createElement","innerHTML","toString","swal","title","icon","onAxiosError","statusText","response","status","description","data","toggleReloadBtn","enabled","classList","remove","removeAttribute","add","setAttribute","reloadVideo","value","src","axios","head","then","includes","type","headers","isvideo","startsWith","isaudio","dispose","videoElement","id","className","appendChild","options","language","playbackRates","responsive","plugins","wavesurfer","videojs","let","message","getPluginVersion","WaveSurfer","log","seekButtons","forward","back","videoJSButton","getComponent","loopButtonText","loop","loopButton","extend","constructor","apply","this","arguments","addClass","controlText","handleClick","toggleClass","registerComponent","getChild","addChild","replace","history","pushState","catch","addEventListener","mainScript","dataset","location","protocol","host","match","pathname","substring","indexOf","form","event","preventDefault","checkValidity"],"mappings":"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","file":"player.js","sourcesContent":["/* global swal, axios, videojs, WaveSurfer */\n\n// eslint-disable-next-line no-unused-vars\nconst lsKeys = {}\n\nconst page = {\n urlPrefix: null,\n urlIdentifier: null,\n\n urlInput: document.querySelector('#identifier'),\n reloadBtn: document.querySelector('#reloadBtn'),\n downloadBtn: document.querySelector('#downloadBtn'),\n uploadRoot: null,\n titleFormat: null,\n\n videoContainer: document.querySelector('#playerContainer'),\n player: null\n}\n\n// Disable video.js telemetry (should already be disabled by default since v7 though)\nwindow.HELP_IMPROVE_VIDEOJS = false\n\n// Handler for regular JS errors\npage.onError = error => {\n console.error(error)\n\n const content = document.createElement('div')\n content.innerHTML = `\n

    ${error.toString()}

    \n

    Please check your console for more information.

    \n `\n return swal({\n title: 'An error occurred!',\n icon: 'error',\n content\n })\n}\n\n// Handler for Axios errors\npage.onAxiosError = error => {\n // Better Cloudflare errors\n const cloudflareErrors = {\n 520: 'Unknown Error',\n 521: 'Web Server Is Down',\n 522: 'Connection Timed Out',\n 523: 'Origin Is Unreachable',\n 524: 'A Timeout Occurred',\n 525: 'SSL Handshake Failed',\n 526: 'Invalid SSL Certificate',\n 527: 'Railgun Error',\n 530: 'Origin DNS Error'\n }\n\n const statusText = cloudflareErrors[error.response.status] || error.response.statusText\n\n const description = error.response.data && error.response.data.description\n ? error.response.data.description\n : ''\n return swal(`${error.response.status} ${statusText}`, description, 'error')\n}\n\npage.toggleReloadBtn = enabled => {\n if (enabled) {\n page.reloadBtn.classList.remove('is-loading')\n page.reloadBtn.removeAttribute('disabled')\n } else {\n page.reloadBtn.classList.add('is-loading')\n page.reloadBtn.setAttribute('disabled', 'disabled')\n }\n}\n\npage.reloadVideo = () => {\n if (!page.urlInput.value) return\n\n page.toggleReloadBtn(false)\n const src = `${page.uploadRoot}/${page.urlInput.value}`\n\n axios.head(src).then(response => {\n if (![200, 304].includes(response.status)) {\n page.toggleReloadBtn(true)\n return page.onAxiosError(response)\n }\n\n const type = response.headers['content-type'] || ''\n const isvideo = type.startsWith('video/')\n const isaudio = type.startsWith('audio/')\n if (!isvideo && !isaudio) {\n page.toggleReloadBtn(true)\n return swal('An error occurred!', 'The requested upload does not appear to be a media file.', 'error')\n }\n\n page.urlIdentifier = page.urlInput.value\n\n if (page.player) {\n page.player.dispose()\n page.videoContainer.innerHTML = ''\n }\n\n const videoElement = document.createElement('video-js')\n videoElement.id = 'video-js'\n videoElement.className = 'video-js vjs-default-skin vjs-fluid vjs-big-play-centered'\n videoElement.setAttribute('controls', true)\n videoElement.setAttribute('preload', 'auto')\n\n page.videoContainer.appendChild(videoElement)\n\n const options = {\n language: 'en',\n playbackRates: [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2],\n responsive: true,\n plugins: {}\n }\n\n if (isaudio) {\n options.plugins.wavesurfer = {\n responsive: true\n }\n }\n\n page.player = videojs('video-js', options, () => {\n let message = `Using video.js ${videojs.VERSION}`\n if (isaudio) {\n message += ` with videojs-wavesurfer ${videojs.getPluginVersion('wavesurfer')} and wavesurfer.js ${WaveSurfer.VERSION}`\n }\n videojs.log(message)\n page.player.src({ src, type })\n })\n page.player.seekButtons({ forward: 10, back: 10 })\n\n const videoJSButton = videojs.getComponent('Button')\n const loopButtonText = () => page.player.loop()\n ? 'Disable loop'\n : 'Enable loop'\n const loopButton = videojs.extend(videoJSButton, {\n constructor () {\n videoJSButton.apply(this, arguments)\n this.addClass('vjs-loop-button')\n this.controlText(loopButtonText())\n },\n handleClick () {\n page.player.loop(!page.player.loop())\n this.toggleClass('vjs-loop-enabled', page.player.loop())\n this.controlText(loopButtonText())\n }\n })\n videojs.registerComponent('loopButton', loopButton)\n page.player.getChild('controlBar').addChild('loopButton')\n\n if (page.titleFormat) {\n document.title = page.titleFormat.replace(/%identifier%/g, page.urlIdentifier)\n }\n\n if (page.downloadBtn) {\n page.downloadBtn.setAttribute('href', src)\n }\n\n window.history.pushState(null, null, page.urlPrefix + page.urlIdentifier)\n page.toggleReloadBtn(true)\n }).catch(error => {\n page.toggleReloadBtn(true)\n if (typeof error.response !== 'undefined') page.onAxiosError(error)\n else page.onError(error)\n })\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n const mainScript = document.querySelector('#mainScript')\n if (!mainScript || typeof mainScript.dataset.uploadRoot === 'undefined') return\n\n page.uploadRoot = mainScript.dataset.uploadRoot\n page.titleFormat = mainScript.dataset.titleFormat\n\n let urlPrefix = window.location.protocol + '//' + window.location.host\n const match = window.location.pathname.match(/.*\\/(.*)$/)\n if (!match || !match[1]) {\n return swal('An error occurred!', 'Failed to parse upload identifier from URL.', 'error')\n }\n\n page.urlIdentifier = match[1]\n urlPrefix += window.location.pathname.substring(0, window.location.pathname.indexOf(match[1]))\n page.urlPrefix = urlPrefix\n\n if (!page.urlInput) return\n page.urlInput.value = page.urlIdentifier\n\n // Prevent default form's submit actio\n const form = document.querySelector('#inputForm')\n form.addEventListener('submit', event => {\n event.preventDefault()\n })\n\n if (!page.videoContainer) return\n\n page.reloadBtn = document.querySelector('#reloadBtn')\n if (page.reloadBtn) {\n page.reloadBtn.addEventListener('click', event => {\n if (!form.checkValidity()) return\n page.reloadVideo()\n })\n }\n\n page.reloadVideo()\n})\n"]} \ No newline at end of file diff --git a/src/versions.json b/src/versions.json index 673866c..6d2ea42 100644 --- a/src/versions.json +++ b/src/versions.json @@ -1,5 +1,5 @@ { - "1": "1658434735", + "1": "1658709784", "2": "1602515119", "3": "1650485321", "4": "1602515119", diff --git a/yarn.lock b/yarn.lock index f3de8ab..0874c59 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1038,9 +1038,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001304, caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001366: - version "1.0.30001368" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001368.tgz#c5c06381c6051cd863c45021475434e81936f713" - integrity sha512-wgfRYa9DenEomLG/SdWgQxpIyvdtH3NW8Vq+tB6AwR9e56iOIcu1im5F/wNdDf04XlKHXqIx4N8Jo0PemeBenQ== + version "1.0.30001370" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001370.tgz" + integrity sha512-3PDmaP56wz/qz7G508xzjx8C+MC2qEm4SYhSEzC9IBROo+dGXFWRuaXkWti0A9tuI00g+toiriVqxtWMgl350g== chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0: version "2.4.2"