diff --git a/README.md b/README.md index b1f66b9..d858db8 100644 --- a/README.md +++ b/README.md @@ -35,15 +35,17 @@ Poly+ is an upcoming quality-of-life browser extension for the Polytoria website - Multi-Cancel Outbound Trades - Item Wishlist - Outfit Cost - + And there is more to come! # Supported Browsers As of right now, Poly+ only works on Chromium-based browsers. Currently, there are no plans to bring it to other browsers in the future. + > TL;DR Chromium-based browsers ## Examples of Browsers that are Chromium-based + - Google Chrome - Chromium - Edge @@ -56,12 +58,12 @@ As of right now, Poly+ only works on Chromium-based browsers. Currently, there a ## How to Download - Stable Build? 1. Go to the releases section of this GitHub repository -3. Go to the latest release and download the .ZIP file for that release -4. Extract the .ZIP -5. Enable developer mode on your browser (developer mode allows you to load unpacked extensions) -6. Click the "Load Unpacked" button -7. When the file selector comes up, open the unzipped folder from this GitHub repository -8. Go to Polytoria and you should see some changes! +2. Go to the latest release and download the .ZIP file for that release +3. Extract the .ZIP +4. Enable developer mode on your browser (developer mode allows you to load unpacked extensions) +5. Click the "Load Unpacked" button +6. When the file selector comes up, open the unzipped folder from this GitHub repository +7. Go to Polytoria and you should see some changes! ## How to Download - Pre-Release Build? @@ -73,6 +75,6 @@ As of right now, Poly+ only works on Chromium-based browsers. Currently, there a 4. Extract the .ZIP 5. Enable developer mode on your browser (developer mode allows you to load unpacked extensions) 6. Go to your browsers extensions page (usually `browserName://extensions`) -8. Click the "Load Unpacked" button -9. When the file selector comes up, open the unzipped folder of this repository's source code -10. Go to Polytoria and you should see some changes! +7. Click the "Load Unpacked" button +8. When the file selector comes up, open the unzipped folder of this repository's source code +9. Go to Polytoria and you should see some changes! diff --git a/css/polytoria.css b/css/polytoria.css index f9aba63..059a8f3 100644 --- a/css/polytoria.css +++ b/css/polytoria.css @@ -6,11 +6,15661 @@ I will remove this at request if neccessary */ - -@charset "UTF-8";@import url(https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Ubuntu+Mono&display=swap);pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#282c34;color:#abb2bf}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}.owl-carousel{display:none;width:100%;-webkit-tap-highlight-color:transparent;position:relative;z-index:1}.owl-carousel .owl-stage{-moz-backface-visibility:hidden;position:relative;touch-action:manipulation}.owl-carousel .owl-stage:after{clear:both;content:".";display:block;height:0;line-height:0;visibility:hidden}.owl-carousel .owl-stage-outer{overflow:hidden;position:relative;-webkit-transform:translateZ(0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0)}.owl-carousel .owl-item{-webkit-backface-visibility:hidden;float:left;min-height:1px;position:relative;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:none;border:none;color:inherit;font:inherit;padding:0!important}.owl-carousel.owl-loaded{display:block}.owl-carousel.owl-loading{display:block;opacity:0}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.no-js .owl-carousel{display:block}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{background:#000;height:100%;position:relative}.owl-carousel .owl-video-play-icon{-webkit-backface-visibility:hidden;background:url(https://c0.ptacdn.com/static/images/owl.video.play.7f01b071.png) no-repeat;cursor:pointer;height:80px;left:50%;margin-left:-40px;margin-top:-40px;position:absolute;top:50%;transition:transform .1s ease;width:80px;z-index:1}.owl-carousel .owl-video-play-icon:hover{transform:scale(1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{background-position:50%;background-repeat:no-repeat;background-size:contain;height:100%;opacity:0;transition:opacity .4s ease}.owl-carousel .owl-video-frame{height:100%;position:relative;width:100%;z-index:1}.tooltip-inner{--bs-tooltip-color:#fff} +@charset "UTF-8"; +@import url(https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700&display=swap); +@import url(https://fonts.googleapis.com/css2?family=Ubuntu+Mono&display=swap); +pre code.hljs { + display: block; + overflow-x: auto; + padding: 1em; +} +code.hljs { + padding: 3px 5px; +} +.hljs { + background: #282c34; + color: #abb2bf; +} +.hljs-comment, +.hljs-quote { + color: #5c6370; + font-style: italic; +} +.hljs-doctag, +.hljs-formula, +.hljs-keyword { + color: #c678dd; +} +.hljs-deletion, +.hljs-name, +.hljs-section, +.hljs-selector-tag, +.hljs-subst { + color: #e06c75; +} +.hljs-literal { + color: #56b6c2; +} +.hljs-addition, +.hljs-attribute, +.hljs-meta .hljs-string, +.hljs-regexp, +.hljs-string { + color: #98c379; +} +.hljs-attr, +.hljs-number, +.hljs-selector-attr, +.hljs-selector-class, +.hljs-selector-pseudo, +.hljs-template-variable, +.hljs-type, +.hljs-variable { + color: #d19a66; +} +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-symbol, +.hljs-title { + color: #61aeee; +} +.hljs-built_in, +.hljs-class .hljs-title, +.hljs-title.class_ { + color: #e6c07b; +} +.hljs-emphasis { + font-style: italic; +} +.hljs-strong { + font-weight: 700; +} +.hljs-link { + text-decoration: underline; +} +.owl-carousel { + display: none; + width: 100%; + -webkit-tap-highlight-color: transparent; + position: relative; + z-index: 1; +} +.owl-carousel .owl-stage { + -moz-backface-visibility: hidden; + position: relative; + touch-action: manipulation; +} +.owl-carousel .owl-stage:after { + clear: both; + content: '.'; + display: block; + height: 0; + line-height: 0; + visibility: hidden; +} +.owl-carousel .owl-stage-outer { + overflow: hidden; + position: relative; + -webkit-transform: translateZ(0); +} +.owl-carousel .owl-item, +.owl-carousel .owl-wrapper { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -ms-transform: translateZ(0); +} +.owl-carousel .owl-item { + -webkit-backface-visibility: hidden; + float: left; + min-height: 1px; + position: relative; + -webkit-tap-highlight-color: transparent; + -webkit-touch-callout: none; +} +.owl-carousel .owl-item img { + display: block; + width: 100%; +} +.owl-carousel .owl-dots.disabled, +.owl-carousel .owl-nav.disabled { + display: none; +} +.owl-carousel .owl-dot, +.owl-carousel .owl-nav .owl-next, +.owl-carousel .owl-nav .owl-prev { + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.owl-carousel .owl-nav button.owl-next, +.owl-carousel .owl-nav button.owl-prev, +.owl-carousel button.owl-dot { + background: none; + border: none; + color: inherit; + font: inherit; + padding: 0 !important; +} +.owl-carousel.owl-loaded { + display: block; +} +.owl-carousel.owl-loading { + display: block; + opacity: 0; +} +.owl-carousel.owl-hidden { + opacity: 0; +} +.owl-carousel.owl-refresh .owl-item { + visibility: hidden; +} +.owl-carousel.owl-drag .owl-item { + touch-action: pan-y; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.owl-carousel.owl-grab { + cursor: move; + cursor: grab; +} +.owl-carousel.owl-rtl { + direction: rtl; +} +.owl-carousel.owl-rtl .owl-item { + float: right; +} +.no-js .owl-carousel { + display: block; +} +.owl-carousel .animated { + animation-duration: 1s; + animation-fill-mode: both; +} +.owl-carousel .owl-animated-in { + z-index: 0; +} +.owl-carousel .owl-animated-out { + z-index: 1; +} +.owl-carousel .fadeOut { + animation-name: fadeOut; +} +@keyframes fadeOut { + 0% { + opacity: 1; + } + to { + opacity: 0; + } +} +.owl-height { + transition: height 0.5s ease-in-out; +} +.owl-carousel .owl-item .owl-lazy { + opacity: 0; + transition: opacity 0.4s ease; +} +.owl-carousel .owl-item .owl-lazy:not([src]), +.owl-carousel .owl-item .owl-lazy[src^=''] { + max-height: 0; +} +.owl-carousel .owl-item img.owl-lazy { + transform-style: preserve-3d; +} +.owl-carousel .owl-video-wrapper { + background: #000; + height: 100%; + position: relative; +} +.owl-carousel .owl-video-play-icon { + -webkit-backface-visibility: hidden; + background: url(https://c0.ptacdn.com/static/images/owl.video.play.7f01b071.png) no-repeat; + cursor: pointer; + height: 80px; + left: 50%; + margin-left: -40px; + margin-top: -40px; + position: absolute; + top: 50%; + transition: transform 0.1s ease; + width: 80px; + z-index: 1; +} +.owl-carousel .owl-video-play-icon:hover { + transform: scale(1.3); +} +.owl-carousel .owl-video-playing .owl-video-play-icon, +.owl-carousel .owl-video-playing .owl-video-tn { + display: none; +} +.owl-carousel .owl-video-tn { + background-position: 50%; + background-repeat: no-repeat; + background-size: contain; + height: 100%; + opacity: 0; + transition: opacity 0.4s ease; +} +.owl-carousel .owl-video-frame { + height: 100%; + position: relative; + width: 100%; + z-index: 1; +} +.tooltip-inner { + --bs-tooltip-color: #fff; +} /*! * Bootstrap v5.3.3 (https://getbootstrap.com/) * Copyright 2011-2024 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root,[data-bs-theme=light]{--bs-blue:#3bafff;--bs-indigo:#6610f2;--bs-purple:#9b51e0;--bs-pink:#ff6f91;--bs-red:#ff5951;--bs-orange:#ffb74f;--bs-yellow:#ffc93f;--bs-green:#4fe883;--bs-teal:#00b5ad;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#484848;--bs-gray-dark:#3c3c3c;--bs-gray-100:#f6f6f6;--bs-gray-200:#e6e6e6;--bs-gray-300:#cacaca;--bs-gray-400:#9e9e9e;--bs-gray-500:#757575;--bs-gray-600:#484848;--bs-gray-700:#2d2d2d;--bs-gray-800:#3c3c3c;--bs-gray-900:#1a1a1a;--bs-primary:#3bafff;--bs-secondary:#484848;--bs-success:#4fe883;--bs-info:#6094f9;--bs-warning:#ffc93f;--bs-danger:#ff5951;--bs-light:#f6f6f6;--bs-dark:#1a1a1a;--bs-primary-rgb:59,175,255;--bs-secondary-rgb:72,72,72;--bs-success-rgb:79,232,131;--bs-info-rgb:96,148,249;--bs-warning-rgb:255,201,63;--bs-danger-rgb:255,89,81;--bs-light-rgb:246,246,246;--bs-dark-rgb:26,26,26;--bs-primary-text-emphasis:#184666;--bs-secondary-text-emphasis:#1d1d1d;--bs-success-text-emphasis:#205d34;--bs-info-text-emphasis:#263b64;--bs-warning-text-emphasis:#665019;--bs-danger-text-emphasis:#662420;--bs-light-text-emphasis:#2d2d2d;--bs-dark-text-emphasis:#2d2d2d;--bs-primary-bg-subtle:#d8efff;--bs-secondary-bg-subtle:#dadada;--bs-success-bg-subtle:#dcfae6;--bs-info-bg-subtle:#dfeafe;--bs-warning-bg-subtle:#fff4d9;--bs-danger-bg-subtle:#ffdedc;--bs-light-bg-subtle:#fbfbfb;--bs-dark-bg-subtle:#9e9e9e;--bs-primary-border-subtle:#b1dfff;--bs-secondary-border-subtle:#b6b6b6;--bs-success-border-subtle:#b9f6cd;--bs-info-border-subtle:#bfd4fd;--bs-warning-border-subtle:#ffe9b2;--bs-danger-border-subtle:#ffbdb9;--bs-light-border-subtle:#e6e6e6;--bs-dark-border-subtle:#757575;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:"Poppins",sans-serif;--bs-font-monospace:"Ubuntu Mono",monospace;--bs-gradient:linear-gradient(180deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#fff;--bs-body-color-rgb:255,255,255;--bs-body-bg:#181818;--bs-body-bg-rgb:24,24,24;--bs-emphasis-color:#f6f6f6;--bs-emphasis-color-rgb:246,246,246;--bs-secondary-color:hsla(0,0%,100%,.75);--bs-secondary-color-rgb:255,255,255;--bs-secondary-bg:#e6e6e6;--bs-secondary-bg-rgb:230,230,230;--bs-tertiary-color:hsla(0,0%,100%,.5);--bs-tertiary-color-rgb:255,255,255;--bs-tertiary-bg:#f6f6f6;--bs-tertiary-bg-rgb:246,246,246;--bs-heading-color:inherit;--bs-link-color:#3bafff;--bs-link-color-rgb:59,175,255;--bs-link-decoration:none;--bs-link-hover-color:#2f8ccc;--bs-link-hover-color-rgb:47,140,204;--bs-code-color:#ff6f91;--bs-highlight-color:#fff;--bs-highlight-bg:#fff4d9;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#cacaca;--bs-border-color-translucent:rgba(0,0,0,.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0,0,0,.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0,0,0,.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0,0,0,.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(59,175,255,.25);--bs-form-valid-color:#4fe883;--bs-form-valid-border-color:#4fe883;--bs-form-invalid-color:#ff5951;--bs-form-invalid-border-color:#ff5951}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#cacaca;--bs-body-color-rgb:202,202,202;--bs-body-bg:#1a1a1a;--bs-body-bg-rgb:26,26,26;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:hsla(0,0%,79%,.75);--bs-secondary-color-rgb:202,202,202;--bs-secondary-bg:#3c3c3c;--bs-secondary-bg-rgb:60,60,60;--bs-tertiary-color:hsla(0,0%,79%,.5);--bs-tertiary-color-rgb:202,202,202;--bs-tertiary-bg:#2b2b2b;--bs-tertiary-bg-rgb:43,43,43;--bs-primary-text-emphasis:#89cfff;--bs-secondary-text-emphasis:#919191;--bs-success-text-emphasis:#95f1b5;--bs-info-text-emphasis:#a0bffb;--bs-warning-text-emphasis:#ffdf8c;--bs-danger-text-emphasis:#ff9b97;--bs-light-text-emphasis:#f6f6f6;--bs-dark-text-emphasis:#cacaca;--bs-primary-bg-subtle:#0c2333;--bs-secondary-bg-subtle:#0e0e0e;--bs-success-bg-subtle:#102e1a;--bs-info-bg-subtle:#131e32;--bs-warning-bg-subtle:#33280d;--bs-danger-bg-subtle:#331210;--bs-light-bg-subtle:#3c3c3c;--bs-dark-bg-subtle:#1e1e1e;--bs-primary-border-subtle:#236999;--bs-secondary-border-subtle:#2b2b2b;--bs-success-border-subtle:#2f8b4f;--bs-info-border-subtle:#3a5995;--bs-warning-border-subtle:#997926;--bs-danger-border-subtle:#993531;--bs-light-border-subtle:#2d2d2d;--bs-dark-border-subtle:#3c3c3c;--bs-heading-color:inherit;--bs-link-color:#89cfff;--bs-link-hover-color:#a1d9ff;--bs-link-color-rgb:137,207,255;--bs-link-hover-color-rgb:161,217,255;--bs-code-color:#ffa9bd;--bs-highlight-color:#cacaca;--bs-highlight-bg:#665019;--bs-border-color:#2d2d2d;--bs-border-color-translucent:hsla(0,0%,100%,.15);--bs-form-valid-color:#95f1b5;--bs-form-valid-border-color:#95f1b5;--bs-form-invalid-color:#ff9b97;--bs-form-invalid-border-color:#ff9b97}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{background-color:var(--bs-body-bg);color:var(--bs-body-color);font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);margin:0;text-align:var(--bs-body-text-align);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{border:0;border-top:var(--bs-border-width) solid;color:inherit;margin:1rem 0;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:var(--bs-heading-color);font-weight:600;line-height:1.2;margin-bottom:.5rem;margin-top:0}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-bottom:1rem;margin-top:0}abbr[title]{cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-left:2rem}dl,ol,ul{margin-bottom:1rem;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{background-color:var(--bs-highlight-bg);color:var(--bs-highlight-color);padding:.1875em}sub,sup{font-size:.75em;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:none}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;font-size:.875em;margin-bottom:1rem;margin-top:0;overflow:auto}pre code{color:inherit;font-size:inherit;word-break:normal}code{color:var(--bs-code-color);font-size:.875em;word-wrap:break-word}a>code{color:inherit}kbd{background-color:var(--bs-body-color);border-radius:.25rem;color:var(--bs-body-bg);font-size:.875em;padding:.1875rem .375rem}kbd kbd{font-size:1em;padding:0}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{border-collapse:collapse;caption-side:bottom}caption{color:var(--bs-secondary-color);padding-bottom:.5rem;padding-top:.5rem;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border:0 solid;border-color:inherit}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}textarea{resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{float:left;font-size:calc(1.275rem + .3vw);line-height:inherit;margin-bottom:.5rem;padding:0;width:100%}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{-webkit-appearance:button;font:inherit}output{display:inline-block}iframe{border:0}summary{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-inline,.list-unstyled{list-style:none;padding-left:0}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{font-size:1.25rem;margin-bottom:1rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{color:#484848;font-size:.875em;margin-bottom:1rem;margin-top:-1rem}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{height:auto;max-width:100%}.img-thumbnail{background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);padding:.25rem}.figure{display:inline-block}.figure-img{line-height:1;margin-bottom:.5rem}.figure-caption{color:var(--bs-secondary-color);font-size:.875em}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-left:auto;margin-right:auto;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}@media (min-width:576px){.container,.container-sm{max-width:576px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:768px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:992px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1200px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1600px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-left:calc(var(--bs-gutter-x)*-.5);margin-right:calc(var(--bs-gutter-x)*-.5);margin-top:calc(var(--bs-gutter-y)*-1)}.row>*{flex-shrink:0;margin-top:var(--bs-gutter-y);max-width:100%;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb),0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb),0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb),0.075);border-color:var(--bs-table-border-color);margin-bottom:1rem;vertical-align:top;width:100%}.table>:not(caption)>*>*{background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)));color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));padding:.5rem}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width)*2) solid}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped-columns>:not(caption)>tr>:nth-child(2n),.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#d8efff;--bs-table-border-color:#adbfcc;--bs-table-striped-bg:#cde3f2;--bs-table-striped-color:#000;--bs-table-active-bg:#c2d7e6;--bs-table-active-color:#000;--bs-table-hover-bg:#c8ddec;--bs-table-hover-color:#000}.table-primary,.table-secondary{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#dadada;--bs-table-border-color:#aeaeae;--bs-table-striped-bg:#cfcfcf;--bs-table-striped-color:#000;--bs-table-active-bg:#c4c4c4;--bs-table-active-color:#000;--bs-table-hover-bg:#cacaca;--bs-table-hover-color:#000}.table-success{--bs-table-color:#000;--bs-table-bg:#dcfae6;--bs-table-border-color:#b0c8b8;--bs-table-striped-bg:#d1eedb;--bs-table-striped-color:#000;--bs-table-active-bg:#c6e1cf;--bs-table-active-color:#000;--bs-table-hover-bg:#cce7d5;--bs-table-hover-color:#000}.table-info,.table-success{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#dfeafe;--bs-table-border-color:#b2bbcb;--bs-table-striped-bg:#d4def1;--bs-table-striped-color:#000;--bs-table-active-bg:#c9d3e5;--bs-table-active-color:#000;--bs-table-hover-bg:#ced8eb;--bs-table-hover-color:#000}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff4d9;--bs-table-border-color:#ccc3ae;--bs-table-striped-bg:#f2e8ce;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dcc3;--bs-table-active-color:#000;--bs-table-hover-bg:#ece2c9;--bs-table-hover-color:#000}.table-danger,.table-warning{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#ffdedc;--bs-table-border-color:#ccb2b0;--bs-table-striped-bg:#f2d3d1;--bs-table-striped-color:#000;--bs-table-active-bg:#e6c8c6;--bs-table-active-color:#000;--bs-table-hover-bg:#eccdcc;--bs-table-hover-color:#000}.table-light{--bs-table-color:#000;--bs-table-bg:#f6f6f6;--bs-table-border-color:#c5c5c5;--bs-table-striped-bg:#eaeaea;--bs-table-striped-color:#000;--bs-table-active-bg:#ddd;--bs-table-active-color:#000;--bs-table-hover-bg:#e4e4e4;--bs-table-hover-color:#000}.table-dark,.table-light{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#1a1a1a;--bs-table-border-color:#484848;--bs-table-striped-bg:#252525;--bs-table-striped-color:#fff;--bs-table-active-bg:#313131;--bs-table-active-color:#fff;--bs-table-hover-bg:#2b2b2b;--bs-table-hover-color:#fff}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-bottom:calc(.375rem + 2px);padding-top:calc(.375rem + 2px)}.col-form-label-lg{font-size:1.25rem;padding-bottom:calc(.5rem + 2px);padding-top:calc(.5rem + 2px)}.col-form-label-sm{font-size:.875rem;padding-bottom:calc(.25rem + 2px);padding-top:calc(.25rem + 2px)}.form-text{color:var(--bs-secondary-color);font-size:.875em;margin-top:.25rem}.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:padding-box;background-color:#262626;border:2px solid #2d2d2d;border-radius:8px;color:#f6f6f6;display:block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{background-color:#262626;border-color:#9dd7ff;box-shadow:0;color:#f6f6f6;outline:0}.form-control::-webkit-date-and-time-value{height:1.5em;margin:0;min-width:85px}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:#9e9e9e;opacity:1}.form-control::placeholder{color:#9e9e9e;opacity:1}.form-control:disabled{background-color:#757575;opacity:1}.form-control::file-selector-button{background-color:#2d2d2d;border:0 solid;border-color:inherit;border-inline-end-width:2px;border-radius:0;color:#f6f6f6;margin:-.375rem -.75rem;margin-inline-end:.75rem;padding:.375rem .75rem;pointer-events:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{background-color:transparent;border:solid transparent;border-width:2px 0;color:var(--bs-body-color);display:block;line-height:1.5;margin-bottom:0;padding:.375rem 0;width:100%}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{border-radius:var(--bs-border-radius-sm);font-size:.875rem;min-height:calc(1.5em + .5rem + 4px);padding:.25rem .5rem}.form-control-sm::file-selector-button{margin:-.25rem -.5rem;margin-inline-end:.5rem;padding:.25rem .5rem}.form-control-lg{border-radius:var(--bs-border-radius-lg);font-size:1.25rem;min-height:calc(1.5em + 1rem + 4px);padding:.5rem 1rem}.form-control-lg::file-selector-button{margin:-.5rem -1rem;margin-inline-end:1rem;padding:.5rem 1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 4px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 4px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 4px)}.form-control-color{height:calc(1.5em + .75rem + 4px);padding:.375rem;width:3rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:8px}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:8px}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 4px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 4px)}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%233c3c3c' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#262626;background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-position:right .75rem center;background-repeat:no-repeat;background-size:16px 12px;border:2px solid #2d2d2d;border-radius:8px;color:#f6f6f6;display:block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem 2.25rem .375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#9dd7ff;box-shadow:0 0 0 .25rem rgba(59,175,255,.25);outline:0}.form-select[multiple],.form-select[size]:not([size="1"]){background-image:none;padding-right:.75rem}.form-select:disabled{background-color:#757575}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #f6f6f6}.form-select-sm{border-radius:var(--bs-border-radius-sm);font-size:.875rem;padding-bottom:.25rem;padding-left:.5rem;padding-top:.25rem}.form-select-lg{border-radius:var(--bs-border-radius-lg);font-size:1.25rem;padding-bottom:.5rem;padding-left:1rem;padding-top:.5rem}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23cacaca' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E")}.form-check{display:block;margin-bottom:.125rem;min-height:1.5rem;padding-left:1.5em}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-left:0;padding-right:1.5em;text-align:right}.form-check-reverse .form-check-input{float:right;margin-left:0;margin-right:-1.5em}.form-check-input{--bs-form-check-bg:#484848;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-position:50%;background-repeat:no-repeat;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);flex-shrink:0;height:1em;margin-top:.25em;-webkit-print-color-adjust:exact;print-color-adjust:exact;vertical-align:top;width:1em}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#9dd7ff;box-shadow:0 0 0 .25rem rgba(59,175,255,.25);outline:0}.form-check-input:checked{background-color:#3bafff;border-color:#3bafff}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E")}.form-check-input[type=checkbox]:indeterminate{background-color:#3bafff;border-color:#3bafff;--bs-form-check-bg-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3E%3C/svg%3E")}.form-check-input:disabled{filter:none;opacity:.5;pointer-events:none}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3E%3C/svg%3E");background-image:var(--bs-form-switch-bg);background-position:0;border-radius:2em;margin-left:-2.5em;transition:background-position .15s ease-in-out;width:2em}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%239dd7ff'/%3E%3C/svg%3E")}.form-switch .form-check-input:checked{background-position:100%;--bs-form-switch-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.form-switch.form-check-reverse{padding-left:0;padding-right:2.5em}.form-switch.form-check-reverse .form-check-input{margin-left:0;margin-right:-2.5em}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{filter:none;opacity:.65;pointer-events:none}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(255, 255, 255, 0.25)'/%3E%3C/svg%3E")}.form-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;height:1.5rem;padding:0;width:100%}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #181818,0}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #181818,0}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#3bafff;border:0;border-radius:1rem;height:1rem;margin-top:-.25rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#c4e7ff}.form-range::-webkit-slider-runnable-track{background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem;color:transparent;cursor:pointer;height:.5rem;width:100%}.form-range::-moz-range-thumb{-moz-appearance:none;appearance:none;background-color:#3bafff;border:0;border-radius:1rem;height:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#c4e7ff}.form-range::-moz-range-track{background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem;color:transparent;cursor:pointer;height:.5rem;width:100%}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 4px);line-height:1.25;min-height:calc(3.5rem + 4px)}.form-floating>label{border:2px solid transparent;height:100%;left:0;overflow:hidden;padding:1rem .75rem;pointer-events:none;position:absolute;text-align:start;text-overflow:ellipsis;top:0;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;white-space:nowrap;z-index:2}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-select{padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label:after{background-color:#262626;border-radius:8px;content:"";height:1.5em;inset:1rem .375rem;position:absolute;z-index:-1}.form-floating>.form-control-plaintext~label:after,.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-select~label:after{background-color:#262626;border-radius:8px;content:"";height:1.5em;inset:1rem .375rem;position:absolute;z-index:-1}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:2px 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#484848}.form-floating>.form-control:disabled~label:after,.form-floating>:disabled~label:after{background-color:#757575}.input-group{align-items:stretch;display:flex;flex-wrap:wrap;position:relative;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{flex:1 1 auto;min-width:0;position:relative;width:1%}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{align-items:center;background-color:var(--bs-tertiary-bg);border:2px solid #2d2d2d;border-radius:8px;color:#f6f6f6;display:flex;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;text-align:center;white-space:nowrap}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{border-radius:var(--bs-border-radius-lg);font-size:1.25rem;padding:.5rem 1rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{border-radius:var(--bs-border-radius-sm);font-size:.875rem;padding:.25rem .5rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-bottom-right-radius:0;border-top-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-2px}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-bottom-left-radius:0;border-top-left-radius:0}.valid-feedback{color:var(--bs-form-valid-color);display:none;font-size:.875em;margin-top:.25rem;width:100%}.valid-tooltip{background-color:var(--bs-success);border-radius:var(--bs-border-radius);color:#fff;display:none;font-size:.875rem;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%234fe883' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%234fe883' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3E%3C/svg%3E");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);padding-right:4.125rem}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3.75rem + 1.5em)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{color:var(--bs-form-invalid-color);display:none;font-size:.875em;margin-top:.25rem;width:100%}.invalid-tooltip{background-color:var(--bs-danger);border-radius:var(--bs-border-radius);color:#fff;display:none;font-size:.875rem;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ff5951'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23ff5951' stroke='none'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ff5951'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23ff5951' stroke='none'/%3E%3C/svg%3E");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);padding-right:4.125rem}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3.75rem + 1.5em)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:600;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:2px;--bs-btn-border-color:transparent;--bs-btn-border-radius:8px;--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.15),0 1px 1px rgba(0,0,0,.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb),.5);background-color:var(--bs-btn-bg);border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);color:var(--bs-btn-color);cursor:pointer;display:inline-block;font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);color:var(--bs-btn-hover-color)}.btn-check+.btn:hover{background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);color:var(--bs-btn-color)}.btn:focus-visible{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);box-shadow:var(--bs-btn-focus-box-shadow);color:var(--bs-btn-hover-color);outline:0}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);box-shadow:var(--bs-btn-focus-box-shadow);outline:0}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color);color:var(--bs-btn-active-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);color:var(--bs-btn-disabled-color);opacity:var(--bs-btn-disabled-opacity);pointer-events:none}.btn-primary{--bs-btn-color:#000;--bs-btn-bg:#3bafff;--bs-btn-border-color:#3bafff;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#58bbff;--bs-btn-hover-border-color:#4fb7ff;--bs-btn-focus-shadow-rgb:50,149,217;--bs-btn-active-color:#000;--bs-btn-active-bg:#62bfff;--bs-btn-active-border-color:#4fb7ff;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#3bafff;--bs-btn-disabled-border-color:#3bafff}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#484848;--bs-btn-border-color:#484848;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#3d3d3d;--bs-btn-hover-border-color:#3a3a3a;--bs-btn-focus-shadow-rgb:99,99,99;--bs-btn-active-color:#fff;--bs-btn-active-bg:#3a3a3a;--bs-btn-active-border-color:#363636;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#484848;--bs-btn-disabled-border-color:#484848}.btn-success{--bs-btn-color:#000;--bs-btn-bg:#4fe883;--bs-btn-border-color:#4fe883;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#69eb96;--bs-btn-hover-border-color:#61ea8f;--bs-btn-focus-shadow-rgb:67,197,111;--bs-btn-active-color:#000;--bs-btn-active-bg:#72ed9c;--bs-btn-active-border-color:#61ea8f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#4fe883;--bs-btn-disabled-border-color:#4fe883}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#6094f9;--bs-btn-border-color:#6094f9;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#78a4fa;--bs-btn-hover-border-color:#709ffa;--bs-btn-focus-shadow-rgb:82,126,212;--bs-btn-active-color:#000;--bs-btn-active-bg:#80a9fa;--bs-btn-active-border-color:#709ffa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#6094f9;--bs-btn-disabled-border-color:#6094f9}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc93f;--bs-btn-border-color:#ffc93f;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffd15c;--bs-btn-hover-border-color:#ffce52;--bs-btn-focus-shadow-rgb:217,171,54;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffd465;--bs-btn-active-border-color:#ffce52;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc93f;--bs-btn-disabled-border-color:#ffc93f}.btn-danger{--bs-btn-color:#000;--bs-btn-bg:#ff5951;--bs-btn-border-color:#ff5951;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ff726b;--bs-btn-hover-border-color:#ff6a62;--bs-btn-focus-shadow-rgb:217,76,69;--bs-btn-active-color:#000;--bs-btn-active-bg:#ff7a74;--bs-btn-active-border-color:#ff6a62;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ff5951;--bs-btn-disabled-border-color:#ff5951}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f6f6f6;--bs-btn-border-color:#f6f6f6;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d1d1d1;--bs-btn-hover-border-color:#c5c5c5;--bs-btn-focus-shadow-rgb:209,209,209;--bs-btn-active-color:#000;--bs-btn-active-bg:#c5c5c5;--bs-btn-active-border-color:#b9b9b9;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f6f6f6;--bs-btn-disabled-border-color:#f6f6f6}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#1a1a1a;--bs-btn-border-color:#1a1a1a;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#3c3c3c;--bs-btn-hover-border-color:#313131;--bs-btn-focus-shadow-rgb:60,60,60;--bs-btn-active-color:#fff;--bs-btn-active-bg:#484848;--bs-btn-active-border-color:#313131;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#1a1a1a;--bs-btn-disabled-border-color:#1a1a1a}.btn-outline-primary{--bs-btn-color:#3bafff;--bs-btn-border-color:#3bafff;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#3bafff;--bs-btn-hover-border-color:#3bafff;--bs-btn-focus-shadow-rgb:59,175,255;--bs-btn-active-color:#000;--bs-btn-active-bg:#3bafff;--bs-btn-active-border-color:#3bafff;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#3bafff;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#3bafff;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#484848;--bs-btn-border-color:#484848;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#484848;--bs-btn-hover-border-color:#484848;--bs-btn-focus-shadow-rgb:72,72,72;--bs-btn-active-color:#fff;--bs-btn-active-bg:#484848;--bs-btn-active-border-color:#484848;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#484848;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#484848;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#4fe883;--bs-btn-border-color:#4fe883;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#4fe883;--bs-btn-hover-border-color:#4fe883;--bs-btn-focus-shadow-rgb:79,232,131;--bs-btn-active-color:#000;--bs-btn-active-bg:#4fe883;--bs-btn-active-border-color:#4fe883;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#4fe883;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#4fe883;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#6094f9;--bs-btn-border-color:#6094f9;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#6094f9;--bs-btn-hover-border-color:#6094f9;--bs-btn-focus-shadow-rgb:96,148,249;--bs-btn-active-color:#000;--bs-btn-active-bg:#6094f9;--bs-btn-active-border-color:#6094f9;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#6094f9;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6094f9;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc93f;--bs-btn-border-color:#ffc93f;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc93f;--bs-btn-hover-border-color:#ffc93f;--bs-btn-focus-shadow-rgb:255,201,63;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc93f;--bs-btn-active-border-color:#ffc93f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#ffc93f;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc93f;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#ff5951;--bs-btn-border-color:#ff5951;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ff5951;--bs-btn-hover-border-color:#ff5951;--bs-btn-focus-shadow-rgb:255,89,81;--bs-btn-active-color:#000;--bs-btn-active-bg:#ff5951;--bs-btn-active-border-color:#ff5951;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#ff5951;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ff5951;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f6f6f6;--bs-btn-border-color:#f6f6f6;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f6f6f6;--bs-btn-hover-border-color:#f6f6f6;--bs-btn-focus-shadow-rgb:246,246,246;--bs-btn-active-color:#000;--bs-btn-active-bg:#f6f6f6;--bs-btn-active-border-color:#f6f6f6;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#f6f6f6;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f6f6f6;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#1a1a1a;--bs-btn-border-color:#1a1a1a;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#1a1a1a;--bs-btn-hover-border-color:#1a1a1a;--bs-btn-focus-shadow-rgb:26,26,26;--bs-btn-active-color:#fff;--bs-btn-active-bg:#1a1a1a;--bs-btn-active-border-color:#1a1a1a;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#1a1a1a;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#1a1a1a;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#484848;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:50,149,217;text-decoration:none}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:2px;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:8px}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{height:auto;transition:width .35s ease;width:0}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{border-bottom:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:#f6f6f6;--bs-dropdown-bg:#2d2d2d;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:#f6f6f6;--bs-dropdown-link-hover-color:#f6f6f6;--bs-dropdown-link-hover-bg:#484848;--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#3bafff;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#484848;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;background-clip:padding-box;background-color:var(--bs-dropdown-bg);border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius);color:var(--bs-dropdown-color);display:none;font-size:var(--bs-dropdown-font-size);list-style:none;margin:0;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);position:absolute;text-align:left;z-index:var(--bs-dropdown-zindex)}.dropdown-menu[data-bs-popper]{left:0;margin-top:var(--bs-dropdown-spacer);top:100%}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{left:auto;right:0}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{left:auto;right:0}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{left:auto;right:0}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{left:auto;right:0}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{left:auto;right:0}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{left:auto;right:0}}.dropup .dropdown-menu[data-bs-popper]{bottom:100%;margin-bottom:var(--bs-dropdown-spacer);margin-top:0;top:auto}.dropup .dropdown-toggle:after{border-bottom:.3em solid;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:0;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{left:100%;margin-left:var(--bs-dropdown-spacer);margin-top:0;right:auto;top:0}.dropend .dropdown-toggle:after{border-bottom:.3em solid transparent;border-left:.3em solid;border-right:0;border-top:.3em solid transparent;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{left:auto;margin-right:var(--bs-dropdown-spacer);margin-top:0;right:100%;top:0}.dropstart .dropdown-toggle:after{content:"";display:inline-block;display:none;margin-left:.255em;vertical-align:.255em}.dropstart .dropdown-toggle:before{border-bottom:.3em solid transparent;border-right:.3em solid;border-top:.3em solid transparent;content:"";display:inline-block;margin-right:.255em;vertical-align:.255em}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{border-top:1px solid var(--bs-dropdown-divider-bg);height:0;margin:var(--bs-dropdown-divider-margin-y) 0;opacity:1;overflow:hidden}.dropdown-item{background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0);clear:both;color:var(--bs-dropdown-link-color);display:block;font-weight:400;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);text-align:inherit;white-space:nowrap;width:100%}.dropdown-item:focus,.dropdown-item:hover{background-color:var(--bs-dropdown-link-hover-bg);color:var(--bs-dropdown-link-hover-color)}.dropdown-item.active,.dropdown-item:active{background-color:var(--bs-dropdown-link-active-bg);color:var(--bs-dropdown-link-active-color);text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{background-color:transparent;color:var(--bs-dropdown-link-disabled-color);pointer-events:none}.dropdown-menu.show{display:block}.dropdown-header{color:var(--bs-dropdown-header-color);display:block;font-size:.875rem;margin-bottom:0;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);white-space:nowrap}.dropdown-item-text{color:var(--bs-dropdown-link-color);display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x)}.dropdown-menu-dark{--bs-dropdown-color:#cacaca;--bs-dropdown-bg:#3c3c3c;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#cacaca;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:hsla(0,0%,100%,.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#3bafff;--bs-dropdown-link-disabled-color:#757575;--bs-dropdown-header-color:#757575}.btn-group,.btn-group-vertical{display:inline-flex;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{flex:1 1 auto;position:relative}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:8px}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:-2px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-bottom-left-radius:0;border-top-left-radius:0}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group-vertical{align-items:flex-start;flex-direction:column;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-2px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:#f6f6f6;--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-link{background:none;border:0;color:var(--bs-nav-link-color);display:block;font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{box-shadow:0 0 0 .25rem rgba(59,175,255,.25);outline:0}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);cursor:default;pointer-events:none}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:rgba(0,0,0,.125);--bs-nav-tabs-link-active-color:#3bafff;--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:rgba(0,0,0,.125);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius);margin-bottom:calc(var(--bs-nav-tabs-border-width)*-1)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:var(--bs-nav-tabs-link-hover-border-color);isolation:isolate}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color);color:var(--bs-nav-tabs-link-active-color)}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:calc(var(--bs-nav-tabs-border-width)*-1)}.nav-pills{--bs-nav-pills-border-radius:8px;--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#3bafff}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:var(--bs-nav-pills-link-active-bg);color:var(--bs-nav-pills-link-active-color)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{border-bottom:var(--bs-nav-underline-border-width) solid transparent;padding-left:0;padding-right:0}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{border-bottom-color:currentcolor;color:var(--bs-nav-underline-link-active-color);font-weight:700}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:hsla(0,0%,100%,.85);--bs-navbar-hover-color:hsla(0,0%,100%,.7);--bs-navbar-disabled-color:hsla(0,0%,100%,.25);--bs-navbar-active-color:hsla(0,0%,100%,.9);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:hsla(0,0%,100%,.9);--bs-navbar-brand-hover-color:hsla(0,0%,100%,.9);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");--bs-navbar-toggler-border-color:hsla(0,0%,100%,.1);--bs-navbar-toggler-border-radius:8px;--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);position:relative}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{align-items:center;display:flex;flex-wrap:inherit;justify-content:space-between}.navbar-brand{color:var(--bs-navbar-brand-color);font-size:var(--bs-navbar-brand-font-size);margin-right:var(--bs-navbar-brand-margin-end);padding-bottom:var(--bs-navbar-brand-padding-y);padding-top:var(--bs-navbar-brand-padding-y);white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;list-style:none;margin-bottom:0;padding-left:0}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{color:var(--bs-navbar-color);padding-bottom:.5rem;padding-top:.5rem}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);color:var(--bs-navbar-color);font-size:var(--bs-navbar-toggler-font-size);line-height:1;padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width);outline:0;text-decoration:none}.navbar-toggler-icon{background-image:var(--bs-navbar-toggler-icon-bg);background-position:50%;background-repeat:no-repeat;background-size:100%;display:inline-block;height:1.5em;vertical-align:middle;width:1.5em}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{background-color:transparent!important;border:0!important;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:hsla(0,0%,100%,.55);--bs-navbar-hover-color:hsla(0,0%,100%,.75);--bs-navbar-disabled-color:hsla(0,0%,100%,.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:hsla(0,0%,100%,.1)}.navbar-dark,.navbar[data-bs-theme=dark],[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:1px;--bs-card-border-color:#484848;--bs-card-border-radius:15px;--bs-card-box-shadow: ;--bs-card-inner-border-radius:14px;--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:#1a1a1a;--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:#262626;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;color:var(--bs-body-color);display:flex;flex-direction:column;height:var(--bs-card-height);min-width:0;position:relative;word-wrap:break-word;background-clip:border-box;background-color:var(--bs-card-bg);border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-bottom:inherit;border-top:inherit}.card>.list-group:first-child{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius);border-top-width:0}.card>.list-group:last-child{border-bottom-left-radius:var(--bs-card-inner-border-radius);border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{color:var(--bs-card-color);flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x)}.card-title{color:var(--bs-card-title-color);margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{color:var(--bs-card-subtitle-color);margin-top:calc(var(--bs-card-title-spacer-y)*-.5)}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color);color:var(--bs-card-cap-color);margin-bottom:0;padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color);color:var(--bs-card-cap-color);padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{border-bottom:0;margin-bottom:calc(var(--bs-card-cap-padding-y)*-1);margin-left:calc(var(--bs-card-cap-padding-x)*-.5);margin-right:calc(var(--bs-card-cap-padding-x)*-.5)}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-left:calc(var(--bs-card-cap-padding-x)*-.5);margin-right:calc(var(--bs-card-cap-padding-x)*-.5)}.card-img-overlay{border-radius:var(--bs-card-inner-border-radius);bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);position:absolute;right:0;top:0}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-left-radius:var(--bs-card-inner-border-radius);border-bottom-right-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{border-left:0;margin-left:0}.card-group>.card:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='m2 5 6 6 6-6'/%3E%3C/svg%3E");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23184666' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='m2 5 6 6 6-6'/%3E%3C/svg%3E");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(59,175,255,.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{align-items:center;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;color:var(--bs-accordion-btn-color);display:flex;font-size:1rem;overflow-anchor:none;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);position:relative;text-align:left;transition:var(--bs-accordion-transition);width:100%}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(var(--bs-accordion-border-width)*-1) 0 var(--bs-accordion-border-color);color:var(--bs-accordion-active-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);content:"";flex-shrink:0;height:var(--bs-accordion-btn-icon-width);margin-left:auto;transition:var(--bs-accordion-btn-icon-transition);width:var(--bs-accordion-btn-icon-width)}@media (prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow);outline:0;z-index:3}.accordion-header{margin-bottom:0}.accordion-item{background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);color:var(--bs-accordion-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-left-radius:var(--bs-accordion-border-radius);border-bottom-right-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-left-radius:var(--bs-accordion-inner-border-radius);border-bottom-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-left-radius:var(--bs-accordion-border-radius);border-bottom-right-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-left:0;border-radius:0;border-right:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2389cfff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E");--bs-accordion-btn-active-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2389cfff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius);display:flex;flex-wrap:wrap;font-size:var(--bs-breadcrumb-font-size);list-style:none;margin-bottom:var(--bs-breadcrumb-margin-bottom);padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider,"/");float:left;padding-right:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:#f6f6f6;--bs-pagination-bg:#2d2d2d;--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:#484848;--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:#f6f6f6;--bs-pagination-hover-bg:#3c3c3c;--bs-pagination-hover-border-color:#757575;--bs-pagination-focus-color:#f6f6f6;--bs-pagination-focus-bg:#484848;--bs-pagination-focus-box-shadow:none;--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#3bafff;--bs-pagination-active-border-color:#3bafff;--bs-pagination-disabled-color:#f6f6f6;--bs-pagination-disabled-bg:#3c3c3c;--bs-pagination-disabled-border-color:#2d2d2d;display:flex;list-style:none;padding-left:0}.page-link{background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);color:var(--bs-pagination-color);display:block;font-size:var(--bs-pagination-font-size);padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);position:relative;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color);color:var(--bs-pagination-hover-color);z-index:2}.page-link:focus{background-color:var(--bs-pagination-focus-bg);box-shadow:var(--bs-pagination-focus-box-shadow);color:var(--bs-pagination-focus-color);outline:0;z-index:3}.active>.page-link,.page-link.active{background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color);color:var(--bs-pagination-active-color);z-index:3}.disabled>.page-link,.page-link.disabled{background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color);color:var(--bs-pagination-disabled-color);pointer-events:none}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width)*-1)}.page-item:first-child .page-link{border-bottom-left-radius:var(--bs-pagination-border-radius);border-top-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-bottom-right-radius:var(--bs-pagination-border-radius);border-top-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);border-radius:var(--bs-badge-border-radius);color:var(--bs-badge-color);display:inline-block;font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);text-align:center;vertical-align:baseline;white-space:nowrap}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius);color:var(--bs-alert-color);margin-bottom:var(--bs-alert-margin-bottom);padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);position:relative}.alert-heading{color:inherit}.alert-link{color:var(--bs-alert-link-color);font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{padding:1.25rem 1rem;position:absolute;right:0;top:0;z-index:2}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#3bafff;--bs-progress-bar-transition:width 0.6s ease;background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius);display:flex;font-size:var(--bs-progress-font-size);height:var(--bs-progress-height);overflow:hidden}.progress-bar{background-color:var(--bs-progress-bar-bg);color:var(--bs-progress-bar-color);display:flex;flex-direction:column;justify-content:center;overflow:hidden;text-align:center;transition:var(--bs-progress-bar-transition);white-space:nowrap}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:#f6f6f6;--bs-list-group-bg:#2d2d2d;--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:#f6f6f6;--bs-list-group-action-hover-bg:#3c3c3c;--bs-list-group-action-active-color:#f6f6f6;--bs-list-group-action-active-bg:#2d2d2d;--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:#2d2d2d;--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#3bafff;--bs-list-group-active-border-color:#3bafff;border-radius:var(--bs-list-group-border-radius);display:flex;flex-direction:column;margin-bottom:0;padding-left:0}.list-group-numbered{counter-reset:section;list-style-type:none}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{color:var(--bs-list-group-action-color);text-align:inherit;width:100%}.list-group-item-action:focus,.list-group-item-action:hover{background-color:var(--bs-list-group-action-hover-bg);color:var(--bs-list-group-action-hover-color);text-decoration:none;z-index:1}.list-group-item-action:active{background-color:var(--bs-list-group-action-active-bg);color:var(--bs-list-group-action-active-color)}.list-group-item{background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);color:var(--bs-list-group-color);display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);position:relative}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{background-color:var(--bs-list-group-disabled-bg);color:var(--bs-list-group-disabled-color);pointer-events:none}.list-group-item.active{background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color);color:var(--bs-list-group-active-color);z-index:2}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{border-top-width:var(--bs-list-group-border-width);margin-top:calc(var(--bs-list-group-border-width)*-1)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-md>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#f6f6f6;--bs-btn-close-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23f6f6f6' viewBox='0 0 16 16'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3E%3C/svg%3E");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(59,175,255,.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;box-sizing:content-box;height:1em;opacity:var(--bs-btn-close-opacity);padding:.25em;width:1em}.btn-close,.btn-close:hover{color:var(--bs-btn-close-color)}.btn-close:hover{opacity:var(--bs-btn-close-hover-opacity);text-decoration:none}.btn-close:focus{box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity);outline:0}.btn-close.disabled,.btn-close:disabled{opacity:var(--bs-btn-close-disabled-opacity);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb),0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb),0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);background-clip:padding-box;background-color:var(--bs-toast-bg);border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);border-radius:var(--bs-toast-border-radius);box-shadow:var(--bs-toast-box-shadow);color:var(--bs-toast-color);font-size:var(--bs-toast-font-size);max-width:100%;pointer-events:auto;width:var(--bs-toast-max-width)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;max-width:100%;pointer-events:none;position:absolute;width:-moz-max-content;width:max-content;z-index:var(--bs-toast-zindex)}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{align-items:center;background-clip:padding-box;background-color:var(--bs-toast-header-bg);border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));color:var(--bs-toast-header-color);display:flex;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x)}.toast-header .btn-close{margin-left:var(--bs-toast-padding-x);margin-right:calc(var(--bs-toast-padding-x)*-.5)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:transparent;--bs-modal-header-border-width:0;--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:transparent;--bs-modal-footer-border-width:0;display:none;height:100%;left:0;outline:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;width:100%;z-index:var(--bs-modal-zindex)}.modal-dialog{margin:var(--bs-modal-margin);pointer-events:none;position:relative;width:auto}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin)*2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{align-items:center;display:flex;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{background-clip:padding-box;background-color:var(--bs-modal-bg);border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);color:var(--bs-modal-color);display:flex;flex-direction:column;outline:0;pointer-events:auto;position:relative;width:100%}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;background-color:var(--bs-backdrop-bg);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:var(--bs-backdrop-zindex)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{align-items:center;border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius);display:flex;flex-shrink:0;padding:var(--bs-modal-header-padding)}.modal-header .btn-close{margin:calc(var(--bs-modal-header-padding-y)*-.5) calc(var(--bs-modal-header-padding-x)*-.5) calc(var(--bs-modal-header-padding-y)*-.5) auto;padding:calc(var(--bs-modal-header-padding-y)*.5) calc(var(--bs-modal-header-padding-x)*.5)}.modal-title{line-height:var(--bs-modal-title-line-height);margin-bottom:0}.modal-body{flex:1 1 auto;padding:var(--bs-modal-padding);position:relative}.modal-footer{align-items:center;background-color:var(--bs-modal-footer-bg);border-bottom-left-radius:var(--bs-modal-inner-border-radius);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{margin-left:auto;margin-right:auto;max-width:var(--bs-modal-width)}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-sm-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-md-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-lg-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-xl-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-xxl-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080000;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:#f6f6f6;--bs-tooltip-bg:#000;--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;display:block;font-family:var(--bs-font-sans-serif);font-size:var(--bs-tooltip-font-size);font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;margin:var(--bs-tooltip-margin);text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:var(--bs-tooltip-zindex);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;height:var(--bs-tooltip-arrow-height);width:var(--bs-tooltip-arrow-width)}.tooltip .tooltip-arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(var(--bs-tooltip-arrow-height)*-1)}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{border-top-color:var(--bs-tooltip-bg);border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;top:-1px}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{height:var(--bs-tooltip-arrow-width);left:calc(var(--bs-tooltip-arrow-height)*-1);width:var(--bs-tooltip-arrow-height)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{border-right-color:var(--bs-tooltip-bg);border-width:calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;right:-1px}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(var(--bs-tooltip-arrow-height)*-1)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{border-bottom-color:var(--bs-tooltip-bg);border-width:0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);bottom:-1px}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{height:var(--bs-tooltip-arrow-width);right:calc(var(--bs-tooltip-arrow-height)*-1);width:var(--bs-tooltip-arrow-height)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{border-left-color:var(--bs-tooltip-bg);border-width:calc(var(--bs-tooltip-arrow-width)*.5) 0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);left:-1px}.tooltip-inner{background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius);color:var(--bs-tooltip-color);max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);text-align:center}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);display:block;font-family:var(--bs-font-sans-serif);font-size:var(--bs-popover-font-size);font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;max-width:var(--bs-popover-max-width);text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:var(--bs-popover-zindex);word-wrap:break-word;background-clip:padding-box;background-color:var(--bs-popover-bg);border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;height:var(--bs-popover-arrow-height);width:var(--bs-popover-arrow-width)}.popover .popover-arrow:after,.popover .popover-arrow:before{border:0 solid transparent;content:"";display:block;position:absolute}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc((var(--bs-popover-arrow-height))*-1 - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{border-top-color:var(--bs-popover-arrow-border);bottom:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{border-top-color:var(--bs-popover-bg);bottom:var(--bs-popover-border-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{height:var(--bs-popover-arrow-width);left:calc((var(--bs-popover-arrow-height))*-1 - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{border-right-color:var(--bs-popover-arrow-border);left:0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{border-right-color:var(--bs-popover-bg);left:var(--bs-popover-border-width)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc((var(--bs-popover-arrow-height))*-1 - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{border-bottom-color:var(--bs-popover-arrow-border);top:0}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{border-bottom-color:var(--bs-popover-bg);top:var(--bs-popover-border-width)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg);content:"";display:block;left:50%;margin-left:calc(var(--bs-popover-arrow-width)*-.5);position:absolute;top:0;width:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{height:var(--bs-popover-arrow-width);right:calc((var(--bs-popover-arrow-height))*-1 - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width)*.5) 0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{border-left-color:var(--bs-popover-arrow-border);right:0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{border-left-color:var(--bs-popover-bg);right:var(--bs-popover-border-width)}.popover-header{background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius);color:var(--bs-popover-header-color);font-size:var(--bs-popover-header-font-size);margin-bottom:0;padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x)}.popover-header:empty{display:none}.popover-body{color:var(--bs-popover-body-color);padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{overflow:hidden;position:relative;width:100%}.carousel-inner:after{clear:both;content:"";display:block}.carousel-item{backface-visibility:hidden;display:none;float:left;margin-right:-100%;position:relative;transition:transform .6s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transform:none;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{opacity:1;z-index:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{opacity:0;transition:opacity 0s .6s;z-index:0}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{align-items:center;background:none;border:0;bottom:0;color:#fff;display:flex;justify-content:center;opacity:.5;padding:0;position:absolute;text-align:center;top:0;transition:opacity .15s ease;width:15%;z-index:1}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;opacity:.9;outline:0;text-decoration:none}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{background-position:50%;background-repeat:no-repeat;background-size:100% 100%;display:inline-block;height:2rem;width:2rem}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E")}.carousel-indicators{bottom:0;display:flex;justify-content:center;left:0;margin-bottom:1rem;margin-left:15%;margin-right:15%;padding:0;position:absolute;right:0;z-index:2}.carousel-indicators [data-bs-target]{background-clip:padding-box;background-color:#fff;border:0;border-bottom:10px solid transparent;border-top:10px solid transparent;box-sizing:content-box;cursor:pointer;flex:0 1 auto;height:3px;margin-left:3px;margin-right:3px;opacity:.5;padding:0;text-indent:-999px;transition:opacity .6s ease;width:30px}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-caption{bottom:1.25rem;color:#fff;left:15%;padding-bottom:1.25rem;padding-top:1.25rem;position:absolute;right:15%;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);border-radius:50%;display:inline-block;height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);width:var(--bs-spinner-width)}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border-right-color:currentcolor;border:var(--bs-spinner-border-width) solid;border-right:var(--bs-spinner-border-width) solid transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{background-clip:padding-box;background-color:var(--bs-offcanvas-bg);bottom:0;color:var(--bs-offcanvas-color);display:flex;flex-direction:column;max-width:100%;outline:0;position:fixed;transition:var(--bs-offcanvas-transition);visibility:hidden;z-index:var(--bs-offcanvas-zindex)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);left:0;top:0;transform:translateX(-100%);width:var(--bs-offcanvas-width)}.offcanvas-sm.offcanvas-end{border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);right:0;top:0;transform:translateX(100%);width:var(--bs-offcanvas-width)}.offcanvas-sm.offcanvas-top{border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);top:0;transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom,.offcanvas-sm.offcanvas-top{height:var(--bs-offcanvas-height);left:0;max-height:100%;right:0}.offcanvas-sm.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{background-color:transparent!important;display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media (max-width:767.98px){.offcanvas-md{background-clip:padding-box;background-color:var(--bs-offcanvas-bg);bottom:0;color:var(--bs-offcanvas-color);display:flex;flex-direction:column;max-width:100%;outline:0;position:fixed;transition:var(--bs-offcanvas-transition);visibility:hidden;z-index:var(--bs-offcanvas-zindex)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);left:0;top:0;transform:translateX(-100%);width:var(--bs-offcanvas-width)}.offcanvas-md.offcanvas-end{border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);right:0;top:0;transform:translateX(100%);width:var(--bs-offcanvas-width)}.offcanvas-md.offcanvas-top{border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);top:0;transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom,.offcanvas-md.offcanvas-top{height:var(--bs-offcanvas-height);left:0;max-height:100%;right:0}.offcanvas-md.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{background-color:transparent!important;display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media (max-width:991.98px){.offcanvas-lg{background-clip:padding-box;background-color:var(--bs-offcanvas-bg);bottom:0;color:var(--bs-offcanvas-color);display:flex;flex-direction:column;max-width:100%;outline:0;position:fixed;transition:var(--bs-offcanvas-transition);visibility:hidden;z-index:var(--bs-offcanvas-zindex)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);left:0;top:0;transform:translateX(-100%);width:var(--bs-offcanvas-width)}.offcanvas-lg.offcanvas-end{border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);right:0;top:0;transform:translateX(100%);width:var(--bs-offcanvas-width)}.offcanvas-lg.offcanvas-top{border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);top:0;transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom,.offcanvas-lg.offcanvas-top{height:var(--bs-offcanvas-height);left:0;max-height:100%;right:0}.offcanvas-lg.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{background-color:transparent!important;display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media (max-width:1199.98px){.offcanvas-xl{background-clip:padding-box;background-color:var(--bs-offcanvas-bg);bottom:0;color:var(--bs-offcanvas-color);display:flex;flex-direction:column;max-width:100%;outline:0;position:fixed;transition:var(--bs-offcanvas-transition);visibility:hidden;z-index:var(--bs-offcanvas-zindex)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);left:0;top:0;transform:translateX(-100%);width:var(--bs-offcanvas-width)}.offcanvas-xl.offcanvas-end{border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);right:0;top:0;transform:translateX(100%);width:var(--bs-offcanvas-width)}.offcanvas-xl.offcanvas-top{border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);top:0;transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom,.offcanvas-xl.offcanvas-top{height:var(--bs-offcanvas-height);left:0;max-height:100%;right:0}.offcanvas-xl.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{background-color:transparent!important;display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media (max-width:1399.98px){.offcanvas-xxl{background-clip:padding-box;background-color:var(--bs-offcanvas-bg);bottom:0;color:var(--bs-offcanvas-color);display:flex;flex-direction:column;max-width:100%;outline:0;position:fixed;transition:var(--bs-offcanvas-transition);visibility:hidden;z-index:var(--bs-offcanvas-zindex)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);left:0;top:0;transform:translateX(-100%);width:var(--bs-offcanvas-width)}.offcanvas-xxl.offcanvas-end{border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);right:0;top:0;transform:translateX(100%);width:var(--bs-offcanvas-width)}.offcanvas-xxl.offcanvas-top{border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);top:0;transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom,.offcanvas-xxl.offcanvas-top{height:var(--bs-offcanvas-height);left:0;max-height:100%;right:0}.offcanvas-xxl.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{background-color:transparent!important;display:flex;flex-grow:0;overflow-y:visible;padding:0}}.offcanvas{background-clip:padding-box;background-color:var(--bs-offcanvas-bg);bottom:0;color:var(--bs-offcanvas-color);display:flex;flex-direction:column;max-width:100%;outline:0;position:fixed;transition:var(--bs-offcanvas-transition);visibility:hidden;z-index:var(--bs-offcanvas-zindex)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);left:0;top:0;transform:translateX(-100%);width:var(--bs-offcanvas-width)}.offcanvas.offcanvas-end{border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);right:0;top:0;transform:translateX(100%);width:var(--bs-offcanvas-width)}.offcanvas.offcanvas-top{border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);top:0;transform:translateY(-100%)}.offcanvas.offcanvas-bottom,.offcanvas.offcanvas-top{height:var(--bs-offcanvas-height);left:0;max-height:100%;right:0}.offcanvas.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{background-color:#000;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1040}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{align-items:center;display:flex;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{margin:calc(var(--bs-offcanvas-padding-y)*-.5) calc(var(--bs-offcanvas-padding-x)*-.5) calc(var(--bs-offcanvas-padding-y)*-.5) auto;padding:calc(var(--bs-offcanvas-padding-y)*.5) calc(var(--bs-offcanvas-padding-x)*.5)}.offcanvas-title{line-height:var(--bs-offcanvas-title-line-height);margin-bottom:0}.offcanvas-body{flex-grow:1;overflow-y:auto;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.placeholder{background-color:currentcolor;cursor:wait;display:inline-block;min-height:1em;opacity:.5;vertical-align:middle}.placeholder.btn:before{content:"";display:inline-block}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{animation:placeholder-wave 2s linear infinite;-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0;mask-position:-200% 0}}.clearfix:after{clear:both;content:"";display:block}.text-bg-primary{background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-secondary{background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important;color:#fff!important}.text-bg-success{background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-info{background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-warning{background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-danger{background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-light{background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-dark{background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important;color:#fff!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(98,191,255,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(98,191,255,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(58,58,58,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(58,58,58,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(114,237,156,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(114,237,156,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(128,169,250,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(128,169,250,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,212,101,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(255,212,101,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(255,122,116,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(255,122,116,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(248,248,248,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(248,248,248,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(21,21,21,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(21,21,21,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important}.focus-ring:focus{box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);outline:0}.icon-link{align-items:center;backface-visibility:hidden;display:inline-flex;gap:.375rem;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em}.icon-link>.bi{flex-shrink:0;height:1em;width:1em;fill:currentcolor;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio:before{content:"";display:block;padding-top:var(--bs-aspect-ratio)}.ratio>*{height:100%;left:0;position:absolute;top:0;width:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{top:0}.fixed-bottom,.fixed-top{left:0;position:fixed;right:0;z-index:1030}.fixed-bottom{bottom:0}.sticky-top{top:0}.sticky-bottom,.sticky-top{position:sticky;z-index:1020}.sticky-bottom{bottom:0}@media (min-width:576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{bottom:0;position:sticky;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{bottom:0;position:sticky;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{bottom:0;position:sticky;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{bottom:0;position:sticky;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{bottom:0;position:sticky;z-index:1020}}.hstack{align-items:center;flex-direction:row}.hstack,.vstack{align-self:stretch;display:flex}.vstack{flex:1 1 auto;flex-direction:column}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;width:1px!important;clip:rect(0,0,0,0)!important;border:0!important;white-space:nowrap!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{align-self:stretch;background-color:currentcolor;display:inline-block;min-height:1em;opacity:.25;width:var(--bs-border-width)}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb),var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb),var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb),var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb),var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb),var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb),var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb),var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb),var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:3rem!important;margin-right:3rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-bottom:0!important;margin-top:0!important}.my-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:3rem!important;padding-right:3rem!important}.py-0{padding-bottom:0!important;padding-top:0!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-5{padding-bottom:3rem!important;padding-top:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:hsla(0,0%,100%,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-bottom-right-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-bottom-right-radius:0!important;border-top-right-radius:0!important}.rounded-end-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-bottom-right-radius:50%!important;border-top-right-radius:50%!important}.rounded-end-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-left-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.rounded-bottom-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-bottom-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-bottom:0!important;margin-top:0!important}.my-sm-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-sm-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-sm-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-sm-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-sm-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-sm-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:3rem!important;padding-right:3rem!important}.py-sm-0{padding-bottom:0!important;padding-top:0!important}.py-sm-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-sm-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-sm-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-sm-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-sm-5{padding-bottom:3rem!important;padding-top:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-bottom:0!important;margin-top:0!important}.my-md-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-md-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-md-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-md-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-md-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-md-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:3rem!important;padding-right:3rem!important}.py-md-0{padding-bottom:0!important;padding-top:0!important}.py-md-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-md-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-md-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-md-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-md-5{padding-bottom:3rem!important;padding-top:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-bottom:0!important;margin-top:0!important}.my-lg-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-lg-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-lg-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-lg-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-lg-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-lg-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:3rem!important;padding-right:3rem!important}.py-lg-0{padding-bottom:0!important;padding-top:0!important}.py-lg-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-lg-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-lg-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-lg-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-lg-5{padding-bottom:3rem!important;padding-top:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-bottom:0!important;margin-top:0!important}.my-xl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-xl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-xl-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-xl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-xl-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-xl-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xl-0{padding-bottom:0!important;padding-top:0!important}.py-xl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-xl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-xl-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-xl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-xl-5{padding-bottom:3rem!important;padding-top:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-bottom:0!important;margin-top:0!important}.my-xxl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-xxl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-xxl-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-xxl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-xxl-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-xxl-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:3rem!important;padding-right:3rem!important}.py-xxl-0{padding-bottom:0!important;padding-top:0!important}.py-xxl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-xxl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-xxl-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-xxl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-xxl-5{padding-bottom:3rem!important;padding-top:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}.swal2-popup.swal2-toast{background:#19191a;box-shadow:0 0 1px rgba(0,0,0,.075),0 1px 2px rgba(0,0,0,.075),1px 2px 4px rgba(0,0,0,.075),1px 3px 8px rgba(0,0,0,.075),2px 4px 16px rgba(0,0,0,.075);box-sizing:border-box;grid-column:1/4!important;grid-row:1/4!important;grid-template-columns:min-content auto min-content;overflow-y:hidden;padding:1em;pointer-events:all}.swal2-popup.swal2-toast>*{grid-column:2}.swal2-popup.swal2-toast .swal2-title{font-size:1em;margin:.5em 1em;padding:0;text-align:initial}.swal2-popup.swal2-toast .swal2-loading{justify-content:center}.swal2-popup.swal2-toast .swal2-input{font-size:1em;height:2em;margin:.5em}.swal2-popup.swal2-toast .swal2-validation-message{font-size:1em}.swal2-popup.swal2-toast .swal2-footer{font-size:.8em;margin:.5em 0 0;padding:.5em 0 0}.swal2-popup.swal2-toast .swal2-close{align-self:center;font-size:2em;grid-column:3/3;grid-row:1/99;height:.8em;margin:0;width:.8em}.swal2-popup.swal2-toast .swal2-html-container{font-size:1em;margin:.5em 1em;overflow:initial;padding:0;text-align:initial}.swal2-popup.swal2-toast .swal2-html-container:empty{padding:0}.swal2-popup.swal2-toast .swal2-loader{align-self:center;grid-column:1;grid-row:1/99;height:2em;margin:.25em;width:2em}.swal2-popup.swal2-toast .swal2-icon{align-self:center;grid-column:1;grid-row:1/99;height:2em;margin:0 .5em 0 0;min-width:2em;width:2em}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{align-items:center;display:flex;font-size:1.8em;font-weight:700}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{height:2em;width:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{height:auto;justify-content:flex-start;margin:.5em 0 0;padding:0 .5em}.swal2-popup.swal2-toast .swal2-styled{font-size:1em;margin:.25em .5em;padding:.4em .6em}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{border-radius:50%;height:3em;position:absolute;width:1.6em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{border-radius:4em 0 0 4em;left:-.5em;top:-.8em;transform:rotate(-45deg);transform-origin:2em 2em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{border-radius:0 4em 4em 0;left:.9375em;top:-.25em;transform-origin:0 1.5em}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{height:2em;width:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{height:2.6875em;left:.4375em;top:0;width:.4375em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{left:.1875em;top:1.125em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{right:.1875em;top:.9375em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{animation:swal2-toast-hide .1s forwards}div:where(.swal2-container){box-sizing:border-box;display:grid;grid-template-areas:"top-start top top-end" "center-start center center-end" "bottom-start bottom-center bottom-end";grid-template-rows:minmax(min-content,auto) minmax(min-content,auto) minmax(min-content,auto);height:100%;inset:0;overflow-x:hidden;padding:.625em;position:fixed;transition:background-color .1s;z-index:1060;-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:rgba(25,25,26,.75)}div:where(.swal2-container).swal2-backdrop-hide{background:transparent!important}div:where(.swal2-container).swal2-bottom-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-top-start{grid-template-columns:minmax(0,1fr) auto auto}div:where(.swal2-container).swal2-bottom,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-top{grid-template-columns:auto minmax(0,1fr) auto}div:where(.swal2-container).swal2-bottom-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-top-end{grid-template-columns:auto auto minmax(0,1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-left>.swal2-popup,div:where(.swal2-container).swal2-center-start>.swal2-popup{align-self:center;grid-row:2}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-left>.swal2-popup,div:where(.swal2-container).swal2-bottom-start>.swal2-popup{align-self:end;grid-column:1;grid-row:3}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup,div:where(.swal2-container).swal2-grow-row>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{align-self:stretch;grid-row:1/4}div:where(.swal2-container).swal2-no-transition{transition:none!important}div:where(.swal2-container) div:where(.swal2-popup){background:#19191a;border:none;border-radius:5px;box-sizing:border-box;color:#545454;display:none;font-family:inherit;font-size:1rem;grid-template-columns:minmax(0,100%);max-width:100%;padding:0 0 1.25em;position:relative;width:32em}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) .h2:where(.swal2-title),div:where(.swal2-container) h2:where(.swal2-title){color:#e1e1e1;font-size:1.875em;font-weight:600;margin:0;max-width:100%;padding:.8em 1em 0;position:relative;text-align:center;text-transform:none;word-wrap:break-word}div:where(.swal2-container) div:where(.swal2-actions){align-items:center;box-sizing:border-box;display:flex;flex-wrap:wrap;justify-content:center;margin:1.25em auto 0;padding:0;width:auto;z-index:1}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1))}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2))}div:where(.swal2-container) div:where(.swal2-loader){align-items:center;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-color:#2778c4 transparent;border-radius:100%;border-style:solid;border-width:.25em;display:none;height:2.2em;justify-content:center;margin:0 1.875em;width:2.2em}div:where(.swal2-container) button:where(.swal2-styled){box-shadow:0 0 0 3px transparent;font-weight:500;margin:.3125em;padding:.625em 1.1em;transition:box-shadow .1s}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm{background:initial;background-color:#7066e0;border:0;border-radius:.25em;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm:focus{box-shadow:0 0 0 3px rgba(112,102,224,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-deny{background:initial;background-color:#dc3741;border:0;border-radius:.25em;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-deny:focus{box-shadow:0 0 0 3px rgba(220,55,65,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel{background:initial;background-color:#6e7881;border:0;border-radius:.25em;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel:focus{box-shadow:0 0 0 3px hsla(208,8%,47%,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-default-outline:focus{box-shadow:0 0 0 1px #19191a,0 0 0 3px rgba(138,176,213,.5)}div:where(.swal2-container) button:where(.swal2-styled):focus{outline:none}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){border-top:1px solid #555;color:#bbb;font-size:1em;margin:1em 0 0;padding:1em 1em 0;text-align:center}div:where(.swal2-container) .swal2-timer-progress-bar-container{border-bottom-left-radius:5px;border-bottom-right-radius:5px;bottom:0;grid-column:auto!important;left:0;overflow:hidden;position:absolute;right:0}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){background:hsla(0,0%,88%,.6);height:.25em;width:100%}div:where(.swal2-container) img:where(.swal2-image){margin:2em auto 1em;max-width:100%}div:where(.swal2-container) button:where(.swal2-close){align-items:center;background:transparent;border:none;border-radius:5px;color:#ccc;cursor:pointer;font-family:monospace;font-size:2.5em;height:1.2em;justify-content:center;justify-self:end;margin-bottom:-1.2em;margin-right:0;margin-top:0;overflow:hidden;padding:0;transition:color .1s,box-shadow .1s;width:1.2em;z-index:2}div:where(.swal2-container) button:where(.swal2-close):hover{background:transparent;color:#f27474;transform:none}div:where(.swal2-container) button:where(.swal2-close):focus{box-shadow:inset 0 0 0 3px rgba(100,150,200,.5);outline:none}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) .swal2-html-container{color:#e1e1e1;font-size:1.125em;font-weight:400;justify-content:center;line-height:normal;margin:1em 1.6em .3em;overflow:auto;padding:0;text-align:center;z-index:1;word-wrap:break-word;word-break:break-word}div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) label:where(.swal2-checkbox),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) textarea:where(.swal2-textarea){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) textarea:where(.swal2-textarea){background:#323234;border:1px solid #d9d9d9;border-radius:.1875em;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px transparent;box-sizing:border-box;color:#e1e1e1;font-size:1.125em;transition:border-color .1s,box-shadow .1s;width:auto}div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:1px solid #b4dbed;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5);outline:none}div:where(.swal2-container) input:where(.swal2-file)::-moz-placeholder,div:where(.swal2-container) input:where(.swal2-input)::-moz-placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::-moz-placeholder{color:#ccc}div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{background:#19191a;margin:1em 2em 3px}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{color:#e1e1e1;font-weight:600;text-align:center;width:20%}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{font-size:1.125em;height:2.625em;line-height:2.625em;padding:0}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{background:#323234;font-size:1.125em;margin-left:auto;margin-right:auto;width:75%}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{background:#323234;color:#e1e1e1;font-size:1.125em;max-width:100%;min-width:50%;padding:.375em .625em}div:where(.swal2-container) .swal2-checkbox,div:where(.swal2-container) .swal2-radio{align-items:center;background:#19191a;color:#e1e1e1;justify-content:center}div:where(.swal2-container) .swal2-checkbox label,div:where(.swal2-container) .swal2-radio label{font-size:1.125em;margin:0 .6em}div:where(.swal2-container) .swal2-checkbox input,div:where(.swal2-container) .swal2-radio input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;background:#323234;color:#e1e1e1;font-size:1em;font-weight:300;justify-content:center;margin:1em 0 0;overflow:hidden;padding:.625em}div:where(.swal2-container) div:where(.swal2-validation-message):before{background-color:#f27474;border-radius:50%;color:#fff;content:"!";display:inline-block;font-weight:600;height:1.5em;line-height:1.5em;margin:0 .625em;min-width:1.5em;text-align:center;width:1.5em}div:where(.swal2-container) .swal2-progress-steps{align-items:center;background:transparent;flex-wrap:wrap;font-weight:600;margin:1.25em auto;max-width:100%;padding:0}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{background:#2778c4;border-radius:2em;color:#fff;flex-shrink:0;height:2em;line-height:2em;text-align:center;width:2em;z-index:20}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#58585b;color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#58585b}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{background:#2778c4;flex-shrink:0;height:.4em;margin:0 -1px;width:2.5em;z-index:10}div:where(.swal2-icon){border:.25em solid #000;border-radius:50%;box-sizing:content-box;cursor:default;font-family:inherit;height:5em;justify-content:center;line-height:5em;margin:2.5em auto .6em;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:5em}div:where(.swal2-icon) .swal2-icon-content{align-items:center;display:flex;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{flex-grow:1;position:relative}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{background-color:#f27474;border-radius:.125em;display:block;height:.3125em;position:absolute;top:2.3125em;width:2.9375em}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}div:where(.swal2-icon).swal2-warning{border-color:#facea8;color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}div:where(.swal2-icon).swal2-info{border-color:#9de0f6;color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}div:where(.swal2-icon).swal2-question{border-color:#c9dae1;color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{border-radius:50%;height:7.5em;position:absolute;width:3.75em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{border-radius:7.5em 0 0 7.5em;left:-2.0635em;top:-.4375em;transform:rotate(-45deg);transform-origin:3.75em 3.75em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{border-radius:0 7.5em 7.5em 0;left:1.875em;top:-.6875em;transform:rotate(-45deg);transform-origin:0 3.75em}div:where(.swal2-icon).swal2-success .swal2-success-ring{border:.25em solid hsla(98,55%,69%,.3);border-radius:50%;box-sizing:content-box;height:100%;left:-.25em;position:absolute;top:-.25em;width:100%;z-index:2}div:where(.swal2-icon).swal2-success .swal2-success-fix{height:5.625em;left:1.625em;position:absolute;top:.5em;transform:rotate(-45deg);width:.4375em;z-index:1}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{background-color:#a5dc86;border-radius:.125em;display:block;height:.3125em;position:absolute;z-index:2}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{left:.8125em;top:2.875em;transform:rotate(45deg);width:1.5625em}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{right:.5em;top:2.375em;transform:rotate(-45deg);width:2.9375em}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}[class^=swal2]{-webkit-tap-highlight-color:transparent}.swal2-show{animation:swal2-show .3s}.swal2-hide{animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}.swal2-rtl .swal2-close{margin-left:0;margin-right:0}.swal2-rtl .swal2-timer-progress-bar{left:auto;right:0}@keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotate(2deg)}33%{transform:translateY(0) rotate(-2deg)}66%{transform:translateY(.3125em) rotate(2deg)}to{transform:translateY(0) rotate(0deg)}}@keyframes swal2-toast-hide{to{opacity:0;transform:rotate(1deg)}}@keyframes swal2-toast-animate-success-line-tip{0%{left:.0625em;top:.5625em;width:0}54%{left:.125em;top:.125em;width:0}70%{left:-.25em;top:.625em;width:1.625em}84%{left:.75em;top:1.0625em;width:.5em}to{left:.1875em;top:1.125em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{right:1.375em;top:1.625em;width:0}65%{right:.9375em;top:1.25em;width:0}84%{right:0;top:.9375em;width:1.125em}to{right:.1875em;top:.9375em;width:1.375em}}@keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}to{transform:scale(1)}}@keyframes swal2-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}@keyframes swal2-animate-success-line-tip{0%{left:.0625em;top:1.1875em;width:0}54%{left:.125em;top:1.0625em;width:0}70%{left:-.375em;top:2.1875em;width:3.125em}84%{left:1.3125em;top:3em;width:1.0625em}to{left:.8125em;top:2.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{right:2.875em;top:3.375em;width:0}65%{right:2.875em;top:3.375em;width:0}84%{right:0;top:2.1875em;width:3.4375em}to{right:.5em;top:2.375em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}to{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;opacity:0;transform:scale(.4)}50%{margin-top:1.625em;opacity:0;transform:scale(.4)}80%{margin-top:-.375em;transform:scale(1.15)}to{margin-top:0;opacity:1;transform:scale(1)}}@keyframes swal2-animate-error-icon{0%{opacity:0;transform:rotateX(100deg)}to{opacity:1;transform:rotateX(0deg)}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-1turn)}to{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{opacity:0;transform:rotate(45deg)}25%{opacity:.4;transform:rotate(-25deg)}50%{opacity:.8;transform:rotate(15deg)}75%{opacity:1;transform:rotate(-5deg)}to{opacity:1;transform:rotateX(0)}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto!important}body.swal2-no-backdrop .swal2-container{background-color:transparent!important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px rgba(25,25,26,.75)}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static!important}}body.swal2-toast-shown .swal2-container{background-color:transparent;box-sizing:border-box;max-width:100%;pointer-events:none;width:360px}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-left,body.swal2-toast-shown .swal2-container.swal2-top-start{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-left,body.swal2-toast-shown .swal2-container.swal2-center-start{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%,-50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-left,body.swal2-toast-shown .swal2-container.swal2-bottom-start{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}@keyframes passing-through{0%{opacity:0;transform:translateY(40px)}30%,70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}@keyframes slide-in{0%{opacity:0;transform:translateY(40px)}30%{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(1)}}.dropzone,.dropzone *{box-sizing:border-box}.dropzone{background:#fff;border:2px solid rgba(0,0,0,.3);min-height:150px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:.5}.dropzone .dz-message{margin:2em 0;text-align:center}.dropzone .dz-message .dz-button{background:none;border:none;color:inherit;cursor:pointer;font:inherit;outline:inherit;padding:0}.dropzone .dz-preview{display:inline-block;margin:16px;min-height:100px;position:relative;vertical-align:top}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview.dz-file-preview .dz-image{background:#999;background:linear-gradient(180deg,#eee,#ddd);border-radius:20px}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:#fff}.dropzone .dz-preview.dz-image-preview .dz-details{transition:opacity .2s linear}.dropzone .dz-preview .dz-remove{border:none;cursor:pointer;display:block;font-size:14px;text-align:center}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{color:rgba(0,0,0,.9);font-size:13px;left:0;line-height:150%;max-width:100%;min-width:100%;opacity:0;padding:2em 1em;position:absolute;text-align:center;top:0;z-index:20}.dropzone .dz-preview .dz-details .dz-size{font-size:16px;margin-bottom:1em}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{background-color:hsla(0,0%,100%,.8);border:1px solid hsla(0,0%,78%,.8)}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:hsla(0,0%,100%,.4);border-radius:3px;padding:0 .4em}.dropzone .dz-preview:hover .dz-image img{filter:blur(8px);transform:scale(1.05)}.dropzone .dz-preview .dz-image{border-radius:20px;display:block;height:120px;overflow:hidden;position:relative;width:120px;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{animation:passing-through 3s cubic-bezier(.77,0,.175,1)}.dropzone .dz-preview.dz-error .dz-error-mark{animation:slide-in 3s cubic-bezier(.77,0,.175,1);opacity:1}.dropzone .dz-preview .dz-error-mark,.dropzone .dz-preview .dz-success-mark{display:block;left:50%;margin-left:-27px;margin-top:-27px;opacity:0;pointer-events:none;position:absolute;top:50%;z-index:500}.dropzone .dz-preview .dz-error-mark svg,.dropzone .dz-preview .dz-success-mark svg{display:block;height:54px;width:54px}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;transition:all .2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;transition:opacity .4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{background:hsla(0,0%,100%,.9);border-radius:8px;height:16px;left:50%;margin-left:-40px;margin-top:-8px;opacity:1;overflow:hidden;pointer-events:none;position:absolute;top:50%;-webkit-transform:scale(1);width:80px;z-index:1000}.dropzone .dz-preview .dz-progress .dz-upload{background:#333;background:linear-gradient(180deg,#666,#444);bottom:0;left:0;position:absolute;top:0;transition:width .3s ease-in-out;width:0}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{background:#be2626;background:linear-gradient(180deg,#be2626,#a92222);border-radius:8px;color:#fff;display:block;display:none;font-size:13px;left:-10px;opacity:0;padding:.5em 1.2em;pointer-events:none;position:absolute;top:130px;transition:opacity .3s ease;width:140px;z-index:1000}.dropzone .dz-preview .dz-error-message:after{border-bottom:6px solid #be2626;border-left:6px solid transparent;border-right:6px solid transparent;content:"";height:0;left:64px;position:absolute;top:-6px;width:0}@font-face{font-display:swap;font-family:Polytoria Icons;font-style:normal;font-weight:400;src:url(https://c0.ptacdn.com/static/fonts/PolytoriaIcon.7a3d7e8f.woff2) format("woff2")}.pi{font-family:Polytoria Icons;font-style:normal;font-variant:normal;font-weight:900;line-height:1;text-decoration:none;text-rendering:auto}.pi.pi-brick:before{content:"$"}.pi.pi-logo:before{content:"P"}.pi.pi-plus:before{content:"+"}.pi.pi-plusdx:before{content:"⥅";letter-spacing:-5px}.pi.pi-brick-value:before{content:"%"}.bg-plusdx{background:#b536ff}.bg-plus{background:#15aed8}.border-plusdx{border-color:#b536ff!important}.border-plus{border-color:#15aed8!important}.bg-body{background:var(--bs-body-bg)}.text-plus{color:#30bee5;text-shadow:0 0 8px #23d0ff}.text-plusdx{color:#b536ff;text-shadow:0 0 8px #b536ff}.shadow-plus{box-shadow:0 0 8px #30bee5}.shadow-plusdx{box-shadow:0 0 8px #b536ff}.itemgrid{display:grid;grid-template-columns:repeat(auto-fill,calc(50% - 8px));grid-gap:12px;grid-auto-rows:auto;margin:0;padding:0 11px;width:100%}.itemgrid:not(.alignleft){justify-content:center}.itemgrid .alignleft{justify-content:start}@media (min-width:992px){.itemgrid{grid-template-columns:repeat(auto-fill,160px);padding:0;grid-gap:6px}}.form-control::-webkit-file-upload-button{background:#171717!important}.form-control:hover::-webkit-file-upload-button{background:#2b2b2b!important}@media (min-width:1200px){.collapse.dont-collapse-xl{display:block;height:auto!important;visibility:visible}}.collapsed .fa-chevron-down{transform:rotate(90deg)}.container{clear:both}@media (max-width:575.98px){.noround-mb{border-radius:0!important}}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6,p{overflow:hidden}.sidebar-label{color:#cacaca;font-size:10px;font-weight:600}.overflow-scroll{overflow:overlay}.dropdown-menu.show .dropdown-item{animation:dropdownChildShow .25s cubic-bezier(.16,1,.3,1)}.scroller__wrapper{--scrolling-gallery-item-duration:5s;--scrolling-gallery-items-visible:48;--scrolling-gallery-items-total:15;margin-top:2.25em;overflow:hidden;will-change:transform}.scroller{animation-duration:calc(var(--scrolling-gallery-item-duration, 1s)/var(--scrolling-gallery-items-visible)*var(--scrolling-gallery-items-total));animation-iteration-count:infinite;animation-name:scrolling-gallery;animation-timing-function:linear;display:flex;transform:translateX(calc(var(--scrolling-gallery-items-total)*-100vw/var(--scrolling-gallery-items-visible)));white-space:nowrap}.scroller__container{width:100vw}.scroller__item{box-sizing:border-box;flex:1 0 calc(100%/var(--scrolling-gallery-items-visible));padding:.5em;width:0}.scroller__item img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%}@keyframes scrolling-gallery{0%{transform:translateX(0)}to{transform:translateX(calc(var(--scrolling-gallery-items-total)*-100vw/var(--scrolling-gallery-items-visible)))}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-1010px)}}@keyframes dropdownChildShow{0%{padding:0 1rem}}@keyframes rippleEffect{to{opacity:0;transform:scale(4) rotate(45deg)}}a:hover{cursor:pointer}::-webkit-scrollbar{height:7px;width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#292929;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:#757575}.overflow-y-scroll{overflow-y:scroll!important}.overflow-y-auto{overflow-y:auto!important}.no-resize{resize:none}.section-title{color:hsla(0,0%,100%,.8);font-weight:700;letter-spacing:2.5px;text-transform:uppercase}.overflow-x-scroll{overflow-x:scroll!important}.wrapper>div{border-radius:5px;height:32px;padding:1px;width:32px}.wrapper{display:grid;grid-template-columns:repeat(8,0fr);grid-gap:10px;overflow-x:hidden}.dropzone{background-color:transparent!important;border:2px dashed rgba(72,72,72,.5)!important;border-radius:5px!important;color:hsla(0,0%,100%,.5);font-weight:500;padding:20px;text-align:center}input:not([type]):disabled,input[type=text]:disabled{opacity:.5}.markdown-code{border-radius:15px;padding:16px}img.emoji{height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em;width:1em}.text-orange{color:#ff9300}.tooltip-inner{max-width:350px}.alert-primary{background-color:#3bafff}.alert-primary,.alert-secondary{border-color:rgba(0,0,0,.33);border-radius:10px;border-width:2px;color:#fff}.alert-secondary{background-color:#484848}.alert-success{background-color:#4fe883}.alert-info,.alert-success{border-color:rgba(0,0,0,.33);border-radius:10px;border-width:2px;color:#fff}.alert-info{background-color:#6094f9}.alert-warning{background-color:#ffc93f}.alert-danger,.alert-warning{border-color:rgba(0,0,0,.33);border-radius:10px;border-width:2px;color:#fff}.alert-danger{background-color:#ff5951}.alert-light{background-color:#f6f6f6}.alert-dark,.alert-light{border-color:rgba(0,0,0,.33);border-radius:10px;border-width:2px;color:#fff}.alert-dark{background-color:#1a1a1a}.avatar-container{position:relative}.avatar-icon-alt{background-color:#161616;border-radius:6px}.avatar-container .online-indicator{border:4px solid #262626;border-radius:50%;bottom:0;height:26px;position:absolute;right:0;width:26px}.bodypart,.bodypart-nozoom{border:0;border-radius:5px}.bodypart{transition:transform .2s}.bodypart:hover{transform:scale(1.05)}.bp1x1{padding:20px}.bp1x2{padding:40px 20px}.bp2x2{padding:40px}.avatar-item-container{cursor:pointer;transition:transform .2s ease-in-out}.avatar-item-container .avatarAction{opacity:0;transform:translateY(5px);transition:opacity .2s ease-in-out,transform .2s ease-in-out}.avatar-item-container:hover{transform:scale(1.05)}.avatar-item-container:hover .avatarAction{opacity:1;transform:translate(0)}.avatarEditorCanvas{width:100%}.click-ripple{animation:rippleEffect .5s linear;background:#fff;background:radial-gradient(circle,hsla(0,0%,100%,0) 0,#fff 15%,hsla(0,0%,100%,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);opacity:.4;transform:scale(0)}.click-ripple,.hover-ripple{border-radius:50%;position:absolute}.hover-ripple{animation:hoverRippleFx .5s cubic-bezier(.16,1,.3,1);background:#fff;background:radial-gradient(circle,#fff 0,hsla(0,0%,100%,0) 60%);opacity:.2;transform:scale(1)}@keyframes hoverRippleFx{0%{opacity:0;transform:scale(0)}}.btn:not(.no-ripple-fx),.list-group-item:not(.no-ripple-fx),.nav-link:not(.no-ripple-fx),.navbar-toggler:not(.no-ripple-fx),.page-link:not(.no-ripple-fx){overflow:hidden;position:relative}.btn{box-shadow:0 6px 4px 0 rgba(0,0,0,.1);color:#fff!important;transition:transform .6s cubic-bezier(.16,1,.3,1),background-color .6s cubic-bezier(.16,1,.3,1)}.btn:active,.btn:focus,.btn:hover{box-shadow:none!important;color:#fff}.btn-light,.btn-light:hover,.btn-outline-light:hover{color:#1a1a1a!important}.btn:active{transform:scale(.98);transition:background-color .6s cubic-bezier(.16,1,.3,1)}.btn-primary{border:2px solid rgba(0,0,0,.3)}.btn-primary:hover{border:2px solid rgba(0,0,0,.2)}.btn-primary:active{border:2px solid rgba(0,0,0,.1)}.btn-secondary{border:2px solid rgba(0,0,0,.3)}.btn-secondary:hover{border:2px solid rgba(0,0,0,.2)}.btn-secondary:active{border:2px solid rgba(0,0,0,.1)}.btn-success{border:2px solid rgba(0,0,0,.3)}.btn-success:hover{border:2px solid rgba(0,0,0,.2)}.btn-success:active{border:2px solid rgba(0,0,0,.1)}.btn-info{border:2px solid rgba(0,0,0,.3)}.btn-info:hover{border:2px solid rgba(0,0,0,.2)}.btn-info:active{border:2px solid rgba(0,0,0,.1)}.btn-warning{border:2px solid rgba(0,0,0,.3)}.btn-warning:hover{border:2px solid rgba(0,0,0,.2)}.btn-warning:active{border:2px solid rgba(0,0,0,.1)}.btn-danger{border:2px solid rgba(0,0,0,.3)}.btn-danger:hover{border:2px solid rgba(0,0,0,.2)}.btn-danger:active{border:2px solid rgba(0,0,0,.1)}.btn-light{border:2px solid rgba(0,0,0,.3)}.btn-light:hover{border:2px solid rgba(0,0,0,.2)}.btn-light:active{border:2px solid rgba(0,0,0,.1)}.btn-dark{border:2px solid rgba(0,0,0,.3)}.btn-dark:hover{border:2px solid rgba(0,0,0,.2)}.btn-dark:active{border:2px solid rgba(0,0,0,.1)}.btn-game{background:linear-gradient(91.23deg,#00bf2a 31.94%,#00851d 92.5%);background-size:130% 130%;border:2px solid rgba(0,0,0,.3)!important;font-size:32px;padding:0}.btn-game:hover{background:linear-gradient(91.23deg,#0be13a 31.94%,#009d22 92.5%);background-size:130% 130%;border:2px solid rgba(0,0,0,.2)!important}.btn-game:active{border:2px solid rgba(0,0,0,.1)!important}.btn-icon{cursor:pointer;transition:transform .3s cubic-bezier(.16,1,.3,1)}.btn-icon:hover{transform:scale(1.15)}.badge,.btn{text-shadow:0 1px 2px rgba(0,0,0,.2)}.input-group-append .btn{border-bottom-left-radius:0!important;border-color:#2d2d2d;border-top-left-radius:0!important}.badge{-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-bs-toggle=dropdown] i.fa-ellipsis-v{margin-right:-10px;text-align:center;width:40px}.card .contain{overflow:hidden}.card.mcard{border-radius:0!important}.card.mcard:not(.asset-limited):not(.card-inbox):not(.border):not(.place-card){border-color:transparent!important}.card.mcard .card-header{border-radius:0!important;padding:12px!important}@media (min-width:576px){.card.mcard:not(.force-mcard):not(.card-inbox){border-radius:var(--bs-card-border-radius)!important}.card.mcard:not(.force-mcard):not(.card-inbox):not(.place-card):not(.card-inbox){border-color:var(--bs-card-border-color)!important}.card.mcard:not(.force-mcard):not(.card-inbox) .card-header{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0!important;padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x)!important}}.card-body-curtain{align-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(34,34,34,.812);border-radius:14px;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:absolute;text-align:center;top:0;width:100%}.card-plus-mobile{background:#262626;border:2px solid #3e3e3e;border-radius:8px;font-size:1.1em;font-size:14px;padding:10px;position:relative}.card-plus-mobile .tier-logo{height:100px;left:-38px;pointer-events:none;position:absolute;top:-58px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100px}.card-plus-mobile.cplus{border-color:#30bee5}.card-plus-mobile.cplusdx{border-color:#b536ff}.card-decal{display:inline-block;height:245px;vertical-align:top;width:220px}.card-decal.decal-declined{background-color:#181818;color:hsla(0,0%,100%,.308);opacity:.8}.card-decal.decal-declined .badge{opacity:.6}.card-highlight-transition{transition:background-color .2s ease-in-out,border-color .2s ease-in-out,border-width .2s ease-in-out}.card-highlight{--bs-card-border-color:#fff!important;background-color:#0f2328;border:3px solid #fff!important}.carousel-indicators li{background-clip:padding-box;background-color:#fff;border-bottom:10px solid transparent;border-top:10px solid transparent;box-sizing:content-box;cursor:pointer;flex:0 1 auto;height:3px;list-style:none;margin-left:3px;margin-right:3px;opacity:.5;text-indent:-999px;transition:opacity .6s ease;width:30px}.carousel-indicators .active{opacity:1}.owl-dots{display:none}.footer-container{border-top:1px solid #484848}body,html{overflow-x:clip!important}main{display:flex;flex-wrap:nowrap;min-height:60vh}#main-content:not(.logged-out):not(.no-sidebar){max-width:100vw}@media (min-width:992px){#main-content:not(.logged-out):not(.no-sidebar){max-width:calc(100vw - 5.3rem)}}.nav-sidebar-cont{min-width:5.3rem;position:relative}.nav-sidebar-cont .nav-sidebar{background-color:#262626;bottom:0;box-shadow:5px 0 5px rgba(0,0,0,.1);overflow-x:hidden;overflow-y:auto;position:fixed;top:0;width:5.3rem;z-index:10000;-ms-overflow-style:none;max-height:100vh;scrollbar-width:none}.nplus-banner,.nplusdx-banner{border:3px solid;border-radius:10px;font-weight:700;line-height:1.2;margin:-14px -9px;position:relative;text-align:center}.nplus-banner.mo,.nplusdx-banner.mo{border:none;border-bottom-left-radius:0;border-top-left-radius:0;font-size:14px;left:25px;padding:2px 7px 2px 33px;position:absolute;top:28px;z-index:1}.nplus-banner{background:#136d86;border-color:#164f5f;color:#30bee5}.nplusdx-banner{background:#260d33;border-color:#491b64;color:#b536ff;font-size:15px}.hplus-banner,.hplusdx-banner{border:none;border-radius:10px;font-size:20px;font-weight:700;line-height:1.2;margin:-10px 0 0;max-width:100px;position:relative;text-align:center}.nav-sidebar::-webkit-scrollbar{display:none}.nav-sidebar a:active,.nav-sidebar a:focus,.nav-sidebar a:hover{color:#ddd}.nav-sidebar-button{background:#3c3c3c;border:2px solid #484848;border-radius:10px;box-sizing:border-box;height:3.2rem;margin:0 auto;transition:all .4s cubic-bezier(.16,1,.3,1);transition-property:background-color,border-color,color,transform;vertical-align:middle;width:3.2rem}.nav-sidebar-button:hover{background-color:#484848;border:2px solid #5c5c5c;color:#fff;transform:scale(1.15)}.notif-nav{background:#ff1919;border-radius:9px;height:25px;width:25px}.notif-nav.notif-sidebar{position:absolute;right:9px;top:0}.notif-nav>span{font-size:13px;text-shadow:1px 2px 2px rgba(0,0,0,.349);vertical-align:middle}.sidebar-plus{background:linear-gradient(rgba(0,0,0,.45),#163c46)!important}.sidebar-plus .nav-sidebar-button:not(.nav-sidebar-upgrade-button){background-color:rgba(71,224,255,.18)!important;border-color:transparent}.sidebar-plus .nplus-banner,.sidebar-plus .nplusdx-banner{border-color:#000!important}.sidebar-plusdx{background:linear-gradient(rgba(0,0,0,.45),#351648)!important}.sidebar-plusdx .nav-sidebar-button:not(.nav-sidebar-upgrade-button){background-color:rgba(188,72,255,.18)!important;border-color:transparent}.sidebar-plusdx .nplus-banner,.sidebar-plusdx .nplusdx-banner{border-color:#000!important}.input-group.nav-search{margin-top:2px;max-width:100vw;min-width:350px}.input-group.nav-search #search-addon,.input-group.nav-search input{background:#111!important;border:none!important}.input-group.nav-search input{border-bottom-right-radius:8px!important;border-top-right-radius:8px!important}.navbar-plus{background:#000!important}.navbar-plus .nav-search{border:2px solid #0b4e5b;border-radius:10px}.navbar-plus .nav-search #search-addon,.navbar-plus .nav-search .input-group-text{background:#000!important}.navbar-plus .nav-search #search-addon i.far,.navbar-plus .nav-search .input-group-text i.far{color:#fff!important}.navbar-plus .nav-search .form-control{background:#000!important}.navbar-plus .nav-search .form-control::-moz-placeholder{color:hsla(0,0%,100%,.541)!important}.navbar-plus .nav-search .form-control::placeholder{color:hsla(0,0%,100%,.541)!important}.navbar-plusdx{background:#000!important}.navbar-plusdx .nav-search{border:2px solid #3e0b5d;border-radius:10px}.navbar-plusdx .nav-search #search-addon,.navbar-plusdx .nav-search .input-group-text{background:#000!important}.navbar-plusdx .nav-search #search-addon i.far,.navbar-plusdx .nav-search .input-group-text i.far{color:#fff!important}.navbar-plusdx .nav-search .form-control{background:#000!important}.navbar-plusdx .nav-search .form-control::-moz-placeholder{color:hsla(0,0%,100%,.541)!important}.navbar-plusdx .nav-search .form-control::placeholder{color:hsla(0,0%,100%,.541)!important}.nav-sidebar-button>i{font-size:1.3rem;margin-top:.85rem}.nav-sidebar .nav-item{width:100%}.nav-sidebar .nav-item .nav-link{margin-bottom:0;margin-left:2px}.nav-sidebar .nav-item .nav-link .nav-sidebar-text{margin-left:-10px;margin-right:-10px}.nav-sidebar-upgrade-button{background:linear-gradient(180deg,#2accff,#1c66d6);background-origin:border-box;border-color:rgba(0,0,0,.25)}.nav-sidebar-upgrade-button:hover{background:linear-gradient(180deg,#55d6ff,#4985de);background-origin:border-box;border-color:rgba(0,0,0,.1)}.nav-sidebar-admin-button{background-color:#a5312c;border-color:rgba(0,0,0,.25)}.nav-sidebar-admin-button:hover{background-color:#b75a56;border-color:rgba(0,0,0,.1)}.nav-sidebar-text{color:#cacaca;font-size:12px;font-weight:500;margin-top:6px}.nav-topbar{background-color:#252525;box-shadow:0 5px 5px rgba(0,0,0,.1);padding:2px}.search-popup{background:#252525;border:3px solid #474747;border-radius:10px!important;box-shadow:0 2px 18px #181818;left:0;max-width:500px;padding:6px;position:absolute;right:0;top:50px;width:95vw;z-index:5000!important;z-index:100}.search-popup .search-item{background:transparent;border:2px solid transparent;border-radius:8px;box-shadow:1px 1px 1px transparent;cursor:pointer;font-size:16px;font-weight:500;opacity:.6;padding:10px}.search-popup .search-item:focus,.search-popup .search-item:hover{background:#313131;border:2px solid #333;box-shadow:1px 1px 1px rgba(0,0,0,.169);opacity:1}.search-popup .search-item.highlight{padding:5px 10px}.brickFly{color:#4fe883;font-size:30px;position:fixed;text-shadow:0 0 6px rgba(0,0,0,.38);z-index:100000}.mobile-nav-bottom{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:rgba(37,37,37,.9);bottom:0;box-shadow:0 -5px 5px rgba(0,0,0,.25);display:flex;height:75px;justify-content:space-around;left:0;position:fixed;width:100vw;z-index:10000}.mobile-nav-bottom .mnv-nav-item{align-content:center;color:#5c5c5c;display:flex;flex-direction:column;font-weight:600;height:75px;justify-content:center;text-align:center;width:72px}.mobile-nav-bottom .mnv-nav-item.active{color:#fff}.mobile-nav-bottom .mnv-nav-item .mnv-icon{font-size:25px;height:38px}.mobile-nav-bottom .mnv-nav-item .mnv-icon i{font-size:27px;margin-top:3px}.mobile-nav-bottom .mnv-nav-item .mnv-icon img{border:2px solid #5c5c5c!important;margin-top:-3px;opacity:.5}.mobile-nav-bottom .mnv-nav-item.active .mnv-icon img{border:2px solid #fff!important;opacity:1}.mobile-nav-bottom .mnv-nav-item .mnv-text{margin-bottom:2px}.userlink-admin{color:#ff5951!important}.userlink-admin:before{content:"P";font-family:Polytoria Icons;font-style:normal;font-variant:normal;font-weight:900;line-height:1;margin-right:.2em;text-decoration:none;text-rendering:auto}.userlink-asset-designer{color:#4fe883!important}.userlink-asset-designer:before{content:"\f55d";font-family:Font Awesome\ 6 Pro;font-style:normal;font-variant:normal;font-weight:900;line-height:1;margin-right:.2em;text-decoration:none;text-rendering:auto}.userlink-plus{color:#30bee5!important}.userlink-plus:before{content:"+";font-family:Polytoria Icons;font-style:normal;font-variant:normal;font-weight:900;line-height:1;margin-right:.2em;text-decoration:none;text-rendering:auto}.userlink-plusdx{color:#b536ff!important}.userlink-plusdx:before{content:"⥅";font-family:Polytoria Icons;font-style:normal;font-variant:normal;font-weight:900;line-height:1;margin-left:.2em;margin-right:-.2em;text-decoration:none;text-rendering:auto}.userlink-default{color:#b9b9b9!important}.siteBannerCont{position:sticky;top:0;z-index:1000}.siteBannerCont .maintBanner{background:#0d0d0d;color:#fff;padding:10px}@media (min-width:992px){.siteBannerCont .maintBanner{padding-left:30px}}.siteBannerCont .maintBanner.tempBanner{background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(0,0,0,.047) 0,rgba(0,0,0,.047) 20px),#0d0d0d}.nav-item.dropdown .dropdown-menu{z-index:6000}@media (max-width:767.98px){.search-popup{border-radius:0!important;left:1px!important;width:100vw!important}.searchcont{left:0;margin:0 -21px;min-height:0;padding:0 21px!important;position:relative;transition:min-height .3s ease,margin 0s linear,padding .2s linear}.searchcont.active{background:#252525;margin:0;padding-top:5px;padding:0!important;width:100vw;z-index:10000}.searchcont.active .search-icon{display:none}}.nav-pills .nav-link{font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.2)}@media (max-width:767.98px){.nav-pills{background-color:#262626;display:flex;flex-direction:row!important;padding:5px}.nav-pills>.nav-item,.nav-pills>.nav-link{margin:3px;max-width:calc(33.33333% - 7px)!important;min-width:calc(33.33333% - 7px)!important;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:calc(33.33333% - 7px)!important}.nav-pills>.nav-item:not(.active),.nav-pills>.nav-link:not(.active){background-color:rgba(0,0,0,.239)}.nav-pills>.nav-item:not(.active) .pilltitle,.nav-pills>.nav-link:not(.active) .pilltitle{display:none}.nav-pills>.nav-item.active,.nav-pills>.nav-link.active{flex:1}.nav-pills>.nav-item.active i,.nav-pills>.nav-link.active i{display:none}.section-title{text-align:center}}.ribbon{height:105px;overflow:hidden;position:absolute;width:105px}.ribbon:after,.ribbon:before{border:5px solid #ccc;content:"";display:block;position:absolute;z-index:-1}.ribbon span{background-color:#fff;box-shadow:0 5px 10px rgba(0,0,0,.1);color:#fff;display:block;font:700 18px/1 Poppins,sans-serif;padding:5px 0;position:absolute;text-align:center;text-shadow:0 1px 1px rgba(0,0,0,.2);text-transform:uppercase;width:225px}.ribbon-limited:after,.ribbon-limited:before{border-color:#295fb9}.ribbon-limited span{background-color:#347fdb}.ribbon-new:after,.ribbon-new:before{border-color:#b92929}.ribbon-new span{background-color:#db3434}.ribbon-top-left{left:-10px;top:-10px}.ribbon-top-left:after,.ribbon-top-left:before{border-left-color:transparent;border-top-color:transparent}.ribbon-top-left:before{right:0;top:0}.ribbon-top-left:after{bottom:0;left:0}.ribbon-top-left span{right:-25px;top:30px;transform:rotate(-45deg)}.ribbon-top-right{right:-10px;top:-10px}.ribbon-top-right:after,.ribbon-top-right:before{border-right-color:transparent;border-top-color:transparent}.ribbon-top-right:before{left:0;top:0}.ribbon-top-right:after{bottom:0;right:0}.ribbon-top-right span{left:-50px;top:30px;transform:rotate(45deg)}.ribbon-bottom-left{bottom:-10px;left:-10px}.ribbon-bottom-left:after,.ribbon-bottom-left:before{border-bottom-color:transparent;border-left-color:transparent}.ribbon-bottom-left:before{bottom:0;right:0}.ribbon-bottom-left:after{left:0;top:0}.ribbon-bottom-left span{bottom:30px;right:-25px;transform:rotate(225deg)}.ribbon-bottom-right{bottom:-10px;right:-10px}.ribbon-bottom-right:after,.ribbon-bottom-right:before{border-bottom-color:transparent;border-right-color:transparent}.ribbon-bottom-right:before{bottom:0;left:0}.ribbon-bottom-right:after{right:0;top:0}.ribbon-bottom-right span{bottom:30px;left:-25px;transform:rotate(-225deg)}.sortable{list-style:none;margin:0;padding:0}.sortable li{background:#262626;border:none;color:#fff;cursor:move;padding:13px}@media (max-width:575.98px){.featureAdvert .swal2-popup{height:100%;width:100%!important}}.featureAdvert .cont{background:linear-gradient(rgba(62,52,166,.769),rgba(86,86,172,.678)),url(https://c0.ptacdn.com/static/images/forum-bg.0a96386f.png) no-repeat 50%;background-size:cover;border-radius:16px;height:60vh}.featureAdvert .swal2-html-container{margin:0}.featureAdvert .mainIcon{color:#a199ff;font-size:75px;margin-top:50px}.featureAdvert .mainTitle{color:#a199ff;font-size:1.5rem;margin-top:10px;text-shadow:0 0 3px #7066e0}.featureAdvert .mainContent{font-size:.8em}.featureAdvert .mainContent .featureList{background:rgba(0,0,0,.31);border-radius:9px;margin:10px auto;max-width:600px;padding:9px;width:100%}.featureAdvert .mainContent .featureList .far{text-align:center;width:30px}@media (min-width:992px){.max-width-lg-350px{max-width:350px}.max-width-lg-550px{max-width:550px}}.min-width-30px{min-width:30px}.auth-container{height:100vh;overflow:hidden;position:relative;width:100vw}.auth-container,.auth-container>.auth-background{background-attachment:fixed;background-position:50%;background-repeat:no-repeat;background-size:cover}.auth-container>.auth-background{animation:authZoomIn 10s ease-in-out forwards;filter:blur(2px);height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}@keyframes authZoomIn{0%{transform:scale(1)}to{transform:scale(1.1)}}.auth-container-gradient{background:linear-gradient(90deg,transparent 10%,#0c0c0c)}.auth-place-info:not(.no-anim){animation:authPlaceAnim .6s steps(5) forwards;background:url(https://c0.ptacdn.com/static/images/auth-banner.2f399740.svg) no-repeat;color:#fff;height:150px;left:0;padding:22px 18px;position:absolute;top:25px;width:500px}@keyframes authPlaceAnim{0%{-webkit-clip-path:polygon(0 0,0 0,15% 100%,0 100%);clip-path:polygon(0 0,0 0,15% 100%,0 100%);opacity:0}25%{-webkit-clip-path:polygon(0 0,34% 0,15% 100%,0 100%);clip-path:polygon(0 0,34% 0,15% 100%,0 100%);opacity:1}50%{-webkit-clip-path:polygon(0 0,34% 0,53% 100%,0 100%);clip-path:polygon(0 0,34% 0,53% 100%,0 100%)}75%{-webkit-clip-path:polygon(0 0,81% 0,81% 100%,0 100%);clip-path:polygon(0 0,81% 0,81% 100%,0 100%)}to{-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}.auth-place-info-title .h1,.auth-place-info-title h1{animation:authPlaceTextReveal .6s cubic-bezier(.34,1.56,.64,1) .6s forwards;font-size:22px;font-weight:600;margin-bottom:0;opacity:0}.auth-place-info-description{animation:authPlaceTextReveal .6s cubic-bezier(.34,1.56,.64,1) .7s forwards;font-size:16px;font-weight:400;height:80%;margin-bottom:0;opacity:0;overflow:hidden;text-overflow:ellipsis;width:80%}@keyframes authPlaceTextReveal{0%{opacity:0;transform:translateX(-50px)}to{opacity:1}}.auth-form-container .h6,.auth-form-container h6{color:hsla(0,0%,100%,.5);margin-bottom:30px}.auth-form-container input[type=email],.auth-form-container input[type=number],.auth-form-container input[type=password],.auth-form-container input[type=text],.auth-form-container[type=email]:focus,.auth-form-container[type=number]:focus,.auth-form-container[type=password]:focus,.auth-form-container[type=text]:focus{background-color:#3c3c3c;border:#484848;height:40px}.auth-form-container input[type=email]::-moz-placeholder,.auth-form-container input[type=number]::-moz-placeholder,.auth-form-container input[type=password]::-moz-placeholder,.auth-form-container input[type=text]::-moz-placeholder{color:hsla(0,0%,100%,.5)}.auth-form-container input[type=email]::placeholder,.auth-form-container input[type=number]::placeholder,.auth-form-container input[type=password]::placeholder,.auth-form-container input[type=text]::placeholder{color:hsla(0,0%,100%,.5)}.auth-form-container .input-group-text{background-color:#3c3c3c;border:#484848;color:hsla(0,0%,100%,.5)}.multinum input[type=number]::-webkit-inner-spin-button,.multinum input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.multinum input[type=number]{-moz-appearance:textfield}.audioPlayButtonCont{background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(0,0,0,.3) 0,rgba(0,0,0,.3) 20px),#0d0d0d;cursor:pointer}.audioPlayButtonCont .audioPlayButton,.audioPlayButtonCont .loadingIndicator{align-items:center;aspect-ratio:1/1;background:transparent;border:.2em solid #32a4ff;border-radius:500px;display:flex;height:44%;justify-content:center;opacity:.4;position:relative;transform:scale(1);transition:transform .3s ease,opacity .1s ease;width:44%}.audioPlayButtonCont .audioPlayButton .buttonIcon,.audioPlayButtonCont .loadingIndicator .buttonIcon{color:#32a4ff;font-size:1em}.audioPlayButtonCont .audioPlayButton .buttonIcon.fa-play,.audioPlayButtonCont .loadingIndicator .buttonIcon.fa-play{margin-left:10%}.audioPlayButtonCont.playing .audioPlayButton{opacity:1;transform:scale(1.1)}.audioPlayButtonCont:not(.playing):hover .audioPlayButton{opacity:.75}.progress-circle{bottom:0;left:0;position:absolute;right:0;top:0;transform:rotate(-90deg)}.progress-text{font-size:24px;font-weight:700}.progress-bar{transition:stroke-width .2s ease}.card-forum{background:linear-gradient(90deg,#6094f9 20%,transparent),url(https://c0.ptacdn.com/static/images/forum-bg.0a96386f.png) no-repeat 50%;background-size:cover;color:#fff;padding:25px}.forum-entry{background-color:#1f1f1f;border-left:5px solid;padding:15px}.forum-entry:nth-child(2n){background-color:#1c1c1c}.forum-category-container{border-left:10px solid}.forum-category-container,.forum-post-title-container{background-color:#1f1f1f;padding:25px;position:relative}.forum-post-title-container{border:none}@media (min-width:576px){.forum-post-title-container{border-radius:10px!important}}.forum-post-unread{border-color:#3bafff}.forum-post-read{border-color:#757575;opacity:.7}.forum-category-decorator{background:linear-gradient(.358turn,hsla(0,0%,100%,.5) 25.46%,hsla(0,0%,100%,0) 82.43%);-webkit-background-clip:text;font-size:120px;font-weight:500;line-height:.75;-webkit-text-fill-color:transparent;background-clip:text;bottom:0;padding:0;position:absolute;right:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (min-width:768px){.forum-user-container{background:rgba(26,26,26,.51);border-radius:11px;max-width:240px;padding:25px}}.card-guild{min-width:100px}.hplus-banner{background:#30bee5;color:#164f5f}.hplusdx-banner{background:#b536ff;color:#fff}.dashboardAvatarShadow{background:radial-gradient(44.86% 31.7% at 50% 50.09%,hsla(0,0%,100%,.19) 0,hsla(0,0%,100%,.11) 50%,hsla(0,0%,100%,0) 100%);margin-bottom:4vw;position:relative;top:8vw;width:100%}@media (max-width:575.98px){.dashboardAvatarShadow{margin:auto;width:60%}}.dashboardAvatarShadow img{height:auto;position:relative;top:-8vw;width:100%}.dash-ctitle2{color:#757575;font-size:.8rem;margin:0}.dash-ctitle{font-size:1.25rem;margin:0 0 10px;text-transform:uppercase}.home-title{color:#b5b5b5;font-size:1.3rem;font-weight:600;line-height:1.3rem}.home-title2{color:#fff;font-size:2.5rem;font-weight:800;margin-top:-10px;overflow-wrap:anywhere}.feed-post-text{color:hsla(0,0%,100%,.75)}.card-dash{background:linear-gradient(180deg,#383838,rgba(38,38,38,.29));border:none;overflow-y:visible;padding-bottom:20px}.card-dash .card-body{border-radius:13px;overflow-x:auto;overflow-y:visible}.card-dash .place-card{background:rgba(38,38,38,.4);border:1.5px solid hsla(0,0%,100%,.11);height:230px}.card-dash .place-card:hover{transform:scale(1)}.card-dash-feed{background-color:rgba(38,38,38,.58);border:none}.friendsPopup{background:#262626;border:1.5px solid hsla(0,0%,100%,.11);border-radius:10px;box-shadow:0 1px 35px rgba(0,0,0,.62);display:none;overflow:hidden;position:absolute;width:220px;z-index:200}.friendsPopup .popupItem{border-bottom:1px solid hsla(0,0%,100%,.11);padding:10px}.friendsPopup .popupItem:not(.disabled):hover{background:hsla(0,0%,100%,.11)}.friendsPopup .popupItem.disabled{opacity:.6;padding:6px 10px}.friend-circle{margin-right:10px;min-width:90px;transition:transform .1s ease-in-out;width:90px}.friend-circle:hover{transform:scale(1.05)}.friend-circle .friend-name{font-size:.75rem;text-align:center}.friend-circle.offline{opacity:.3333333333}.friend-circle.offline img{border-color:#6c6c6c!important}@keyframes fadein{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fadeAnim{animation:fadein .5s;animation-fill-mode:forwards;animation-timing-function:ease-in-out;opacity:0}.invite-input .form-control{cursor:text;font-family:Ubuntu Mono,monospace;font-weight:500}.invite-input .form-control,.invite-input .input-group-text{background-color:#359ee6;border:0}.welcome-activity-cont{align-items:center;display:flex;justify-content:center;margin:10px 5px 0}@media (max-width:575.98px){.welcome-activity-cont{flex-direction:column}.welcome-activity-cont a{width:100%}}.welcome-activity-cont a{display:block;flex:1;margin:0 5px}.welcome-activity-cont a .welcome-activity-grid{background:#000;background-repeat:no-repeat;background-size:cover;border-radius:20px;box-shadow:inset 0 0 0 2px #1569c3;color:#fff!important;display:block;height:132px;overflow:hidden;position:relative;transition:transform .3s ease;width:100%}.welcome-activity-cont a .welcome-activity-grid:hover{transform:scale(1.05)}.welcome-activity-cont a .welcome-activity-grid .bg-grad{background-image:linear-gradient(rgba(0,0,0,.4),rgba(16,82,153,.8));background-size:cover;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.welcome-activity-cont a .welcome-activity-grid .act-grid-icon{align-items:center;display:flex;height:95px;justify-content:center;position:relative;text-align:center;width:100%;z-index:10}.welcome-activity-cont a .welcome-activity-grid .act-grid-icon i{display:inline-block;font-size:48px;vertical-align:middle}.welcome-activity-cont a .welcome-activity-grid .act-grid-title{font-size:1em;font-weight:700;position:relative;text-align:center;z-index:10}.referrals-input[disabled]{opacity:1!important}.blog-item{background-color:#000;border-radius:10px;display:inline-block;height:200px;-o-object-fit:cover;object-fit:cover;overflow:hidden;position:relative;vertical-align:top;width:300px}.blog-item .blog-image{background-position:50%;background-repeat:no-repeat;background-size:cover;bottom:0;left:0;opacity:.7;position:absolute;right:0;top:0;transition:transform .3s ease,opacity .3s ease;z-index:0}.blog-item .blog-image:hover{opacity:1;transform:scale(1.05)}.blog-item .blog-tagline{background:linear-gradient(transparent,rgba(0,0,0,.8));bottom:0;color:#fff;left:0;padding:10px;pointer-events:none;position:absolute;right:0;z-index:1}.blog-item .blog-tagline .blog-title{font-size:1.2em;font-weight:700;margin-bottom:0}.blog-item .blog-tagline .blog-date{font-size:.8em;margin-bottom:0}.home-event-container{border-radius:20px;height:225px;overflow:hidden;position:relative;width:100%}@media (max-width:575.98px){.home-event-container{border-radius:0;height:unset;margin:auto}}.home-event-container .img-container{align-items:center;display:flex;justify-content:center;max-width:275px;min-width:100px;width:33%}.home-event-container .img-container img{height:auto;position:relative;width:100%;z-index:2}.home-event-container .accent-color-container{bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.home-event-container .content-container{background:linear-gradient(270deg,rgba(0,0,0,.61) 21.63%,rgba(0,0,0,.39) 99.68%);position:relative;z-index:5}.home-event-container .content-container .event-content{padding:20px 10px}.home-event-container .content-container .event-content .event-title{margin:0}.home-event-container .content-container .event-content .event-dates{color:hsla(0,0%,100%,.83);font-weight:600}.home-event-container .content-container .event-content .c-divider{background-color:#fff;height:1px;margin:5px 0;width:140px}.home-event-container .content-container .event-content .event-description{color:hsla(0,0%,100%,.83);font-size:10pt;height:80px;overflow:hidden;text-overflow:ellipsis}.card-inbox{border:0 solid transparent!important;border-left:5px solid #3bafff!important;border-radius:0!important}.card-inbox .h6,.card-inbox h6{color:hsla(0,0%,100%,.95)}.card-inbox.read{border-left-color:#757575!important}.landing-card,.landing-nav{-webkit-backdrop-filter:blur(21px);backdrop-filter:blur(21px);background:hsla(0,0%,5%,.51)!important;border:none;min-width:420px}.landing-card .input-group .input-group-text,.landing-card .input-group input{background-color:#221207!important}.lead{font-weight:500;opacity:.8}.event-card{align-items:center;background:#ff7410;background:linear-gradient(180deg,#ff7410,#cd60ff);border:0;border-radius:18px;box-shadow:-3px -3px 15px 0 rgba(255,116,16,.25),3px 3px 15px 0 rgba(205,96,255,.25);display:flex;justify-content:center;padding:4px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s cubic-bezier(.34,1.56,.64,1)}.event-card .place-card{background-color:#2e2931;height:250px;margin:0!important;padding:0;position:relative}.event-card:hover .place-card{border-color:transparent!important;transform:scale(1);z-index:98}.event-card .card-body{padding:2px!important}.event-card:hover{box-shadow:-3px -3px 15px 0 rgba(255,116,16,.5),3px 3px 15px 0 rgba(205,96,255,.5);position:relative;transform:scale(1.05);z-index:98}.event-card:active{transform:scale(.98)}.event-indication{background-color:#cd60fe;border-bottom-left-radius:5px;border-bottom-right-radius:5px;bottom:-34px;font-weight:800;left:50%;padding:2px 10px;position:absolute;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.5);transform:translateX(-50%);z-index:99}@media (max-width:575.98px){.event-card{border-radius:0}.event-card .place-card{height:auto}.event-indication{border-radius:8px;bottom:8px;left:auto;right:8px;transform:translateX(0);width:75px}}.place-card{border:3px solid transparent!important;cursor:pointer;display:inline-block;height:256px;transition:transform .3s cubic-bezier(.16,1,.3,1),border .3s cubic-bezier(.16,1,.3,1);vertical-align:middle;width:175px}.place-card .card-body{padding:6px}@media (min-width:576px){.place-card:hover{border-color:var(--bs-card-border-color)!important;transform:scale(1.05)}.place-card .place-card-title{height:45px;max-height:45px}}@media (max-width:575.98px){.place-card:not(.force-desktop){display:block;height:175px;width:100%}.place-card:not(.force-desktop) .card-body{display:flex}.place-card:not(.force-desktop) .card-title{height:116px;padding:0 10px}}.place-card .place-card-image{border-radius:11px;height:154px;width:154px}.place-card .place-card-title{color:hsla(0,0%,100%,.8);display:-webkit-box;font-weight:600;line-height:22px;overflow:hidden;text-align:left;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:14px}.place-setup-card{background-color:#000;background-color:#1c1c1c;border:2px solid transparent;border-radius:6px;cursor:pointer;margin:10px 0;padding:10px 15px;transition:transform .3s cubic-bezier(.16,1,.3,1)}.place-setup-card.disabled{cursor:default;opacity:.3333333333}.place-setup-card::not(.disabled):hover{transform:scale(1.03)}.place-setup-card.selected{background-color:#333;border-color:#cecece}.place-setup-card .psctitle{margin-bottom:2px}.place-setup-card .psctitle .badge{margin-top:-3px;vertical-align:middle}.place-setup-card .iconcont{align-items:center;display:flex;flex-direction:row}.place-setup-card .iconcont i{font-size:20px}.ratings-container{align-items:center;display:inline-flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ratings-container .btns-container{align-items:center;background:#262626;border:1px solid #484848;border-radius:20px;display:inline-flex;overflow:hidden}.ratings-container .btns-container .thumbup-button{color:rgba(var(--bs-success-rgb),.7)}.ratings-container .btns-container .thumbup-button.active{color:rgb(var(--bs-success-rgb));position:relative}@keyframes like{0%{transform:scale(0) rotate(0deg) translate(0)}75%{transform:scale(1.4) rotate(-10deg) translateY(-4px)}90%{transform:scale(.8) rotate(0deg) translate(0)}to{transform:scale(1) rotate(0deg) translate(0)}}@keyframes like-fade{0%{opacity:1;transform:scale(0)}75%{opacity:1;transform:scale(10)}to{opacity:0;transform:scale(10)}}@keyframes like-bubble{0%{box-shadow:0 0 0 30px rgb(var(--bs-success-rgb));opacity:1;transform:scale(0)}60%{box-shadow:0 0 0 1px rgb(var(--bs-success-rgb));transform:scale(1)}to{opacity:0}}.ratings-container .btns-container .thumbup-button.active:not(.active-initially) #thumbup-icn{animation:like .55s ease}.ratings-container .btns-container .thumbup-button.active:not(.active-initially):before{animation:like-fade .4s linear;background-color:rgba(var(--bs-success-rgb),.2);border-radius:25px;content:"";height:32px;left:8px;opacity:0;position:absolute;top:3px;width:32px}.ratings-container .btns-container .thumbup-button.active:not(.active-initially):after{animation:like-bubble .4s ease-in;border-radius:25px;content:"";height:32px;left:8px;position:absolute;top:1px;width:32px}.ratings-container .btns-container .thumbdown-button{color:#757575}.ratings-container .btns-container .thumbdown-button.active{color:#b3b3b3}.ratings-container .btns-container .thumbdown-button,.ratings-container .btns-container .thumbup-button{align-items:center;background-color:transparent;cursor:pointer;display:flex;font-size:1.1em;font-weight:500;justify-content:center;min-width:85px;padding:5px 0 5px 30px;position:relative;transition:background-color .2s ease}.ratings-container .btns-container .thumbdown-button .thumb-icon,.ratings-container .btns-container .thumbup-button .thumb-icon{left:15px;position:absolute}.ratings-container .btns-container .thumbdown-button:hover,.ratings-container .btns-container .thumbup-button:hover{background-color:hsla(0,0%,100%,.1)}.ratings-container .btns-container .rating-divider{background-color:#484848;height:25px;width:1px}.ratings-container .rating-ratio{background-color:#525252;flex-grow:1;height:1px;max-width:135px;width:100%}.ratings-container .rating-ratio #ratio-fill{background-color:rgb(var(--bs-success-rgb));height:100%;transition:width .2s ease}.favorites-counter{font-size:1.15em;font-weight:500}#places-container{display:flex;flex-direction:column}@media (min-width:768px){#places-container{display:grid;grid-auto-rows:253px;grid-template-columns:repeat(auto-fill,170px);grid-gap:10px;justify-content:center}}.store-category-check{border-bottom:2px solid #000;border-radius:2px;color:hsla(0,0%,100%,.581);margin-bottom:5px;margin-top:0;opacity:.9;padding:2px 2px 2px 27px}.store-category-check.active{color:#fff;opacity:1}.store-category-check .form-check-input{border-color:transparent}.store-item-check{opacity:.6}.store-item-check.active{opacity:1}.itemCardCont{cursor:pointer;transition:transform .3s cubic-bezier(.16,1,.3,1),border .3s cubic-bezier(.16,1,.3,1)}.itemCardCont:hover{border-color:var(--bs-card-border-color)!important;transform:scale(1.05)}.store-title{font-weight:700}.store-category{border-left:3px solid transparent;font-weight:500}.store-category,a.store-category:active,a.store-category:focus,a.store-category:hover{color:hsla(0,0%,100%,.8)}.store-category.active{border-color:#3bafff}.asset-limited{border:8px solid #347fdb}.asset-limited-triangle{border-left:100px solid transparent;border-top:100px solid #347fdb;height:0;position:absolute;right:0;top:0;width:0}.asset-limited-triangle>i{color:#fff;font-size:30px;font-weight:900;margin-left:-45px;margin-top:-85px;position:absolute}.store-thumbnail{height:auto;width:100%}.trd-items-preview{display:flex;flex-direction:row-reverse;justify-content:flex-end}.trd-items-preview .item{background-color:#1a1a1a;border:2px solid #1a1a1a;box-shadow:1px 0 3px rgba(0,0,0,.29);margin-right:-18px}.trd-items-preview .item img{visibility:hidden}.trd-items-preview .item img[src]{visibility:visible}.trd-box{background:#1d1d1d;border:3px solid transparent;border-radius:9px;display:inline-block;height:110px;margin:0 5px 0 0;min-width:110px;overflow:hidden;position:relative;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:110px}.trd-box img{height:100%;left:0;position:absolute;top:0;width:100%}.trd-box:not(.preview):not(.disabled){cursor:pointer}.trd-box.selected{border:3px solid lime;opacity:.4}.trd-box.selected:after{color:lime;content:url('data:image/svg+xml;utf8,');font-size:20px;position:absolute;right:10px;top:10px}.trd-box.selected:hover{transform:scale(.95)}.trd-box.disabled{cursor:default;opacity:.75}.trd-box:not(.preview):not(.disabled):not(.selected):hover{box-shadow:0 0 10px 0 rgba(0,0,0,.5);transform:scale(1.05)}.trd-box-inner{box-shadow:inset 2px 2px 10px rgba(0,0,0,.341);height:100%;left:0;position:absolute;top:0;width:100%}.trd-box.preview .trd-box-inner{box-shadow:none}.trd-box-val{background:linear-gradient(rgba(31,31,31,.58),#1f1f1f);border-top-right-radius:9px;bottom:0;font-size:11px;height:24px;left:0;padding:4px 7px 4px 1px;position:absolute}.trd-items-list{padding-right:60px}.trd-items-list:before{background:linear-gradient(270deg,#262626 0,rgba(38,38,38,0));bottom:41px;content:"";position:absolute;right:0;top:41px;width:100px;z-index:100}.membership-upgrade-table{border-collapse:separate;border-spacing:0 5px}.membership-upgrade-table .tier-logo{display:block;height:auto;margin:-10px auto}.membership-upgrade-table tbody tr{border-radius:10px}.membership-upgrade-table tbody tr.primaryrow td{background:#000}.membership-upgrade-table tbody tr td{background:#262626;color:#fff;font-size:1.2em;font-weight:500;padding:15px}.membership-upgrade-table tbody tr td:first-child{border-bottom-left-radius:10px;border-top-left-radius:10px}.membership-upgrade-table tbody tr td:last-child{border-bottom-right-radius:10px;border-top-right-radius:10px}.membership-upgrade-table tbody tr td:not(.membership-upgrade-table tbody tr td:first-child){text-align:center}.membership-upgrade-table tbody tr td.perk-free{color:#929292}.membership-upgrade-table tbody tr td.perk-plus{color:#30bee5;font-size:1.55em;font-weight:600}.membership-upgrade-table tbody tr td.perk-plusdx{color:#b536ff;font-size:1.75em;font-weight:600}.membership-upgrade-table tbody tr.inv td{background:transparent;padding:0}.mbtn{border-radius:6px;font-size:1.4em;font-weight:600;margin-bottom:3px;padding:4px;transition:color .1s ease-in-out,background-color .1s ease-in-out,border-color .1s ease-in-out;width:150px}.mbtn .sub{font-size:.75em;font-weight:400}.mbtn.mbplus{background:#30bee5;border:3px solid #30bee5;color:#fff}.mbtn.mbplus.mboutline{background:transparent;color:#30bee5}.mbtn.mbplus.mboutline:hover{background:#30bee5;color:#fff}.mbtn.mbplus.mbdisabled{cursor:default;font-size:1.3em!important;font-weight:400;opacity:.5}.mbtn.mbplusdx{background:#b536ff;border:3px solid #b536ff;color:#fff}.mbtn.mbplusdx.mboutline{background:transparent;color:#b536ff}.mbtn.mbplusdx.mboutline:hover{background:#b536ff;color:#fff}.mbtn.mbplusdx.mbdisabled{cursor:default;font-size:1.3em!important;font-weight:400;opacity:.5}.mbtn-mobile{border-radius:6px;font-size:1.4em;font-size:20px;font-weight:600;margin-bottom:3px;padding:4px;text-align:center;width:125px}.mbtn-mobile.mbplus{background:linear-gradient(180deg,#007a9b,#6cdfff)}.mbtn-mobile.mbplusdx{background:linear-gradient(180deg,#580589,#b536ff)}.mbtn-mobile .mbtitle{color:hsla(0,0%,100%,.79);font-size:15px}.brick-package{aspect-ratio:788/449;background:linear-gradient(180deg,rgba(0,0,0,.77),transparent 100%,hsla(0,0%,100%,0) 0),linear-gradient(180deg,#1c1c1c 17.19%,#0f0f0f 60.42%,#4e4e4e);background-position:50%;background-repeat:no-repeat;background-size:cover;border:5px solid #2f2f2f;border-radius:25px;cursor:pointer;margin-bottom:10px;transition:transform .2s ease}.brick-package,.brick-package.content{height:100%;position:relative;width:100%}.brick-package.content{border-radius:20px;overflow:hidden}.brick-package.galaxy{border-color:#9d1fe6}.brick-package.popular{border-color:#fff}.brick-package:hover{transform:scale(1.025)}.brick-package .bg-image{bottom:0;height:100%;left:0;right:0;top:0;width:100%}.brick-package .brick-image{bottom:40px;height:60%;left:-10px;-o-object-fit:contain;object-fit:contain;position:absolute;width:60%}.brick-package .priceline{align-items:center;background-color:rgba(0,0,0,.27);border-bottom-left-radius:20px;border-bottom-right-radius:20px;bottom:0;display:flex;font-size:1.7em;font-weight:600;height:25%;justify-content:center;left:0;position:absolute;right:0}.brick-package .title{font-size:2em;font-weight:800;left:30px;position:absolute;top:10px}.brick-package .title.galaxy{color:#d48aff}.brick-package .amount{color:#63f353;font-size:3.5em;font-weight:800;letter-spacing:-.025em;position:absolute;right:5%;text-shadow:0 0 .5em #22bc11;top:25%}.brick-package .amount.galaxy{color:#d48aff;letter-spacing:-.05em;text-shadow:0 0 .5em #b536ff}.brick-package .am-x{font-size:.7em}.brick-package .sunburst-image{bottom:500px;height:75%;opacity:.8;position:absolute;top:0;width:70%}.brick-package .popular-tag{background-color:#fff;border-radius:10px 10px 0 10px;color:#000;font-size:1em;font-weight:700;padding:2%;position:absolute;right:-5px;top:-9%}.arrow-anim-cont{animation:bg-scroll 1.5s linear infinite;background-color:#121212;background-image:url(https://c0.ptacdn.com/static/images/upgrade-bg.43d7e1a5.svg);background-repeat:repeat;background-size:100px 100px;height:100%;height:0;left:0;max-height:100vh;min-height:100vh;overflow:hidden;position:fixed;width:100%}@keyframes bg-scroll{0%{background-position:100px 100px}to{background-position:0 0}}.checkout-upgrade-perk{background-color:#000;border-radius:5px;font-size:1.2em;margin:5px auto;max-width:500px;padding:10px}.gift-self-toggle{background:#000;border:3px solid #000;border-radius:8px;display:flex;height:70px;margin:auto;overflow:hidden;width:300px}.gift-self-toggle .gift-self-toggle-btn{align-items:center;background-color:#171717;border:3px solid hsla(0,0%,85%,0);border-radius:5px;cursor:pointer;display:flex;justify-content:center;opacity:.5;transform:scale(.9);transition:transform .2s ease-in-out,border-color .2s ease-in-out,opacity .2s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:50%}.gift-self-toggle .gift-self-toggle-btn .label{font-weight:500;line-height:1em}.gift-self-toggle .gift-self-toggle-btn.active{border-color:#dadada}.gift-self-toggle .gift-self-toggle-btn.active,.gift-self-toggle .gift-self-toggle-btn:hover{opacity:1;transform:scale(1)}.gift-self-toggle .gift-self-toggle-btn .gift-icn{height:32px;margin:0 14px;width:auto}.user-badges{background:#161616;border-radius:12px;display:flex;flex-wrap:wrap;margin:10px -5px -3px;padding:5px}.user-badge{background-repeat:no-repeat;background-size:cover;height:48px;margin-right:-4px;width:48px}.user-badge.badge-1{background-position:0 0;margin-right:0}.user-badge.badge-2{background-position:-49px 0}.user-badge.badge-3{background-position:-98px 0}.user-badge.badge-4{background-position:-147px 0}@media (min-width:992px){.user-right{max-width:375px}}div:where(.swal2-container){z-index:100000!important} \ No newline at end of file + */ +:root, +[data-bs-theme='light'] { + --bs-blue: #3bafff; + --bs-indigo: #6610f2; + --bs-purple: #9b51e0; + --bs-pink: #ff6f91; + --bs-red: #ff5951; + --bs-orange: #ffb74f; + --bs-yellow: #ffc93f; + --bs-green: #4fe883; + --bs-teal: #00b5ad; + --bs-cyan: #0dcaf0; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #484848; + --bs-gray-dark: #3c3c3c; + --bs-gray-100: #f6f6f6; + --bs-gray-200: #e6e6e6; + --bs-gray-300: #cacaca; + --bs-gray-400: #9e9e9e; + --bs-gray-500: #757575; + --bs-gray-600: #484848; + --bs-gray-700: #2d2d2d; + --bs-gray-800: #3c3c3c; + --bs-gray-900: #1a1a1a; + --bs-primary: #3bafff; + --bs-secondary: #484848; + --bs-success: #4fe883; + --bs-info: #6094f9; + --bs-warning: #ffc93f; + --bs-danger: #ff5951; + --bs-light: #f6f6f6; + --bs-dark: #1a1a1a; + --bs-primary-rgb: 59, 175, 255; + --bs-secondary-rgb: 72, 72, 72; + --bs-success-rgb: 79, 232, 131; + --bs-info-rgb: 96, 148, 249; + --bs-warning-rgb: 255, 201, 63; + --bs-danger-rgb: 255, 89, 81; + --bs-light-rgb: 246, 246, 246; + --bs-dark-rgb: 26, 26, 26; + --bs-primary-text-emphasis: #184666; + --bs-secondary-text-emphasis: #1d1d1d; + --bs-success-text-emphasis: #205d34; + --bs-info-text-emphasis: #263b64; + --bs-warning-text-emphasis: #665019; + --bs-danger-text-emphasis: #662420; + --bs-light-text-emphasis: #2d2d2d; + --bs-dark-text-emphasis: #2d2d2d; + --bs-primary-bg-subtle: #d8efff; + --bs-secondary-bg-subtle: #dadada; + --bs-success-bg-subtle: #dcfae6; + --bs-info-bg-subtle: #dfeafe; + --bs-warning-bg-subtle: #fff4d9; + --bs-danger-bg-subtle: #ffdedc; + --bs-light-bg-subtle: #fbfbfb; + --bs-dark-bg-subtle: #9e9e9e; + --bs-primary-border-subtle: #b1dfff; + --bs-secondary-border-subtle: #b6b6b6; + --bs-success-border-subtle: #b9f6cd; + --bs-info-border-subtle: #bfd4fd; + --bs-warning-border-subtle: #ffe9b2; + --bs-danger-border-subtle: #ffbdb9; + --bs-light-border-subtle: #e6e6e6; + --bs-dark-border-subtle: #757575; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-font-sans-serif: 'Poppins', sans-serif; + --bs-font-monospace: 'Ubuntu Mono', monospace; + --bs-gradient: linear-gradient(180deg, hsla(0, 0%, 100%, 0.15), hsla(0, 0%, 100%, 0)); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #fff; + --bs-body-color-rgb: 255, 255, 255; + --bs-body-bg: #181818; + --bs-body-bg-rgb: 24, 24, 24; + --bs-emphasis-color: #f6f6f6; + --bs-emphasis-color-rgb: 246, 246, 246; + --bs-secondary-color: hsla(0, 0%, 100%, 0.75); + --bs-secondary-color-rgb: 255, 255, 255; + --bs-secondary-bg: #e6e6e6; + --bs-secondary-bg-rgb: 230, 230, 230; + --bs-tertiary-color: hsla(0, 0%, 100%, 0.5); + --bs-tertiary-color-rgb: 255, 255, 255; + --bs-tertiary-bg: #f6f6f6; + --bs-tertiary-bg-rgb: 246, 246, 246; + --bs-heading-color: inherit; + --bs-link-color: #3bafff; + --bs-link-color-rgb: 59, 175, 255; + --bs-link-decoration: none; + --bs-link-hover-color: #2f8ccc; + --bs-link-hover-color-rgb: 47, 140, 204; + --bs-code-color: #ff6f91; + --bs-highlight-color: #fff; + --bs-highlight-bg: #fff4d9; + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #cacaca; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-xxl: 2rem; + --bs-border-radius-2xl: var(--bs-border-radius-xxl); + --bs-border-radius-pill: 50rem; + --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); + --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-focus-ring-width: 0.25rem; + --bs-focus-ring-opacity: 0.25; + --bs-focus-ring-color: rgba(59, 175, 255, 0.25); + --bs-form-valid-color: #4fe883; + --bs-form-valid-border-color: #4fe883; + --bs-form-invalid-color: #ff5951; + --bs-form-invalid-border-color: #ff5951; +} +[data-bs-theme='dark'] { + color-scheme: dark; + --bs-body-color: #cacaca; + --bs-body-color-rgb: 202, 202, 202; + --bs-body-bg: #1a1a1a; + --bs-body-bg-rgb: 26, 26, 26; + --bs-emphasis-color: #fff; + --bs-emphasis-color-rgb: 255, 255, 255; + --bs-secondary-color: hsla(0, 0%, 79%, 0.75); + --bs-secondary-color-rgb: 202, 202, 202; + --bs-secondary-bg: #3c3c3c; + --bs-secondary-bg-rgb: 60, 60, 60; + --bs-tertiary-color: hsla(0, 0%, 79%, 0.5); + --bs-tertiary-color-rgb: 202, 202, 202; + --bs-tertiary-bg: #2b2b2b; + --bs-tertiary-bg-rgb: 43, 43, 43; + --bs-primary-text-emphasis: #89cfff; + --bs-secondary-text-emphasis: #919191; + --bs-success-text-emphasis: #95f1b5; + --bs-info-text-emphasis: #a0bffb; + --bs-warning-text-emphasis: #ffdf8c; + --bs-danger-text-emphasis: #ff9b97; + --bs-light-text-emphasis: #f6f6f6; + --bs-dark-text-emphasis: #cacaca; + --bs-primary-bg-subtle: #0c2333; + --bs-secondary-bg-subtle: #0e0e0e; + --bs-success-bg-subtle: #102e1a; + --bs-info-bg-subtle: #131e32; + --bs-warning-bg-subtle: #33280d; + --bs-danger-bg-subtle: #331210; + --bs-light-bg-subtle: #3c3c3c; + --bs-dark-bg-subtle: #1e1e1e; + --bs-primary-border-subtle: #236999; + --bs-secondary-border-subtle: #2b2b2b; + --bs-success-border-subtle: #2f8b4f; + --bs-info-border-subtle: #3a5995; + --bs-warning-border-subtle: #997926; + --bs-danger-border-subtle: #993531; + --bs-light-border-subtle: #2d2d2d; + --bs-dark-border-subtle: #3c3c3c; + --bs-heading-color: inherit; + --bs-link-color: #89cfff; + --bs-link-hover-color: #a1d9ff; + --bs-link-color-rgb: 137, 207, 255; + --bs-link-hover-color-rgb: 161, 217, 255; + --bs-code-color: #ffa9bd; + --bs-highlight-color: #cacaca; + --bs-highlight-bg: #665019; + --bs-border-color: #2d2d2d; + --bs-border-color-translucent: hsla(0, 0%, 100%, 0.15); + --bs-form-valid-color: #95f1b5; + --bs-form-valid-border-color: #95f1b5; + --bs-form-invalid-color: #ff9b97; + --bs-form-invalid-border-color: #ff9b97; +} +*, +:after, +:before { + box-sizing: border-box; +} +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} +body { + background-color: var(--bs-body-bg); + color: var(--bs-body-color); + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + margin: 0; + text-align: var(--bs-body-text-align); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +hr { + border: 0; + border-top: var(--bs-border-width) solid; + color: inherit; + margin: 1rem 0; + opacity: 0.25; +} +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6 { + color: var(--bs-heading-color); + font-weight: 600; + line-height: 1.2; + margin-bottom: 0.5rem; + margin-top: 0; +} +.h1, +h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + .h1, + h1 { + font-size: 2.5rem; + } +} +.h2, +h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + .h2, + h2 { + font-size: 2rem; + } +} +.h3, +h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + .h3, + h3 { + font-size: 1.75rem; + } +} +.h4, +h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + .h4, + h4 { + font-size: 1.5rem; + } +} +.h5, +h5 { + font-size: 1.25rem; +} +.h6, +h6 { + font-size: 1rem; +} +p { + margin-bottom: 1rem; + margin-top: 0; +} +abbr[title] { + cursor: help; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} +address { + font-style: normal; + line-height: inherit; + margin-bottom: 1rem; +} +ol, +ul { + padding-left: 2rem; +} +dl, +ol, +ul { + margin-bottom: 1rem; + margin-top: 0; +} +ol ol, +ol ul, +ul ol, +ul ul { + margin-bottom: 0; +} +dt { + font-weight: 700; +} +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} +blockquote { + margin: 0 0 1rem; +} +b, +strong { + font-weight: bolder; +} +.small, +small { + font-size: 0.875em; +} +.mark, +mark { + background-color: var(--bs-highlight-bg); + color: var(--bs-highlight-color); + padding: 0.1875em; +} +sub, +sup { + font-size: 0.75em; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +a { + color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); + text-decoration: none; +} +a:hover { + --bs-link-color-rgb: var(--bs-link-hover-color-rgb); +} +a:not([href]):not([class]), +a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} +code, +kbd, +pre, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; +} +pre { + display: block; + font-size: 0.875em; + margin-bottom: 1rem; + margin-top: 0; + overflow: auto; +} +pre code { + color: inherit; + font-size: inherit; + word-break: normal; +} +code { + color: var(--bs-code-color); + font-size: 0.875em; + word-wrap: break-word; +} +a > code { + color: inherit; +} +kbd { + background-color: var(--bs-body-color); + border-radius: 0.25rem; + color: var(--bs-body-bg); + font-size: 0.875em; + padding: 0.1875rem 0.375rem; +} +kbd kbd { + font-size: 1em; + padding: 0; +} +figure { + margin: 0 0 1rem; +} +img, +svg { + vertical-align: middle; +} +table { + border-collapse: collapse; + caption-side: bottom; +} +caption { + color: var(--bs-secondary-color); + padding-bottom: 0.5rem; + padding-top: 0.5rem; + text-align: left; +} +th { + text-align: inherit; + text-align: -webkit-match-parent; +} +tbody, +td, +tfoot, +th, +thead, +tr { + border: 0 solid; + border-color: inherit; +} +label { + display: inline-block; +} +button { + border-radius: 0; +} +button:focus:not(:focus-visible) { + outline: 0; +} +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; + margin: 0; +} +button, +select { + text-transform: none; +} +[role='button'] { + cursor: pointer; +} +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} +[list]:not([type='date']):not([type='datetime-local']):not([type='month']):not([type='week']):not([type='time'])::-webkit-calendar-picker-indicator { + display: none !important; +} +[type='button'], +[type='reset'], +[type='submit'], +button { + -webkit-appearance: button; +} +[type='button']:not(:disabled), +[type='reset']:not(:disabled), +[type='submit']:not(:disabled), +button:not(:disabled) { + cursor: pointer; +} +::-moz-focus-inner { + border-style: none; + padding: 0; +} +textarea { + resize: vertical; +} +fieldset { + border: 0; + margin: 0; + min-width: 0; + padding: 0; +} +legend { + float: left; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; + margin-bottom: 0.5rem; + padding: 0; + width: 100%; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-year-field { + padding: 0; +} +::-webkit-inner-spin-button { + height: auto; +} +[type='search'] { + -webkit-appearance: textfield; + outline-offset: -2px; +} +::-webkit-search-decoration { + -webkit-appearance: none; +} +::-webkit-color-swatch-wrapper { + padding: 0; +} +::file-selector-button { + -webkit-appearance: button; + font: inherit; +} +output { + display: inline-block; +} +iframe { + border: 0; +} +summary { + cursor: pointer; + display: list-item; +} +progress { + vertical-align: baseline; +} +[hidden] { + display: none !important; +} +.lead { + font-size: 1.25rem; + font-weight: 300; +} +.display-1 { + font-size: calc(1.625rem + 4.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} +.display-2 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} +.display-3 { + font-size: calc(1.525rem + 3.3vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} +.display-4 { + font-size: calc(1.475rem + 2.7vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} +.display-5 { + font-size: calc(1.425rem + 2.1vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} +.display-6 { + font-size: calc(1.375rem + 1.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} +.list-inline, +.list-unstyled { + list-style: none; + padding-left: 0; +} +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} +.blockquote { + font-size: 1.25rem; + margin-bottom: 1rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} +.blockquote-footer { + color: #484848; + font-size: 0.875em; + margin-bottom: 1rem; + margin-top: -1rem; +} +.blockquote-footer:before { + content: '— '; +} +.img-fluid, +.img-thumbnail { + height: auto; + max-width: 100%; +} +.img-thumbnail { + background-color: var(--bs-body-bg); + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); + padding: 0.25rem; +} +.figure { + display: inline-block; +} +.figure-img { + line-height: 1; + margin-bottom: 0.5rem; +} +.figure-caption { + color: var(--bs-secondary-color); + font-size: 0.875em; +} +.container, +.container-fluid, +.container-lg, +.container-md, +.container-sm, +.container-xl, +.container-xxl { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + margin-left: auto; + margin-right: auto; + padding-left: calc(var(--bs-gutter-x) * 0.5); + padding-right: calc(var(--bs-gutter-x) * 0.5); + width: 100%; +} +@media (min-width: 576px) { + .container, + .container-sm { + max-width: 576px; + } +} +@media (min-width: 768px) { + .container, + .container-md, + .container-sm { + max-width: 768px; + } +} +@media (min-width: 992px) { + .container, + .container-lg, + .container-md, + .container-sm { + max-width: 992px; + } +} +@media (min-width: 1200px) { + .container, + .container-lg, + .container-md, + .container-sm, + .container-xl { + max-width: 1200px; + } +} +@media (min-width: 1400px) { + .container, + .container-lg, + .container-md, + .container-sm, + .container-xl, + .container-xxl { + max-width: 1600px; + } +} +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-left: calc(var(--bs-gutter-x) * -0.5); + margin-right: calc(var(--bs-gutter-x) * -0.5); + margin-top: calc(var(--bs-gutter-y) * -1); +} +.row > * { + flex-shrink: 0; + margin-top: var(--bs-gutter-y); + max-width: 100%; + padding-left: calc(var(--bs-gutter-x) * 0.5); + padding-right: calc(var(--bs-gutter-x) * 0.5); + width: 100%; +} +.col { + flex: 1 0 0%; +} +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.33333333%; +} +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.66666667%; +} +.col-auto { + flex: 0 0 auto; + width: auto; +} +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} +.col-3 { + flex: 0 0 auto; + width: 25%; +} +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} +.col-6 { + flex: 0 0 auto; + width: 50%; +} +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} +.col-9 { + flex: 0 0 auto; + width: 75%; +} +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} +.col-12 { + flex: 0 0 auto; + width: 100%; +} +.offset-1 { + margin-left: 8.33333333%; +} +.offset-2 { + margin-left: 16.66666667%; +} +.offset-3 { + margin-left: 25%; +} +.offset-4 { + margin-left: 33.33333333%; +} +.offset-5 { + margin-left: 41.66666667%; +} +.offset-6 { + margin-left: 50%; +} +.offset-7 { + margin-left: 58.33333333%; +} +.offset-8 { + margin-left: 66.66666667%; +} +.offset-9 { + margin-left: 75%; +} +.offset-10 { + margin-left: 83.33333333%; +} +.offset-11 { + margin-left: 91.66666667%; +} +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.table { + --bs-table-color-type: initial; + --bs-table-bg-type: initial; + --bs-table-color-state: initial; + --bs-table-bg-state: initial; + --bs-table-color: var(--bs-emphasis-color); + --bs-table-bg: var(--bs-body-bg); + --bs-table-border-color: var(--bs-border-color); + --bs-table-accent-bg: transparent; + --bs-table-striped-color: var(--bs-emphasis-color); + --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05); + --bs-table-active-color: var(--bs-emphasis-color); + --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1); + --bs-table-hover-color: var(--bs-emphasis-color); + --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075); + border-color: var(--bs-table-border-color); + margin-bottom: 1rem; + vertical-align: top; + width: 100%; +} +.table > :not(caption) > * > * { + background-color: var(--bs-table-bg); + border-bottom-width: var(--bs-border-width); + box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))); + color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color))); + padding: 0.5rem; +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} +.table-group-divider { + border-top: calc(var(--bs-border-width) * 2) solid; +} +.caption-top { + caption-side: top; +} +.table-sm > :not(caption) > * > * { + padding: 0.25rem; +} +.table-bordered > :not(caption) > * { + border-width: var(--bs-border-width) 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 var(--bs-border-width); +} +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} +.table-striped-columns > :not(caption) > tr > :nth-child(2n), +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-color-type: var(--bs-table-striped-color); + --bs-table-bg-type: var(--bs-table-striped-bg); +} +.table-active { + --bs-table-color-state: var(--bs-table-active-color); + --bs-table-bg-state: var(--bs-table-active-bg); +} +.table-hover > tbody > tr:hover > * { + --bs-table-color-state: var(--bs-table-hover-color); + --bs-table-bg-state: var(--bs-table-hover-bg); +} +.table-primary { + --bs-table-color: #000; + --bs-table-bg: #d8efff; + --bs-table-border-color: #adbfcc; + --bs-table-striped-bg: #cde3f2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #c2d7e6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #c8ddec; + --bs-table-hover-color: #000; +} +.table-primary, +.table-secondary { + border-color: var(--bs-table-border-color); + color: var(--bs-table-color); +} +.table-secondary { + --bs-table-color: #000; + --bs-table-bg: #dadada; + --bs-table-border-color: #aeaeae; + --bs-table-striped-bg: #cfcfcf; + --bs-table-striped-color: #000; + --bs-table-active-bg: #c4c4c4; + --bs-table-active-color: #000; + --bs-table-hover-bg: #cacaca; + --bs-table-hover-color: #000; +} +.table-success { + --bs-table-color: #000; + --bs-table-bg: #dcfae6; + --bs-table-border-color: #b0c8b8; + --bs-table-striped-bg: #d1eedb; + --bs-table-striped-color: #000; + --bs-table-active-bg: #c6e1cf; + --bs-table-active-color: #000; + --bs-table-hover-bg: #cce7d5; + --bs-table-hover-color: #000; +} +.table-info, +.table-success { + border-color: var(--bs-table-border-color); + color: var(--bs-table-color); +} +.table-info { + --bs-table-color: #000; + --bs-table-bg: #dfeafe; + --bs-table-border-color: #b2bbcb; + --bs-table-striped-bg: #d4def1; + --bs-table-striped-color: #000; + --bs-table-active-bg: #c9d3e5; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ced8eb; + --bs-table-hover-color: #000; +} +.table-warning { + --bs-table-color: #000; + --bs-table-bg: #fff4d9; + --bs-table-border-color: #ccc3ae; + --bs-table-striped-bg: #f2e8ce; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6dcc3; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ece2c9; + --bs-table-hover-color: #000; +} +.table-danger, +.table-warning { + border-color: var(--bs-table-border-color); + color: var(--bs-table-color); +} +.table-danger { + --bs-table-color: #000; + --bs-table-bg: #ffdedc; + --bs-table-border-color: #ccb2b0; + --bs-table-striped-bg: #f2d3d1; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6c8c6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #eccdcc; + --bs-table-hover-color: #000; +} +.table-light { + --bs-table-color: #000; + --bs-table-bg: #f6f6f6; + --bs-table-border-color: #c5c5c5; + --bs-table-striped-bg: #eaeaea; + --bs-table-striped-color: #000; + --bs-table-active-bg: #ddd; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e4e4e4; + --bs-table-hover-color: #000; +} +.table-dark, +.table-light { + border-color: var(--bs-table-border-color); + color: var(--bs-table-color); +} +.table-dark { + --bs-table-color: #fff; + --bs-table-bg: #1a1a1a; + --bs-table-border-color: #484848; + --bs-table-striped-bg: #252525; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #313131; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #2b2b2b; + --bs-table-hover-color: #fff; +} +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; +} +.col-form-label { + font-size: inherit; + line-height: 1.5; + margin-bottom: 0; + padding-bottom: calc(0.375rem + 2px); + padding-top: calc(0.375rem + 2px); +} +.col-form-label-lg { + font-size: 1.25rem; + padding-bottom: calc(0.5rem + 2px); + padding-top: calc(0.5rem + 2px); +} +.col-form-label-sm { + font-size: 0.875rem; + padding-bottom: calc(0.25rem + 2px); + padding-top: calc(0.25rem + 2px); +} +.form-text { + color: var(--bs-secondary-color); + font-size: 0.875em; + margin-top: 0.25rem; +} +.form-control { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-clip: padding-box; + background-color: #262626; + border: 2px solid #2d2d2d; + border-radius: 8px; + color: #f6f6f6; + display: block; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + padding: 0.375rem 0.75rem; + transition: + border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + width: 100%; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type='file'] { + overflow: hidden; +} +.form-control[type='file']:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + background-color: #262626; + border-color: #9dd7ff; + box-shadow: 0; + color: #f6f6f6; + outline: 0; +} +.form-control::-webkit-date-and-time-value { + height: 1.5em; + margin: 0; + min-width: 85px; +} +.form-control::-webkit-datetime-edit { + display: block; + padding: 0; +} +.form-control::-moz-placeholder { + color: #9e9e9e; + opacity: 1; +} +.form-control::placeholder { + color: #9e9e9e; + opacity: 1; +} +.form-control:disabled { + background-color: #757575; + opacity: 1; +} +.form-control::file-selector-button { + background-color: #2d2d2d; + border: 0 solid; + border-color: inherit; + border-inline-end-width: 2px; + border-radius: 0; + color: #f6f6f6; + margin: -0.375rem -0.75rem; + margin-inline-end: 0.75rem; + padding: 0.375rem 0.75rem; + pointer-events: none; + transition: + color 0.15s ease-in-out, + background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--bs-secondary-bg); +} +.form-control-plaintext { + background-color: transparent; + border: solid transparent; + border-width: 2px 0; + color: var(--bs-body-color); + display: block; + line-height: 1.5; + margin-bottom: 0; + padding: 0.375rem 0; + width: 100%; +} +.form-control-plaintext:focus { + outline: 0; +} +.form-control-plaintext.form-control-lg, +.form-control-plaintext.form-control-sm { + padding-left: 0; + padding-right: 0; +} +.form-control-sm { + border-radius: var(--bs-border-radius-sm); + font-size: 0.875rem; + min-height: calc(1.5em + 0.5rem + 4px); + padding: 0.25rem 0.5rem; +} +.form-control-sm::file-selector-button { + margin: -0.25rem -0.5rem; + margin-inline-end: 0.5rem; + padding: 0.25rem 0.5rem; +} +.form-control-lg { + border-radius: var(--bs-border-radius-lg); + font-size: 1.25rem; + min-height: calc(1.5em + 1rem + 4px); + padding: 0.5rem 1rem; +} +.form-control-lg::file-selector-button { + margin: -0.5rem -1rem; + margin-inline-end: 1rem; + padding: 0.5rem 1rem; +} +textarea.form-control { + min-height: calc(1.5em + 0.75rem + 4px); +} +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + 4px); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + 4px); +} +.form-control-color { + height: calc(1.5em + 0.75rem + 4px); + padding: 0.375rem; + width: 3rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: 8px; +} +.form-control-color::-webkit-color-swatch { + border: 0 !important; + border-radius: 8px; +} +.form-control-color.form-control-sm { + height: calc(1.5em + 0.5rem + 4px); +} +.form-control-color.form-control-lg { + height: calc(1.5em + 1rem + 4px); +} +.form-select { + --bs-form-select-bg-img: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%233c3c3c' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #262626; + background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + background-position: right 0.75rem center; + background-repeat: no-repeat; + background-size: 16px 12px; + border: 2px solid #2d2d2d; + border-radius: 8px; + color: #f6f6f6; + display: block; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + transition: + border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + width: 100%; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: #9dd7ff; + box-shadow: 0 0 0 0.25rem rgba(59, 175, 255, 0.25); + outline: 0; +} +.form-select[multiple], +.form-select[size]:not([size='1']) { + background-image: none; + padding-right: 0.75rem; +} +.form-select:disabled { + background-color: #757575; +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #f6f6f6; +} +.form-select-sm { + border-radius: var(--bs-border-radius-sm); + font-size: 0.875rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + padding-top: 0.25rem; +} +.form-select-lg { + border-radius: var(--bs-border-radius-lg); + font-size: 1.25rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + padding-top: 0.5rem; +} +[data-bs-theme='dark'] .form-select { + --bs-form-select-bg-img: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23cacaca' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"); +} +.form-check { + display: block; + margin-bottom: 0.125rem; + min-height: 1.5rem; + padding-left: 1.5em; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} +.form-check-reverse { + padding-left: 0; + padding-right: 1.5em; + text-align: right; +} +.form-check-reverse .form-check-input { + float: right; + margin-left: 0; + margin-right: -1.5em; +} +.form-check-input { + --bs-form-check-bg: #484848; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: var(--bs-form-check-bg); + background-image: var(--bs-form-check-bg-image); + background-position: 50%; + background-repeat: no-repeat; + background-size: contain; + border: var(--bs-border-width) solid var(--bs-border-color); + flex-shrink: 0; + height: 1em; + margin-top: 0.25em; + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + vertical-align: top; + width: 1em; +} +.form-check-input[type='checkbox'] { + border-radius: 0.25em; +} +.form-check-input[type='radio'] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #9dd7ff; + box-shadow: 0 0 0 0.25rem rgba(59, 175, 255, 0.25); + outline: 0; +} +.form-check-input:checked { + background-color: #3bafff; + border-color: #3bafff; +} +.form-check-input:checked[type='checkbox'] { + --bs-form-check-bg-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E"); +} +.form-check-input:checked[type='radio'] { + --bs-form-check-bg-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E"); +} +.form-check-input[type='checkbox']:indeterminate { + background-color: #3bafff; + border-color: #3bafff; + --bs-form-check-bg-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3E%3C/svg%3E"); +} +.form-check-input:disabled { + filter: none; + opacity: 0.5; + pointer-events: none; +} +.form-check-input:disabled ~ .form-check-label, +.form-check-input[disabled] ~ .form-check-label { + cursor: default; + opacity: 0.5; +} +.form-switch { + padding-left: 2.5em; +} +.form-switch .form-check-input { + --bs-form-switch-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3E%3C/svg%3E"); + background-image: var(--bs-form-switch-bg); + background-position: 0; + border-radius: 2em; + margin-left: -2.5em; + transition: background-position 0.15s ease-in-out; + width: 2em; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + --bs-form-switch-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%239dd7ff'/%3E%3C/svg%3E"); +} +.form-switch .form-check-input:checked { + background-position: 100%; + --bs-form-switch-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); +} +.form-switch.form-check-reverse { + padding-left: 0; + padding-right: 2.5em; +} +.form-switch.form-check-reverse .form-check-input { + margin-left: 0; + margin-right: -2.5em; +} +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check:disabled + .btn, +.btn-check[disabled] + .btn { + filter: none; + opacity: 0.65; + pointer-events: none; +} +[data-bs-theme='dark'] .form-switch .form-check-input:not(:checked):not(:focus) { + --bs-form-switch-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(255, 255, 255, 0.25)'/%3E%3C/svg%3E"); +} +.form-range { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: transparent; + height: 1.5rem; + padding: 0; + width: 100%; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: + 0 0 0 1px #181818, + 0; +} +.form-range:focus::-moz-range-thumb { + box-shadow: + 0 0 0 1px #181818, + 0; +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + background-color: #3bafff; + border: 0; + border-radius: 1rem; + height: 1rem; + margin-top: -0.25rem; + -webkit-transition: + background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + transition: + background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + width: 1rem; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #c4e7ff; +} +.form-range::-webkit-slider-runnable-track { + background-color: var(--bs-secondary-bg); + border-color: transparent; + border-radius: 1rem; + color: transparent; + cursor: pointer; + height: 0.5rem; + width: 100%; +} +.form-range::-moz-range-thumb { + -moz-appearance: none; + appearance: none; + background-color: #3bafff; + border: 0; + border-radius: 1rem; + height: 1rem; + -moz-transition: + background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + transition: + background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + width: 1rem; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #c4e7ff; +} +.form-range::-moz-range-track { + background-color: var(--bs-secondary-bg); + border-color: transparent; + border-radius: 1rem; + color: transparent; + cursor: pointer; + height: 0.5rem; + width: 100%; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: var(--bs-secondary-color); +} +.form-range:disabled::-moz-range-thumb { + background-color: var(--bs-secondary-color); +} +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + 4px); + line-height: 1.25; + min-height: calc(3.5rem + 4px); +} +.form-floating > label { + border: 2px solid transparent; + height: 100%; + left: 0; + overflow: hidden; + padding: 1rem 0.75rem; + pointer-events: none; + position: absolute; + text-align: start; + text-overflow: ellipsis; + top: 0; + transform-origin: 0 0; + transition: + opacity 0.1s ease-in-out, + transform 0.1s ease-in-out; + white-space: nowrap; + z-index: 2; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 0.75rem; +} +.form-floating > .form-control-plaintext::-moz-placeholder, +.form-floating > .form-control::-moz-placeholder { + color: transparent; +} +.form-floating > .form-control-plaintext::placeholder, +.form-floating > .form-control::placeholder { + color: transparent; +} +.form-floating > .form-control-plaintext:not(:-moz-placeholder-shown), +.form-floating > .form-control:not(:-moz-placeholder-shown) { + padding-bottom: 0.625rem; + padding-top: 1.625rem; +} +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown), +.form-floating > .form-control:focus, +.form-floating > .form-control:not(:placeholder-shown) { + padding-bottom: 0.625rem; + padding-top: 1.625rem; +} +.form-floating > .form-control-plaintext:-webkit-autofill, +.form-floating > .form-control:-webkit-autofill { + padding-bottom: 0.625rem; + padding-top: 1.625rem; +} +.form-floating > .form-select { + padding-bottom: 0.625rem; + padding-top: 1.625rem; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + color: rgba(var(--bs-body-color-rgb), 0.65); + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-select ~ label { + color: rgba(var(--bs-body-color-rgb), 0.65); + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label:after { + background-color: #262626; + border-radius: 8px; + content: ''; + height: 1.5em; + inset: 1rem 0.375rem; + position: absolute; + z-index: -1; +} +.form-floating > .form-control-plaintext ~ label:after, +.form-floating > .form-control:focus ~ label:after, +.form-floating > .form-control:not(:placeholder-shown) ~ label:after, +.form-floating > .form-select ~ label:after { + background-color: #262626; + border-radius: 8px; + content: ''; + height: 1.5em; + inset: 1rem 0.375rem; + position: absolute; + z-index: -1; +} +.form-floating > .form-control:-webkit-autofill ~ label { + color: rgba(var(--bs-body-color-rgb), 0.65); + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control-plaintext ~ label { + border-width: 2px 0; +} +.form-floating > .form-control:disabled ~ label, +.form-floating > :disabled ~ label { + color: #484848; +} +.form-floating > .form-control:disabled ~ label:after, +.form-floating > :disabled ~ label:after { + background-color: #757575; +} +.input-group { + align-items: stretch; + display: flex; + flex-wrap: wrap; + position: relative; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-floating, +.input-group > .form-select { + flex: 1 1 auto; + min-width: 0; + position: relative; + width: 1%; +} +.input-group > .form-control:focus, +.input-group > .form-floating:focus-within, +.input-group > .form-select:focus { + z-index: 5; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 5; +} +.input-group-text { + align-items: center; + background-color: var(--bs-tertiary-bg); + border: 2px solid #2d2d2d; + border-radius: 8px; + color: #f6f6f6; + display: flex; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + padding: 0.375rem 0.75rem; + text-align: center; + white-space: nowrap; +} +.input-group-lg > .btn, +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text { + border-radius: var(--bs-border-radius-lg); + font-size: 1.25rem; + padding: 0.5rem 1rem; +} +.input-group-sm > .btn, +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text { + border-radius: var(--bs-border-radius-sm); + font-size: 0.875rem; + padding: 0.25rem 0.5rem; +} +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} +.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4), +.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-control, +.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-select, +.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3), +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select, +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + margin-left: -2px; +} +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.valid-feedback { + color: var(--bs-form-valid-color); + display: none; + font-size: 0.875em; + margin-top: 0.25rem; + width: 100%; +} +.valid-tooltip { + background-color: var(--bs-success); + border-radius: var(--bs-border-radius); + color: #fff; + display: none; + font-size: 0.875rem; + margin-top: 0.1rem; + max-width: 100%; + padding: 0.25rem 0.5rem; + position: absolute; + top: 100%; + z-index: 5; +} +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip, +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip { + display: block; +} +.form-control.is-valid, +.was-validated .form-control:valid { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%234fe883' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3E%3C/svg%3E"); + background-position: right calc(0.375em + 0.1875rem) center; + background-repeat: no-repeat; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); + border-color: var(--bs-form-valid-border-color); + padding-right: calc(1.5em + 0.75rem); +} +.form-control.is-valid:focus, +.was-validated .form-control:valid:focus { + border-color: var(--bs-form-valid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} +.was-validated textarea.form-control:valid, +textarea.form-control.is-valid { + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); + padding-right: calc(1.5em + 0.75rem); +} +.form-select.is-valid, +.was-validated .form-select:valid { + border-color: var(--bs-form-valid-border-color); +} +.form-select.is-valid:not([multiple]):not([size]), +.form-select.is-valid:not([multiple])[size='1'], +.was-validated .form-select:valid:not([multiple]):not([size]), +.was-validated .form-select:valid:not([multiple])[size='1'] { + --bs-form-select-bg-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%234fe883' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3E%3C/svg%3E"); + background-position: + right 0.75rem center, + center right 2.25rem; + background-size: + 16px 12px, + calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); + padding-right: 4.125rem; +} +.form-select.is-valid:focus, +.was-validated .form-select:valid:focus { + border-color: var(--bs-form-valid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} +.form-control-color.is-valid, +.was-validated .form-control-color:valid { + width: calc(3.75rem + 1.5em); +} +.form-check-input.is-valid, +.was-validated .form-check-input:valid { + border-color: var(--bs-form-valid-border-color); +} +.form-check-input.is-valid:checked, +.was-validated .form-check-input:valid:checked { + background-color: var(--bs-form-valid-color); +} +.form-check-input.is-valid:focus, +.was-validated .form-check-input:valid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} +.form-check-input.is-valid ~ .form-check-label, +.was-validated .form-check-input:valid ~ .form-check-label { + color: var(--bs-form-valid-color); +} +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} +.input-group > .form-control:not(:focus).is-valid, +.input-group > .form-floating:not(:focus-within).is-valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-control:not(:focus):valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.was-validated .input-group > .form-select:not(:focus):valid { + z-index: 3; +} +.invalid-feedback { + color: var(--bs-form-invalid-color); + display: none; + font-size: 0.875em; + margin-top: 0.25rem; + width: 100%; +} +.invalid-tooltip { + background-color: var(--bs-danger); + border-radius: var(--bs-border-radius); + color: #fff; + display: none; + font-size: 0.875rem; + margin-top: 0.1rem; + max-width: 100%; + padding: 0.25rem 0.5rem; + position: absolute; + top: 100%; + z-index: 5; +} +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip, +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip { + display: block; +} +.form-control.is-invalid, +.was-validated .form-control:invalid { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ff5951'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23ff5951' stroke='none'/%3E%3C/svg%3E"); + background-position: right calc(0.375em + 0.1875rem) center; + background-repeat: no-repeat; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); + border-color: var(--bs-form-invalid-border-color); + padding-right: calc(1.5em + 0.75rem); +} +.form-control.is-invalid:focus, +.was-validated .form-control:invalid:focus { + border-color: var(--bs-form-invalid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} +.was-validated textarea.form-control:invalid, +textarea.form-control.is-invalid { + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); + padding-right: calc(1.5em + 0.75rem); +} +.form-select.is-invalid, +.was-validated .form-select:invalid { + border-color: var(--bs-form-invalid-border-color); +} +.form-select.is-invalid:not([multiple]):not([size]), +.form-select.is-invalid:not([multiple])[size='1'], +.was-validated .form-select:invalid:not([multiple]):not([size]), +.was-validated .form-select:invalid:not([multiple])[size='1'] { + --bs-form-select-bg-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ff5951'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23ff5951' stroke='none'/%3E%3C/svg%3E"); + background-position: + right 0.75rem center, + center right 2.25rem; + background-size: + 16px 12px, + calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); + padding-right: 4.125rem; +} +.form-select.is-invalid:focus, +.was-validated .form-select:invalid:focus { + border-color: var(--bs-form-invalid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} +.form-control-color.is-invalid, +.was-validated .form-control-color:invalid { + width: calc(3.75rem + 1.5em); +} +.form-check-input.is-invalid, +.was-validated .form-check-input:invalid { + border-color: var(--bs-form-invalid-border-color); +} +.form-check-input.is-invalid:checked, +.was-validated .form-check-input:invalid:checked { + background-color: var(--bs-form-invalid-color); +} +.form-check-input.is-invalid:focus, +.was-validated .form-check-input:invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} +.form-check-input.is-invalid ~ .form-check-label, +.was-validated .form-check-input:invalid ~ .form-check-label { + color: var(--bs-form-invalid-color); +} +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} +.input-group > .form-control:not(:focus).is-invalid, +.input-group > .form-floating:not(:focus-within).is-invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-control:not(:focus):invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.was-validated .input-group > .form-select:not(:focus):invalid { + z-index: 4; +} +.btn { + --bs-btn-padding-x: 0.75rem; + --bs-btn-padding-y: 0.375rem; + --bs-btn-font-family: ; + --bs-btn-font-size: 1rem; + --bs-btn-font-weight: 600; + --bs-btn-line-height: 1.5; + --bs-btn-color: var(--bs-body-color); + --bs-btn-bg: transparent; + --bs-btn-border-width: 2px; + --bs-btn-border-color: transparent; + --bs-btn-border-radius: 8px; + --bs-btn-hover-border-color: transparent; + --bs-btn-box-shadow: inset 0 1px 0 hsla(0, 0%, 100%, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --bs-btn-disabled-opacity: 0.65; + --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), 0.5); + background-color: var(--bs-btn-bg); + border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); + border-radius: var(--bs-btn-border-radius); + color: var(--bs-btn-color); + cursor: pointer; + display: inline-block; + font-family: var(--bs-btn-font-family); + font-size: var(--bs-btn-font-size); + font-weight: var(--bs-btn-font-weight); + line-height: var(--bs-btn-line-height); + padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); + text-align: center; + transition: + color 0.15s ease-in-out, + background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + vertical-align: middle; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); + color: var(--bs-btn-hover-color); +} +.btn-check + .btn:hover { + background-color: var(--bs-btn-bg); + border-color: var(--bs-btn-border-color); + color: var(--bs-btn-color); +} +.btn:focus-visible { + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); + box-shadow: var(--bs-btn-focus-box-shadow); + color: var(--bs-btn-hover-color); + outline: 0; +} +.btn-check:focus-visible + .btn { + border-color: var(--bs-btn-hover-border-color); + box-shadow: var(--bs-btn-focus-box-shadow); + outline: 0; +} +.btn-check:checked + .btn, +.btn.active, +.btn.show, +.btn:first-child:active, +:not(.btn-check) + .btn:active { + background-color: var(--bs-btn-active-bg); + border-color: var(--bs-btn-active-border-color); + color: var(--bs-btn-active-color); +} +.btn-check:checked + .btn:focus-visible, +.btn.active:focus-visible, +.btn.show:focus-visible, +.btn:first-child:active:focus-visible, +:not(.btn-check) + .btn:active:focus-visible { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:checked:focus-visible + .btn { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn.disabled, +.btn:disabled, +fieldset:disabled .btn { + background-color: var(--bs-btn-disabled-bg); + border-color: var(--bs-btn-disabled-border-color); + color: var(--bs-btn-disabled-color); + opacity: var(--bs-btn-disabled-opacity); + pointer-events: none; +} +.btn-primary { + --bs-btn-color: #000; + --bs-btn-bg: #3bafff; + --bs-btn-border-color: #3bafff; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #58bbff; + --bs-btn-hover-border-color: #4fb7ff; + --bs-btn-focus-shadow-rgb: 50, 149, 217; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #62bfff; + --bs-btn-active-border-color: #4fb7ff; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #3bafff; + --bs-btn-disabled-border-color: #3bafff; +} +.btn-secondary { + --bs-btn-color: #fff; + --bs-btn-bg: #484848; + --bs-btn-border-color: #484848; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #3d3d3d; + --bs-btn-hover-border-color: #3a3a3a; + --bs-btn-focus-shadow-rgb: 99, 99, 99; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #3a3a3a; + --bs-btn-active-border-color: #363636; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #484848; + --bs-btn-disabled-border-color: #484848; +} +.btn-success { + --bs-btn-color: #000; + --bs-btn-bg: #4fe883; + --bs-btn-border-color: #4fe883; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #69eb96; + --bs-btn-hover-border-color: #61ea8f; + --bs-btn-focus-shadow-rgb: 67, 197, 111; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #72ed9c; + --bs-btn-active-border-color: #61ea8f; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #4fe883; + --bs-btn-disabled-border-color: #4fe883; +} +.btn-info { + --bs-btn-color: #000; + --bs-btn-bg: #6094f9; + --bs-btn-border-color: #6094f9; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #78a4fa; + --bs-btn-hover-border-color: #709ffa; + --bs-btn-focus-shadow-rgb: 82, 126, 212; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #80a9fa; + --bs-btn-active-border-color: #709ffa; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #6094f9; + --bs-btn-disabled-border-color: #6094f9; +} +.btn-warning { + --bs-btn-color: #000; + --bs-btn-bg: #ffc93f; + --bs-btn-border-color: #ffc93f; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ffd15c; + --bs-btn-hover-border-color: #ffce52; + --bs-btn-focus-shadow-rgb: 217, 171, 54; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ffd465; + --bs-btn-active-border-color: #ffce52; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #ffc93f; + --bs-btn-disabled-border-color: #ffc93f; +} +.btn-danger { + --bs-btn-color: #000; + --bs-btn-bg: #ff5951; + --bs-btn-border-color: #ff5951; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ff726b; + --bs-btn-hover-border-color: #ff6a62; + --bs-btn-focus-shadow-rgb: 217, 76, 69; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ff7a74; + --bs-btn-active-border-color: #ff6a62; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #ff5951; + --bs-btn-disabled-border-color: #ff5951; +} +.btn-light { + --bs-btn-color: #000; + --bs-btn-bg: #f6f6f6; + --bs-btn-border-color: #f6f6f6; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #d1d1d1; + --bs-btn-hover-border-color: #c5c5c5; + --bs-btn-focus-shadow-rgb: 209, 209, 209; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #c5c5c5; + --bs-btn-active-border-color: #b9b9b9; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #f6f6f6; + --bs-btn-disabled-border-color: #f6f6f6; +} +.btn-dark { + --bs-btn-color: #fff; + --bs-btn-bg: #1a1a1a; + --bs-btn-border-color: #1a1a1a; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #3c3c3c; + --bs-btn-hover-border-color: #313131; + --bs-btn-focus-shadow-rgb: 60, 60, 60; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #484848; + --bs-btn-active-border-color: #313131; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #1a1a1a; + --bs-btn-disabled-border-color: #1a1a1a; +} +.btn-outline-primary { + --bs-btn-color: #3bafff; + --bs-btn-border-color: #3bafff; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #3bafff; + --bs-btn-hover-border-color: #3bafff; + --bs-btn-focus-shadow-rgb: 59, 175, 255; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #3bafff; + --bs-btn-active-border-color: #3bafff; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #3bafff; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #3bafff; + --bs-gradient: none; +} +.btn-outline-secondary { + --bs-btn-color: #484848; + --bs-btn-border-color: #484848; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #484848; + --bs-btn-hover-border-color: #484848; + --bs-btn-focus-shadow-rgb: 72, 72, 72; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #484848; + --bs-btn-active-border-color: #484848; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #484848; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #484848; + --bs-gradient: none; +} +.btn-outline-success { + --bs-btn-color: #4fe883; + --bs-btn-border-color: #4fe883; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #4fe883; + --bs-btn-hover-border-color: #4fe883; + --bs-btn-focus-shadow-rgb: 79, 232, 131; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #4fe883; + --bs-btn-active-border-color: #4fe883; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #4fe883; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #4fe883; + --bs-gradient: none; +} +.btn-outline-info { + --bs-btn-color: #6094f9; + --bs-btn-border-color: #6094f9; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #6094f9; + --bs-btn-hover-border-color: #6094f9; + --bs-btn-focus-shadow-rgb: 96, 148, 249; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #6094f9; + --bs-btn-active-border-color: #6094f9; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #6094f9; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #6094f9; + --bs-gradient: none; +} +.btn-outline-warning { + --bs-btn-color: #ffc93f; + --bs-btn-border-color: #ffc93f; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ffc93f; + --bs-btn-hover-border-color: #ffc93f; + --bs-btn-focus-shadow-rgb: 255, 201, 63; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ffc93f; + --bs-btn-active-border-color: #ffc93f; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #ffc93f; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #ffc93f; + --bs-gradient: none; +} +.btn-outline-danger { + --bs-btn-color: #ff5951; + --bs-btn-border-color: #ff5951; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ff5951; + --bs-btn-hover-border-color: #ff5951; + --bs-btn-focus-shadow-rgb: 255, 89, 81; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ff5951; + --bs-btn-active-border-color: #ff5951; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #ff5951; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #ff5951; + --bs-gradient: none; +} +.btn-outline-light { + --bs-btn-color: #f6f6f6; + --bs-btn-border-color: #f6f6f6; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f6f6f6; + --bs-btn-hover-border-color: #f6f6f6; + --bs-btn-focus-shadow-rgb: 246, 246, 246; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f6f6f6; + --bs-btn-active-border-color: #f6f6f6; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #f6f6f6; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #f6f6f6; + --bs-gradient: none; +} +.btn-outline-dark { + --bs-btn-color: #1a1a1a; + --bs-btn-border-color: #1a1a1a; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #1a1a1a; + --bs-btn-hover-border-color: #1a1a1a; + --bs-btn-focus-shadow-rgb: 26, 26, 26; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #1a1a1a; + --bs-btn-active-border-color: #1a1a1a; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #1a1a1a; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #1a1a1a; + --bs-gradient: none; +} +.btn-link { + --bs-btn-font-weight: 400; + --bs-btn-color: var(--bs-link-color); + --bs-btn-bg: transparent; + --bs-btn-border-color: transparent; + --bs-btn-hover-color: var(--bs-link-hover-color); + --bs-btn-hover-border-color: transparent; + --bs-btn-active-color: var(--bs-link-hover-color); + --bs-btn-active-border-color: transparent; + --bs-btn-disabled-color: #484848; + --bs-btn-disabled-border-color: transparent; + --bs-btn-box-shadow: 0 0 0 #000; + --bs-btn-focus-shadow-rgb: 50, 149, 217; + text-decoration: none; +} +.btn-link:focus-visible { + color: var(--bs-btn-color); +} +.btn-link:hover { + color: var(--bs-btn-hover-color); +} +.btn-group-lg > .btn, +.btn-lg { + --bs-btn-padding-y: 0.5rem; + --bs-btn-padding-x: 1rem; + --bs-btn-font-size: 1.25rem; + --bs-btn-border-radius: var(--bs-border-radius-lg); +} +.btn-group-sm > .btn, +.btn-sm { + --bs-btn-padding-y: 2px; + --bs-btn-padding-x: 0.5rem; + --bs-btn-font-size: 0.875rem; + --bs-btn-border-radius: 8px; +} +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} +.collapse:not(.show) { + display: none; +} +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + height: auto; + transition: width 0.35s ease; + width: 0; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} +.dropdown, +.dropdown-center, +.dropend, +.dropstart, +.dropup, +.dropup-center { + position: relative; +} +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle:after { + border-bottom: 0; + border-left: 0.3em solid transparent; + border-right: 0.3em solid transparent; + border-top: 0.3em solid; + content: ''; + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; +} +.dropdown-toggle:empty:after { + margin-left: 0; +} +.dropdown-menu { + --bs-dropdown-zindex: 1000; + --bs-dropdown-min-width: 10rem; + --bs-dropdown-padding-x: 0; + --bs-dropdown-padding-y: 0.5rem; + --bs-dropdown-spacer: 0.125rem; + --bs-dropdown-font-size: 1rem; + --bs-dropdown-color: #f6f6f6; + --bs-dropdown-bg: #2d2d2d; + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-border-radius: var(--bs-border-radius); + --bs-dropdown-border-width: var(--bs-border-width); + --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width)); + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-divider-margin-y: 0.5rem; + --bs-dropdown-box-shadow: var(--bs-box-shadow); + --bs-dropdown-link-color: #f6f6f6; + --bs-dropdown-link-hover-color: #f6f6f6; + --bs-dropdown-link-hover-bg: #484848; + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #3bafff; + --bs-dropdown-link-disabled-color: var(--bs-tertiary-color); + --bs-dropdown-item-padding-x: 1rem; + --bs-dropdown-item-padding-y: 0.25rem; + --bs-dropdown-header-color: #484848; + --bs-dropdown-header-padding-x: 1rem; + --bs-dropdown-header-padding-y: 0.5rem; + background-clip: padding-box; + background-color: var(--bs-dropdown-bg); + border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); + border-radius: var(--bs-dropdown-border-radius); + color: var(--bs-dropdown-color); + display: none; + font-size: var(--bs-dropdown-font-size); + list-style: none; + margin: 0; + min-width: var(--bs-dropdown-min-width); + padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); + position: absolute; + text-align: left; + z-index: var(--bs-dropdown-zindex); +} +.dropdown-menu[data-bs-popper] { + left: 0; + margin-top: var(--bs-dropdown-spacer); + top: 100%; +} +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + left: 0; + right: auto; +} +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + left: auto; + right: 0; +} +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + left: 0; + right: auto; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + left: auto; + right: 0; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + left: 0; + right: auto; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + left: auto; + right: 0; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + left: 0; + right: auto; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + left: auto; + right: 0; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + left: 0; + right: auto; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + left: auto; + right: 0; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + left: 0; + right: auto; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + left: auto; + right: 0; + } +} +.dropup .dropdown-menu[data-bs-popper] { + bottom: 100%; + margin-bottom: var(--bs-dropdown-spacer); + margin-top: 0; + top: auto; +} +.dropup .dropdown-toggle:after { + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; + border-right: 0.3em solid transparent; + border-top: 0; + content: ''; + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; +} +.dropup .dropdown-toggle:empty:after { + margin-left: 0; +} +.dropend .dropdown-menu[data-bs-popper] { + left: 100%; + margin-left: var(--bs-dropdown-spacer); + margin-top: 0; + right: auto; + top: 0; +} +.dropend .dropdown-toggle:after { + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; + border-right: 0; + border-top: 0.3em solid transparent; + content: ''; + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; +} +.dropend .dropdown-toggle:empty:after { + margin-left: 0; +} +.dropend .dropdown-toggle:after { + vertical-align: 0; +} +.dropstart .dropdown-menu[data-bs-popper] { + left: auto; + margin-right: var(--bs-dropdown-spacer); + margin-top: 0; + right: 100%; + top: 0; +} +.dropstart .dropdown-toggle:after { + content: ''; + display: inline-block; + display: none; + margin-left: 0.255em; + vertical-align: 0.255em; +} +.dropstart .dropdown-toggle:before { + border-bottom: 0.3em solid transparent; + border-right: 0.3em solid; + border-top: 0.3em solid transparent; + content: ''; + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; +} +.dropstart .dropdown-toggle:empty:after { + margin-left: 0; +} +.dropstart .dropdown-toggle:before { + vertical-align: 0; +} +.dropdown-divider { + border-top: 1px solid var(--bs-dropdown-divider-bg); + height: 0; + margin: var(--bs-dropdown-divider-margin-y) 0; + opacity: 1; + overflow: hidden; +} +.dropdown-item { + background-color: transparent; + border: 0; + border-radius: var(--bs-dropdown-item-border-radius, 0); + clear: both; + color: var(--bs-dropdown-link-color); + display: block; + font-weight: 400; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + text-align: inherit; + white-space: nowrap; + width: 100%; +} +.dropdown-item:focus, +.dropdown-item:hover { + background-color: var(--bs-dropdown-link-hover-bg); + color: var(--bs-dropdown-link-hover-color); +} +.dropdown-item.active, +.dropdown-item:active { + background-color: var(--bs-dropdown-link-active-bg); + color: var(--bs-dropdown-link-active-color); + text-decoration: none; +} +.dropdown-item.disabled, +.dropdown-item:disabled { + background-color: transparent; + color: var(--bs-dropdown-link-disabled-color); + pointer-events: none; +} +.dropdown-menu.show { + display: block; +} +.dropdown-header { + color: var(--bs-dropdown-header-color); + display: block; + font-size: 0.875rem; + margin-bottom: 0; + padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x); + white-space: nowrap; +} +.dropdown-item-text { + color: var(--bs-dropdown-link-color); + display: block; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); +} +.dropdown-menu-dark { + --bs-dropdown-color: #cacaca; + --bs-dropdown-bg: #3c3c3c; + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-box-shadow: ; + --bs-dropdown-link-color: #cacaca; + --bs-dropdown-link-hover-color: #fff; + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-link-hover-bg: hsla(0, 0%, 100%, 0.15); + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #3bafff; + --bs-dropdown-link-disabled-color: #757575; + --bs-dropdown-header-color: #757575; +} +.btn-group, +.btn-group-vertical { + display: inline-flex; + position: relative; + vertical-align: middle; +} +.btn-group-vertical > .btn, +.btn-group > .btn { + flex: 1 1 auto; + position: relative; +} +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn.active, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:hover, +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn.active, +.btn-group > .btn:active, +.btn-group > .btn:focus, +.btn-group > .btn:hover { + z-index: 1; +} +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} +.btn-group { + border-radius: 8px; +} +.btn-group > .btn-group:not(:first-child), +.btn-group > :not(.btn-check:first-child) + .btn { + margin-left: -2px; +} +.btn-group > .btn-group:not(:last-child) > .btn, +.btn-group > .btn.dropdown-toggle-split:first-child, +.btn-group > .btn:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:not(:first-child) > .btn, +.btn-group > .btn:nth-child(n + 3), +.btn-group > :not(.btn-check) + .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.dropdown-toggle-split { + padding-left: 0.5625rem; + padding-right: 0.5625rem; +} +.dropdown-toggle-split:after, +.dropend .dropdown-toggle-split:after, +.dropup .dropdown-toggle-split:after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split:before { + margin-right: 0; +} +.btn-group-sm > .btn + .dropdown-toggle-split, +.btn-sm + .dropdown-toggle-split { + padding-left: 0.375rem; + padding-right: 0.375rem; +} +.btn-group-lg > .btn + .dropdown-toggle-split, +.btn-lg + .dropdown-toggle-split { + padding-left: 0.75rem; + padding-right: 0.75rem; +} +.btn-group-vertical { + align-items: flex-start; + flex-direction: column; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn-group:not(:first-child), +.btn-group-vertical > .btn:not(:first-child) { + margin-top: -2px; +} +.btn-group-vertical > .btn-group:not(:last-child) > .btn, +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle) { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group-vertical > .btn-group:not(:first-child) > .btn, +.btn-group-vertical > .btn ~ .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.nav { + --bs-nav-link-padding-x: 1rem; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: #f6f6f6; + --bs-nav-link-hover-color: var(--bs-link-hover-color); + --bs-nav-link-disabled-color: var(--bs-secondary-color); + display: flex; + flex-wrap: wrap; + list-style: none; + margin-bottom: 0; + padding-left: 0; +} +.nav-link { + background: none; + border: 0; + color: var(--bs-nav-link-color); + display: block; + font-size: var(--bs-nav-link-font-size); + font-weight: var(--bs-nav-link-font-weight); + padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); + transition: + color 0.15s ease-in-out, + background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:focus, +.nav-link:hover { + color: var(--bs-nav-link-hover-color); +} +.nav-link:focus-visible { + box-shadow: 0 0 0 0.25rem rgba(59, 175, 255, 0.25); + outline: 0; +} +.nav-link.disabled, +.nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + cursor: default; + pointer-events: none; +} +.nav-tabs { + --bs-nav-tabs-border-width: var(--bs-border-width); + --bs-nav-tabs-border-color: var(--bs-border-color); + --bs-nav-tabs-border-radius: var(--bs-border-radius); + --bs-nav-tabs-link-hover-border-color: rgba(0, 0, 0, 0.125); + --bs-nav-tabs-link-active-color: #3bafff; + --bs-nav-tabs-link-active-bg: var(--bs-body-bg); + --bs-nav-tabs-link-active-border-color: rgba(0, 0, 0, 0.125); + border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); +} +.nav-tabs .nav-link { + border: var(--bs-nav-tabs-border-width) solid transparent; + border-top-left-radius: var(--bs-nav-tabs-border-radius); + border-top-right-radius: var(--bs-nav-tabs-border-radius); + margin-bottom: calc(var(--bs-nav-tabs-border-width) * -1); +} +.nav-tabs .nav-link:focus, +.nav-tabs .nav-link:hover { + border-color: var(--bs-nav-tabs-link-hover-border-color); + isolation: isolate; +} +.nav-tabs .nav-item.show .nav-link, +.nav-tabs .nav-link.active { + background-color: var(--bs-nav-tabs-link-active-bg); + border-color: var(--bs-nav-tabs-link-active-border-color); + color: var(--bs-nav-tabs-link-active-color); +} +.nav-tabs .dropdown-menu { + border-top-left-radius: 0; + border-top-right-radius: 0; + margin-top: calc(var(--bs-nav-tabs-border-width) * -1); +} +.nav-pills { + --bs-nav-pills-border-radius: 8px; + --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-bg: #3bafff; +} +.nav-pills .nav-link { + border-radius: var(--bs-nav-pills-border-radius); +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + background-color: var(--bs-nav-pills-link-active-bg); + color: var(--bs-nav-pills-link-active-color); +} +.nav-underline { + --bs-nav-underline-gap: 1rem; + --bs-nav-underline-border-width: 0.125rem; + --bs-nav-underline-link-active-color: var(--bs-emphasis-color); + gap: var(--bs-nav-underline-gap); +} +.nav-underline .nav-link { + border-bottom: var(--bs-nav-underline-border-width) solid transparent; + padding-left: 0; + padding-right: 0; +} +.nav-underline .nav-link:focus, +.nav-underline .nav-link:hover { + border-bottom-color: currentcolor; +} +.nav-underline .nav-link.active, +.nav-underline .show > .nav-link { + border-bottom-color: currentcolor; + color: var(--bs-nav-underline-link-active-color); + font-weight: 700; +} +.nav-fill .nav-item, +.nav-fill > .nav-link { + flex: 1 1 auto; + text-align: center; +} +.nav-justified .nav-item, +.nav-justified > .nav-link { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.navbar { + --bs-navbar-padding-x: 0; + --bs-navbar-padding-y: 0.5rem; + --bs-navbar-color: hsla(0, 0%, 100%, 0.85); + --bs-navbar-hover-color: hsla(0, 0%, 100%, 0.7); + --bs-navbar-disabled-color: hsla(0, 0%, 100%, 0.25); + --bs-navbar-active-color: hsla(0, 0%, 100%, 0.9); + --bs-navbar-brand-padding-y: 0.3125rem; + --bs-navbar-brand-margin-end: 1rem; + --bs-navbar-brand-font-size: 1.25rem; + --bs-navbar-brand-color: hsla(0, 0%, 100%, 0.9); + --bs-navbar-brand-hover-color: hsla(0, 0%, 100%, 0.9); + --bs-navbar-nav-link-padding-x: 0.5rem; + --bs-navbar-toggler-padding-y: 0.25rem; + --bs-navbar-toggler-padding-x: 0.75rem; + --bs-navbar-toggler-font-size: 1.25rem; + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); + --bs-navbar-toggler-border-color: hsla(0, 0%, 100%, 0.1); + --bs-navbar-toggler-border-radius: 8px; + --bs-navbar-toggler-focus-width: 0.25rem; + --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); + position: relative; +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-lg, +.navbar > .container-md, +.navbar > .container-sm, +.navbar > .container-xl, +.navbar > .container-xxl { + align-items: center; + display: flex; + flex-wrap: inherit; + justify-content: space-between; +} +.navbar-brand { + color: var(--bs-navbar-brand-color); + font-size: var(--bs-navbar-brand-font-size); + margin-right: var(--bs-navbar-brand-margin-end); + padding-bottom: var(--bs-navbar-brand-padding-y); + padding-top: var(--bs-navbar-brand-padding-y); + white-space: nowrap; +} +.navbar-brand:focus, +.navbar-brand:hover { + color: var(--bs-navbar-brand-hover-color); +} +.navbar-nav { + --bs-nav-link-padding-x: 0; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-navbar-color); + --bs-nav-link-hover-color: var(--bs-navbar-hover-color); + --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color); + display: flex; + flex-direction: column; + list-style: none; + margin-bottom: 0; + padding-left: 0; +} +.navbar-nav .nav-link.active, +.navbar-nav .nav-link.show { + color: var(--bs-navbar-active-color); +} +.navbar-nav .dropdown-menu { + position: static; +} +.navbar-text { + color: var(--bs-navbar-color); + padding-bottom: 0.5rem; + padding-top: 0.5rem; +} +.navbar-text a, +.navbar-text a:focus, +.navbar-text a:hover { + color: var(--bs-navbar-active-color); +} +.navbar-collapse { + align-items: center; + flex-basis: 100%; + flex-grow: 1; +} +.navbar-toggler { + background-color: transparent; + border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); + border-radius: var(--bs-navbar-toggler-border-radius); + color: var(--bs-navbar-color); + font-size: var(--bs-navbar-toggler-font-size); + line-height: 1; + padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); + transition: var(--bs-navbar-toggler-transition); +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width); + outline: 0; + text-decoration: none; +} +.navbar-toggler-icon { + background-image: var(--bs-navbar-toggler-icon-bg); + background-position: 50%; + background-repeat: no-repeat; + background-size: 100%; + display: inline-block; + height: 1.5em; + vertical-align: middle; + width: 1.5em; +} +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-left: var(--bs-navbar-nav-link-padding-x); + padding-right: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas { + background-color: transparent !important; + border: 0 !important; + flex-grow: 1; + height: auto !important; + position: static; + transform: none !important; + transition: none; + visibility: visible !important; + width: auto !important; + z-index: auto; + } + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + overflow-y: visible; + padding: 0; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-left: var(--bs-navbar-nav-link-padding-x); + padding-right: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas { + background-color: transparent !important; + border: 0 !important; + flex-grow: 1; + height: auto !important; + position: static; + transform: none !important; + transition: none; + visibility: visible !important; + width: auto !important; + z-index: auto; + } + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + overflow-y: visible; + padding: 0; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-left: var(--bs-navbar-nav-link-padding-x); + padding-right: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas { + background-color: transparent !important; + border: 0 !important; + flex-grow: 1; + height: auto !important; + position: static; + transform: none !important; + transition: none; + visibility: visible !important; + width: auto !important; + z-index: auto; + } + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + overflow-y: visible; + padding: 0; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-left: var(--bs-navbar-nav-link-padding-x); + padding-right: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas { + background-color: transparent !important; + border: 0 !important; + flex-grow: 1; + height: auto !important; + position: static; + transform: none !important; + transition: none; + visibility: visible !important; + width: auto !important; + z-index: auto; + } + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + overflow-y: visible; + padding: 0; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-left: var(--bs-navbar-nav-link-padding-x); + padding-right: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas { + background-color: transparent !important; + border: 0 !important; + flex-grow: 1; + height: auto !important; + position: static; + transform: none !important; + transition: none; + visibility: visible !important; + width: auto !important; + z-index: auto; + } + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + overflow-y: visible; + padding: 0; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-left: var(--bs-navbar-nav-link-padding-x); + padding-right: var(--bs-navbar-nav-link-padding-x); +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas { + background-color: transparent !important; + border: 0 !important; + flex-grow: 1; + height: auto !important; + position: static; + transform: none !important; + transition: none; + visibility: visible !important; + width: auto !important; + z-index: auto; +} +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + overflow-y: visible; + padding: 0; +} +.navbar-dark, +.navbar[data-bs-theme='dark'] { + --bs-navbar-color: hsla(0, 0%, 100%, 0.55); + --bs-navbar-hover-color: hsla(0, 0%, 100%, 0.75); + --bs-navbar-disabled-color: hsla(0, 0%, 100%, 0.25); + --bs-navbar-active-color: #fff; + --bs-navbar-brand-color: #fff; + --bs-navbar-brand-hover-color: #fff; + --bs-navbar-toggler-border-color: hsla(0, 0%, 100%, 0.1); +} +.navbar-dark, +.navbar[data-bs-theme='dark'], +[data-bs-theme='dark'] .navbar-toggler-icon { + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); +} +.card { + --bs-card-spacer-y: 1rem; + --bs-card-spacer-x: 1rem; + --bs-card-title-spacer-y: 0.5rem; + --bs-card-title-color: ; + --bs-card-subtitle-color: ; + --bs-card-border-width: 1px; + --bs-card-border-color: #484848; + --bs-card-border-radius: 15px; + --bs-card-box-shadow: ; + --bs-card-inner-border-radius: 14px; + --bs-card-cap-padding-y: 0.5rem; + --bs-card-cap-padding-x: 1rem; + --bs-card-cap-bg: #1a1a1a; + --bs-card-cap-color: ; + --bs-card-height: ; + --bs-card-color: ; + --bs-card-bg: #262626; + --bs-card-img-overlay-padding: 1rem; + --bs-card-group-margin: 0.75rem; + color: var(--bs-body-color); + display: flex; + flex-direction: column; + height: var(--bs-card-height); + min-width: 0; + position: relative; + word-wrap: break-word; + background-clip: border-box; + background-color: var(--bs-card-bg); + border: var(--bs-card-border-width) solid var(--bs-card-border-color); + border-radius: var(--bs-card-border-radius); +} +.card > hr { + margin-left: 0; + margin-right: 0; +} +.card > .list-group { + border-bottom: inherit; + border-top: inherit; +} +.card > .list-group:first-child { + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); + border-top-width: 0; +} +.card > .list-group:last-child { + border-bottom-left-radius: var(--bs-card-inner-border-radius); + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-width: 0; +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} +.card-body { + color: var(--bs-card-color); + flex: 1 1 auto; + padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); +} +.card-title { + color: var(--bs-card-title-color); + margin-bottom: var(--bs-card-title-spacer-y); +} +.card-subtitle { + color: var(--bs-card-subtitle-color); + margin-top: calc(var(--bs-card-title-spacer-y) * -0.5); +} +.card-subtitle, +.card-text:last-child { + margin-bottom: 0; +} +.card-link + .card-link { + margin-left: var(--bs-card-spacer-x); +} +.card-header { + background-color: var(--bs-card-cap-bg); + border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); + color: var(--bs-card-cap-color); + margin-bottom: 0; + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); +} +.card-header:first-child { + border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; +} +.card-footer { + background-color: var(--bs-card-cap-bg); + border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); + color: var(--bs-card-cap-color); + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); +} +.card-footer:last-child { + border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); +} +.card-header-tabs { + border-bottom: 0; + margin-bottom: calc(var(--bs-card-cap-padding-y) * -1); + margin-left: calc(var(--bs-card-cap-padding-x) * -0.5); + margin-right: calc(var(--bs-card-cap-padding-x) * -0.5); +} +.card-header-tabs .nav-link.active { + background-color: var(--bs-card-bg); + border-bottom-color: var(--bs-card-bg); +} +.card-header-pills { + margin-left: calc(var(--bs-card-cap-padding-x) * -0.5); + margin-right: calc(var(--bs-card-cap-padding-x) * -0.5); +} +.card-img-overlay { + border-radius: var(--bs-card-inner-border-radius); + bottom: 0; + left: 0; + padding: var(--bs-card-img-overlay-padding); + position: absolute; + right: 0; + top: 0; +} +.card-img, +.card-img-bottom, +.card-img-top { + width: 100%; +} +.card-img, +.card-img-top { + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} +.card-img, +.card-img-bottom { + border-bottom-left-radius: var(--bs-card-inner-border-radius); + border-bottom-right-radius: var(--bs-card-inner-border-radius); +} +.card-group > .card { + margin-bottom: var(--bs-card-group-margin); +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + border-left: 0; + margin-left: 0; + } + .card-group > .card:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-header, + .card-group > .card:not(:last-child) .card-img-top { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-footer, + .card-group > .card:not(:last-child) .card-img-bottom { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-header, + .card-group > .card:not(:first-child) .card-img-top { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-footer, + .card-group > .card:not(:first-child) .card-img-bottom { + border-bottom-left-radius: 0; + } +} +.accordion { + --bs-accordion-color: var(--bs-body-color); + --bs-accordion-bg: var(--bs-body-bg); + --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; + --bs-accordion-border-color: var(--bs-border-color); + --bs-accordion-border-width: var(--bs-border-width); + --bs-accordion-border-radius: var(--bs-border-radius); + --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width)); + --bs-accordion-btn-padding-x: 1.25rem; + --bs-accordion-btn-padding-y: 1rem; + --bs-accordion-btn-color: var(--bs-body-color); + --bs-accordion-btn-bg: var(--bs-accordion-bg); + --bs-accordion-btn-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='m2 5 6 6 6-6'/%3E%3C/svg%3E"); + --bs-accordion-btn-icon-width: 1.25rem; + --bs-accordion-btn-icon-transform: rotate(-180deg); + --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; + --bs-accordion-btn-active-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23184666' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='m2 5 6 6 6-6'/%3E%3C/svg%3E"); + --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(59, 175, 255, 0.25); + --bs-accordion-body-padding-x: 1.25rem; + --bs-accordion-body-padding-y: 1rem; + --bs-accordion-active-color: var(--bs-primary-text-emphasis); + --bs-accordion-active-bg: var(--bs-primary-bg-subtle); +} +.accordion-button { + align-items: center; + background-color: var(--bs-accordion-btn-bg); + border: 0; + border-radius: 0; + color: var(--bs-accordion-btn-color); + display: flex; + font-size: 1rem; + overflow-anchor: none; + padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); + position: relative; + text-align: left; + transition: var(--bs-accordion-transition); + width: 100%; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + background-color: var(--bs-accordion-active-bg); + box-shadow: inset 0 calc(var(--bs-accordion-border-width) * -1) 0 var(--bs-accordion-border-color); + color: var(--bs-accordion-active-color); +} +.accordion-button:not(.collapsed):after { + background-image: var(--bs-accordion-btn-active-icon); + transform: var(--bs-accordion-btn-icon-transform); +} +.accordion-button:after { + background-image: var(--bs-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--bs-accordion-btn-icon-width); + content: ''; + flex-shrink: 0; + height: var(--bs-accordion-btn-icon-width); + margin-left: auto; + transition: var(--bs-accordion-btn-icon-transition); + width: var(--bs-accordion-btn-icon-width); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button:after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + box-shadow: var(--bs-accordion-btn-focus-box-shadow); + outline: 0; + z-index: 3; +} +.accordion-header { + margin-bottom: 0; +} +.accordion-item { + background-color: var(--bs-accordion-bg); + border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); + color: var(--bs-accordion-color); +} +.accordion-item:first-of-type { + border-top-left-radius: var(--bs-accordion-border-radius); + border-top-right-radius: var(--bs-accordion-border-radius); +} +.accordion-item:first-of-type > .accordion-header .accordion-button { + border-top-left-radius: var(--bs-accordion-inner-border-radius); + border-top-right-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-left-radius: var(--bs-accordion-border-radius); + border-bottom-right-radius: var(--bs-accordion-border-radius); +} +.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed { + border-bottom-left-radius: var(--bs-accordion-inner-border-radius); + border-bottom-right-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:last-of-type > .accordion-collapse { + border-bottom-left-radius: var(--bs-accordion-border-radius); + border-bottom-right-radius: var(--bs-accordion-border-radius); +} +.accordion-body { + padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); +} +.accordion-flush > .accordion-item { + border-left: 0; + border-radius: 0; + border-right: 0; +} +.accordion-flush > .accordion-item:first-child { + border-top: 0; +} +.accordion-flush > .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush > .accordion-item > .accordion-collapse, +.accordion-flush > .accordion-item > .accordion-header .accordion-button, +.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed { + border-radius: 0; +} +[data-bs-theme='dark'] .accordion-button:after { + --bs-accordion-btn-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2389cfff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E"); + --bs-accordion-btn-active-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2389cfff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E"); +} +.breadcrumb { + --bs-breadcrumb-padding-x: 0; + --bs-breadcrumb-padding-y: 0; + --bs-breadcrumb-margin-bottom: 1rem; + --bs-breadcrumb-bg: ; + --bs-breadcrumb-border-radius: ; + --bs-breadcrumb-divider-color: var(--bs-secondary-color); + --bs-breadcrumb-item-padding-x: 0.5rem; + --bs-breadcrumb-item-active-color: var(--bs-secondary-color); + background-color: var(--bs-breadcrumb-bg); + border-radius: var(--bs-breadcrumb-border-radius); + display: flex; + flex-wrap: wrap; + font-size: var(--bs-breadcrumb-font-size); + list-style: none; + margin-bottom: var(--bs-breadcrumb-margin-bottom); + padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); +} +.breadcrumb-item + .breadcrumb-item { + padding-left: var(--bs-breadcrumb-item-padding-x); +} +.breadcrumb-item + .breadcrumb-item:before { + color: var(--bs-breadcrumb-divider-color); + content: var(--bs-breadcrumb-divider, '/'); + float: left; + padding-right: var(--bs-breadcrumb-item-padding-x); +} +.breadcrumb-item.active { + color: var(--bs-breadcrumb-item-active-color); +} +.pagination { + --bs-pagination-padding-x: 0.75rem; + --bs-pagination-padding-y: 0.375rem; + --bs-pagination-font-size: 1rem; + --bs-pagination-color: #f6f6f6; + --bs-pagination-bg: #2d2d2d; + --bs-pagination-border-width: var(--bs-border-width); + --bs-pagination-border-color: #484848; + --bs-pagination-border-radius: var(--bs-border-radius); + --bs-pagination-hover-color: #f6f6f6; + --bs-pagination-hover-bg: #3c3c3c; + --bs-pagination-hover-border-color: #757575; + --bs-pagination-focus-color: #f6f6f6; + --bs-pagination-focus-bg: #484848; + --bs-pagination-focus-box-shadow: none; + --bs-pagination-active-color: #fff; + --bs-pagination-active-bg: #3bafff; + --bs-pagination-active-border-color: #3bafff; + --bs-pagination-disabled-color: #f6f6f6; + --bs-pagination-disabled-bg: #3c3c3c; + --bs-pagination-disabled-border-color: #2d2d2d; + display: flex; + list-style: none; + padding-left: 0; +} +.page-link { + background-color: var(--bs-pagination-bg); + border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color); + color: var(--bs-pagination-color); + display: block; + font-size: var(--bs-pagination-font-size); + padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x); + position: relative; + transition: + color 0.15s ease-in-out, + background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + background-color: var(--bs-pagination-hover-bg); + border-color: var(--bs-pagination-hover-border-color); + color: var(--bs-pagination-hover-color); + z-index: 2; +} +.page-link:focus { + background-color: var(--bs-pagination-focus-bg); + box-shadow: var(--bs-pagination-focus-box-shadow); + color: var(--bs-pagination-focus-color); + outline: 0; + z-index: 3; +} +.active > .page-link, +.page-link.active { + background-color: var(--bs-pagination-active-bg); + border-color: var(--bs-pagination-active-border-color); + color: var(--bs-pagination-active-color); + z-index: 3; +} +.disabled > .page-link, +.page-link.disabled { + background-color: var(--bs-pagination-disabled-bg); + border-color: var(--bs-pagination-disabled-border-color); + color: var(--bs-pagination-disabled-color); + pointer-events: none; +} +.page-item:not(:first-child) .page-link { + margin-left: calc(var(--bs-border-width) * -1); +} +.page-item:first-child .page-link { + border-bottom-left-radius: var(--bs-pagination-border-radius); + border-top-left-radius: var(--bs-pagination-border-radius); +} +.page-item:last-child .page-link { + border-bottom-right-radius: var(--bs-pagination-border-radius); + border-top-right-radius: var(--bs-pagination-border-radius); +} +.pagination-lg { + --bs-pagination-padding-x: 1.5rem; + --bs-pagination-padding-y: 0.75rem; + --bs-pagination-font-size: 1.25rem; + --bs-pagination-border-radius: var(--bs-border-radius-lg); +} +.pagination-sm { + --bs-pagination-padding-x: 0.5rem; + --bs-pagination-padding-y: 0.25rem; + --bs-pagination-font-size: 0.875rem; + --bs-pagination-border-radius: var(--bs-border-radius-sm); +} +.badge { + --bs-badge-padding-x: 0.65em; + --bs-badge-padding-y: 0.35em; + --bs-badge-font-size: 0.75em; + --bs-badge-font-weight: 700; + --bs-badge-color: #fff; + --bs-badge-border-radius: var(--bs-border-radius); + border-radius: var(--bs-badge-border-radius); + color: var(--bs-badge-color); + display: inline-block; + font-size: var(--bs-badge-font-size); + font-weight: var(--bs-badge-font-weight); + line-height: 1; + padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); + text-align: center; + vertical-align: baseline; + white-space: nowrap; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.alert { + --bs-alert-bg: transparent; + --bs-alert-padding-x: 1rem; + --bs-alert-padding-y: 1rem; + --bs-alert-margin-bottom: 1rem; + --bs-alert-color: inherit; + --bs-alert-border-color: transparent; + --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color); + --bs-alert-border-radius: var(--bs-border-radius); + --bs-alert-link-color: inherit; + background-color: var(--bs-alert-bg); + border: var(--bs-alert-border); + border-radius: var(--bs-alert-border-radius); + color: var(--bs-alert-color); + margin-bottom: var(--bs-alert-margin-bottom); + padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); + position: relative; +} +.alert-heading { + color: inherit; +} +.alert-link { + color: var(--bs-alert-link-color); + font-weight: 700; +} +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + padding: 1.25rem 1rem; + position: absolute; + right: 0; + top: 0; + z-index: 2; +} +.alert-primary { + --bs-alert-color: var(--bs-primary-text-emphasis); + --bs-alert-bg: var(--bs-primary-bg-subtle); + --bs-alert-border-color: var(--bs-primary-border-subtle); + --bs-alert-link-color: var(--bs-primary-text-emphasis); +} +.alert-secondary { + --bs-alert-color: var(--bs-secondary-text-emphasis); + --bs-alert-bg: var(--bs-secondary-bg-subtle); + --bs-alert-border-color: var(--bs-secondary-border-subtle); + --bs-alert-link-color: var(--bs-secondary-text-emphasis); +} +.alert-success { + --bs-alert-color: var(--bs-success-text-emphasis); + --bs-alert-bg: var(--bs-success-bg-subtle); + --bs-alert-border-color: var(--bs-success-border-subtle); + --bs-alert-link-color: var(--bs-success-text-emphasis); +} +.alert-info { + --bs-alert-color: var(--bs-info-text-emphasis); + --bs-alert-bg: var(--bs-info-bg-subtle); + --bs-alert-border-color: var(--bs-info-border-subtle); + --bs-alert-link-color: var(--bs-info-text-emphasis); +} +.alert-warning { + --bs-alert-color: var(--bs-warning-text-emphasis); + --bs-alert-bg: var(--bs-warning-bg-subtle); + --bs-alert-border-color: var(--bs-warning-border-subtle); + --bs-alert-link-color: var(--bs-warning-text-emphasis); +} +.alert-danger { + --bs-alert-color: var(--bs-danger-text-emphasis); + --bs-alert-bg: var(--bs-danger-bg-subtle); + --bs-alert-border-color: var(--bs-danger-border-subtle); + --bs-alert-link-color: var(--bs-danger-text-emphasis); +} +.alert-light { + --bs-alert-color: var(--bs-light-text-emphasis); + --bs-alert-bg: var(--bs-light-bg-subtle); + --bs-alert-border-color: var(--bs-light-border-subtle); + --bs-alert-link-color: var(--bs-light-text-emphasis); +} +.alert-dark { + --bs-alert-color: var(--bs-dark-text-emphasis); + --bs-alert-bg: var(--bs-dark-bg-subtle); + --bs-alert-border-color: var(--bs-dark-border-subtle); + --bs-alert-link-color: var(--bs-dark-text-emphasis); +} +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +.progress, +.progress-stacked { + --bs-progress-height: 1rem; + --bs-progress-font-size: 0.75rem; + --bs-progress-bg: var(--bs-secondary-bg); + --bs-progress-border-radius: var(--bs-border-radius); + --bs-progress-box-shadow: var(--bs-box-shadow-inset); + --bs-progress-bar-color: #fff; + --bs-progress-bar-bg: #3bafff; + --bs-progress-bar-transition: width 0.6s ease; + background-color: var(--bs-progress-bg); + border-radius: var(--bs-progress-border-radius); + display: flex; + font-size: var(--bs-progress-font-size); + height: var(--bs-progress-height); + overflow: hidden; +} +.progress-bar { + background-color: var(--bs-progress-bar-bg); + color: var(--bs-progress-bar-color); + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + text-align: center; + transition: var(--bs-progress-bar-transition); + white-space: nowrap; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} +.progress-bar-striped { + background-image: linear-gradient(45deg, hsla(0, 0%, 100%, 0.15) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, 0.15) 0, hsla(0, 0%, 100%, 0.15) 75%, transparent 0, transparent); + background-size: var(--bs-progress-height) var(--bs-progress-height); +} +.progress-stacked > .progress { + overflow: visible; +} +.progress-stacked > .progress > .progress-bar { + width: 100%; +} +.progress-bar-animated { + animation: progress-bar-stripes 1s linear infinite; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} +.list-group { + --bs-list-group-color: #f6f6f6; + --bs-list-group-bg: #2d2d2d; + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-border-width: var(--bs-border-width); + --bs-list-group-border-radius: var(--bs-border-radius); + --bs-list-group-item-padding-x: 1rem; + --bs-list-group-item-padding-y: 0.5rem; + --bs-list-group-action-color: var(--bs-secondary-color); + --bs-list-group-action-hover-color: #f6f6f6; + --bs-list-group-action-hover-bg: #3c3c3c; + --bs-list-group-action-active-color: #f6f6f6; + --bs-list-group-action-active-bg: #2d2d2d; + --bs-list-group-disabled-color: var(--bs-secondary-color); + --bs-list-group-disabled-bg: #2d2d2d; + --bs-list-group-active-color: #fff; + --bs-list-group-active-bg: #3bafff; + --bs-list-group-active-border-color: #3bafff; + border-radius: var(--bs-list-group-border-radius); + display: flex; + flex-direction: column; + margin-bottom: 0; + padding-left: 0; +} +.list-group-numbered { + counter-reset: section; + list-style-type: none; +} +.list-group-numbered > .list-group-item:before { + content: counters(section, '.') '. '; + counter-increment: section; +} +.list-group-item-action { + color: var(--bs-list-group-action-color); + text-align: inherit; + width: 100%; +} +.list-group-item-action:focus, +.list-group-item-action:hover { + background-color: var(--bs-list-group-action-hover-bg); + color: var(--bs-list-group-action-hover-color); + text-decoration: none; + z-index: 1; +} +.list-group-item-action:active { + background-color: var(--bs-list-group-action-active-bg); + color: var(--bs-list-group-action-active-color); +} +.list-group-item { + background-color: var(--bs-list-group-bg); + border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); + color: var(--bs-list-group-color); + display: block; + padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x); + position: relative; +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; +} +.list-group-item.disabled, +.list-group-item:disabled { + background-color: var(--bs-list-group-disabled-bg); + color: var(--bs-list-group-disabled-color); + pointer-events: none; +} +.list-group-item.active { + background-color: var(--bs-list-group-active-bg); + border-color: var(--bs-list-group-active-border-color); + color: var(--bs-list-group-active-color); + z-index: 2; +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + border-top-width: var(--bs-list-group-border-width); + margin-top: calc(var(--bs-list-group-border-width) * -1); +} +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-right-radius: var(--bs-list-group-border-radius); +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-left-width: 0; + border-top-width: var(--bs-list-group-border-width); +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + border-left-width: var(--bs-list-group-border-width); + margin-left: calc(var(--bs-list-group-border-width) * -1); +} +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-right-radius: var(--bs-list-group-border-radius); + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-left-width: 0; + border-top-width: var(--bs-list-group-border-width); + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + border-left-width: var(--bs-list-group-border-width); + margin-left: calc(var(--bs-list-group-border-width) * -1); + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-right-radius: var(--bs-list-group-border-radius); + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-left-width: 0; + border-top-width: var(--bs-list-group-border-width); + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + border-left-width: var(--bs-list-group-border-width); + margin-left: calc(var(--bs-list-group-border-width) * -1); + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-right-radius: var(--bs-list-group-border-radius); + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-left-width: 0; + border-top-width: var(--bs-list-group-border-width); + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + border-left-width: var(--bs-list-group-border-width); + margin-left: calc(var(--bs-list-group-border-width) * -1); + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-right-radius: var(--bs-list-group-border-radius); + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-left-width: 0; + border-top-width: var(--bs-list-group-border-width); + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + border-left-width: var(--bs-list-group-border-width); + margin-left: calc(var(--bs-list-group-border-width) * -1); + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-right-radius: var(--bs-list-group-border-radius); + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-left-width: 0; + border-top-width: var(--bs-list-group-border-width); + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + border-left-width: var(--bs-list-group-border-width); + margin-left: calc(var(--bs-list-group-border-width) * -1); + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 var(--bs-list-group-border-width); +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} +.list-group-item-primary { + --bs-list-group-color: var(--bs-primary-text-emphasis); + --bs-list-group-bg: var(--bs-primary-bg-subtle); + --bs-list-group-border-color: var(--bs-primary-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-primary-border-subtle); + --bs-list-group-active-color: var(--bs-primary-bg-subtle); + --bs-list-group-active-bg: var(--bs-primary-text-emphasis); + --bs-list-group-active-border-color: var(--bs-primary-text-emphasis); +} +.list-group-item-secondary { + --bs-list-group-color: var(--bs-secondary-text-emphasis); + --bs-list-group-bg: var(--bs-secondary-bg-subtle); + --bs-list-group-border-color: var(--bs-secondary-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle); + --bs-list-group-active-color: var(--bs-secondary-bg-subtle); + --bs-list-group-active-bg: var(--bs-secondary-text-emphasis); + --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis); +} +.list-group-item-success { + --bs-list-group-color: var(--bs-success-text-emphasis); + --bs-list-group-bg: var(--bs-success-bg-subtle); + --bs-list-group-border-color: var(--bs-success-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-success-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-success-border-subtle); + --bs-list-group-active-color: var(--bs-success-bg-subtle); + --bs-list-group-active-bg: var(--bs-success-text-emphasis); + --bs-list-group-active-border-color: var(--bs-success-text-emphasis); +} +.list-group-item-info { + --bs-list-group-color: var(--bs-info-text-emphasis); + --bs-list-group-bg: var(--bs-info-bg-subtle); + --bs-list-group-border-color: var(--bs-info-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-info-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-info-border-subtle); + --bs-list-group-active-color: var(--bs-info-bg-subtle); + --bs-list-group-active-bg: var(--bs-info-text-emphasis); + --bs-list-group-active-border-color: var(--bs-info-text-emphasis); +} +.list-group-item-warning { + --bs-list-group-color: var(--bs-warning-text-emphasis); + --bs-list-group-bg: var(--bs-warning-bg-subtle); + --bs-list-group-border-color: var(--bs-warning-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-warning-border-subtle); + --bs-list-group-active-color: var(--bs-warning-bg-subtle); + --bs-list-group-active-bg: var(--bs-warning-text-emphasis); + --bs-list-group-active-border-color: var(--bs-warning-text-emphasis); +} +.list-group-item-danger { + --bs-list-group-color: var(--bs-danger-text-emphasis); + --bs-list-group-bg: var(--bs-danger-bg-subtle); + --bs-list-group-border-color: var(--bs-danger-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-danger-border-subtle); + --bs-list-group-active-color: var(--bs-danger-bg-subtle); + --bs-list-group-active-bg: var(--bs-danger-text-emphasis); + --bs-list-group-active-border-color: var(--bs-danger-text-emphasis); +} +.list-group-item-light { + --bs-list-group-color: var(--bs-light-text-emphasis); + --bs-list-group-bg: var(--bs-light-bg-subtle); + --bs-list-group-border-color: var(--bs-light-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-light-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-light-border-subtle); + --bs-list-group-active-color: var(--bs-light-bg-subtle); + --bs-list-group-active-bg: var(--bs-light-text-emphasis); + --bs-list-group-active-border-color: var(--bs-light-text-emphasis); +} +.list-group-item-dark { + --bs-list-group-color: var(--bs-dark-text-emphasis); + --bs-list-group-bg: var(--bs-dark-bg-subtle); + --bs-list-group-border-color: var(--bs-dark-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-dark-border-subtle); + --bs-list-group-active-color: var(--bs-dark-bg-subtle); + --bs-list-group-active-bg: var(--bs-dark-text-emphasis); + --bs-list-group-active-border-color: var(--bs-dark-text-emphasis); +} +.btn-close { + --bs-btn-close-color: #f6f6f6; + --bs-btn-close-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23f6f6f6' viewBox='0 0 16 16'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3E%3C/svg%3E"); + --bs-btn-close-opacity: 0.5; + --bs-btn-close-hover-opacity: 0.75; + --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(59, 175, 255, 0.25); + --bs-btn-close-focus-opacity: 1; + --bs-btn-close-disabled-opacity: 0.25; + --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%); + background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat; + border: 0; + border-radius: 0.375rem; + box-sizing: content-box; + height: 1em; + opacity: var(--bs-btn-close-opacity); + padding: 0.25em; + width: 1em; +} +.btn-close, +.btn-close:hover { + color: var(--bs-btn-close-color); +} +.btn-close:hover { + opacity: var(--bs-btn-close-hover-opacity); + text-decoration: none; +} +.btn-close:focus { + box-shadow: var(--bs-btn-close-focus-shadow); + opacity: var(--bs-btn-close-focus-opacity); + outline: 0; +} +.btn-close.disabled, +.btn-close:disabled { + opacity: var(--bs-btn-close-disabled-opacity); + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.btn-close-white, +[data-bs-theme='dark'] .btn-close { + filter: var(--bs-btn-close-white-filter); +} +.toast { + --bs-toast-zindex: 1090; + --bs-toast-padding-x: 0.75rem; + --bs-toast-padding-y: 0.5rem; + --bs-toast-spacing: 1.5rem; + --bs-toast-max-width: 350px; + --bs-toast-font-size: 0.875rem; + --bs-toast-color: ; + --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85); + --bs-toast-border-width: var(--bs-border-width); + --bs-toast-border-color: var(--bs-border-color-translucent); + --bs-toast-border-radius: var(--bs-border-radius); + --bs-toast-box-shadow: var(--bs-box-shadow); + --bs-toast-header-color: var(--bs-secondary-color); + --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85); + --bs-toast-header-border-color: var(--bs-border-color-translucent); + background-clip: padding-box; + background-color: var(--bs-toast-bg); + border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); + border-radius: var(--bs-toast-border-radius); + box-shadow: var(--bs-toast-box-shadow); + color: var(--bs-toast-color); + font-size: var(--bs-toast-font-size); + max-width: 100%; + pointer-events: auto; + width: var(--bs-toast-max-width); +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} +.toast-container { + --bs-toast-zindex: 1090; + max-width: 100%; + pointer-events: none; + position: absolute; + width: -moz-max-content; + width: max-content; + z-index: var(--bs-toast-zindex); +} +.toast-container > :not(:last-child) { + margin-bottom: var(--bs-toast-spacing); +} +.toast-header { + align-items: center; + background-clip: padding-box; + background-color: var(--bs-toast-header-bg); + border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color); + border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); + border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); + color: var(--bs-toast-header-color); + display: flex; + padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); +} +.toast-header .btn-close { + margin-left: var(--bs-toast-padding-x); + margin-right: calc(var(--bs-toast-padding-x) * -0.5); +} +.toast-body { + padding: var(--bs-toast-padding-x); + word-wrap: break-word; +} +.modal { + --bs-modal-zindex: 1055; + --bs-modal-width: 500px; + --bs-modal-padding: 1rem; + --bs-modal-margin: 0.5rem; + --bs-modal-color: ; + --bs-modal-bg: var(--bs-body-bg); + --bs-modal-border-color: var(--bs-border-color-translucent); + --bs-modal-border-width: var(--bs-border-width); + --bs-modal-border-radius: var(--bs-border-radius-lg); + --bs-modal-box-shadow: var(--bs-box-shadow-sm); + --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); + --bs-modal-header-padding-x: 1rem; + --bs-modal-header-padding-y: 1rem; + --bs-modal-header-padding: 1rem 1rem; + --bs-modal-header-border-color: transparent; + --bs-modal-header-border-width: 0; + --bs-modal-title-line-height: 1.5; + --bs-modal-footer-gap: 0.5rem; + --bs-modal-footer-bg: ; + --bs-modal-footer-border-color: transparent; + --bs-modal-footer-border-width: 0; + display: none; + height: 100%; + left: 0; + outline: 0; + overflow-x: hidden; + overflow-y: auto; + position: fixed; + top: 0; + width: 100%; + z-index: var(--bs-modal-zindex); +} +.modal-dialog { + margin: var(--bs-modal-margin); + pointer-events: none; + position: relative; + width: auto; +} +.modal.fade .modal-dialog { + transform: translateY(-50px); + transition: transform 0.3s ease-out; +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} +.modal-dialog-scrollable { + height: calc(100% - var(--bs-modal-margin) * 2); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} +.modal-dialog-centered { + align-items: center; + display: flex; + min-height: calc(100% - var(--bs-modal-margin) * 2); +} +.modal-content { + background-clip: padding-box; + background-color: var(--bs-modal-bg); + border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); + border-radius: var(--bs-modal-border-radius); + color: var(--bs-modal-color); + display: flex; + flex-direction: column; + outline: 0; + pointer-events: auto; + position: relative; + width: 100%; +} +.modal-backdrop { + --bs-backdrop-zindex: 1050; + --bs-backdrop-bg: #000; + --bs-backdrop-opacity: 0.5; + background-color: var(--bs-backdrop-bg); + height: 100vh; + left: 0; + position: fixed; + top: 0; + width: 100vw; + z-index: var(--bs-backdrop-zindex); +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: var(--bs-backdrop-opacity); +} +.modal-header { + align-items: center; + border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); + border-top-left-radius: var(--bs-modal-inner-border-radius); + border-top-right-radius: var(--bs-modal-inner-border-radius); + display: flex; + flex-shrink: 0; + padding: var(--bs-modal-header-padding); +} +.modal-header .btn-close { + margin: calc(var(--bs-modal-header-padding-y) * -0.5) calc(var(--bs-modal-header-padding-x) * -0.5) calc(var(--bs-modal-header-padding-y) * -0.5) auto; + padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5); +} +.modal-title { + line-height: var(--bs-modal-title-line-height); + margin-bottom: 0; +} +.modal-body { + flex: 1 1 auto; + padding: var(--bs-modal-padding); + position: relative; +} +.modal-footer { + align-items: center; + background-color: var(--bs-modal-footer-bg); + border-bottom-left-radius: var(--bs-modal-inner-border-radius); + border-bottom-right-radius: var(--bs-modal-inner-border-radius); + border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color); + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5); +} +.modal-footer > * { + margin: calc(var(--bs-modal-footer-gap) * 0.5); +} +@media (min-width: 576px) { + .modal { + --bs-modal-margin: 1.75rem; + --bs-modal-box-shadow: var(--bs-box-shadow); + } + .modal-dialog { + margin-left: auto; + margin-right: auto; + max-width: var(--bs-modal-width); + } + .modal-sm { + --bs-modal-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --bs-modal-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + --bs-modal-width: 1140px; + } +} +.modal-fullscreen { + height: 100%; + margin: 0; + max-width: none; + width: 100vw; +} +.modal-fullscreen .modal-content { + border: 0; + border-radius: 0; + height: 100%; +} +.modal-fullscreen .modal-footer, +.modal-fullscreen .modal-header { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + height: 100%; + margin: 0; + max-width: none; + width: 100vw; + } + .modal-fullscreen-sm-down .modal-content { + border: 0; + border-radius: 0; + height: 100%; + } + .modal-fullscreen-sm-down .modal-footer, + .modal-fullscreen-sm-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + height: 100%; + margin: 0; + max-width: none; + width: 100vw; + } + .modal-fullscreen-md-down .modal-content { + border: 0; + border-radius: 0; + height: 100%; + } + .modal-fullscreen-md-down .modal-footer, + .modal-fullscreen-md-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + height: 100%; + margin: 0; + max-width: none; + width: 100vw; + } + .modal-fullscreen-lg-down .modal-content { + border: 0; + border-radius: 0; + height: 100%; + } + .modal-fullscreen-lg-down .modal-footer, + .modal-fullscreen-lg-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + height: 100%; + margin: 0; + max-width: none; + width: 100vw; + } + .modal-fullscreen-xl-down .modal-content { + border: 0; + border-radius: 0; + height: 100%; + } + .modal-fullscreen-xl-down .modal-footer, + .modal-fullscreen-xl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + height: 100%; + margin: 0; + max-width: none; + width: 100vw; + } + .modal-fullscreen-xxl-down .modal-content { + border: 0; + border-radius: 0; + height: 100%; + } + .modal-fullscreen-xxl-down .modal-footer, + .modal-fullscreen-xxl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} +.tooltip { + --bs-tooltip-zindex: 1080000; + --bs-tooltip-max-width: 200px; + --bs-tooltip-padding-x: 0.5rem; + --bs-tooltip-padding-y: 0.25rem; + --bs-tooltip-margin: ; + --bs-tooltip-font-size: 0.875rem; + --bs-tooltip-color: #f6f6f6; + --bs-tooltip-bg: #000; + --bs-tooltip-border-radius: var(--bs-border-radius); + --bs-tooltip-opacity: 0.9; + --bs-tooltip-arrow-width: 0.8rem; + --bs-tooltip-arrow-height: 0.4rem; + display: block; + font-family: var(--bs-font-sans-serif); + font-size: var(--bs-tooltip-font-size); + font-style: normal; + font-weight: 400; + letter-spacing: normal; + line-break: auto; + line-height: 1.5; + margin: var(--bs-tooltip-margin); + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + z-index: var(--bs-tooltip-zindex); + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: var(--bs-tooltip-opacity); +} +.tooltip .tooltip-arrow { + display: block; + height: var(--bs-tooltip-arrow-height); + width: var(--bs-tooltip-arrow-width); +} +.tooltip .tooltip-arrow:before { + border-color: transparent; + border-style: solid; + content: ''; + position: absolute; +} +.bs-tooltip-auto[data-popper-placement^='top'] .tooltip-arrow, +.bs-tooltip-top .tooltip-arrow { + bottom: calc(var(--bs-tooltip-arrow-height) * -1); +} +.bs-tooltip-auto[data-popper-placement^='top'] .tooltip-arrow:before, +.bs-tooltip-top .tooltip-arrow:before { + border-top-color: var(--bs-tooltip-bg); + border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + top: -1px; +} +.bs-tooltip-auto[data-popper-placement^='right'] .tooltip-arrow, +.bs-tooltip-end .tooltip-arrow { + height: var(--bs-tooltip-arrow-width); + left: calc(var(--bs-tooltip-arrow-height) * -1); + width: var(--bs-tooltip-arrow-height); +} +.bs-tooltip-auto[data-popper-placement^='right'] .tooltip-arrow:before, +.bs-tooltip-end .tooltip-arrow:before { + border-right-color: var(--bs-tooltip-bg); + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + right: -1px; +} +.bs-tooltip-auto[data-popper-placement^='bottom'] .tooltip-arrow, +.bs-tooltip-bottom .tooltip-arrow { + top: calc(var(--bs-tooltip-arrow-height) * -1); +} +.bs-tooltip-auto[data-popper-placement^='bottom'] .tooltip-arrow:before, +.bs-tooltip-bottom .tooltip-arrow:before { + border-bottom-color: var(--bs-tooltip-bg); + border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + bottom: -1px; +} +.bs-tooltip-auto[data-popper-placement^='left'] .tooltip-arrow, +.bs-tooltip-start .tooltip-arrow { + height: var(--bs-tooltip-arrow-width); + right: calc(var(--bs-tooltip-arrow-height) * -1); + width: var(--bs-tooltip-arrow-height); +} +.bs-tooltip-auto[data-popper-placement^='left'] .tooltip-arrow:before, +.bs-tooltip-start .tooltip-arrow:before { + border-left-color: var(--bs-tooltip-bg); + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + left: -1px; +} +.tooltip-inner { + background-color: var(--bs-tooltip-bg); + border-radius: var(--bs-tooltip-border-radius); + color: var(--bs-tooltip-color); + max-width: var(--bs-tooltip-max-width); + padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x); + text-align: center; +} +.popover { + --bs-popover-zindex: 1070; + --bs-popover-max-width: 276px; + --bs-popover-font-size: 0.875rem; + --bs-popover-bg: var(--bs-body-bg); + --bs-popover-border-width: var(--bs-border-width); + --bs-popover-border-color: var(--bs-border-color-translucent); + --bs-popover-border-radius: var(--bs-border-radius-lg); + --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); + --bs-popover-box-shadow: var(--bs-box-shadow); + --bs-popover-header-padding-x: 1rem; + --bs-popover-header-padding-y: 0.5rem; + --bs-popover-header-font-size: 1rem; + --bs-popover-header-color: inherit; + --bs-popover-header-bg: var(--bs-secondary-bg); + --bs-popover-body-padding-x: 1rem; + --bs-popover-body-padding-y: 1rem; + --bs-popover-body-color: var(--bs-body-color); + --bs-popover-arrow-width: 1rem; + --bs-popover-arrow-height: 0.5rem; + --bs-popover-arrow-border: var(--bs-popover-border-color); + display: block; + font-family: var(--bs-font-sans-serif); + font-size: var(--bs-popover-font-size); + font-style: normal; + font-weight: 400; + letter-spacing: normal; + line-break: auto; + line-height: 1.5; + max-width: var(--bs-popover-max-width); + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + z-index: var(--bs-popover-zindex); + word-wrap: break-word; + background-clip: padding-box; + background-color: var(--bs-popover-bg); + border: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-radius: var(--bs-popover-border-radius); +} +.popover .popover-arrow { + display: block; + height: var(--bs-popover-arrow-height); + width: var(--bs-popover-arrow-width); +} +.popover .popover-arrow:after, +.popover .popover-arrow:before { + border: 0 solid transparent; + content: ''; + display: block; + position: absolute; +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow, +.bs-popover-top > .popover-arrow { + bottom: calc((var(--bs-popover-arrow-height)) * -1 - var(--bs-popover-border-width)); +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow:after, +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow:before, +.bs-popover-top > .popover-arrow:after, +.bs-popover-top > .popover-arrow:before { + border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow:before, +.bs-popover-top > .popover-arrow:before { + border-top-color: var(--bs-popover-arrow-border); + bottom: 0; +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow:after, +.bs-popover-top > .popover-arrow:after { + border-top-color: var(--bs-popover-bg); + bottom: var(--bs-popover-border-width); +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow, +.bs-popover-end > .popover-arrow { + height: var(--bs-popover-arrow-width); + left: calc((var(--bs-popover-arrow-height)) * -1 - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow:after, +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow:before, +.bs-popover-end > .popover-arrow:after, +.bs-popover-end > .popover-arrow:before { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow:before, +.bs-popover-end > .popover-arrow:before { + border-right-color: var(--bs-popover-arrow-border); + left: 0; +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow:after, +.bs-popover-end > .popover-arrow:after { + border-right-color: var(--bs-popover-bg); + left: var(--bs-popover-border-width); +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow, +.bs-popover-bottom > .popover-arrow { + top: calc((var(--bs-popover-arrow-height)) * -1 - var(--bs-popover-border-width)); +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow:after, +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow:before, +.bs-popover-bottom > .popover-arrow:after, +.bs-popover-bottom > .popover-arrow:before { + border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow:before, +.bs-popover-bottom > .popover-arrow:before { + border-bottom-color: var(--bs-popover-arrow-border); + top: 0; +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow:after, +.bs-popover-bottom > .popover-arrow:after { + border-bottom-color: var(--bs-popover-bg); + top: var(--bs-popover-border-width); +} +.bs-popover-auto[data-popper-placement^='bottom'] .popover-header:before, +.bs-popover-bottom .popover-header:before { + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg); + content: ''; + display: block; + left: 50%; + margin-left: calc(var(--bs-popover-arrow-width) * -0.5); + position: absolute; + top: 0; + width: var(--bs-popover-arrow-width); +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow, +.bs-popover-start > .popover-arrow { + height: var(--bs-popover-arrow-width); + right: calc((var(--bs-popover-arrow-height)) * -1 - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow:after, +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow:before, +.bs-popover-start > .popover-arrow:after, +.bs-popover-start > .popover-arrow:before { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow:before, +.bs-popover-start > .popover-arrow:before { + border-left-color: var(--bs-popover-arrow-border); + right: 0; +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow:after, +.bs-popover-start > .popover-arrow:after { + border-left-color: var(--bs-popover-bg); + right: var(--bs-popover-border-width); +} +.popover-header { + background-color: var(--bs-popover-header-bg); + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-top-left-radius: var(--bs-popover-inner-border-radius); + border-top-right-radius: var(--bs-popover-inner-border-radius); + color: var(--bs-popover-header-color); + font-size: var(--bs-popover-header-font-size); + margin-bottom: 0; + padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x); +} +.popover-header:empty { + display: none; +} +.popover-body { + color: var(--bs-popover-body-color); + padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x); +} +.carousel { + position: relative; +} +.carousel.pointer-event { + touch-action: pan-y; +} +.carousel-inner { + overflow: hidden; + position: relative; + width: 100%; +} +.carousel-inner:after { + clear: both; + content: ''; + display: block; +} +.carousel-item { + backface-visibility: hidden; + display: none; + float: left; + margin-right: -100%; + position: relative; + transition: transform 0.6s ease-in-out; + width: 100%; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} +.carousel-item-next, +.carousel-item-prev, +.carousel-item.active { + display: block; +} +.active.carousel-item-end, +.carousel-item-next:not(.carousel-item-start) { + transform: translateX(100%); +} +.active.carousel-item-start, +.carousel-item-prev:not(.carousel-item-end) { + transform: translateX(-100%); +} +.carousel-fade .carousel-item { + opacity: 0; + transform: none; + transition-property: opacity; +} +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end, +.carousel-fade .carousel-item.active { + opacity: 1; + z-index: 1; +} +.carousel-fade .active.carousel-item-end, +.carousel-fade .active.carousel-item-start { + opacity: 0; + transition: opacity 0s 0.6s; + z-index: 0; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-end, + .carousel-fade .active.carousel-item-start { + transition: none; + } +} +.carousel-control-next, +.carousel-control-prev { + align-items: center; + background: none; + border: 0; + bottom: 0; + color: #fff; + display: flex; + justify-content: center; + opacity: 0.5; + padding: 0; + position: absolute; + text-align: center; + top: 0; + transition: opacity 0.15s ease; + width: 15%; + z-index: 1; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-next, + .carousel-control-prev { + transition: none; + } +} +.carousel-control-next:focus, +.carousel-control-next:hover, +.carousel-control-prev:focus, +.carousel-control-prev:hover { + color: #fff; + opacity: 0.9; + outline: 0; + text-decoration: none; +} +.carousel-control-prev { + left: 0; +} +.carousel-control-next { + right: 0; +} +.carousel-control-next-icon, +.carousel-control-prev-icon { + background-position: 50%; + background-repeat: no-repeat; + background-size: 100% 100%; + display: inline-block; + height: 2rem; + width: 2rem; +} +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3E%3C/svg%3E"); +} +.carousel-control-next-icon { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E"); +} +.carousel-indicators { + bottom: 0; + display: flex; + justify-content: center; + left: 0; + margin-bottom: 1rem; + margin-left: 15%; + margin-right: 15%; + padding: 0; + position: absolute; + right: 0; + z-index: 2; +} +.carousel-indicators [data-bs-target] { + background-clip: padding-box; + background-color: #fff; + border: 0; + border-bottom: 10px solid transparent; + border-top: 10px solid transparent; + box-sizing: content-box; + cursor: pointer; + flex: 0 1 auto; + height: 3px; + margin-left: 3px; + margin-right: 3px; + opacity: 0.5; + padding: 0; + text-indent: -999px; + transition: opacity 0.6s ease; + width: 30px; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-caption { + bottom: 1.25rem; + color: #fff; + left: 15%; + padding-bottom: 1.25rem; + padding-top: 1.25rem; + position: absolute; + right: 15%; + text-align: center; +} +.carousel-dark .carousel-control-next-icon, +.carousel-dark .carousel-control-prev-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000; +} +.carousel-dark .carousel-caption { + color: #000; +} +[data-bs-theme='dark'] .carousel .carousel-control-next-icon, +[data-bs-theme='dark'] .carousel .carousel-control-prev-icon, +[data-bs-theme='dark'].carousel .carousel-control-next-icon, +[data-bs-theme='dark'].carousel .carousel-control-prev-icon { + filter: invert(1) grayscale(100); +} +[data-bs-theme='dark'] .carousel .carousel-indicators [data-bs-target], +[data-bs-theme='dark'].carousel .carousel-indicators [data-bs-target] { + background-color: #000; +} +[data-bs-theme='dark'] .carousel .carousel-caption, +[data-bs-theme='dark'].carousel .carousel-caption { + color: #000; +} +.spinner-border, +.spinner-grow { + animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); + border-radius: 50%; + display: inline-block; + height: var(--bs-spinner-height); + vertical-align: var(--bs-spinner-vertical-align); + width: var(--bs-spinner-width); +} +@keyframes spinner-border { + to { + transform: rotate(1turn); + } +} +.spinner-border { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-border-width: 0.25em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-border; + border-right-color: currentcolor; + border: var(--bs-spinner-border-width) solid; + border-right: var(--bs-spinner-border-width) solid transparent; +} +.spinner-border-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; + --bs-spinner-border-width: 0.2em; +} +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} +.spinner-grow-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; +} +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + --bs-spinner-animation-speed: 1.5s; + } +} +.offcanvas, +.offcanvas-lg, +.offcanvas-md, +.offcanvas-sm, +.offcanvas-xl, +.offcanvas-xxl { + --bs-offcanvas-zindex: 1045; + --bs-offcanvas-width: 400px; + --bs-offcanvas-height: 30vh; + --bs-offcanvas-padding-x: 1rem; + --bs-offcanvas-padding-y: 1rem; + --bs-offcanvas-color: var(--bs-body-color); + --bs-offcanvas-bg: var(--bs-body-bg); + --bs-offcanvas-border-width: var(--bs-border-width); + --bs-offcanvas-border-color: var(--bs-border-color-translucent); + --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm); + --bs-offcanvas-transition: transform 0.3s ease-in-out; + --bs-offcanvas-title-line-height: 1.5; +} +@media (max-width: 575.98px) { + .offcanvas-sm { + background-clip: padding-box; + background-color: var(--bs-offcanvas-bg); + bottom: 0; + color: var(--bs-offcanvas-color); + display: flex; + flex-direction: column; + max-width: 100%; + outline: 0; + position: fixed; + transition: var(--bs-offcanvas-transition); + visibility: hidden; + z-index: var(--bs-offcanvas-zindex); + } +} +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + left: 0; + top: 0; + transform: translateX(-100%); + width: var(--bs-offcanvas-width); + } + .offcanvas-sm.offcanvas-end { + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + right: 0; + top: 0; + transform: translateX(100%); + width: var(--bs-offcanvas-width); + } + .offcanvas-sm.offcanvas-top { + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + top: 0; + transform: translateY(-100%); + } + .offcanvas-sm.offcanvas-bottom, + .offcanvas-sm.offcanvas-top { + height: var(--bs-offcanvas-height); + left: 0; + max-height: 100%; + right: 0; + } + .offcanvas-sm.offcanvas-bottom { + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-sm.show:not(.hiding), + .offcanvas-sm.showing { + transform: none; + } + .offcanvas-sm.hiding, + .offcanvas-sm.show, + .offcanvas-sm.showing { + visibility: visible; + } +} +@media (min-width: 576px) { + .offcanvas-sm { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-sm .offcanvas-header { + display: none; + } + .offcanvas-sm .offcanvas-body { + background-color: transparent !important; + display: flex; + flex-grow: 0; + overflow-y: visible; + padding: 0; + } +} +@media (max-width: 767.98px) { + .offcanvas-md { + background-clip: padding-box; + background-color: var(--bs-offcanvas-bg); + bottom: 0; + color: var(--bs-offcanvas-color); + display: flex; + flex-direction: column; + max-width: 100%; + outline: 0; + position: fixed; + transition: var(--bs-offcanvas-transition); + visibility: hidden; + z-index: var(--bs-offcanvas-zindex); + } +} +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + left: 0; + top: 0; + transform: translateX(-100%); + width: var(--bs-offcanvas-width); + } + .offcanvas-md.offcanvas-end { + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + right: 0; + top: 0; + transform: translateX(100%); + width: var(--bs-offcanvas-width); + } + .offcanvas-md.offcanvas-top { + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + top: 0; + transform: translateY(-100%); + } + .offcanvas-md.offcanvas-bottom, + .offcanvas-md.offcanvas-top { + height: var(--bs-offcanvas-height); + left: 0; + max-height: 100%; + right: 0; + } + .offcanvas-md.offcanvas-bottom { + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-md.show:not(.hiding), + .offcanvas-md.showing { + transform: none; + } + .offcanvas-md.hiding, + .offcanvas-md.show, + .offcanvas-md.showing { + visibility: visible; + } +} +@media (min-width: 768px) { + .offcanvas-md { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-md .offcanvas-header { + display: none; + } + .offcanvas-md .offcanvas-body { + background-color: transparent !important; + display: flex; + flex-grow: 0; + overflow-y: visible; + padding: 0; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg { + background-clip: padding-box; + background-color: var(--bs-offcanvas-bg); + bottom: 0; + color: var(--bs-offcanvas-color); + display: flex; + flex-direction: column; + max-width: 100%; + outline: 0; + position: fixed; + transition: var(--bs-offcanvas-transition); + visibility: hidden; + z-index: var(--bs-offcanvas-zindex); + } +} +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + left: 0; + top: 0; + transform: translateX(-100%); + width: var(--bs-offcanvas-width); + } + .offcanvas-lg.offcanvas-end { + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + right: 0; + top: 0; + transform: translateX(100%); + width: var(--bs-offcanvas-width); + } + .offcanvas-lg.offcanvas-top { + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + top: 0; + transform: translateY(-100%); + } + .offcanvas-lg.offcanvas-bottom, + .offcanvas-lg.offcanvas-top { + height: var(--bs-offcanvas-height); + left: 0; + max-height: 100%; + right: 0; + } + .offcanvas-lg.offcanvas-bottom { + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-lg.show:not(.hiding), + .offcanvas-lg.showing { + transform: none; + } + .offcanvas-lg.hiding, + .offcanvas-lg.show, + .offcanvas-lg.showing { + visibility: visible; + } +} +@media (min-width: 992px) { + .offcanvas-lg { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-lg .offcanvas-header { + display: none; + } + .offcanvas-lg .offcanvas-body { + background-color: transparent !important; + display: flex; + flex-grow: 0; + overflow-y: visible; + padding: 0; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl { + background-clip: padding-box; + background-color: var(--bs-offcanvas-bg); + bottom: 0; + color: var(--bs-offcanvas-color); + display: flex; + flex-direction: column; + max-width: 100%; + outline: 0; + position: fixed; + transition: var(--bs-offcanvas-transition); + visibility: hidden; + z-index: var(--bs-offcanvas-zindex); + } +} +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + left: 0; + top: 0; + transform: translateX(-100%); + width: var(--bs-offcanvas-width); + } + .offcanvas-xl.offcanvas-end { + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + right: 0; + top: 0; + transform: translateX(100%); + width: var(--bs-offcanvas-width); + } + .offcanvas-xl.offcanvas-top { + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + top: 0; + transform: translateY(-100%); + } + .offcanvas-xl.offcanvas-bottom, + .offcanvas-xl.offcanvas-top { + height: var(--bs-offcanvas-height); + left: 0; + max-height: 100%; + right: 0; + } + .offcanvas-xl.offcanvas-bottom { + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xl.show:not(.hiding), + .offcanvas-xl.showing { + transform: none; + } + .offcanvas-xl.hiding, + .offcanvas-xl.show, + .offcanvas-xl.showing { + visibility: visible; + } +} +@media (min-width: 1200px) { + .offcanvas-xl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xl .offcanvas-header { + display: none; + } + .offcanvas-xl .offcanvas-body { + background-color: transparent !important; + display: flex; + flex-grow: 0; + overflow-y: visible; + padding: 0; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl { + background-clip: padding-box; + background-color: var(--bs-offcanvas-bg); + bottom: 0; + color: var(--bs-offcanvas-color); + display: flex; + flex-direction: column; + max-width: 100%; + outline: 0; + position: fixed; + transition: var(--bs-offcanvas-transition); + visibility: hidden; + z-index: var(--bs-offcanvas-zindex); + } +} +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + left: 0; + top: 0; + transform: translateX(-100%); + width: var(--bs-offcanvas-width); + } + .offcanvas-xxl.offcanvas-end { + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + right: 0; + top: 0; + transform: translateX(100%); + width: var(--bs-offcanvas-width); + } + .offcanvas-xxl.offcanvas-top { + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + top: 0; + transform: translateY(-100%); + } + .offcanvas-xxl.offcanvas-bottom, + .offcanvas-xxl.offcanvas-top { + height: var(--bs-offcanvas-height); + left: 0; + max-height: 100%; + right: 0; + } + .offcanvas-xxl.offcanvas-bottom { + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xxl.show:not(.hiding), + .offcanvas-xxl.showing { + transform: none; + } + .offcanvas-xxl.hiding, + .offcanvas-xxl.show, + .offcanvas-xxl.showing { + visibility: visible; + } +} +@media (min-width: 1400px) { + .offcanvas-xxl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xxl .offcanvas-header { + display: none; + } + .offcanvas-xxl .offcanvas-body { + background-color: transparent !important; + display: flex; + flex-grow: 0; + overflow-y: visible; + padding: 0; + } +} +.offcanvas { + background-clip: padding-box; + background-color: var(--bs-offcanvas-bg); + bottom: 0; + color: var(--bs-offcanvas-color); + display: flex; + flex-direction: column; + max-width: 100%; + outline: 0; + position: fixed; + transition: var(--bs-offcanvas-transition); + visibility: hidden; + z-index: var(--bs-offcanvas-zindex); +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas.offcanvas-start { + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + left: 0; + top: 0; + transform: translateX(-100%); + width: var(--bs-offcanvas-width); +} +.offcanvas.offcanvas-end { + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + right: 0; + top: 0; + transform: translateX(100%); + width: var(--bs-offcanvas-width); +} +.offcanvas.offcanvas-top { + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + top: 0; + transform: translateY(-100%); +} +.offcanvas.offcanvas-bottom, +.offcanvas.offcanvas-top { + height: var(--bs-offcanvas-height); + left: 0; + max-height: 100%; + right: 0; +} +.offcanvas.offcanvas-bottom { + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas.show:not(.hiding), +.offcanvas.showing { + transform: none; +} +.offcanvas.hiding, +.offcanvas.show, +.offcanvas.showing { + visibility: visible; +} +.offcanvas-backdrop { + background-color: #000; + height: 100vh; + left: 0; + position: fixed; + top: 0; + width: 100vw; + z-index: 1040; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} +.offcanvas-header { + align-items: center; + display: flex; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); +} +.offcanvas-header .btn-close { + margin: calc(var(--bs-offcanvas-padding-y) * -0.5) calc(var(--bs-offcanvas-padding-x) * -0.5) calc(var(--bs-offcanvas-padding-y) * -0.5) auto; + padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5); +} +.offcanvas-title { + line-height: var(--bs-offcanvas-title-line-height); + margin-bottom: 0; +} +.offcanvas-body { + flex-grow: 1; + overflow-y: auto; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); +} +.placeholder { + background-color: currentcolor; + cursor: wait; + display: inline-block; + min-height: 1em; + opacity: 0.5; + vertical-align: middle; +} +.placeholder.btn:before { + content: ''; + display: inline-block; +} +.placeholder-xs { + min-height: 0.6em; +} +.placeholder-sm { + min-height: 0.8em; +} +.placeholder-lg { + min-height: 1.2em; +} +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + animation: placeholder-wave 2s linear infinite; + -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; +} +@keyframes placeholder-wave { + to { + -webkit-mask-position: -200% 0; + mask-position: -200% 0; + } +} +.clearfix:after { + clear: both; + content: ''; + display: block; +} +.text-bg-primary { + background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important; + color: #000 !important; +} +.text-bg-secondary { + background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important; + color: #fff !important; +} +.text-bg-success { + background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important; + color: #000 !important; +} +.text-bg-info { + background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important; + color: #000 !important; +} +.text-bg-warning { + background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important; + color: #000 !important; +} +.text-bg-danger { + background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important; + color: #000 !important; +} +.text-bg-light { + background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important; + color: #000 !important; +} +.text-bg-dark { + background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important; + color: #fff !important; +} +.link-primary { + color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-primary:focus, +.link-primary:hover { + color: RGBA(98, 191, 255, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(98, 191, 255, var(--bs-link-underline-opacity, 1)) !important; +} +.link-secondary { + color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-secondary:focus, +.link-secondary:hover { + color: RGBA(58, 58, 58, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(58, 58, 58, var(--bs-link-underline-opacity, 1)) !important; +} +.link-success { + color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-success:focus, +.link-success:hover { + color: RGBA(114, 237, 156, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(114, 237, 156, var(--bs-link-underline-opacity, 1)) !important; +} +.link-info { + color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-info:focus, +.link-info:hover { + color: RGBA(128, 169, 250, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(128, 169, 250, var(--bs-link-underline-opacity, 1)) !important; +} +.link-warning { + color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-warning:focus, +.link-warning:hover { + color: RGBA(255, 212, 101, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(255, 212, 101, var(--bs-link-underline-opacity, 1)) !important; +} +.link-danger { + color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-danger:focus, +.link-danger:hover { + color: RGBA(255, 122, 116, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(255, 122, 116, var(--bs-link-underline-opacity, 1)) !important; +} +.link-light { + color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-light:focus, +.link-light:hover { + color: RGBA(248, 248, 248, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(248, 248, 248, var(--bs-link-underline-opacity, 1)) !important; +} +.link-dark { + color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-dark:focus, +.link-dark:hover { + color: RGBA(21, 21, 21, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(21, 21, 21, var(--bs-link-underline-opacity, 1)) !important; +} +.link-body-emphasis { + color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-body-emphasis:focus, +.link-body-emphasis:hover { + color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important; + text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important; +} +.focus-ring:focus { + box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color); + outline: 0; +} +.icon-link { + align-items: center; + backface-visibility: hidden; + display: inline-flex; + gap: 0.375rem; + text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5)); + text-underline-offset: 0.25em; +} +.icon-link > .bi { + flex-shrink: 0; + height: 1em; + width: 1em; + fill: currentcolor; + transition: transform 0.2s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .icon-link > .bi { + transition: none; + } +} +.icon-link-hover:focus-visible > .bi, +.icon-link-hover:hover > .bi { + transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0)); +} +.ratio { + position: relative; + width: 100%; +} +.ratio:before { + content: ''; + display: block; + padding-top: var(--bs-aspect-ratio); +} +.ratio > * { + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} +.fixed-top { + top: 0; +} +.fixed-bottom, +.fixed-top { + left: 0; + position: fixed; + right: 0; + z-index: 1030; +} +.fixed-bottom { + bottom: 0; +} +.sticky-top { + top: 0; +} +.sticky-bottom, +.sticky-top { + position: sticky; + z-index: 1020; +} +.sticky-bottom { + bottom: 0; +} +@media (min-width: 576px) { + .sticky-sm-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + bottom: 0; + position: sticky; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + bottom: 0; + position: sticky; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + bottom: 0; + position: sticky; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + bottom: 0; + position: sticky; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + bottom: 0; + position: sticky; + z-index: 1020; + } +} +.hstack { + align-items: center; + flex-direction: row; +} +.hstack, +.vstack { + align-self: stretch; + display: flex; +} +.vstack { + flex: 1 1 auto; + flex-direction: column; +} +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + height: 1px !important; + margin: -1px !important; + overflow: hidden !important; + padding: 0 !important; + width: 1px !important; + clip: rect(0, 0, 0, 0) !important; + border: 0 !important; + white-space: nowrap !important; +} +.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption), +.visually-hidden:not(caption) { + position: absolute !important; +} +.stretched-link:after { + bottom: 0; + content: ''; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; +} +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.vr { + align-self: stretch; + background-color: currentcolor; + display: inline-block; + min-height: 1em; + opacity: 0.25; + width: var(--bs-border-width); +} +.align-baseline { + vertical-align: baseline !important; +} +.align-top { + vertical-align: top !important; +} +.align-middle { + vertical-align: middle !important; +} +.align-bottom { + vertical-align: bottom !important; +} +.align-text-bottom { + vertical-align: text-bottom !important; +} +.align-text-top { + vertical-align: text-top !important; +} +.float-start { + float: left !important; +} +.float-end { + float: right !important; +} +.float-none { + float: none !important; +} +.object-fit-contain { + -o-object-fit: contain !important; + object-fit: contain !important; +} +.object-fit-cover { + -o-object-fit: cover !important; + object-fit: cover !important; +} +.object-fit-fill { + -o-object-fit: fill !important; + object-fit: fill !important; +} +.object-fit-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; +} +.object-fit-none { + -o-object-fit: none !important; + object-fit: none !important; +} +.opacity-0 { + opacity: 0 !important; +} +.opacity-25 { + opacity: 0.25 !important; +} +.opacity-50 { + opacity: 0.5 !important; +} +.opacity-75 { + opacity: 0.75 !important; +} +.opacity-100 { + opacity: 1 !important; +} +.overflow-auto { + overflow: auto !important; +} +.overflow-hidden { + overflow: hidden !important; +} +.overflow-visible { + overflow: visible !important; +} +.overflow-scroll { + overflow: scroll !important; +} +.overflow-x-auto { + overflow-x: auto !important; +} +.overflow-x-hidden { + overflow-x: hidden !important; +} +.overflow-x-visible { + overflow-x: visible !important; +} +.overflow-y-hidden { + overflow-y: hidden !important; +} +.overflow-y-visible { + overflow-y: visible !important; +} +.d-inline { + display: inline !important; +} +.d-inline-block { + display: inline-block !important; +} +.d-block { + display: block !important; +} +.d-grid { + display: grid !important; +} +.d-inline-grid { + display: inline-grid !important; +} +.d-table { + display: table !important; +} +.d-table-row { + display: table-row !important; +} +.d-table-cell { + display: table-cell !important; +} +.d-flex { + display: flex !important; +} +.d-inline-flex { + display: inline-flex !important; +} +.d-none { + display: none !important; +} +.shadow { + box-shadow: var(--bs-box-shadow) !important; +} +.shadow-sm { + box-shadow: var(--bs-box-shadow-sm) !important; +} +.shadow-lg { + box-shadow: var(--bs-box-shadow-lg) !important; +} +.shadow-none { + box-shadow: none !important; +} +.focus-ring-primary { + --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity)); +} +.focus-ring-secondary { + --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity)); +} +.focus-ring-success { + --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity)); +} +.focus-ring-info { + --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity)); +} +.focus-ring-warning { + --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity)); +} +.focus-ring-danger { + --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity)); +} +.focus-ring-light { + --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity)); +} +.focus-ring-dark { + --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity)); +} +.position-static { + position: static !important; +} +.position-relative { + position: relative !important; +} +.position-absolute { + position: absolute !important; +} +.position-fixed { + position: fixed !important; +} +.position-sticky { + position: sticky !important; +} +.top-0 { + top: 0 !important; +} +.top-50 { + top: 50% !important; +} +.top-100 { + top: 100% !important; +} +.bottom-0 { + bottom: 0 !important; +} +.bottom-50 { + bottom: 50% !important; +} +.bottom-100 { + bottom: 100% !important; +} +.start-0 { + left: 0 !important; +} +.start-50 { + left: 50% !important; +} +.start-100 { + left: 100% !important; +} +.end-0 { + right: 0 !important; +} +.end-50 { + right: 50% !important; +} +.end-100 { + right: 100% !important; +} +.translate-middle { + transform: translate(-50%, -50%) !important; +} +.translate-middle-x { + transform: translateX(-50%) !important; +} +.translate-middle-y { + transform: translateY(-50%) !important; +} +.border { + border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} +.border-0 { + border: 0 !important; +} +.border-top { + border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} +.border-top-0 { + border-top: 0 !important; +} +.border-end { + border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} +.border-end-0 { + border-right: 0 !important; +} +.border-bottom { + border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} +.border-bottom-0 { + border-bottom: 0 !important; +} +.border-start { + border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} +.border-start-0 { + border-left: 0 !important; +} +.border-primary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important; +} +.border-secondary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important; +} +.border-success { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important; +} +.border-info { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important; +} +.border-warning { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important; +} +.border-danger { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important; +} +.border-light { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important; +} +.border-dark { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; +} +.border-black { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important; +} +.border-white { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; +} +.border-primary-subtle { + border-color: var(--bs-primary-border-subtle) !important; +} +.border-secondary-subtle { + border-color: var(--bs-secondary-border-subtle) !important; +} +.border-success-subtle { + border-color: var(--bs-success-border-subtle) !important; +} +.border-info-subtle { + border-color: var(--bs-info-border-subtle) !important; +} +.border-warning-subtle { + border-color: var(--bs-warning-border-subtle) !important; +} +.border-danger-subtle { + border-color: var(--bs-danger-border-subtle) !important; +} +.border-light-subtle { + border-color: var(--bs-light-border-subtle) !important; +} +.border-dark-subtle { + border-color: var(--bs-dark-border-subtle) !important; +} +.border-1 { + border-width: 1px !important; +} +.border-2 { + border-width: 2px !important; +} +.border-3 { + border-width: 3px !important; +} +.border-4 { + border-width: 4px !important; +} +.border-5 { + border-width: 5px !important; +} +.border-opacity-10 { + --bs-border-opacity: 0.1; +} +.border-opacity-25 { + --bs-border-opacity: 0.25; +} +.border-opacity-50 { + --bs-border-opacity: 0.5; +} +.border-opacity-75 { + --bs-border-opacity: 0.75; +} +.border-opacity-100 { + --bs-border-opacity: 1; +} +.w-25 { + width: 25% !important; +} +.w-50 { + width: 50% !important; +} +.w-75 { + width: 75% !important; +} +.w-100 { + width: 100% !important; +} +.w-auto { + width: auto !important; +} +.mw-100 { + max-width: 100% !important; +} +.vw-100 { + width: 100vw !important; +} +.min-vw-100 { + min-width: 100vw !important; +} +.h-25 { + height: 25% !important; +} +.h-50 { + height: 50% !important; +} +.h-75 { + height: 75% !important; +} +.h-100 { + height: 100% !important; +} +.h-auto { + height: auto !important; +} +.mh-100 { + max-height: 100% !important; +} +.vh-100 { + height: 100vh !important; +} +.min-vh-100 { + min-height: 100vh !important; +} +.flex-fill { + flex: 1 1 auto !important; +} +.flex-row { + flex-direction: row !important; +} +.flex-column { + flex-direction: column !important; +} +.flex-row-reverse { + flex-direction: row-reverse !important; +} +.flex-column-reverse { + flex-direction: column-reverse !important; +} +.flex-grow-0 { + flex-grow: 0 !important; +} +.flex-grow-1 { + flex-grow: 1 !important; +} +.flex-shrink-0 { + flex-shrink: 0 !important; +} +.flex-shrink-1 { + flex-shrink: 1 !important; +} +.flex-wrap { + flex-wrap: wrap !important; +} +.flex-nowrap { + flex-wrap: nowrap !important; +} +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} +.justify-content-start { + justify-content: flex-start !important; +} +.justify-content-end { + justify-content: flex-end !important; +} +.justify-content-center { + justify-content: center !important; +} +.justify-content-between { + justify-content: space-between !important; +} +.justify-content-around { + justify-content: space-around !important; +} +.justify-content-evenly { + justify-content: space-evenly !important; +} +.align-items-start { + align-items: flex-start !important; +} +.align-items-end { + align-items: flex-end !important; +} +.align-items-center { + align-items: center !important; +} +.align-items-baseline { + align-items: baseline !important; +} +.align-items-stretch { + align-items: stretch !important; +} +.align-content-start { + align-content: flex-start !important; +} +.align-content-end { + align-content: flex-end !important; +} +.align-content-center { + align-content: center !important; +} +.align-content-between { + align-content: space-between !important; +} +.align-content-around { + align-content: space-around !important; +} +.align-content-stretch { + align-content: stretch !important; +} +.align-self-auto { + align-self: auto !important; +} +.align-self-start { + align-self: flex-start !important; +} +.align-self-end { + align-self: flex-end !important; +} +.align-self-center { + align-self: center !important; +} +.align-self-baseline { + align-self: baseline !important; +} +.align-self-stretch { + align-self: stretch !important; +} +.order-first { + order: -1 !important; +} +.order-0 { + order: 0 !important; +} +.order-1 { + order: 1 !important; +} +.order-2 { + order: 2 !important; +} +.order-3 { + order: 3 !important; +} +.order-4 { + order: 4 !important; +} +.order-5 { + order: 5 !important; +} +.order-last { + order: 6 !important; +} +.m-0 { + margin: 0 !important; +} +.m-1 { + margin: 0.25rem !important; +} +.m-2 { + margin: 0.5rem !important; +} +.m-3 { + margin: 1rem !important; +} +.m-4 { + margin: 1.5rem !important; +} +.m-5 { + margin: 3rem !important; +} +.m-auto { + margin: auto !important; +} +.mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} +.mx-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; +} +.mx-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; +} +.mx-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; +} +.mx-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; +} +.mx-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; +} +.mx-auto { + margin-left: auto !important; + margin-right: auto !important; +} +.my-0 { + margin-bottom: 0 !important; + margin-top: 0 !important; +} +.my-1 { + margin-bottom: 0.25rem !important; + margin-top: 0.25rem !important; +} +.my-2 { + margin-bottom: 0.5rem !important; + margin-top: 0.5rem !important; +} +.my-3 { + margin-bottom: 1rem !important; + margin-top: 1rem !important; +} +.my-4 { + margin-bottom: 1.5rem !important; + margin-top: 1.5rem !important; +} +.my-5 { + margin-bottom: 3rem !important; + margin-top: 3rem !important; +} +.my-auto { + margin-bottom: auto !important; + margin-top: auto !important; +} +.mt-0 { + margin-top: 0 !important; +} +.mt-1 { + margin-top: 0.25rem !important; +} +.mt-2 { + margin-top: 0.5rem !important; +} +.mt-3 { + margin-top: 1rem !important; +} +.mt-4 { + margin-top: 1.5rem !important; +} +.mt-5 { + margin-top: 3rem !important; +} +.mt-auto { + margin-top: auto !important; +} +.me-0 { + margin-right: 0 !important; +} +.me-1 { + margin-right: 0.25rem !important; +} +.me-2 { + margin-right: 0.5rem !important; +} +.me-3 { + margin-right: 1rem !important; +} +.me-4 { + margin-right: 1.5rem !important; +} +.me-5 { + margin-right: 3rem !important; +} +.me-auto { + margin-right: auto !important; +} +.mb-0 { + margin-bottom: 0 !important; +} +.mb-1 { + margin-bottom: 0.25rem !important; +} +.mb-2 { + margin-bottom: 0.5rem !important; +} +.mb-3 { + margin-bottom: 1rem !important; +} +.mb-4 { + margin-bottom: 1.5rem !important; +} +.mb-5 { + margin-bottom: 3rem !important; +} +.mb-auto { + margin-bottom: auto !important; +} +.ms-0 { + margin-left: 0 !important; +} +.ms-1 { + margin-left: 0.25rem !important; +} +.ms-2 { + margin-left: 0.5rem !important; +} +.ms-3 { + margin-left: 1rem !important; +} +.ms-4 { + margin-left: 1.5rem !important; +} +.ms-5 { + margin-left: 3rem !important; +} +.ms-auto { + margin-left: auto !important; +} +.p-0 { + padding: 0 !important; +} +.p-1 { + padding: 0.25rem !important; +} +.p-2 { + padding: 0.5rem !important; +} +.p-3 { + padding: 1rem !important; +} +.p-4 { + padding: 1.5rem !important; +} +.p-5 { + padding: 3rem !important; +} +.px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} +.px-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; +} +.px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} +.px-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} +.px-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; +} +.px-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; +} +.py-0 { + padding-bottom: 0 !important; + padding-top: 0 !important; +} +.py-1 { + padding-bottom: 0.25rem !important; + padding-top: 0.25rem !important; +} +.py-2 { + padding-bottom: 0.5rem !important; + padding-top: 0.5rem !important; +} +.py-3 { + padding-bottom: 1rem !important; + padding-top: 1rem !important; +} +.py-4 { + padding-bottom: 1.5rem !important; + padding-top: 1.5rem !important; +} +.py-5 { + padding-bottom: 3rem !important; + padding-top: 3rem !important; +} +.pt-0 { + padding-top: 0 !important; +} +.pt-1 { + padding-top: 0.25rem !important; +} +.pt-2 { + padding-top: 0.5rem !important; +} +.pt-3 { + padding-top: 1rem !important; +} +.pt-4 { + padding-top: 1.5rem !important; +} +.pt-5 { + padding-top: 3rem !important; +} +.pe-0 { + padding-right: 0 !important; +} +.pe-1 { + padding-right: 0.25rem !important; +} +.pe-2 { + padding-right: 0.5rem !important; +} +.pe-3 { + padding-right: 1rem !important; +} +.pe-4 { + padding-right: 1.5rem !important; +} +.pe-5 { + padding-right: 3rem !important; +} +.pb-0 { + padding-bottom: 0 !important; +} +.pb-1 { + padding-bottom: 0.25rem !important; +} +.pb-2 { + padding-bottom: 0.5rem !important; +} +.pb-3 { + padding-bottom: 1rem !important; +} +.pb-4 { + padding-bottom: 1.5rem !important; +} +.pb-5 { + padding-bottom: 3rem !important; +} +.ps-0 { + padding-left: 0 !important; +} +.ps-1 { + padding-left: 0.25rem !important; +} +.ps-2 { + padding-left: 0.5rem !important; +} +.ps-3 { + padding-left: 1rem !important; +} +.ps-4 { + padding-left: 1.5rem !important; +} +.ps-5 { + padding-left: 3rem !important; +} +.gap-0 { + gap: 0 !important; +} +.gap-1 { + gap: 0.25rem !important; +} +.gap-2 { + gap: 0.5rem !important; +} +.gap-3 { + gap: 1rem !important; +} +.gap-4 { + gap: 1.5rem !important; +} +.gap-5 { + gap: 3rem !important; +} +.row-gap-0 { + row-gap: 0 !important; +} +.row-gap-1 { + row-gap: 0.25rem !important; +} +.row-gap-2 { + row-gap: 0.5rem !important; +} +.row-gap-3 { + row-gap: 1rem !important; +} +.row-gap-4 { + row-gap: 1.5rem !important; +} +.row-gap-5 { + row-gap: 3rem !important; +} +.column-gap-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; +} +.column-gap-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; +} +.column-gap-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; +} +.column-gap-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; +} +.column-gap-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; +} +.column-gap-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; +} +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} +.fs-5 { + font-size: 1.25rem !important; +} +.fs-6 { + font-size: 1rem !important; +} +.fst-italic { + font-style: italic !important; +} +.fst-normal { + font-style: normal !important; +} +.fw-lighter { + font-weight: lighter !important; +} +.fw-light { + font-weight: 300 !important; +} +.fw-normal { + font-weight: 400 !important; +} +.fw-medium { + font-weight: 500 !important; +} +.fw-semibold { + font-weight: 600 !important; +} +.fw-bold { + font-weight: 700 !important; +} +.fw-bolder { + font-weight: bolder !important; +} +.lh-1 { + line-height: 1 !important; +} +.lh-sm { + line-height: 1.25 !important; +} +.lh-base { + line-height: 1.5 !important; +} +.lh-lg { + line-height: 2 !important; +} +.text-start { + text-align: left !important; +} +.text-end { + text-align: right !important; +} +.text-center { + text-align: center !important; +} +.text-decoration-none { + text-decoration: none !important; +} +.text-decoration-underline { + text-decoration: underline !important; +} +.text-decoration-line-through { + text-decoration: line-through !important; +} +.text-lowercase { + text-transform: lowercase !important; +} +.text-uppercase { + text-transform: uppercase !important; +} +.text-capitalize { + text-transform: capitalize !important; +} +.text-wrap { + white-space: normal !important; +} +.text-nowrap { + white-space: nowrap !important; +} +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} +.text-muted { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} +.text-white-50 { + --bs-text-opacity: 1; + color: hsla(0, 0%, 100%, 0.5) !important; +} +.text-body-secondary { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} +.text-body-tertiary { + --bs-text-opacity: 1; + color: var(--bs-tertiary-color) !important; +} +.text-body-emphasis { + --bs-text-opacity: 1; + color: var(--bs-emphasis-color) !important; +} +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} +.text-opacity-25 { + --bs-text-opacity: 0.25; +} +.text-opacity-50 { + --bs-text-opacity: 0.5; +} +.text-opacity-75 { + --bs-text-opacity: 0.75; +} +.text-opacity-100 { + --bs-text-opacity: 1; +} +.text-primary-emphasis { + color: var(--bs-primary-text-emphasis) !important; +} +.text-secondary-emphasis { + color: var(--bs-secondary-text-emphasis) !important; +} +.text-success-emphasis { + color: var(--bs-success-text-emphasis) !important; +} +.text-info-emphasis { + color: var(--bs-info-text-emphasis) !important; +} +.text-warning-emphasis { + color: var(--bs-warning-text-emphasis) !important; +} +.text-danger-emphasis { + color: var(--bs-danger-text-emphasis) !important; +} +.text-light-emphasis { + color: var(--bs-light-text-emphasis) !important; +} +.text-dark-emphasis { + color: var(--bs-dark-text-emphasis) !important; +} +.link-opacity-10, +.link-opacity-10-hover:hover { + --bs-link-opacity: 0.1; +} +.link-opacity-25, +.link-opacity-25-hover:hover { + --bs-link-opacity: 0.25; +} +.link-opacity-50, +.link-opacity-50-hover:hover { + --bs-link-opacity: 0.5; +} +.link-opacity-75, +.link-opacity-75-hover:hover { + --bs-link-opacity: 0.75; +} +.link-opacity-100, +.link-opacity-100-hover:hover { + --bs-link-opacity: 1; +} +.link-offset-1, +.link-offset-1-hover:hover { + text-underline-offset: 0.125em !important; +} +.link-offset-2, +.link-offset-2-hover:hover { + text-underline-offset: 0.25em !important; +} +.link-offset-3, +.link-offset-3-hover:hover { + text-underline-offset: 0.375em !important; +} +.link-underline-primary { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important; +} +.link-underline-secondary { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important; +} +.link-underline-success { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important; +} +.link-underline-info { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important; +} +.link-underline-warning { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important; +} +.link-underline-danger { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important; +} +.link-underline-light { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important; +} +.link-underline-dark { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important; +} +.link-underline { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-underline-opacity-0, +.link-underline-opacity-0-hover:hover { + --bs-link-underline-opacity: 0; +} +.link-underline-opacity-10, +.link-underline-opacity-10-hover:hover { + --bs-link-underline-opacity: 0.1; +} +.link-underline-opacity-25, +.link-underline-opacity-25-hover:hover { + --bs-link-underline-opacity: 0.25; +} +.link-underline-opacity-50, +.link-underline-opacity-50-hover:hover { + --bs-link-underline-opacity: 0.5; +} +.link-underline-opacity-75, +.link-underline-opacity-75-hover:hover { + --bs-link-underline-opacity: 0.75; +} +.link-underline-opacity-100, +.link-underline-opacity-100-hover:hover { + --bs-link-underline-opacity: 1; +} +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; +} +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important; +} +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important; +} +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important; +} +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; +} +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} +.bg-body-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important; +} +.bg-body-tertiary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important; +} +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} +.bg-opacity-100 { + --bs-bg-opacity: 1; +} +.bg-primary-subtle { + background-color: var(--bs-primary-bg-subtle) !important; +} +.bg-secondary-subtle { + background-color: var(--bs-secondary-bg-subtle) !important; +} +.bg-success-subtle { + background-color: var(--bs-success-bg-subtle) !important; +} +.bg-info-subtle { + background-color: var(--bs-info-bg-subtle) !important; +} +.bg-warning-subtle { + background-color: var(--bs-warning-bg-subtle) !important; +} +.bg-danger-subtle { + background-color: var(--bs-danger-bg-subtle) !important; +} +.bg-light-subtle { + background-color: var(--bs-light-bg-subtle) !important; +} +.bg-dark-subtle { + background-color: var(--bs-dark-bg-subtle) !important; +} +.bg-gradient { + background-image: var(--bs-gradient) !important; +} +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + user-select: auto !important; +} +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; +} +.pe-none { + pointer-events: none !important; +} +.pe-auto { + pointer-events: auto !important; +} +.rounded { + border-radius: var(--bs-border-radius) !important; +} +.rounded-0 { + border-radius: 0 !important; +} +.rounded-1 { + border-radius: var(--bs-border-radius-sm) !important; +} +.rounded-2 { + border-radius: var(--bs-border-radius) !important; +} +.rounded-3 { + border-radius: var(--bs-border-radius-lg) !important; +} +.rounded-4 { + border-radius: var(--bs-border-radius-xl) !important; +} +.rounded-5 { + border-radius: var(--bs-border-radius-xxl) !important; +} +.rounded-circle { + border-radius: 50% !important; +} +.rounded-pill { + border-radius: var(--bs-border-radius-pill) !important; +} +.rounded-top { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} +.rounded-top-0 { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} +.rounded-top-1 { + border-top-left-radius: var(--bs-border-radius-sm) !important; + border-top-right-radius: var(--bs-border-radius-sm) !important; +} +.rounded-top-2 { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} +.rounded-top-3 { + border-top-left-radius: var(--bs-border-radius-lg) !important; + border-top-right-radius: var(--bs-border-radius-lg) !important; +} +.rounded-top-4 { + border-top-left-radius: var(--bs-border-radius-xl) !important; + border-top-right-radius: var(--bs-border-radius-xl) !important; +} +.rounded-top-5 { + border-top-left-radius: var(--bs-border-radius-xxl) !important; + border-top-right-radius: var(--bs-border-radius-xxl) !important; +} +.rounded-top-circle { + border-top-left-radius: 50% !important; + border-top-right-radius: 50% !important; +} +.rounded-top-pill { + border-top-left-radius: var(--bs-border-radius-pill) !important; + border-top-right-radius: var(--bs-border-radius-pill) !important; +} +.rounded-end { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} +.rounded-end-0 { + border-bottom-right-radius: 0 !important; + border-top-right-radius: 0 !important; +} +.rounded-end-1 { + border-bottom-right-radius: var(--bs-border-radius-sm) !important; + border-top-right-radius: var(--bs-border-radius-sm) !important; +} +.rounded-end-2 { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} +.rounded-end-3 { + border-bottom-right-radius: var(--bs-border-radius-lg) !important; + border-top-right-radius: var(--bs-border-radius-lg) !important; +} +.rounded-end-4 { + border-bottom-right-radius: var(--bs-border-radius-xl) !important; + border-top-right-radius: var(--bs-border-radius-xl) !important; +} +.rounded-end-5 { + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; + border-top-right-radius: var(--bs-border-radius-xxl) !important; +} +.rounded-end-circle { + border-bottom-right-radius: 50% !important; + border-top-right-radius: 50% !important; +} +.rounded-end-pill { + border-bottom-right-radius: var(--bs-border-radius-pill) !important; + border-top-right-radius: var(--bs-border-radius-pill) !important; +} +.rounded-bottom { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} +.rounded-bottom-0 { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} +.rounded-bottom-1 { + border-bottom-left-radius: var(--bs-border-radius-sm) !important; + border-bottom-right-radius: var(--bs-border-radius-sm) !important; +} +.rounded-bottom-2 { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} +.rounded-bottom-3 { + border-bottom-left-radius: var(--bs-border-radius-lg) !important; + border-bottom-right-radius: var(--bs-border-radius-lg) !important; +} +.rounded-bottom-4 { + border-bottom-left-radius: var(--bs-border-radius-xl) !important; + border-bottom-right-radius: var(--bs-border-radius-xl) !important; +} +.rounded-bottom-5 { + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; +} +.rounded-bottom-circle { + border-bottom-left-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} +.rounded-bottom-pill { + border-bottom-left-radius: var(--bs-border-radius-pill) !important; + border-bottom-right-radius: var(--bs-border-radius-pill) !important; +} +.rounded-start { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} +.rounded-start-0 { + border-bottom-left-radius: 0 !important; + border-top-left-radius: 0 !important; +} +.rounded-start-1 { + border-bottom-left-radius: var(--bs-border-radius-sm) !important; + border-top-left-radius: var(--bs-border-radius-sm) !important; +} +.rounded-start-2 { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} +.rounded-start-3 { + border-bottom-left-radius: var(--bs-border-radius-lg) !important; + border-top-left-radius: var(--bs-border-radius-lg) !important; +} +.rounded-start-4 { + border-bottom-left-radius: var(--bs-border-radius-xl) !important; + border-top-left-radius: var(--bs-border-radius-xl) !important; +} +.rounded-start-5 { + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; + border-top-left-radius: var(--bs-border-radius-xxl) !important; +} +.rounded-start-circle { + border-bottom-left-radius: 50% !important; + border-top-left-radius: 50% !important; +} +.rounded-start-pill { + border-bottom-left-radius: var(--bs-border-radius-pill) !important; + border-top-left-radius: var(--bs-border-radius-pill) !important; +} +.visible { + visibility: visible !important; +} +.invisible { + visibility: hidden !important; +} +.z-n1 { + z-index: -1 !important; +} +.z-0 { + z-index: 0 !important; +} +.z-1 { + z-index: 1 !important; +} +.z-2 { + z-index: 2 !important; +} +.z-3 { + z-index: 3 !important; +} +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .object-fit-sm-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-sm-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-sm-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-sm-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-sm-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-sm-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-sm-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-sm-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-sm-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-sm-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-sm-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-sm-0 { + margin-bottom: 0 !important; + margin-top: 0 !important; + } + .my-sm-1 { + margin-bottom: 0.25rem !important; + margin-top: 0.25rem !important; + } + .my-sm-2 { + margin-bottom: 0.5rem !important; + margin-top: 0.5rem !important; + } + .my-sm-3 { + margin-bottom: 1rem !important; + margin-top: 1rem !important; + } + .my-sm-4 { + margin-bottom: 1.5rem !important; + margin-top: 1.5rem !important; + } + .my-sm-5 { + margin-bottom: 3rem !important; + margin-top: 3rem !important; + } + .my-sm-auto { + margin-bottom: auto !important; + margin-top: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-sm-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-sm-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-sm-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-sm-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-sm-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-sm-0 { + padding-bottom: 0 !important; + padding-top: 0 !important; + } + .py-sm-1 { + padding-bottom: 0.25rem !important; + padding-top: 0.25rem !important; + } + .py-sm-2 { + padding-bottom: 0.5rem !important; + padding-top: 0.5rem !important; + } + .py-sm-3 { + padding-bottom: 1rem !important; + padding-top: 1rem !important; + } + .py-sm-4 { + padding-bottom: 1.5rem !important; + padding-top: 1.5rem !important; + } + .py-sm-5 { + padding-bottom: 3rem !important; + padding-top: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 3rem !important; + } + .row-gap-sm-0 { + row-gap: 0 !important; + } + .row-gap-sm-1 { + row-gap: 0.25rem !important; + } + .row-gap-sm-2 { + row-gap: 0.5rem !important; + } + .row-gap-sm-3 { + row-gap: 1rem !important; + } + .row-gap-sm-4 { + row-gap: 1.5rem !important; + } + .row-gap-sm-5 { + row-gap: 3rem !important; + } + .column-gap-sm-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-sm-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-sm-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-sm-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-sm-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-sm-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .object-fit-md-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-md-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-md-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-md-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-md-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-md-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-md-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-md-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-md-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-md-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-md-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-md-0 { + margin-bottom: 0 !important; + margin-top: 0 !important; + } + .my-md-1 { + margin-bottom: 0.25rem !important; + margin-top: 0.25rem !important; + } + .my-md-2 { + margin-bottom: 0.5rem !important; + margin-top: 0.5rem !important; + } + .my-md-3 { + margin-bottom: 1rem !important; + margin-top: 1rem !important; + } + .my-md-4 { + margin-bottom: 1.5rem !important; + margin-top: 1.5rem !important; + } + .my-md-5 { + margin-bottom: 3rem !important; + margin-top: 3rem !important; + } + .my-md-auto { + margin-bottom: auto !important; + margin-top: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-md-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-md-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-md-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-md-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-md-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-md-0 { + padding-bottom: 0 !important; + padding-top: 0 !important; + } + .py-md-1 { + padding-bottom: 0.25rem !important; + padding-top: 0.25rem !important; + } + .py-md-2 { + padding-bottom: 0.5rem !important; + padding-top: 0.5rem !important; + } + .py-md-3 { + padding-bottom: 1rem !important; + padding-top: 1rem !important; + } + .py-md-4 { + padding-bottom: 1.5rem !important; + padding-top: 1.5rem !important; + } + .py-md-5 { + padding-bottom: 3rem !important; + padding-top: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 3rem !important; + } + .row-gap-md-0 { + row-gap: 0 !important; + } + .row-gap-md-1 { + row-gap: 0.25rem !important; + } + .row-gap-md-2 { + row-gap: 0.5rem !important; + } + .row-gap-md-3 { + row-gap: 1rem !important; + } + .row-gap-md-4 { + row-gap: 1.5rem !important; + } + .row-gap-md-5 { + row-gap: 3rem !important; + } + .column-gap-md-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-md-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-md-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-md-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-md-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-md-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .object-fit-lg-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-lg-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-lg-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-lg-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-lg-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-lg-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-lg-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-lg-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-lg-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-lg-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-lg-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-lg-0 { + margin-bottom: 0 !important; + margin-top: 0 !important; + } + .my-lg-1 { + margin-bottom: 0.25rem !important; + margin-top: 0.25rem !important; + } + .my-lg-2 { + margin-bottom: 0.5rem !important; + margin-top: 0.5rem !important; + } + .my-lg-3 { + margin-bottom: 1rem !important; + margin-top: 1rem !important; + } + .my-lg-4 { + margin-bottom: 1.5rem !important; + margin-top: 1.5rem !important; + } + .my-lg-5 { + margin-bottom: 3rem !important; + margin-top: 3rem !important; + } + .my-lg-auto { + margin-bottom: auto !important; + margin-top: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-lg-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-lg-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-lg-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-lg-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-lg-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-lg-0 { + padding-bottom: 0 !important; + padding-top: 0 !important; + } + .py-lg-1 { + padding-bottom: 0.25rem !important; + padding-top: 0.25rem !important; + } + .py-lg-2 { + padding-bottom: 0.5rem !important; + padding-top: 0.5rem !important; + } + .py-lg-3 { + padding-bottom: 1rem !important; + padding-top: 1rem !important; + } + .py-lg-4 { + padding-bottom: 1.5rem !important; + padding-top: 1.5rem !important; + } + .py-lg-5 { + padding-bottom: 3rem !important; + padding-top: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 3rem !important; + } + .row-gap-lg-0 { + row-gap: 0 !important; + } + .row-gap-lg-1 { + row-gap: 0.25rem !important; + } + .row-gap-lg-2 { + row-gap: 0.5rem !important; + } + .row-gap-lg-3 { + row-gap: 1rem !important; + } + .row-gap-lg-4 { + row-gap: 1.5rem !important; + } + .row-gap-lg-5 { + row-gap: 3rem !important; + } + .column-gap-lg-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-lg-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-lg-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-lg-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-lg-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-lg-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .object-fit-xl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-xl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-xl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-xl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-xl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-xl-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-xl-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-xl-0 { + margin-bottom: 0 !important; + margin-top: 0 !important; + } + .my-xl-1 { + margin-bottom: 0.25rem !important; + margin-top: 0.25rem !important; + } + .my-xl-2 { + margin-bottom: 0.5rem !important; + margin-top: 0.5rem !important; + } + .my-xl-3 { + margin-bottom: 1rem !important; + margin-top: 1rem !important; + } + .my-xl-4 { + margin-bottom: 1.5rem !important; + margin-top: 1.5rem !important; + } + .my-xl-5 { + margin-bottom: 3rem !important; + margin-top: 3rem !important; + } + .my-xl-auto { + margin-bottom: auto !important; + margin-top: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-xl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-xl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-xl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-xl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-xl-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-xl-0 { + padding-bottom: 0 !important; + padding-top: 0 !important; + } + .py-xl-1 { + padding-bottom: 0.25rem !important; + padding-top: 0.25rem !important; + } + .py-xl-2 { + padding-bottom: 0.5rem !important; + padding-top: 0.5rem !important; + } + .py-xl-3 { + padding-bottom: 1rem !important; + padding-top: 1rem !important; + } + .py-xl-4 { + padding-bottom: 1.5rem !important; + padding-top: 1.5rem !important; + } + .py-xl-5 { + padding-bottom: 3rem !important; + padding-top: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 3rem !important; + } + .row-gap-xl-0 { + row-gap: 0 !important; + } + .row-gap-xl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xl-3 { + row-gap: 1rem !important; + } + .row-gap-xl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xl-5 { + row-gap: 3rem !important; + } + .column-gap-xl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xl-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .object-fit-xxl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xxl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xxl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xxl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xxl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .mx-xxl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .mx-xxl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .mx-xxl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .mx-xxl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .mx-xxl-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .mx-xxl-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .my-xxl-0 { + margin-bottom: 0 !important; + margin-top: 0 !important; + } + .my-xxl-1 { + margin-bottom: 0.25rem !important; + margin-top: 0.25rem !important; + } + .my-xxl-2 { + margin-bottom: 0.5rem !important; + margin-top: 0.5rem !important; + } + .my-xxl-3 { + margin-bottom: 1rem !important; + margin-top: 1rem !important; + } + .my-xxl-4 { + margin-bottom: 1.5rem !important; + margin-top: 1.5rem !important; + } + .my-xxl-5 { + margin-bottom: 3rem !important; + margin-top: 3rem !important; + } + .my-xxl-auto { + margin-bottom: auto !important; + margin-top: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .px-xxl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .px-xxl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .px-xxl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .px-xxl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .px-xxl-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .py-xxl-0 { + padding-bottom: 0 !important; + padding-top: 0 !important; + } + .py-xxl-1 { + padding-bottom: 0.25rem !important; + padding-top: 0.25rem !important; + } + .py-xxl-2 { + padding-bottom: 0.5rem !important; + padding-top: 0.5rem !important; + } + .py-xxl-3 { + padding-bottom: 1rem !important; + padding-top: 1rem !important; + } + .py-xxl-4 { + padding-bottom: 1.5rem !important; + padding-top: 1.5rem !important; + } + .py-xxl-5 { + padding-bottom: 3rem !important; + padding-top: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 3rem !important; + } + .row-gap-xxl-0 { + row-gap: 0 !important; + } + .row-gap-xxl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xxl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xxl-3 { + row-gap: 1rem !important; + } + .row-gap-xxl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xxl-5 { + row-gap: 3rem !important; + } + .column-gap-xxl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xxl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xxl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xxl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xxl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xxl-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 2.5rem !important; + } + .fs-2 { + font-size: 2rem !important; + } + .fs-3 { + font-size: 1.75rem !important; + } + .fs-4 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +.swal2-popup.swal2-toast { + background: #19191a; + box-shadow: + 0 0 1px rgba(0, 0, 0, 0.075), + 0 1px 2px rgba(0, 0, 0, 0.075), + 1px 2px 4px rgba(0, 0, 0, 0.075), + 1px 3px 8px rgba(0, 0, 0, 0.075), + 2px 4px 16px rgba(0, 0, 0, 0.075); + box-sizing: border-box; + grid-column: 1/4 !important; + grid-row: 1/4 !important; + grid-template-columns: min-content auto min-content; + overflow-y: hidden; + padding: 1em; + pointer-events: all; +} +.swal2-popup.swal2-toast > * { + grid-column: 2; +} +.swal2-popup.swal2-toast .swal2-title { + font-size: 1em; + margin: 0.5em 1em; + padding: 0; + text-align: initial; +} +.swal2-popup.swal2-toast .swal2-loading { + justify-content: center; +} +.swal2-popup.swal2-toast .swal2-input { + font-size: 1em; + height: 2em; + margin: 0.5em; +} +.swal2-popup.swal2-toast .swal2-validation-message { + font-size: 1em; +} +.swal2-popup.swal2-toast .swal2-footer { + font-size: 0.8em; + margin: 0.5em 0 0; + padding: 0.5em 0 0; +} +.swal2-popup.swal2-toast .swal2-close { + align-self: center; + font-size: 2em; + grid-column: 3/3; + grid-row: 1/99; + height: 0.8em; + margin: 0; + width: 0.8em; +} +.swal2-popup.swal2-toast .swal2-html-container { + font-size: 1em; + margin: 0.5em 1em; + overflow: initial; + padding: 0; + text-align: initial; +} +.swal2-popup.swal2-toast .swal2-html-container:empty { + padding: 0; +} +.swal2-popup.swal2-toast .swal2-loader { + align-self: center; + grid-column: 1; + grid-row: 1/99; + height: 2em; + margin: 0.25em; + width: 2em; +} +.swal2-popup.swal2-toast .swal2-icon { + align-self: center; + grid-column: 1; + grid-row: 1/99; + height: 2em; + margin: 0 0.5em 0 0; + min-width: 2em; + width: 2em; +} +.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content { + align-items: center; + display: flex; + font-size: 1.8em; + font-weight: 700; +} +.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring { + height: 2em; + width: 2em; +} +.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'] { + top: 0.875em; + width: 1.375em; +} +.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] { + left: 0.3125em; +} +.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] { + right: 0.3125em; +} +.swal2-popup.swal2-toast .swal2-actions { + height: auto; + justify-content: flex-start; + margin: 0.5em 0 0; + padding: 0 0.5em; +} +.swal2-popup.swal2-toast .swal2-styled { + font-size: 1em; + margin: 0.25em 0.5em; + padding: 0.4em 0.6em; +} +.swal2-popup.swal2-toast .swal2-success { + border-color: #a5dc86; +} +.swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'] { + border-radius: 50%; + height: 3em; + position: absolute; + width: 1.6em; +} +.swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='left'] { + border-radius: 4em 0 0 4em; + left: -0.5em; + top: -0.8em; + transform: rotate(-45deg); + transform-origin: 2em 2em; +} +.swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='right'] { + border-radius: 0 4em 4em 0; + left: 0.9375em; + top: -0.25em; + transform-origin: 0 1.5em; +} +.swal2-popup.swal2-toast .swal2-success .swal2-success-ring { + height: 2em; + width: 2em; +} +.swal2-popup.swal2-toast .swal2-success .swal2-success-fix { + height: 2.6875em; + left: 0.4375em; + top: 0; + width: 0.4375em; +} +.swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'] { + height: 0.3125em; +} +.swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='tip'] { + left: 0.1875em; + top: 1.125em; + width: 0.75em; +} +.swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='long'] { + right: 0.1875em; + top: 0.9375em; + width: 1.375em; +} +.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip { + animation: swal2-toast-animate-success-line-tip 0.75s; +} +.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long { + animation: swal2-toast-animate-success-line-long 0.75s; +} +.swal2-popup.swal2-toast.swal2-show { + animation: swal2-toast-show 0.5s; +} +.swal2-popup.swal2-toast.swal2-hide { + animation: swal2-toast-hide 0.1s forwards; +} +div:where(.swal2-container) { + box-sizing: border-box; + display: grid; + grid-template-areas: 'top-start top top-end' 'center-start center center-end' 'bottom-start bottom-center bottom-end'; + grid-template-rows: minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto); + height: 100%; + inset: 0; + overflow-x: hidden; + padding: 0.625em; + position: fixed; + transition: background-color 0.1s; + z-index: 1060; + -webkit-overflow-scrolling: touch; +} +div:where(.swal2-container).swal2-backdrop-show, +div:where(.swal2-container).swal2-noanimation { + background: rgba(25, 25, 26, 0.75); +} +div:where(.swal2-container).swal2-backdrop-hide { + background: transparent !important; +} +div:where(.swal2-container).swal2-bottom-start, +div:where(.swal2-container).swal2-center-start, +div:where(.swal2-container).swal2-top-start { + grid-template-columns: minmax(0, 1fr) auto auto; +} +div:where(.swal2-container).swal2-bottom, +div:where(.swal2-container).swal2-center, +div:where(.swal2-container).swal2-top { + grid-template-columns: auto minmax(0, 1fr) auto; +} +div:where(.swal2-container).swal2-bottom-end, +div:where(.swal2-container).swal2-center-end, +div:where(.swal2-container).swal2-top-end { + grid-template-columns: auto auto minmax(0, 1fr); +} +div:where(.swal2-container).swal2-top-start > .swal2-popup { + align-self: start; +} +div:where(.swal2-container).swal2-top > .swal2-popup { + grid-column: 2; + place-self: start center; +} +div:where(.swal2-container).swal2-top-end > .swal2-popup, +div:where(.swal2-container).swal2-top-right > .swal2-popup { + grid-column: 3; + place-self: start end; +} +div:where(.swal2-container).swal2-center-left > .swal2-popup, +div:where(.swal2-container).swal2-center-start > .swal2-popup { + align-self: center; + grid-row: 2; +} +div:where(.swal2-container).swal2-center > .swal2-popup { + grid-column: 2; + grid-row: 2; + place-self: center center; +} +div:where(.swal2-container).swal2-center-end > .swal2-popup, +div:where(.swal2-container).swal2-center-right > .swal2-popup { + grid-column: 3; + grid-row: 2; + place-self: center end; +} +div:where(.swal2-container).swal2-bottom-left > .swal2-popup, +div:where(.swal2-container).swal2-bottom-start > .swal2-popup { + align-self: end; + grid-column: 1; + grid-row: 3; +} +div:where(.swal2-container).swal2-bottom > .swal2-popup { + grid-column: 2; + grid-row: 3; + place-self: end center; +} +div:where(.swal2-container).swal2-bottom-end > .swal2-popup, +div:where(.swal2-container).swal2-bottom-right > .swal2-popup { + grid-column: 3; + grid-row: 3; + place-self: end end; +} +div:where(.swal2-container).swal2-grow-fullscreen > .swal2-popup, +div:where(.swal2-container).swal2-grow-row > .swal2-popup { + grid-column: 1/4; + width: 100%; +} +div:where(.swal2-container).swal2-grow-column > .swal2-popup, +div:where(.swal2-container).swal2-grow-fullscreen > .swal2-popup { + align-self: stretch; + grid-row: 1/4; +} +div:where(.swal2-container).swal2-no-transition { + transition: none !important; +} +div:where(.swal2-container) div:where(.swal2-popup) { + background: #19191a; + border: none; + border-radius: 5px; + box-sizing: border-box; + color: #545454; + display: none; + font-family: inherit; + font-size: 1rem; + grid-template-columns: minmax(0, 100%); + max-width: 100%; + padding: 0 0 1.25em; + position: relative; + width: 32em; +} +div:where(.swal2-container) div:where(.swal2-popup):focus { + outline: none; +} +div:where(.swal2-container) div:where(.swal2-popup).swal2-loading { + overflow-y: hidden; +} +div:where(.swal2-container) .h2:where(.swal2-title), +div:where(.swal2-container) h2:where(.swal2-title) { + color: #e1e1e1; + font-size: 1.875em; + font-weight: 600; + margin: 0; + max-width: 100%; + padding: 0.8em 1em 0; + position: relative; + text-align: center; + text-transform: none; + word-wrap: break-word; +} +div:where(.swal2-container) div:where(.swal2-actions) { + align-items: center; + box-sizing: border-box; + display: flex; + flex-wrap: wrap; + justify-content: center; + margin: 1.25em auto 0; + padding: 0; + width: auto; + z-index: 1; +} +div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled[disabled] { + opacity: 0.4; +} +div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:hover { + background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)); +} +div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:active { + background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)); +} +div:where(.swal2-container) div:where(.swal2-loader) { + align-items: center; + animation: swal2-rotate-loading 1.5s linear 0s infinite normal; + border-color: #2778c4 transparent; + border-radius: 100%; + border-style: solid; + border-width: 0.25em; + display: none; + height: 2.2em; + justify-content: center; + margin: 0 1.875em; + width: 2.2em; +} +div:where(.swal2-container) button:where(.swal2-styled) { + box-shadow: 0 0 0 3px transparent; + font-weight: 500; + margin: 0.3125em; + padding: 0.625em 1.1em; + transition: box-shadow 0.1s; +} +div:where(.swal2-container) button:where(.swal2-styled):not([disabled]) { + cursor: pointer; +} +div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm { + background: initial; + background-color: #7066e0; + border: 0; + border-radius: 0.25em; + color: #fff; + font-size: 1em; +} +div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm:focus { + box-shadow: 0 0 0 3px rgba(112, 102, 224, 0.5); +} +div:where(.swal2-container) button:where(.swal2-styled).swal2-deny { + background: initial; + background-color: #dc3741; + border: 0; + border-radius: 0.25em; + color: #fff; + font-size: 1em; +} +div:where(.swal2-container) button:where(.swal2-styled).swal2-deny:focus { + box-shadow: 0 0 0 3px rgba(220, 55, 65, 0.5); +} +div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel { + background: initial; + background-color: #6e7881; + border: 0; + border-radius: 0.25em; + color: #fff; + font-size: 1em; +} +div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel:focus { + box-shadow: 0 0 0 3px hsla(208, 8%, 47%, 0.5); +} +div:where(.swal2-container) button:where(.swal2-styled).swal2-default-outline:focus { + box-shadow: + 0 0 0 1px #19191a, + 0 0 0 3px rgba(138, 176, 213, 0.5); +} +div:where(.swal2-container) button:where(.swal2-styled):focus { + outline: none; +} +div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner { + border: 0; +} +div:where(.swal2-container) div:where(.swal2-footer) { + border-top: 1px solid #555; + color: #bbb; + font-size: 1em; + margin: 1em 0 0; + padding: 1em 1em 0; + text-align: center; +} +div:where(.swal2-container) .swal2-timer-progress-bar-container { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + bottom: 0; + grid-column: auto !important; + left: 0; + overflow: hidden; + position: absolute; + right: 0; +} +div:where(.swal2-container) div:where(.swal2-timer-progress-bar) { + background: hsla(0, 0%, 88%, 0.6); + height: 0.25em; + width: 100%; +} +div:where(.swal2-container) img:where(.swal2-image) { + margin: 2em auto 1em; + max-width: 100%; +} +div:where(.swal2-container) button:where(.swal2-close) { + align-items: center; + background: transparent; + border: none; + border-radius: 5px; + color: #ccc; + cursor: pointer; + font-family: monospace; + font-size: 2.5em; + height: 1.2em; + justify-content: center; + justify-self: end; + margin-bottom: -1.2em; + margin-right: 0; + margin-top: 0; + overflow: hidden; + padding: 0; + transition: + color 0.1s, + box-shadow 0.1s; + width: 1.2em; + z-index: 2; +} +div:where(.swal2-container) button:where(.swal2-close):hover { + background: transparent; + color: #f27474; + transform: none; +} +div:where(.swal2-container) button:where(.swal2-close):focus { + box-shadow: inset 0 0 0 3px rgba(100, 150, 200, 0.5); + outline: none; +} +div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner { + border: 0; +} +div:where(.swal2-container) .swal2-html-container { + color: #e1e1e1; + font-size: 1.125em; + font-weight: 400; + justify-content: center; + line-height: normal; + margin: 1em 1.6em 0.3em; + overflow: auto; + padding: 0; + text-align: center; + z-index: 1; + word-wrap: break-word; + word-break: break-word; +} +div:where(.swal2-container) div:where(.swal2-radio), +div:where(.swal2-container) input:where(.swal2-file), +div:where(.swal2-container) input:where(.swal2-input), +div:where(.swal2-container) label:where(.swal2-checkbox), +div:where(.swal2-container) select:where(.swal2-select), +div:where(.swal2-container) textarea:where(.swal2-textarea) { + margin: 1em 2em 3px; +} +div:where(.swal2-container) input:where(.swal2-file), +div:where(.swal2-container) input:where(.swal2-input), +div:where(.swal2-container) textarea:where(.swal2-textarea) { + background: #323234; + border: 1px solid #d9d9d9; + border-radius: 0.1875em; + box-shadow: + inset 0 1px 1px rgba(0, 0, 0, 0.06), + 0 0 0 3px transparent; + box-sizing: border-box; + color: #e1e1e1; + font-size: 1.125em; + transition: + border-color 0.1s, + box-shadow 0.1s; + width: auto; +} +div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror, +div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror, +div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror { + border-color: #f27474 !important; + box-shadow: 0 0 2px #f27474 !important; +} +div:where(.swal2-container) input:where(.swal2-file):focus, +div:where(.swal2-container) input:where(.swal2-input):focus, +div:where(.swal2-container) textarea:where(.swal2-textarea):focus { + border: 1px solid #b4dbed; + box-shadow: + inset 0 1px 1px rgba(0, 0, 0, 0.06), + 0 0 0 3px rgba(100, 150, 200, 0.5); + outline: none; +} +div:where(.swal2-container) input:where(.swal2-file)::-moz-placeholder, +div:where(.swal2-container) input:where(.swal2-input)::-moz-placeholder, +div:where(.swal2-container) textarea:where(.swal2-textarea)::-moz-placeholder { + color: #ccc; +} +div:where(.swal2-container) input:where(.swal2-file)::placeholder, +div:where(.swal2-container) input:where(.swal2-input)::placeholder, +div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder { + color: #ccc; +} +div:where(.swal2-container) .swal2-range { + background: #19191a; + margin: 1em 2em 3px; +} +div:where(.swal2-container) .swal2-range input { + width: 80%; +} +div:where(.swal2-container) .swal2-range output { + color: #e1e1e1; + font-weight: 600; + text-align: center; + width: 20%; +} +div:where(.swal2-container) .swal2-range input, +div:where(.swal2-container) .swal2-range output { + font-size: 1.125em; + height: 2.625em; + line-height: 2.625em; + padding: 0; +} +div:where(.swal2-container) .swal2-input { + height: 2.625em; + padding: 0 0.75em; +} +div:where(.swal2-container) .swal2-file { + background: #323234; + font-size: 1.125em; + margin-left: auto; + margin-right: auto; + width: 75%; +} +div:where(.swal2-container) .swal2-textarea { + height: 6.75em; + padding: 0.75em; +} +div:where(.swal2-container) .swal2-select { + background: #323234; + color: #e1e1e1; + font-size: 1.125em; + max-width: 100%; + min-width: 50%; + padding: 0.375em 0.625em; +} +div:where(.swal2-container) .swal2-checkbox, +div:where(.swal2-container) .swal2-radio { + align-items: center; + background: #19191a; + color: #e1e1e1; + justify-content: center; +} +div:where(.swal2-container) .swal2-checkbox label, +div:where(.swal2-container) .swal2-radio label { + font-size: 1.125em; + margin: 0 0.6em; +} +div:where(.swal2-container) .swal2-checkbox input, +div:where(.swal2-container) .swal2-radio input { + flex-shrink: 0; + margin: 0 0.4em; +} +div:where(.swal2-container) label:where(.swal2-input-label) { + display: flex; + justify-content: center; + margin: 1em auto 0; +} +div:where(.swal2-container) div:where(.swal2-validation-message) { + align-items: center; + background: #323234; + color: #e1e1e1; + font-size: 1em; + font-weight: 300; + justify-content: center; + margin: 1em 0 0; + overflow: hidden; + padding: 0.625em; +} +div:where(.swal2-container) div:where(.swal2-validation-message):before { + background-color: #f27474; + border-radius: 50%; + color: #fff; + content: '!'; + display: inline-block; + font-weight: 600; + height: 1.5em; + line-height: 1.5em; + margin: 0 0.625em; + min-width: 1.5em; + text-align: center; + width: 1.5em; +} +div:where(.swal2-container) .swal2-progress-steps { + align-items: center; + background: transparent; + flex-wrap: wrap; + font-weight: 600; + margin: 1.25em auto; + max-width: 100%; + padding: 0; +} +div:where(.swal2-container) .swal2-progress-steps li { + display: inline-block; + position: relative; +} +div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step { + background: #2778c4; + border-radius: 2em; + color: #fff; + flex-shrink: 0; + height: 2em; + line-height: 2em; + text-align: center; + width: 2em; + z-index: 20; +} +div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step { + background: #2778c4; +} +div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step { + background: #58585b; + color: #fff; +} +div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line { + background: #58585b; +} +div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line { + background: #2778c4; + flex-shrink: 0; + height: 0.4em; + margin: 0 -1px; + width: 2.5em; + z-index: 10; +} +div:where(.swal2-icon) { + border: 0.25em solid #000; + border-radius: 50%; + box-sizing: content-box; + cursor: default; + font-family: inherit; + height: 5em; + justify-content: center; + line-height: 5em; + margin: 2.5em auto 0.6em; + position: relative; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + width: 5em; +} +div:where(.swal2-icon) .swal2-icon-content { + align-items: center; + display: flex; + font-size: 3.75em; +} +div:where(.swal2-icon).swal2-error { + border-color: #f27474; + color: #f27474; +} +div:where(.swal2-icon).swal2-error .swal2-x-mark { + flex-grow: 1; + position: relative; +} +div:where(.swal2-icon).swal2-error [class^='swal2-x-mark-line'] { + background-color: #f27474; + border-radius: 0.125em; + display: block; + height: 0.3125em; + position: absolute; + top: 2.3125em; + width: 2.9375em; +} +div:where(.swal2-icon).swal2-error [class^='swal2-x-mark-line'][class$='left'] { + left: 1.0625em; + transform: rotate(45deg); +} +div:where(.swal2-icon).swal2-error [class^='swal2-x-mark-line'][class$='right'] { + right: 1em; + transform: rotate(-45deg); +} +div:where(.swal2-icon).swal2-error.swal2-icon-show { + animation: swal2-animate-error-icon 0.5s; +} +div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark { + animation: swal2-animate-error-x-mark 0.5s; +} +div:where(.swal2-icon).swal2-warning { + border-color: #facea8; + color: #f8bb86; +} +div:where(.swal2-icon).swal2-warning.swal2-icon-show { + animation: swal2-animate-error-icon 0.5s; +} +div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content { + animation: swal2-animate-i-mark 0.5s; +} +div:where(.swal2-icon).swal2-info { + border-color: #9de0f6; + color: #3fc3ee; +} +div:where(.swal2-icon).swal2-info.swal2-icon-show { + animation: swal2-animate-error-icon 0.5s; +} +div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content { + animation: swal2-animate-i-mark 0.8s; +} +div:where(.swal2-icon).swal2-question { + border-color: #c9dae1; + color: #87adbd; +} +div:where(.swal2-icon).swal2-question.swal2-icon-show { + animation: swal2-animate-error-icon 0.5s; +} +div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content { + animation: swal2-animate-question-mark 0.8s; +} +div:where(.swal2-icon).swal2-success { + border-color: #a5dc86; + color: #a5dc86; +} +div:where(.swal2-icon).swal2-success [class^='swal2-success-circular-line'] { + border-radius: 50%; + height: 7.5em; + position: absolute; + width: 3.75em; +} +div:where(.swal2-icon).swal2-success [class^='swal2-success-circular-line'][class$='left'] { + border-radius: 7.5em 0 0 7.5em; + left: -2.0635em; + top: -0.4375em; + transform: rotate(-45deg); + transform-origin: 3.75em 3.75em; +} +div:where(.swal2-icon).swal2-success [class^='swal2-success-circular-line'][class$='right'] { + border-radius: 0 7.5em 7.5em 0; + left: 1.875em; + top: -0.6875em; + transform: rotate(-45deg); + transform-origin: 0 3.75em; +} +div:where(.swal2-icon).swal2-success .swal2-success-ring { + border: 0.25em solid hsla(98, 55%, 69%, 0.3); + border-radius: 50%; + box-sizing: content-box; + height: 100%; + left: -0.25em; + position: absolute; + top: -0.25em; + width: 100%; + z-index: 2; +} +div:where(.swal2-icon).swal2-success .swal2-success-fix { + height: 5.625em; + left: 1.625em; + position: absolute; + top: 0.5em; + transform: rotate(-45deg); + width: 0.4375em; + z-index: 1; +} +div:where(.swal2-icon).swal2-success [class^='swal2-success-line'] { + background-color: #a5dc86; + border-radius: 0.125em; + display: block; + height: 0.3125em; + position: absolute; + z-index: 2; +} +div:where(.swal2-icon).swal2-success [class^='swal2-success-line'][class$='tip'] { + left: 0.8125em; + top: 2.875em; + transform: rotate(45deg); + width: 1.5625em; +} +div:where(.swal2-icon).swal2-success [class^='swal2-success-line'][class$='long'] { + right: 0.5em; + top: 2.375em; + transform: rotate(-45deg); + width: 2.9375em; +} +div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip { + animation: swal2-animate-success-line-tip 0.75s; +} +div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long { + animation: swal2-animate-success-line-long 0.75s; +} +div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right { + animation: swal2-rotate-success-circular-line 4.25s ease-in; +} +[class^='swal2'] { + -webkit-tap-highlight-color: transparent; +} +.swal2-show { + animation: swal2-show 0.3s; +} +.swal2-hide { + animation: swal2-hide 0.15s forwards; +} +.swal2-noanimation { + transition: none; +} +.swal2-scrollbar-measure { + height: 50px; + overflow: scroll; + position: absolute; + top: -9999px; + width: 50px; +} +.swal2-rtl .swal2-close { + margin-left: 0; + margin-right: 0; +} +.swal2-rtl .swal2-timer-progress-bar { + left: auto; + right: 0; +} +@keyframes swal2-toast-show { + 0% { + transform: translateY(-0.625em) rotate(2deg); + } + 33% { + transform: translateY(0) rotate(-2deg); + } + 66% { + transform: translateY(0.3125em) rotate(2deg); + } + to { + transform: translateY(0) rotate(0deg); + } +} +@keyframes swal2-toast-hide { + to { + opacity: 0; + transform: rotate(1deg); + } +} +@keyframes swal2-toast-animate-success-line-tip { + 0% { + left: 0.0625em; + top: 0.5625em; + width: 0; + } + 54% { + left: 0.125em; + top: 0.125em; + width: 0; + } + 70% { + left: -0.25em; + top: 0.625em; + width: 1.625em; + } + 84% { + left: 0.75em; + top: 1.0625em; + width: 0.5em; + } + to { + left: 0.1875em; + top: 1.125em; + width: 0.75em; + } +} +@keyframes swal2-toast-animate-success-line-long { + 0% { + right: 1.375em; + top: 1.625em; + width: 0; + } + 65% { + right: 0.9375em; + top: 1.25em; + width: 0; + } + 84% { + right: 0; + top: 0.9375em; + width: 1.125em; + } + to { + right: 0.1875em; + top: 0.9375em; + width: 1.375em; + } +} +@keyframes swal2-show { + 0% { + transform: scale(0.7); + } + 45% { + transform: scale(1.05); + } + 80% { + transform: scale(0.95); + } + to { + transform: scale(1); + } +} +@keyframes swal2-hide { + 0% { + opacity: 1; + transform: scale(1); + } + to { + opacity: 0; + transform: scale(0.5); + } +} +@keyframes swal2-animate-success-line-tip { + 0% { + left: 0.0625em; + top: 1.1875em; + width: 0; + } + 54% { + left: 0.125em; + top: 1.0625em; + width: 0; + } + 70% { + left: -0.375em; + top: 2.1875em; + width: 3.125em; + } + 84% { + left: 1.3125em; + top: 3em; + width: 1.0625em; + } + to { + left: 0.8125em; + top: 2.8125em; + width: 1.5625em; + } +} +@keyframes swal2-animate-success-line-long { + 0% { + right: 2.875em; + top: 3.375em; + width: 0; + } + 65% { + right: 2.875em; + top: 3.375em; + width: 0; + } + 84% { + right: 0; + top: 2.1875em; + width: 3.4375em; + } + to { + right: 0.5em; + top: 2.375em; + width: 2.9375em; + } +} +@keyframes swal2-rotate-success-circular-line { + 0% { + transform: rotate(-45deg); + } + 5% { + transform: rotate(-45deg); + } + 12% { + transform: rotate(-405deg); + } + to { + transform: rotate(-405deg); + } +} +@keyframes swal2-animate-error-x-mark { + 0% { + margin-top: 1.625em; + opacity: 0; + transform: scale(0.4); + } + 50% { + margin-top: 1.625em; + opacity: 0; + transform: scale(0.4); + } + 80% { + margin-top: -0.375em; + transform: scale(1.15); + } + to { + margin-top: 0; + opacity: 1; + transform: scale(1); + } +} +@keyframes swal2-animate-error-icon { + 0% { + opacity: 0; + transform: rotateX(100deg); + } + to { + opacity: 1; + transform: rotateX(0deg); + } +} +@keyframes swal2-rotate-loading { + 0% { + transform: rotate(0deg); + } + to { + transform: rotate(1turn); + } +} +@keyframes swal2-animate-question-mark { + 0% { + transform: rotateY(-1turn); + } + to { + transform: rotateY(0); + } +} +@keyframes swal2-animate-i-mark { + 0% { + opacity: 0; + transform: rotate(45deg); + } + 25% { + opacity: 0.4; + transform: rotate(-25deg); + } + 50% { + opacity: 0.8; + transform: rotate(15deg); + } + 75% { + opacity: 1; + transform: rotate(-5deg); + } + to { + opacity: 1; + transform: rotateX(0); + } +} +body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) { + overflow: hidden; +} +body.swal2-height-auto { + height: auto !important; +} +body.swal2-no-backdrop .swal2-container { + background-color: transparent !important; + pointer-events: none; +} +body.swal2-no-backdrop .swal2-container .swal2-popup { + pointer-events: all; +} +body.swal2-no-backdrop .swal2-container .swal2-modal { + box-shadow: 0 0 10px rgba(25, 25, 26, 0.75); +} +@media print { + body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) { + overflow-y: scroll !important; + } + body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) > [aria-hidden='true'] { + display: none; + } + body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container { + position: static !important; + } +} +body.swal2-toast-shown .swal2-container { + background-color: transparent; + box-sizing: border-box; + max-width: 100%; + pointer-events: none; + width: 360px; +} +body.swal2-toast-shown .swal2-container.swal2-top { + inset: 0 auto auto 50%; + transform: translateX(-50%); +} +body.swal2-toast-shown .swal2-container.swal2-top-end, +body.swal2-toast-shown .swal2-container.swal2-top-right { + inset: 0 0 auto auto; +} +body.swal2-toast-shown .swal2-container.swal2-top-left, +body.swal2-toast-shown .swal2-container.swal2-top-start { + inset: 0 auto auto 0; +} +body.swal2-toast-shown .swal2-container.swal2-center-left, +body.swal2-toast-shown .swal2-container.swal2-center-start { + inset: 50% auto auto 0; + transform: translateY(-50%); +} +body.swal2-toast-shown .swal2-container.swal2-center { + inset: 50% auto auto 50%; + transform: translate(-50%, -50%); +} +body.swal2-toast-shown .swal2-container.swal2-center-end, +body.swal2-toast-shown .swal2-container.swal2-center-right { + inset: 50% 0 auto auto; + transform: translateY(-50%); +} +body.swal2-toast-shown .swal2-container.swal2-bottom-left, +body.swal2-toast-shown .swal2-container.swal2-bottom-start { + inset: auto auto 0 0; +} +body.swal2-toast-shown .swal2-container.swal2-bottom { + inset: auto auto 0 50%; + transform: translateX(-50%); +} +body.swal2-toast-shown .swal2-container.swal2-bottom-end, +body.swal2-toast-shown .swal2-container.swal2-bottom-right { + inset: auto 0 0 auto; +} +@keyframes passing-through { + 0% { + opacity: 0; + transform: translateY(40px); + } + 30%, + 70% { + opacity: 1; + transform: translateY(0); + } + to { + opacity: 0; + transform: translateY(-40px); + } +} +@keyframes slide-in { + 0% { + opacity: 0; + transform: translateY(40px); + } + 30% { + opacity: 1; + transform: translateY(0); + } +} +@keyframes pulse { + 0% { + transform: scale(1); + } + 10% { + transform: scale(1.1); + } + 20% { + transform: scale(1); + } +} +.dropzone, +.dropzone * { + box-sizing: border-box; +} +.dropzone { + background: #fff; + border: 2px solid rgba(0, 0, 0, 0.3); + min-height: 150px; +} +.dropzone.dz-clickable { + cursor: pointer; +} +.dropzone.dz-clickable * { + cursor: default; +} +.dropzone.dz-clickable .dz-message, +.dropzone.dz-clickable .dz-message * { + cursor: pointer; +} +.dropzone.dz-started .dz-message { + display: none; +} +.dropzone.dz-drag-hover { + border-style: solid; +} +.dropzone.dz-drag-hover .dz-message { + opacity: 0.5; +} +.dropzone .dz-message { + margin: 2em 0; + text-align: center; +} +.dropzone .dz-message .dz-button { + background: none; + border: none; + color: inherit; + cursor: pointer; + font: inherit; + outline: inherit; + padding: 0; +} +.dropzone .dz-preview { + display: inline-block; + margin: 16px; + min-height: 100px; + position: relative; + vertical-align: top; +} +.dropzone .dz-preview:hover { + z-index: 1000; +} +.dropzone .dz-preview.dz-file-preview .dz-image { + background: #999; + background: linear-gradient(180deg, #eee, #ddd); + border-radius: 20px; +} +.dropzone .dz-preview.dz-file-preview .dz-details { + opacity: 1; +} +.dropzone .dz-preview.dz-image-preview { + background: #fff; +} +.dropzone .dz-preview.dz-image-preview .dz-details { + transition: opacity 0.2s linear; +} +.dropzone .dz-preview .dz-remove { + border: none; + cursor: pointer; + display: block; + font-size: 14px; + text-align: center; +} +.dropzone .dz-preview .dz-remove:hover { + text-decoration: underline; +} +.dropzone .dz-preview:hover .dz-details { + opacity: 1; +} +.dropzone .dz-preview .dz-details { + color: rgba(0, 0, 0, 0.9); + font-size: 13px; + left: 0; + line-height: 150%; + max-width: 100%; + min-width: 100%; + opacity: 0; + padding: 2em 1em; + position: absolute; + text-align: center; + top: 0; + z-index: 20; +} +.dropzone .dz-preview .dz-details .dz-size { + font-size: 16px; + margin-bottom: 1em; +} +.dropzone .dz-preview .dz-details .dz-filename { + white-space: nowrap; +} +.dropzone .dz-preview .dz-details .dz-filename:hover span { + background-color: hsla(0, 0%, 100%, 0.8); + border: 1px solid hsla(0, 0%, 78%, 0.8); +} +.dropzone .dz-preview .dz-details .dz-filename:not(:hover) { + overflow: hidden; + text-overflow: ellipsis; +} +.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span { + border: 1px solid transparent; +} +.dropzone .dz-preview .dz-details .dz-filename span, +.dropzone .dz-preview .dz-details .dz-size span { + background-color: hsla(0, 0%, 100%, 0.4); + border-radius: 3px; + padding: 0 0.4em; +} +.dropzone .dz-preview:hover .dz-image img { + filter: blur(8px); + transform: scale(1.05); +} +.dropzone .dz-preview .dz-image { + border-radius: 20px; + display: block; + height: 120px; + overflow: hidden; + position: relative; + width: 120px; + z-index: 10; +} +.dropzone .dz-preview .dz-image img { + display: block; +} +.dropzone .dz-preview.dz-success .dz-success-mark { + animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); +} +.dropzone .dz-preview.dz-error .dz-error-mark { + animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); + opacity: 1; +} +.dropzone .dz-preview .dz-error-mark, +.dropzone .dz-preview .dz-success-mark { + display: block; + left: 50%; + margin-left: -27px; + margin-top: -27px; + opacity: 0; + pointer-events: none; + position: absolute; + top: 50%; + z-index: 500; +} +.dropzone .dz-preview .dz-error-mark svg, +.dropzone .dz-preview .dz-success-mark svg { + display: block; + height: 54px; + width: 54px; +} +.dropzone .dz-preview.dz-processing .dz-progress { + opacity: 1; + transition: all 0.2s linear; +} +.dropzone .dz-preview.dz-complete .dz-progress { + opacity: 0; + transition: opacity 0.4s ease-in; +} +.dropzone .dz-preview:not(.dz-processing) .dz-progress { + animation: pulse 6s ease infinite; +} +.dropzone .dz-preview .dz-progress { + background: hsla(0, 0%, 100%, 0.9); + border-radius: 8px; + height: 16px; + left: 50%; + margin-left: -40px; + margin-top: -8px; + opacity: 1; + overflow: hidden; + pointer-events: none; + position: absolute; + top: 50%; + -webkit-transform: scale(1); + width: 80px; + z-index: 1000; +} +.dropzone .dz-preview .dz-progress .dz-upload { + background: #333; + background: linear-gradient(180deg, #666, #444); + bottom: 0; + left: 0; + position: absolute; + top: 0; + transition: width 0.3s ease-in-out; + width: 0; +} +.dropzone .dz-preview.dz-error .dz-error-message { + display: block; +} +.dropzone .dz-preview.dz-error:hover .dz-error-message { + opacity: 1; + pointer-events: auto; +} +.dropzone .dz-preview .dz-error-message { + background: #be2626; + background: linear-gradient(180deg, #be2626, #a92222); + border-radius: 8px; + color: #fff; + display: block; + display: none; + font-size: 13px; + left: -10px; + opacity: 0; + padding: 0.5em 1.2em; + pointer-events: none; + position: absolute; + top: 130px; + transition: opacity 0.3s ease; + width: 140px; + z-index: 1000; +} +.dropzone .dz-preview .dz-error-message:after { + border-bottom: 6px solid #be2626; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + content: ''; + height: 0; + left: 64px; + position: absolute; + top: -6px; + width: 0; +} +@font-face { + font-display: swap; + font-family: Polytoria Icons; + font-style: normal; + font-weight: 400; + src: url(https://c0.ptacdn.com/static/fonts/PolytoriaIcon.7a3d7e8f.woff2) format('woff2'); +} +.pi { + font-family: Polytoria Icons; + font-style: normal; + font-variant: normal; + font-weight: 900; + line-height: 1; + text-decoration: none; + text-rendering: auto; +} +.pi.pi-brick:before { + content: '$'; +} +.pi.pi-logo:before { + content: 'P'; +} +.pi.pi-plus:before { + content: '+'; +} +.pi.pi-plusdx:before { + content: '⥅'; + letter-spacing: -5px; +} +.pi.pi-brick-value:before { + content: '%'; +} +.bg-plusdx { + background: #b536ff; +} +.bg-plus { + background: #15aed8; +} +.border-plusdx { + border-color: #b536ff !important; +} +.border-plus { + border-color: #15aed8 !important; +} +.bg-body { + background: var(--bs-body-bg); +} +.text-plus { + color: #30bee5; + text-shadow: 0 0 8px #23d0ff; +} +.text-plusdx { + color: #b536ff; + text-shadow: 0 0 8px #b536ff; +} +.shadow-plus { + box-shadow: 0 0 8px #30bee5; +} +.shadow-plusdx { + box-shadow: 0 0 8px #b536ff; +} +.itemgrid { + display: grid; + grid-template-columns: repeat(auto-fill, calc(50% - 8px)); + grid-gap: 12px; + grid-auto-rows: auto; + margin: 0; + padding: 0 11px; + width: 100%; +} +.itemgrid:not(.alignleft) { + justify-content: center; +} +.itemgrid .alignleft { + justify-content: start; +} +@media (min-width: 992px) { + .itemgrid { + grid-template-columns: repeat(auto-fill, 160px); + padding: 0; + grid-gap: 6px; + } +} +.form-control::-webkit-file-upload-button { + background: #171717 !important; +} +.form-control:hover::-webkit-file-upload-button { + background: #2b2b2b !important; +} +@media (min-width: 1200px) { + .collapse.dont-collapse-xl { + display: block; + height: auto !important; + visibility: visible; + } +} +.collapsed .fa-chevron-down { + transform: rotate(90deg); +} +.container { + clear: both; +} +@media (max-width: 575.98px) { + .noround-mb { + border-radius: 0 !important; + } +} +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6, +p { + overflow: hidden; +} +.sidebar-label { + color: #cacaca; + font-size: 10px; + font-weight: 600; +} +.overflow-scroll { + overflow: overlay; +} +.dropdown-menu.show .dropdown-item { + animation: dropdownChildShow 0.25s cubic-bezier(0.16, 1, 0.3, 1); +} +.scroller__wrapper { + --scrolling-gallery-item-duration: 5s; + --scrolling-gallery-items-visible: 48; + --scrolling-gallery-items-total: 15; + margin-top: 2.25em; + overflow: hidden; + will-change: transform; +} +.scroller { + animation-duration: calc(var(--scrolling-gallery-item-duration, 1s) / var(--scrolling-gallery-items-visible) * var(--scrolling-gallery-items-total)); + animation-iteration-count: infinite; + animation-name: scrolling-gallery; + animation-timing-function: linear; + display: flex; + transform: translateX(calc(var(--scrolling-gallery-items-total) * -100vw / var(--scrolling-gallery-items-visible))); + white-space: nowrap; +} +.scroller__container { + width: 100vw; +} +.scroller__item { + box-sizing: border-box; + flex: 1 0 calc(100% / var(--scrolling-gallery-items-visible)); + padding: 0.5em; + width: 0; +} +.scroller__item img { + display: block; + height: 100%; + -o-object-fit: cover; + object-fit: cover; + -o-object-position: center; + object-position: center; + width: 100%; +} +@keyframes scrolling-gallery { + 0% { + transform: translateX(0); + } + to { + transform: translateX(calc(var(--scrolling-gallery-items-total) * -100vw / var(--scrolling-gallery-items-visible))); + } +} +@keyframes marquee { + 0% { + transform: translateX(0); + } + to { + transform: translateX(-1010px); + } +} +@keyframes dropdownChildShow { + 0% { + padding: 0 1rem; + } +} +@keyframes rippleEffect { + to { + opacity: 0; + transform: scale(4) rotate(45deg); + } +} +a:hover { + cursor: pointer; +} +::-webkit-scrollbar { + height: 7px; + width: 5px; +} +::-webkit-scrollbar-track { + background: transparent; +} +::-webkit-scrollbar-thumb { + background-color: #292929; + border-radius: 10px; +} +::-webkit-scrollbar-thumb:hover { + background-color: #757575; +} +.overflow-y-scroll { + overflow-y: scroll !important; +} +.overflow-y-auto { + overflow-y: auto !important; +} +.no-resize { + resize: none; +} +.section-title { + color: hsla(0, 0%, 100%, 0.8); + font-weight: 700; + letter-spacing: 2.5px; + text-transform: uppercase; +} +.overflow-x-scroll { + overflow-x: scroll !important; +} +.wrapper > div { + border-radius: 5px; + height: 32px; + padding: 1px; + width: 32px; +} +.wrapper { + display: grid; + grid-template-columns: repeat(8, 0fr); + grid-gap: 10px; + overflow-x: hidden; +} +.dropzone { + background-color: transparent !important; + border: 2px dashed rgba(72, 72, 72, 0.5) !important; + border-radius: 5px !important; + color: hsla(0, 0%, 100%, 0.5); + font-weight: 500; + padding: 20px; + text-align: center; +} +input:not([type]):disabled, +input[type='text']:disabled { + opacity: 0.5; +} +.markdown-code { + border-radius: 15px; + padding: 16px; +} +img.emoji { + height: 1em; + margin: 0 0.05em 0 0.1em; + vertical-align: -0.1em; + width: 1em; +} +.text-orange { + color: #ff9300; +} +.tooltip-inner { + max-width: 350px; +} +.alert-primary { + background-color: #3bafff; +} +.alert-primary, +.alert-secondary { + border-color: rgba(0, 0, 0, 0.33); + border-radius: 10px; + border-width: 2px; + color: #fff; +} +.alert-secondary { + background-color: #484848; +} +.alert-success { + background-color: #4fe883; +} +.alert-info, +.alert-success { + border-color: rgba(0, 0, 0, 0.33); + border-radius: 10px; + border-width: 2px; + color: #fff; +} +.alert-info { + background-color: #6094f9; +} +.alert-warning { + background-color: #ffc93f; +} +.alert-danger, +.alert-warning { + border-color: rgba(0, 0, 0, 0.33); + border-radius: 10px; + border-width: 2px; + color: #fff; +} +.alert-danger { + background-color: #ff5951; +} +.alert-light { + background-color: #f6f6f6; +} +.alert-dark, +.alert-light { + border-color: rgba(0, 0, 0, 0.33); + border-radius: 10px; + border-width: 2px; + color: #fff; +} +.alert-dark { + background-color: #1a1a1a; +} +.avatar-container { + position: relative; +} +.avatar-icon-alt { + background-color: #161616; + border-radius: 6px; +} +.avatar-container .online-indicator { + border: 4px solid #262626; + border-radius: 50%; + bottom: 0; + height: 26px; + position: absolute; + right: 0; + width: 26px; +} +.bodypart, +.bodypart-nozoom { + border: 0; + border-radius: 5px; +} +.bodypart { + transition: transform 0.2s; +} +.bodypart:hover { + transform: scale(1.05); +} +.bp1x1 { + padding: 20px; +} +.bp1x2 { + padding: 40px 20px; +} +.bp2x2 { + padding: 40px; +} +.avatar-item-container { + cursor: pointer; + transition: transform 0.2s ease-in-out; +} +.avatar-item-container .avatarAction { + opacity: 0; + transform: translateY(5px); + transition: + opacity 0.2s ease-in-out, + transform 0.2s ease-in-out; +} +.avatar-item-container:hover { + transform: scale(1.05); +} +.avatar-item-container:hover .avatarAction { + opacity: 1; + transform: translate(0); +} +.avatarEditorCanvas { + width: 100%; +} +.click-ripple { + animation: rippleEffect 0.5s linear; + background: #fff; + background: radial-gradient(circle, hsla(0, 0%, 100%, 0) 0, #fff 15%, hsla(0, 0%, 100%, 0) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1); + opacity: 0.4; + transform: scale(0); +} +.click-ripple, +.hover-ripple { + border-radius: 50%; + position: absolute; +} +.hover-ripple { + animation: hoverRippleFx 0.5s cubic-bezier(0.16, 1, 0.3, 1); + background: #fff; + background: radial-gradient(circle, #fff 0, hsla(0, 0%, 100%, 0) 60%); + opacity: 0.2; + transform: scale(1); +} +@keyframes hoverRippleFx { + 0% { + opacity: 0; + transform: scale(0); + } +} +.btn:not(.no-ripple-fx), +.list-group-item:not(.no-ripple-fx), +.nav-link:not(.no-ripple-fx), +.navbar-toggler:not(.no-ripple-fx), +.page-link:not(.no-ripple-fx) { + overflow: hidden; + position: relative; +} +.btn { + box-shadow: 0 6px 4px 0 rgba(0, 0, 0, 0.1); + color: #fff !important; + transition: + transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), + background-color 0.6s cubic-bezier(0.16, 1, 0.3, 1); +} +.btn:active, +.btn:focus, +.btn:hover { + box-shadow: none !important; + color: #fff; +} +.btn-light, +.btn-light:hover, +.btn-outline-light:hover { + color: #1a1a1a !important; +} +.btn:active { + transform: scale(0.98); + transition: background-color 0.6s cubic-bezier(0.16, 1, 0.3, 1); +} +.btn-primary { + border: 2px solid rgba(0, 0, 0, 0.3); +} +.btn-primary:hover { + border: 2px solid rgba(0, 0, 0, 0.2); +} +.btn-primary:active { + border: 2px solid rgba(0, 0, 0, 0.1); +} +.btn-secondary { + border: 2px solid rgba(0, 0, 0, 0.3); +} +.btn-secondary:hover { + border: 2px solid rgba(0, 0, 0, 0.2); +} +.btn-secondary:active { + border: 2px solid rgba(0, 0, 0, 0.1); +} +.btn-success { + border: 2px solid rgba(0, 0, 0, 0.3); +} +.btn-success:hover { + border: 2px solid rgba(0, 0, 0, 0.2); +} +.btn-success:active { + border: 2px solid rgba(0, 0, 0, 0.1); +} +.btn-info { + border: 2px solid rgba(0, 0, 0, 0.3); +} +.btn-info:hover { + border: 2px solid rgba(0, 0, 0, 0.2); +} +.btn-info:active { + border: 2px solid rgba(0, 0, 0, 0.1); +} +.btn-warning { + border: 2px solid rgba(0, 0, 0, 0.3); +} +.btn-warning:hover { + border: 2px solid rgba(0, 0, 0, 0.2); +} +.btn-warning:active { + border: 2px solid rgba(0, 0, 0, 0.1); +} +.btn-danger { + border: 2px solid rgba(0, 0, 0, 0.3); +} +.btn-danger:hover { + border: 2px solid rgba(0, 0, 0, 0.2); +} +.btn-danger:active { + border: 2px solid rgba(0, 0, 0, 0.1); +} +.btn-light { + border: 2px solid rgba(0, 0, 0, 0.3); +} +.btn-light:hover { + border: 2px solid rgba(0, 0, 0, 0.2); +} +.btn-light:active { + border: 2px solid rgba(0, 0, 0, 0.1); +} +.btn-dark { + border: 2px solid rgba(0, 0, 0, 0.3); +} +.btn-dark:hover { + border: 2px solid rgba(0, 0, 0, 0.2); +} +.btn-dark:active { + border: 2px solid rgba(0, 0, 0, 0.1); +} +.btn-game { + background: linear-gradient(91.23deg, #00bf2a 31.94%, #00851d 92.5%); + background-size: 130% 130%; + border: 2px solid rgba(0, 0, 0, 0.3) !important; + font-size: 32px; + padding: 0; +} +.btn-game:hover { + background: linear-gradient(91.23deg, #0be13a 31.94%, #009d22 92.5%); + background-size: 130% 130%; + border: 2px solid rgba(0, 0, 0, 0.2) !important; +} +.btn-game:active { + border: 2px solid rgba(0, 0, 0, 0.1) !important; +} +.btn-icon { + cursor: pointer; + transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); +} +.btn-icon:hover { + transform: scale(1.15); +} +.badge, +.btn { + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); +} +.input-group-append .btn { + border-bottom-left-radius: 0 !important; + border-color: #2d2d2d; + border-top-left-radius: 0 !important; +} +.badge { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +[data-bs-toggle='dropdown'] i.fa-ellipsis-v { + margin-right: -10px; + text-align: center; + width: 40px; +} +.card .contain { + overflow: hidden; +} +.card.mcard { + border-radius: 0 !important; +} +.card.mcard:not(.asset-limited):not(.card-inbox):not(.border):not(.place-card) { + border-color: transparent !important; +} +.card.mcard .card-header { + border-radius: 0 !important; + padding: 12px !important; +} +@media (min-width: 576px) { + .card.mcard:not(.force-mcard):not(.card-inbox) { + border-radius: var(--bs-card-border-radius) !important; + } + .card.mcard:not(.force-mcard):not(.card-inbox):not(.place-card):not(.card-inbox) { + border-color: var(--bs-card-border-color) !important; + } + .card.mcard:not(.force-mcard):not(.card-inbox) .card-header { + border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0 !important; + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x) !important; + } +} +.card-body-curtain { + align-content: center; + -webkit-backdrop-filter: blur(3px); + backdrop-filter: blur(3px); + background: rgba(34, 34, 34, 0.812); + border-radius: 14px; + display: flex; + flex-direction: column; + height: 100%; + justify-content: center; + left: 0; + position: absolute; + text-align: center; + top: 0; + width: 100%; +} +.card-plus-mobile { + background: #262626; + border: 2px solid #3e3e3e; + border-radius: 8px; + font-size: 1.1em; + font-size: 14px; + padding: 10px; + position: relative; +} +.card-plus-mobile .tier-logo { + height: 100px; + left: -38px; + pointer-events: none; + position: absolute; + top: -58px; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + width: 100px; +} +.card-plus-mobile.cplus { + border-color: #30bee5; +} +.card-plus-mobile.cplusdx { + border-color: #b536ff; +} +.card-decal { + display: inline-block; + height: 245px; + vertical-align: top; + width: 220px; +} +.card-decal.decal-declined { + background-color: #181818; + color: hsla(0, 0%, 100%, 0.308); + opacity: 0.8; +} +.card-decal.decal-declined .badge { + opacity: 0.6; +} +.card-highlight-transition { + transition: + background-color 0.2s ease-in-out, + border-color 0.2s ease-in-out, + border-width 0.2s ease-in-out; +} +.card-highlight { + --bs-card-border-color: #fff !important; + background-color: #0f2328; + border: 3px solid #fff !important; +} +.carousel-indicators li { + background-clip: padding-box; + background-color: #fff; + border-bottom: 10px solid transparent; + border-top: 10px solid transparent; + box-sizing: content-box; + cursor: pointer; + flex: 0 1 auto; + height: 3px; + list-style: none; + margin-left: 3px; + margin-right: 3px; + opacity: 0.5; + text-indent: -999px; + transition: opacity 0.6s ease; + width: 30px; +} +.carousel-indicators .active { + opacity: 1; +} +.owl-dots { + display: none; +} +.footer-container { + border-top: 1px solid #484848; +} +body, +html { + overflow-x: clip !important; +} +main { + display: flex; + flex-wrap: nowrap; + min-height: 60vh; +} +#main-content:not(.logged-out):not(.no-sidebar) { + max-width: 100vw; +} +@media (min-width: 992px) { + #main-content:not(.logged-out):not(.no-sidebar) { + max-width: calc(100vw - 5.3rem); + } +} +.nav-sidebar-cont { + min-width: 5.3rem; + position: relative; +} +.nav-sidebar-cont .nav-sidebar { + background-color: #262626; + bottom: 0; + box-shadow: 5px 0 5px rgba(0, 0, 0, 0.1); + overflow-x: hidden; + overflow-y: auto; + position: fixed; + top: 0; + width: 5.3rem; + z-index: 10000; + -ms-overflow-style: none; + max-height: 100vh; + scrollbar-width: none; +} +.nplus-banner, +.nplusdx-banner { + border: 3px solid; + border-radius: 10px; + font-weight: 700; + line-height: 1.2; + margin: -14px -9px; + position: relative; + text-align: center; +} +.nplus-banner.mo, +.nplusdx-banner.mo { + border: none; + border-bottom-left-radius: 0; + border-top-left-radius: 0; + font-size: 14px; + left: 25px; + padding: 2px 7px 2px 33px; + position: absolute; + top: 28px; + z-index: 1; +} +.nplus-banner { + background: #136d86; + border-color: #164f5f; + color: #30bee5; +} +.nplusdx-banner { + background: #260d33; + border-color: #491b64; + color: #b536ff; + font-size: 15px; +} +.hplus-banner, +.hplusdx-banner { + border: none; + border-radius: 10px; + font-size: 20px; + font-weight: 700; + line-height: 1.2; + margin: -10px 0 0; + max-width: 100px; + position: relative; + text-align: center; +} +.nav-sidebar::-webkit-scrollbar { + display: none; +} +.nav-sidebar a:active, +.nav-sidebar a:focus, +.nav-sidebar a:hover { + color: #ddd; +} +.nav-sidebar-button { + background: #3c3c3c; + border: 2px solid #484848; + border-radius: 10px; + box-sizing: border-box; + height: 3.2rem; + margin: 0 auto; + transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); + transition-property: background-color, border-color, color, transform; + vertical-align: middle; + width: 3.2rem; +} +.nav-sidebar-button:hover { + background-color: #484848; + border: 2px solid #5c5c5c; + color: #fff; + transform: scale(1.15); +} +.notif-nav { + background: #ff1919; + border-radius: 9px; + height: 25px; + width: 25px; +} +.notif-nav.notif-sidebar { + position: absolute; + right: 9px; + top: 0; +} +.notif-nav > span { + font-size: 13px; + text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.349); + vertical-align: middle; +} +.sidebar-plus { + background: linear-gradient(rgba(0, 0, 0, 0.45), #163c46) !important; +} +.sidebar-plus .nav-sidebar-button:not(.nav-sidebar-upgrade-button) { + background-color: rgba(71, 224, 255, 0.18) !important; + border-color: transparent; +} +.sidebar-plus .nplus-banner, +.sidebar-plus .nplusdx-banner { + border-color: #000 !important; +} +.sidebar-plusdx { + background: linear-gradient(rgba(0, 0, 0, 0.45), #351648) !important; +} +.sidebar-plusdx .nav-sidebar-button:not(.nav-sidebar-upgrade-button) { + background-color: rgba(188, 72, 255, 0.18) !important; + border-color: transparent; +} +.sidebar-plusdx .nplus-banner, +.sidebar-plusdx .nplusdx-banner { + border-color: #000 !important; +} +.input-group.nav-search { + margin-top: 2px; + max-width: 100vw; + min-width: 350px; +} +.input-group.nav-search #search-addon, +.input-group.nav-search input { + background: #111 !important; + border: none !important; +} +.input-group.nav-search input { + border-bottom-right-radius: 8px !important; + border-top-right-radius: 8px !important; +} +.navbar-plus { + background: #000 !important; +} +.navbar-plus .nav-search { + border: 2px solid #0b4e5b; + border-radius: 10px; +} +.navbar-plus .nav-search #search-addon, +.navbar-plus .nav-search .input-group-text { + background: #000 !important; +} +.navbar-plus .nav-search #search-addon i.far, +.navbar-plus .nav-search .input-group-text i.far { + color: #fff !important; +} +.navbar-plus .nav-search .form-control { + background: #000 !important; +} +.navbar-plus .nav-search .form-control::-moz-placeholder { + color: hsla(0, 0%, 100%, 0.541) !important; +} +.navbar-plus .nav-search .form-control::placeholder { + color: hsla(0, 0%, 100%, 0.541) !important; +} +.navbar-plusdx { + background: #000 !important; +} +.navbar-plusdx .nav-search { + border: 2px solid #3e0b5d; + border-radius: 10px; +} +.navbar-plusdx .nav-search #search-addon, +.navbar-plusdx .nav-search .input-group-text { + background: #000 !important; +} +.navbar-plusdx .nav-search #search-addon i.far, +.navbar-plusdx .nav-search .input-group-text i.far { + color: #fff !important; +} +.navbar-plusdx .nav-search .form-control { + background: #000 !important; +} +.navbar-plusdx .nav-search .form-control::-moz-placeholder { + color: hsla(0, 0%, 100%, 0.541) !important; +} +.navbar-plusdx .nav-search .form-control::placeholder { + color: hsla(0, 0%, 100%, 0.541) !important; +} +.nav-sidebar-button > i { + font-size: 1.3rem; + margin-top: 0.85rem; +} +.nav-sidebar .nav-item { + width: 100%; +} +.nav-sidebar .nav-item .nav-link { + margin-bottom: 0; + margin-left: 2px; +} +.nav-sidebar .nav-item .nav-link .nav-sidebar-text { + margin-left: -10px; + margin-right: -10px; +} +.nav-sidebar-upgrade-button { + background: linear-gradient(180deg, #2accff, #1c66d6); + background-origin: border-box; + border-color: rgba(0, 0, 0, 0.25); +} +.nav-sidebar-upgrade-button:hover { + background: linear-gradient(180deg, #55d6ff, #4985de); + background-origin: border-box; + border-color: rgba(0, 0, 0, 0.1); +} +.nav-sidebar-admin-button { + background-color: #a5312c; + border-color: rgba(0, 0, 0, 0.25); +} +.nav-sidebar-admin-button:hover { + background-color: #b75a56; + border-color: rgba(0, 0, 0, 0.1); +} +.nav-sidebar-text { + color: #cacaca; + font-size: 12px; + font-weight: 500; + margin-top: 6px; +} +.nav-topbar { + background-color: #252525; + box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); + padding: 2px; +} +.search-popup { + background: #252525; + border: 3px solid #474747; + border-radius: 10px !important; + box-shadow: 0 2px 18px #181818; + left: 0; + max-width: 500px; + padding: 6px; + position: absolute; + right: 0; + top: 50px; + width: 95vw; + z-index: 5000 !important; + z-index: 100; +} +.search-popup .search-item { + background: transparent; + border: 2px solid transparent; + border-radius: 8px; + box-shadow: 1px 1px 1px transparent; + cursor: pointer; + font-size: 16px; + font-weight: 500; + opacity: 0.6; + padding: 10px; +} +.search-popup .search-item:focus, +.search-popup .search-item:hover { + background: #313131; + border: 2px solid #333; + box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.169); + opacity: 1; +} +.search-popup .search-item.highlight { + padding: 5px 10px; +} +.brickFly { + color: #4fe883; + font-size: 30px; + position: fixed; + text-shadow: 0 0 6px rgba(0, 0, 0, 0.38); + z-index: 100000; +} +.mobile-nav-bottom { + align-items: center; + -webkit-backdrop-filter: blur(6px); + backdrop-filter: blur(6px); + background: rgba(37, 37, 37, 0.9); + bottom: 0; + box-shadow: 0 -5px 5px rgba(0, 0, 0, 0.25); + display: flex; + height: 75px; + justify-content: space-around; + left: 0; + position: fixed; + width: 100vw; + z-index: 10000; +} +.mobile-nav-bottom .mnv-nav-item { + align-content: center; + color: #5c5c5c; + display: flex; + flex-direction: column; + font-weight: 600; + height: 75px; + justify-content: center; + text-align: center; + width: 72px; +} +.mobile-nav-bottom .mnv-nav-item.active { + color: #fff; +} +.mobile-nav-bottom .mnv-nav-item .mnv-icon { + font-size: 25px; + height: 38px; +} +.mobile-nav-bottom .mnv-nav-item .mnv-icon i { + font-size: 27px; + margin-top: 3px; +} +.mobile-nav-bottom .mnv-nav-item .mnv-icon img { + border: 2px solid #5c5c5c !important; + margin-top: -3px; + opacity: 0.5; +} +.mobile-nav-bottom .mnv-nav-item.active .mnv-icon img { + border: 2px solid #fff !important; + opacity: 1; +} +.mobile-nav-bottom .mnv-nav-item .mnv-text { + margin-bottom: 2px; +} +.userlink-admin { + color: #ff5951 !important; +} +.userlink-admin:before { + content: 'P'; + font-family: Polytoria Icons; + font-style: normal; + font-variant: normal; + font-weight: 900; + line-height: 1; + margin-right: 0.2em; + text-decoration: none; + text-rendering: auto; +} +.userlink-asset-designer { + color: #4fe883 !important; +} +.userlink-asset-designer:before { + content: '\f55d'; + font-family: Font Awesome\6 Pro; + font-style: normal; + font-variant: normal; + font-weight: 900; + line-height: 1; + margin-right: 0.2em; + text-decoration: none; + text-rendering: auto; +} +.userlink-plus { + color: #30bee5 !important; +} +.userlink-plus:before { + content: '+'; + font-family: Polytoria Icons; + font-style: normal; + font-variant: normal; + font-weight: 900; + line-height: 1; + margin-right: 0.2em; + text-decoration: none; + text-rendering: auto; +} +.userlink-plusdx { + color: #b536ff !important; +} +.userlink-plusdx:before { + content: '⥅'; + font-family: Polytoria Icons; + font-style: normal; + font-variant: normal; + font-weight: 900; + line-height: 1; + margin-left: 0.2em; + margin-right: -0.2em; + text-decoration: none; + text-rendering: auto; +} +.userlink-default { + color: #b9b9b9 !important; +} +.siteBannerCont { + position: sticky; + top: 0; + z-index: 1000; +} +.siteBannerCont .maintBanner { + background: #0d0d0d; + color: #fff; + padding: 10px; +} +@media (min-width: 992px) { + .siteBannerCont .maintBanner { + padding-left: 30px; + } +} +.siteBannerCont .maintBanner.tempBanner { + background: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(0, 0, 0, 0.047) 0, rgba(0, 0, 0, 0.047) 20px), #0d0d0d; +} +.nav-item.dropdown .dropdown-menu { + z-index: 6000; +} +@media (max-width: 767.98px) { + .search-popup { + border-radius: 0 !important; + left: 1px !important; + width: 100vw !important; + } + .searchcont { + left: 0; + margin: 0 -21px; + min-height: 0; + padding: 0 21px !important; + position: relative; + transition: + min-height 0.3s ease, + margin 0s linear, + padding 0.2s linear; + } + .searchcont.active { + background: #252525; + margin: 0; + padding-top: 5px; + padding: 0 !important; + width: 100vw; + z-index: 10000; + } + .searchcont.active .search-icon { + display: none; + } +} +.nav-pills .nav-link { + font-weight: 500; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); +} +@media (max-width: 767.98px) { + .nav-pills { + background-color: #262626; + display: flex; + flex-direction: row !important; + padding: 5px; + } + .nav-pills > .nav-item, + .nav-pills > .nav-link { + margin: 3px; + max-width: calc(33.33333% - 7px) !important; + min-width: calc(33.33333% - 7px) !important; + overflow: hidden; + text-align: center; + text-overflow: ellipsis; + white-space: nowrap; + width: calc(33.33333% - 7px) !important; + } + .nav-pills > .nav-item:not(.active), + .nav-pills > .nav-link:not(.active) { + background-color: rgba(0, 0, 0, 0.239); + } + .nav-pills > .nav-item:not(.active) .pilltitle, + .nav-pills > .nav-link:not(.active) .pilltitle { + display: none; + } + .nav-pills > .nav-item.active, + .nav-pills > .nav-link.active { + flex: 1; + } + .nav-pills > .nav-item.active i, + .nav-pills > .nav-link.active i { + display: none; + } + .section-title { + text-align: center; + } +} +.ribbon { + height: 105px; + overflow: hidden; + position: absolute; + width: 105px; +} +.ribbon:after, +.ribbon:before { + border: 5px solid #ccc; + content: ''; + display: block; + position: absolute; + z-index: -1; +} +.ribbon span { + background-color: #fff; + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); + color: #fff; + display: block; + font: + 700 18px/1 Poppins, + sans-serif; + padding: 5px 0; + position: absolute; + text-align: center; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); + text-transform: uppercase; + width: 225px; +} +.ribbon-limited:after, +.ribbon-limited:before { + border-color: #295fb9; +} +.ribbon-limited span { + background-color: #347fdb; +} +.ribbon-new:after, +.ribbon-new:before { + border-color: #b92929; +} +.ribbon-new span { + background-color: #db3434; +} +.ribbon-top-left { + left: -10px; + top: -10px; +} +.ribbon-top-left:after, +.ribbon-top-left:before { + border-left-color: transparent; + border-top-color: transparent; +} +.ribbon-top-left:before { + right: 0; + top: 0; +} +.ribbon-top-left:after { + bottom: 0; + left: 0; +} +.ribbon-top-left span { + right: -25px; + top: 30px; + transform: rotate(-45deg); +} +.ribbon-top-right { + right: -10px; + top: -10px; +} +.ribbon-top-right:after, +.ribbon-top-right:before { + border-right-color: transparent; + border-top-color: transparent; +} +.ribbon-top-right:before { + left: 0; + top: 0; +} +.ribbon-top-right:after { + bottom: 0; + right: 0; +} +.ribbon-top-right span { + left: -50px; + top: 30px; + transform: rotate(45deg); +} +.ribbon-bottom-left { + bottom: -10px; + left: -10px; +} +.ribbon-bottom-left:after, +.ribbon-bottom-left:before { + border-bottom-color: transparent; + border-left-color: transparent; +} +.ribbon-bottom-left:before { + bottom: 0; + right: 0; +} +.ribbon-bottom-left:after { + left: 0; + top: 0; +} +.ribbon-bottom-left span { + bottom: 30px; + right: -25px; + transform: rotate(225deg); +} +.ribbon-bottom-right { + bottom: -10px; + right: -10px; +} +.ribbon-bottom-right:after, +.ribbon-bottom-right:before { + border-bottom-color: transparent; + border-right-color: transparent; +} +.ribbon-bottom-right:before { + bottom: 0; + left: 0; +} +.ribbon-bottom-right:after { + right: 0; + top: 0; +} +.ribbon-bottom-right span { + bottom: 30px; + left: -25px; + transform: rotate(-225deg); +} +.sortable { + list-style: none; + margin: 0; + padding: 0; +} +.sortable li { + background: #262626; + border: none; + color: #fff; + cursor: move; + padding: 13px; +} +@media (max-width: 575.98px) { + .featureAdvert .swal2-popup { + height: 100%; + width: 100% !important; + } +} +.featureAdvert .cont { + background: + linear-gradient(rgba(62, 52, 166, 0.769), rgba(86, 86, 172, 0.678)), + url(https://c0.ptacdn.com/static/images/forum-bg.0a96386f.png) no-repeat 50%; + background-size: cover; + border-radius: 16px; + height: 60vh; +} +.featureAdvert .swal2-html-container { + margin: 0; +} +.featureAdvert .mainIcon { + color: #a199ff; + font-size: 75px; + margin-top: 50px; +} +.featureAdvert .mainTitle { + color: #a199ff; + font-size: 1.5rem; + margin-top: 10px; + text-shadow: 0 0 3px #7066e0; +} +.featureAdvert .mainContent { + font-size: 0.8em; +} +.featureAdvert .mainContent .featureList { + background: rgba(0, 0, 0, 0.31); + border-radius: 9px; + margin: 10px auto; + max-width: 600px; + padding: 9px; + width: 100%; +} +.featureAdvert .mainContent .featureList .far { + text-align: center; + width: 30px; +} +@media (min-width: 992px) { + .max-width-lg-350px { + max-width: 350px; + } + .max-width-lg-550px { + max-width: 550px; + } +} +.min-width-30px { + min-width: 30px; +} +.auth-container { + height: 100vh; + overflow: hidden; + position: relative; + width: 100vw; +} +.auth-container, +.auth-container > .auth-background { + background-attachment: fixed; + background-position: 50%; + background-repeat: no-repeat; + background-size: cover; +} +.auth-container > .auth-background { + animation: authZoomIn 10s ease-in-out forwards; + filter: blur(2px); + height: 100%; + left: 0; + opacity: 0.5; + position: absolute; + top: 0; + width: 100%; +} +@keyframes authZoomIn { + 0% { + transform: scale(1); + } + to { + transform: scale(1.1); + } +} +.auth-container-gradient { + background: linear-gradient(90deg, transparent 10%, #0c0c0c); +} +.auth-place-info:not(.no-anim) { + animation: authPlaceAnim 0.6s steps(5) forwards; + background: url(https://c0.ptacdn.com/static/images/auth-banner.2f399740.svg) no-repeat; + color: #fff; + height: 150px; + left: 0; + padding: 22px 18px; + position: absolute; + top: 25px; + width: 500px; +} +@keyframes authPlaceAnim { + 0% { + -webkit-clip-path: polygon(0 0, 0 0, 15% 100%, 0 100%); + clip-path: polygon(0 0, 0 0, 15% 100%, 0 100%); + opacity: 0; + } + 25% { + -webkit-clip-path: polygon(0 0, 34% 0, 15% 100%, 0 100%); + clip-path: polygon(0 0, 34% 0, 15% 100%, 0 100%); + opacity: 1; + } + 50% { + -webkit-clip-path: polygon(0 0, 34% 0, 53% 100%, 0 100%); + clip-path: polygon(0 0, 34% 0, 53% 100%, 0 100%); + } + 75% { + -webkit-clip-path: polygon(0 0, 81% 0, 81% 100%, 0 100%); + clip-path: polygon(0 0, 81% 0, 81% 100%, 0 100%); + } + to { + -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); + clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); + } +} +.auth-place-info-title .h1, +.auth-place-info-title h1 { + animation: authPlaceTextReveal 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 0.6s forwards; + font-size: 22px; + font-weight: 600; + margin-bottom: 0; + opacity: 0; +} +.auth-place-info-description { + animation: authPlaceTextReveal 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 0.7s forwards; + font-size: 16px; + font-weight: 400; + height: 80%; + margin-bottom: 0; + opacity: 0; + overflow: hidden; + text-overflow: ellipsis; + width: 80%; +} +@keyframes authPlaceTextReveal { + 0% { + opacity: 0; + transform: translateX(-50px); + } + to { + opacity: 1; + } +} +.auth-form-container .h6, +.auth-form-container h6 { + color: hsla(0, 0%, 100%, 0.5); + margin-bottom: 30px; +} +.auth-form-container input[type='email'], +.auth-form-container input[type='number'], +.auth-form-container input[type='password'], +.auth-form-container input[type='text'], +.auth-form-container[type='email']:focus, +.auth-form-container[type='number']:focus, +.auth-form-container[type='password']:focus, +.auth-form-container[type='text']:focus { + background-color: #3c3c3c; + border: #484848; + height: 40px; +} +.auth-form-container input[type='email']::-moz-placeholder, +.auth-form-container input[type='number']::-moz-placeholder, +.auth-form-container input[type='password']::-moz-placeholder, +.auth-form-container input[type='text']::-moz-placeholder { + color: hsla(0, 0%, 100%, 0.5); +} +.auth-form-container input[type='email']::placeholder, +.auth-form-container input[type='number']::placeholder, +.auth-form-container input[type='password']::placeholder, +.auth-form-container input[type='text']::placeholder { + color: hsla(0, 0%, 100%, 0.5); +} +.auth-form-container .input-group-text { + background-color: #3c3c3c; + border: #484848; + color: hsla(0, 0%, 100%, 0.5); +} +.multinum input[type='number']::-webkit-inner-spin-button, +.multinum input[type='number']::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; +} +.multinum input[type='number'] { + -moz-appearance: textfield; +} +.audioPlayButtonCont { + background: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0.3) 20px), #0d0d0d; + cursor: pointer; +} +.audioPlayButtonCont .audioPlayButton, +.audioPlayButtonCont .loadingIndicator { + align-items: center; + aspect-ratio: 1/1; + background: transparent; + border: 0.2em solid #32a4ff; + border-radius: 500px; + display: flex; + height: 44%; + justify-content: center; + opacity: 0.4; + position: relative; + transform: scale(1); + transition: + transform 0.3s ease, + opacity 0.1s ease; + width: 44%; +} +.audioPlayButtonCont .audioPlayButton .buttonIcon, +.audioPlayButtonCont .loadingIndicator .buttonIcon { + color: #32a4ff; + font-size: 1em; +} +.audioPlayButtonCont .audioPlayButton .buttonIcon.fa-play, +.audioPlayButtonCont .loadingIndicator .buttonIcon.fa-play { + margin-left: 10%; +} +.audioPlayButtonCont.playing .audioPlayButton { + opacity: 1; + transform: scale(1.1); +} +.audioPlayButtonCont:not(.playing):hover .audioPlayButton { + opacity: 0.75; +} +.progress-circle { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + transform: rotate(-90deg); +} +.progress-text { + font-size: 24px; + font-weight: 700; +} +.progress-bar { + transition: stroke-width 0.2s ease; +} +.card-forum { + background: + linear-gradient(90deg, #6094f9 20%, transparent), + url(https://c0.ptacdn.com/static/images/forum-bg.0a96386f.png) no-repeat 50%; + background-size: cover; + color: #fff; + padding: 25px; +} +.forum-entry { + background-color: #1f1f1f; + border-left: 5px solid; + padding: 15px; +} +.forum-entry:nth-child(2n) { + background-color: #1c1c1c; +} +.forum-category-container { + border-left: 10px solid; +} +.forum-category-container, +.forum-post-title-container { + background-color: #1f1f1f; + padding: 25px; + position: relative; +} +.forum-post-title-container { + border: none; +} +@media (min-width: 576px) { + .forum-post-title-container { + border-radius: 10px !important; + } +} +.forum-post-unread { + border-color: #3bafff; +} +.forum-post-read { + border-color: #757575; + opacity: 0.7; +} +.forum-category-decorator { + background: linear-gradient(0.358turn, hsla(0, 0%, 100%, 0.5) 25.46%, hsla(0, 0%, 100%, 0) 82.43%); + -webkit-background-clip: text; + font-size: 120px; + font-weight: 500; + line-height: 0.75; + -webkit-text-fill-color: transparent; + background-clip: text; + bottom: 0; + padding: 0; + position: absolute; + right: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +@media (min-width: 768px) { + .forum-user-container { + background: rgba(26, 26, 26, 0.51); + border-radius: 11px; + max-width: 240px; + padding: 25px; + } +} +.card-guild { + min-width: 100px; +} +.hplus-banner { + background: #30bee5; + color: #164f5f; +} +.hplusdx-banner { + background: #b536ff; + color: #fff; +} +.dashboardAvatarShadow { + background: radial-gradient(44.86% 31.7% at 50% 50.09%, hsla(0, 0%, 100%, 0.19) 0, hsla(0, 0%, 100%, 0.11) 50%, hsla(0, 0%, 100%, 0) 100%); + margin-bottom: 4vw; + position: relative; + top: 8vw; + width: 100%; +} +@media (max-width: 575.98px) { + .dashboardAvatarShadow { + margin: auto; + width: 60%; + } +} +.dashboardAvatarShadow img { + height: auto; + position: relative; + top: -8vw; + width: 100%; +} +.dash-ctitle2 { + color: #757575; + font-size: 0.8rem; + margin: 0; +} +.dash-ctitle { + font-size: 1.25rem; + margin: 0 0 10px; + text-transform: uppercase; +} +.home-title { + color: #b5b5b5; + font-size: 1.3rem; + font-weight: 600; + line-height: 1.3rem; +} +.home-title2 { + color: #fff; + font-size: 2.5rem; + font-weight: 800; + margin-top: -10px; + overflow-wrap: anywhere; +} +.feed-post-text { + color: hsla(0, 0%, 100%, 0.75); +} +.card-dash { + background: linear-gradient(180deg, #383838, rgba(38, 38, 38, 0.29)); + border: none; + overflow-y: visible; + padding-bottom: 20px; +} +.card-dash .card-body { + border-radius: 13px; + overflow-x: auto; + overflow-y: visible; +} +.card-dash .place-card { + background: rgba(38, 38, 38, 0.4); + border: 1.5px solid hsla(0, 0%, 100%, 0.11); + height: 230px; +} +.card-dash .place-card:hover { + transform: scale(1); +} +.card-dash-feed { + background-color: rgba(38, 38, 38, 0.58); + border: none; +} +.friendsPopup { + background: #262626; + border: 1.5px solid hsla(0, 0%, 100%, 0.11); + border-radius: 10px; + box-shadow: 0 1px 35px rgba(0, 0, 0, 0.62); + display: none; + overflow: hidden; + position: absolute; + width: 220px; + z-index: 200; +} +.friendsPopup .popupItem { + border-bottom: 1px solid hsla(0, 0%, 100%, 0.11); + padding: 10px; +} +.friendsPopup .popupItem:not(.disabled):hover { + background: hsla(0, 0%, 100%, 0.11); +} +.friendsPopup .popupItem.disabled { + opacity: 0.6; + padding: 6px 10px; +} +.friend-circle { + margin-right: 10px; + min-width: 90px; + transition: transform 0.1s ease-in-out; + width: 90px; +} +.friend-circle:hover { + transform: scale(1.05); +} +.friend-circle .friend-name { + font-size: 0.75rem; + text-align: center; +} +.friend-circle.offline { + opacity: 0.3333333333; +} +.friend-circle.offline img { + border-color: #6c6c6c !important; +} +@keyframes fadein { + 0% { + opacity: 0; + transform: translateY(20px); + } + to { + opacity: 1; + transform: translateY(0); + } +} +.fadeAnim { + animation: fadein 0.5s; + animation-fill-mode: forwards; + animation-timing-function: ease-in-out; + opacity: 0; +} +.invite-input .form-control { + cursor: text; + font-family: + Ubuntu Mono, + monospace; + font-weight: 500; +} +.invite-input .form-control, +.invite-input .input-group-text { + background-color: #359ee6; + border: 0; +} +.welcome-activity-cont { + align-items: center; + display: flex; + justify-content: center; + margin: 10px 5px 0; +} +@media (max-width: 575.98px) { + .welcome-activity-cont { + flex-direction: column; + } + .welcome-activity-cont a { + width: 100%; + } +} +.welcome-activity-cont a { + display: block; + flex: 1; + margin: 0 5px; +} +.welcome-activity-cont a .welcome-activity-grid { + background: #000; + background-repeat: no-repeat; + background-size: cover; + border-radius: 20px; + box-shadow: inset 0 0 0 2px #1569c3; + color: #fff !important; + display: block; + height: 132px; + overflow: hidden; + position: relative; + transition: transform 0.3s ease; + width: 100%; +} +.welcome-activity-cont a .welcome-activity-grid:hover { + transform: scale(1.05); +} +.welcome-activity-cont a .welcome-activity-grid .bg-grad { + background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(16, 82, 153, 0.8)); + background-size: cover; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: 1; +} +.welcome-activity-cont a .welcome-activity-grid .act-grid-icon { + align-items: center; + display: flex; + height: 95px; + justify-content: center; + position: relative; + text-align: center; + width: 100%; + z-index: 10; +} +.welcome-activity-cont a .welcome-activity-grid .act-grid-icon i { + display: inline-block; + font-size: 48px; + vertical-align: middle; +} +.welcome-activity-cont a .welcome-activity-grid .act-grid-title { + font-size: 1em; + font-weight: 700; + position: relative; + text-align: center; + z-index: 10; +} +.referrals-input[disabled] { + opacity: 1 !important; +} +.blog-item { + background-color: #000; + border-radius: 10px; + display: inline-block; + height: 200px; + -o-object-fit: cover; + object-fit: cover; + overflow: hidden; + position: relative; + vertical-align: top; + width: 300px; +} +.blog-item .blog-image { + background-position: 50%; + background-repeat: no-repeat; + background-size: cover; + bottom: 0; + left: 0; + opacity: 0.7; + position: absolute; + right: 0; + top: 0; + transition: + transform 0.3s ease, + opacity 0.3s ease; + z-index: 0; +} +.blog-item .blog-image:hover { + opacity: 1; + transform: scale(1.05); +} +.blog-item .blog-tagline { + background: linear-gradient(transparent, rgba(0, 0, 0, 0.8)); + bottom: 0; + color: #fff; + left: 0; + padding: 10px; + pointer-events: none; + position: absolute; + right: 0; + z-index: 1; +} +.blog-item .blog-tagline .blog-title { + font-size: 1.2em; + font-weight: 700; + margin-bottom: 0; +} +.blog-item .blog-tagline .blog-date { + font-size: 0.8em; + margin-bottom: 0; +} +.home-event-container { + border-radius: 20px; + height: 225px; + overflow: hidden; + position: relative; + width: 100%; +} +@media (max-width: 575.98px) { + .home-event-container { + border-radius: 0; + height: unset; + margin: auto; + } +} +.home-event-container .img-container { + align-items: center; + display: flex; + justify-content: center; + max-width: 275px; + min-width: 100px; + width: 33%; +} +.home-event-container .img-container img { + height: auto; + position: relative; + width: 100%; + z-index: 2; +} +.home-event-container .accent-color-container { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; +} +.home-event-container .content-container { + background: linear-gradient(270deg, rgba(0, 0, 0, 0.61) 21.63%, rgba(0, 0, 0, 0.39) 99.68%); + position: relative; + z-index: 5; +} +.home-event-container .content-container .event-content { + padding: 20px 10px; +} +.home-event-container .content-container .event-content .event-title { + margin: 0; +} +.home-event-container .content-container .event-content .event-dates { + color: hsla(0, 0%, 100%, 0.83); + font-weight: 600; +} +.home-event-container .content-container .event-content .c-divider { + background-color: #fff; + height: 1px; + margin: 5px 0; + width: 140px; +} +.home-event-container .content-container .event-content .event-description { + color: hsla(0, 0%, 100%, 0.83); + font-size: 10pt; + height: 80px; + overflow: hidden; + text-overflow: ellipsis; +} +.card-inbox { + border: 0 solid transparent !important; + border-left: 5px solid #3bafff !important; + border-radius: 0 !important; +} +.card-inbox .h6, +.card-inbox h6 { + color: hsla(0, 0%, 100%, 0.95); +} +.card-inbox.read { + border-left-color: #757575 !important; +} +.landing-card, +.landing-nav { + -webkit-backdrop-filter: blur(21px); + backdrop-filter: blur(21px); + background: hsla(0, 0%, 5%, 0.51) !important; + border: none; + min-width: 420px; +} +.landing-card .input-group .input-group-text, +.landing-card .input-group input { + background-color: #221207 !important; +} +.lead { + font-weight: 500; + opacity: 0.8; +} +.event-card { + align-items: center; + background: #ff7410; + background: linear-gradient(180deg, #ff7410, #cd60ff); + border: 0; + border-radius: 18px; + box-shadow: + -3px -3px 15px 0 rgba(255, 116, 16, 0.25), + 3px 3px 15px 0 rgba(205, 96, 255, 0.25); + display: flex; + justify-content: center; + padding: 4px; + transition: + transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), + box-shadow 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); +} +.event-card .place-card { + background-color: #2e2931; + height: 250px; + margin: 0 !important; + padding: 0; + position: relative; +} +.event-card:hover .place-card { + border-color: transparent !important; + transform: scale(1); + z-index: 98; +} +.event-card .card-body { + padding: 2px !important; +} +.event-card:hover { + box-shadow: + -3px -3px 15px 0 rgba(255, 116, 16, 0.5), + 3px 3px 15px 0 rgba(205, 96, 255, 0.5); + position: relative; + transform: scale(1.05); + z-index: 98; +} +.event-card:active { + transform: scale(0.98); +} +.event-indication { + background-color: #cd60fe; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + bottom: -34px; + font-weight: 800; + left: 50%; + padding: 2px 10px; + position: absolute; + text-align: center; + text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5); + transform: translateX(-50%); + z-index: 99; +} +@media (max-width: 575.98px) { + .event-card { + border-radius: 0; + } + .event-card .place-card { + height: auto; + } + .event-indication { + border-radius: 8px; + bottom: 8px; + left: auto; + right: 8px; + transform: translateX(0); + width: 75px; + } +} +.place-card { + border: 3px solid transparent !important; + cursor: pointer; + display: inline-block; + height: 256px; + transition: + transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), + border 0.3s cubic-bezier(0.16, 1, 0.3, 1); + vertical-align: middle; + width: 175px; +} +.place-card .card-body { + padding: 6px; +} +@media (min-width: 576px) { + .place-card:hover { + border-color: var(--bs-card-border-color) !important; + transform: scale(1.05); + } + .place-card .place-card-title { + height: 45px; + max-height: 45px; + } +} +@media (max-width: 575.98px) { + .place-card:not(.force-desktop) { + display: block; + height: 175px; + width: 100%; + } + .place-card:not(.force-desktop) .card-body { + display: flex; + } + .place-card:not(.force-desktop) .card-title { + height: 116px; + padding: 0 10px; + } +} +.place-card .place-card-image { + border-radius: 11px; + height: 154px; + width: 154px; +} +.place-card .place-card-title { + color: hsla(0, 0%, 100%, 0.8); + display: -webkit-box; + font-weight: 600; + line-height: 22px; + overflow: hidden; + text-align: left; + text-overflow: ellipsis; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + font-size: 14px; +} +.place-setup-card { + background-color: #000; + background-color: #1c1c1c; + border: 2px solid transparent; + border-radius: 6px; + cursor: pointer; + margin: 10px 0; + padding: 10px 15px; + transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); +} +.place-setup-card.disabled { + cursor: default; + opacity: 0.3333333333; +} +.place-setup-card::not(.disabled):hover { + transform: scale(1.03); +} +.place-setup-card.selected { + background-color: #333; + border-color: #cecece; +} +.place-setup-card .psctitle { + margin-bottom: 2px; +} +.place-setup-card .psctitle .badge { + margin-top: -3px; + vertical-align: middle; +} +.place-setup-card .iconcont { + align-items: center; + display: flex; + flex-direction: row; +} +.place-setup-card .iconcont i { + font-size: 20px; +} +.ratings-container { + align-items: center; + display: inline-flex; + flex-direction: column; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.ratings-container .btns-container { + align-items: center; + background: #262626; + border: 1px solid #484848; + border-radius: 20px; + display: inline-flex; + overflow: hidden; +} +.ratings-container .btns-container .thumbup-button { + color: rgba(var(--bs-success-rgb), 0.7); +} +.ratings-container .btns-container .thumbup-button.active { + color: rgb(var(--bs-success-rgb)); + position: relative; +} +@keyframes like { + 0% { + transform: scale(0) rotate(0deg) translate(0); + } + 75% { + transform: scale(1.4) rotate(-10deg) translateY(-4px); + } + 90% { + transform: scale(0.8) rotate(0deg) translate(0); + } + to { + transform: scale(1) rotate(0deg) translate(0); + } +} +@keyframes like-fade { + 0% { + opacity: 1; + transform: scale(0); + } + 75% { + opacity: 1; + transform: scale(10); + } + to { + opacity: 0; + transform: scale(10); + } +} +@keyframes like-bubble { + 0% { + box-shadow: 0 0 0 30px rgb(var(--bs-success-rgb)); + opacity: 1; + transform: scale(0); + } + 60% { + box-shadow: 0 0 0 1px rgb(var(--bs-success-rgb)); + transform: scale(1); + } + to { + opacity: 0; + } +} +.ratings-container .btns-container .thumbup-button.active:not(.active-initially) #thumbup-icn { + animation: like 0.55s ease; +} +.ratings-container .btns-container .thumbup-button.active:not(.active-initially):before { + animation: like-fade 0.4s linear; + background-color: rgba(var(--bs-success-rgb), 0.2); + border-radius: 25px; + content: ''; + height: 32px; + left: 8px; + opacity: 0; + position: absolute; + top: 3px; + width: 32px; +} +.ratings-container .btns-container .thumbup-button.active:not(.active-initially):after { + animation: like-bubble 0.4s ease-in; + border-radius: 25px; + content: ''; + height: 32px; + left: 8px; + position: absolute; + top: 1px; + width: 32px; +} +.ratings-container .btns-container .thumbdown-button { + color: #757575; +} +.ratings-container .btns-container .thumbdown-button.active { + color: #b3b3b3; +} +.ratings-container .btns-container .thumbdown-button, +.ratings-container .btns-container .thumbup-button { + align-items: center; + background-color: transparent; + cursor: pointer; + display: flex; + font-size: 1.1em; + font-weight: 500; + justify-content: center; + min-width: 85px; + padding: 5px 0 5px 30px; + position: relative; + transition: background-color 0.2s ease; +} +.ratings-container .btns-container .thumbdown-button .thumb-icon, +.ratings-container .btns-container .thumbup-button .thumb-icon { + left: 15px; + position: absolute; +} +.ratings-container .btns-container .thumbdown-button:hover, +.ratings-container .btns-container .thumbup-button:hover { + background-color: hsla(0, 0%, 100%, 0.1); +} +.ratings-container .btns-container .rating-divider { + background-color: #484848; + height: 25px; + width: 1px; +} +.ratings-container .rating-ratio { + background-color: #525252; + flex-grow: 1; + height: 1px; + max-width: 135px; + width: 100%; +} +.ratings-container .rating-ratio #ratio-fill { + background-color: rgb(var(--bs-success-rgb)); + height: 100%; + transition: width 0.2s ease; +} +.favorites-counter { + font-size: 1.15em; + font-weight: 500; +} +#places-container { + display: flex; + flex-direction: column; +} +@media (min-width: 768px) { + #places-container { + display: grid; + grid-auto-rows: 253px; + grid-template-columns: repeat(auto-fill, 170px); + grid-gap: 10px; + justify-content: center; + } +} +.store-category-check { + border-bottom: 2px solid #000; + border-radius: 2px; + color: hsla(0, 0%, 100%, 0.581); + margin-bottom: 5px; + margin-top: 0; + opacity: 0.9; + padding: 2px 2px 2px 27px; +} +.store-category-check.active { + color: #fff; + opacity: 1; +} +.store-category-check .form-check-input { + border-color: transparent; +} +.store-item-check { + opacity: 0.6; +} +.store-item-check.active { + opacity: 1; +} +.itemCardCont { + cursor: pointer; + transition: + transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), + border 0.3s cubic-bezier(0.16, 1, 0.3, 1); +} +.itemCardCont:hover { + border-color: var(--bs-card-border-color) !important; + transform: scale(1.05); +} +.store-title { + font-weight: 700; +} +.store-category { + border-left: 3px solid transparent; + font-weight: 500; +} +.store-category, +a.store-category:active, +a.store-category:focus, +a.store-category:hover { + color: hsla(0, 0%, 100%, 0.8); +} +.store-category.active { + border-color: #3bafff; +} +.asset-limited { + border: 8px solid #347fdb; +} +.asset-limited-triangle { + border-left: 100px solid transparent; + border-top: 100px solid #347fdb; + height: 0; + position: absolute; + right: 0; + top: 0; + width: 0; +} +.asset-limited-triangle > i { + color: #fff; + font-size: 30px; + font-weight: 900; + margin-left: -45px; + margin-top: -85px; + position: absolute; +} +.store-thumbnail { + height: auto; + width: 100%; +} +.trd-items-preview { + display: flex; + flex-direction: row-reverse; + justify-content: flex-end; +} +.trd-items-preview .item { + background-color: #1a1a1a; + border: 2px solid #1a1a1a; + box-shadow: 1px 0 3px rgba(0, 0, 0, 0.29); + margin-right: -18px; +} +.trd-items-preview .item img { + visibility: hidden; +} +.trd-items-preview .item img[src] { + visibility: visible; +} +.trd-box { + background: #1d1d1d; + border: 3px solid transparent; + border-radius: 9px; + display: inline-block; + height: 110px; + margin: 0 5px 0 0; + min-width: 110px; + overflow: hidden; + position: relative; + transition: all 0.15s ease; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + width: 110px; +} +.trd-box img { + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.trd-box:not(.preview):not(.disabled) { + cursor: pointer; +} +.trd-box.selected { + border: 3px solid lime; + opacity: 0.4; +} +.trd-box.selected:after { + color: lime; + content: url('data:image/svg+xml;utf8,'); + font-size: 20px; + position: absolute; + right: 10px; + top: 10px; +} +.trd-box.selected:hover { + transform: scale(0.95); +} +.trd-box.disabled { + cursor: default; + opacity: 0.75; +} +.trd-box:not(.preview):not(.disabled):not(.selected):hover { + box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5); + transform: scale(1.05); +} +.trd-box-inner { + box-shadow: inset 2px 2px 10px rgba(0, 0, 0, 0.341); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.trd-box.preview .trd-box-inner { + box-shadow: none; +} +.trd-box-val { + background: linear-gradient(rgba(31, 31, 31, 0.58), #1f1f1f); + border-top-right-radius: 9px; + bottom: 0; + font-size: 11px; + height: 24px; + left: 0; + padding: 4px 7px 4px 1px; + position: absolute; +} +.trd-items-list { + padding-right: 60px; +} +.trd-items-list:before { + background: linear-gradient(270deg, #262626 0, rgba(38, 38, 38, 0)); + bottom: 41px; + content: ''; + position: absolute; + right: 0; + top: 41px; + width: 100px; + z-index: 100; +} +.membership-upgrade-table { + border-collapse: separate; + border-spacing: 0 5px; +} +.membership-upgrade-table .tier-logo { + display: block; + height: auto; + margin: -10px auto; +} +.membership-upgrade-table tbody tr { + border-radius: 10px; +} +.membership-upgrade-table tbody tr.primaryrow td { + background: #000; +} +.membership-upgrade-table tbody tr td { + background: #262626; + color: #fff; + font-size: 1.2em; + font-weight: 500; + padding: 15px; +} +.membership-upgrade-table tbody tr td:first-child { + border-bottom-left-radius: 10px; + border-top-left-radius: 10px; +} +.membership-upgrade-table tbody tr td:last-child { + border-bottom-right-radius: 10px; + border-top-right-radius: 10px; +} +.membership-upgrade-table tbody tr td:not(.membership-upgrade-table tbody tr td:first-child) { + text-align: center; +} +.membership-upgrade-table tbody tr td.perk-free { + color: #929292; +} +.membership-upgrade-table tbody tr td.perk-plus { + color: #30bee5; + font-size: 1.55em; + font-weight: 600; +} +.membership-upgrade-table tbody tr td.perk-plusdx { + color: #b536ff; + font-size: 1.75em; + font-weight: 600; +} +.membership-upgrade-table tbody tr.inv td { + background: transparent; + padding: 0; +} +.mbtn { + border-radius: 6px; + font-size: 1.4em; + font-weight: 600; + margin-bottom: 3px; + padding: 4px; + transition: + color 0.1s ease-in-out, + background-color 0.1s ease-in-out, + border-color 0.1s ease-in-out; + width: 150px; +} +.mbtn .sub { + font-size: 0.75em; + font-weight: 400; +} +.mbtn.mbplus { + background: #30bee5; + border: 3px solid #30bee5; + color: #fff; +} +.mbtn.mbplus.mboutline { + background: transparent; + color: #30bee5; +} +.mbtn.mbplus.mboutline:hover { + background: #30bee5; + color: #fff; +} +.mbtn.mbplus.mbdisabled { + cursor: default; + font-size: 1.3em !important; + font-weight: 400; + opacity: 0.5; +} +.mbtn.mbplusdx { + background: #b536ff; + border: 3px solid #b536ff; + color: #fff; +} +.mbtn.mbplusdx.mboutline { + background: transparent; + color: #b536ff; +} +.mbtn.mbplusdx.mboutline:hover { + background: #b536ff; + color: #fff; +} +.mbtn.mbplusdx.mbdisabled { + cursor: default; + font-size: 1.3em !important; + font-weight: 400; + opacity: 0.5; +} +.mbtn-mobile { + border-radius: 6px; + font-size: 1.4em; + font-size: 20px; + font-weight: 600; + margin-bottom: 3px; + padding: 4px; + text-align: center; + width: 125px; +} +.mbtn-mobile.mbplus { + background: linear-gradient(180deg, #007a9b, #6cdfff); +} +.mbtn-mobile.mbplusdx { + background: linear-gradient(180deg, #580589, #b536ff); +} +.mbtn-mobile .mbtitle { + color: hsla(0, 0%, 100%, 0.79); + font-size: 15px; +} +.brick-package { + aspect-ratio: 788/449; + background: linear-gradient(180deg, rgba(0, 0, 0, 0.77), transparent 100%, hsla(0, 0%, 100%, 0) 0), linear-gradient(180deg, #1c1c1c 17.19%, #0f0f0f 60.42%, #4e4e4e); + background-position: 50%; + background-repeat: no-repeat; + background-size: cover; + border: 5px solid #2f2f2f; + border-radius: 25px; + cursor: pointer; + margin-bottom: 10px; + transition: transform 0.2s ease; +} +.brick-package, +.brick-package.content { + height: 100%; + position: relative; + width: 100%; +} +.brick-package.content { + border-radius: 20px; + overflow: hidden; +} +.brick-package.galaxy { + border-color: #9d1fe6; +} +.brick-package.popular { + border-color: #fff; +} +.brick-package:hover { + transform: scale(1.025); +} +.brick-package .bg-image { + bottom: 0; + height: 100%; + left: 0; + right: 0; + top: 0; + width: 100%; +} +.brick-package .brick-image { + bottom: 40px; + height: 60%; + left: -10px; + -o-object-fit: contain; + object-fit: contain; + position: absolute; + width: 60%; +} +.brick-package .priceline { + align-items: center; + background-color: rgba(0, 0, 0, 0.27); + border-bottom-left-radius: 20px; + border-bottom-right-radius: 20px; + bottom: 0; + display: flex; + font-size: 1.7em; + font-weight: 600; + height: 25%; + justify-content: center; + left: 0; + position: absolute; + right: 0; +} +.brick-package .title { + font-size: 2em; + font-weight: 800; + left: 30px; + position: absolute; + top: 10px; +} +.brick-package .title.galaxy { + color: #d48aff; +} +.brick-package .amount { + color: #63f353; + font-size: 3.5em; + font-weight: 800; + letter-spacing: -0.025em; + position: absolute; + right: 5%; + text-shadow: 0 0 0.5em #22bc11; + top: 25%; +} +.brick-package .amount.galaxy { + color: #d48aff; + letter-spacing: -0.05em; + text-shadow: 0 0 0.5em #b536ff; +} +.brick-package .am-x { + font-size: 0.7em; +} +.brick-package .sunburst-image { + bottom: 500px; + height: 75%; + opacity: 0.8; + position: absolute; + top: 0; + width: 70%; +} +.brick-package .popular-tag { + background-color: #fff; + border-radius: 10px 10px 0 10px; + color: #000; + font-size: 1em; + font-weight: 700; + padding: 2%; + position: absolute; + right: -5px; + top: -9%; +} +.arrow-anim-cont { + animation: bg-scroll 1.5s linear infinite; + background-color: #121212; + background-image: url(https://c0.ptacdn.com/static/images/upgrade-bg.43d7e1a5.svg); + background-repeat: repeat; + background-size: 100px 100px; + height: 100%; + height: 0; + left: 0; + max-height: 100vh; + min-height: 100vh; + overflow: hidden; + position: fixed; + width: 100%; +} +@keyframes bg-scroll { + 0% { + background-position: 100px 100px; + } + to { + background-position: 0 0; + } +} +.checkout-upgrade-perk { + background-color: #000; + border-radius: 5px; + font-size: 1.2em; + margin: 5px auto; + max-width: 500px; + padding: 10px; +} +.gift-self-toggle { + background: #000; + border: 3px solid #000; + border-radius: 8px; + display: flex; + height: 70px; + margin: auto; + overflow: hidden; + width: 300px; +} +.gift-self-toggle .gift-self-toggle-btn { + align-items: center; + background-color: #171717; + border: 3px solid hsla(0, 0%, 85%, 0); + border-radius: 5px; + cursor: pointer; + display: flex; + justify-content: center; + opacity: 0.5; + transform: scale(0.9); + transition: + transform 0.2s ease-in-out, + border-color 0.2s ease-in-out, + opacity 0.2s ease-in-out; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + width: 50%; +} +.gift-self-toggle .gift-self-toggle-btn .label { + font-weight: 500; + line-height: 1em; +} +.gift-self-toggle .gift-self-toggle-btn.active { + border-color: #dadada; +} +.gift-self-toggle .gift-self-toggle-btn.active, +.gift-self-toggle .gift-self-toggle-btn:hover { + opacity: 1; + transform: scale(1); +} +.gift-self-toggle .gift-self-toggle-btn .gift-icn { + height: 32px; + margin: 0 14px; + width: auto; +} +.user-badges { + background: #161616; + border-radius: 12px; + display: flex; + flex-wrap: wrap; + margin: 10px -5px -3px; + padding: 5px; +} +.user-badge { + background-repeat: no-repeat; + background-size: cover; + height: 48px; + margin-right: -4px; + width: 48px; +} +.user-badge.badge-1 { + background-position: 0 0; + margin-right: 0; +} +.user-badge.badge-2 { + background-position: -49px 0; +} +.user-badge.badge-3 { + background-position: -98px 0; +} +.user-badge.badge-4 { + background-position: -147px 0; +} +@media (min-width: 992px) { + .user-right { + max-width: 375px; + } +} +div:where(.swal2-container) { + z-index: 100000 !important; +} diff --git a/css/specific.css b/css/specific.css index 2403149..663fa0c 100755 --- a/css/specific.css +++ b/css/specific.css @@ -1,49 +1,58 @@ -/* - FRONTEND FIXES / SPACING IMPROVEMENTS -*/ - -body[data-URL^="/my/friends"] .col-lg-3 { - margin-bottom: 20px; -} - -body[data-URL^="/create/"] .mt-2.mt-lg-0.col-lg.d-flex.align-content-between.flex-wrap { - width: 50%; -} - -body[data-URL^="/create/"] .col.d-flex.align-content-between.flex-wrap { - width: 50%; -} - -.text-truncate { - white-space: nowrap !important; - overflow: hidden !important; - text-overflow: ellipsis !important; -} - -/* ------------------------------------------ */ - -/* - INLINE EDITING -*/ - -body[data-polyplus-inlineEditing="true"] .polyplus-inlineEditing-visible {display: block !important;} -.polyplus-inlineEditing-visible {display: none;} - -body[data-polyplus-inlineEditing="true"] .polyplus-inlineEditing-hidden {display: none !important;} -.polyplus-inlineEditing-hidden {display: block;} - -/* ------------------------------------------ */ - -/* - MODALS -*/ - -html:has(.polyplus-modal[open]), body:has(.polyplus-modal[open]) { - overflow: hidden; -} - -.polyplus-modal::backdrop { - background: rgba(0, 0, 0, 0.73); -} - -/* ------------------------------------------ */ \ No newline at end of file +/* + FRONTEND FIXES / SPACING IMPROVEMENTS +*/ + +body[data-URL^='/my/friends'] .col-lg-3 { + margin-bottom: 20px; +} + +body[data-URL^='/create/'] .mt-2.mt-lg-0.col-lg.d-flex.align-content-between.flex-wrap { + width: 50%; +} + +body[data-URL^='/create/'] .col.d-flex.align-content-between.flex-wrap { + width: 50%; +} + +.text-truncate { + white-space: nowrap !important; + overflow: hidden !important; + text-overflow: ellipsis !important; +} + +/* ------------------------------------------ */ + +/* + INLINE EDITING +*/ + +body[data-polyplus-inlineEditing='true'] .polyplus-inlineEditing-visible { + display: block !important; +} +.polyplus-inlineEditing-visible { + display: none; +} + +body[data-polyplus-inlineEditing='true'] .polyplus-inlineEditing-hidden { + display: none !important; +} +.polyplus-inlineEditing-hidden { + display: block; +} + +/* ------------------------------------------ */ + +/* + MODALS +*/ + +html:has(.polyplus-modal[open]), +body:has(.polyplus-modal[open]) { + overflow: hidden; +} + +.polyplus-modal::backdrop { + background: rgba(0, 0, 0, 0.73); +} + +/* ------------------------------------------ */ diff --git a/js/account/avatar-sandbox.js b/js/account/avatar-sandbox.js index 6f6cb10..7b19c15 100755 --- a/js/account/avatar-sandbox.js +++ b/js/account/avatar-sandbox.js @@ -1,372 +1,389 @@ -let PageContainer = document.querySelector('.container.p-0.p-lg-5') -let ItemGrid; -let Wearing; -let Tabs; -let IFrame; -let TabSelected = 'hat' -let Search; -let Page = 1 -let Avatar = { - "useCharacter": true, - "items": [], - "shirt": null, - "pants": null, - "tool": {ID: -1, URL: null}, - "headColor": "#e0e0e0", - "torsoColor": "#e0e0e0", - "leftArmColor": "#e0e0e0", - "rightArmColor": "#e0e0e0", - "leftLegColor": "#e0e0e0", - "rightLegColor": "#e0e0e0" -} -let ItemCardContents = ` -
-
-
- - - :ItemType - - -
-
- -
:ItemName
-
- - by :CreatorName - -
-` - -if (new URLSearchParams(new URL(window.location).search).get('sandbox') === 'true') { - console.log('Avatar Sandbox!') - - LoadFile(chrome.runtime.getURL('resources/avatar-sandbox.html'), function(html){ - PageContainer.innerHTML = html - ItemGrid = document.getElementById('inventory') - Wearing = document.getElementById('wearing') - Tabs = document.getElementById('tabs') - IFrame = document.getElementById('viewFrame') - - Search = document.getElementById('item-search') - Search.addEventListener('change', function(){ - RefreshItems() - }); - - UpdateAvatar() - RefreshItems() - - Array.from(Tabs.children).forEach(element => { - element.addEventListener('click', function(){ - let Link = element.getElementsByTagName('a')[0] - if (!(Link.classList.contains('active'))) { - Link.classList.add('active') - Tabs.querySelector(`[data-tab="${TabSelected}"]`).classList.remove('active') - TabSelected = Link.getAttribute('data-tab') - Page = 1 - RefreshItems() - } - }); - }); - - let Clear = document.getElementById('clear') - Clear.addEventListener('click', function(){ - Avatar = { - "useCharacter": true, - "items": [], - "shirt": {ID: -1, URL: null}, - "pants": {ID: -1, URL: null}, - "tool": {ID: -1, URL: null}, - "headColor": "#e0e0e0", - "torsoColor": "#e0e0e0", - "leftArmColor": "#e0e0e0", - "rightArmColor": "#e0e0e0", - "leftLegColor": "#e0e0e0", - "rightLegColor": "#e0e0e0" - } - UpdateAvatar() - }); - - let JSONUpload = document.getElementById('jsonUpload') - JSONUpload.addEventListener('change', function(){ - let Reader = new FileReader() - Reader.addEventListener('loadend', function(){ - Avatar = JSON.parse(Reader.result) - UpdateAvatar() - - JSONUpload.value = "" - }); - - Reader.readAsText(JSONUpload.files[0]) - }); - - let JSONSave = document.getElementById('jsonSave') - JSONSave.addEventListener('click', function(){ - FormatAvatar().then(FormattedAvatar => { - let Download = document.createElement('a') - Download.href = URL.createObjectURL(new Blob([JSON.stringify(FormattedAvatar)], { - type: "application/json" - })); - Download.setAttribute('download', 'AvatarSandbox.json') - document.body.appendChild(Download) - Download.click() - document.body.removeChild(Download) - }); - }); - - let OpenInNewTab = document.getElementById('openNewTab') - OpenInNewTab.addEventListener('click', function(){ - UpdateAvatar() - }); - }); -} - -function UpdateAvatar() { - GenerateHash() - .then(hash => { - IFrame.addEventListener('load', function () { - IFrame.src = 'https://polytoria.com/ptstatic/itemview/#' + hash; - }); - IFrame.src = 'about:blank'; - }); -} - -function LoadFile(path, callback) { - var xhr = new XMLHttpRequest(); - xhr.onload = function () { return callback(this.responseText); } - xhr.open("GET", path, true); - xhr.send(); -} - -async function GenerateHash() { - let FormattedAvatar = await FormatAvatar() - for (let i = 0; i < FormattedAvatar.items.length; i++) { - FormattedAvatar.items[i] = FormattedAvatar.items[i].URL - } - if (FormattedAvatar.shirt) { - FormattedAvatar.shirt = FormattedAvatar.shirt.URL - } - if (FormattedAvatar.pants) { - FormattedAvatar.pants = FormattedAvatar.pants.URL - } - FormattedAvatar.face = FormattedAvatar.face.URL - if (FormattedAvatar.tool) { - FormattedAvatar.tool = FormattedAvatar.tool.URL - } - console.log('Formatted Avatar: ', FormattedAvatar) - console.log('Real Avatar: ', Avatar) - return btoa(encodeURIComponent(JSON.stringify(FormattedAvatar))) -} - -async function FormatAvatar() { - let LocalAvatar = structuredClone(Avatar) - - if (!LocalAvatar.face) { - LocalAvatar.face = {ID: -1, URL: "https://c0.ptacdn.com/static/3dview/DefaultFace.png"} - } - - for (let i = 0; i < LocalAvatar.items.length; i++) { - if (LocalAvatar.items[i].URL === null) { - await fetch("https://api.polytoria.com/v1/assets/serve-mesh/:id".replace(':id', LocalAvatar.items[i].ID)) - .then(response => { - if (!response.ok) { - throw new Error('Network response was not ok'); - } - return response.json(); - }) - .then(data => { - Avatar.items[i].URL = data.url - LocalAvatar.items[i].URL = data.url - }) - .catch(error => { - console.error('Fetch error:', error); - }); - } - } - - if (LocalAvatar.tool && LocalAvatar.tool.ID !== -1 && LocalAvatar.tool.URL === null) { - await fetch("https://api.polytoria.com/v1/assets/serve-mesh/:id".replace(':id', LocalAvatar.tool.ID)) - .then(response => { - if (!response.ok) { - throw new Error('Network response was not ok'); - } - return response.json(); - }) - .then(data => { - Avatar.tool.URL = data.url - LocalAvatar.tool.URL = data.url - }) - .catch(error => { - console.error('Fetch error:', error); - }); - } - - if (LocalAvatar.face.ID !== -1 && LocalAvatar.face.URL === null) { - await fetch("https://api.polytoria.com/v1/assets/serve/:id/Asset".replace(':id', LocalAvatar.face.ID)) - .then(response => { - if (!response.ok) { - throw new Error('Network response was not ok'); - } - return response.json(); - }) - .then(data => { - Avatar.face.URL = data.url - LocalAvatar.face.URL = data.url - }) - .catch(error => { - console.error('Fetch error:', error); - }); - } - - if (LocalAvatar.shirt && LocalAvatar.shirt.ID !== -1 && LocalAvatar.shirt.URL === null) { - await fetch("https://api.polytoria.com/v1/assets/serve/:id/Asset".replace(':id', LocalAvatar.shirt.ID)) - .then(response => { - if (!response.ok) { - throw new Error('Network response was not ok'); - } - return response.json(); - }) - .then(data => { - Avatar.shirt.URL = data.url - LocalAvatar.shirt.URL = data.url - }) - .catch(error => { - console.error('Fetch error:', error); - }); - } - - if (LocalAvatar.pants && LocalAvatar.pants.ID !== -1 && LocalAvatar.pants.URL === null) { - await fetch("https://api.polytoria.com/v1/assets/serve/:id/Asset".replace(':id', LocalAvatar.pants.ID)) - .then(response => { - if (!response.ok) { - throw new Error('Network response was not ok'); - } - return response.json(); - }) - .then(data => { - Avatar.pants.URL = data.url - LocalAvatar.pants.URL = data.url - }) - .catch(error => { - console.error('Fetch error:', error); - }); - } - - return LocalAvatar -} - -function RefreshItems() { - fetch(`https://api.polytoria.com/v1/store?search=${Search.value}&types%5B%5D=${TabSelected}&sort=createdAt&order=desc&page=${Page}&limit=12`) - .then(response => { - if (!response.ok) { - throw new Error('Network response was not ok'); - } - return response.json(); - }) - .then(data => { - Array.from(ItemGrid.children).forEach(element => {element.remove()}); - data = data.assets - data.forEach(item => { - let NewItemCard = document.createElement('div') - NewItemCard.classList = 'col-auto' - NewItemCard.innerHTML = ItemCardContents.replace(':ItemName', item.name).replace().replace(':ItemID', item.id).replace(':ItemType', item.type.replace(item.type.charAt(0), item.type.charAt(0).toUpperCase())).replace(':CreatorName', item.creator.name).replace(':CreatorID', item.creator.id).replace(':ItemThumbnail', item.thumbnail) - NewItemCard.getElementsByClassName('p-2')[0].addEventListener('click', function(){ - WearAsset(NewItemCard, item.name, {Name: item.creator.name, ID: item.creator.id}, item.id, item.type, item.thumbnail) - }); - - ItemGrid.appendChild(NewItemCard) - }); - }) - .catch(error => { - console.error('Fetch error:', error); - }); -} - -function WearAsset(element, name, creator, id, type, thumbnail) { - switch (type) { - case 'hat': - let Index = CheckItemID(Avatar.items, id) - if (Index === -1) { - if (Avatar.items.length !== 3) { - Avatar.items.push({Name: name, Creator: creator, ID: id, URL: null, Thumbnail: thumbnail}) - Wearing.prepend(ItemGrid.querySelector(`.col-auto:has(a[href="/store/${id}"])`)) - } else { - Avatar.items.splice(0, 1) - Avatar.items.push({Name: name, Creator: creator, ID: id, URL: null, Thumbnail: thumbnail}) - if (TabSelected === type) { - console.log('tab is', TabSelected, type) - ItemGrid.prepend(Wearing.querySelector(`.col-auto:has(a[href="/store/${id}"])`)) - } - } - } else { - console.log('remove') - Avatar.items.splice(Index, 1) - if (TabSelected === type) { - console.log('tab is', TabSelected, type) - ItemGrid.prepend(Wearing.querySelector(`.col-auto:has(a[href="/store/${id}"])`)) - } - } - break - case 'face': - if (Avatar.face && Avatar.face.ID !== id) { - Avatar.face = {Name: name, Creator: creator, ID: id, URL: null, Thumbnail: thumbnail} - Wearing.prepend(ItemGrid.querySelector(`.col-auto:has(a[href="/store/${id}"])`)) - } else { - Avatar.face = {Name: "Default Face", Creator: {Name: "Polytoria", ID: 1}, ID: -1, URL: "https://c0.ptacdn.com/static/3dview/DefaultFace.png", Thumbnail: "https://c0.ptacdn.com/static/3dview/DefaultFace.png"} - if (TabSelected === type) { - console.log('tab is', TabSelected, type) - ItemGrid.prepend(Wearing.querySelector(`.col-auto:has(a[href="/store/${id}"])`)) - } - } - break - case 'tool': - if (Avatar.tool && Avatar.tool.ID !== id) { - Avatar.tool = {Name: name, Creator: creator, ID: id, URL: null, Thumbnail: thumbnail} - Wearing.prepend(ItemGrid.querySelector(`.col-auto:has(a[href="/store/${id}"])`)) - } else { - Avatar.tool = null - if (TabSelected === type) { - console.log('tab is', TabSelected, type) - ItemGrid.prepend(Wearing.querySelector(`.col-auto:has(a[href="/store/${id}"])`)) - } - } - break - case 'shirt': - if (Avatar.shirt.ID !== id) { - Avatar.shirt = {Name: name, Creator: creator, ID: id, URL: null, Thumbnail: thumbnail} - Wearing.prepend(ItemGrid.querySelector(`.col-auto:has(a[href="/store/${id}"])`)) - } else { - Avatar.shirt = null - if (TabSelected === type) { - console.log('tab is', TabSelected, type) - ItemGrid.prepend(Wearing.querySelector(`.col-auto:has(a[href="/store/${id}"])`)) - } - } - break - case 'pants': - if (Avatar.pants.ID !== id) { - Avatar.pants = {Name: name, Creator: creator, ID: id, URL: null, Thumbnail: thumbnail} - Wearing.prepend(ItemGrid.querySelector(`.col-auto:has(a[href="/store/${id}"])`)) - } else { - Avatar.pants = null - if (TabSelected === type) { - console.log('tab is', TabSelected, type) - ItemGrid.prepend(Wearing.querySelector(`.col-auto:has(a[href="/store/${id}"])`)) - } - } - break - } - - UpdateAvatar() -} - -function CheckItemID(object, id) { - for (let i = 0; i < object.length; i++) { - if (object[i] === id || object[i].ID === id) { - console.log('Index: ' + i) - return i - } - } - return -1 -} \ No newline at end of file +let PageContainer = document.querySelector('.container.p-0.p-lg-5'); +let ItemGrid; +let Wearing; +let Tabs; +let IFrame; +let TabSelected = 'hat'; +let Search; +let Page = 1; +let Avatar = { + useCharacter: true, + items: [], + shirt: null, + pants: null, + tool: {ID: -1, URL: null}, + headColor: '#e0e0e0', + torsoColor: '#e0e0e0', + leftArmColor: '#e0e0e0', + rightArmColor: '#e0e0e0', + leftLegColor: '#e0e0e0', + rightLegColor: '#e0e0e0' +}; +let ItemCardContents = ` +
+
+
+ + + :ItemType + + +
+
+ +
:ItemName
+
+ + by :CreatorName + +
+`; + +if (new URLSearchParams(new URL(window.location).search).get('sandbox') === 'true') { + console.log('Avatar Sandbox!'); + + LoadFile(chrome.runtime.getURL('resources/avatar-sandbox.html'), function (html) { + PageContainer.innerHTML = html; + ItemGrid = document.getElementById('inventory'); + Wearing = document.getElementById('wearing'); + Tabs = document.getElementById('tabs'); + IFrame = document.getElementById('viewFrame'); + + Search = document.getElementById('item-search'); + Search.addEventListener('change', function () { + RefreshItems(); + }); + + UpdateAvatar(); + RefreshItems(); + + Array.from(Tabs.children).forEach((element) => { + element.addEventListener('click', function () { + let Link = element.getElementsByTagName('a')[0]; + if (!Link.classList.contains('active')) { + Link.classList.add('active'); + Tabs.querySelector(`[data-tab="${TabSelected}"]`).classList.remove('active'); + TabSelected = Link.getAttribute('data-tab'); + Page = 1; + RefreshItems(); + } + }); + }); + + let Clear = document.getElementById('clear'); + Clear.addEventListener('click', function () { + Avatar = { + useCharacter: true, + items: [], + shirt: {ID: -1, URL: null}, + pants: {ID: -1, URL: null}, + tool: {ID: -1, URL: null}, + headColor: '#e0e0e0', + torsoColor: '#e0e0e0', + leftArmColor: '#e0e0e0', + rightArmColor: '#e0e0e0', + leftLegColor: '#e0e0e0', + rightLegColor: '#e0e0e0' + }; + UpdateAvatar(); + }); + + let JSONUpload = document.getElementById('jsonUpload'); + JSONUpload.addEventListener('change', function () { + let Reader = new FileReader(); + Reader.addEventListener('loadend', function () { + Avatar = JSON.parse(Reader.result); + UpdateAvatar(); + + JSONUpload.value = ''; + }); + + Reader.readAsText(JSONUpload.files[0]); + }); + + let JSONSave = document.getElementById('jsonSave'); + JSONSave.addEventListener('click', function () { + FormatAvatar().then((FormattedAvatar) => { + let Download = document.createElement('a'); + Download.href = URL.createObjectURL( + new Blob([JSON.stringify(FormattedAvatar)], { + type: 'application/json' + }) + ); + Download.setAttribute('download', 'AvatarSandbox.json'); + document.body.appendChild(Download); + Download.click(); + document.body.removeChild(Download); + }); + }); + + let OpenInNewTab = document.getElementById('openNewTab'); + OpenInNewTab.addEventListener('click', function () { + UpdateAvatar(); + }); + }); +} + +function UpdateAvatar() { + GenerateHash().then((hash) => { + IFrame.addEventListener('load', function () { + IFrame.src = 'https://polytoria.com/ptstatic/itemview/#' + hash; + }); + IFrame.src = 'about:blank'; + }); +} + +function LoadFile(path, callback) { + var xhr = new XMLHttpRequest(); + xhr.onload = function () { + return callback(this.responseText); + }; + xhr.open('GET', path, true); + xhr.send(); +} + +async function GenerateHash() { + let FormattedAvatar = await FormatAvatar(); + for (let i = 0; i < FormattedAvatar.items.length; i++) { + FormattedAvatar.items[i] = FormattedAvatar.items[i].URL; + } + if (FormattedAvatar.shirt) { + FormattedAvatar.shirt = FormattedAvatar.shirt.URL; + } + if (FormattedAvatar.pants) { + FormattedAvatar.pants = FormattedAvatar.pants.URL; + } + FormattedAvatar.face = FormattedAvatar.face.URL; + if (FormattedAvatar.tool) { + FormattedAvatar.tool = FormattedAvatar.tool.URL; + } + console.log('Formatted Avatar: ', FormattedAvatar); + console.log('Real Avatar: ', Avatar); + return btoa(encodeURIComponent(JSON.stringify(FormattedAvatar))); +} + +async function FormatAvatar() { + let LocalAvatar = structuredClone(Avatar); + + if (!LocalAvatar.face) { + LocalAvatar.face = {ID: -1, URL: 'https://c0.ptacdn.com/static/3dview/DefaultFace.png'}; + } + + for (let i = 0; i < LocalAvatar.items.length; i++) { + if (LocalAvatar.items[i].URL === null) { + await fetch('https://api.polytoria.com/v1/assets/serve-mesh/:id'.replace(':id', LocalAvatar.items[i].ID)) + .then((response) => { + if (!response.ok) { + throw new Error('Network response was not ok'); + } + return response.json(); + }) + .then((data) => { + Avatar.items[i].URL = data.url; + LocalAvatar.items[i].URL = data.url; + }) + .catch((error) => { + console.error('Fetch error:', error); + }); + } + } + + if (LocalAvatar.tool && LocalAvatar.tool.ID !== -1 && LocalAvatar.tool.URL === null) { + await fetch('https://api.polytoria.com/v1/assets/serve-mesh/:id'.replace(':id', LocalAvatar.tool.ID)) + .then((response) => { + if (!response.ok) { + throw new Error('Network response was not ok'); + } + return response.json(); + }) + .then((data) => { + Avatar.tool.URL = data.url; + LocalAvatar.tool.URL = data.url; + }) + .catch((error) => { + console.error('Fetch error:', error); + }); + } + + if (LocalAvatar.face.ID !== -1 && LocalAvatar.face.URL === null) { + await fetch('https://api.polytoria.com/v1/assets/serve/:id/Asset'.replace(':id', LocalAvatar.face.ID)) + .then((response) => { + if (!response.ok) { + throw new Error('Network response was not ok'); + } + return response.json(); + }) + .then((data) => { + Avatar.face.URL = data.url; + LocalAvatar.face.URL = data.url; + }) + .catch((error) => { + console.error('Fetch error:', error); + }); + } + + if (LocalAvatar.shirt && LocalAvatar.shirt.ID !== -1 && LocalAvatar.shirt.URL === null) { + await fetch('https://api.polytoria.com/v1/assets/serve/:id/Asset'.replace(':id', LocalAvatar.shirt.ID)) + .then((response) => { + if (!response.ok) { + throw new Error('Network response was not ok'); + } + return response.json(); + }) + .then((data) => { + Avatar.shirt.URL = data.url; + LocalAvatar.shirt.URL = data.url; + }) + .catch((error) => { + console.error('Fetch error:', error); + }); + } + + if (LocalAvatar.pants && LocalAvatar.pants.ID !== -1 && LocalAvatar.pants.URL === null) { + await fetch('https://api.polytoria.com/v1/assets/serve/:id/Asset'.replace(':id', LocalAvatar.pants.ID)) + .then((response) => { + if (!response.ok) { + throw new Error('Network response was not ok'); + } + return response.json(); + }) + .then((data) => { + Avatar.pants.URL = data.url; + LocalAvatar.pants.URL = data.url; + }) + .catch((error) => { + console.error('Fetch error:', error); + }); + } + + return LocalAvatar; +} + +function RefreshItems() { + fetch(`https://api.polytoria.com/v1/store?search=${Search.value}&types%5B%5D=${TabSelected}&sort=createdAt&order=desc&page=${Page}&limit=12`) + .then((response) => { + if (!response.ok) { + throw new Error('Network response was not ok'); + } + return response.json(); + }) + .then((data) => { + Array.from(ItemGrid.children).forEach((element) => { + element.remove(); + }); + data = data.assets; + data.forEach((item) => { + let NewItemCard = document.createElement('div'); + NewItemCard.classList = 'col-auto'; + NewItemCard.innerHTML = ItemCardContents.replace(':ItemName', item.name) + .replace() + .replace(':ItemID', item.id) + .replace(':ItemType', item.type.replace(item.type.charAt(0), item.type.charAt(0).toUpperCase())) + .replace(':CreatorName', item.creator.name) + .replace(':CreatorID', item.creator.id) + .replace(':ItemThumbnail', item.thumbnail); + NewItemCard.getElementsByClassName('p-2')[0].addEventListener('click', function () { + WearAsset(NewItemCard, item.name, {Name: item.creator.name, ID: item.creator.id}, item.id, item.type, item.thumbnail); + }); + + ItemGrid.appendChild(NewItemCard); + }); + }) + .catch((error) => { + console.error('Fetch error:', error); + }); +} + +function WearAsset(element, name, creator, id, type, thumbnail) { + switch (type) { + case 'hat': + let Index = CheckItemID(Avatar.items, id); + if (Index === -1) { + if (Avatar.items.length !== 3) { + Avatar.items.push({Name: name, Creator: creator, ID: id, URL: null, Thumbnail: thumbnail}); + Wearing.prepend(ItemGrid.querySelector(`.col-auto:has(a[href="/store/${id}"])`)); + } else { + Avatar.items.splice(0, 1); + Avatar.items.push({Name: name, Creator: creator, ID: id, URL: null, Thumbnail: thumbnail}); + if (TabSelected === type) { + console.log('tab is', TabSelected, type); + ItemGrid.prepend(Wearing.querySelector(`.col-auto:has(a[href="/store/${id}"])`)); + } + } + } else { + console.log('remove'); + Avatar.items.splice(Index, 1); + if (TabSelected === type) { + console.log('tab is', TabSelected, type); + ItemGrid.prepend(Wearing.querySelector(`.col-auto:has(a[href="/store/${id}"])`)); + } + } + break; + case 'face': + if (Avatar.face && Avatar.face.ID !== id) { + Avatar.face = {Name: name, Creator: creator, ID: id, URL: null, Thumbnail: thumbnail}; + Wearing.prepend(ItemGrid.querySelector(`.col-auto:has(a[href="/store/${id}"])`)); + } else { + Avatar.face = { + Name: 'Default Face', + Creator: {Name: 'Polytoria', ID: 1}, + ID: -1, + URL: 'https://c0.ptacdn.com/static/3dview/DefaultFace.png', + Thumbnail: 'https://c0.ptacdn.com/static/3dview/DefaultFace.png' + }; + if (TabSelected === type) { + console.log('tab is', TabSelected, type); + ItemGrid.prepend(Wearing.querySelector(`.col-auto:has(a[href="/store/${id}"])`)); + } + } + break; + case 'tool': + if (Avatar.tool && Avatar.tool.ID !== id) { + Avatar.tool = {Name: name, Creator: creator, ID: id, URL: null, Thumbnail: thumbnail}; + Wearing.prepend(ItemGrid.querySelector(`.col-auto:has(a[href="/store/${id}"])`)); + } else { + Avatar.tool = null; + if (TabSelected === type) { + console.log('tab is', TabSelected, type); + ItemGrid.prepend(Wearing.querySelector(`.col-auto:has(a[href="/store/${id}"])`)); + } + } + break; + case 'shirt': + if (Avatar.shirt.ID !== id) { + Avatar.shirt = {Name: name, Creator: creator, ID: id, URL: null, Thumbnail: thumbnail}; + Wearing.prepend(ItemGrid.querySelector(`.col-auto:has(a[href="/store/${id}"])`)); + } else { + Avatar.shirt = null; + if (TabSelected === type) { + console.log('tab is', TabSelected, type); + ItemGrid.prepend(Wearing.querySelector(`.col-auto:has(a[href="/store/${id}"])`)); + } + } + break; + case 'pants': + if (Avatar.pants.ID !== id) { + Avatar.pants = {Name: name, Creator: creator, ID: id, URL: null, Thumbnail: thumbnail}; + Wearing.prepend(ItemGrid.querySelector(`.col-auto:has(a[href="/store/${id}"])`)); + } else { + Avatar.pants = null; + if (TabSelected === type) { + console.log('tab is', TabSelected, type); + ItemGrid.prepend(Wearing.querySelector(`.col-auto:has(a[href="/store/${id}"])`)); + } + } + break; + } + + UpdateAvatar(); +} + +function CheckItemID(object, id) { + for (let i = 0; i < object.length; i++) { + if (object[i] === id || object[i].ID === id) { + console.log('Index: ' + i); + return i; + } + } + return -1; +} diff --git a/js/account/avatar-sandbox2.js b/js/account/avatar-sandbox2.js index d145955..cfc6f93 100755 --- a/js/account/avatar-sandbox2.js +++ b/js/account/avatar-sandbox2.js @@ -1,488 +1,495 @@ -const UserID = JSON.parse(window.localStorage.getItem('p+account_info')).ID -const BodyColors = [ - "#f8f8f8", - "#cdcdcd", - "#111111", - "#ff0000", - "#a34b4b", - "#ffc9c9", - "#957977", - "#c4281c", - "#da867a", - "#694028", - "#cc8e69", - "#a05f35", - "#7c5c46", - "#eab892", - "#da8541", - "#aa5500", - "#ffcc99", - "#e29b40", - "#ffaf00", - "#ffb000", - "#d7c59a", - "#f5cd30", - "#fdea8d", - "#e5e4df", - "#c1be42", - "#ffff00", - "#ffffcc", - "#a4bd47", - "#7f8e64", - "#a1c48c", - "#3a7d15", - "#4b974b", - "#00ff00", - "#ccffcc", - "#27462d", - "#287f47", - "#789082", - "#9ff3e9", - "#12eed4", - "#f2f3f3", - "#00ffff", - "#008f9c", - "#04afec", - "#80bbdb", - "#b4d2e4", - "#0d69ac", - "#1b2a35", - "#afddff", - "#6e99ca", - "#74869d", - "#2154b9", - "#002060", - "#0000ff", - "#b1a7ff", - "#a3a2a5", - "#6225d1", - "#b480ff", - "#8c5b9f", - "#6b327c", - "#aa00aa", - "#635f62", - "#ff00bf", - "#ff66cc", - "#e8bac8" -] - -let PageContainer = document.querySelector('.container.p-0.p-lg-5') -let ItemGrid; -let Wearing; -let Tabs; -let IFrame; -let TabSelected = 'hat' -let Search; -let Page = 1 -let Avatar = { - "useCharacter": true, - "items": [ - 24122 - ], - "shirt": 24118, - "pants": 24123, - "headColor": "#e0e0e0", - "torsoColor": "#e0e0e0", - "leftArmColor": "#e0e0e0", - "rightArmColor": "#e0e0e0", - "leftLegColor": "#e0e0e0", - "rightLegColor": "#e0e0e0" -} - -if (new URLSearchParams(window.location.search).has('sandbox')) { - console.log('Avatar Sandbox!') - - LoadFile(chrome.runtime.getURL('resources/avatar-sandbox.html'), function(html){ - PageContainer.innerHTML = html - ItemGrid = document.getElementById('inventory') - Wearing = document.getElementById('wearing') - Tabs = document.getElementById('tabs') - IFrame = document.getElementById('viewFrame') - - Search = document.getElementById('item-search') - Search.addEventListener('onchange', function(){ - RefreshItems() - }); - - UpdateAvatar() - RefreshItems() - LoadWearing() - - Array.from(Tabs.children).forEach(element => { - element.addEventListener('click', function(){ - let Link = element.getElementsByTagName('a')[0] - if (!(Link.classList.contains('active'))) { - Link.classList.add('active') - Tabs.querySelector(`[data-tab="${TabSelected}"]`).classList.remove('active') - TabSelected = Link.getAttribute('data-tab') - Page = 1 - RefreshItems() - } - }); - }); - - let Clear = document.getElementById('clear') - Clear.addEventListener('click', function(){ - Avatar = { - "useCharacter": true, - "items": [ - 24122 - ], - "shirt": 24118, - "pants": 24123, - "headColor": "#e0e0e0", - "torsoColor": "#e0e0e0", - "leftArmColor": "#e0e0e0", - "rightArmColor": "#e0e0e0", - "leftLegColor": "#e0e0e0", - "rightLegColor": "#e0e0e0" - } - UpdateAvatar() - }); - - let Myself = document.getElementById('myself') - Myself.addEventListener('click', function(){ - LoadMyself() - }); - - let JSONUpload = document.getElementById('jsonUpload') - JSONUpload.addEventListener('change', function(){ - let Reader = new FileReader() - Reader.addEventListener('loadend', function(){ - Avatar = JSON.parse(Reader.result) - UpdateAvatar() - - JSONUpload.value = "" - }); - - Reader.readAsText(JSONUpload.files[0]) - }); - - let JSONSave = document.getElementById('jsonSave') - JSONSave.addEventListener('click', function(){ - let Download = document.createElement('a') - Download.href = URL.createObjectURL(new Blob([JSON.stringify(Avatar)], { - type: "application/json" - })); - Download.setAttribute('download', 'AvatarSandbox.json') - document.body.appendChild(Download) - Download.click() - document.body.removeChild(Download) - }); - - let OpenInNewTab = document.getElementById('openNewTab') - OpenInNewTab.addEventListener('click', function(){ - UpdateAvatar() - }); - - let LoadAsset = document.getElementById('load-asset') - LoadAsset.addEventListener('click', async function(){ - console.log('clickk') - const MeshURL = (await (await fetch('https://api.polytoria.com/v1/assets/serve-mesh/' + LoadAsset.previousElementSibling.value)).json()).url - Avatar.items.push(MeshURL) - UpdateAvatar() - }) - }); -} else { - const SandboxButton = document.createElement('a') - SandboxButton.classList = 'btn btn-outline-success w-100 mt-3' - SandboxButton.href = '?sandbox=true' - SandboxButton.innerHTML = ' Avatar Sandbox' - document.getElementById('cont-move').parentElement.appendChild(SandboxButton) -} - -function UpdateAvatar() { - GenerateHash() - .then(hash => { - IFrame.addEventListener('load', function () { - IFrame.src = 'https://polytoria.com/ptstatic/itemview/#' + hash; - }); - IFrame.src = 'about:blank'; - }); -} - -function LoadFile(path, callback) { - var xhr = new XMLHttpRequest(); - xhr.onload = function () { return callback(this.responseText); } - xhr.open("GET", path, true); - xhr.send(); -} - -async function GenerateHash(data) { - if (!data) { - console.log('Data not provided') - let FormattedAvatar = await FormatAvatar() - return btoa(encodeURIComponent(JSON.stringify(FormattedAvatar))) - } else { - console.log('Data provided') - return btoa(encodeURIComponent(JSON.stringify(data))) - } -} - -function RefreshItems() { - fetch(`https://api.polytoria.com/v1/store?search=${Search.value}&types%5B%5D=${TabSelected}&sort=createdAt&order=desc&page=${Page}&limit=12`) - .then(response => { - if (!response.ok) { - throw new Error('Network response was not ok'); - } - return response.json(); - }) - .then(data => { - Array.from(ItemGrid.children).forEach(element => {element.remove()}); - data = data.assets - data.forEach(item => { - let NewItemCard = document.createElement('div') - NewItemCard.setAttribute('data-id', item.id) - NewItemCard.classList = 'col-auto' - NewItemCard.innerHTML = ` -
-
-
- - - ${item.type.charAt(0).toUpperCase() + item.type.substring(1)} - - -
-
- -
${item.name}
-
- - by ${item.creator.name} - -
- ` - NewItemCard.getElementsByClassName('p-2')[0].addEventListener('click', function(){ - WearAsset(NewItemCard, item) - }); - - ItemGrid.appendChild(NewItemCard) - }); - }) - .catch(error => { - console.error('Fetch error:', error); - }); -} - -async function FormatAvatar() { - const FormattedAvatar = structuredClone(Avatar) - - // Hats, Tools: https://api.polytoria.com/v1/assets/serve-mesh/:id - // or: https://api.polytoria.com/v1/assets/serve/:id/Asset - - Avatar.items.forEach(async (item, index) => { - if (typeof(item) === 'number') { - console.log(item) - await FetchMesh(item) - .then(URL => { - console.log('URL: ' + URL) - FormattedAvatar.items[index] = URL - }) - .catch(error => { - throw new Error(error) - }); - console.log('after url') - //Avatar.items[index] = URL - } - }); - - if (typeof(FormattedAvatar.tool) === 'number') {console.log(FormattedAvatar.tool); FormattedAvatar.tool = await FetchMesh(FormattedAvatar.tool)} - - if (FormattedAvatar.face && typeof(FormattedAvatar.face) === 'number') { - FormattedAvatar.face = await FetchAsset(FormattedAvatar.face) - } else { - FormattedAvatar.face = "https://c0.ptacdn.com/static/3dview/DefaultFace.png" - } - - if (typeof(FormattedAvatar.shirt) === 'number') {FormattedAvatar.shirt = await FetchAsset(FormattedAvatar.shirt)} - if (typeof(FormattedAvatar.pants) === 'number') {FormattedAvatar.pants = await FetchAsset(FormattedAvatar.pants)} - - console.log('Real Avatar: ', Avatar, 'Formatted: ', FormattedAvatar) - return FormattedAvatar -} - -function LoadMyself() { - fetch('https://api.polytoria.com/v1/users/:id/avatar'.replace(':id', UserID)) - .then(response => { - if (!response.ok) { - throw new Error('Network not ok') - } - return response.json() - }) - .then(data => { - Avatar.items = [] - - data.assets.forEach(item => { - switch(item.type) { - case 'hat': - Avatar.items.push(item.id) - break - default: - Avatar[item.type] = item.id - break - } - }); - - Avatar.headColor = '#' + data.colors.head || '#cdcdcd' - Avatar.torsoColor = '#' + data.colors.torso || '#cdcdcd' - Avatar.leftArmColor = '#' + data.colors.leftArm || '#cdcdcd' - Avatar.rightArmColor = '#' + data.colors.rightArm || '#cdcdcd' - Avatar.leftLegColor = '#' + data.colors.leftLeg || '#cdcdcd' - Avatar.rightLegColor = '#' + data.colors.rightLeg || '#cdcdcd' - - UpdateAvatar() - }) - .catch(error => { - console.log(error) - }); -} - -function WearAsset(element, info) { - if (Avatar.items.indexOf(info.id) === -1 && Avatar[info.type] !== info.id) { - console.log('Equip', info) - switch(info.type) { - case 'hat': - Avatar.items.push(info.id) - break - default: - Avatar[info.type] = info.id - break - } - } else { - console.log('unequip', info) - switch(info.type) { - case 'hat': - Avatar.items.splice(Avatar.items.indexOf(info.id), 1) - break - case 'face': - Avatar.face = "https://c0.ptacdn.com/static/3dview/DefaultFace.png" - break - default: - Avatar[info.type] = undefined - break - } - } - - const ToggleButton = element.getElementsByClassName('avatarAction')[0] - ToggleButton.classList.toggle('btn-success') - ToggleButton.classList.toggle('btn-danger') - ToggleButton.children[0].classList.toggle('fa-plus') - ToggleButton.children[0].classList.toggle('fa-minus') - - const Duplicate = ItemGrid.querySelector(`[data-id="${info.id}"]`) - if (Duplicate !== null && Duplicate !== element) { - const DuplicateToggleButton = Duplicate.getElementsByClassName('avatarAction')[0] - DuplicateToggleButton.classList.toggle('btn-success') - DuplicateToggleButton.classList.toggle('btn-danger') - DuplicateToggleButton.children[0].classList.toggle('fa-plus') - DuplicateToggleButton.children[0].classList.toggle('fa-minus') - } - - LoadWearing() - UpdateAvatar() -} - -async function FetchMesh(id) { - if (id === null) {return null} - console.log('https://api.polytoria.com/v1/assets/serve-mesh/:id'.replace(':id', id)) - return fetch('https://api.polytoria.com/v1/assets/serve-mesh/:id'.replace(':id', id)) - .then(response => { - if (!response.ok) { - throw new Error('Network not ok') - } - return response.json() - }) - .then(data => { - console.log(data, 'finished', data.url) - return data.url - }) - .catch(error => { - console.log('Fetch error: ' + error) - }); -} - -async function FetchAsset(id) { - if (id === null) {return null} - return fetch('https://api.polytoria.com/v1/assets/serve/:id/Asset'.replace(':id', id)) - .then(response => { - if (!response.ok) { - throw new Error('Network not ok') - } - return response.json() - }) - .then(data => { - return data.url - }) - .catch(error => { - console.log('Fetch error: ' + error) - }); -} - -function LoadWearing() { - const WearingItems = [ - ...Avatar.items, - Avatar.shirt, - Avatar.pants, - Avatar.face - ].filter(item => item !== null && item !== undefined); - - Array.from(Wearing.children).forEach(element => { - const ItemID = element.getElementsByTagName('a')[0].href.split('/')[2] - if (!WearingItems.includes(ItemID)) { - element.remove(); - } - }); - - WearingItems.forEach(item => { - const ExistingElement = Wearing.querySelector(`[data-itemid="${item}"]`); - - if (!ExistingElement) { - fetch(`https://api.polytoria.com/v1/store/${item}`) - .then(response => { - if (!response.ok) { - throw new Error('Network not ok'); - } - return response.json(); - }) - .then(item => { - if (Wearing.innerHTML === 'No items to show.') { - Wearing.innerHTML = '' - } - let NewItemCard = document.createElement('div'); - NewItemCard.setAttribute('data-id', item.id) - NewItemCard.classList = 'col-auto'; - NewItemCard.innerHTML = ` -
-
-
- - - ${item.type.charAt(0).toUpperCase() + item.type.substring(1)} - - -
-
- -
${item.name}
-
- - by ${item.creator.name} - -
- ` - Wearing.appendChild(NewItemCard); - NewItemCard.getElementsByClassName('p-2')[0].addEventListener('click', function () { - WearAsset(NewItemCard, item); - }); - }) - .catch(error => { - console.log('Fetch error: ' + error); - }); - } - }); - - if (Array.from(Wearing.children).length === 0) { - Wearing.innerHTML = 'No items to show.' - } -} \ No newline at end of file +const UserID = JSON.parse(window.localStorage.getItem('p+account_info')).ID; +const BodyColors = [ + '#f8f8f8', + '#cdcdcd', + '#111111', + '#ff0000', + '#a34b4b', + '#ffc9c9', + '#957977', + '#c4281c', + '#da867a', + '#694028', + '#cc8e69', + '#a05f35', + '#7c5c46', + '#eab892', + '#da8541', + '#aa5500', + '#ffcc99', + '#e29b40', + '#ffaf00', + '#ffb000', + '#d7c59a', + '#f5cd30', + '#fdea8d', + '#e5e4df', + '#c1be42', + '#ffff00', + '#ffffcc', + '#a4bd47', + '#7f8e64', + '#a1c48c', + '#3a7d15', + '#4b974b', + '#00ff00', + '#ccffcc', + '#27462d', + '#287f47', + '#789082', + '#9ff3e9', + '#12eed4', + '#f2f3f3', + '#00ffff', + '#008f9c', + '#04afec', + '#80bbdb', + '#b4d2e4', + '#0d69ac', + '#1b2a35', + '#afddff', + '#6e99ca', + '#74869d', + '#2154b9', + '#002060', + '#0000ff', + '#b1a7ff', + '#a3a2a5', + '#6225d1', + '#b480ff', + '#8c5b9f', + '#6b327c', + '#aa00aa', + '#635f62', + '#ff00bf', + '#ff66cc', + '#e8bac8' +]; + +let PageContainer = document.querySelector('.container.p-0.p-lg-5'); +let ItemGrid; +let Wearing; +let Tabs; +let IFrame; +let TabSelected = 'hat'; +let Search; +let Page = 1; +let Avatar = { + useCharacter: true, + items: [24122], + shirt: 24118, + pants: 24123, + headColor: '#e0e0e0', + torsoColor: '#e0e0e0', + leftArmColor: '#e0e0e0', + rightArmColor: '#e0e0e0', + leftLegColor: '#e0e0e0', + rightLegColor: '#e0e0e0' +}; + +if (new URLSearchParams(window.location.search).has('sandbox')) { + console.log('Avatar Sandbox!'); + + LoadFile(chrome.runtime.getURL('resources/avatar-sandbox.html'), function (html) { + PageContainer.innerHTML = html; + ItemGrid = document.getElementById('inventory'); + Wearing = document.getElementById('wearing'); + Tabs = document.getElementById('tabs'); + IFrame = document.getElementById('viewFrame'); + + Search = document.getElementById('item-search'); + Search.addEventListener('onchange', function () { + RefreshItems(); + }); + + UpdateAvatar(); + RefreshItems(); + LoadWearing(); + + Array.from(Tabs.children).forEach((element) => { + element.addEventListener('click', function () { + let Link = element.getElementsByTagName('a')[0]; + if (!Link.classList.contains('active')) { + Link.classList.add('active'); + Tabs.querySelector(`[data-tab="${TabSelected}"]`).classList.remove('active'); + TabSelected = Link.getAttribute('data-tab'); + Page = 1; + RefreshItems(); + } + }); + }); + + let Clear = document.getElementById('clear'); + Clear.addEventListener('click', function () { + Avatar = { + useCharacter: true, + items: [24122], + shirt: 24118, + pants: 24123, + headColor: '#e0e0e0', + torsoColor: '#e0e0e0', + leftArmColor: '#e0e0e0', + rightArmColor: '#e0e0e0', + leftLegColor: '#e0e0e0', + rightLegColor: '#e0e0e0' + }; + UpdateAvatar(); + }); + + let Myself = document.getElementById('myself'); + Myself.addEventListener('click', function () { + LoadMyself(); + }); + + let JSONUpload = document.getElementById('jsonUpload'); + JSONUpload.addEventListener('change', function () { + let Reader = new FileReader(); + Reader.addEventListener('loadend', function () { + Avatar = JSON.parse(Reader.result); + UpdateAvatar(); + + JSONUpload.value = ''; + }); + + Reader.readAsText(JSONUpload.files[0]); + }); + + let JSONSave = document.getElementById('jsonSave'); + JSONSave.addEventListener('click', function () { + let Download = document.createElement('a'); + Download.href = URL.createObjectURL( + new Blob([JSON.stringify(Avatar)], { + type: 'application/json' + }) + ); + Download.setAttribute('download', 'AvatarSandbox.json'); + document.body.appendChild(Download); + Download.click(); + document.body.removeChild(Download); + }); + + let OpenInNewTab = document.getElementById('openNewTab'); + OpenInNewTab.addEventListener('click', function () { + UpdateAvatar(); + }); + + let LoadAsset = document.getElementById('load-asset'); + LoadAsset.addEventListener('click', async function () { + console.log('clickk'); + const MeshURL = (await (await fetch('https://api.polytoria.com/v1/assets/serve-mesh/' + LoadAsset.previousElementSibling.value)).json()).url; + Avatar.items.push(MeshURL); + UpdateAvatar(); + }); + }); +} else { + const SandboxButton = document.createElement('a'); + SandboxButton.classList = 'btn btn-outline-success w-100 mt-3'; + SandboxButton.href = '?sandbox=true'; + SandboxButton.innerHTML = ' Avatar Sandbox'; + document.getElementById('cont-move').parentElement.appendChild(SandboxButton); +} + +function UpdateAvatar() { + GenerateHash().then((hash) => { + IFrame.addEventListener('load', function () { + IFrame.src = 'https://polytoria.com/ptstatic/itemview/#' + hash; + }); + IFrame.src = 'about:blank'; + }); +} + +function LoadFile(path, callback) { + var xhr = new XMLHttpRequest(); + xhr.onload = function () { + return callback(this.responseText); + }; + xhr.open('GET', path, true); + xhr.send(); +} + +async function GenerateHash(data) { + if (!data) { + console.log('Data not provided'); + let FormattedAvatar = await FormatAvatar(); + return btoa(encodeURIComponent(JSON.stringify(FormattedAvatar))); + } else { + console.log('Data provided'); + return btoa(encodeURIComponent(JSON.stringify(data))); + } +} + +function RefreshItems() { + fetch(`https://api.polytoria.com/v1/store?search=${Search.value}&types%5B%5D=${TabSelected}&sort=createdAt&order=desc&page=${Page}&limit=12`) + .then((response) => { + if (!response.ok) { + throw new Error('Network response was not ok'); + } + return response.json(); + }) + .then((data) => { + Array.from(ItemGrid.children).forEach((element) => { + element.remove(); + }); + data = data.assets; + data.forEach((item) => { + let NewItemCard = document.createElement('div'); + NewItemCard.setAttribute('data-id', item.id); + NewItemCard.classList = 'col-auto'; + NewItemCard.innerHTML = ` +
+
+
+ + + ${item.type.charAt(0).toUpperCase() + item.type.substring(1)} + + +
+
+ +
${item.name}
+
+ + by ${item.creator.name} + +
+ `; + NewItemCard.getElementsByClassName('p-2')[0].addEventListener('click', function () { + WearAsset(NewItemCard, item); + }); + + ItemGrid.appendChild(NewItemCard); + }); + }) + .catch((error) => { + console.error('Fetch error:', error); + }); +} + +async function FormatAvatar() { + const FormattedAvatar = structuredClone(Avatar); + + // Hats, Tools: https://api.polytoria.com/v1/assets/serve-mesh/:id + // or: https://api.polytoria.com/v1/assets/serve/:id/Asset + + Avatar.items.forEach(async (item, index) => { + if (typeof item === 'number') { + console.log(item); + await FetchMesh(item) + .then((URL) => { + console.log('URL: ' + URL); + FormattedAvatar.items[index] = URL; + }) + .catch((error) => { + throw new Error(error); + }); + console.log('after url'); + //Avatar.items[index] = URL + } + }); + + if (typeof FormattedAvatar.tool === 'number') { + console.log(FormattedAvatar.tool); + FormattedAvatar.tool = await FetchMesh(FormattedAvatar.tool); + } + + if (FormattedAvatar.face && typeof FormattedAvatar.face === 'number') { + FormattedAvatar.face = await FetchAsset(FormattedAvatar.face); + } else { + FormattedAvatar.face = 'https://c0.ptacdn.com/static/3dview/DefaultFace.png'; + } + + if (typeof FormattedAvatar.shirt === 'number') { + FormattedAvatar.shirt = await FetchAsset(FormattedAvatar.shirt); + } + if (typeof FormattedAvatar.pants === 'number') { + FormattedAvatar.pants = await FetchAsset(FormattedAvatar.pants); + } + + console.log('Real Avatar: ', Avatar, 'Formatted: ', FormattedAvatar); + return FormattedAvatar; +} + +function LoadMyself() { + fetch('https://api.polytoria.com/v1/users/:id/avatar'.replace(':id', UserID)) + .then((response) => { + if (!response.ok) { + throw new Error('Network not ok'); + } + return response.json(); + }) + .then((data) => { + Avatar.items = []; + + data.assets.forEach((item) => { + switch (item.type) { + case 'hat': + Avatar.items.push(item.id); + break; + default: + Avatar[item.type] = item.id; + break; + } + }); + + Avatar.headColor = '#' + data.colors.head || '#cdcdcd'; + Avatar.torsoColor = '#' + data.colors.torso || '#cdcdcd'; + Avatar.leftArmColor = '#' + data.colors.leftArm || '#cdcdcd'; + Avatar.rightArmColor = '#' + data.colors.rightArm || '#cdcdcd'; + Avatar.leftLegColor = '#' + data.colors.leftLeg || '#cdcdcd'; + Avatar.rightLegColor = '#' + data.colors.rightLeg || '#cdcdcd'; + + UpdateAvatar(); + }) + .catch((error) => { + console.log(error); + }); +} + +function WearAsset(element, info) { + if (Avatar.items.indexOf(info.id) === -1 && Avatar[info.type] !== info.id) { + console.log('Equip', info); + switch (info.type) { + case 'hat': + Avatar.items.push(info.id); + break; + default: + Avatar[info.type] = info.id; + break; + } + } else { + console.log('unequip', info); + switch (info.type) { + case 'hat': + Avatar.items.splice(Avatar.items.indexOf(info.id), 1); + break; + case 'face': + Avatar.face = 'https://c0.ptacdn.com/static/3dview/DefaultFace.png'; + break; + default: + Avatar[info.type] = undefined; + break; + } + } + + const ToggleButton = element.getElementsByClassName('avatarAction')[0]; + ToggleButton.classList.toggle('btn-success'); + ToggleButton.classList.toggle('btn-danger'); + ToggleButton.children[0].classList.toggle('fa-plus'); + ToggleButton.children[0].classList.toggle('fa-minus'); + + const Duplicate = ItemGrid.querySelector(`[data-id="${info.id}"]`); + if (Duplicate !== null && Duplicate !== element) { + const DuplicateToggleButton = Duplicate.getElementsByClassName('avatarAction')[0]; + DuplicateToggleButton.classList.toggle('btn-success'); + DuplicateToggleButton.classList.toggle('btn-danger'); + DuplicateToggleButton.children[0].classList.toggle('fa-plus'); + DuplicateToggleButton.children[0].classList.toggle('fa-minus'); + } + + LoadWearing(); + UpdateAvatar(); +} + +async function FetchMesh(id) { + if (id === null) { + return null; + } + console.log('https://api.polytoria.com/v1/assets/serve-mesh/:id'.replace(':id', id)); + return fetch('https://api.polytoria.com/v1/assets/serve-mesh/:id'.replace(':id', id)) + .then((response) => { + if (!response.ok) { + throw new Error('Network not ok'); + } + return response.json(); + }) + .then((data) => { + console.log(data, 'finished', data.url); + return data.url; + }) + .catch((error) => { + console.log('Fetch error: ' + error); + }); +} + +async function FetchAsset(id) { + if (id === null) { + return null; + } + return fetch('https://api.polytoria.com/v1/assets/serve/:id/Asset'.replace(':id', id)) + .then((response) => { + if (!response.ok) { + throw new Error('Network not ok'); + } + return response.json(); + }) + .then((data) => { + return data.url; + }) + .catch((error) => { + console.log('Fetch error: ' + error); + }); +} + +function LoadWearing() { + const WearingItems = [...Avatar.items, Avatar.shirt, Avatar.pants, Avatar.face].filter((item) => item !== null && item !== undefined); + + Array.from(Wearing.children).forEach((element) => { + const ItemID = element.getElementsByTagName('a')[0].href.split('/')[2]; + if (!WearingItems.includes(ItemID)) { + element.remove(); + } + }); + + WearingItems.forEach((item) => { + const ExistingElement = Wearing.querySelector(`[data-itemid="${item}"]`); + + if (!ExistingElement) { + fetch(`https://api.polytoria.com/v1/store/${item}`) + .then((response) => { + if (!response.ok) { + throw new Error('Network not ok'); + } + return response.json(); + }) + .then((item) => { + if (Wearing.innerHTML === 'No items to show.') { + Wearing.innerHTML = ''; + } + let NewItemCard = document.createElement('div'); + NewItemCard.setAttribute('data-id', item.id); + NewItemCard.classList = 'col-auto'; + NewItemCard.innerHTML = ` +
+
+
+ + + ${item.type.charAt(0).toUpperCase() + item.type.substring(1)} + + +
+
+ +
${item.name}
+
+ + by ${item.creator.name} + +
+ `; + Wearing.appendChild(NewItemCard); + NewItemCard.getElementsByClassName('p-2')[0].addEventListener('click', function () { + WearAsset(NewItemCard, item); + }); + }) + .catch((error) => { + console.log('Fetch error: ' + error); + }); + } + }); + + if (Array.from(Wearing.children).length === 0) { + Wearing.innerHTML = 'No items to show.'; + } +} diff --git a/js/account/friends.js b/js/account/friends.js index 16ef210..bcb62c5 100755 --- a/js/account/friends.js +++ b/js/account/friends.js @@ -1,210 +1,210 @@ -var SelectedFriends = [] - -chrome.storage.sync.get(['PolyPlus_Settings'], function(result){ - Settings = result.PolyPlus_Settings; - if (Settings.ImprovedFrListsOn === true) { - var Tab = "requests" - - var FriendsContainer = document.getElementById('friends-container') - var Container = document.createElement('div') - Container.classList = 'row mb-3' - Container.innerHTML = ` -
-
- ` - FriendsContainer.parentElement.insertBefore(Container, FriendsContainer) - var AccAllFrBtn = document.getElementById('AccAllFrBtn') - var DelAllFrBtn = document.getElementById('DelAllFrBtn') - var AccBtns = document.querySelectorAll('[onclick="acceptFriendRequest(this)"]') - var DelBtns = document.querySelectorAll('[onclick="declineFriendRequest(this)"]') - if (!(AccBtns.length === 0)) { - AccAllFrBtn.addEventListener('click', function(){ - AccBtns.forEach(element => { - setTimeout(function () {}, 145) - fetch('https://polytoria.com/api/friends/send', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'X-CSRF-Token': document.querySelector('input[name="_csrf"]').value - }, - body: JSON.stringify({ userID: parseInt(element.getAttribute('data-user-id')) }), - }) - .catch(error => { - // Handle any errors - console.error('Error:', error); - Success = false - }); - - /* - let NewAcceptBtn = document.createElement('a') - NewAcceptBtn.style.display = 'none' - sNewAcceptBtn.classList = 'btn btn-success' - NewAcceptBtn.setAttribute('data-user-id', element.getAttribute('data-user-id')) - NewAcceptBtn.setAttribute('onclick', 'acceptFriendRequest(this)') - FriendsContainer.appendChild(NewAcceptBtn) - NewAcceptBtn.click(); - */ - }) - }); - } else { - AccAllFrBtn.setAttribute('disabled', 'true') - } - if (!(DelBtns.length === 0)) { - DelAllFrBtn.addEventListener('click', function(){ - DelBtns.forEach(element => { - setTimeout(function () {}, 110) - fetch('https://polytoria.com/api/friends/remove', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'X-CSRF-Token': document.querySelector('input[name="_csrf"]').value - }, - body: JSON.stringify({ userID: parseInt(element.getAttribute('data-user-id')) }), - }) - .catch(error => { - // Handle any errors - console.error('Error:', error, document.querySelector('input[name="_csrf"]').value); - Success = false - }); - - /* - let NewDeclineBtn = document.createElement('a') - NewDeclineBtn.style.display = 'none' - NewDeclineBtn.classList = 'btn btn-danger' - NewDeclineBtn.setAttribute('data-user-id', element.getAttribute('data-user-id')) - NewDeclineBtn.setAttribute('onclick', 'declineFriendRequest(this)') - FriendsContainer.appendChild(NewDeclineBtn) - NewDeclineBtn.click(); - */ - }) - }); - } else { - DelAllFrBtn.setAttribute('disabled', 'true') - } - let Text = document.createElement('p') - Text.classList = 'mx-auto' - Text.style.textAlign = 'center' - Text.style.fontSize = '1.3rem' - Text.style.display = 'none' - Text.innerHTML = ` - 0 friends selected! -
- - - - ` - FriendsContainer.parentElement.insertBefore(Text, FriendsContainer) - let Text_Span = Text.querySelector('span'); - let Text_View = document.getElementById('viewSelectionBtn'); - let Text_Clear = document.getElementById('clearSelectionBtn'); - let Text_Remove = document.getElementById('removeSelectionBtn'); - document.querySelector('[data-friends-tab="requests"]').addEventListener('click', function(){ - Tab = "requests" - Container.style.display = ''; - Text.style.display = 'none'; - document.querySelectorAll('input[type="check"]').forEach(element => {element.remove();}); - }); - document.querySelector('[data-friends-tab="friends"]').addEventListener('click', function(){ - Tab = "friends" - Container.style.display = 'none'; - Text.style.display = ''; - }); - var ConfirmRemove = 0 - Text_View.addEventListener('click', function(){}); - Text_Clear.addEventListener('click', function(){ - SelectedFriends = [] - UpdateCheckboxes(); - Text_Span.innerText = SelectedFriends.length - }); - Text_Remove.addEventListener('click', function(){ - ConfirmRemove = ConfirmRemove + 1 - switch(ConfirmRemove) { - case 0: - Text_Remove.innerText = 'Remove Selected Friends' - break - case 1: - Text_Remove.innerText = 'Are you sure?' - break - case 2: - for (let i = 0; i < SelectedFriends.length; i++) { - setTimeout(function () {}, 110) - let NewDeclineBtn = document.createElement('a') - NewDeclineBtn.style.display = 'none' - NewDeclineBtn.classList = 'btn btn-danger' - NewDeclineBtn.setAttribute('data-user-id', SelectedFriends[i]) - NewDeclineBtn.setAttribute('onclick', 'declineFriendRequest(this)') - FriendsContainer.appendChild(NewDeclineBtn) - NewDeclineBtn.click(); - } - SelectedFriends = [] - UpdateCheckboxes(); - Text_Remove.innerText = 'Remove Selected Friends' - ConfirmRemove = 0 - break - } - }); - - const observer = new MutationObserver(function (){ - if (FriendsContainer.children.length > 0 && Tab === "friends") { - LoadCheckBoxes(); - } - }); - observer.observe(FriendsContainer, {childList: true, subtree: false}); - - function LoadCheckBoxes() { - Array.from(FriendsContainer.children).forEach(element => { - let DeclineBtn = element.querySelector('a.btn.btn-danger') - let UserID = DeclineBtn.getAttribute('data-user-id') - let Column = document.createElement('div') - let EditColumn = element.querySelector('.col-9') - Column.classList = 'col-auto' - var NewCheckBox = document.createElement('button') - NewCheckBox.classList = 'polyplus-multiremovefr-checkbox' - NewCheckBox.setAttribute('style', 'padding: 20px; background-color: #191919; border: 1px solid #393939; border-radius: 1rem;') - var Index = SelectedFriends.indexOf(UserID) - if (Index !== -1) { - DeclineBtn.classList.add('disabled') - NewCheckBox.style.borderColor = 'lime' - } - EditColumn.classList.remove('col-9') - EditColumn.classList.add('col') - Column.appendChild(NewCheckBox) - EditColumn.parentElement.appendChild(Column) - NewCheckBox.addEventListener('click', function(){ - var Index = SelectedFriends.indexOf(UserID) - if (Index === -1) { - DeclineBtn.classList.add('disabled') - SelectedFriends.push(UserID) - NewCheckBox.style.borderColor = 'lime' - } else { - SelectedFriends.splice(Index, 1) - NewCheckBox.style.borderColor = '#393939' - DeclineBtn.classList.remove('disabled') - } - Text_Span.innerText = SelectedFriends.length - UpdateCheckboxes(); - }); - }); - } - - function UpdateCheckboxes(){ - document.querySelectorAll('.polyplus-multiremovefr-checkbox').forEach(element => { - let Parent = element.parentElement.parentElement.parentElement.parentElement.parentElement - let DeclineBtn = Parent.querySelector('a.btn.btn-danger') - if (element.getAttribute('disabled')) { - element.removeAttribute('disabled') - } - if (SelectedFriends.IndexOf(DeclineBtn.getAttribute('data-user-id')) === -1) { - element.style.borderColor = '#393939' - DeclineBtn.classList.remove('disabled') - if (SelectedFriends.length >= 25) { - element.setAttribute('disabled', true) - } - } else { - DeclineBtn.classList.add('disabled') - element.style.borderColor = 'lime' - } - }) - } - } -}); \ No newline at end of file +var SelectedFriends = []; + +chrome.storage.sync.get(['PolyPlus_Settings'], function (result) { + Settings = result.PolyPlus_Settings; + if (Settings.ImprovedFrListsOn === true) { + var Tab = 'requests'; + + var FriendsContainer = document.getElementById('friends-container'); + var Container = document.createElement('div'); + Container.classList = 'row mb-3'; + Container.innerHTML = ` +
+
+ `; + FriendsContainer.parentElement.insertBefore(Container, FriendsContainer); + var AccAllFrBtn = document.getElementById('AccAllFrBtn'); + var DelAllFrBtn = document.getElementById('DelAllFrBtn'); + var AccBtns = document.querySelectorAll('[onclick="acceptFriendRequest(this)"]'); + var DelBtns = document.querySelectorAll('[onclick="declineFriendRequest(this)"]'); + if (!(AccBtns.length === 0)) { + AccAllFrBtn.addEventListener('click', function () { + AccBtns.forEach((element) => { + setTimeout(function () {}, 145); + fetch('https://polytoria.com/api/friends/send', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-CSRF-Token': document.querySelector('input[name="_csrf"]').value + }, + body: JSON.stringify({userID: parseInt(element.getAttribute('data-user-id'))}) + }).catch((error) => { + // Handle any errors + console.error('Error:', error); + Success = false; + }); + + /* + let NewAcceptBtn = document.createElement('a') + NewAcceptBtn.style.display = 'none' + sNewAcceptBtn.classList = 'btn btn-success' + NewAcceptBtn.setAttribute('data-user-id', element.getAttribute('data-user-id')) + NewAcceptBtn.setAttribute('onclick', 'acceptFriendRequest(this)') + FriendsContainer.appendChild(NewAcceptBtn) + NewAcceptBtn.click(); + */ + }); + }); + } else { + AccAllFrBtn.setAttribute('disabled', 'true'); + } + if (!(DelBtns.length === 0)) { + DelAllFrBtn.addEventListener('click', function () { + DelBtns.forEach((element) => { + setTimeout(function () {}, 110); + fetch('https://polytoria.com/api/friends/remove', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-CSRF-Token': document.querySelector('input[name="_csrf"]').value + }, + body: JSON.stringify({userID: parseInt(element.getAttribute('data-user-id'))}) + }).catch((error) => { + // Handle any errors + console.error('Error:', error, document.querySelector('input[name="_csrf"]').value); + Success = false; + }); + + /* + let NewDeclineBtn = document.createElement('a') + NewDeclineBtn.style.display = 'none' + NewDeclineBtn.classList = 'btn btn-danger' + NewDeclineBtn.setAttribute('data-user-id', element.getAttribute('data-user-id')) + NewDeclineBtn.setAttribute('onclick', 'declineFriendRequest(this)') + FriendsContainer.appendChild(NewDeclineBtn) + NewDeclineBtn.click(); + */ + }); + }); + } else { + DelAllFrBtn.setAttribute('disabled', 'true'); + } + let Text = document.createElement('p'); + Text.classList = 'mx-auto'; + Text.style.textAlign = 'center'; + Text.style.fontSize = '1.3rem'; + Text.style.display = 'none'; + Text.innerHTML = ` + 0 friends selected! +
+ + + + `; + FriendsContainer.parentElement.insertBefore(Text, FriendsContainer); + let Text_Span = Text.querySelector('span'); + let Text_View = document.getElementById('viewSelectionBtn'); + let Text_Clear = document.getElementById('clearSelectionBtn'); + let Text_Remove = document.getElementById('removeSelectionBtn'); + document.querySelector('[data-friends-tab="requests"]').addEventListener('click', function () { + Tab = 'requests'; + Container.style.display = ''; + Text.style.display = 'none'; + document.querySelectorAll('input[type="check"]').forEach((element) => { + element.remove(); + }); + }); + document.querySelector('[data-friends-tab="friends"]').addEventListener('click', function () { + Tab = 'friends'; + Container.style.display = 'none'; + Text.style.display = ''; + }); + var ConfirmRemove = 0; + Text_View.addEventListener('click', function () {}); + Text_Clear.addEventListener('click', function () { + SelectedFriends = []; + UpdateCheckboxes(); + Text_Span.innerText = SelectedFriends.length; + }); + Text_Remove.addEventListener('click', function () { + ConfirmRemove = ConfirmRemove + 1; + switch (ConfirmRemove) { + case 0: + Text_Remove.innerText = 'Remove Selected Friends'; + break; + case 1: + Text_Remove.innerText = 'Are you sure?'; + break; + case 2: + for (let i = 0; i < SelectedFriends.length; i++) { + setTimeout(function () {}, 110); + let NewDeclineBtn = document.createElement('a'); + NewDeclineBtn.style.display = 'none'; + NewDeclineBtn.classList = 'btn btn-danger'; + NewDeclineBtn.setAttribute('data-user-id', SelectedFriends[i]); + NewDeclineBtn.setAttribute('onclick', 'declineFriendRequest(this)'); + FriendsContainer.appendChild(NewDeclineBtn); + NewDeclineBtn.click(); + } + SelectedFriends = []; + UpdateCheckboxes(); + Text_Remove.innerText = 'Remove Selected Friends'; + ConfirmRemove = 0; + break; + } + }); + + const observer = new MutationObserver(function () { + if (FriendsContainer.children.length > 0 && Tab === 'friends') { + LoadCheckBoxes(); + } + }); + observer.observe(FriendsContainer, {childList: true, subtree: false}); + + function LoadCheckBoxes() { + Array.from(FriendsContainer.children).forEach((element) => { + let DeclineBtn = element.querySelector('a.btn.btn-danger'); + let UserID = DeclineBtn.getAttribute('data-user-id'); + let Column = document.createElement('div'); + let EditColumn = element.querySelector('.col-9'); + Column.classList = 'col-auto'; + var NewCheckBox = document.createElement('button'); + NewCheckBox.classList = 'polyplus-multiremovefr-checkbox'; + NewCheckBox.setAttribute('style', 'padding: 20px; background-color: #191919; border: 1px solid #393939; border-radius: 1rem;'); + var Index = SelectedFriends.indexOf(UserID); + if (Index !== -1) { + DeclineBtn.classList.add('disabled'); + NewCheckBox.style.borderColor = 'lime'; + } + EditColumn.classList.remove('col-9'); + EditColumn.classList.add('col'); + Column.appendChild(NewCheckBox); + EditColumn.parentElement.appendChild(Column); + NewCheckBox.addEventListener('click', function () { + var Index = SelectedFriends.indexOf(UserID); + if (Index === -1) { + DeclineBtn.classList.add('disabled'); + SelectedFriends.push(UserID); + NewCheckBox.style.borderColor = 'lime'; + } else { + SelectedFriends.splice(Index, 1); + NewCheckBox.style.borderColor = '#393939'; + DeclineBtn.classList.remove('disabled'); + } + Text_Span.innerText = SelectedFriends.length; + UpdateCheckboxes(); + }); + }); + } + + function UpdateCheckboxes() { + document.querySelectorAll('.polyplus-multiremovefr-checkbox').forEach((element) => { + let Parent = element.parentElement.parentElement.parentElement.parentElement.parentElement; + let DeclineBtn = Parent.querySelector('a.btn.btn-danger'); + if (element.getAttribute('disabled')) { + element.removeAttribute('disabled'); + } + if (SelectedFriends.IndexOf(DeclineBtn.getAttribute('data-user-id')) === -1) { + element.style.borderColor = '#393939'; + DeclineBtn.classList.remove('disabled'); + if (SelectedFriends.length >= 25) { + element.setAttribute('disabled', true); + } + } else { + DeclineBtn.classList.add('disabled'); + element.style.borderColor = 'lime'; + } + }); + } + } +}); diff --git a/js/account/home.js b/js/account/home.js index 8f5467f..9730367 100755 --- a/js/account/home.js +++ b/js/account/home.js @@ -1,215 +1,218 @@ -/* -this file needs a rewrite by me lol -*/ - -var Settings; -var PinnedGamesData -var BestFriendsData - -let Utilities; - -chrome.storage.sync.get(['PolyPlus_Settings'], async function(result) { - Settings = result.PolyPlus_Settings || Utilities.DefaultSettings - - if (Settings.IRLPriceWithCurrency.Enabled === true) { - IRLPrice() - } - - if (Settings.HomeFriendCountOn === true) { - ShowFriendCount() - } - - if (Settings.PinnedGamesOn === true || Settings.BestFriendsOn === true) { - Update() - } -}); - -let ContainerElement = ` -
`; -let GameContainerElement = ` -
-
-
- -
- - - :Likes - - | - - - :Dislikes - -
-
-
-
- :GameName -
-
-
-
-`; -let TitleElement = ` -
-
Jump right back into your favorite games
-
Pinned Games
-
`; -var FriendContainer = document.querySelector('.card:has(.friendsPopup) .card-body') - -let NewContainer = document.createElement('div'); -NewContainer.style.display = 'none' -NewContainer.classList = 'card card-dash mcard'; -NewContainer.style.animationDelay = '0.18s'; -NewContainer.innerHTML = ContainerElement; - -let NewTitle = document.createElement('div'); -NewTitle.style.display = 'none' -NewTitle.classList = 'row reqFadeAnim px-2 px-lg-0'; -NewTitle.innerHTML = TitleElement; - -let BestFriendsContainer = document.createElement('div') -BestFriendsContainer.classList = 'd-flex' -BestFriendsContainer.style = 'display: none; border-bottom: 1px solid #000; padding-bottom: 10px; margin-bottom: 10px; width: 100%;' - -let Spacer = document.createElement('div') -Spacer.innerHTML = ' ' -Spacer.style.width = '50px' -Spacer.prepend(BestFriendsContainer) - -FriendContainer.prepend(BestFriendsContainer) - -async function Update() { - chrome.storage.sync.get(['PolyPlus_PinnedGames'], function(result) { - PinnedGamesData = result.PolyPlus_PinnedGames || []; - - if (Settings.PinnedGamesOn === true) { - PinnedGames() - } else { - NewContainer.style.display = 'none' - NewTitle.style.display = 'none' - } - }); - - chrome.storage.sync.get(['PolyPlus_BestFriends'], function(result) { - BestFriendsData = result.PolyPlus_BestFriends || []; - - if (Settings.BestFriendsOn === true) { - BestFriends(); - } else { - BestFriendsContainer.style.display = 'none' - Spacer.style.display = 'none' - } - }); -} - -function PinnedGames() { - var Existing = NewContainer.children[0].children - Array.from(Existing).forEach(element => { - element.remove(); - }); - - if (PinnedGamesData.length === 0) { - NewContainer.style.display = 'none' - NewTitle.style.display = 'none' - } else { - NewContainer.style.display = '' - NewTitle.style.display = '' - } - - PinnedGamesData.forEach(element => { - fetch('https://api.polytoria.com/v1/places/' + element) - .then(response => response.json()) - .then(data => { - let GameName = data.name; - let GameThumbnail = data.thumbnail; - - var NewGameContainer = document.createElement('a'); - NewGameContainer.innerHTML = GameContainerElement.replace(':GameName',GameName).replace(':Thumbnail',GameThumbnail).replace(':Likes', data.rating.likes).replace(':Dislikes', data.rating.dislikes); - NewGameContainer.href = '/places/' + element - - /* - if (new Date().getDate() >= new Date(data.updatedAt).getDate()) { - console.log('Game has updated') - } - */ - - NewContainer.children[0].appendChild(NewGameContainer); - }) - .catch(error => { - console.error('Error:', error); - }); - }); -} - -function BestFriends() { - Array.from(document.querySelectorAll('[bestFriend]')).forEach(element => { - element.removeAttribute('bestFriend') - element.getElementsByClassName('friend-name')[0].style.color = 'initial'; - FriendContainer.appendChild(element) - }); - - if (BestFriendsData.length === 0) { - BestFriendsContainer.style.visibility = 'hidden' - BestFriendsContainer.style.padding = '0px !important' - BestFriendsContainer.style.margin = '0px !important' - } else { - BestFriendsContainer.style.visibility = 'visible' - BestFriendsContainer.style.padding = '' - BestFriendsContainer.style.margin = '' - } - - BestFriendsData.forEach(element => { - let ExistingFriend = document.getElementById('friend-' + element) - if (ExistingFriend) { - ExistingFriend.setAttribute('bestFriend', 'true') - ExistingFriend.getElementsByClassName('friend-name')[0].style.color = 'yellow'; - BestFriendsContainer.prepend(ExistingFriend) - } - }); -} - -var SecondaryColumn = document.getElementsByClassName('col-lg-8')[0] -SecondaryColumn.insertBefore(NewContainer, SecondaryColumn.children[0]); -SecondaryColumn.insertBefore(NewTitle, SecondaryColumn.children[0]); - -async function IRLPrice() { - (async () => { - Utilities = await import(chrome.runtime.getURL('resources/utils.js')); - Utilities = Utilities.default - - const TrendingItems = document.getElementById('home-trendingItems') - for (let item of TrendingItems.children[1].getElementsByClassName('d-flex')[0].children) { - const Price = item.getElementsByClassName('text-success')[0] - if (Price !== undefined) { - const IRLResult = await Utilities.CalculateIRL(Price.innerText, Settings.IRLPriceWithCurrency.Currency) - - let Span = document.createElement('span') - Span.classList = 'text-muted polyplus-price-tag' - Span.style = 'font-size: 0.7rem; font-weight: lighter;' - Span.innerText = "($" + IRLResult.result + " " + IRLResult.display + ")" - Price.appendChild(Span) - } - } - })(); -} - -async function ShowFriendCount() { - let FriendCount = (await (await fetch('https://polytoria.com/api/friends?page=1')).json()).meta.total - /* - const FirstPage = (await (await fetch('https://polytoria.com/api/friends?page=1')).json()) - if (FirstPage.meta.lastPage > 1) { - const LastPage = (await (await fetch('https://polytoria.com/api/friends?page=' + Pages)).json()) - FriendCount = (12*(FirstPage.meta.pages-1)) + LastPage.data.length - } else { - FriendCount = FirstPage.data.length - } - */ - - const CountText = document.createElement('small') - CountText.classList = 'text-muted fw-lighter' - CountText.style.fontSize = '0.8rem' - CountText.innerText = ' (' + FriendCount + ')' - document.querySelector('#home-friendsOnline h5').appendChild(CountText) -} \ No newline at end of file +/* +this file needs a rewrite by me lol +*/ + +var Settings; +var PinnedGamesData; +var BestFriendsData; + +let Utilities; + +chrome.storage.sync.get(['PolyPlus_Settings'], async function (result) { + Settings = result.PolyPlus_Settings || Utilities.DefaultSettings; + + if (Settings.IRLPriceWithCurrency.Enabled === true) { + IRLPrice(); + } + + if (Settings.HomeFriendCountOn === true) { + ShowFriendCount(); + } + + if (Settings.PinnedGamesOn === true || Settings.BestFriendsOn === true) { + Update(); + } +}); + +let ContainerElement = ` +
`; +let GameContainerElement = ` +
+
+
+ +
+ + + :Likes + + | + + + :Dislikes + +
+
+
+
+ :GameName +
+
+
+
+`; +let TitleElement = ` +
+
Jump right back into your favorite games
+
Pinned Games
+
`; +var FriendContainer = document.querySelector('.card:has(.friendsPopup) .card-body'); + +let NewContainer = document.createElement('div'); +NewContainer.style.display = 'none'; +NewContainer.classList = 'card card-dash mcard'; +NewContainer.style.animationDelay = '0.18s'; +NewContainer.innerHTML = ContainerElement; + +let NewTitle = document.createElement('div'); +NewTitle.style.display = 'none'; +NewTitle.classList = 'row reqFadeAnim px-2 px-lg-0'; +NewTitle.innerHTML = TitleElement; + +let BestFriendsContainer = document.createElement('div'); +BestFriendsContainer.classList = 'd-flex'; +BestFriendsContainer.style = 'display: none; border-bottom: 1px solid #000; padding-bottom: 10px; margin-bottom: 10px; width: 100%;'; + +let Spacer = document.createElement('div'); +Spacer.innerHTML = ' '; +Spacer.style.width = '50px'; +Spacer.prepend(BestFriendsContainer); + +FriendContainer.prepend(BestFriendsContainer); + +async function Update() { + chrome.storage.sync.get(['PolyPlus_PinnedGames'], function (result) { + PinnedGamesData = result.PolyPlus_PinnedGames || []; + + if (Settings.PinnedGamesOn === true) { + PinnedGames(); + } else { + NewContainer.style.display = 'none'; + NewTitle.style.display = 'none'; + } + }); + + chrome.storage.sync.get(['PolyPlus_BestFriends'], function (result) { + BestFriendsData = result.PolyPlus_BestFriends || []; + + if (Settings.BestFriendsOn === true) { + BestFriends(); + } else { + BestFriendsContainer.style.display = 'none'; + Spacer.style.display = 'none'; + } + }); +} + +function PinnedGames() { + var Existing = NewContainer.children[0].children; + Array.from(Existing).forEach((element) => { + element.remove(); + }); + + if (PinnedGamesData.length === 0) { + NewContainer.style.display = 'none'; + NewTitle.style.display = 'none'; + } else { + NewContainer.style.display = ''; + NewTitle.style.display = ''; + } + + PinnedGamesData.forEach((element) => { + fetch('https://api.polytoria.com/v1/places/' + element) + .then((response) => response.json()) + .then((data) => { + let GameName = data.name; + let GameThumbnail = data.thumbnail; + + var NewGameContainer = document.createElement('a'); + NewGameContainer.innerHTML = GameContainerElement.replace(':GameName', GameName) + .replace(':Thumbnail', GameThumbnail) + .replace(':Likes', data.rating.likes) + .replace(':Dislikes', data.rating.dislikes); + NewGameContainer.href = '/places/' + element; + + /* + if (new Date().getDate() >= new Date(data.updatedAt).getDate()) { + console.log('Game has updated') + } + */ + + NewContainer.children[0].appendChild(NewGameContainer); + }) + .catch((error) => { + console.error('Error:', error); + }); + }); +} + +function BestFriends() { + Array.from(document.querySelectorAll('[bestFriend]')).forEach((element) => { + element.removeAttribute('bestFriend'); + element.getElementsByClassName('friend-name')[0].style.color = 'initial'; + FriendContainer.appendChild(element); + }); + + if (BestFriendsData.length === 0) { + BestFriendsContainer.style.visibility = 'hidden'; + BestFriendsContainer.style.padding = '0px !important'; + BestFriendsContainer.style.margin = '0px !important'; + } else { + BestFriendsContainer.style.visibility = 'visible'; + BestFriendsContainer.style.padding = ''; + BestFriendsContainer.style.margin = ''; + } + + BestFriendsData.forEach((element) => { + let ExistingFriend = document.getElementById('friend-' + element); + if (ExistingFriend) { + ExistingFriend.setAttribute('bestFriend', 'true'); + ExistingFriend.getElementsByClassName('friend-name')[0].style.color = 'yellow'; + BestFriendsContainer.prepend(ExistingFriend); + } + }); +} + +var SecondaryColumn = document.getElementsByClassName('col-lg-8')[0]; +SecondaryColumn.insertBefore(NewContainer, SecondaryColumn.children[0]); +SecondaryColumn.insertBefore(NewTitle, SecondaryColumn.children[0]); + +async function IRLPrice() { + (async () => { + Utilities = await import(chrome.runtime.getURL('resources/utils.js')); + Utilities = Utilities.default; + + const TrendingItems = document.getElementById('home-trendingItems'); + for (let item of TrendingItems.children[1].getElementsByClassName('d-flex')[0].children) { + const Price = item.getElementsByClassName('text-success')[0]; + if (Price !== undefined) { + const IRLResult = await Utilities.CalculateIRL(Price.innerText, Settings.IRLPriceWithCurrency.Currency); + + let Span = document.createElement('span'); + Span.classList = 'text-muted polyplus-price-tag'; + Span.style = 'font-size: 0.7rem; font-weight: lighter;'; + Span.innerText = '($' + IRLResult.result + ' ' + IRLResult.display + ')'; + Price.appendChild(Span); + } + } + })(); +} + +async function ShowFriendCount() { + let FriendCount = (await (await fetch('https://polytoria.com/api/friends?page=1')).json()).meta.total; + /* + const FirstPage = (await (await fetch('https://polytoria.com/api/friends?page=1')).json()) + if (FirstPage.meta.lastPage > 1) { + const LastPage = (await (await fetch('https://polytoria.com/api/friends?page=' + Pages)).json()) + FriendCount = (12*(FirstPage.meta.pages-1)) + LastPage.data.length + } else { + FriendCount = FirstPage.data.length + } + */ + + const CountText = document.createElement('small'); + CountText.classList = 'text-muted fw-lighter'; + CountText.style.fontSize = '0.8rem'; + CountText.innerText = ' (' + FriendCount + ')'; + document.querySelector('#home-friendsOnline h5').appendChild(CountText); +} diff --git a/js/account/inbox.js b/js/account/inbox.js index 53a4c23..0799bed 100644 --- a/js/account/inbox.js +++ b/js/account/inbox.js @@ -1,47 +1,47 @@ -ExpandMessages() +ExpandMessages(); function ExpandMessages() { - const Messages = document.getElementById('messages') + const Messages = document.getElementById('messages'); - for (let message of Messages.children) { - let Expanded = false - let ContentDiv = null + for (let message of Messages.children) { + let Expanded = false; + let ContentDiv = null; - const ViewButton = message.querySelector('a.btn[href^="/inbox/messages"]') - const MessageID = ViewButton.getAttribute('href').split('/')[3] + const ViewButton = message.querySelector('a.btn[href^="/inbox/messages"]'); + const MessageID = ViewButton.getAttribute('href').split('/')[3]; - const ExpandButton = document.createElement('button') - ExpandButton.classList = 'btn btn-outline-warning px-4 mt-1' - ExpandButton.innerText = 'Expand' - ViewButton.parentElement.appendChild(ExpandButton) + const ExpandButton = document.createElement('button'); + ExpandButton.classList = 'btn btn-outline-warning px-4 mt-1'; + ExpandButton.innerText = 'Expand'; + ViewButton.parentElement.appendChild(ExpandButton); - ExpandButton.addEventListener('click', function(){ - if (ContentDiv === null) { - fetch('https://polytoria.com/inbox/messages/'+MessageID) - .then(response => { - if (!response.ok) { - throw new Error('Network not ok') - } - return response.text() - }) - .then(data => { - const Doc = new DOMParser().parseFromString(data, 'text/html') - const MessageContent = Doc.querySelector('p.mb-0').innerText - - ContentDiv = document.createElement('div') - ContentDiv.classList = 'py-2' - ContentDiv.innerText = MessageContent - message.appendChild(ContentDiv) - }) - .catch(error => { - console.log(error) - }); - } + ExpandButton.addEventListener('click', function () { + if (ContentDiv === null) { + fetch('https://polytoria.com/inbox/messages/' + MessageID) + .then((response) => { + if (!response.ok) { + throw new Error('Network not ok'); + } + return response.text(); + }) + .then((data) => { + const Doc = new DOMParser().parseFromString(data, 'text/html'); + const MessageContent = Doc.querySelector('p.mb-0').innerText; - Expanded = !Expanded + ContentDiv = document.createElement('div'); + ContentDiv.classList = 'py-2'; + ContentDiv.innerText = MessageContent; + message.appendChild(ContentDiv); + }) + .catch((error) => { + console.log(error); + }); + } - ExpandButton.innerText = (Expanded === false) ? 'Expand' : 'Minimize' - ContentDiv.style.display = (Expanded === false) ? 'none' : 'block' - }); - } -} \ No newline at end of file + Expanded = !Expanded; + + ExpandButton.innerText = Expanded === false ? 'Expand' : 'Minimize'; + ContentDiv.style.display = Expanded === false ? 'none' : 'block'; + }); + } +} diff --git a/js/account/inventory.js b/js/account/inventory.js index 58bf9a8..49b8c56 100755 --- a/js/account/inventory.js +++ b/js/account/inventory.js @@ -1,186 +1,198 @@ -if (window.location.pathname.split('/')[3] === "inventory") { - const UserID = window.location.pathname.split('/')[2] - if (UserID === JSON.parse(window.localStorage.getItem('p+account_info')).ID) { - let Nav = document.getElementsByClassName('nav-pills')[0] - let WishlistNav = document.createElement('li') - WishlistNav.classList.add('nav-item') - WishlistNav.innerHTML = ` - - - Item Wishlist - - ` - Nav.appendChild(WishlistNav) - - if (window.location.pathname.split('/')[4] === "wishlist") { - const ItemGrid = document.getElementsByClassName('itemgrid')[0] - const ItemCardContents = ` - -
- :LimitedTag -
- -
-
-
- :ItemName -
-
- - by :CreatorName - - - ` - - Array.from(ItemGrid.children).forEach(element => { - element.remove(); - }); - Array.from(Nav.children).forEach(element => { - element = element.children[0] - if (!(element === WishlistNav)) { - if (element.classList.contains('active')) { - element.classList.remove('active') - } - } - }); - WishlistNav.children[0].classList.add('active') - const Search = document.createElement('div') - Search.classList = 'row' - Search.innerHTML = ` -
- -
-
- -
-
-
- - -
-
-
-
- - -
-
- ` - ItemGrid.parentElement.prepend(document.createElement('br'), ItemGrid.parentElement.children[0]) - ItemGrid.parentElement.prepend(Search, ItemGrid.parentElement.children[0]) - - let Type = document.getElementById('polyplus-itemwish-type') - let SearchBar = document.getElementById('polyplus-itemwish-searchbar') - let IsLimited = document.getElementById('polyplus-itemwish-isLimited') - let IsAvailable = document.getElementById('polyplus-itemwish-isAvailable') - - Type.addEventListener('change', function(){ - Update(Type.options[Type.selectedIndex].value, SearchBar.value, IsLimited.checked, IsAvailable.checked) - }); - - SearchBar.addEventListener('change', function(){ - Update(Type.options[Type.selectedIndex].value, SearchBar.value, IsLimited.checked, IsAvailable.checked) - }); - - IsLimited.addEventListener('change', function(){ - Update(Type.options[Type.selectedIndex].value, SearchBar.value, IsLimited.checked, IsAvailable.checked) - }); - - IsAvailable.addEventListener('change', function(){ - Update(Type.options[Type.selectedIndex].value, SearchBar.value, IsLimited.checked, IsAvailable.checked) - }); - - chrome.storage.sync.get(['PolyPlus_ItemWishlist'], function(result){ - let Wishlist = result.PolyPlus_ItemWishlist || []; - console.log('wishlist: ', Wishlist) - Wishlist.forEach(element => { - let NewItemCard = document.createElement('div') - NewItemCard.classList = 'px-0' - fetch('https://api.polytoria.com/v1/store/:id'.replace(':id', element)) - .then(response => response.json()) - .then(data => { - NewItemCard.innerHTML = ItemCardContents.replace(':ItemID', data.id).replace(':ItemThumbnail', data.thumbnail).replace(':ItemName', data.name).replace(':CreatorID', data.creator.id).replace(':CreatorName', data.creator.name) - if (data.isLimited === true) { - NewItemCard.innerHTML = NewItemCard.innerHTML.replace(':LimitedTag', '
Limited
') - } else { - NewItemCard.innerHTML = NewItemCard.innerHTML.replace(':LimitedTag', '') - } - NewItemCard.setAttribute('data-id', data.id) - NewItemCard.setAttribute('data-name', data.name) - NewItemCard.setAttribute('data-type', data.type) - NewItemCard.setAttribute('data-creator', data.creator.name) - NewItemCard.setAttribute('data-limited', data.isLimited) - if (data.isLimited === false) { - NewItemCard.setAttribute('data-price', data.price) - } - - ItemGrid.appendChild(NewItemCard) - - NewItemCard.getElementsByClassName('polyplus-itemwish-removebtn')[0].addEventListener('click', function(){ - let Index = Wishlist.indexOf(parseInt(NewItemCard.getAttribute('data-id'))) - if (Index === -1) { - NewItemCard.remove(); - return - } else { - Wishlist.splice(Index, 1) - console.log(Wishlist) - NewItemCard.remove(); - } - chrome.storage.sync.set({'PolyPlus_ItemWishlist': Wishlist, arrayOrder: true}, function() { - console.log('ItemWishlist successfully saved: ' + ItemWishlist) - }); - }); - }) - .catch(error => { - console.error('Error:', error); - }); - }); - }); - } - } -} - -function Update(type, query, isLimited, isAvailable) { - let ItemGrid = document.getElementsByClassName('itemgrid')[0] - let BrickBalance = parseInt(JSON.parse(window.localStorage.getItem('p+account_info')).Bricks) - query = query.toLowerCase(); - let Results = Array.from(ItemGrid.children) - for (let i = 0; i < Results.length; i++) { - let Show = true - - console.log('type: ', type) - if (!(type === 'any')) { - console.log('isn\'t any') - if (!(Results[i].getAttribute('data-type') === type)) {Show = false} - } - - if (!(Results[i].getAttribute('data-name').toLowerCase().startsWith(query))) {Show = false} - - if (isLimited === true) { - if (!(Results[i].getAttribute('data-limited') === 'true')) {Show = false} - } - - if (isAvailable === true) { - if (!(parseInt(Results[i].getAttribute('data-price')) <= BrickBalance)) {Show = false} - } - - if (Show === true) { - Results[i].style.display = 'block' - } else { - Results[i].style.display = 'none' - } - } -} \ No newline at end of file +if (window.location.pathname.split('/')[3] === 'inventory') { + const UserID = window.location.pathname.split('/')[2]; + if (UserID === JSON.parse(window.localStorage.getItem('p+account_info')).ID) { + let Nav = document.getElementsByClassName('nav-pills')[0]; + let WishlistNav = document.createElement('li'); + WishlistNav.classList.add('nav-item'); + WishlistNav.innerHTML = ` + + + Item Wishlist + + `; + Nav.appendChild(WishlistNav); + + if (window.location.pathname.split('/')[4] === 'wishlist') { + const ItemGrid = document.getElementsByClassName('itemgrid')[0]; + const ItemCardContents = ` + +
+ :LimitedTag +
+ +
+
+
+ :ItemName +
+
+ + by :CreatorName + + + `; + + Array.from(ItemGrid.children).forEach((element) => { + element.remove(); + }); + Array.from(Nav.children).forEach((element) => { + element = element.children[0]; + if (!(element === WishlistNav)) { + if (element.classList.contains('active')) { + element.classList.remove('active'); + } + } + }); + WishlistNav.children[0].classList.add('active'); + const Search = document.createElement('div'); + Search.classList = 'row'; + Search.innerHTML = ` +
+ +
+
+ +
+
+
+ + +
+
+
+
+ + +
+
+ `; + ItemGrid.parentElement.prepend(document.createElement('br'), ItemGrid.parentElement.children[0]); + ItemGrid.parentElement.prepend(Search, ItemGrid.parentElement.children[0]); + + let Type = document.getElementById('polyplus-itemwish-type'); + let SearchBar = document.getElementById('polyplus-itemwish-searchbar'); + let IsLimited = document.getElementById('polyplus-itemwish-isLimited'); + let IsAvailable = document.getElementById('polyplus-itemwish-isAvailable'); + + Type.addEventListener('change', function () { + Update(Type.options[Type.selectedIndex].value, SearchBar.value, IsLimited.checked, IsAvailable.checked); + }); + + SearchBar.addEventListener('change', function () { + Update(Type.options[Type.selectedIndex].value, SearchBar.value, IsLimited.checked, IsAvailable.checked); + }); + + IsLimited.addEventListener('change', function () { + Update(Type.options[Type.selectedIndex].value, SearchBar.value, IsLimited.checked, IsAvailable.checked); + }); + + IsAvailable.addEventListener('change', function () { + Update(Type.options[Type.selectedIndex].value, SearchBar.value, IsLimited.checked, IsAvailable.checked); + }); + + chrome.storage.sync.get(['PolyPlus_ItemWishlist'], function (result) { + let Wishlist = result.PolyPlus_ItemWishlist || []; + console.log('wishlist: ', Wishlist); + Wishlist.forEach((element) => { + let NewItemCard = document.createElement('div'); + NewItemCard.classList = 'px-0'; + fetch('https://api.polytoria.com/v1/store/:id'.replace(':id', element)) + .then((response) => response.json()) + .then((data) => { + NewItemCard.innerHTML = ItemCardContents.replace(':ItemID', data.id) + .replace(':ItemThumbnail', data.thumbnail) + .replace(':ItemName', data.name) + .replace(':CreatorID', data.creator.id) + .replace(':CreatorName', data.creator.name); + if (data.isLimited === true) { + NewItemCard.innerHTML = NewItemCard.innerHTML.replace(':LimitedTag', '
Limited
'); + } else { + NewItemCard.innerHTML = NewItemCard.innerHTML.replace(':LimitedTag', ''); + } + NewItemCard.setAttribute('data-id', data.id); + NewItemCard.setAttribute('data-name', data.name); + NewItemCard.setAttribute('data-type', data.type); + NewItemCard.setAttribute('data-creator', data.creator.name); + NewItemCard.setAttribute('data-limited', data.isLimited); + if (data.isLimited === false) { + NewItemCard.setAttribute('data-price', data.price); + } + + ItemGrid.appendChild(NewItemCard); + + NewItemCard.getElementsByClassName('polyplus-itemwish-removebtn')[0].addEventListener('click', function () { + let Index = Wishlist.indexOf(parseInt(NewItemCard.getAttribute('data-id'))); + if (Index === -1) { + NewItemCard.remove(); + return; + } else { + Wishlist.splice(Index, 1); + console.log(Wishlist); + NewItemCard.remove(); + } + chrome.storage.sync.set({PolyPlus_ItemWishlist: Wishlist, arrayOrder: true}, function () { + console.log('ItemWishlist successfully saved: ' + ItemWishlist); + }); + }); + }) + .catch((error) => { + console.error('Error:', error); + }); + }); + }); + } + } +} + +function Update(type, query, isLimited, isAvailable) { + let ItemGrid = document.getElementsByClassName('itemgrid')[0]; + let BrickBalance = parseInt(JSON.parse(window.localStorage.getItem('p+account_info')).Bricks); + query = query.toLowerCase(); + let Results = Array.from(ItemGrid.children); + for (let i = 0; i < Results.length; i++) { + let Show = true; + + console.log('type: ', type); + if (!(type === 'any')) { + console.log("isn't any"); + if (!(Results[i].getAttribute('data-type') === type)) { + Show = false; + } + } + + if (!Results[i].getAttribute('data-name').toLowerCase().startsWith(query)) { + Show = false; + } + + if (isLimited === true) { + if (!(Results[i].getAttribute('data-limited') === 'true')) { + Show = false; + } + } + + if (isAvailable === true) { + if (!(parseInt(Results[i].getAttribute('data-price')) <= BrickBalance)) { + Show = false; + } + } + + if (Show === true) { + Results[i].style.display = 'block'; + } else { + Results[i].style.display = 'none'; + } + } +} diff --git a/js/account/profile.js b/js/account/profile.js index f7201cd..64c935d 100755 --- a/js/account/profile.js +++ b/js/account/profile.js @@ -1,247 +1,253 @@ -let UserID = window.location.pathname.split('/')[2]; -const AvatarRow = document.getElementsByClassName('d-flex flex-row flex-nowrap overflow-x-scroll px-3 px-lg-0 mb-2 mb-lg-0')[0] -const AvatarHeading = document.querySelector('.section-title:has(i.fa-user-crown)') - -var Settings; -var BestFriends; -let FavoriteBtn; -let CalculateButton; - -let Utilities; - -if (UserID) { - (async () => { - UserID = (await (await fetch('https://api.polytoria.com/v1/users/')).json()).id - Utilities = await import(chrome.runtime.getURL('resources/utils.js')); - Utilities = Utilities.default - - chrome.storage.sync.get(['PolyPlus_Settings'], function(result) { - Settings = result.PolyPlus_Settings || {} - - if (Settings.IRLPriceWithCurrency.Enabled === true) { - IRLPrice() - } - - if (Settings.BestFriendsOn === true) { - BestFriends() - } - - if (Settings.OutfitCostOn === true) { - CalculateButton = document.createElement('small') - CalculateButton.classList = 'fw-normal text-success' - CalculateButton.style.letterSpacing = '0px' - CalculateButton.setAttribute('data-bs-toggle', 'tooltip') - CalculateButton.setAttribute('data-bs-title', 'Calculate this avatar\'s cost!') - CalculateButton.setAttribute('data-bs-placement', 'right') - CalculateButton.innerHTML = ` - $ calculate - ` - AvatarHeading.appendChild(CalculateButton) - - Utilities.InjectResource('registerTooltips') - - let Calculating = false - CalculateButton.addEventListener('click', function(){ - if (Calculating === false) { - Calculating = true - CalculateButton.innerText = '$ Calculating...' - OutfitCost() - } - }); - } - }); - })(); - - const AvatarIFrame = document.querySelector('[src^="/ptstatic"]') - const DropdownMenu = document.getElementsByClassName('dropdown-menu dropdown-menu-right')[0] - - const CopyItem = document.createElement('a') - CopyItem.classList = 'dropdown-item text-primary' - CopyItem.href = '#' - CopyItem.innerHTML = ` - - Copy 3D Avatar URL - ` - DropdownMenu.appendChild(CopyItem) - - CopyItem.addEventListener('click', function(){ - navigator.clipboard.writeText(AvatarIFrame.src) - .then(() => { - alert('Successfully copied 3D avatar URL!') - }) - .catch(() => { - alert('Failure to copy 3D avatar URL.') - }); - }); - - const ShareItem = document.createElement('a') - ShareItem.classList = 'dropdown-item text-warning' - ShareItem.href = '#' - ShareItem.innerHTML = ` - - Share your 3D Avatar URL! - ` - DropdownMenu.appendChild(ShareItem) - - ShareItem.addEventListener('click', function(){ - navigator.clipboard.writeText("Hey! Look at my Polytoria avatar in 3D [here](" + AvatarIFrame.src + ")!") - .then(() => { - alert('Successfully copied sharable 3D avatar URL!') - }) - .catch(() => { - alert('Failure to copy sharable 3D avatar URL.') - }); - }); -} else if (UserID && UserID[0] === "@") { - const Username = window.location.pathname.split('/')[2].substring(1) - - let Reference = new URLSearchParams(new URL(window.location.href).search) - if (!Reference.has('ref')) { - Reference = "" - } - - fetch("https://api.polytoria.com/v1/users/find?username=" + Username) - .then(response => { - if (!response.ok) { - window.location.href = window.location.origin + decodeURIComponent(Reference.get('ref')) - } else { - return response.json() - } - }) - .then(data => { - window.location.href = "https://polytoria.com/users/" + data.id - }) - .catch(error => { - console.log("An error occurred:", error); - }); -} - -async function IRLPrice() { - const NetWorthElement = document.getElementsByClassName('float-end text-success')[0]; - const IRLResult = await Utilities.CalculateIRL(NetWorthElement.innerText, Settings.IRLPriceWithCurrency.Currency) - NetWorthElement.innerHTML = NetWorthElement.innerHTML + '
(' + IRLResult.icon + IRLResult.result + ' ' + IRLResult.display + ')
' -} - -function BestFriends() { - chrome.storage.sync.get(['PolyPlus_BestFriends'], function(result){ - BestFriends = result.PolyPlus_BestFriends || []; - - FavoriteBtn = document.createElement('button'); - FavoriteBtn.classList = 'btn btn-warning btn-sm ml-2'; - if (!(BestFriends.length === Utilities.Limits.BestFriends)) { - if (Array.isArray(BestFriends) && BestFriends.includes(parseInt(UserID))) { - FavoriteBtn.innerText = 'Remove Best Friend Status'; - } else { - FavoriteBtn.innerText = 'Best Friend'; - } - } else { - FavoriteBtn.innerText = 'Remove Best Friend Status (max ' + Utilities.Limits.BestFriends + '/' + Utilities.Limits.BestFriends + ')' - } - if (UserID !== JSON.parse(window.localStorage.getItem('p+account_info')).ID && document.getElementById('add-friend-button').classList.contains('btn-success') === false) { - FavoriteBtn.addEventListener('click', function() { - Fav(UserID, FavoriteBtn); - }); - } else { - FavoriteBtn.style.display = 'none' - } - document.querySelectorAll('.section-title.px-3.px-lg-0.mt-3')[0].appendChild(FavoriteBtn); - - function Fav(UserID, btn) { - if (UserID === JSON.parse(window.localStorage.getItem('p+account_info')).ID) { return } - btn.setAttribute('disabled', 'true') - - chrome.storage.sync.get(['PolyPlus_BestFriends'], function(result) { - const BestFriends = result.PolyPlus_BestFriends || []; - const index = BestFriends.indexOf(parseInt(UserID)); - - if (index !== -1) { - // Number exists, remove it - BestFriends.splice(index, 1); - btn.innerText = "Best Friend" - console.log('Number', parseInt(UserID), 'removed from BestFriends'); - } else { - // Number doesn't exist, add it - BestFriends.push(parseInt(UserID)); - btn.innerText = "Remove Best Friend Status" - console.log('Number', parseInt(UserID), 'added to BestFriends'); - } - - chrome.storage.sync.set({ 'PolyPlus_BestFriends': BestFriends, arrayOrder: true }, function() { - console.log('BestFriends saved successfully!'); - setTimeout(function() { - btn.removeAttribute('disabled') - }, 1500) - }); - }); - } - }); - - chrome.storage.onChanged.addListener(function(changes, namespace) { - if ('PolyPlus_BestFriends' in changes) { - chrome.storage.sync.get(['PolyPlus_BestFriends'], function(result) { - BestFriends = result.PolyPlus_BestFriends || []; - - if (!(BestFriends.length === Utilities.Limits.BestFriends)) { - if (Array.isArray(BestFriends) && BestFriends.includes(parseInt(UserID))) { - FavoriteBtn.innerText = 'Remove Best Friend Status' - } else { - FavoriteBtn.innerText = 'Best Friend' - } - } else { - FavoriteBtn.innerText = 'Remove Best Friend Status (max ' + Utilities.Limits.BestFriends + '/' + Utilities.Limits.BestFriends + ')' - } - }); - } - }); - - function ClearBestFriends(){ - chrome.storage.sync.set({ 'PolyPlus_BestFriends': {"BestFriends": []}, arrayOrder: true }, function() { - console.log('BestFriends saved successfully!'); - setTimeout(function() { - btn.removeAttribute('disabled') - }, 1500) - }); - } -} - -async function OutfitCost() { - const AvatarCost = { - Total: 0, - Collectibles: 0, - Offsale: 0, - HasProfileTheme: false - } - for (let item of AvatarRow.children) { - const ItemID = item.getElementsByTagName('a')[0].href.split('/')[4] - await fetch('https://api.polytoria.com/v1/store/'+ItemID) - .then(response => { - if (!response.ok) { - throw new Error('Network not ok') - } - return response.json() - }) - .then(data => { - let Price = data.price - if (data.isLimited === true) { - AvatarCost.Collectibles += 1 - Price = data.averagePrice - } else if (data.sales === 0) { - AvatarCost.Offsale += 1 - Price = 0 - } else if (data.type === 'profileTheme') { - AvatarCost.HasProfileTheme = true - Price = 0 - } - - AvatarCost.Total += Price - }) - .catch(error => {console.log(error)}); - } - const ResultText = document.createElement('small') - ResultText.classList = 'fw-normal text-success' - ResultText.style.letterSpacing = '0px' - ResultText.innerHTML = `( ${ (AvatarCost.Collectibles > 0 || AvatarCost.Offsale > 0 || AvatarCost.HasProfileTheme === true) ? '~' : '' }${ AvatarCost.Total.toLocaleString() } | ${ (AvatarCost.Collectibles > 0) ? AvatarCost.Collectibles + ' collectible' : '' }${ (AvatarCost.Offsale > 0) ? `, ${AvatarCost.Offsale} offsale` : '' }${ (AvatarCost.HasProfileTheme === true) ? ', profile theme excluded' : '' })` - - CalculateButton.remove() - AvatarHeading.appendChild(ResultText) -} \ No newline at end of file +let UserID = window.location.pathname.split('/')[2]; +const AvatarRow = document.getElementsByClassName('d-flex flex-row flex-nowrap overflow-x-scroll px-3 px-lg-0 mb-2 mb-lg-0')[0]; +const AvatarHeading = document.querySelector('.section-title:has(i.fa-user-crown)'); + +var Settings; +var BestFriends; +let FavoriteBtn; +let CalculateButton; + +let Utilities; + +if (UserID) { + (async () => { + UserID = (await (await fetch('https://api.polytoria.com/v1/users/')).json()).id; + Utilities = await import(chrome.runtime.getURL('resources/utils.js')); + Utilities = Utilities.default; + + chrome.storage.sync.get(['PolyPlus_Settings'], function (result) { + Settings = result.PolyPlus_Settings || {}; + + if (Settings.IRLPriceWithCurrency.Enabled === true) { + IRLPrice(); + } + + if (Settings.BestFriendsOn === true) { + BestFriends(); + } + + if (Settings.OutfitCostOn === true) { + CalculateButton = document.createElement('small'); + CalculateButton.classList = 'fw-normal text-success'; + CalculateButton.style.letterSpacing = '0px'; + CalculateButton.setAttribute('data-bs-toggle', 'tooltip'); + CalculateButton.setAttribute('data-bs-title', "Calculate this avatar's cost!"); + CalculateButton.setAttribute('data-bs-placement', 'right'); + CalculateButton.innerHTML = ` + $ calculate + `; + AvatarHeading.appendChild(CalculateButton); + + Utilities.InjectResource('registerTooltips'); + + let Calculating = false; + CalculateButton.addEventListener('click', function () { + if (Calculating === false) { + Calculating = true; + CalculateButton.innerText = '$ Calculating...'; + OutfitCost(); + } + }); + } + }); + })(); + + const AvatarIFrame = document.querySelector('[src^="/ptstatic"]'); + const DropdownMenu = document.getElementsByClassName('dropdown-menu dropdown-menu-right')[0]; + + const CopyItem = document.createElement('a'); + CopyItem.classList = 'dropdown-item text-primary'; + CopyItem.href = '#'; + CopyItem.innerHTML = ` + + Copy 3D Avatar URL + `; + DropdownMenu.appendChild(CopyItem); + + CopyItem.addEventListener('click', function () { + navigator.clipboard + .writeText(AvatarIFrame.src) + .then(() => { + alert('Successfully copied 3D avatar URL!'); + }) + .catch(() => { + alert('Failure to copy 3D avatar URL.'); + }); + }); + + const ShareItem = document.createElement('a'); + ShareItem.classList = 'dropdown-item text-warning'; + ShareItem.href = '#'; + ShareItem.innerHTML = ` + + Share your 3D Avatar URL! + `; + DropdownMenu.appendChild(ShareItem); + + ShareItem.addEventListener('click', function () { + navigator.clipboard + .writeText('Hey! Look at my Polytoria avatar in 3D [here](' + AvatarIFrame.src + ')!') + .then(() => { + alert('Successfully copied sharable 3D avatar URL!'); + }) + .catch(() => { + alert('Failure to copy sharable 3D avatar URL.'); + }); + }); +} else if (UserID && UserID[0] === '@') { + const Username = window.location.pathname.split('/')[2].substring(1); + + let Reference = new URLSearchParams(new URL(window.location.href).search); + if (!Reference.has('ref')) { + Reference = ''; + } + + fetch('https://api.polytoria.com/v1/users/find?username=' + Username) + .then((response) => { + if (!response.ok) { + window.location.href = window.location.origin + decodeURIComponent(Reference.get('ref')); + } else { + return response.json(); + } + }) + .then((data) => { + window.location.href = 'https://polytoria.com/users/' + data.id; + }) + .catch((error) => { + console.log('An error occurred:', error); + }); +} + +async function IRLPrice() { + const NetWorthElement = document.getElementsByClassName('float-end text-success')[0]; + const IRLResult = await Utilities.CalculateIRL(NetWorthElement.innerText, Settings.IRLPriceWithCurrency.Currency); + NetWorthElement.innerHTML = NetWorthElement.innerHTML + '
(' + IRLResult.icon + IRLResult.result + ' ' + IRLResult.display + ')
'; +} + +function BestFriends() { + chrome.storage.sync.get(['PolyPlus_BestFriends'], function (result) { + BestFriends = result.PolyPlus_BestFriends || []; + + FavoriteBtn = document.createElement('button'); + FavoriteBtn.classList = 'btn btn-warning btn-sm ml-2'; + if (!(BestFriends.length === Utilities.Limits.BestFriends)) { + if (Array.isArray(BestFriends) && BestFriends.includes(parseInt(UserID))) { + FavoriteBtn.innerText = 'Remove Best Friend Status'; + } else { + FavoriteBtn.innerText = 'Best Friend'; + } + } else { + FavoriteBtn.innerText = 'Remove Best Friend Status (max ' + Utilities.Limits.BestFriends + '/' + Utilities.Limits.BestFriends + ')'; + } + if (UserID !== JSON.parse(window.localStorage.getItem('p+account_info')).ID && document.getElementById('add-friend-button').classList.contains('btn-success') === false) { + FavoriteBtn.addEventListener('click', function () { + Fav(UserID, FavoriteBtn); + }); + } else { + FavoriteBtn.style.display = 'none'; + } + document.querySelectorAll('.section-title.px-3.px-lg-0.mt-3')[0].appendChild(FavoriteBtn); + + function Fav(UserID, btn) { + if (UserID === JSON.parse(window.localStorage.getItem('p+account_info')).ID) { + return; + } + btn.setAttribute('disabled', 'true'); + + chrome.storage.sync.get(['PolyPlus_BestFriends'], function (result) { + const BestFriends = result.PolyPlus_BestFriends || []; + const index = BestFriends.indexOf(parseInt(UserID)); + + if (index !== -1) { + // Number exists, remove it + BestFriends.splice(index, 1); + btn.innerText = 'Best Friend'; + console.log('Number', parseInt(UserID), 'removed from BestFriends'); + } else { + // Number doesn't exist, add it + BestFriends.push(parseInt(UserID)); + btn.innerText = 'Remove Best Friend Status'; + console.log('Number', parseInt(UserID), 'added to BestFriends'); + } + + chrome.storage.sync.set({PolyPlus_BestFriends: BestFriends, arrayOrder: true}, function () { + console.log('BestFriends saved successfully!'); + setTimeout(function () { + btn.removeAttribute('disabled'); + }, 1500); + }); + }); + } + }); + + chrome.storage.onChanged.addListener(function (changes, namespace) { + if ('PolyPlus_BestFriends' in changes) { + chrome.storage.sync.get(['PolyPlus_BestFriends'], function (result) { + BestFriends = result.PolyPlus_BestFriends || []; + + if (!(BestFriends.length === Utilities.Limits.BestFriends)) { + if (Array.isArray(BestFriends) && BestFriends.includes(parseInt(UserID))) { + FavoriteBtn.innerText = 'Remove Best Friend Status'; + } else { + FavoriteBtn.innerText = 'Best Friend'; + } + } else { + FavoriteBtn.innerText = 'Remove Best Friend Status (max ' + Utilities.Limits.BestFriends + '/' + Utilities.Limits.BestFriends + ')'; + } + }); + } + }); + + function ClearBestFriends() { + chrome.storage.sync.set({PolyPlus_BestFriends: {BestFriends: []}, arrayOrder: true}, function () { + console.log('BestFriends saved successfully!'); + setTimeout(function () { + btn.removeAttribute('disabled'); + }, 1500); + }); + } +} + +async function OutfitCost() { + const AvatarCost = { + Total: 0, + Collectibles: 0, + Offsale: 0, + HasProfileTheme: false + }; + for (let item of AvatarRow.children) { + const ItemID = item.getElementsByTagName('a')[0].href.split('/')[4]; + await fetch('https://api.polytoria.com/v1/store/' + ItemID) + .then((response) => { + if (!response.ok) { + throw new Error('Network not ok'); + } + return response.json(); + }) + .then((data) => { + let Price = data.price; + if (data.isLimited === true) { + AvatarCost.Collectibles += 1; + Price = data.averagePrice; + } else if (data.sales === 0) { + AvatarCost.Offsale += 1; + Price = 0; + } else if (data.type === 'profileTheme') { + AvatarCost.HasProfileTheme = true; + Price = 0; + } + + AvatarCost.Total += Price; + }) + .catch((error) => { + console.log(error); + }); + } + const ResultText = document.createElement('small'); + ResultText.classList = 'fw-normal text-success'; + ResultText.style.letterSpacing = '0px'; + ResultText.innerHTML = `( ${AvatarCost.Collectibles > 0 || AvatarCost.Offsale > 0 || AvatarCost.HasProfileTheme === true ? '~' : ''}${AvatarCost.Total.toLocaleString()} | ${AvatarCost.Collectibles > 0 ? AvatarCost.Collectibles + ' collectible' : ''}${AvatarCost.Offsale > 0 ? `, ${AvatarCost.Offsale} offsale` : ''}${AvatarCost.HasProfileTheme === true ? ', profile theme excluded' : ''})`; + + CalculateButton.remove(); + AvatarHeading.appendChild(ResultText); +} diff --git a/js/account/settings-privacy.js b/js/account/settings-privacy.js index d3762e9..49767c1 100755 --- a/js/account/settings-privacy.js +++ b/js/account/settings-privacy.js @@ -1,30 +1,30 @@ -chrome.storage.sync.get(['PolyPlus_Settings'], function(result){ - if (result.PolyPlus_Settings.MoreSearchFiltersOn === true) { - const BlockedUsersCard = document.getElementsByClassName('card-body')[1] - const InputGroup = document.createElement('div') - InputGroup.classList = 'input-group mb-2' - InputGroup.innerHTML = ` - - - ` - BlockedUsersCard.insertBefore(InputGroup, BlockedUsersCard.children[0]) - const SearchBar = document.getElementById('blocked-users-search') - const ConfirmBtn = document.getElementById('blocked-users-confirm') - - ConfirmBtn.addEventListener('click', function(){ - SearchBlockedUsers(SearchBar.value); - }); - - function SearchBlockedUsers(query) { - query = query.toLowerCase(); - for (let i = 1; i < BlockedUsersCard.children.length; i++) { - let Username = BlockedUsersCard.children[i].getElementsByTagName('h5')[0].innerText.toLowerCase(); - if (Username.includes(query)) { - BlockedUsersCard.children[i].style.display = 'block' - } else { - BlockedUsersCard.children[i].style.display = 'none' - } - } - } - } -}); \ No newline at end of file +chrome.storage.sync.get(['PolyPlus_Settings'], function (result) { + if (result.PolyPlus_Settings.MoreSearchFiltersOn === true) { + const BlockedUsersCard = document.getElementsByClassName('card-body')[1]; + const InputGroup = document.createElement('div'); + InputGroup.classList = 'input-group mb-2'; + InputGroup.innerHTML = ` + + + `; + BlockedUsersCard.insertBefore(InputGroup, BlockedUsersCard.children[0]); + const SearchBar = document.getElementById('blocked-users-search'); + const ConfirmBtn = document.getElementById('blocked-users-confirm'); + + ConfirmBtn.addEventListener('click', function () { + SearchBlockedUsers(SearchBar.value); + }); + + function SearchBlockedUsers(query) { + query = query.toLowerCase(); + for (let i = 1; i < BlockedUsersCard.children.length; i++) { + let Username = BlockedUsersCard.children[i].getElementsByTagName('h5')[0].innerText.toLowerCase(); + if (Username.includes(query)) { + BlockedUsersCard.children[i].style.display = 'block'; + } else { + BlockedUsersCard.children[i].style.display = 'none'; + } + } + } + } +}); diff --git a/js/account/trades-outbound.js b/js/account/trades-outbound.js index 10fecdf..b93fd2f 100755 --- a/js/account/trades-outbound.js +++ b/js/account/trades-outbound.js @@ -1,109 +1,108 @@ -var SelectedTrades = [] - -let Parent = document.getElementsByClassName('card mcard p-5 text-center text-muted')[0].parentElement -let Text = document.createElement('p') -Text.classList = 'mx-auto' -Text.style.textAlign = 'center' -Text.style.fontSize = '1.3rem' -Text.innerHTML = ` -0 trades selected! -
- - - -` -Parent.insertBefore(Text, Parent.children[0]) -let Text_Span = Text.querySelector('span'); -let Text_View = document.getElementById('viewSelectionBtn'); -let Text_Clear = document.getElementById('clearSelectionBtn'); -let Text_Cancel = document.getElementById('cancelSelectionBtn'); - -var ConfirmCancel = 0 -Text_View.addEventListener('click', function(){}); -Text_Clear.addEventListener('click', function(){ - SelectedTrades = [] - UpdateCheckboxes(); - Text_Span.innerText = SelectedTrades.length -}); -Text_Cancel.addEventListener('click', function(){ - ConfirmCancel = ConfirmCancel + 1 - switch(ConfirmCancel) { - case 0: - Text_Cancel.innerText = 'Cancel Selected Trades' - break - case 1: - Text_Cancel.innerText = 'Are you sure?' - break - case 2: - let Success = true - for (let i = 0; i < SelectedTrades.length; i++) { - setTimeout(function () {}, 110) - console.log(SelectedTrades[i]) - fetch('https://polytoria.com/api/trade/decline', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'X-CSRF-Token': document.querySelector('input[name="_csrf"]').value - }, - body: JSON.stringify({ id: SelectedTrades[i] }), - }) - .catch(error => { - // Handle any errors - console.error('Error:', error); - Success = false - }); - } - SelectedTrades = [] - UpdateCheckboxes(); - Text_Cancel.innerText = 'Cancel Selected Trades' - ConfirmCancel = 0 - break - } -}); - -LoadCheckBoxes(); - -function LoadCheckBoxes() { - Array.from(document.getElementsByClassName('card-inbox')).forEach(element => { - let ViewBtn = element.querySelector('a.btn.btn-primary') - let TradeID = parseInt(ViewBtn.getAttribute('href').split('/')[3]) - var NewCheckBox = document.createElement('button') - NewCheckBox.classList = 'polyplus-multicanceltr-checkbox' - NewCheckBox.setAttribute('style', 'padding: 20px; background-color: #191919; border: 1px solid #393939; border-radius: 1rem; margin-left: 10px;') - var Index = SelectedTrades.indexOf(TradeID) - if (Index !== -1) { - NewCheckBox.style.borderColor = 'lime' - } - ViewBtn.parentElement.appendChild(NewCheckBox) - NewCheckBox.addEventListener('click', function(){ - var Index = SelectedTrades.indexOf(TradeID) - if (Index === -1) { - SelectedTrades.push(TradeID) - NewCheckBox.style.borderColor = 'lime' - } else { - SelectedTrades.splice(Index, 1) - NewCheckBox.style.borderColor = '#393939' - } - Text_Span.innerText = SelectedTrades.length - UpdateCheckboxes(); - }); - }); -} - -function UpdateCheckboxes(){ - document.querySelectorAll('.polyplus-multicanceltr-checkbox').forEach(element => { - let Parent = element.parentElement - let ViewBtn = Parent.querySelector('a.btn.btn-primary') - if (element.getAttribute('disabled')) { - element.removeAttribute('disabled') - } - if (SelectedTrades.IndexOf(ViewBtn.getAttribute('data-user-id')) === -1) { - element.style.borderColor = '#393939' - } else { - element.style.borderColor = 'lime' - if (SelectedTrades.length >= 10) { - element.setAttribute('disabled', true) - } - } - }) -} \ No newline at end of file +var SelectedTrades = []; + +let Parent = document.getElementsByClassName('card mcard p-5 text-center text-muted')[0].parentElement; +let Text = document.createElement('p'); +Text.classList = 'mx-auto'; +Text.style.textAlign = 'center'; +Text.style.fontSize = '1.3rem'; +Text.innerHTML = ` +0 trades selected! +
+ + + +`; +Parent.insertBefore(Text, Parent.children[0]); +let Text_Span = Text.querySelector('span'); +let Text_View = document.getElementById('viewSelectionBtn'); +let Text_Clear = document.getElementById('clearSelectionBtn'); +let Text_Cancel = document.getElementById('cancelSelectionBtn'); + +var ConfirmCancel = 0; +Text_View.addEventListener('click', function () {}); +Text_Clear.addEventListener('click', function () { + SelectedTrades = []; + UpdateCheckboxes(); + Text_Span.innerText = SelectedTrades.length; +}); +Text_Cancel.addEventListener('click', function () { + ConfirmCancel = ConfirmCancel + 1; + switch (ConfirmCancel) { + case 0: + Text_Cancel.innerText = 'Cancel Selected Trades'; + break; + case 1: + Text_Cancel.innerText = 'Are you sure?'; + break; + case 2: + let Success = true; + for (let i = 0; i < SelectedTrades.length; i++) { + setTimeout(function () {}, 110); + console.log(SelectedTrades[i]); + fetch('https://polytoria.com/api/trade/decline', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-CSRF-Token': document.querySelector('input[name="_csrf"]').value + }, + body: JSON.stringify({id: SelectedTrades[i]}) + }).catch((error) => { + // Handle any errors + console.error('Error:', error); + Success = false; + }); + } + SelectedTrades = []; + UpdateCheckboxes(); + Text_Cancel.innerText = 'Cancel Selected Trades'; + ConfirmCancel = 0; + break; + } +}); + +LoadCheckBoxes(); + +function LoadCheckBoxes() { + Array.from(document.getElementsByClassName('card-inbox')).forEach((element) => { + let ViewBtn = element.querySelector('a.btn.btn-primary'); + let TradeID = parseInt(ViewBtn.getAttribute('href').split('/')[3]); + var NewCheckBox = document.createElement('button'); + NewCheckBox.classList = 'polyplus-multicanceltr-checkbox'; + NewCheckBox.setAttribute('style', 'padding: 20px; background-color: #191919; border: 1px solid #393939; border-radius: 1rem; margin-left: 10px;'); + var Index = SelectedTrades.indexOf(TradeID); + if (Index !== -1) { + NewCheckBox.style.borderColor = 'lime'; + } + ViewBtn.parentElement.appendChild(NewCheckBox); + NewCheckBox.addEventListener('click', function () { + var Index = SelectedTrades.indexOf(TradeID); + if (Index === -1) { + SelectedTrades.push(TradeID); + NewCheckBox.style.borderColor = 'lime'; + } else { + SelectedTrades.splice(Index, 1); + NewCheckBox.style.borderColor = '#393939'; + } + Text_Span.innerText = SelectedTrades.length; + UpdateCheckboxes(); + }); + }); +} + +function UpdateCheckboxes() { + document.querySelectorAll('.polyplus-multicanceltr-checkbox').forEach((element) => { + let Parent = element.parentElement; + let ViewBtn = Parent.querySelector('a.btn.btn-primary'); + if (element.getAttribute('disabled')) { + element.removeAttribute('disabled'); + } + if (SelectedTrades.IndexOf(ViewBtn.getAttribute('data-user-id')) === -1) { + element.style.borderColor = '#393939'; + } else { + element.style.borderColor = 'lime'; + if (SelectedTrades.length >= 10) { + element.setAttribute('disabled', true); + } + } + }); +} diff --git a/js/account/transactions.js b/js/account/transactions.js index f4e60ae..d43ca40 100755 --- a/js/account/transactions.js +++ b/js/account/transactions.js @@ -1,80 +1,82 @@ -/* -let Currencies; - -LoadFile(chrome.runtime.getURL('resources/currencies.json'), function(text){ - Currencies = JSON.parse(text) - console.log(new Date(Currencies.Date).toLocaleDateString("en-US", {day:"numeric",month:"long",year:"numeric"}), Currencies) -}) -*/ - -let Utilities; -(async () => { - Utilities = await import(chrome.runtime.getURL('resources/utils.js')); - Utilities = Utilities.default -})(); - -let Nav = document.getElementsByClassName('nav-pills')[0] -let DIV = document.createElement('div') -DIV.innerHTML = ` - - - - -` -Nav.appendChild(document.createElement('hr')) -Nav.appendChild(DIV) - -let Input = document.getElementById('polyplus-brickconverter-input') -let Output = document.getElementById('polyplus-brickconverter-output') -let Type = document.getElementById('polyplus-brickconverter-type') -chrome.storage.sync.get(['PolyPlus_Settings'], function(result){ - Type.selectedIndex = result.PolyPlus_Settings.IRLPriceWithCurrency.Currency || 0 -}); -//let Package = document.getElementById('polyplus-brickconverter-package') - -Input.addEventListener('input', function(){ - Update() -}); - -Type.addEventListener('change', function(){ - Update() -}); - -/* -Package.addEventListener('change', function(){ - Update() -}); -*/ - -async function Update(){ - if (Input.value === "") { - Output.value = '' - return - } - const IRLResult = await Utilities.CalculateIRL(Input.value, Type.selectedIndex) - Output.value = "$" + IRLResult.result + " " + IRLResult.display -} - -function LoadFile(path, callback) { - var xhr = new XMLHttpRequest(); - xhr.onload = function () { return callback(this.responseText); } - xhr.open("GET", path, true); - xhr.send(); -} \ No newline at end of file +/* +let Currencies; + +LoadFile(chrome.runtime.getURL('resources/currencies.json'), function(text){ + Currencies = JSON.parse(text) + console.log(new Date(Currencies.Date).toLocaleDateString("en-US", {day:"numeric",month:"long",year:"numeric"}), Currencies) +}) +*/ + +let Utilities; +(async () => { + Utilities = await import(chrome.runtime.getURL('resources/utils.js')); + Utilities = Utilities.default; +})(); + +let Nav = document.getElementsByClassName('nav-pills')[0]; +let DIV = document.createElement('div'); +DIV.innerHTML = ` + + + + +`; +Nav.appendChild(document.createElement('hr')); +Nav.appendChild(DIV); + +let Input = document.getElementById('polyplus-brickconverter-input'); +let Output = document.getElementById('polyplus-brickconverter-output'); +let Type = document.getElementById('polyplus-brickconverter-type'); +chrome.storage.sync.get(['PolyPlus_Settings'], function (result) { + Type.selectedIndex = result.PolyPlus_Settings.IRLPriceWithCurrency.Currency || 0; +}); +//let Package = document.getElementById('polyplus-brickconverter-package') + +Input.addEventListener('input', function () { + Update(); +}); + +Type.addEventListener('change', function () { + Update(); +}); + +/* +Package.addEventListener('change', function(){ + Update() +}); +*/ + +async function Update() { + if (Input.value === '') { + Output.value = ''; + return; + } + const IRLResult = await Utilities.CalculateIRL(Input.value, Type.selectedIndex); + Output.value = '$' + IRLResult.result + ' ' + IRLResult.display; +} + +function LoadFile(path, callback) { + var xhr = new XMLHttpRequest(); + xhr.onload = function () { + return callback(this.responseText); + }; + xhr.open('GET', path, true); + xhr.send(); +} diff --git a/js/background.js b/js/background.js index 2d079c7..fcd6020 100755 --- a/js/background.js +++ b/js/background.js @@ -1,230 +1,219 @@ -const Manifest = chrome.runtime.getManifest() -const SettingsURL = chrome.runtime.getURL('settings.html') - -/* -ON INSTALL: - -chrome.runtime.onInstalled.addListener(() => { - chrome.tabs.create({url: 'https://polyplus.vercel.app/app/welcome.html'}) -}); -*/ - -// WHEN CLICKING ON EXTENSION ICON OPEN THE SETTINGS PAGE -chrome.action.onClicked.addListener((tab) => { - chrome.tabs.create({ active: true, url: SettingsURL }); -}); - -// REGISTER AN ALARM FOR DAILY UPDATE CHECK -chrome.alarms.create('PolyPlus-UpdateCheck', { - when: Date.now() + (GetNext12PM()) -}); - -function GetNext12PM() { - const Now = new Date(); - const Next = new Date(); - Next.setHours(12, 0, 0, 0); - if (Now.getHours() >= 12) { - Next.setDate(Next.getDate() + 1); - } - return Next - Now; -} - -// HANDLE ALARMS FIRING -chrome.alarms.onAlarm.addListener(function(alarm){ - if (alarm.name === 'PolyPlus-UpdateCheck') { - RunUpdateNotifier() - } -}); -function RunUpdateNotifier() { - chrome.storage.local.get(["PolyPlus_LiveVersion", "PolyPlus_OutOfDate", "PolyPlus_SkipUpdate"], function(result){ - const OutOfDate = result.PolyPlus_OutOfDate || false - const SkipUpdate = result.PolyPlus_SkipUpdate || null - const LiveVersion = result.PolyPlus_LiveVersion || Manifest.version - if (OutOfDate !== true && SkipUpdate !== LiveVersion) { - fetch('https://polyplus.vercel.app/data/version.json') - .then(response => { - if (!response.ok) { - throw new Error('Network not ok') - } - return response.json() - }) - .then(data => { - chrome.storage.local.set({'PolyPlus_LiveVersion': data.version}, function(){ - console.log('Cached live version') - }) - if (data.version > Manifest.version) { - chrome.storage.local.set({'PolyPlus_OutOfDate': true, 'PolyPlus_ReleaseNotes': data.releaseNotes}, function(){ - console.log('Cached update notifier result') - }); - chrome.notifications.create("", { - type: "basic", - iconUrl: chrome.runtime.getURL("icon.png"), - title: "New Update Available", - message: "A new update is available for Poly+! (v" + data.version + ")" - }, function(notificationID) { - chrome.notifications.onClicked.addListener(function (id) { - if (id === notificationID) { - chrome.tabs.create({url: 'https://github.com/IndexingGitHub/PolyPlus/releases', active: true}) - chrome.notifications.clear(notificationID) - } - }) - }) - chrome.action.setBadgeBackgroundColor( - {color: 'red'}, - () => { /* ... */ }, - ); - } - }) - .catch(error => {console.log(error)}) - } - }); -} - -chrome.contextMenus.removeAll(function() { - chrome.contextMenus.create({ - title: 'Run Update Notifier', - id: 'PolyPlus-RunUpdateNotifier', - contexts: ['all'], - documentUrlPatterns: [ - "https://polytoria.com/my/settings/polyplus-debug", - ] - }); - - // COPY ASSET ID CONTEXT MENU ITEM REGISTRATION - chrome.contextMenus.create({ - title: 'Copy Asset ID', - id: 'PolyPlus-CopyID', - contexts: ['link'], - documentUrlPatterns: [ - "https://polytoria.com/*", - SettingsURL - ], - targetUrlPatterns: [ - "https://polytoria.com/places/**", - "https://polytoria.com/users/**", - "https://polytoria.com/store/**" - ] - }); - - // COPY AVATAR HASH CONTEXT MENU ITEM REGISTRATION - chrome.contextMenus.create({ - title: 'Copy Avatar Hash', - id: 'PolyPlus-CopyAvatarHash', - contexts: ['image'], - documentUrlPatterns: [ - "https://polytoria.com/*", - SettingsURL - ], - targetUrlPatterns: [ - "https://c0.ptacdn.com/thumbnails/avatars/**", - "https://c0.ptacdn.com/thumbnails/avatars/**" - ] - }); -}) - -// HANDLE CONTEXT MENU ITEMS -chrome.contextMenus.onClicked.addListener(function (info, tab){ - if (info.menuItemId === 'PolyPlus-CopyID') { - let ID = parseInt(info.linkUrl.split('/')[4]) - chrome.scripting - .executeScript({ - target: {tabId: tab.id}, - func: CopyAssetID, - args: [ID] - }) - .then(() => console.log("Copied ID!")); - } - - if (info.menuItemId === 'PolyPlus-CopyAvatarHash') { - let Hash = new URL(info.srcUrl).pathname.split('/')[3].replace('-icon', '').replace('.png', '') - chrome.scripting - .executeScript({ - target: {tabId: tab.id}, - func: CopyAvatarHash, - args: [Hash] - }) - .then(() => console.log("Copied ID!")); - } - - if (info.menuItemId === 'PolyPlus-RunUpdateNotifier') { - RunUpdateNotifier() - } -}); - -chrome.runtime.onMessage.addListener(function (message, sender) { - console.log('hi') - message = message.message || '' - console.log(message) - if (message === 'tooltip') { - console.log('is about tooltip') - chrome.scripting - .executeScript({ - target: {tabId: sender.tab.id}, - func: UpdateTooltips - }) - } -}); - -/* -GREEN LOGO WHEN EXTENSION APPLIES TO CURRENT TAB PAGE, RED WHEN IT DOESN'T -COMING SOON - -chrome.tabs.onActivated.addListener(function (info){ - chrome.tabs.get(info.tabId, function(tab){ - const Any = CheckIfScriptApplies(tab.url) - console.log(Any) - }); -}); - -function CheckIfScriptApplies(url) { - return Manifest.content_scripts.forEach(script => { - COMMENT - if (matchesUrl(script.matches, url)) { - return true - } - - script.matches.forEach(match => { - if (url.startsWith(match.replaceAll('*', ''))) { - return true - } - }) - }) -} - -function matchesUrl(patterns, url) { - return patterns.some(pattern => { - return new RegExp(pattern).test(url); - }); -} -*/ - -function CopyAssetID(id) { - navigator.clipboard - .writeText(id) - .then(() => { - alert('Successfully copied ID!') - }) - .catch(() => { - alert('Failure to copy ID.') - }); -} - -function CopyAvatarHash(hash) { - navigator.clipboard - .writeText(hash) - .then(() => { - alert('Successfully copied avatar hash!') - }) - .catch(() => { - alert('Failure to copy avatar hash.') - }); -} - -function UpdateTooltips() { - const Script = document.createElement('script') - Script.innerHTML = ` - const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]') - const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl)) - ` - document.body.appendChild(Script) -} \ No newline at end of file +const Manifest = chrome.runtime.getManifest(); +const SettingsURL = chrome.runtime.getURL('settings.html'); + +/* +ON INSTALL: + +chrome.runtime.onInstalled.addListener(() => { + chrome.tabs.create({url: 'https://polyplus.vercel.app/app/welcome.html'}) +}); +*/ + +// WHEN CLICKING ON EXTENSION ICON OPEN THE SETTINGS PAGE +chrome.action.onClicked.addListener((tab) => { + chrome.tabs.create({active: true, url: SettingsURL}); +}); + +// REGISTER AN ALARM FOR DAILY UPDATE CHECK +chrome.alarms.create('PolyPlus-UpdateCheck', { + when: Date.now() + GetNext12PM() +}); + +function GetNext12PM() { + const Now = new Date(); + const Next = new Date(); + Next.setHours(12, 0, 0, 0); + if (Now.getHours() >= 12) { + Next.setDate(Next.getDate() + 1); + } + return Next - Now; +} + +// HANDLE ALARMS FIRING +chrome.alarms.onAlarm.addListener(function (alarm) { + if (alarm.name === 'PolyPlus-UpdateCheck') { + RunUpdateNotifier(); + } +}); +function RunUpdateNotifier() { + chrome.storage.local.get(['PolyPlus_LiveVersion', 'PolyPlus_OutOfDate', 'PolyPlus_SkipUpdate'], function (result) { + const OutOfDate = result.PolyPlus_OutOfDate || false; + const SkipUpdate = result.PolyPlus_SkipUpdate || null; + const LiveVersion = result.PolyPlus_LiveVersion || Manifest.version; + if (OutOfDate !== true && SkipUpdate !== LiveVersion) { + fetch('https://polyplus.vercel.app/data/version.json') + .then((response) => { + if (!response.ok) { + throw new Error('Network not ok'); + } + return response.json(); + }) + .then((data) => { + chrome.storage.local.set({PolyPlus_LiveVersion: data.version}, function () { + console.log('Cached live version'); + }); + if (data.version > Manifest.version) { + chrome.storage.local.set({PolyPlus_OutOfDate: true, PolyPlus_ReleaseNotes: data.releaseNotes}, function () { + console.log('Cached update notifier result'); + }); + chrome.notifications.create( + '', + { + type: 'basic', + iconUrl: chrome.runtime.getURL('icon.png'), + title: 'New Update Available', + message: 'A new update is available for Poly+! (v' + data.version + ')' + }, + function (notificationID) { + chrome.notifications.onClicked.addListener(function (id) { + if (id === notificationID) { + chrome.tabs.create({url: 'https://github.com/IndexingGitHub/PolyPlus/releases', active: true}); + chrome.notifications.clear(notificationID); + } + }); + } + ); + chrome.action.setBadgeBackgroundColor({color: 'red'}, () => { + /* ... */ + }); + } + }) + .catch((error) => { + console.log(error); + }); + } + }); +} + +chrome.contextMenus.removeAll(function () { + chrome.contextMenus.create({ + title: 'Run Update Notifier', + id: 'PolyPlus-RunUpdateNotifier', + contexts: ['all'], + documentUrlPatterns: ['https://polytoria.com/my/settings/polyplus-debug'] + }); + + // COPY ASSET ID CONTEXT MENU ITEM REGISTRATION + chrome.contextMenus.create({ + title: 'Copy Asset ID', + id: 'PolyPlus-CopyID', + contexts: ['link'], + documentUrlPatterns: ['https://polytoria.com/*', SettingsURL], + targetUrlPatterns: ['https://polytoria.com/places/**', 'https://polytoria.com/users/**', 'https://polytoria.com/store/**'] + }); + + // COPY AVATAR HASH CONTEXT MENU ITEM REGISTRATION + chrome.contextMenus.create({ + title: 'Copy Avatar Hash', + id: 'PolyPlus-CopyAvatarHash', + contexts: ['image'], + documentUrlPatterns: ['https://polytoria.com/*', SettingsURL], + targetUrlPatterns: ['https://c0.ptacdn.com/thumbnails/avatars/**', 'https://c0.ptacdn.com/thumbnails/avatars/**'] + }); +}); + +// HANDLE CONTEXT MENU ITEMS +chrome.contextMenus.onClicked.addListener(function (info, tab) { + if (info.menuItemId === 'PolyPlus-CopyID') { + let ID = parseInt(info.linkUrl.split('/')[4]); + chrome.scripting + .executeScript({ + target: {tabId: tab.id}, + func: CopyAssetID, + args: [ID] + }) + .then(() => console.log('Copied ID!')); + } + + if (info.menuItemId === 'PolyPlus-CopyAvatarHash') { + let Hash = new URL(info.srcUrl).pathname.split('/')[3].replace('-icon', '').replace('.png', ''); + chrome.scripting + .executeScript({ + target: {tabId: tab.id}, + func: CopyAvatarHash, + args: [Hash] + }) + .then(() => console.log('Copied ID!')); + } + + if (info.menuItemId === 'PolyPlus-RunUpdateNotifier') { + RunUpdateNotifier(); + } +}); + +chrome.runtime.onMessage.addListener(function (message, sender) { + console.log('hi'); + message = message.message || ''; + console.log(message); + if (message === 'tooltip') { + console.log('is about tooltip'); + chrome.scripting.executeScript({ + target: {tabId: sender.tab.id}, + func: UpdateTooltips + }); + } +}); + +/* +GREEN LOGO WHEN EXTENSION APPLIES TO CURRENT TAB PAGE, RED WHEN IT DOESN'T +COMING SOON + +chrome.tabs.onActivated.addListener(function (info){ + chrome.tabs.get(info.tabId, function(tab){ + const Any = CheckIfScriptApplies(tab.url) + console.log(Any) + }); +}); + +function CheckIfScriptApplies(url) { + return Manifest.content_scripts.forEach(script => { + COMMENT + if (matchesUrl(script.matches, url)) { + return true + } + + script.matches.forEach(match => { + if (url.startsWith(match.replaceAll('*', ''))) { + return true + } + }) + }) +} + +function matchesUrl(patterns, url) { + return patterns.some(pattern => { + return new RegExp(pattern).test(url); + }); +} +*/ + +function CopyAssetID(id) { + navigator.clipboard + .writeText(id) + .then(() => { + alert('Successfully copied ID!'); + }) + .catch(() => { + alert('Failure to copy ID.'); + }); +} + +function CopyAvatarHash(hash) { + navigator.clipboard + .writeText(hash) + .then(() => { + alert('Successfully copied avatar hash!'); + }) + .catch(() => { + alert('Failure to copy avatar hash.'); + }); +} + +function UpdateTooltips() { + const Script = document.createElement('script'); + Script.innerHTML = ` + const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]') + const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl)) + `; + document.body.appendChild(Script); +} diff --git a/js/debug.js b/js/debug.js index a93e374..4bc6a0b 100644 --- a/js/debug.js +++ b/js/debug.js @@ -3,12 +3,12 @@ Accessable at /my/settings/polyplus#dev */ -if (window.location.pathname.split('/')[3] === "polyplus" && window.location.hash === '#dev') { - document.title = 'Poly+ Debug - Polytoria' - const Version = chrome.runtime.getManifest().version +if (window.location.pathname.split('/')[3] === 'polyplus' && window.location.hash === '#dev') { + document.title = 'Poly+ Debug - Polytoria'; + const Version = chrome.runtime.getManifest().version; - document.addEventListener('DOMContentLoaded', function() { - document.querySelector('#main-content .container').innerHTML = ` + document.addEventListener('DOMContentLoaded', function () { + document.querySelector('#main-content .container').innerHTML = ` -
-
-
-
- - Avatar Sandbox -
-
- -
- - - - - - - - - -
-
-
-
-
- -
-
- -
-
-
- - -
-
-
- - Body Colors -
-
-
-
- -
-
- -
-
- -
-
-
-
- feature of Poly+ -
-
- -
- -
-
-
Wearing
-
-
-
-
-
\ No newline at end of file + +
+
+
+
+ + Avatar Sandbox +
+
+ +
+ + + + + + + + + +
+
+
+
+
+ +
+
+ +
+
+
+ + +
+
+
+ + Body Colors +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ feature of Poly+ +
+
+ +
+ +
+
+
Wearing
+
+
+
+
+
diff --git a/resources/currencies.json b/resources/currencies.json index 1633d0b..ffab6f8 100755 --- a/resources/currencies.json +++ b/resources/currencies.json @@ -1,59 +1,59 @@ -{ - "Date": "2023-7-17", - "Data": [ - { - "USD": 0.009899999999999999, - "EUR": 0.011200000000000002, - "CAD": 0.0123, - "GBP": 0.008100000000000001, - "MXN": 0.1928, - "AUD": 0.014199999999999999, - "TRY": 0.1583 - }, - { - "USD": 0.009072727272727274, - "EUR": 0.010163636363636363, - "CAD": 0.011290909090909091, - "GBP": 0.007363636363636363, - "MXN": 0.17534545454545455, - "AUD": 0.013418181818181819, - "TRY": 0.14616363636363636 - }, - { - "USD": 0.00868695652173913, - "EUR": 0.009721739130434783, - "CAD": 0.010730434782608695, - "GBP": 0.007043478260869565, - "MXN": 0.1676521739130435, - "AUD": 0.012834782608695652, - "TRY": 0.13767826086956522 - }, - { - "USD": 0.009087272727272727, - "EUR": 0.00996, - "CAD": 0.010625454545454546, - "GBP": 0.006981818181818182, - "MXN": 0.17294545454545454, - "AUD": 0.012698181818181819, - "TRY": 0.14424 - }, - { - "USD": 0.008331666666666668, - "EUR": 0.009323333333333333, - "CAD": 0.00974, - "GBP": 0.006066666666666666, - "MXN": 0.15853333333333333, - "AUD": 0.012306666666666667, - "TRY": 0.13222 - }, - { - "USD": 0.0079992, - "EUR": 0.008950399999999999, - "CAD": 0.0093504, - "GBP": 0.005824, - "MXN": 0.152192, - "AUD": 0.011814400000000001, - "TRY": 0.12693120000000002 - } - ] -} \ No newline at end of file +{ + "Date": "2023-7-17", + "Data": [ + { + "USD": 0.009899999999999999, + "EUR": 0.011200000000000002, + "CAD": 0.0123, + "GBP": 0.008100000000000001, + "MXN": 0.1928, + "AUD": 0.014199999999999999, + "TRY": 0.1583 + }, + { + "USD": 0.009072727272727274, + "EUR": 0.010163636363636363, + "CAD": 0.011290909090909091, + "GBP": 0.007363636363636363, + "MXN": 0.17534545454545455, + "AUD": 0.013418181818181819, + "TRY": 0.14616363636363636 + }, + { + "USD": 0.00868695652173913, + "EUR": 0.009721739130434783, + "CAD": 0.010730434782608695, + "GBP": 0.007043478260869565, + "MXN": 0.1676521739130435, + "AUD": 0.012834782608695652, + "TRY": 0.13767826086956522 + }, + { + "USD": 0.009087272727272727, + "EUR": 0.00996, + "CAD": 0.010625454545454546, + "GBP": 0.006981818181818182, + "MXN": 0.17294545454545454, + "AUD": 0.012698181818181819, + "TRY": 0.14424 + }, + { + "USD": 0.008331666666666668, + "EUR": 0.009323333333333333, + "CAD": 0.00974, + "GBP": 0.006066666666666666, + "MXN": 0.15853333333333333, + "AUD": 0.012306666666666667, + "TRY": 0.13222 + }, + { + "USD": 0.0079992, + "EUR": 0.008950399999999999, + "CAD": 0.0093504, + "GBP": 0.005824, + "MXN": 0.152192, + "AUD": 0.011814400000000001, + "TRY": 0.12693120000000002 + } + ] +} diff --git a/resources/getUserDetails.js b/resources/getUserDetails.js index 2eb0bb7..5279c12 100644 --- a/resources/getUserDetails.js +++ b/resources/getUserDetails.js @@ -1,4 +1,7 @@ -window.localStorage.setItem('p+account_info', JSON.stringify({ - ID: userID, - Bricks: document.querySelector('.brickBalanceCont').innerText.replace(/\s+/g,'') -})) \ No newline at end of file +window.localStorage.setItem( + 'p+account_info', + JSON.stringify({ + ID: userID, + Bricks: document.querySelector('.brickBalanceCont').innerText.replace(/\s+/g, '') + }) +); diff --git a/resources/registerTooltips.js b/resources/registerTooltips.js index 1f1f977..d6304fc 100644 --- a/resources/registerTooltips.js +++ b/resources/registerTooltips.js @@ -1,2 +1,2 @@ -var tooltips = document.querySelectorAll('[data-bs-toggle="tooltip"]') -var list = [...tooltips].map(tool => new bootstrap.Tooltip(tool)) \ No newline at end of file +var tooltips = document.querySelectorAll('[data-bs-toggle="tooltip"]'); +var list = [...tooltips].map((tool) => new bootstrap.Tooltip(tool)); diff --git a/resources/utils.js b/resources/utils.js index 14a45b1..fd71cb5 100644 --- a/resources/utils.js +++ b/resources/utils.js @@ -8,115 +8,107 @@ HOW TO USE IN CONTENT SCRIPTS: */ function ParseFullNumber(ab) { - if (typeof(ab) === "number") { return ab } - const Suffixes = {"k": 1000, "m": 1000000, "b": 1000000000} - const Suffix = ab.slice(-1).toLowerCase(); - if (Suffixes[Suffix]) {return parseFloat(ab)*Suffixes[Suffix]} else {return parseFloat(ab)} + if (typeof ab === 'number') { + return ab; + } + const Suffixes = {k: 1000, m: 1000000, b: 1000000000}; + const Suffix = ab.slice(-1).toLowerCase(); + if (Suffixes[Suffix]) { + return parseFloat(ab) * Suffixes[Suffix]; + } else { + return parseFloat(ab); + } } export default { - DefaultSettings: { - PinnedGamesOn: true, - ForumMentsOn: true, - BestFriendsOn: false, - ImprovedFrListsOn: false, - IRLPriceWithCurrency: { - Enabled: true, - Currency: 0, - Package: 0 - }, - IRLPriceWithCurrencyOn: true, - IRLPriceWithCurrencyCurrency: 0, - IRLPriceWithCurrencyPackage: 0, - HideNotifBadgesOn: false, - StoreOwnTagOn: true, - ThemeCreatorOn: false, - ThemeCreator: { - Enabled: false, - BGColor: null, - BGImage: null, - BGImageSize: 'fit', - PrimaryTextColor: null, - SecondaryTextColor: null, - LinkTextColor: null, - WebsiteLogo: null - }, - ModifyNavOn: false, - ModifyNav: [ - { - Label: "Places", - Link: "https://polytoria.com/places" - }, - { - Label: "Store", - Link: "https://polytoria.com/store" - }, - { - Label: "Guilds", - Link: "https://polytoria.com/guilds" - }, - { - Label: "People", - Link: "https://polytoria.com/users" - }, - { - Label: "Forum", - Link: "https://polytoria.com/forum" - } - ], - MoreSearchFiltersOn: true, - ApplyMembershipTheme: { - Enabled: false, - Theme: 0 - }, - ApplyMembershipThemeOn: false, - ApplyMembershipThemeTheme: 0, - MultiCancelOutTradesOn: true, - ItemWishlistOn: true, - HideUpgradeBtnOn: false, - TryOnItemsOn: true, - OutfitCostOn: true, - ShowPlaceRevenueOn: true, - ReplaceItemSalesOn: false, - HoardersListOn: true, - HoardersList: { - Enabled: true, - AvatarsEnabled: false, - MinCopies: 2 - }, - LibraryDownloadsOn: true, - EventItemsCatOn: true, - HomeFriendCountOn: true, - HideUserAds: { - Enabled: false, - Banners: true, - Rectangles: true - } - }, - Limits: { - PinnedGames: 10, - BestFriends: 15, - ImprovedFrLists: 20, - ItemWishlist: 20 - }, - MeshTypes: [ - "hat", - "hair", - "head attachment", - "face accessory", - "neck accessory", - "head cover", - "back accessory", - "shoulder accessory", - "tool" - ], - TextureTypes: [ - "shirt", - "pants", - "face" - ], - CalculateIRL: async function(bricks, to, brickPackage) { - /* + DefaultSettings: { + PinnedGamesOn: true, + ForumMentsOn: true, + BestFriendsOn: false, + ImprovedFrListsOn: false, + IRLPriceWithCurrency: { + Enabled: true, + Currency: 0, + Package: 0 + }, + IRLPriceWithCurrencyOn: true, + IRLPriceWithCurrencyCurrency: 0, + IRLPriceWithCurrencyPackage: 0, + HideNotifBadgesOn: false, + StoreOwnTagOn: true, + ThemeCreatorOn: false, + ThemeCreator: { + Enabled: false, + BGColor: null, + BGImage: null, + BGImageSize: 'fit', + PrimaryTextColor: null, + SecondaryTextColor: null, + LinkTextColor: null, + WebsiteLogo: null + }, + ModifyNavOn: false, + ModifyNav: [ + { + Label: 'Places', + Link: 'https://polytoria.com/places' + }, + { + Label: 'Store', + Link: 'https://polytoria.com/store' + }, + { + Label: 'Guilds', + Link: 'https://polytoria.com/guilds' + }, + { + Label: 'People', + Link: 'https://polytoria.com/users' + }, + { + Label: 'Forum', + Link: 'https://polytoria.com/forum' + } + ], + MoreSearchFiltersOn: true, + ApplyMembershipTheme: { + Enabled: false, + Theme: 0 + }, + ApplyMembershipThemeOn: false, + ApplyMembershipThemeTheme: 0, + MultiCancelOutTradesOn: true, + ItemWishlistOn: true, + HideUpgradeBtnOn: false, + TryOnItemsOn: true, + OutfitCostOn: true, + ShowPlaceRevenueOn: true, + ReplaceItemSalesOn: false, + HoardersListOn: true, + HoardersList: { + Enabled: true, + AvatarsEnabled: false, + MinCopies: 2 + }, + LibraryDownloadsOn: true, + EventItemsCatOn: true, + HomeFriendCountOn: true, + HideUserAds: { + Enabled: false, + Banners: true, + Rectangles: true + } + }, + Limits: { + PinnedGames: 10, + BestFriends: 15, + ImprovedFrLists: 20, + ItemWishlist: 20 + }, + MeshTypes: ['hat', 'hair', 'head attachment', 'face accessory', 'neck accessory', 'head cover', 'back accessory', 'shoulder accessory', 'tool'], + TextureTypes: ['shirt', 'pants', 'face'], + CalculateIRL: async function (bricks, to, brickPackage) { + /* Disabled for now: currency retrieval from currencies.json const response = await fetch(chrome.runtime.getURL('resources/currencies.json')) @@ -127,108 +119,114 @@ export default { const UnitPrice = data.Data[brickPackage][to] */ - let Icon = "$" - let Result = "N/A"; - let Display = "Currency Not Found"; + let Icon = '$'; + let Result = 'N/A'; + let Display = 'Currency Not Found'; - // is the icon abbreviated text, or an entity - let IsIconAbbr = false + // is the icon abbreviated text, or an entity + let IsIconAbbr = false; - bricks = ParseFullNumber(bricks.replace(/,/g, '')) - switch (to) { - // U.S. Dollar - case 0: - Result = (bricks * 0.0099).toFixed(2) - Display = "USD" + bricks = ParseFullNumber(bricks.replace(/,/g, '')); + switch (to) { + // U.S. Dollar + case 0: + Result = (bricks * 0.0099).toFixed(2); + Display = 'USD'; - break + break; - // Euro - case 1: - Icon = "€" - Result = (bricks * 0.009).toFixed(2) - Display = "EUR" + // Euro + case 1: + Icon = '€'; + Result = (bricks * 0.009).toFixed(2); + Display = 'EUR'; - break + break; - // Canadian Dollar - case 2: - Icon = "CAD$" - IsIconAbbr = true + // Canadian Dollar + case 2: + Icon = 'CAD$'; + IsIconAbbr = true; - Result = (bricks * 0.0131).toFixed(2) - Display = "CAD" + Result = (bricks * 0.0131).toFixed(2); + Display = 'CAD'; - break + break; - // Great British Pound - case 3: - Icon = "£" - Result = (bricks * 0.0077).toFixed(2) - Display = "GBP" + // Great British Pound + case 3: + Icon = '£'; + Result = (bricks * 0.0077).toFixed(2); + Display = 'GBP'; - break + break; - // Mexican Peso - case 4: - Icon = "MXN$" - IsIconAbbr = true + // Mexican Peso + case 4: + Icon = 'MXN$'; + IsIconAbbr = true; - Result = (bricks * 0.1691).toFixed(2) - Display = "MXN" + Result = (bricks * 0.1691).toFixed(2); + Display = 'MXN'; - break + break; - // Australia Dollar - case 5: - Icon = "AU$" - IsIconAbbr = true + // Australia Dollar + case 5: + Icon = 'AU$'; + IsIconAbbr = true; - Result = (bricks * 0.0144).toFixed(2) - Display = "AUD" + Result = (bricks * 0.0144).toFixed(2); + Display = 'AUD'; - break + break; - // Turkish Lira - case 6: - Icon = "₺" - Result = (bricks * 0.2338).toFixed(2) - Display = "TRY" + // Turkish Lira + case 6: + Icon = '₺'; + Result = (bricks * 0.2338).toFixed(2); + Display = 'TRY'; - break + break; - // Brazillian Real - case 7: - Icon = "R$" - IsIconAbbr = true + // Brazillian Real + case 7: + Icon = 'R$'; + IsIconAbbr = true; - Result = (bricks * 0.49).toFixed(2) - Display = "BRL" + Result = (bricks * 0.49).toFixed(2); + Display = 'BRL'; - break - } + break; + } - if (typeof(Result) === "number") { Result = Result.toFixed(2) } + if (typeof Result === 'number') { + Result = Result.toFixed(2); + } - return { - result: Result, - display: Display, - icon: Icon, - isIconAbbr: IsIconAbbr - } - }, - InjectResource: function(path, element) { - // Function by devjin0617 on GitHub - // Gist: https://gist.github.com/devjin0617/3e8d72d94c1b9e69690717a219644c7a - // Slightly modified to use constants and fit the rest of the code style more - // Function only used for registering bootstrap tooltips currently + return { + result: Result, + display: Display, + icon: Icon, + isIconAbbr: IsIconAbbr + }; + }, + InjectResource: function (path, element) { + // Function by devjin0617 on GitHub + // Gist: https://gist.github.com/devjin0617/3e8d72d94c1b9e69690717a219644c7a + // Slightly modified to use constants and fit the rest of the code style more + // Function only used for registering bootstrap tooltips currently - if (element === undefined) { element = 'body' } - const Node = document.getElementsByTagName(element)[0]; - const Script = document.createElement('script'); - Script.setAttribute('type', 'text/javascript'); - Script.setAttribute('src', chrome.runtime.getURL('resources/' + path + '.js')); - Script.addEventListener('load', function(){Script.remove()}) - Node.appendChild(Script); - } -} + if (element === undefined) { + element = 'body'; + } + const Node = document.getElementsByTagName(element)[0]; + const Script = document.createElement('script'); + Script.setAttribute('type', 'text/javascript'); + Script.setAttribute('src', chrome.runtime.getURL('resources/' + path + '.js')); + Script.addEventListener('load', function () { + Script.remove(); + }); + Node.appendChild(Script); + } +}; diff --git a/settings.html b/settings.html index fb2c63f..8f54f4e 100755 --- a/settings.html +++ b/settings.html @@ -1,692 +1,691 @@ - - - - - - - - Poly+ Settings - - - - - - - - - - - - - - - - - - -
-

Poly+ Settings

-

-   - - Pinned Games - - -
- Pin your favorite places to the top of the homepage! (limit: places) -

-

-   - - Forum Mentions - - -
- Get a quick link to the popular person everyone is talking about's profile! -
- * Forum Mentions do not notify the user or show up as a notification on their account. -

-

-   - - Best Friends - - -
- Prioritize the bestest of friends on applicable friend lists! (limit: best friends) -

-

-   - - Improved Friend Lists - - -
- - Accept or decline all friend requests with the click of a button or multi-remove existing friends! -
- * You can only remove up to friends at once. -
-

-

-   - - Show IRL price with Brick Count - - -
- - See the real life currency value along with Bricks across the site! -
- * Currencies were calculated on [DATE]. -
- * Currencies other than USD are purely approximations. -
- - -

-

-   - - Hide Notification Badges - - -
- Hide the annoying red circles on the sidebar! -

-

-   - - Show "OWNED" Tag on Store Main Page - - -
- Quickly see if you own the item at a glance with a little tag in the top left corner of item cards on the main store page! -

-

-   - - Theme Creator - - - -
- Unleash your creativity and customize the Polytoria website to your liking! (this feature is still in development) -

-

-   - - More Search Filters - - -
- Easily find what you're looking for with more search filters side-wide! (this does not affect the main site search on the navbar) -
- * This currently only has a "Creator" username filter on the forum search page, more search filters are yet to come. -

-

-   - - Apply Membership Theme for Free - - -
- Ever want the fancy membership themes for completely free? Well now you can get apply them site-wide! - -

-

-   - - Multi-Cancel Outbound Trades - - -
- - Quickly cancel several out-bound trades (trades that you have sent) all at once -
- * You can only cancel up to 10 trades at once. -
-

-

-   - - Modify Navbar - - - -
- - Customize the navbar to your liking! - -

-

-   - - Item Wishlist - - -
- - Wishlist that item that you REALLY want! - -

- -

-   - - Try-On Items - - -
- See how that new item looks on your avatar before spending your bricks! -

-

-   - - Show Outfit Cost on Profiles - - -
- Quickly see how many bricks a user spent on their avatar! -

-

-   - - Show Approximate Place Revenue - - -
- Quickly see how many bricks a user has gained from one of their places! -
- * Gamepass revenue is calculated assuming the price hasn't changed and all users that bought the gamepass, bought it at the same price that it is at the time of calculating. -

-

-   - - Show "Owners" instead of "Sales" - - -
- Replace the "Sales" statistic with the "Owners" statistic if the item has 0 sales (most likely meaning it is an item awarded by staff). -

-

-   - - Collectibles' Hoarders List - - -
- List all the users that have more than 1 copy of a collectible! - - - - - -

-

-   - - Quick Library Downloads - - -
- Quickly download a model (as a .ptmd file), mesh, decal, or sound right from the page showing you details about the asset! -

-

-   - - "Event Items" Store Category - - -
- List all the on-going and past event items separated by their event with a store category! -

-

-   - - Show Friend Count on Homepage - - -
- See how many friends you have on your homepage/dashboard, just scroll to the "friends" section and you'll see it next to the heading! -

-

-   - - Timed-Item Owner Check - - -
- Click the shopping bags icon in the bottom left-hand corner of the timed item's item thumbnail to toggle an input and a button. Then just enter someone's username and it'll tell you whether they own it or not and if so what serial! -

-

-   - - Hide User Ads - - -
- Hide those annoying out of context Discord message user ads! -
- * Ads that are shown to help support Polytoria are not hidden. - - - - - - - - -

-
-
-

EXPERIMENTAL SETTINGS

-

These features are a work in progress.

-
-

-   - - Game Profiles - - -
- Traverse a place view page that matches a place's color palette! -
- * Place creators must request a game profile for one to be made. -
- * This feature will be expanded upon in the future. -

-

-   - - Inline Editing - - -
- Quickly edit your asset's details such as name and description on the same page as viewing the asset! -
- * This feature currently only supports places. -
- * This feature is not finished or polished. -

-

-   - - Forum Unix Timestamps - - -
- See a date and time that is adjusted to everyone (who is using Poly+)'s local time -
- * The styling for this feature is not yet done. -

-

-   - - Avatar Sandbox - - -
- Create an avatar with all the item possibilities available to your heart's content! -
- * This feature is not polished - things like modifying avatar "Body Colors", pagination, outfits, etc haven't been added. -

-
-
-
-
- - -
- -
- - - + + + + + + + + Poly+ Settings + + + + + + + + + + + + + + + + + + +
+

Poly+ Settings

+

+   + + Pinned Games + + +
+ Pin your favorite places to the top of the homepage! (limit: places) +

+

+   + + Forum Mentions + + +
+ Get a quick link to the popular person everyone is talking about's profile! +
+ * Forum Mentions do not notify the user or show up as a notification on their account. +

+

+   + + Best Friends + + +
+ Prioritize the bestest of friends on applicable friend lists! (limit: best friends) +

+

+   + + Improved Friend Lists + + +
+ + Accept or decline all friend requests with the click of a button or multi-remove existing friends! +
+ * You can only remove up to friends at once. +
+

+

+   + + Show IRL price with Brick Count + + +
+ + See the real life currency value along with Bricks across the site! +
+ * Currencies were calculated on [DATE]. +
+ * Currencies other than USD are purely approximations. +
+ + +

+

+   + + Hide Notification Badges + + +
+ Hide the annoying red circles on the sidebar! +

+

+   + + Show "OWNED" Tag on Store Main Page + + +
+ Quickly see if you own the item at a glance with a little tag in the top left corner of item cards on the main store page! +

+

+   + + Theme Creator + + + +
+ Unleash your creativity and customize the Polytoria website to your liking! (this feature is still in development) +

+

+   + + More Search Filters + + +
+ Easily find what you're looking for with more search filters side-wide! (this does not affect the main site search on the navbar) +
+ * This currently only has a "Creator" username filter on the forum search page, more search filters are yet to come. +

+

+   + + Apply Membership Theme for Free + + +
+ Ever want the fancy membership themes for completely free? Well now you can get apply them site-wide! + +

+

+   + + Multi-Cancel Outbound Trades + + +
+ + Quickly cancel several out-bound trades (trades that you have sent) all at once +
+ * You can only cancel up to 10 trades at once. +
+

+

+   + + Modify Navbar + + + +
+ Customize the navbar to your liking! +

+

+   + + Item Wishlist + + +
+ Wishlist that item that you REALLY want! +

+ +

+   + + Try-On Items + + +
+ See how that new item looks on your avatar before spending your bricks! +

+

+   + + Show Outfit Cost on Profiles + + +
+ Quickly see how many bricks a user spent on their avatar! +

+

+   + + Show Approximate Place Revenue + + +
+ Quickly see how many bricks a user has gained from one of their places! +
+ * Gamepass revenue is calculated assuming the price hasn't changed and all users that bought the gamepass, bought it at the same price that it is at the time of calculating. +

+

+   + + Show "Owners" instead of "Sales" + + +
+ Replace the "Sales" statistic with the "Owners" statistic if the item has 0 sales (most likely meaning it is an item awarded by staff). +

+

+   + + Collectibles' Hoarders List + + +
+ List all the users that have more than 1 copy of a collectible! + + + + + +

+

+   + + Quick Library Downloads + + +
+ Quickly download a model (as a .ptmd file), mesh, decal, or sound right from the page showing you details about the asset! +

+

+   + + "Event Items" Store Category + + +
+ List all the on-going and past event items separated by their event with a store category! +

+

+   + + Show Friend Count on Homepage + + +
+ See how many friends you have on your homepage/dashboard, just scroll to the "friends" section and you'll see it next to the heading! +

+

+   + + Timed-Item Owner Check + + +
+ Click the shopping bags icon in the bottom left-hand corner of the timed item's item thumbnail to toggle an input and a button. Then just enter someone's username and it'll tell you whether + they own it or not and if so what serial! +

+

+   + + Hide User Ads + + +
+ Hide those annoying out of context Discord message user ads! +
+ * Ads that are shown to help support Polytoria are not hidden. + + + + + + + + +

+
+
+

EXPERIMENTAL SETTINGS

+

These features are a work in progress.

+
+

+   + + Game Profiles + + +
+ Traverse a place view page that matches a place's color palette! +
+ * Place creators must request a game profile for one to be made. +
+ * This feature will be expanded upon in the future. +

+

+   + + Inline Editing + + +
+ Quickly edit your asset's details such as name and description on the same page as viewing the asset! +
+ * This feature currently only supports places. +
+ * This feature is not finished or polished. +

+

+   + + Forum Unix Timestamps + + +
+ See a date and time that is adjusted to everyone (who is using Poly+)'s local time +
+ * The styling for this feature is not yet done. +

+

+   + + Avatar Sandbox + + +
+ Create an avatar with all the item possibilities available to your heart's content! +
+ * This feature is not polished - things like modifying avatar "Body Colors", pagination, outfits, etc haven't been added. +

+
+
+
+
+ + +
+ +
+ + + diff --git a/settings.js b/settings.js index 94c1fac..070c2b6 100644 --- a/settings.js +++ b/settings.js @@ -1,400 +1,426 @@ -const SaveBtn = document.getElementById('Save') -const Elements = Array.from(document.getElementsByClassName('setting-container')) +const SaveBtn = document.getElementById('Save'); +const Elements = Array.from(document.getElementsByClassName('setting-container')); var Settings; var Utilities; (async () => { - Utilities = await import(chrome.runtime.getURL('resources/utils.js')); - Utilities = Utilities.default - LoadCurrent() + Utilities = await import(chrome.runtime.getURL('resources/utils.js')); + Utilities = Utilities.default; + LoadCurrent(); - document.getElementById('PinnedGames-limit').innerText = Utilities.Limits.PinnedGames - document.getElementById('BestFriends-limit').innerText = Utilities.Limits.BestFriends - document.getElementById('ImprovedFrLists-limit').innerText = Utilities.Limits.ImprovedFrLists - document.getElementById('ItemWishlist-limit').innerText = Utilities.Limits.ItemWishlist + document.getElementById('PinnedGames-limit').innerText = Utilities.Limits.PinnedGames; + document.getElementById('BestFriends-limit').innerText = Utilities.Limits.BestFriends; + document.getElementById('ImprovedFrLists-limit').innerText = Utilities.Limits.ImprovedFrLists; + document.getElementById('ItemWishlist-limit').innerText = Utilities.Limits.ItemWishlist; })(); // Handle buttons at the bottom of the page -document.getElementById('ResetDefaults').addEventListener('click', function() { - document.getElementById('ResetDefaults-Modal').showModal(); +document.getElementById('ResetDefaults').addEventListener('click', function () { + document.getElementById('ResetDefaults-Modal').showModal(); }); -SaveBtn.addEventListener("click", function() { - Save(); +SaveBtn.addEventListener('click', function () { + Save(); }); // Handle modal buttons for Reset Defaults modal -document.getElementById('ResetDefaults-Modal-Yes').addEventListener('click', function() { - Settings = Utilities.DefaultSettings - Save() - setTimeout(function () { - LoadCurrent(); - document.getElementById('ResetDefaults-Modal').close(); - }, 400) +document.getElementById('ResetDefaults-Modal-Yes').addEventListener('click', function () { + Settings = Utilities.DefaultSettings; + Save(); + setTimeout(function () { + LoadCurrent(); + document.getElementById('ResetDefaults-Modal').close(); + }, 400); }); -document.getElementById('ResetDefaults-Modal-No').addEventListener('click', function() { - document.getElementById('ResetDefaults-Modal').close(); +document.getElementById('ResetDefaults-Modal-No').addEventListener('click', function () { + document.getElementById('ResetDefaults-Modal').close(); }); // Handle leaving the settings page before saving -window.onbeforeunload = function() { - if (SaveBtn.getAttribute('disabled') !== undefined) { - return "Are you sure you'd like to leave? Your Poly+ settings haven't been saved." - } -} +window.onbeforeunload = function () { + if (SaveBtn.getAttribute('disabled') !== undefined) { + return "Are you sure you'd like to leave? Your Poly+ settings haven't been saved."; + } +}; // Loop thru each setting container and handle toggling, selecting, opening modal, etc -Elements.forEach(element => { - console.log('Handle Element', element) - let Button = element.getElementsByTagName('button')[0] - let Options = element.getElementsByTagName('button')[1] - let Select = element.getElementsByTagName('select')[0] - let Checkbox = element.getElementsByTagName('input')[0] +Elements.forEach((element) => { + console.log('Handle Element', element); + let Button = element.getElementsByTagName('button')[0]; + let Options = element.getElementsByTagName('button')[1]; + let Select = element.getElementsByTagName('select')[0]; + let Checkbox = element.getElementsByTagName('input')[0]; - if (Button) { - Button.addEventListener('click', function() { - SetSetting(Button, "bool") - }); - } + if (Button) { + Button.addEventListener('click', function () { + SetSetting(Button, 'bool'); + }); + } - if (Select) { - Select.addEventListener('change', function(){ - if (Select.getAttribute('data-useValue') !== undefined) { - let Value = Select.options[Select.selectedIndex].value - if (!isNaN(Value)) { Value = parseInt(Value) } - SetSetting(Select, Value, false) - } else { - SetSetting(Select, Select.selectedIndex, false) - } - }) - } + if (Select) { + Select.addEventListener('change', function () { + if (Select.getAttribute('data-useValue') !== undefined) { + let Value = Select.options[Select.selectedIndex].value; + if (!isNaN(Value)) { + Value = parseInt(Value); + } + SetSetting(Select, Value, false); + } else { + SetSetting(Select, Select.selectedIndex, false); + } + }); + } - if (Checkbox) { - Checkbox.addEventListener('change', function(){ - SetSetting(Checkbox, Checkbox.checked, false) - }) - } + if (Checkbox) { + Checkbox.addEventListener('change', function () { + SetSetting(Checkbox, Checkbox.checked, false); + }); + } - if (Options) { - const Modal = document.getElementById(Options.getAttribute('data-modal') + '-Modal') - const ModalButtons = Modal.getElementsByTagName('button') - const ModalInputs = Modal.getElementsByTagName('input') - const ModalSelect = Modal.getElementsByTagName('select') + if (Options) { + const Modal = document.getElementById(Options.getAttribute('data-modal') + '-Modal'); + const ModalButtons = Modal.getElementsByTagName('button'); + const ModalInputs = Modal.getElementsByTagName('input'); + const ModalSelect = Modal.getElementsByTagName('select'); - Options.addEventListener('click', function(){ - Array.from(ModalButtons).filter((x) => !x.classList.contains('ignore')).forEach(button => { - button.addEventListener('click', function(){ - const Setting = button.getAttribute('data-setting') + Options.addEventListener('click', function () { + Array.from(ModalButtons) + .filter((x) => !x.classList.contains('ignore')) + .forEach((button) => { + button.addEventListener('click', function () { + const Setting = button.getAttribute('data-setting'); - if (Setting === '[save]') { - // Save Modal Button + if (Setting === '[save]') { + // Save Modal Button - Array.from(ModalInputs).filter((x) => !x.classList.contains('ignore')).forEach(input => { - SetSetting(input, input.value, false, Modal.getAttribute('data-setting')) - }); - Array.from(ModalSelect).filter((x) => !x.classList.contains('ignore')).forEach(select => { - SetSetting(select, select.selectedIndex, false, Modal.getAttribute('data-setting')) - }); - Save(); - setTimeout(function () { - LoadCurrent(); - Modal.close(); - }, 400) - } else if (Setting === '[reset-default]') { - // Reset to Defaults Modal Button + Array.from(ModalInputs) + .filter((x) => !x.classList.contains('ignore')) + .forEach((input) => { + SetSetting(input, input.value, false, Modal.getAttribute('data-setting')); + }); + Array.from(ModalSelect) + .filter((x) => !x.classList.contains('ignore')) + .forEach((select) => { + SetSetting(select, select.selectedIndex, false, Modal.getAttribute('data-setting')); + }); + Save(); + setTimeout(function () { + LoadCurrent(); + Modal.close(); + }, 400); + } else if (Setting === '[reset-default]') { + // Reset to Defaults Modal Button - if (confirm("Are you sure you'd like to reset these options to their defaults?") === true) { - Settings[Modal.getAttribute('data-setting')] = Utilities.DefaultSettings[Modal.getAttribute('data-setting')] - Save() - Modal.close(); - } - } else if (Setting === '[cancel]') { - // Cancel Changes Button + if (confirm("Are you sure you'd like to reset these options to their defaults?") === true) { + Settings[Modal.getAttribute('data-setting')] = Utilities.DefaultSettings[Modal.getAttribute('data-setting')]; + Save(); + Modal.close(); + } + } else if (Setting === '[cancel]') { + // Cancel Changes Button - Modal.close(); - } else { - // Default Toggle Button + Modal.close(); + } else { + // Default Toggle Button - SetSetting(button, "bool", false, Modal.getAttribute('data-setting')) - } - }) - }) + SetSetting(button, 'bool', false, Modal.getAttribute('data-setting')); + } + }); + }); - Array.from(ModalInputs).filter((x) => !x.classList.contains('ignore')).forEach(input => { - const Status = GetSettingValue(input, Modal.getAttribute('data-setting')) - if (Status !== "undefined" && Status !== undefined) { - input.value = Status - } else { - input.value = '' - } - }); + Array.from(ModalInputs) + .filter((x) => !x.classList.contains('ignore')) + .forEach((input) => { + const Status = GetSettingValue(input, Modal.getAttribute('data-setting')); + if (Status !== 'undefined' && Status !== undefined) { + input.value = Status; + } else { + input.value = ''; + } + }); - Array.from(ModalSelect).filter((x) => !x.classList.contains('ignore')).forEach(select => { - const Status = GetSettingValue(select, Modal.getAttribute('data-setting')) - if (Status !== "undefined" && Status !== undefined) { - select.selectedIndex = Status - } - }); + Array.from(ModalSelect) + .filter((x) => !x.classList.contains('ignore')) + .forEach((select) => { + const Status = GetSettingValue(select, Modal.getAttribute('data-setting')); + if (Status !== 'undefined' && Status !== undefined) { + select.selectedIndex = Status; + } + }); - Modal.showModal() - }) - } + Modal.showModal(); + }); + } }); function LoadCurrent() { - chrome.storage.sync.get(["PolyPlus_Settings"], function(result) { - Settings = MergeObjects(result.PolyPlus_Settings || Utilities.DefaultSettings, Utilities.DefaultSettings) + chrome.storage.sync.get(['PolyPlus_Settings'], function (result) { + Settings = MergeObjects(result.PolyPlus_Settings || Utilities.DefaultSettings, Utilities.DefaultSettings); - console.log("Current Settings: ", Settings) + console.log('Current Settings: ', Settings); - Elements.forEach(element => { - console.log('For Each Update') - UpdateElementState(element) - }); - }); + Elements.forEach((element) => { + console.log('For Each Update'); + UpdateElementState(element); + }); + }); } function SetSetting(element, value, update, modalParent) { - const name = element.getAttribute('data-setting') - let parent = element.getAttribute('data-parent') + const name = element.getAttribute('data-setting'); + let parent = element.getAttribute('data-parent'); - if (modalParent !== undefined) { - console.log(modalParent) - parent = modalParent - } + if (modalParent !== undefined) { + console.log(modalParent); + parent = modalParent; + } - if (value === "bool") { - value = !GetSettingValue(element, modalParent) - } - if (parent !== null) { - let Parent = Object.values(Settings)[Object.keys(Settings).indexOf(parent)] - if (!isNaN(element.getAttribute('data-parent')) && element.getAttribute('data-parent') !== null) { - console.log('is numbere!!!!') - Parent = Parent[parseInt(element.getAttribute('data-parent'))] - } - Parent[name] = value - } else { - Settings[name] = value - } - if (update !== false) { - UpdateElementState(document.querySelector(`.setting-container:has([data-setting="${name}"])${ (parent !== null) ? `:has([data-parent="${parent}"])` : '' }`), value) - } - if (SaveBtn.getAttribute('disabled')) { - SaveBtn.removeAttribute('disabled') - } + if (value === 'bool') { + value = !GetSettingValue(element, modalParent); + } + if (parent !== null) { + let Parent = Object.values(Settings)[Object.keys(Settings).indexOf(parent)]; + if (!isNaN(element.getAttribute('data-parent')) && element.getAttribute('data-parent') !== null) { + console.log('is numbere!!!!'); + Parent = Parent[parseInt(element.getAttribute('data-parent'))]; + } + Parent[name] = value; + } else { + Settings[name] = value; + } + if (update !== false) { + UpdateElementState(document.querySelector(`.setting-container:has([data-setting="${name}"])${parent !== null ? `:has([data-parent="${parent}"])` : ''}`), value); + } + if (SaveBtn.getAttribute('disabled')) { + SaveBtn.removeAttribute('disabled'); + } - const getInObject = function(a, b) { return Object.values(a)[Object.keys(a).indexOf(b)] } + const getInObject = function (a, b) { + return Object.values(a)[Object.keys(a).indexOf(b)]; + }; } function GetSettingValue(element, modalParent) { - const name = element.getAttribute('data-setting') - let parent = element.getAttribute('data-parent') + const name = element.getAttribute('data-setting'); + let parent = element.getAttribute('data-parent'); - if (modalParent !== undefined) { - parent = modalParent - } + if (modalParent !== undefined) { + parent = modalParent; + } - let Status = name; - if (parent !== null) { + let Status = name; + if (parent !== null) { + let Parent = Object.values(Settings)[Object.keys(Settings).indexOf(parent)]; + if (!isNaN(element.getAttribute('data-parent')) && element.getAttribute('data-parent') !== null) { + Parent = Parent[parseInt(element.getAttribute('data-parent'))]; + Status = Parent[name]; + } else { + Status = Object.values(Parent)[Object.keys(Parent).indexOf(name)]; + } - let Parent = Object.values(Settings)[Object.keys(Settings).indexOf(parent)] - if (!isNaN(element.getAttribute('data-parent')) && element.getAttribute('data-parent') !== null) { - Parent = Parent[parseInt(element.getAttribute('data-parent'))] - Status = Parent[name] - } else { - Status = Object.values(Parent)[Object.keys(Parent).indexOf(name)] - } - - /* + /* if (!isNaN(element.getAttribute('data-parent'))) { Parent = Parent[parseInt(element.getAttribute('data-parent'))] } Status = Object.values(Parent)[Object.keys(Parent).indexOf(Status)] */ - } else { - Status = Settings[Status] - } - console.log('Get Value Result', Status) + } else { + Status = Settings[Status]; + } + console.log('Get Value Result', Status); - return Status + return Status; } function UpdateElementState(element, status) { - console.log('Update Element State', element, status) + console.log('Update Element State', element, status); - const Button = element.getElementsByClassName('toggle-btn')[0] + const Button = element.getElementsByClassName('toggle-btn')[0]; - if (status === undefined) { - console.log('Update Element State, no status provided') - status = GetSettingValue(Button) - } + if (status === undefined) { + console.log('Update Element State, no status provided'); + status = GetSettingValue(Button); + } - if (status === true) { - console.log('Is Enabled so Set False') - element.classList.add('enabled') - element.classList.remove('disabled') - Button.innerText = 'Disable' - Button.classList.add('btn-danger') - Button.classList.remove('btn-success') - } else { - console.log('Is Disabled so Set True') - element.classList.add('disabled') - element.classList.remove('enabled') - Button.innerText = 'Enable' - Button.classList.add('btn-success') - Button.classList.remove('btn-danger') - } + if (status === true) { + console.log('Is Enabled so Set False'); + element.classList.add('enabled'); + element.classList.remove('disabled'); + Button.innerText = 'Disable'; + Button.classList.add('btn-danger'); + Button.classList.remove('btn-success'); + } else { + console.log('Is Disabled so Set True'); + element.classList.add('disabled'); + element.classList.remove('enabled'); + Button.innerText = 'Enable'; + Button.classList.add('btn-success'); + Button.classList.remove('btn-danger'); + } - let SelectInput = element.getElementsByTagName('select')[0] - if (SelectInput) { - console.log('Select Found') - SelectInput.selectedIndex = GetSettingValue(SelectInput) - } + let SelectInput = element.getElementsByTagName('select')[0]; + if (SelectInput) { + console.log('Select Found'); + SelectInput.selectedIndex = GetSettingValue(SelectInput); + } - let Checkbox = Array.from(element.getElementsByTagName('input')) - if (Checkbox.length > 0) { - console.log('Checkbox/Input(s) Found', Checkbox) - Checkbox.forEach(check => { - console.log('check', GetSettingValue(check)) - check.checked = GetSettingValue(check) - }) - } + let Checkbox = Array.from(element.getElementsByTagName('input')); + if (Checkbox.length > 0) { + console.log('Checkbox/Input(s) Found', Checkbox); + Checkbox.forEach((check) => { + console.log('check', GetSettingValue(check)); + check.checked = GetSettingValue(check); + }); + } } function Save() { - document.title = 'Poly+ Settings' - SaveBtn.setAttribute('disabled', 'true') - chrome.storage.sync.set({ 'PolyPlus_Settings': Settings, arrayOrder: true }, function() { - console.log('Saved successfully!'); - }); + document.title = 'Poly+ Settings'; + SaveBtn.setAttribute('disabled', 'true'); + chrome.storage.sync.set({PolyPlus_Settings: Settings, arrayOrder: true}, function () { + console.log('Saved successfully!'); + }); - console.log("Save:", Settings); + console.log('Save:', Settings); } -let LoadThemeFromJSONBtn = document.getElementById('LoadThemeFromJSONBtn') -let SaveThemeToJSONInput = document.getElementById('SaveThemeToJSONInput') -let CopyThemeJSONBtn = document.getElementById('CopyThemeJSONBtn') -LoadThemeFromJSONBtn.addEventListener('click', function(){ - LoadThemeJSON(LoadThemeFromJSONBtn.previousElementSibling.value) +let LoadThemeFromJSONBtn = document.getElementById('LoadThemeFromJSONBtn'); +let SaveThemeToJSONInput = document.getElementById('SaveThemeToJSONInput'); +let CopyThemeJSONBtn = document.getElementById('CopyThemeJSONBtn'); +LoadThemeFromJSONBtn.addEventListener('click', function () { + LoadThemeJSON(LoadThemeFromJSONBtn.previousElementSibling.value); }); -document.getElementById('theme-creator').getElementsByTagName('button')[1].addEventListener('click', function(){ - SaveThemeToJSONInput.value = JSON.stringify(Settings.ThemeCreator) -}); -CopyThemeJSONBtn.addEventListener('click', function(){ - if (SaveThemeToJSONInput.value.length > 0) { - navigator.clipboard.writeText(SaveThemeToJSONInput.value) - .then(() => { - alert('Successfully copied theme data to clipboard!') - }) - .catch(() => { - alert('Failure to copy theme data to clipboard.') - }); - } +document + .getElementById('theme-creator') + .getElementsByTagName('button')[1] + .addEventListener('click', function () { + SaveThemeToJSONInput.value = JSON.stringify(Settings.ThemeCreator); + }); +CopyThemeJSONBtn.addEventListener('click', function () { + if (SaveThemeToJSONInput.value.length > 0) { + navigator.clipboard + .writeText(SaveThemeToJSONInput.value) + .then(() => { + alert('Successfully copied theme data to clipboard!'); + }) + .catch(() => { + alert('Failure to copy theme data to clipboard.'); + }); + } }); function LoadThemeJSON(string) { - try { - let JSONTable = JSON.parse(string) - if (JSONTable.length === Utilities.DefaultSettings.ThemeCreator.length) { - if (confirm('Are you sure you\'d like to replace this theme with the theme specified in the JSON?') === true) { - LoadThemeFromJSONBtn.previousElementSibling.value = '' - document.getElementById('ThemeCreator-Modal').close() - for (let i = 0; i < JSONTable.length; i++) { - if (JSONTable[i][0] !== "#") { - JSONTable[i] = "" - } - } - Settings.ThemeCreator = MergeObjects(JSONTable, Utilities.DefaultSettings.ThemeCreator) - Save(); - console.log(JSONTable.length, JSONTable, 'applied') - document.getElementById('ThemeCreator').getElementsByTagName('button')[1].click(); - } - } else { - alert('JSON is not a theme!') - } - } catch (error) { - alert('JSON is invalid!') - } + try { + let JSONTable = JSON.parse(string); + if (JSONTable.length === Utilities.DefaultSettings.ThemeCreator.length) { + if (confirm("Are you sure you'd like to replace this theme with the theme specified in the JSON?") === true) { + LoadThemeFromJSONBtn.previousElementSibling.value = ''; + document.getElementById('ThemeCreator-Modal').close(); + for (let i = 0; i < JSONTable.length; i++) { + if (JSONTable[i][0] !== '#') { + JSONTable[i] = ''; + } + } + Settings.ThemeCreator = MergeObjects(JSONTable, Utilities.DefaultSettings.ThemeCreator); + Save(); + console.log(JSONTable.length, JSONTable, 'applied'); + document.getElementById('ThemeCreator').getElementsByTagName('button')[1].click(); + } + } else { + alert('JSON is not a theme!'); + } + } catch (error) { + alert('JSON is invalid!'); + } } // MergeObjects function was written by ChatGPT cause I was lazy and it was awhile ago function MergeObjects(obj1, obj2) { - var mergedObj = {}; + var mergedObj = {}; - // Copy the values from obj1 to the mergedObj - for (var key in obj1) { - mergedObj[key] = obj1[key]; - } + // Copy the values from obj1 to the mergedObj + for (var key in obj1) { + mergedObj[key] = obj1[key]; + } - // Merge the values from obj2 into the mergedObj, favoring obj2 for non-existing keys in obj1 - for (var key in obj2) { - if (!obj1.hasOwnProperty(key)) { - mergedObj[key] = obj2[key]; - } - } + // Merge the values from obj2 into the mergedObj, favoring obj2 for non-existing keys in obj1 + for (var key in obj2) { + if (!obj1.hasOwnProperty(key)) { + mergedObj[key] = obj2[key]; + } + } - return mergedObj; + return mergedObj; } -function FormatBool(bool){ - if (bool === true) { return 'enabled' } - else { return 'disabled' } +function FormatBool(bool) { + if (bool === true) { + return 'enabled'; + } else { + return 'disabled'; + } } -const Manifest = chrome.runtime.getManifest() -let BuildType = "Stable" -if (Manifest.version_name !== undefined) {BuildType = "Pre-Release"} +const Manifest = chrome.runtime.getManifest(); +let BuildType = 'Stable'; +if (Manifest.version_name !== undefined) { + BuildType = 'Pre-Release'; +} -const FooterText = document.getElementById('footer-text') -FooterText.children[0].innerHTML = `Version: v${Manifest.version} | Build Type: ${BuildType}` +const FooterText = document.getElementById('footer-text'); +FooterText.children[0].innerHTML = `Version: v${Manifest.version} | Build Type: ${BuildType}`; -const CheckForUpdatesButton = document.getElementById('check-for-updates') +const CheckForUpdatesButton = document.getElementById('check-for-updates'); function CheckForUpdates() { - CheckForUpdatesButton.removeEventListener('click', CheckForUpdates) - CheckForUpdatesButton.disabled = true - fetch('https://polyplus.vercel.app/data/version.json') - .then(response => { - if (!response.ok) { - throw new Error('Network not ok') - } - return response.json() - }) - .then(data => { - if (data.version === Manifest.version || Math.floor((data.version - Manifest.version) * 10) === 0) { - CheckForUpdatesButton.innerHTML = 'No updates available' - alert('No updates available') - } else { - const NumberOfUpdatesAvailable = Math.floor((data.version - Version) * 10) - CheckForUpdatesButton.innerHTML = ''+NumberOfUpdatesAvailable+' update(s) available' - alert(NumberOfUpdatesAvailable + ' updates available') - } - }) - .catch(error => {console.log(error)}); + CheckForUpdatesButton.removeEventListener('click', CheckForUpdates); + CheckForUpdatesButton.disabled = true; + fetch('https://polyplus.vercel.app/data/version.json') + .then((response) => { + if (!response.ok) { + throw new Error('Network not ok'); + } + return response.json(); + }) + .then((data) => { + if (data.version === Manifest.version || Math.floor((data.version - Manifest.version) * 10) === 0) { + CheckForUpdatesButton.innerHTML = 'No updates available'; + alert('No updates available'); + } else { + const NumberOfUpdatesAvailable = Math.floor((data.version - Version) * 10); + CheckForUpdatesButton.innerHTML = '' + NumberOfUpdatesAvailable + ' update(s) available'; + alert(NumberOfUpdatesAvailable + ' updates available'); + } + }) + .catch((error) => { + console.log(error); + }); } -CheckForUpdatesButton.addEventListener('click', CheckForUpdates) +CheckForUpdatesButton.addEventListener('click', CheckForUpdates); fetch(chrome.runtime.getURL('resources/currencies.json')) - .then(response => { - if (!response.ok) { - throw new Error('Network not ok') - } - return response.json() - }) - .then(data => { - const DateText = new Date(data.Date).toLocaleDateString("en-US", {day:"numeric",month:"long",year:"numeric"}) - document.getElementById('IRLPriceWithCurrency-Date').innerText = DateText - }) - .catch(error => {console.log(error)}) + .then((response) => { + if (!response.ok) { + throw new Error('Network not ok'); + } + return response.json(); + }) + .then((data) => { + const DateText = new Date(data.Date).toLocaleDateString('en-US', {day: 'numeric', month: 'long', year: 'numeric'}); + document.getElementById('IRLPriceWithCurrency-Date').innerText = DateText; + }) + .catch((error) => { + console.log(error); + }); -chrome.storage.local.get(['PolyPlus_OutOfDate', 'PolyPlus_LiveVersion', 'PolyPlus_ReleaseNotes', 'PolyPlus_SkipUpdate'], function(result) { - const OutOfDate = result.PolyPlus_OutOfDate || false - const SkipUpdate = result.PolyPlus_SkipUpdate || null - const LiveVersion = result.PolyPlus_LiveVersion || Manifest.version - if (OutOfDate === true && SkipUpdate !== LiveVersion) { - const Banner = document.createElement('div') - Banner.classList = 'alert position-sticky p-3' - Banner.style = 'top: 30px; box-shadow: 0 0 20px 2px #000; z-index: 2000; background: rgb(163 39 39);' - Banner.innerHTML = ` +chrome.storage.local.get(['PolyPlus_OutOfDate', 'PolyPlus_LiveVersion', 'PolyPlus_ReleaseNotes', 'PolyPlus_SkipUpdate'], function (result) { + const OutOfDate = result.PolyPlus_OutOfDate || false; + const SkipUpdate = result.PolyPlus_SkipUpdate || null; + const LiveVersion = result.PolyPlus_LiveVersion || Manifest.version; + if (OutOfDate === true && SkipUpdate !== LiveVersion) { + const Banner = document.createElement('div'); + Banner.classList = 'alert position-sticky p-3'; + Banner.style = 'top: 30px; box-shadow: 0 0 20px 2px #000; z-index: 2000; background: rgb(163 39 39);'; + Banner.innerHTML = ` New Update Available!
Your Poly+ installation is out of date! If you would like to get the latest and greatest features, improvements, and bug fixes click on one of the links below to dismiss this banner! @@ -403,15 +429,15 @@ chrome.storage.local.get(['PolyPlus_OutOfDate', 'PolyPlus_LiveVersion', 'PolyPlu Go to Release Notes - ` - document.getElementById('page').insertBefore(Banner, document.getElementById('page').children[1]) + `; + document.getElementById('page').insertBefore(Banner, document.getElementById('page').children[1]); - const SkipButton = document.getElementById('skip-this-update') - SkipButton.addEventListener('click', function(){ - Banner.remove() - chrome.storage.local.set({'PolyPlus_SkipUpdate': result.PolyPlus_LiveVersion}, function(){ - console.log('set skip update to live version: ', result.PolyPlus_LiveVersion) - }) - }); - } -}) \ No newline at end of file + const SkipButton = document.getElementById('skip-this-update'); + SkipButton.addEventListener('click', function () { + Banner.remove(); + chrome.storage.local.set({PolyPlus_SkipUpdate: result.PolyPlus_LiveVersion}, function () { + console.log('set skip update to live version: ', result.PolyPlus_LiveVersion); + }); + }); + } +});