From 8c9f40d45769a763f5b5d04ca95ecf506a8e90f4 Mon Sep 17 00:00:00 2001 From: Nikolay Date: Sun, 6 Nov 2022 19:40:25 +0300 Subject: [PATCH 1/9] start writing new app --- pyproject.toml | 3 + pyquac/assets/bootstrap.css | 10782 +++++++++++++++++++++++++++ pyquac/assets/font-awesome.min.css | 4 + pyquac/assets/logo_sign.png | Bin 0 -> 4206 bytes pyquac/jupyter_app.py | 155 + pyquac/settings.py | 33 + 6 files changed, 10977 insertions(+) create mode 100644 pyquac/assets/bootstrap.css create mode 100644 pyquac/assets/font-awesome.min.css create mode 100644 pyquac/assets/logo_sign.png create mode 100644 pyquac/jupyter_app.py create mode 100644 pyquac/settings.py diff --git a/pyproject.toml b/pyproject.toml index 90af649..32eccf1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,6 +16,8 @@ dash = ">=1.21.0" jupyter-dash = ">=0.4.0" PeakUtils = ">=1.3.3" matplotlib = "^3.5.2" +dash-bootstrap-components = "^1.2.1" +dash-bootstrap-templates = "^1.0.7" [tool.poetry.dev-dependencies] pytest = "^7.1.2" @@ -28,6 +30,7 @@ pytest-sugar = "^0.9.4" pytest-clarity = "^1.0.1" notebook = "^6.4.12" jupyter = "^1.0.0" +pydantic = "^1.10.2" [build-system] requires = ["poetry-core>=1.0.0"] diff --git a/pyquac/assets/bootstrap.css b/pyquac/assets/bootstrap.css new file mode 100644 index 0000000..4e8b1c1 --- /dev/null +++ b/pyquac/assets/bootstrap.css @@ -0,0 +1,10782 @@ +@charset "UTF-8"; +/*! + * Bootswatch v5.2.1 (https://bootswatch.com) + * Theme: lux + * Copyright 2012-2022 Thomas Park + * Licensed under MIT + * Based on Bootstrap +*/ +/*! + * Bootstrap v5.2.1 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors + * Copyright 2011-2022 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600&display=swap"); +:root { + --bs-blue: #007bff; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #e83e8c; + --bs-red: #d9534f; + --bs-orange: #fd7e14; + --bs-yellow: #f0ad4e; + --bs-green: #4bbf73; + --bs-teal: #20c997; + --bs-cyan: #1f9bcf; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #919aa1; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #f7f7f9; + --bs-gray-300: #eceeef; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #919aa1; + --bs-gray-700: #55595c; + --bs-gray-800: #343a40; + --bs-gray-900: #1a1a1a; + --bs-primary: #1a1a1a; + --bs-secondary: #fff; + --bs-success: #4bbf73; + --bs-info: #1f9bcf; + --bs-warning: #f0ad4e; + --bs-danger: #d9534f; + --bs-light: #fff; + --bs-dark: #343a40; + --bs-primary-rgb: 26, 26, 26; + --bs-secondary-rgb: 255, 255, 255; + --bs-success-rgb: 75, 191, 115; + --bs-info-rgb: 31, 155, 207; + --bs-warning-rgb: 240, 173, 78; + --bs-danger-rgb: 217, 83, 79; + --bs-light-rgb: 255, 255, 255; + --bs-dark-rgb: 52, 58, 64; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-color-rgb: 85, 89, 92; + --bs-body-bg-rgb: 255, 255, 255; + --bs-font-sans-serif: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --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: #55595c; + --bs-body-bg: #fff; + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #eceeef; + --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-2xl: 2rem; + --bs-border-radius-pill: 50rem; + --bs-link-color: #1a1a1a; + --bs-link-hover-color: #151515; + --bs-code-color: #e83e8c; + --bs-highlight-bg: #fcefdc; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + 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); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: 1px solid; + opacity: 0.25; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 600; + line-height: 1.2; + color: #1a1a1a; +} + +h1, .h1 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + h1, .h1 { + font-size: 2rem; + } +} + +h2, .h2 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h2, .h2 { + font-size: 1.75rem; + } +} + +h3, .h3 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h3, .h3 { + font-size: 1.5rem; + } +} + +h4, .h4 { + font-size: 1.25rem; +} + +h5, .h5 { + font-size: 1rem; +} + +h6, .h6 { + font-size: 0.75rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + 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 { + padding: 0.1875em; + background-color: var(--bs-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: var(--bs-link-color); + text-decoration: underline; +} +a:hover { + color: var(--bs-link-hover-color); +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: var(--bs-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.1875rem 0.375rem; + font-size: 0.875em; + color: var(--bs-body-bg); + background-color: var(--bs-body-color); +} +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: #919aa1; + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: textfield; +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: calc(1.625rem + 4.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} + +.display-2 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} + +.display-3 { + font-size: calc(1.525rem + 3.3vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} + +.display-4 { + font-size: calc(1.475rem + 2.7vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} + +.display-5 { + font-size: calc(1.425rem + 2.1vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} + +.display-6 { + font-size: calc(1.375rem + 1.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #919aa1; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid var(--bs-border-color); + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 0.875em; + color: #919aa1; +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.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.3333333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .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.3333333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .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.3333333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .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.3333333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .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.3333333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-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: var(--bs-body-color); + --bs-table-bg: transparent; + --bs-table-border-color: rgba(0, 0, 0, 0.05); + --bs-table-accent-bg: transparent; + --bs-table-striped-color: var(--bs-body-color); + --bs-table-striped-bg: rgba(0, 0, 0, 0.05); + --bs-table-active-color: var(--bs-body-color); + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: var(--bs-body-color); + --bs-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: var(--bs-table-color); + vertical-align: top; + border-color: var(--bs-table-border-color); +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + background-color: var(--bs-table-bg); + border-bottom-width: 1px; + box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} + +.table-group-divider { + border-top: 2px solid currentcolor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.table-bordered > :not(caption) > * { + border-width: 1px 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 1px; +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} + +.table-striped-columns > :not(caption) > tr > :nth-child(even) { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} + +.table-active { + --bs-table-accent-bg: var(--bs-table-active-bg); + color: var(--bs-table-active-color); +} + +.table-hover > tbody > tr:hover > * { + --bs-table-accent-bg: var(--bs-table-hover-bg); + color: var(--bs-table-hover-color); +} + +.table-primary { + --bs-table-color: #000; + --bs-table-bg: #d1d1d1; + --bs-table-border-color: #bcbcbc; + --bs-table-striped-bg: #c7c7c7; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bcbcbc; + --bs-table-active-color: #000; + --bs-table-hover-bg: #c1c1c1; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-secondary { + --bs-table-color: #000; + --bs-table-bg: white; + --bs-table-border-color: #e6e6e6; + --bs-table-striped-bg: #f2f2f2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6e6e6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ececec; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-success { + --bs-table-color: #000; + --bs-table-bg: #dbf2e3; + --bs-table-border-color: #c5dacc; + --bs-table-striped-bg: #d0e6d8; + --bs-table-striped-color: #000; + --bs-table-active-bg: #c5dacc; + --bs-table-active-color: #000; + --bs-table-hover-bg: #cbe0d2; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-info { + --bs-table-color: #000; + --bs-table-bg: #d2ebf5; + --bs-table-border-color: #bdd4dd; + --bs-table-striped-bg: #c8dfe9; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bdd4dd; + --bs-table-active-color: #000; + --bs-table-hover-bg: #c2d9e3; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-warning { + --bs-table-color: #000; + --bs-table-bg: #fcefdc; + --bs-table-border-color: #e3d7c6; + --bs-table-striped-bg: #efe3d1; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e3d7c6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e9ddcc; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-danger { + --bs-table-color: #000; + --bs-table-bg: #f7dddc; + --bs-table-border-color: #dec7c6; + --bs-table-striped-bg: #ebd2d1; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dec7c6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e4cccc; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-light { + --bs-table-color: #000; + --bs-table-bg: #fff; + --bs-table-border-color: #e6e6e6; + --bs-table-striped-bg: #f2f2f2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6e6e6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ececec; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-dark { + --bs-table-color: #fff; + --bs-table-bg: #343a40; + --bs-table-border-color: #484e53; + --bs-table-striped-bg: #3e444a; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #484e53; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #43494e; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.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 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: 2rem; + padding-bottom: 2rem; + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + font-size: 0.875rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: #919aa1; +} + +.form-control { + display: block; + width: 100%; + padding: 0.75rem 1.5rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #55595c; + background-color: #f7f7f9; + background-clip: padding-box; + border: 0 solid #ced4da; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type=file] { + overflow: hidden; +} +.form-control[type=file]:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: #55595c; + background-color: #f7f7f9; + border-color: #8d8d8d; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25); +} +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} +.form-control::-moz-placeholder { + color: #919aa1; + opacity: 1; +} +.form-control::placeholder { + color: #919aa1; + opacity: 1; +} +.form-control:disabled { + background-color: #eceeef; + opacity: 1; +} +.form-control::-webkit-file-upload-button { + padding: 0.75rem 1.5rem; + margin: -0.75rem -1.5rem; + -webkit-margin-end: 1.5rem; + margin-inline-end: 1.5rem; + color: #55595c; + background-color: #eceeef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 0; + border-radius: 0; + -webkit-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; + 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; +} +.form-control::file-selector-button { + padding: 0.75rem 1.5rem; + margin: -0.75rem -1.5rem; + -webkit-margin-end: 1.5rem; + margin-inline-end: 1.5rem; + color: #55595c; + background-color: #eceeef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 0; + border-radius: 0; + 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::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #e0e2e3; +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: #e0e2e3; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.75rem 0; + margin-bottom: 0; + line-height: 1.5; + color: #55595c; + background-color: transparent; + border: solid transparent; + border-width: 0 0; +} +.form-control-plaintext:focus { + outline: 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(1.5em + 1rem); + padding: 0.5rem 1rem; + font-size: 0.875rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-sm::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} + +.form-control-lg { + min-height: calc(1.5em + 4rem); + padding: 2rem 2rem; + font-size: 1.25rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 2rem 2rem; + margin: -2rem -2rem; + -webkit-margin-end: 2rem; + margin-inline-end: 2rem; +} +.form-control-lg::file-selector-button { + padding: 2rem 2rem; + margin: -2rem -2rem; + -webkit-margin-end: 2rem; + margin-inline-end: 2rem; +} + +textarea.form-control { + min-height: calc(1.5em + 1.5rem); +} +textarea.form-control-sm { + min-height: calc(1.5em + 1rem); +} +textarea.form-control-lg { + min-height: calc(1.5em + 4rem); +} + +.form-control-color { + width: 3rem; + height: calc(1.5em + 1.5rem); + padding: 0.75rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + border: 0 !important; +} +.form-control-color.form-control-sm { + height: calc(1.5em + 1rem); +} +.form-control-color.form-control-lg { + height: calc(1.5em + 4rem); +} + +.form-select { + display: block; + width: 100%; + padding: 0.75rem 4.5rem 0.75rem 1.5rem; + -moz-padding-start: calc(1.5rem - 3px); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #55595c; + background-color: #f7f7f9; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 1.5rem center; + background-size: 16px 12px; + border: 0 solid #ced4da; + border-radius: 0; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: #8d8d8d; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 1.5rem; + background-image: none; +} +.form-select:disabled { + background-color: #f7f7f9; +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #55595c; +} + +.form-select-sm { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 0.875rem; +} + +.form-select-lg { + padding-top: 2rem; + padding-bottom: 2rem; + padding-left: 2rem; + font-size: 1.25rem; +} + +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} + +.form-check-reverse { + padding-right: 1.5em; + padding-left: 0; + text-align: right; +} +.form-check-reverse .form-check-input { + float: right; + margin-right: -1.5em; + margin-left: 0; +} + +.form-check-input { + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: #f7f7f9; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: 1px solid rgba(0, 0, 0, 0.25); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; + print-color-adjust: exact; +} +.form-check-input[type=radio] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #8d8d8d; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25); +} +.form-check-input:checked { + background-color: #1a1a1a; + border-color: #1a1a1a; +} +.form-check-input:checked[type=checkbox] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type=radio] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-check-input[type=checkbox]:indeterminate { + background-color: #1a1a1a; + border-color: #1a1a1a; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.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 { + width: 2em; + margin-left: -2.5em; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + background-position: left center; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238d8d8d'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-switch.form-check-reverse { + padding-right: 2.5em; + padding-left: 0; +} +.form-switch.form-check-reverse .form-check-input { + margin-right: -2.5em; + margin-left: 0; +} + +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check[disabled] + .btn, .btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.65; +} + +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(26, 26, 26, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(26, 26, 26, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #1a1a1a; + border: 0; + -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; + -webkit-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #bababa; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #eceeef; + border-color: transparent; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #1a1a1a; + border: 0; + -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; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #bababa; +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #eceeef; + border-color: transparent; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} +.form-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: 3.5rem; + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + padding: 1rem 1.5rem; + overflow: hidden; + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + border: 0 solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 1.5rem; +} +.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder { + color: transparent; +} +.form-floating > .form-control::placeholder, +.form-floating > .form-control-plaintext::placeholder { + color: transparent; +} +.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill, +.form-floating > .form-control-plaintext:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control-plaintext ~ label { + border-width: 0 0; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select, +.input-group > .form-floating { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus, +.input-group > .form-floating:focus-within { + z-index: 5; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 5; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.75rem 1.5rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #55595c; + text-align: center; + white-space: nowrap; + background-color: #eceeef; + border: 0 solid #ced4da; +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 2rem 2rem; + font-size: 1.25rem; +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.5rem 1rem; + font-size: 0.875rem; +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 6rem; +} + +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: 0; +} +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #4bbf73; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(75, 191, 115, 0.9); +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #4bbf73; + padding-right: calc(1.5em + 1.5rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%234bbf73' 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.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.375rem) center; + background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #4bbf73; + box-shadow: 0 0 0 0.25rem rgba(75, 191, 115, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 1.5rem); + background-position: top calc(0.375em + 0.375rem) right calc(0.375em + 0.375rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: #4bbf73; +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + padding-right: 8.25rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%234bbf73' 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.1z'/%3e%3c/svg%3e"); + background-position: right 1.5rem center, center right 4.5rem; + background-size: 16px 12px, calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: #4bbf73; + box-shadow: 0 0 0 0.25rem rgba(75, 191, 115, 0.25); +} + +.was-validated .form-control-color:valid, .form-control-color.is-valid { + width: calc(3rem + calc(1.5em + 1.5rem)); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: #4bbf73; +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: #4bbf73; +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(75, 191, 115, 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #4bbf73; +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, +.was-validated .input-group > .form-select:not(:focus):valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.input-group > .form-floating:not(:focus-within).is-valid { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #d9534f; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(217, 83, 79, 0.9); +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #d9534f; + padding-right: calc(1.5em + 1.5rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23d9534f'%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='%23d9534f' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.375rem) center; + background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #d9534f; + box-shadow: 0 0 0 0.25rem rgba(217, 83, 79, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 1.5rem); + background-position: top calc(0.375em + 0.375rem) right calc(0.375em + 0.375rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: #d9534f; +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + padding-right: 8.25rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23d9534f'%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='%23d9534f' stroke='none'/%3e%3c/svg%3e"); + background-position: right 1.5rem center, center right 4.5rem; + background-size: 16px 12px, calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: #d9534f; + box-shadow: 0 0 0 0.25rem rgba(217, 83, 79, 0.25); +} + +.was-validated .form-control-color:invalid, .form-control-color.is-invalid { + width: calc(3rem + calc(1.5em + 1.5rem)); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: #d9534f; +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: #d9534f; +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(217, 83, 79, 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #d9534f; +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, +.was-validated .input-group > .form-select:not(:focus):invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.input-group > .form-floating:not(:focus-within).is-invalid { + z-index: 4; +} + +.btn { + --bs-btn-padding-x: 1.5rem; + --bs-btn-padding-y: 0.75rem; + --bs-btn-font-family: ; + --bs-btn-font-size: 1rem; + --bs-btn-font-weight: 600; + --bs-btn-line-height: 1.5rem; + --bs-btn-color: #55595c; + --bs-btn-bg: transparent; + --bs-btn-border-width: 0; + --bs-btn-border-color: transparent; + --bs-btn-border-radius: 0.375rem; + --bs-btn-hover-border-color: transparent; + --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 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), .5); + display: inline-block; + padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); + 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); + color: var(--bs-btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); + background-color: var(--bs-btn-bg); + 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) { + .btn { + transition: none; + } +} +:not(.btn-check) + .btn:hover, .btn:first-child:hover { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); +} +.btn:focus-visible { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:focus-visible + .btn { + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show { + color: var(--bs-btn-active-color); + background-color: var(--bs-btn-active-bg); + border-color: var(--bs-btn-active-border-color); +} +.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + color: var(--bs-btn-disabled-color); + pointer-events: none; + background-color: var(--bs-btn-disabled-bg); + border-color: var(--bs-btn-disabled-border-color); + opacity: var(--bs-btn-disabled-opacity); +} + +.btn-primary { + --bs-btn-color: #fff; + --bs-btn-bg: #1a1a1a; + --bs-btn-border-color: #1a1a1a; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #161616; + --bs-btn-hover-border-color: #151515; + --bs-btn-focus-shadow-rgb: 60, 60, 60; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #151515; + --bs-btn-active-border-color: #141414; + --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-secondary { + --bs-btn-color: #000; + --bs-btn-bg: #fff; + --bs-btn-border-color: #fff; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: white; + --bs-btn-hover-border-color: white; + --bs-btn-focus-shadow-rgb: 217, 217, 217; + --bs-btn-active-color: #000; + --bs-btn-active-bg: white; + --bs-btn-active-border-color: white; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #fff; + --bs-btn-disabled-border-color: #fff; +} + +.btn-success { + --bs-btn-color: #fff; + --bs-btn-bg: #4bbf73; + --bs-btn-border-color: #4bbf73; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #40a262; + --bs-btn-hover-border-color: #3c995c; + --bs-btn-focus-shadow-rgb: 102, 201, 136; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #3c995c; + --bs-btn-active-border-color: #388f56; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #4bbf73; + --bs-btn-disabled-border-color: #4bbf73; +} + +.btn-info { + --bs-btn-color: #fff; + --bs-btn-bg: #1f9bcf; + --bs-btn-border-color: #1f9bcf; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #1a84b0; + --bs-btn-hover-border-color: #197ca6; + --bs-btn-focus-shadow-rgb: 65, 170, 214; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #197ca6; + --bs-btn-active-border-color: #17749b; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #1f9bcf; + --bs-btn-disabled-border-color: #1f9bcf; +} + +.btn-warning { + --bs-btn-color: #000; + --bs-btn-bg: #f0ad4e; + --bs-btn-border-color: #f0ad4e; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f2b969; + --bs-btn-hover-border-color: #f2b560; + --bs-btn-focus-shadow-rgb: 204, 147, 66; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f3bd71; + --bs-btn-active-border-color: #f2b560; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #f0ad4e; + --bs-btn-disabled-border-color: #f0ad4e; +} + +.btn-danger { + --bs-btn-color: #fff; + --bs-btn-bg: #d9534f; + --bs-btn-border-color: #d9534f; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #b84743; + --bs-btn-hover-border-color: #ae423f; + --bs-btn-focus-shadow-rgb: 223, 109, 105; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #ae423f; + --bs-btn-active-border-color: #a33e3b; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #d9534f; + --bs-btn-disabled-border-color: #d9534f; +} + +.btn-light { + --bs-btn-color: #000; + --bs-btn-bg: #fff; + --bs-btn-border-color: #fff; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #d9d9d9; + --bs-btn-hover-border-color: #cccccc; + --bs-btn-focus-shadow-rgb: 217, 217, 217; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #cccccc; + --bs-btn-active-border-color: #bfbfbf; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #fff; + --bs-btn-disabled-border-color: #fff; +} + +.btn-dark { + --bs-btn-color: #fff; + --bs-btn-bg: #343a40; + --bs-btn-border-color: #343a40; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #52585d; + --bs-btn-hover-border-color: #484e53; + --bs-btn-focus-shadow-rgb: 82, 88, 93; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #5d6166; + --bs-btn-active-border-color: #484e53; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #343a40; + --bs-btn-disabled-border-color: #343a40; +} + +.btn-outline-primary { + --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-outline-secondary { + --bs-btn-color: #fff; + --bs-btn-border-color: #fff; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #fff; + --bs-btn-hover-border-color: #fff; + --bs-btn-focus-shadow-rgb: 255, 255, 255; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #fff; + --bs-btn-active-border-color: #fff; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #fff; + --bs-gradient: none; +} + +.btn-outline-success { + --bs-btn-color: #4bbf73; + --bs-btn-border-color: #4bbf73; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #4bbf73; + --bs-btn-hover-border-color: #4bbf73; + --bs-btn-focus-shadow-rgb: 75, 191, 115; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #4bbf73; + --bs-btn-active-border-color: #4bbf73; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #4bbf73; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #4bbf73; + --bs-gradient: none; +} + +.btn-outline-info { + --bs-btn-color: #1f9bcf; + --bs-btn-border-color: #1f9bcf; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #1f9bcf; + --bs-btn-hover-border-color: #1f9bcf; + --bs-btn-focus-shadow-rgb: 31, 155, 207; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #1f9bcf; + --bs-btn-active-border-color: #1f9bcf; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #1f9bcf; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #1f9bcf; + --bs-gradient: none; +} + +.btn-outline-warning { + --bs-btn-color: #f0ad4e; + --bs-btn-border-color: #f0ad4e; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f0ad4e; + --bs-btn-hover-border-color: #f0ad4e; + --bs-btn-focus-shadow-rgb: 240, 173, 78; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f0ad4e; + --bs-btn-active-border-color: #f0ad4e; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #f0ad4e; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #f0ad4e; + --bs-gradient: none; +} + +.btn-outline-danger { + --bs-btn-color: #d9534f; + --bs-btn-border-color: #d9534f; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #d9534f; + --bs-btn-hover-border-color: #d9534f; + --bs-btn-focus-shadow-rgb: 217, 83, 79; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #d9534f; + --bs-btn-active-border-color: #d9534f; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #d9534f; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #d9534f; + --bs-gradient: none; +} + +.btn-outline-light { + --bs-btn-color: #fff; + --bs-btn-border-color: #fff; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #fff; + --bs-btn-hover-border-color: #fff; + --bs-btn-focus-shadow-rgb: 255, 255, 255; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #fff; + --bs-btn-active-border-color: #fff; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #fff; + --bs-gradient: none; +} + +.btn-outline-dark { + --bs-btn-color: #343a40; + --bs-btn-border-color: #343a40; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #343a40; + --bs-btn-hover-border-color: #343a40; + --bs-btn-focus-shadow-rgb: 52, 58, 64; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #343a40; + --bs-btn-active-border-color: #343a40; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #343a40; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #343a40; + --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: #919aa1; + --bs-btn-disabled-border-color: transparent; + --bs-btn-box-shadow: none; + --bs-btn-focus-shadow-rgb: 60, 60, 60; + text-decoration: underline; +} +.btn-link:focus-visible { + color: var(--bs-btn-color); +} +.btn-link:hover { + color: var(--bs-btn-hover-color); +} + +.btn-lg, .btn-group-lg > .btn { + --bs-btn-padding-y: 2rem; + --bs-btn-padding-x: 2rem; + --bs-btn-font-size: 1.25rem; + --bs-btn-border-radius: 0.5rem; +} + +.btn-sm, .btn-group-sm > .btn { + --bs-btn-padding-y: 0.5rem; + --bs-btn-padding-x: 1rem; + --bs-btn-font-size: 0.875rem; + --bs-btn-border-radius: 0.25rem; +} + +.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 { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.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: #55595c; + --bs-dropdown-bg: #fff; + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-border-radius: 0.375rem; + --bs-dropdown-border-width: 1px; + --bs-dropdown-inner-border-radius: calc(0.375rem - 1px); + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-divider-margin-y: 0.5rem; + --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-dropdown-link-color: #1a1a1a; + --bs-dropdown-link-hover-color: #171717; + --bs-dropdown-link-hover-bg: #f7f7f9; + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #1a1a1a; + --bs-dropdown-link-disabled-color: #adb5bd; + --bs-dropdown-item-padding-x: 1rem; + --bs-dropdown-item-padding-y: 0.25rem; + --bs-dropdown-header-color: #919aa1; + --bs-dropdown-header-padding-x: 1rem; + --bs-dropdown-header-padding-y: 0.5rem; + position: absolute; + z-index: var(--bs-dropdown-zindex); + display: none; + min-width: var(--bs-dropdown-min-width); + padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); + margin: 0; + font-size: var(--bs-dropdown-font-size); + color: var(--bs-dropdown-color); + text-align: left; + list-style: none; + background-color: var(--bs-dropdown-bg); + background-clip: padding-box; + border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: var(--bs-dropdown-spacer); +} + +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--bs-dropdown-spacer); +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--bs-dropdown-spacer); +} +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--bs-dropdown-spacer); +} +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: var(--bs-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--bs-dropdown-divider-bg); + opacity: 1; +} + +.dropdown-item { + display: block; + width: 100%; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + clear: both; + font-weight: 400; + color: var(--bs-dropdown-link-color); + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; +} +.dropdown-item:hover, .dropdown-item:focus { + color: var(--bs-dropdown-link-hover-color); + background-color: var(--bs-dropdown-link-hover-bg); +} +.dropdown-item.active, .dropdown-item:active { + color: var(--bs-dropdown-link-active-color); + text-decoration: none; + background-color: var(--bs-dropdown-link-active-bg); +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: var(--bs-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x); + margin-bottom: 0; + font-size: 0.875rem; + color: var(--bs-dropdown-header-color); + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + color: var(--bs-dropdown-link-color); +} + +.dropdown-menu-dark { + --bs-dropdown-color: #eceeef; + --bs-dropdown-bg: #343a40; + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-box-shadow: ; + --bs-dropdown-link-color: #eceeef; + --bs-dropdown-link-hover-color: #fff; + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #1a1a1a; + --bs-dropdown-link-disabled-color: #adb5bd; + --bs-dropdown-header-color: #adb5bd; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > :not(.btn-check:first-child) + .btn, +.btn-group > .btn-group:not(:first-child) { + margin-left: 0; +} +.dropdown-toggle-split { + padding-right: 1.125rem; + padding-left: 1.125rem; +} +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 1.5rem; + padding-left: 1.5rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: 0; +} +.nav { + --bs-nav-link-padding-x: 1rem; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-link-color); + --bs-nav-link-hover-color: var(--bs-link-hover-color); + --bs-nav-link-disabled-color: #919aa1; + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); + font-size: var(--bs-nav-link-font-size); + font-weight: var(--bs-nav-link-font-weight); + color: var(--bs-nav-link-color); + text-decoration: none; + 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:hover, .nav-link:focus { + color: var(--bs-nav-link-hover-color); +} +.nav-link.disabled { + color: var(--bs-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} + +.nav-tabs { + --bs-nav-tabs-border-width: 1px; + --bs-nav-tabs-border-color: #eceeef; + --bs-nav-tabs-border-radius: 0.375rem; + --bs-nav-tabs-link-hover-border-color: #f7f7f9 #f7f7f9 #eceeef; + --bs-nav-tabs-link-active-color: #55595c; + --bs-nav-tabs-link-active-bg: #fff; + --bs-nav-tabs-link-active-border-color: #eceeef #eceeef #fff; + border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); +} +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); + background: none; + border: var(--bs-nav-tabs-border-width) solid transparent; +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + isolation: isolate; + border-color: var(--bs-nav-tabs-link-hover-border-color); +} +.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: var(--bs-nav-tabs-link-active-color); + background-color: var(--bs-nav-tabs-link-active-bg); + border-color: var(--bs-nav-tabs-link-active-border-color); +} +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); +} + +.nav-pills { + --bs-nav-pills-border-radius: 0.375rem; + --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-bg: #1a1a1a; +} +.nav-pills .nav-link { + background: none; + border: 0; +} +.nav-pills .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--bs-nav-pills-link-active-color); + background-color: var(--bs-nav-pills-link-active-bg); +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + 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: 1.5rem; + --bs-navbar-color: rgba(0, 0, 0, 0.3); + --bs-navbar-hover-color: #1a1a1a; + --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3); + --bs-navbar-active-color: #1a1a1a; + --bs-navbar-brand-padding-y: 0.3125rem; + --bs-navbar-brand-margin-end: 1rem; + --bs-navbar-brand-font-size: 1.25rem; + --bs-navbar-brand-color: #1a1a1a; + --bs-navbar-brand-hover-color: #1a1a1a; + --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,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.3%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --bs-navbar-toggler-border-color: rgba(0, 0, 0, 0.1); + --bs-navbar-toggler-border-radius: 0.375rem; + --bs-navbar-toggler-focus-width: 0.25rem; + --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: var(--bs-navbar-brand-padding-y); + padding-bottom: var(--bs-navbar-brand-padding-y); + margin-right: var(--bs-navbar-brand-margin-end); + font-size: var(--bs-navbar-brand-font-size); + color: var(--bs-navbar-brand-color); + text-decoration: none; + white-space: nowrap; +} +.navbar-brand:hover, .navbar-brand:focus { + 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; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .show > .nav-link, +.navbar-nav .nav-link.active { + color: var(--bs-navbar-active-color); +} +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-navbar-color); +} +.navbar-text a, +.navbar-text a:hover, +.navbar-text a:focus { + color: var(--bs-navbar-active-color); +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); + font-size: var(--bs-navbar-toggler-font-size); + line-height: 1; + color: var(--bs-navbar-color); + background-color: transparent; + border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); + transition: var(--bs-navbar-toggler-transition); +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width); +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--bs-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: 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 { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: 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 { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: 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 { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: 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 { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: 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 { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: 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 { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; +} +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.navbar-dark { + --bs-navbar-color: rgba(255, 255, 255, 0.55); + --bs-navbar-hover-color: #fff; + --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); + --bs-navbar-active-color: #fff; + --bs-navbar-brand-color: #fff; + --bs-navbar-brand-hover-color: #fff; + --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' 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-border-width: 1px; + --bs-card-border-color: var(--bs-border-color-translucent); + --bs-card-border-radius: 0.375rem; + --bs-card-box-shadow: ; + --bs-card-inner-border-radius: calc(0.375rem - 1px); + --bs-card-cap-padding-y: 0.5rem; + --bs-card-cap-padding-x: 1rem; + --bs-card-cap-bg: rgba(0, 0, 0, 0.03); + --bs-card-cap-color: ; + --bs-card-height: ; + --bs-card-color: ; + --bs-card-bg: #fff; + --bs-card-img-overlay-padding: 1rem; + --bs-card-group-margin: 0.75rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--bs-card-height); + word-wrap: break-word; + background-color: var(--bs-card-bg); + background-clip: border-box; + border: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; +} +.card > .list-group:last-child { + border-bottom-width: 0; +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); + color: var(--bs-card-color); +} + +.card-title { + margin-bottom: var(--bs-card-title-spacer-y); +} + +.card-subtitle { + margin-top: calc(-0.5 * var(--bs-card-title-spacer-y)); + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link + .card-link { + margin-left: var(--bs-card-spacer-x); +} + +.card-header { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + margin-bottom: 0; + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-footer { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-header-tabs { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); + border-bottom: 0; +} +.card-header-tabs .nav-link.active { + background-color: var(--bs-card-bg); + border-bottom-color: var(--bs-card-bg); +} + +.card-header-pills { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--bs-card-img-overlay-padding); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.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 { + margin-left: 0; + border-left: 0; + } +} + +.accordion { + --bs-accordion-color: var(--bs-body-color); + --bs-accordion-bg: #fff; + --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: 1px; + --bs-accordion-border-radius: 0.375rem; + --bs-accordion-inner-border-radius: calc(0.375rem - 1px); + --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,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--bs-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --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,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23171717'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-focus-border-color: #8d8d8d; + --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25); + --bs-accordion-body-padding-x: 1.25rem; + --bs-accordion-body-padding-y: 1rem; + --bs-accordion-active-color: #171717; + --bs-accordion-active-bg: #e8e8e8; +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); + font-size: 1rem; + color: var(--bs-accordion-btn-color); + text-align: left; + background-color: var(--bs-accordion-btn-bg); + border: 0; + overflow-anchor: none; + transition: var(--bs-accordion-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: var(--bs-accordion-active-color); + background-color: var(--bs-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); +} +.accordion-button:not(.collapsed)::after { + background-image: var(--bs-accordion-btn-active-icon); + transform: var(--bs-accordion-btn-icon-transform); +} +.accordion-button::after { + flex-shrink: 0; + width: var(--bs-accordion-btn-icon-width); + height: var(--bs-accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--bs-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--bs-accordion-btn-icon-width); + transition: var(--bs-accordion-btn-icon-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + border-color: var(--bs-accordion-btn-focus-border-color); + outline: 0; + box-shadow: var(--bs-accordion-btn-focus-box-shadow); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--bs-accordion-color); + background-color: var(--bs-accordion-bg); + border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-body { + padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); +} + +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} +.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: #919aa1; + --bs-breadcrumb-item-padding-x: 0.5rem; + --bs-breadcrumb-item-active-color: #919aa1; + display: flex; + flex-wrap: wrap; + padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); + margin-bottom: var(--bs-breadcrumb-margin-bottom); + font-size: var(--bs-breadcrumb-font-size); + list-style: none; + background-color: var(--bs-breadcrumb-bg); +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: var(--bs-breadcrumb-item-padding-x); +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: var(--bs-breadcrumb-item-padding-x); + color: var(--bs-breadcrumb-divider-color); + content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; +} +.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: var(--bs-link-color); + --bs-pagination-bg: #fff; + --bs-pagination-border-width: 1px; + --bs-pagination-border-color: transparent; + --bs-pagination-border-radius: 0.375rem; + --bs-pagination-hover-color: var(--bs-link-hover-color); + --bs-pagination-hover-bg: #f7f7f9; + --bs-pagination-hover-border-color: transparent; + --bs-pagination-focus-color: var(--bs-link-hover-color); + --bs-pagination-focus-bg: #f7f7f9; + --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25); + --bs-pagination-active-color: #fff; + --bs-pagination-active-bg: #1a1a1a; + --bs-pagination-active-border-color: #1a1a1a; + --bs-pagination-disabled-color: #919aa1; + --bs-pagination-disabled-bg: #fff; + --bs-pagination-disabled-border-color: transparent; + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x); + font-size: var(--bs-pagination-font-size); + color: var(--bs-pagination-color); + text-decoration: none; + background-color: var(--bs-pagination-bg); + border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color); + 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 { + z-index: 2; + color: var(--bs-pagination-hover-color); + background-color: var(--bs-pagination-hover-bg); + border-color: var(--bs-pagination-hover-border-color); +} +.page-link:focus { + z-index: 3; + color: var(--bs-pagination-focus-color); + background-color: var(--bs-pagination-focus-bg); + outline: 0; + box-shadow: var(--bs-pagination-focus-box-shadow); +} +.page-link.active, .active > .page-link { + z-index: 3; + color: var(--bs-pagination-active-color); + background-color: var(--bs-pagination-active-bg); + border-color: var(--bs-pagination-active-border-color); +} +.page-link.disabled, .disabled > .page-link { + color: var(--bs-pagination-disabled-color); + pointer-events: none; + background-color: var(--bs-pagination-disabled-bg); + border-color: var(--bs-pagination-disabled-border-color); +} + +.page-item:not(:first-child) .page-link { + margin-left: -1px; +} +.pagination-lg { + --bs-pagination-padding-x: 1.5rem; + --bs-pagination-padding-y: 0.75rem; + --bs-pagination-font-size: 1.25rem; + --bs-pagination-border-radius: 0.5rem; +} + +.pagination-sm { + --bs-pagination-padding-x: 0.5rem; + --bs-pagination-padding-y: 0.25rem; + --bs-pagination-font-size: 0.875rem; + --bs-pagination-border-radius: 0.25rem; +} + +.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: 0.375rem; + display: inline-block; + padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); + font-size: var(--bs-badge-font-size); + font-weight: var(--bs-badge-font-weight); + line-height: 1; + color: var(--bs-badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; +} +.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: 1px solid var(--bs-alert-border-color); + --bs-alert-border-radius: 0.375rem; + position: relative; + padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); + margin-bottom: var(--bs-alert-margin-bottom); + color: var(--bs-alert-color); + background-color: var(--bs-alert-bg); + border: var(--bs-alert-border); +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} + +.alert-primary { + --bs-alert-color: #101010; + --bs-alert-bg: #d1d1d1; + --bs-alert-border-color: #bababa; +} +.alert-primary .alert-link { + color: #0d0d0d; +} + +.alert-secondary { + --bs-alert-color: #999999; + --bs-alert-bg: white; + --bs-alert-border-color: white; +} +.alert-secondary .alert-link { + color: #7a7a7a; +} + +.alert-success { + --bs-alert-color: #2d7345; + --bs-alert-bg: #dbf2e3; + --bs-alert-border-color: #c9ecd5; +} +.alert-success .alert-link { + color: #245c37; +} + +.alert-info { + --bs-alert-color: #135d7c; + --bs-alert-bg: #d2ebf5; + --bs-alert-border-color: #bce1f1; +} +.alert-info .alert-link { + color: #0f4a63; +} + +.alert-warning { + --bs-alert-color: #90682f; + --bs-alert-bg: #fcefdc; + --bs-alert-border-color: #fbe6ca; +} +.alert-warning .alert-link { + color: #735326; +} + +.alert-danger { + --bs-alert-color: #82322f; + --bs-alert-bg: #f7dddc; + --bs-alert-border-color: #f4cbca; +} +.alert-danger .alert-link { + color: #682826; +} + +.alert-light { + --bs-alert-color: #999999; + --bs-alert-bg: white; + --bs-alert-border-color: white; +} +.alert-light .alert-link { + color: #7a7a7a; +} + +.alert-dark { + --bs-alert-color: #1f2326; + --bs-alert-bg: #d6d8d9; + --bs-alert-border-color: #c2c4c6; +} +.alert-dark .alert-link { + color: #191c1e; +} + +@-webkit-keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +.progress { + --bs-progress-height: 1rem; + --bs-progress-font-size: 0.75rem; + --bs-progress-bg: #f7f7f9; + --bs-progress-border-radius: 0.375rem; + --bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-progress-bar-color: #fff; + --bs-progress-bar-bg: #1a1a1a; + --bs-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--bs-progress-height); + overflow: hidden; + font-size: var(--bs-progress-font-size); + background-color: var(--bs-progress-bg); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--bs-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-progress-bar-bg); + transition: var(--bs-progress-bar-transition); +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: var(--bs-progress-height) var(--bs-progress-height); +} + +.progress-bar-animated { + -webkit-animation: 1s linear infinite progress-bar-stripes; + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.list-group { + --bs-list-group-color: #1a1a1a; + --bs-list-group-bg: #fff; + --bs-list-group-border-color: rgba(0, 0, 0, 0.125); + --bs-list-group-border-width: 1px; + --bs-list-group-border-radius: 0.375rem; + --bs-list-group-item-padding-x: 1rem; + --bs-list-group-item-padding-y: 0.5rem; + --bs-list-group-action-color: #55595c; + --bs-list-group-action-hover-color: #55595c; + --bs-list-group-action-hover-bg: #f8f9fa; + --bs-list-group-action-active-color: #55595c; + --bs-list-group-action-active-bg: #f7f7f9; + --bs-list-group-disabled-color: #919aa1; + --bs-list-group-disabled-bg: #fff; + --bs-list-group-active-color: #fff; + --bs-list-group-active-bg: #1a1a1a; + --bs-list-group-active-border-color: #1a1a1a; + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > .list-group-item::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item-action { + width: 100%; + color: var(--bs-list-group-action-color); + text-align: inherit; +} +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: var(--bs-list-group-action-hover-color); + text-decoration: none; + background-color: var(--bs-list-group-action-hover-bg); +} +.list-group-item-action:active { + color: var(--bs-list-group-action-active-color); + background-color: var(--bs-list-group-action-active-bg); +} + +.list-group-item { + position: relative; + display: block; + padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x); + color: var(--bs-list-group-color); + text-decoration: none; + background-color: var(--bs-list-group-bg); + border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); +} +.list-group-item.disabled, .list-group-item:disabled { + color: var(--bs-list-group-disabled-color); + pointer-events: none; + background-color: var(--bs-list-group-disabled-bg); +} +.list-group-item.active { + z-index: 2; + color: var(--bs-list-group-active-color); + background-color: var(--bs-list-group-active-bg); + border-color: var(--bs-list-group-active-border-color); +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: calc(-1 * var(--bs-list-group-border-width)); + border-top-width: var(--bs-list-group-border-width); +} + +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +.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 { + color: #101010; + background-color: #d1d1d1; +} +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #101010; + background-color: #bcbcbc; +} +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #101010; + border-color: #101010; +} + +.list-group-item-secondary { + color: #999999; + background-color: white; +} +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #999999; + background-color: #e6e6e6; +} +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #999999; + border-color: #999999; +} + +.list-group-item-success { + color: #2d7345; + background-color: #dbf2e3; +} +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #2d7345; + background-color: #c5dacc; +} +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #2d7345; + border-color: #2d7345; +} + +.list-group-item-info { + color: #135d7c; + background-color: #d2ebf5; +} +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #135d7c; + background-color: #bdd4dd; +} +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #135d7c; + border-color: #135d7c; +} + +.list-group-item-warning { + color: #90682f; + background-color: #fcefdc; +} +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #90682f; + background-color: #e3d7c6; +} +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #90682f; + border-color: #90682f; +} + +.list-group-item-danger { + color: #82322f; + background-color: #f7dddc; +} +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #82322f; + background-color: #dec7c6; +} +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #82322f; + border-color: #82322f; +} + +.list-group-item-light { + color: #999999; + background-color: white; +} +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #999999; + background-color: #e6e6e6; +} +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #999999; + border-color: #999999; +} + +.list-group-item-dark { + color: #1f2326; + background-color: #d6d8d9; +} +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1f2326; + background-color: #c1c2c3; +} +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1f2326; + border-color: #1f2326; +} + +.btn-close { + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: #000; + background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 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.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; + border: 0; + opacity: 0.5; +} +.btn-close:hover { + color: #000; + text-decoration: none; + opacity: 0.75; +} +.btn-close:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25); + opacity: 1; +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + opacity: 0.25; +} + +.btn-close-white { + filter: invert(1) grayscale(100%) brightness(200%); +} + +.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(255, 255, 255, 0.85); + --bs-toast-border-width: 1px; + --bs-toast-border-color: var(--bs-border-color-translucent); + --bs-toast-border-radius: 0.375rem; + --bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-toast-header-color: #919aa1; + --bs-toast-header-bg: rgba(255, 255, 255, 0.85); + --bs-toast-header-border-color: rgba(0, 0, 0, 0.05); + width: var(--bs-toast-max-width); + max-width: 100%; + font-size: var(--bs-toast-font-size); + color: var(--bs-toast-color); + pointer-events: auto; + background-color: var(--bs-toast-bg); + background-clip: padding-box; + border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); + box-shadow: var(--bs-toast-box-shadow); +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + position: absolute; + z-index: var(--bs-toast-zindex); + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: var(--bs-toast-spacing); +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); + color: var(--bs-toast-header-color); + background-color: var(--bs-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color); +} +.toast-header .btn-close { + margin-right: calc(-0.5 * var(--bs-toast-padding-x)); + margin-left: var(--bs-toast-padding-x); +} + +.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: #fff; + --bs-modal-border-color: var(--bs-border-color-translucent); + --bs-modal-border-width: 1px; + --bs-modal-border-radius: 0.5rem; + --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-modal-inner-border-radius: calc(0.5rem - 1px); + --bs-modal-header-padding-x: 1rem; + --bs-modal-header-padding-y: 1rem; + --bs-modal-header-padding: 1rem 1rem; + --bs-modal-header-border-color: var(--bs-border-color); + --bs-modal-header-border-width: 1px; + --bs-modal-title-line-height: 1.5; + --bs-modal-footer-gap: 0.5rem; + --bs-modal-footer-bg: ; + --bs-modal-footer-border-color: var(--bs-border-color); + --bs-modal-footer-border-width: 1px; + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: var(--bs-modal-margin); + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - 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 { + display: flex; + align-items: center; + min-height: calc(100% - var(--bs-modal-margin) * 2); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--bs-modal-color); + pointer-events: auto; + background-color: var(--bs-modal-bg); + background-clip: padding-box; + border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); + outline: 0; +} + +.modal-backdrop { + --bs-backdrop-zindex: 1050; + --bs-backdrop-bg: #000; + --bs-backdrop-opacity: 0.5; + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--bs-backdrop-bg); +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: var(--bs-backdrop-opacity); +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: var(--bs-modal-header-padding); + border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); +} +.modal-header .btn-close { + padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5); + margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto; +} + +.modal-title { + margin-bottom: 0; + line-height: var(--bs-modal-title-line-height); +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--bs-modal-padding); +} + +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5); + background-color: var(--bs-modal-footer-bg); + border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color); +} +.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: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + } + .modal-dialog { + max-width: var(--bs-modal-width); + margin-right: auto; + margin-left: auto; + } + .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 { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} +.tooltip { + --bs-tooltip-zindex: 1080; + --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: #fff; + --bs-tooltip-bg: #000; + --bs-tooltip-border-radius: 0.375rem; + --bs-tooltip-opacity: 0.9; + --bs-tooltip-arrow-width: 0.8rem; + --bs-tooltip-arrow-height: 0.4rem; + z-index: var(--bs-tooltip-zindex); + display: block; + padding: var(--bs-tooltip-arrow-height); + margin: var(--bs-tooltip-margin); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: var(--bs-tooltip-opacity); +} +.tooltip .tooltip-arrow { + display: block; + width: var(--bs-tooltip-arrow-width); + height: var(--bs-tooltip-arrow-height); +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: 0; +} +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-top-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: 0; + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-right-color: var(--bs-tooltip-bg); +} + +/* rtl:end:ignore */ +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: 0; +} +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-bottom-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: 0; + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-left-color: var(--bs-tooltip-bg); +} + +/* rtl:end:ignore */ +.tooltip-inner { + max-width: var(--bs-tooltip-max-width); + padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x); + color: var(--bs-tooltip-color); + text-align: center; + background-color: var(--bs-tooltip-bg); +} + +.popover { + --bs-popover-zindex: 1070; + --bs-popover-max-width: 276px; + --bs-popover-font-size: 0.875rem; + --bs-popover-bg: #fff; + --bs-popover-border-width: 1px; + --bs-popover-border-color: var(--bs-border-color-translucent); + --bs-popover-border-radius: 0.5rem; + --bs-popover-inner-border-radius: calc(0.5rem - 1px); + --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-popover-header-padding-x: 1rem; + --bs-popover-header-padding-y: 0.5rem; + --bs-popover-header-font-size: 1rem; + --bs-popover-header-color: #1a1a1a; + --bs-popover-header-bg: #f0f0f0; + --bs-popover-body-padding-x: 1rem; + --bs-popover-body-padding-y: 1rem; + --bs-popover-body-color: #55595c; + --bs-popover-arrow-width: 1rem; + --bs-popover-arrow-height: 0.5rem; + --bs-popover-arrow-border: var(--bs-popover-border-color); + z-index: var(--bs-popover-zindex); + display: block; + max-width: var(--bs-popover-max-width); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-popover-font-size); + word-wrap: break-word; + background-color: var(--bs-popover-bg); + background-clip: padding-box; + border: var(--bs-popover-border-width) solid var(--bs-popover-border-color); +} +.popover .popover-arrow { + display: block; + width: var(--bs-popover-arrow-width); + height: var(--bs-popover-arrow-height); +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-top-color: var(--bs-popover-arrow-border); +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: var(--bs-popover-border-width); + border-top-color: var(--bs-popover-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + 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-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-right-color: var(--bs-popover-arrow-border); +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: var(--bs-popover-border-width); + border-right-color: var(--bs-popover-bg); +} + +/* rtl:end:ignore */ +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-bottom-color: var(--bs-popover-arrow-border); +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: var(--bs-popover-border-width); + border-bottom-color: var(--bs-popover-bg); +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: var(--bs-popover-arrow-width); + margin-left: calc(-0.5 * var(--bs-popover-arrow-width)); + content: ""; + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + 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-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-left-color: var(--bs-popover-arrow-border); +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: var(--bs-popover-border-width); + border-left-color: var(--bs-popover-bg); +} + +/* rtl:end:ignore */ +.popover-header { + padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x); + margin-bottom: 0; + font-size: var(--bs-popover-header-font-size); + color: var(--bs-popover-header-color); + background-color: var(--bs-popover-header-bg); + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x); + color: var(--bs-popover-body-color); +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +/* rtl:begin:ignore */ +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +/* rtl:end:ignore */ +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, +.carousel-control-next { + transition: none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +/* rtl:options: { + "autoRename": true, + "stringMap":[ { + "name" : "prev-next", + "search" : "prev", + "replace" : "next" + } ] +} */ +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; + list-style: none; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #fff; + text-align: center; +} + +.carousel-dark .carousel-control-prev-icon, +.carousel-dark .carousel-control-next-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000; +} +.carousel-dark .carousel-caption { + color: #000; +} + +.spinner-grow, +.spinner-border { + display: inline-block; + width: var(--bs-spinner-width); + height: var(--bs-spinner-height); + vertical-align: var(--bs-spinner-vertical-align); + border-radius: 50%; + -webkit-animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); + animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); +} + +@-webkit-keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} +.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: var(--bs-spinner-border-width) solid currentcolor; + border-right-color: transparent; +} + +.spinner-border-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; + --bs-spinner-border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} + +@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-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { + --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: ; + --bs-offcanvas-bg: #fff; + --bs-offcanvas-border-width: 1px; + --bs-offcanvas-border-color: var(--bs-border-color-translucent); + --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); +} + +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { + transform: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { + 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 { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { + transform: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { + 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 { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { + transform: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { + 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 { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { + transform: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { + 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 { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { + transform: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { + 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 { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +.offcanvas { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); +} +.offcanvas.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); +} +.offcanvas.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); +} +.offcanvas.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas.showing, .offcanvas.show:not(.hiding) { + transform: none; +} +.offcanvas.showing, .offcanvas.hiding, .offcanvas.show { + visibility: visible; +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); +} +.offcanvas-header .btn-close { + padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y)); + margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y)); +} + +.offcanvas-title { + margin-bottom: 0; + line-height: 1.5; +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); + overflow-y: auto; +} + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.5; +} +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + -webkit-animation: placeholder-glow 2s ease-in-out infinite; + animation: placeholder-glow 2s ease-in-out infinite; +} + +@-webkit-keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + -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%; + -webkit-animation: placeholder-wave 2s linear infinite; + animation: placeholder-wave 2s linear infinite; +} + +@-webkit-keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} + +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.text-bg-primary { + color: #fff !important; + background-color: RGBA(26, 26, 26, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-secondary { + color: #000 !important; + background-color: RGBA(255, 255, 255, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-success { + color: #fff !important; + background-color: RGBA(75, 191, 115, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-info { + color: #fff !important; + background-color: RGBA(31, 155, 207, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-warning { + color: #000 !important; + background-color: RGBA(240, 173, 78, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-danger { + color: #fff !important; + background-color: RGBA(217, 83, 79, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-light { + color: #000 !important; + background-color: RGBA(255, 255, 255, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-dark { + color: #fff !important; + background-color: RGBA(52, 58, 64, var(--bs-bg-opacity, 1)) !important; +} + +.link-primary { + color: #1a1a1a !important; +} +.link-primary:hover, .link-primary:focus { + color: #151515 !important; +} + +.link-secondary { + color: #fff !important; +} +.link-secondary:hover, .link-secondary:focus { + color: white !important; +} + +.link-success { + color: #4bbf73 !important; +} +.link-success:hover, .link-success:focus { + color: #3c995c !important; +} + +.link-info { + color: #1f9bcf !important; +} +.link-info:hover, .link-info:focus { + color: #197ca6 !important; +} + +.link-warning { + color: #f0ad4e !important; +} +.link-warning:hover, .link-warning:focus { + color: #f3bd71 !important; +} + +.link-danger { + color: #d9534f !important; +} +.link-danger:hover, .link-danger:focus { + color: #ae423f !important; +} + +.link-light { + color: #fff !important; +} +.link-light:hover, .link-light:focus { + color: white !important; +} + +.link-dark { + color: #343a40 !important; +} +.link-dark:hover, .link-dark:focus { + color: #2a2e33 !important; +} + +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} + +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} + +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} + +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} + +.sticky-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: 1px; + min-height: 1em; + background-color: currentcolor; + opacity: 0.25; +} + +.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; +} + +.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; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + 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-white { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; +} + +.border-1 { + --bs-border-width: 1px; +} + +.border-2 { + --bs-border-width: 2px; +} + +.border-3 { + --bs-border-width: 3px; +} + +.border-4 { + --bs-border-width: 4px; +} + +.border-5 { + --bs-border-width: 5px; +} + +.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-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 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-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 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; +} + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-2 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-3 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-4 { + font-size: 1.25rem !important; +} + +.fs-5 { + font-size: 1rem !important; +} + +.fs-6 { + font-size: 0.75rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-bold { + font-weight: 700 !important; +} + +.fw-semibold { + font-weight: 600 !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; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.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: #919aa1 !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !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; +} + +.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-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-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-2xl) !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-end { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .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-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 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-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 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; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .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-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 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-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 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; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .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-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 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-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 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; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .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-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 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-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 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; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .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-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 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-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 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; + } + .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: 2rem !important; + } + .fs-2 { + font-size: 1.75rem !important; + } + .fs-3 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +:root { + color-scheme: light; +} + +.navbar { + font-size: 0.875rem; + font-weight: 600; + text-transform: uppercase; +} +.navbar-nav .nav-link { + padding-top: 0.715rem; + padding-bottom: 0.715rem; +} +.navbar-brand { + margin-right: 2rem; +} + +.bg-light { + border: 1px solid rgba(0, 0, 0, 0.1); +} +.bg-light.navbar-fixed-top { + border-width: 0 0 1px; +} +.bg-light.navbar-bottom-top { + border-width: 1px 0 0; +} + +.nav-item { + margin-right: 2rem; +} + +.btn { + font-size: 0.875rem; + text-transform: uppercase; +} +.btn-sm, .btn-group-sm > .btn { + font-size: 10px; +} +.btn-warning, .btn-warning:hover, .btn-warning:not([disabled]):not(.disabled):active, .btn-warning:focus { + color: #fff; +} + +.btn-outline-secondary { + color: #919aa1; + border-color: #919aa1; +} +.btn-outline-secondary:not([disabled]):not(.disabled):hover, .btn-outline-secondary:not([disabled]):not(.disabled):focus, .btn-outline-secondary:not([disabled]):not(.disabled):active { + color: #fff; + background-color: #ced4da; + border-color: #ced4da; +} +.btn-outline-secondary:not([disabled]):not(.disabled):focus { + box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); +} + +[class*=btn-outline-] { + border-width: 2px; +} + +.border-secondary { + border: 1px solid #ced4da !important; +} + +body { + font-weight: 200; + letter-spacing: 1px; +} + +h1, .h1, +h2, +.h2, +h3, +.h3, +h4, +.h4, +h5, +.h5, +h6, +.h6 { + text-transform: uppercase; + letter-spacing: 3px; +} + +.text-secondary { + color: #55595c !important; +} + +th { + font-size: 0.875rem; + text-transform: uppercase; +} + +.table th, +.table td { + padding: 1.5rem; +} +.table-sm th, +.table-sm td { + padding: 0.75rem; +} + +.dropdown-menu { + font-size: 0.875rem; + text-transform: none; +} + +.badge { + padding-top: 0.28rem; +} +.badge-pill { + border-radius: 10rem; +} +.badge.bg-secondary, .badge.bg-light { + color: #343a40; +} + +.list-group-item h1, +.list-group-item h2, +.list-group-item h3, +.list-group-item h4, +.list-group-item h5, +.list-group-item h6, +.list-group-item .h1, +.list-group-item .h2, +.list-group-item .h3, +.list-group-item .h4, +.list-group-item .h5, +.list-group-item .h6, +.card h1, +.card h2, +.card h3, +.card h4, +.card h5, +.card h6, +.card .h1, +.card .h2, +.card .h3, +.card .h4, +.card .h5, +.card .h6 { + color: inherit; +} \ No newline at end of file diff --git a/pyquac/assets/font-awesome.min.css b/pyquac/assets/font-awesome.min.css new file mode 100644 index 0000000..540440c --- /dev/null +++ b/pyquac/assets/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/pyquac/assets/logo_sign.png b/pyquac/assets/logo_sign.png new file mode 100644 index 0000000000000000000000000000000000000000..faa06773fabd5821007a86121a7ef680b6eead7c GIT binary patch literal 4206 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 Date: Tue, 8 Nov 2022 10:41:44 +0300 Subject: [PATCH 2/9] configure navbar and sidebar for dash app --- pyquac/assets/bootstrap.css | 1780 +++++++++++++++++++++-------------- pyquac/jupyter_app copy.py | 233 +++++ pyquac/jupyter_app.py | 3 +- 3 files changed, 1284 insertions(+), 732 deletions(-) create mode 100644 pyquac/jupyter_app copy.py diff --git a/pyquac/assets/bootstrap.css b/pyquac/assets/bootstrap.css index 4e8b1c1..43cc881 100644 --- a/pyquac/assets/bootstrap.css +++ b/pyquac/assets/bootstrap.css @@ -1,74 +1,74 @@ @charset "UTF-8"; /*! - * Bootswatch v5.2.1 (https://bootswatch.com) - * Theme: lux + * Bootswatch v5.2.2 (https://bootswatch.com) + * Theme: zephyr * Copyright 2012-2022 Thomas Park * Licensed under MIT * Based on Bootstrap */ /*! - * Bootstrap v5.2.1 (https://getbootstrap.com/) + * Bootstrap v5.2.2 (https://getbootstrap.com/) * Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2022 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ -@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap"); :root { - --bs-blue: #007bff; + --bs-blue: #3459e6; --bs-indigo: #6610f2; --bs-purple: #6f42c1; - --bs-pink: #e83e8c; - --bs-red: #d9534f; - --bs-orange: #fd7e14; - --bs-yellow: #f0ad4e; - --bs-green: #4bbf73; + --bs-pink: #d63384; + --bs-red: #da292e; + --bs-orange: #f8765f; + --bs-yellow: #f4bd61; + --bs-green: #2fb380; --bs-teal: #20c997; - --bs-cyan: #1f9bcf; + --bs-cyan: #287bb5; --bs-black: #000; --bs-white: #fff; - --bs-gray: #919aa1; + --bs-gray: #6c757d; --bs-gray-dark: #343a40; --bs-gray-100: #f8f9fa; - --bs-gray-200: #f7f7f9; - --bs-gray-300: #eceeef; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; --bs-gray-400: #ced4da; --bs-gray-500: #adb5bd; - --bs-gray-600: #919aa1; - --bs-gray-700: #55595c; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; --bs-gray-800: #343a40; - --bs-gray-900: #1a1a1a; - --bs-primary: #1a1a1a; + --bs-gray-900: #212529; + --bs-primary: #3459e6; --bs-secondary: #fff; - --bs-success: #4bbf73; - --bs-info: #1f9bcf; - --bs-warning: #f0ad4e; - --bs-danger: #d9534f; - --bs-light: #fff; - --bs-dark: #343a40; - --bs-primary-rgb: 26, 26, 26; + --bs-success: #2fb380; + --bs-info: #287bb5; + --bs-warning: #f4bd61; + --bs-danger: #da292e; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 52, 89, 230; --bs-secondary-rgb: 255, 255, 255; - --bs-success-rgb: 75, 191, 115; - --bs-info-rgb: 31, 155, 207; - --bs-warning-rgb: 240, 173, 78; - --bs-danger-rgb: 217, 83, 79; - --bs-light-rgb: 255, 255, 255; - --bs-dark-rgb: 52, 58, 64; + --bs-success-rgb: 47, 179, 128; + --bs-info-rgb: 40, 123, 181; + --bs-warning-rgb: 244, 189, 97; + --bs-danger-rgb: 218, 41, 46; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; --bs-white-rgb: 255, 255, 255; --bs-black-rgb: 0, 0, 0; - --bs-body-color-rgb: 85, 89, 92; + --bs-body-color-rgb: 73, 80, 87; --bs-body-bg-rgb: 255, 255, 255; - --bs-font-sans-serif: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --bs-font-sans-serif: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); --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: #55595c; + --bs-body-color: #495057; --bs-body-bg: #fff; --bs-border-width: 1px; --bs-border-style: solid; - --bs-border-color: #eceeef; + --bs-border-color: #dee2e6; --bs-border-color-translucent: rgba(0, 0, 0, 0.175); --bs-border-radius: 0.375rem; --bs-border-radius-sm: 0.25rem; @@ -76,10 +76,10 @@ --bs-border-radius-xl: 1rem; --bs-border-radius-2xl: 2rem; --bs-border-radius-pill: 50rem; - --bs-link-color: #1a1a1a; - --bs-link-hover-color: #151515; - --bs-code-color: #e83e8c; - --bs-highlight-bg: #fcefdc; + --bs-link-color: #3459e6; + --bs-link-hover-color: #2a47b8; + --bs-code-color: #d63384; + --bs-highlight-bg: #fdf2df; } *, @@ -118,48 +118,53 @@ hr { h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { margin-top: 0; margin-bottom: 0.5rem; - font-weight: 600; + font-weight: 500; line-height: 1.2; - color: #1a1a1a; + color: #212529; } h1, .h1 { - font-size: calc(1.325rem + 0.9vw); + font-size: calc(1.375rem + 1.5vw); } @media (min-width: 1200px) { h1, .h1 { - font-size: 2rem; + font-size: 2.5rem; } } h2, .h2 { - font-size: calc(1.3rem + 0.6vw); + font-size: calc(1.325rem + 0.9vw); } @media (min-width: 1200px) { h2, .h2 { - font-size: 1.75rem; + font-size: 2rem; } } h3, .h3 { - font-size: calc(1.275rem + 0.3vw); + font-size: calc(1.3rem + 0.6vw); } @media (min-width: 1200px) { h3, .h3 { - font-size: 1.5rem; + font-size: 1.75rem; } } h4, .h4 { - font-size: 1.25rem; + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h4, .h4 { + font-size: 1.5rem; + } } h5, .h5 { - font-size: 1rem; + font-size: 1.25rem; } h6, .h6 { - font-size: 0.75rem; + font-size: 1rem; } p { @@ -291,6 +296,7 @@ kbd { font-size: 0.875em; color: var(--bs-body-bg); background-color: var(--bs-body-color); + border-radius: 0.25rem; } kbd kbd { padding: 0; @@ -312,13 +318,14 @@ table { } caption { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - color: #919aa1; + padding-top: 1rem; + padding-bottom: 1rem; + color: #6c757d; text-align: left; } th { + font-weight: 500; text-align: inherit; text-align: -webkit-match-parent; } @@ -594,7 +601,7 @@ progress { margin-top: -1rem; margin-bottom: 1rem; font-size: 0.875em; - color: #919aa1; + color: #6c757d; } .blockquote-footer::before { content: "— "; @@ -609,6 +616,8 @@ progress { padding: 0.25rem; background-color: #fff; border: 1px solid var(--bs-border-color); + border-radius: 0.375rem; + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); max-width: 100%; height: auto; } @@ -624,7 +633,7 @@ progress { .figure-caption { font-size: 0.875em; - color: #919aa1; + color: #6c757d; } .container, @@ -1742,7 +1751,7 @@ progress { .table { --bs-table-color: var(--bs-body-color); --bs-table-bg: transparent; - --bs-table-border-color: rgba(0, 0, 0, 0.05); + --bs-table-border-color: var(--bs-border-color); --bs-table-accent-bg: transparent; --bs-table-striped-color: var(--bs-body-color); --bs-table-striped-bg: rgba(0, 0, 0, 0.05); @@ -1757,7 +1766,7 @@ progress { border-color: var(--bs-table-border-color); } .table > :not(caption) > * > * { - padding: 0.5rem 0.5rem; + padding: 1rem 1rem; background-color: var(--bs-table-bg); border-bottom-width: 1px; box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); @@ -1778,7 +1787,7 @@ progress { } .table-sm > :not(caption) > * > * { - padding: 0.25rem 0.25rem; + padding: 0.5rem 0.5rem; } .table-bordered > :not(caption) > * { @@ -1817,13 +1826,13 @@ progress { .table-primary { --bs-table-color: #000; - --bs-table-bg: #d1d1d1; - --bs-table-border-color: #bcbcbc; - --bs-table-striped-bg: #c7c7c7; + --bs-table-bg: #d6defa; + --bs-table-border-color: #c1c8e1; + --bs-table-striped-bg: #cbd3ee; --bs-table-striped-color: #000; - --bs-table-active-bg: #bcbcbc; - --bs-table-active-color: #000; - --bs-table-hover-bg: #c1c1c1; + --bs-table-active-bg: #c1c8e1; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #c6cde7; --bs-table-hover-color: #000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); @@ -1845,13 +1854,13 @@ progress { .table-success { --bs-table-color: #000; - --bs-table-bg: #dbf2e3; - --bs-table-border-color: #c5dacc; - --bs-table-striped-bg: #d0e6d8; + --bs-table-bg: #d5f0e6; + --bs-table-border-color: #c0d8cf; + --bs-table-striped-bg: #cae4db; --bs-table-striped-color: #000; - --bs-table-active-bg: #c5dacc; + --bs-table-active-bg: #c0d8cf; --bs-table-active-color: #000; - --bs-table-hover-bg: #cbe0d2; + --bs-table-hover-bg: #c5ded5; --bs-table-hover-color: #000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); @@ -1859,13 +1868,13 @@ progress { .table-info { --bs-table-color: #000; - --bs-table-bg: #d2ebf5; - --bs-table-border-color: #bdd4dd; - --bs-table-striped-bg: #c8dfe9; + --bs-table-bg: #d4e5f0; + --bs-table-border-color: #bfced8; + --bs-table-striped-bg: #c9dae4; --bs-table-striped-color: #000; - --bs-table-active-bg: #bdd4dd; + --bs-table-active-bg: #bfced8; --bs-table-active-color: #000; - --bs-table-hover-bg: #c2d9e3; + --bs-table-hover-bg: #c4d4de; --bs-table-hover-color: #000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); @@ -1873,13 +1882,13 @@ progress { .table-warning { --bs-table-color: #000; - --bs-table-bg: #fcefdc; - --bs-table-border-color: #e3d7c6; - --bs-table-striped-bg: #efe3d1; + --bs-table-bg: #fdf2df; + --bs-table-border-color: #e4dac9; + --bs-table-striped-bg: #f0e6d4; --bs-table-striped-color: #000; - --bs-table-active-bg: #e3d7c6; + --bs-table-active-bg: #e4dac9; --bs-table-active-color: #000; - --bs-table-hover-bg: #e9ddcc; + --bs-table-hover-bg: #eae0ce; --bs-table-hover-color: #000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); @@ -1887,13 +1896,13 @@ progress { .table-danger { --bs-table-color: #000; - --bs-table-bg: #f7dddc; - --bs-table-border-color: #dec7c6; - --bs-table-striped-bg: #ebd2d1; + --bs-table-bg: #f8d4d5; + --bs-table-border-color: #dfbfc0; + --bs-table-striped-bg: #ecc9ca; --bs-table-striped-color: #000; - --bs-table-active-bg: #dec7c6; - --bs-table-active-color: #000; - --bs-table-hover-bg: #e4cccc; + --bs-table-active-bg: #dfbfc0; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #e5c4c5; --bs-table-hover-color: #000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); @@ -1901,13 +1910,13 @@ progress { .table-light { --bs-table-color: #000; - --bs-table-bg: #fff; - --bs-table-border-color: #e6e6e6; - --bs-table-striped-bg: #f2f2f2; + --bs-table-bg: #f8f9fa; + --bs-table-border-color: #dfe0e1; + --bs-table-striped-bg: #ecedee; --bs-table-striped-color: #000; - --bs-table-active-bg: #e6e6e6; + --bs-table-active-bg: #dfe0e1; --bs-table-active-color: #000; - --bs-table-hover-bg: #ececec; + --bs-table-hover-bg: #e5e6e7; --bs-table-hover-color: #000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); @@ -1915,13 +1924,13 @@ progress { .table-dark { --bs-table-color: #fff; - --bs-table-bg: #343a40; - --bs-table-border-color: #484e53; - --bs-table-striped-bg: #3e444a; + --bs-table-bg: #212529; + --bs-table-border-color: #373b3e; + --bs-table-striped-bg: #2c3034; --bs-table-striped-color: #fff; - --bs-table-active-bg: #484e53; + --bs-table-active-bg: #373b3e; --bs-table-active-color: #fff; - --bs-table-hover-bg: #43494e; + --bs-table-hover-bg: #323539; --bs-table-hover-color: #fff; color: var(--bs-table-color); border-color: var(--bs-table-border-color); @@ -1964,49 +1973,52 @@ progress { } .form-label { margin-bottom: 0.5rem; + font-weight: 500; } .col-form-label { - padding-top: 0.75rem; - padding-bottom: 0.75rem; + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); margin-bottom: 0; font-size: inherit; + font-weight: 500; line-height: 1.5; } .col-form-label-lg { - padding-top: 2rem; - padding-bottom: 2rem; + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); font-size: 1.25rem; } .col-form-label-sm { - padding-top: 0.5rem; - padding-bottom: 0.5rem; + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); font-size: 0.875rem; } .form-text { margin-top: 0.25rem; font-size: 0.875em; - color: #919aa1; + color: #6c757d; } .form-control { display: block; width: 100%; - padding: 0.75rem 1.5rem; - font-size: 1rem; + padding: 0.5rem 1rem; + font-size: 0.875rem; font-weight: 400; line-height: 1.5; - color: #55595c; - background-color: #f7f7f9; + color: #495057; + background-color: #fff; background-clip: padding-box; - border: 0 solid #ced4da; + border: 1px solid #ced4da; -webkit-appearance: none; -moz-appearance: none; appearance: none; - border-radius: 0; + border-radius: 0.375rem; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } @media (prefers-reduced-motion: reduce) { @@ -2021,55 +2033,55 @@ progress { cursor: pointer; } .form-control:focus { - color: #55595c; - background-color: #f7f7f9; - border-color: #8d8d8d; + color: #495057; + background-color: #fff; + border-color: #9aacf3; outline: 0; - box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), 0 0 0 0.25rem rgba(52, 89, 230, 0.25); } .form-control::-webkit-date-and-time-value { height: 1.5em; } .form-control::-moz-placeholder { - color: #919aa1; + color: #6c757d; opacity: 1; } .form-control::placeholder { - color: #919aa1; + color: #6c757d; opacity: 1; } .form-control:disabled { - background-color: #eceeef; + background-color: #e9ecef; opacity: 1; } .form-control::-webkit-file-upload-button { - padding: 0.75rem 1.5rem; - margin: -0.75rem -1.5rem; - -webkit-margin-end: 1.5rem; - margin-inline-end: 1.5rem; - color: #55595c; - background-color: #eceeef; + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; + color: #495057; + background-color: #f8f9fa; pointer-events: none; border-color: inherit; border-style: solid; border-width: 0; - border-inline-end-width: 0; + border-inline-end-width: 1px; border-radius: 0; -webkit-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; 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; } .form-control::file-selector-button { - padding: 0.75rem 1.5rem; - margin: -0.75rem -1.5rem; - -webkit-margin-end: 1.5rem; - margin-inline-end: 1.5rem; - color: #55595c; - background-color: #eceeef; + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; + color: #495057; + background-color: #f8f9fa; pointer-events: none; border-color: inherit; border-style: solid; border-width: 0; - border-inline-end-width: 0; + border-inline-end-width: 1px; border-radius: 0; 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; } @@ -2083,22 +2095,22 @@ progress { } } .form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { - background-color: #e0e2e3; + background-color: #ecedee; } .form-control:hover:not(:disabled):not([readonly])::file-selector-button { - background-color: #e0e2e3; + background-color: #ecedee; } .form-control-plaintext { display: block; width: 100%; - padding: 0.75rem 0; + padding: 0.5rem 0; margin-bottom: 0; line-height: 1.5; - color: #55595c; + color: #495057; background-color: transparent; border: solid transparent; - border-width: 0 0; + border-width: 1px 0; } .form-control-plaintext:focus { outline: 0; @@ -2109,85 +2121,92 @@ progress { } .form-control-sm { - min-height: calc(1.5em + 1rem); - padding: 0.5rem 1rem; + min-height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; font-size: 0.875rem; + border-radius: 0.25rem; } .form-control-sm::-webkit-file-upload-button { - padding: 0.5rem 1rem; - margin: -0.5rem -1rem; - -webkit-margin-end: 1rem; - margin-inline-end: 1rem; + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; } .form-control-sm::file-selector-button { - padding: 0.5rem 1rem; - margin: -0.5rem -1rem; - -webkit-margin-end: 1rem; - margin-inline-end: 1rem; + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; } .form-control-lg { - min-height: calc(1.5em + 4rem); - padding: 2rem 2rem; + min-height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; font-size: 1.25rem; + border-radius: 0.5rem; } .form-control-lg::-webkit-file-upload-button { - padding: 2rem 2rem; - margin: -2rem -2rem; - -webkit-margin-end: 2rem; - margin-inline-end: 2rem; + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; } .form-control-lg::file-selector-button { - padding: 2rem 2rem; - margin: -2rem -2rem; - -webkit-margin-end: 2rem; - margin-inline-end: 2rem; + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; } textarea.form-control { - min-height: calc(1.5em + 1.5rem); + min-height: calc(1.5em + 1rem + 2px); } textarea.form-control-sm { - min-height: calc(1.5em + 1rem); + min-height: calc(1.5em + 0.5rem + 2px); } textarea.form-control-lg { - min-height: calc(1.5em + 4rem); + min-height: calc(1.5em + 1rem + 2px); } .form-control-color { width: 3rem; - height: calc(1.5em + 1.5rem); - padding: 0.75rem; + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem; } .form-control-color:not(:disabled):not([readonly]) { cursor: pointer; } .form-control-color::-moz-color-swatch { border: 0 !important; + border-radius: 0.375rem; +} +.form-control-color::-webkit-color-swatch { + border-radius: 0.375rem; } .form-control-color.form-control-sm { - height: calc(1.5em + 1rem); + height: calc(1.5em + 0.5rem + 2px); } .form-control-color.form-control-lg { - height: calc(1.5em + 4rem); + height: calc(1.5em + 1rem + 2px); } .form-select { display: block; width: 100%; - padding: 0.75rem 4.5rem 0.75rem 1.5rem; - -moz-padding-start: calc(1.5rem - 3px); - font-size: 1rem; + padding: 0.5rem 3rem 0.5rem 1rem; + -moz-padding-start: calc(1rem - 3px); + font-size: 0.875rem; font-weight: 400; line-height: 1.5; - color: #55595c; - background-color: #f7f7f9; + color: #495057; + background-color: #fff; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); background-repeat: no-repeat; - background-position: right 1.5rem center; + background-position: right 1rem center; background-size: 16px 12px; - border: 0 solid #ced4da; - border-radius: 0; + border: 1px solid #ced4da; + border-radius: 0.375rem; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -webkit-appearance: none; -moz-appearance: none; @@ -2199,34 +2218,36 @@ textarea.form-control-lg { } } .form-select:focus { - border-color: #8d8d8d; + border-color: #9aacf3; outline: 0; - box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(52, 89, 230, 0.25); } .form-select[multiple], .form-select[size]:not([size="1"]) { - padding-right: 1.5rem; + padding-right: 1rem; background-image: none; } .form-select:disabled { - background-color: #f7f7f9; + background-color: #e9ecef; } .form-select:-moz-focusring { color: transparent; - text-shadow: 0 0 0 #55595c; + text-shadow: 0 0 0 #495057; } .form-select-sm { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; font-size: 0.875rem; + border-radius: 0.25rem; } .form-select-lg { - padding-top: 2rem; - padding-bottom: 2rem; - padding-left: 2rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; font-size: 1.25rem; + border-radius: 0.5rem; } .form-check { @@ -2256,7 +2277,7 @@ textarea.form-control-lg { height: 1em; margin-top: 0.25em; vertical-align: top; - background-color: #f7f7f9; + background-color: #fff; background-repeat: no-repeat; background-position: center; background-size: contain; @@ -2268,6 +2289,9 @@ textarea.form-control-lg { color-adjust: exact; print-color-adjust: exact; } +.form-check-input[type=checkbox] { + border-radius: 0.25em; +} .form-check-input[type=radio] { border-radius: 50%; } @@ -2275,13 +2299,13 @@ textarea.form-control-lg { filter: brightness(90%); } .form-check-input:focus { - border-color: #8d8d8d; + border-color: #9aacf3; outline: 0; - box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25); + box-shadow: 0 0 0 0.25rem rgba(52, 89, 230, 0.25); } .form-check-input:checked { - background-color: #1a1a1a; - border-color: #1a1a1a; + background-color: #3459e6; + border-color: #3459e6; } .form-check-input:checked[type=checkbox] { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); @@ -2290,8 +2314,8 @@ textarea.form-control-lg { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); } .form-check-input[type=checkbox]:indeterminate { - background-color: #1a1a1a; - border-color: #1a1a1a; + background-color: #3459e6; + border-color: #3459e6; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); } .form-check-input:disabled { @@ -2312,6 +2336,7 @@ textarea.form-control-lg { margin-left: -2.5em; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); background-position: left center; + border-radius: 2em; transition: background-position 0.15s ease-in-out; } @media (prefers-reduced-motion: reduce) { @@ -2320,7 +2345,7 @@ textarea.form-control-lg { } } .form-switch .form-check-input:focus { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238d8d8d'/%3e%3c/svg%3e"); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%239aacf3'/%3e%3c/svg%3e"); } .form-switch .form-check-input:checked { background-position: right center; @@ -2364,10 +2389,10 @@ textarea.form-control-lg { outline: 0; } .form-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(26, 26, 26, 0.25); + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(52, 89, 230, 0.25); } .form-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(26, 26, 26, 0.25); + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(52, 89, 230, 0.25); } .form-range::-moz-focus-outer { border: 0; @@ -2376,8 +2401,10 @@ textarea.form-control-lg { width: 1rem; height: 1rem; margin-top: -0.25rem; - background-color: #1a1a1a; + background-color: #3459e6; border: 0; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); -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; -webkit-appearance: none; @@ -2390,21 +2417,25 @@ textarea.form-control-lg { } } .form-range::-webkit-slider-thumb:active { - background-color: #bababa; + background-color: #c2cdf8; } .form-range::-webkit-slider-runnable-track { width: 100%; height: 0.5rem; color: transparent; cursor: pointer; - background-color: #eceeef; + background-color: #dee2e6; border-color: transparent; + border-radius: 1rem; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); } .form-range::-moz-range-thumb { width: 1rem; height: 1rem; - background-color: #1a1a1a; + background-color: #3459e6; border: 0; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); -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; -moz-appearance: none; @@ -2417,15 +2448,17 @@ textarea.form-control-lg { } } .form-range::-moz-range-thumb:active { - background-color: #bababa; + background-color: #c2cdf8; } .form-range::-moz-range-track { width: 100%; height: 0.5rem; color: transparent; cursor: pointer; - background-color: #eceeef; + background-color: #dee2e6; border-color: transparent; + border-radius: 1rem; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); } .form-range:disabled { pointer-events: none; @@ -2443,7 +2476,7 @@ textarea.form-control-lg { .form-floating > .form-control, .form-floating > .form-control-plaintext, .form-floating > .form-select { - height: 3.5rem; + height: calc(3.5rem + 2px); line-height: 1.25; } .form-floating > label { @@ -2452,13 +2485,13 @@ textarea.form-control-lg { left: 0; width: 100%; height: 100%; - padding: 1rem 1.5rem; + padding: 1rem 1rem; overflow: hidden; text-align: start; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; - border: 0 solid transparent; + border: 1px solid transparent; transform-origin: 0 0; transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; } @@ -2469,7 +2502,7 @@ textarea.form-control-lg { } .form-floating > .form-control, .form-floating > .form-control-plaintext { - padding: 1rem 1.5rem; + padding: 1rem 1rem; } .form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder { color: transparent; @@ -2513,7 +2546,7 @@ textarea.form-control-lg { transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); } .form-floating > .form-control-plaintext ~ label { - border-width: 0 0; + border-width: 1px 0; } .input-group { @@ -2547,47 +2580,72 @@ textarea.form-control-lg { .input-group-text { display: flex; align-items: center; - padding: 0.75rem 1.5rem; - font-size: 1rem; + padding: 0.5rem 1rem; + font-size: 0.875rem; font-weight: 400; line-height: 1.5; - color: #55595c; + color: #495057; text-align: center; white-space: nowrap; - background-color: #eceeef; - border: 0 solid #ced4da; + background-color: #f8f9fa; + border: 1px solid #ced4da; + border-radius: 0.375rem; } .input-group-lg > .form-control, .input-group-lg > .form-select, .input-group-lg > .input-group-text, .input-group-lg > .btn { - padding: 2rem 2rem; + padding: 0.5rem 1rem; font-size: 1.25rem; + border-radius: 0.5rem; } .input-group-sm > .form-control, .input-group-sm > .form-select, .input-group-sm > .input-group-text, .input-group-sm > .btn { - padding: 0.5rem 1rem; + padding: 0.25rem 0.5rem; font-size: 0.875rem; + border-radius: 0.25rem; } .input-group-lg > .form-select, .input-group-sm > .form-select { - padding-right: 6rem; + padding-right: 4rem; } +.input-group:not(.has-validation) > :not(:last-child):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 { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.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 { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { - margin-left: 0; + margin-left: -1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + .valid-feedback { display: none; width: 100%; margin-top: 0.25rem; font-size: 0.875em; - color: #4bbf73; + color: #2fb380; } .valid-tooltip { @@ -2600,7 +2658,8 @@ textarea.form-control-lg { margin-top: 0.1rem; font-size: 0.875rem; color: #fff; - background-color: rgba(75, 191, 115, 0.9); + background-color: rgba(47, 179, 128, 0.9); + border-radius: 0.375rem; } .was-validated :valid ~ .valid-feedback, @@ -2611,52 +2670,52 @@ textarea.form-control-lg { } .was-validated .form-control:valid, .form-control.is-valid { - border-color: #4bbf73; - padding-right: calc(1.5em + 1.5rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%234bbf73' 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.1z'/%3e%3c/svg%3e"); + border-color: #2fb380; + padding-right: calc(1.5em + 1rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232fb380' d='M2.3 6.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.1z'/%3e%3c/svg%3e"); background-repeat: no-repeat; - background-position: right calc(0.375em + 0.375rem) center; - background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); + background-position: right calc(0.375em + 0.25rem) center; + background-size: calc(0.75em + 0.5rem) calc(0.75em + 0.5rem); } .was-validated .form-control:valid:focus, .form-control.is-valid:focus { - border-color: #4bbf73; - box-shadow: 0 0 0 0.25rem rgba(75, 191, 115, 0.25); + border-color: #2fb380; + box-shadow: 0 0 0 0.25rem rgba(47, 179, 128, 0.25); } .was-validated textarea.form-control:valid, textarea.form-control.is-valid { - padding-right: calc(1.5em + 1.5rem); - background-position: top calc(0.375em + 0.375rem) right calc(0.375em + 0.375rem); + padding-right: calc(1.5em + 1rem); + background-position: top calc(0.375em + 0.25rem) right calc(0.375em + 0.25rem); } .was-validated .form-select:valid, .form-select.is-valid { - border-color: #4bbf73; + border-color: #2fb380; } .was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { - padding-right: 8.25rem; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%234bbf73' 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.1z'/%3e%3c/svg%3e"); - background-position: right 1.5rem center, center right 4.5rem; - background-size: 16px 12px, calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); + padding-right: 5.5rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%232fb380' d='M2.3 6.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.1z'/%3e%3c/svg%3e"); + background-position: right 1rem center, center right 3rem; + background-size: 16px 12px, calc(0.75em + 0.5rem) calc(0.75em + 0.5rem); } .was-validated .form-select:valid:focus, .form-select.is-valid:focus { - border-color: #4bbf73; - box-shadow: 0 0 0 0.25rem rgba(75, 191, 115, 0.25); + border-color: #2fb380; + box-shadow: 0 0 0 0.25rem rgba(47, 179, 128, 0.25); } .was-validated .form-control-color:valid, .form-control-color.is-valid { - width: calc(3rem + calc(1.5em + 1.5rem)); + width: calc(3rem + calc(1.5em + 1rem)); } .was-validated .form-check-input:valid, .form-check-input.is-valid { - border-color: #4bbf73; + border-color: #2fb380; } .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { - background-color: #4bbf73; + background-color: #2fb380; } .was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { - box-shadow: 0 0 0 0.25rem rgba(75, 191, 115, 0.25); + box-shadow: 0 0 0 0.25rem rgba(47, 179, 128, 0.25); } .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: #4bbf73; + color: #2fb380; } .form-check-inline .form-check-input ~ .valid-feedback { @@ -2676,7 +2735,7 @@ textarea.form-control-lg { width: 100%; margin-top: 0.25rem; font-size: 0.875em; - color: #d9534f; + color: #da292e; } .invalid-tooltip { @@ -2689,7 +2748,8 @@ textarea.form-control-lg { margin-top: 0.1rem; font-size: 0.875rem; color: #fff; - background-color: rgba(217, 83, 79, 0.9); + background-color: rgba(218, 41, 46, 0.9); + border-radius: 0.375rem; } .was-validated :invalid ~ .invalid-feedback, @@ -2700,52 +2760,52 @@ textarea.form-control-lg { } .was-validated .form-control:invalid, .form-control.is-invalid { - border-color: #d9534f; - padding-right: calc(1.5em + 1.5rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23d9534f'%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='%23d9534f' stroke='none'/%3e%3c/svg%3e"); + border-color: #da292e; + padding-right: calc(1.5em + 1rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23da292e'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23da292e' stroke='none'/%3e%3c/svg%3e"); background-repeat: no-repeat; - background-position: right calc(0.375em + 0.375rem) center; - background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); + background-position: right calc(0.375em + 0.25rem) center; + background-size: calc(0.75em + 0.5rem) calc(0.75em + 0.5rem); } .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { - border-color: #d9534f; - box-shadow: 0 0 0 0.25rem rgba(217, 83, 79, 0.25); + border-color: #da292e; + box-shadow: 0 0 0 0.25rem rgba(218, 41, 46, 0.25); } .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { - padding-right: calc(1.5em + 1.5rem); - background-position: top calc(0.375em + 0.375rem) right calc(0.375em + 0.375rem); + padding-right: calc(1.5em + 1rem); + background-position: top calc(0.375em + 0.25rem) right calc(0.375em + 0.25rem); } .was-validated .form-select:invalid, .form-select.is-invalid { - border-color: #d9534f; + border-color: #da292e; } .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { - padding-right: 8.25rem; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23d9534f'%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='%23d9534f' stroke='none'/%3e%3c/svg%3e"); - background-position: right 1.5rem center, center right 4.5rem; - background-size: 16px 12px, calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); + padding-right: 5.5rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23da292e'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23da292e' stroke='none'/%3e%3c/svg%3e"); + background-position: right 1rem center, center right 3rem; + background-size: 16px 12px, calc(0.75em + 0.5rem) calc(0.75em + 0.5rem); } .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { - border-color: #d9534f; - box-shadow: 0 0 0 0.25rem rgba(217, 83, 79, 0.25); + border-color: #da292e; + box-shadow: 0 0 0 0.25rem rgba(218, 41, 46, 0.25); } .was-validated .form-control-color:invalid, .form-control-color.is-invalid { - width: calc(3rem + calc(1.5em + 1.5rem)); + width: calc(3rem + calc(1.5em + 1rem)); } .was-validated .form-check-input:invalid, .form-check-input.is-invalid { - border-color: #d9534f; + border-color: #da292e; } .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { - background-color: #d9534f; + background-color: #da292e; } .was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { - box-shadow: 0 0 0 0.25rem rgba(217, 83, 79, 0.25); + box-shadow: 0 0 0 0.25rem rgba(218, 41, 46, 0.25); } .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: #d9534f; + color: #da292e; } .form-check-inline .form-check-input ~ .invalid-feedback { @@ -2761,19 +2821,19 @@ textarea.form-control-lg { } .btn { - --bs-btn-padding-x: 1.5rem; - --bs-btn-padding-y: 0.75rem; + --bs-btn-padding-x: 1rem; + --bs-btn-padding-y: 0.5rem; --bs-btn-font-family: ; - --bs-btn-font-size: 1rem; - --bs-btn-font-weight: 600; - --bs-btn-line-height: 1.5rem; - --bs-btn-color: #55595c; + --bs-btn-font-size: 0.875rem; + --bs-btn-font-weight: 500; + --bs-btn-line-height: 1.5; + --bs-btn-color: #495057; --bs-btn-bg: transparent; - --bs-btn-border-width: 0; + --bs-btn-border-width: 1px; --bs-btn-border-color: transparent; --bs-btn-border-radius: 0.375rem; --bs-btn-hover-border-color: transparent; - --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --bs-btn-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); --bs-btn-disabled-opacity: 0.65; --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5); display: inline-block; @@ -2791,7 +2851,9 @@ textarea.form-control-lg { -moz-user-select: none; user-select: none; border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); + border-radius: var(--bs-btn-border-radius); background-color: var(--bs-btn-bg); + box-shadow: var(--bs-btn-box-shadow); 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) { @@ -2799,30 +2861,36 @@ textarea.form-control-lg { transition: none; } } -:not(.btn-check) + .btn:hover, .btn:first-child:hover { +.btn:hover { color: var(--bs-btn-hover-color); background-color: var(--bs-btn-hover-bg); border-color: var(--bs-btn-hover-border-color); } +.btn-check + .btn:hover { + color: var(--bs-btn-color); + background-color: var(--bs-btn-bg); + border-color: var(--bs-btn-border-color); +} .btn:focus-visible { color: var(--bs-btn-hover-color); background-color: var(--bs-btn-hover-bg); border-color: var(--bs-btn-hover-border-color); outline: 0; - box-shadow: var(--bs-btn-focus-box-shadow); + box-shadow: var(--bs-btn-box-shadow), var(--bs-btn-focus-box-shadow); } .btn-check:focus-visible + .btn { border-color: var(--bs-btn-hover-border-color); outline: 0; - box-shadow: var(--bs-btn-focus-box-shadow); + box-shadow: var(--bs-btn-box-shadow), var(--bs-btn-focus-box-shadow); } .btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show { color: var(--bs-btn-active-color); background-color: var(--bs-btn-active-bg); border-color: var(--bs-btn-active-border-color); + box-shadow: var(--bs-btn-active-shadow); } .btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { - box-shadow: var(--bs-btn-focus-box-shadow); + box-shadow: var(--bs-btn-active-shadow), var(--bs-btn-focus-box-shadow); } .btn:disabled, .btn.disabled, fieldset:disabled .btn { color: var(--bs-btn-disabled-color); @@ -2830,23 +2898,24 @@ textarea.form-control-lg { background-color: var(--bs-btn-disabled-bg); border-color: var(--bs-btn-disabled-border-color); opacity: var(--bs-btn-disabled-opacity); + box-shadow: none; } .btn-primary { --bs-btn-color: #fff; - --bs-btn-bg: #1a1a1a; - --bs-btn-border-color: #1a1a1a; + --bs-btn-bg: #3459e6; + --bs-btn-border-color: #3459e6; --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #161616; - --bs-btn-hover-border-color: #151515; - --bs-btn-focus-shadow-rgb: 60, 60, 60; + --bs-btn-hover-bg: #2c4cc4; + --bs-btn-hover-border-color: #2a47b8; + --bs-btn-focus-shadow-rgb: 82, 114, 234; --bs-btn-active-color: #fff; - --bs-btn-active-bg: #151515; - --bs-btn-active-border-color: #141414; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-active-bg: #2a47b8; + --bs-btn-active-border-color: #2743ad; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); --bs-btn-disabled-color: #fff; - --bs-btn-disabled-bg: #1a1a1a; - --bs-btn-disabled-border-color: #1a1a1a; + --bs-btn-disabled-bg: #3459e6; + --bs-btn-disabled-border-color: #3459e6; } .btn-secondary { @@ -2860,7 +2929,7 @@ textarea.form-control-lg { --bs-btn-active-color: #000; --bs-btn-active-bg: white; --bs-btn-active-border-color: white; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); --bs-btn-disabled-color: #000; --bs-btn-disabled-bg: #fff; --bs-btn-disabled-border-color: #fff; @@ -2868,120 +2937,120 @@ textarea.form-control-lg { .btn-success { --bs-btn-color: #fff; - --bs-btn-bg: #4bbf73; - --bs-btn-border-color: #4bbf73; + --bs-btn-bg: #2fb380; + --bs-btn-border-color: #2fb380; --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #40a262; - --bs-btn-hover-border-color: #3c995c; - --bs-btn-focus-shadow-rgb: 102, 201, 136; + --bs-btn-hover-bg: #28986d; + --bs-btn-hover-border-color: #268f66; + --bs-btn-focus-shadow-rgb: 78, 190, 147; --bs-btn-active-color: #fff; - --bs-btn-active-bg: #3c995c; - --bs-btn-active-border-color: #388f56; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-active-bg: #268f66; + --bs-btn-active-border-color: #238660; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); --bs-btn-disabled-color: #fff; - --bs-btn-disabled-bg: #4bbf73; - --bs-btn-disabled-border-color: #4bbf73; + --bs-btn-disabled-bg: #2fb380; + --bs-btn-disabled-border-color: #2fb380; } .btn-info { --bs-btn-color: #fff; - --bs-btn-bg: #1f9bcf; - --bs-btn-border-color: #1f9bcf; + --bs-btn-bg: #287bb5; + --bs-btn-border-color: #287bb5; --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #1a84b0; - --bs-btn-hover-border-color: #197ca6; - --bs-btn-focus-shadow-rgb: 65, 170, 214; + --bs-btn-hover-bg: #22699a; + --bs-btn-hover-border-color: #206291; + --bs-btn-focus-shadow-rgb: 72, 143, 192; --bs-btn-active-color: #fff; - --bs-btn-active-bg: #197ca6; - --bs-btn-active-border-color: #17749b; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-active-bg: #206291; + --bs-btn-active-border-color: #1e5c88; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); --bs-btn-disabled-color: #fff; - --bs-btn-disabled-bg: #1f9bcf; - --bs-btn-disabled-border-color: #1f9bcf; + --bs-btn-disabled-bg: #287bb5; + --bs-btn-disabled-border-color: #287bb5; } .btn-warning { - --bs-btn-color: #000; - --bs-btn-bg: #f0ad4e; - --bs-btn-border-color: #f0ad4e; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #f2b969; - --bs-btn-hover-border-color: #f2b560; - --bs-btn-focus-shadow-rgb: 204, 147, 66; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #f3bd71; - --bs-btn-active-border-color: #f2b560; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #f0ad4e; - --bs-btn-disabled-border-color: #f0ad4e; + --bs-btn-color: #fff; + --bs-btn-bg: #f4bd61; + --bs-btn-border-color: #f4bd61; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #cfa152; + --bs-btn-hover-border-color: #c3974e; + --bs-btn-focus-shadow-rgb: 246, 199, 121; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #c3974e; + --bs-btn-active-border-color: #b78e49; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #f4bd61; + --bs-btn-disabled-border-color: #f4bd61; } .btn-danger { --bs-btn-color: #fff; - --bs-btn-bg: #d9534f; - --bs-btn-border-color: #d9534f; + --bs-btn-bg: #da292e; + --bs-btn-border-color: #da292e; --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #b84743; - --bs-btn-hover-border-color: #ae423f; - --bs-btn-focus-shadow-rgb: 223, 109, 105; + --bs-btn-hover-bg: #b92327; + --bs-btn-hover-border-color: #ae2125; + --bs-btn-focus-shadow-rgb: 224, 73, 77; --bs-btn-active-color: #fff; - --bs-btn-active-bg: #ae423f; - --bs-btn-active-border-color: #a33e3b; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-active-bg: #ae2125; + --bs-btn-active-border-color: #a41f23; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); --bs-btn-disabled-color: #fff; - --bs-btn-disabled-bg: #d9534f; - --bs-btn-disabled-border-color: #d9534f; + --bs-btn-disabled-bg: #da292e; + --bs-btn-disabled-border-color: #da292e; } .btn-light { --bs-btn-color: #000; - --bs-btn-bg: #fff; - --bs-btn-border-color: #fff; + --bs-btn-bg: #f8f9fa; + --bs-btn-border-color: #f8f9fa; --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #d9d9d9; - --bs-btn-hover-border-color: #cccccc; - --bs-btn-focus-shadow-rgb: 217, 217, 217; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #cccccc; - --bs-btn-active-border-color: #bfbfbf; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-hover-bg: #d3d4d5; + --bs-btn-hover-border-color: #c6c7c8; + --bs-btn-focus-shadow-rgb: 211, 212, 213; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #c6c7c8; + --bs-btn-active-border-color: #babbbc; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #fff; - --bs-btn-disabled-border-color: #fff; + --bs-btn-disabled-bg: #f8f9fa; + --bs-btn-disabled-border-color: #f8f9fa; } .btn-dark { --bs-btn-color: #fff; - --bs-btn-bg: #343a40; - --bs-btn-border-color: #343a40; + --bs-btn-bg: #212529; + --bs-btn-border-color: #212529; --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #52585d; - --bs-btn-hover-border-color: #484e53; - --bs-btn-focus-shadow-rgb: 82, 88, 93; + --bs-btn-hover-bg: #424649; + --bs-btn-hover-border-color: #373b3e; + --bs-btn-focus-shadow-rgb: 66, 70, 73; --bs-btn-active-color: #fff; - --bs-btn-active-bg: #5d6166; - --bs-btn-active-border-color: #484e53; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-active-bg: #4d5154; + --bs-btn-active-border-color: #373b3e; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); --bs-btn-disabled-color: #fff; - --bs-btn-disabled-bg: #343a40; - --bs-btn-disabled-border-color: #343a40; + --bs-btn-disabled-bg: #212529; + --bs-btn-disabled-border-color: #212529; } .btn-outline-primary { - --bs-btn-color: #1a1a1a; - --bs-btn-border-color: #1a1a1a; + --bs-btn-color: #3459e6; + --bs-btn-border-color: #3459e6; --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-hover-bg: #3459e6; + --bs-btn-hover-border-color: #3459e6; + --bs-btn-focus-shadow-rgb: 52, 89, 230; --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-active-bg: #3459e6; + --bs-btn-active-border-color: #3459e6; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + --bs-btn-disabled-color: #3459e6; --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #1a1a1a; + --bs-btn-disabled-border-color: #3459e6; --bs-gradient: none; } @@ -2995,7 +3064,7 @@ textarea.form-control-lg { --bs-btn-active-color: #000; --bs-btn-active-bg: #fff; --bs-btn-active-border-color: #fff; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); --bs-btn-disabled-color: #fff; --bs-btn-disabled-bg: transparent; --bs-btn-disabled-border-color: #fff; @@ -3003,104 +3072,104 @@ textarea.form-control-lg { } .btn-outline-success { - --bs-btn-color: #4bbf73; - --bs-btn-border-color: #4bbf73; + --bs-btn-color: #2fb380; + --bs-btn-border-color: #2fb380; --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #4bbf73; - --bs-btn-hover-border-color: #4bbf73; - --bs-btn-focus-shadow-rgb: 75, 191, 115; + --bs-btn-hover-bg: #2fb380; + --bs-btn-hover-border-color: #2fb380; + --bs-btn-focus-shadow-rgb: 47, 179, 128; --bs-btn-active-color: #fff; - --bs-btn-active-bg: #4bbf73; - --bs-btn-active-border-color: #4bbf73; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #4bbf73; + --bs-btn-active-bg: #2fb380; + --bs-btn-active-border-color: #2fb380; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + --bs-btn-disabled-color: #2fb380; --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #4bbf73; + --bs-btn-disabled-border-color: #2fb380; --bs-gradient: none; } .btn-outline-info { - --bs-btn-color: #1f9bcf; - --bs-btn-border-color: #1f9bcf; + --bs-btn-color: #287bb5; + --bs-btn-border-color: #287bb5; --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #1f9bcf; - --bs-btn-hover-border-color: #1f9bcf; - --bs-btn-focus-shadow-rgb: 31, 155, 207; + --bs-btn-hover-bg: #287bb5; + --bs-btn-hover-border-color: #287bb5; + --bs-btn-focus-shadow-rgb: 40, 123, 181; --bs-btn-active-color: #fff; - --bs-btn-active-bg: #1f9bcf; - --bs-btn-active-border-color: #1f9bcf; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #1f9bcf; + --bs-btn-active-bg: #287bb5; + --bs-btn-active-border-color: #287bb5; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + --bs-btn-disabled-color: #287bb5; --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #1f9bcf; + --bs-btn-disabled-border-color: #287bb5; --bs-gradient: none; } .btn-outline-warning { - --bs-btn-color: #f0ad4e; - --bs-btn-border-color: #f0ad4e; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #f0ad4e; - --bs-btn-hover-border-color: #f0ad4e; - --bs-btn-focus-shadow-rgb: 240, 173, 78; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #f0ad4e; - --bs-btn-active-border-color: #f0ad4e; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #f0ad4e; + --bs-btn-color: #f4bd61; + --bs-btn-border-color: #f4bd61; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #f4bd61; + --bs-btn-hover-border-color: #f4bd61; + --bs-btn-focus-shadow-rgb: 244, 189, 97; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #f4bd61; + --bs-btn-active-border-color: #f4bd61; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + --bs-btn-disabled-color: #f4bd61; --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #f0ad4e; + --bs-btn-disabled-border-color: #f4bd61; --bs-gradient: none; } .btn-outline-danger { - --bs-btn-color: #d9534f; - --bs-btn-border-color: #d9534f; + --bs-btn-color: #da292e; + --bs-btn-border-color: #da292e; --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #d9534f; - --bs-btn-hover-border-color: #d9534f; - --bs-btn-focus-shadow-rgb: 217, 83, 79; + --bs-btn-hover-bg: #da292e; + --bs-btn-hover-border-color: #da292e; + --bs-btn-focus-shadow-rgb: 218, 41, 46; --bs-btn-active-color: #fff; - --bs-btn-active-bg: #d9534f; - --bs-btn-active-border-color: #d9534f; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #d9534f; + --bs-btn-active-bg: #da292e; + --bs-btn-active-border-color: #da292e; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + --bs-btn-disabled-color: #da292e; --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #d9534f; + --bs-btn-disabled-border-color: #da292e; --bs-gradient: none; } .btn-outline-light { - --bs-btn-color: #fff; - --bs-btn-border-color: #fff; + --bs-btn-color: #f8f9fa; + --bs-btn-border-color: #f8f9fa; --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #fff; - --bs-btn-hover-border-color: #fff; - --bs-btn-focus-shadow-rgb: 255, 255, 255; + --bs-btn-hover-bg: #f8f9fa; + --bs-btn-hover-border-color: #f8f9fa; + --bs-btn-focus-shadow-rgb: 248, 249, 250; --bs-btn-active-color: #000; - --bs-btn-active-bg: #fff; - --bs-btn-active-border-color: #fff; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; + --bs-btn-active-bg: #f8f9fa; + --bs-btn-active-border-color: #f8f9fa; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + --bs-btn-disabled-color: #f8f9fa; --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #fff; + --bs-btn-disabled-border-color: #f8f9fa; --bs-gradient: none; } .btn-outline-dark { - --bs-btn-color: #343a40; - --bs-btn-border-color: #343a40; + --bs-btn-color: #212529; + --bs-btn-border-color: #212529; --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #343a40; - --bs-btn-hover-border-color: #343a40; - --bs-btn-focus-shadow-rgb: 52, 58, 64; + --bs-btn-hover-bg: #212529; + --bs-btn-hover-border-color: #212529; + --bs-btn-focus-shadow-rgb: 33, 37, 41; --bs-btn-active-color: #fff; - --bs-btn-active-bg: #343a40; - --bs-btn-active-border-color: #343a40; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #343a40; + --bs-btn-active-bg: #212529; + --bs-btn-active-border-color: #212529; + --bs-btn-active-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + --bs-btn-disabled-color: #212529; --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #343a40; + --bs-btn-disabled-border-color: #212529; --bs-gradient: none; } @@ -3113,10 +3182,10 @@ textarea.form-control-lg { --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: #919aa1; + --bs-btn-disabled-color: #6c757d; --bs-btn-disabled-border-color: transparent; --bs-btn-box-shadow: none; - --bs-btn-focus-shadow-rgb: 60, 60, 60; + --bs-btn-focus-shadow-rgb: 82, 114, 234; text-decoration: underline; } .btn-link:focus-visible { @@ -3127,15 +3196,15 @@ textarea.form-control-lg { } .btn-lg, .btn-group-lg > .btn { - --bs-btn-padding-y: 2rem; - --bs-btn-padding-x: 2rem; + --bs-btn-padding-y: 0.5rem; + --bs-btn-padding-x: 1rem; --bs-btn-font-size: 1.25rem; --bs-btn-border-radius: 0.5rem; } .btn-sm, .btn-group-sm > .btn { - --bs-btn-padding-y: 0.5rem; - --bs-btn-padding-x: 1rem; + --bs-btn-padding-y: 0.25rem; + --bs-btn-padding-x: 0.5rem; --bs-btn-font-size: 0.875rem; --bs-btn-border-radius: 0.25rem; } @@ -3209,25 +3278,25 @@ textarea.form-control-lg { --bs-dropdown-padding-x: 0; --bs-dropdown-padding-y: 0.5rem; --bs-dropdown-spacer: 0.125rem; - --bs-dropdown-font-size: 1rem; - --bs-dropdown-color: #55595c; + --bs-dropdown-font-size: 0.875rem; + --bs-dropdown-color: #495057; --bs-dropdown-bg: #fff; - --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-border-color: #dee2e6; --bs-dropdown-border-radius: 0.375rem; --bs-dropdown-border-width: 1px; --bs-dropdown-inner-border-radius: calc(0.375rem - 1px); - --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-divider-bg: #e9ecef; --bs-dropdown-divider-margin-y: 0.5rem; - --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --bs-dropdown-link-color: #1a1a1a; - --bs-dropdown-link-hover-color: #171717; - --bs-dropdown-link-hover-bg: #f7f7f9; + --bs-dropdown-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + --bs-dropdown-link-color: #212529; + --bs-dropdown-link-hover-color: #fff; + --bs-dropdown-link-hover-bg: #3459e6; --bs-dropdown-link-active-color: #fff; - --bs-dropdown-link-active-bg: #1a1a1a; + --bs-dropdown-link-active-bg: #3459e6; --bs-dropdown-link-disabled-color: #adb5bd; --bs-dropdown-item-padding-x: 1rem; - --bs-dropdown-item-padding-y: 0.25rem; - --bs-dropdown-header-color: #919aa1; + --bs-dropdown-item-padding-y: 0.5rem; + --bs-dropdown-header-color: #6c757d; --bs-dropdown-header-padding-x: 1rem; --bs-dropdown-header-padding-y: 0.5rem; position: absolute; @@ -3243,6 +3312,8 @@ textarea.form-control-lg { background-color: var(--bs-dropdown-bg); background-clip: padding-box; border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); + border-radius: var(--bs-dropdown-border-radius); + box-shadow: var(--bs-dropdown-box-shadow); } .dropdown-menu[data-bs-popper] { top: 100%; @@ -3478,16 +3549,16 @@ textarea.form-control-lg { } .dropdown-menu-dark { - --bs-dropdown-color: #eceeef; + --bs-dropdown-color: #dee2e6; --bs-dropdown-bg: #343a40; - --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-border-color: #dee2e6; --bs-dropdown-box-shadow: ; - --bs-dropdown-link-color: #eceeef; + --bs-dropdown-link-color: #dee2e6; --bs-dropdown-link-hover-color: #fff; - --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-divider-bg: #e9ecef; --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); --bs-dropdown-link-active-color: #fff; - --bs-dropdown-link-active-bg: #1a1a1a; + --bs-dropdown-link-active-bg: #3459e6; --bs-dropdown-link-disabled-color: #adb5bd; --bs-dropdown-header-color: #adb5bd; } @@ -3527,13 +3598,29 @@ textarea.form-control-lg { width: auto; } +.btn-group { + border-radius: 0.375rem; +} .btn-group > :not(.btn-check:first-child) + .btn, .btn-group > .btn-group:not(:first-child) { - margin-left: 0; + margin-left: -1px; +} +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn.dropdown-toggle-split:first-child, +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:nth-child(n+3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + .dropdown-toggle-split { - padding-right: 1.125rem; - padding-left: 1.125rem; + padding-right: 0.75rem; + padding-left: 0.75rem; } .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { margin-left: 0; @@ -3543,13 +3630,20 @@ textarea.form-control-lg { } .btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { padding-right: 0.75rem; padding-left: 0.75rem; } -.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { - padding-right: 1.5rem; - padding-left: 1.5rem; +.btn-group.show .dropdown-toggle { + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} +.btn-group.show .dropdown-toggle.btn-link { + box-shadow: none; } .btn-group-vertical { @@ -3563,15 +3657,26 @@ textarea.form-control-lg { } .btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) { - margin-top: 0; + margin-top: -1px; +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } +.btn-group-vertical > .btn ~ .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .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: var(--bs-link-color); - --bs-nav-link-hover-color: var(--bs-link-hover-color); - --bs-nav-link-disabled-color: #919aa1; + --bs-nav-link-color: #495057; + --bs-nav-link-hover-color: #495057; + --bs-nav-link-disabled-color: #6c757d; display: flex; flex-wrap: wrap; padding-left: 0; @@ -3604,18 +3709,20 @@ textarea.form-control-lg { .nav-tabs { --bs-nav-tabs-border-width: 1px; - --bs-nav-tabs-border-color: #eceeef; - --bs-nav-tabs-border-radius: 0.375rem; - --bs-nav-tabs-link-hover-border-color: #f7f7f9 #f7f7f9 #eceeef; - --bs-nav-tabs-link-active-color: #55595c; + --bs-nav-tabs-border-color: #dee2e6; + --bs-nav-tabs-border-radius: 0; + --bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6; + --bs-nav-tabs-link-active-color: #3459e6; --bs-nav-tabs-link-active-bg: #fff; - --bs-nav-tabs-link-active-border-color: #eceeef #eceeef #fff; + --bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff; border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); } .nav-tabs .nav-link { margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); background: none; 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); } .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { isolation: isolate; @@ -3634,16 +3741,19 @@ textarea.form-control-lg { } .nav-tabs .dropdown-menu { margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); + border-top-left-radius: 0; + border-top-right-radius: 0; } .nav-pills { --bs-nav-pills-border-radius: 0.375rem; --bs-nav-pills-link-active-color: #fff; - --bs-nav-pills-link-active-bg: #1a1a1a; + --bs-nav-pills-link-active-bg: #3459e6; } .nav-pills .nav-link { background: none; border: 0; + border-radius: var(--bs-nav-pills-border-radius); } .nav-pills .nav-link:disabled { color: var(--bs-nav-link-disabled-color); @@ -3683,21 +3793,21 @@ textarea.form-control-lg { .navbar { --bs-navbar-padding-x: 0; - --bs-navbar-padding-y: 1.5rem; - --bs-navbar-color: rgba(0, 0, 0, 0.3); - --bs-navbar-hover-color: #1a1a1a; + --bs-navbar-padding-y: 0.85rem; + --bs-navbar-color: #000; + --bs-navbar-hover-color: #000; --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3); - --bs-navbar-active-color: #1a1a1a; + --bs-navbar-active-color: #000; --bs-navbar-brand-padding-y: 0.3125rem; --bs-navbar-brand-margin-end: 1rem; --bs-navbar-brand-font-size: 1.25rem; - --bs-navbar-brand-color: #1a1a1a; - --bs-navbar-brand-hover-color: #1a1a1a; - --bs-navbar-nav-link-padding-x: 0.5rem; + --bs-navbar-brand-color: #000; + --bs-navbar-brand-hover-color: #000; + --bs-navbar-nav-link-padding-x: 0.75rem; --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,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.3%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23000' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); --bs-navbar-toggler-border-color: rgba(0, 0, 0, 0.1); --bs-navbar-toggler-border-radius: 0.375rem; --bs-navbar-toggler-focus-width: 0.25rem; @@ -3779,6 +3889,7 @@ textarea.form-control-lg { color: var(--bs-navbar-color); background-color: transparent; border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); + border-radius: var(--bs-navbar-toggler-border-radius); transition: var(--bs-navbar-toggler-transition); } @media (prefers-reduced-motion: reduce) { @@ -3846,6 +3957,7 @@ textarea.form-control-lg { background-color: transparent !important; border: 0 !important; transform: none !important; + box-shadow: none; transition: none; } .navbar-expand-sm .offcanvas .offcanvas-header { @@ -3893,6 +4005,7 @@ textarea.form-control-lg { background-color: transparent !important; border: 0 !important; transform: none !important; + box-shadow: none; transition: none; } .navbar-expand-md .offcanvas .offcanvas-header { @@ -3940,6 +4053,7 @@ textarea.form-control-lg { background-color: transparent !important; border: 0 !important; transform: none !important; + box-shadow: none; transition: none; } .navbar-expand-lg .offcanvas .offcanvas-header { @@ -3987,6 +4101,7 @@ textarea.form-control-lg { background-color: transparent !important; border: 0 !important; transform: none !important; + box-shadow: none; transition: none; } .navbar-expand-xl .offcanvas .offcanvas-header { @@ -4034,6 +4149,7 @@ textarea.form-control-lg { background-color: transparent !important; border: 0 !important; transform: none !important; + box-shadow: none; transition: none; } .navbar-expand-xxl .offcanvas .offcanvas-header { @@ -4080,6 +4196,7 @@ textarea.form-control-lg { background-color: transparent !important; border: 0 !important; transform: none !important; + box-shadow: none; transition: none; } .navbar-expand .offcanvas .offcanvas-header { @@ -4093,27 +4210,27 @@ textarea.form-control-lg { } .navbar-dark { - --bs-navbar-color: rgba(255, 255, 255, 0.55); + --bs-navbar-color: #fff; --bs-navbar-hover-color: #fff; --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); --bs-navbar-active-color: #fff; --bs-navbar-brand-color: #fff; --bs-navbar-brand-hover-color: #fff; --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); - --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } .card { --bs-card-spacer-y: 1rem; - --bs-card-spacer-x: 1rem; + --bs-card-spacer-x: 1.5rem; --bs-card-title-spacer-y: 0.5rem; --bs-card-border-width: 1px; --bs-card-border-color: var(--bs-border-color-translucent); --bs-card-border-radius: 0.375rem; --bs-card-box-shadow: ; --bs-card-inner-border-radius: calc(0.375rem - 1px); - --bs-card-cap-padding-y: 0.5rem; - --bs-card-cap-padding-x: 1rem; + --bs-card-cap-padding-y: 1rem; + --bs-card-cap-padding-x: 1.5rem; --bs-card-cap-bg: rgba(0, 0, 0, 0.03); --bs-card-cap-color: ; --bs-card-height: ; @@ -4130,6 +4247,8 @@ textarea.form-control-lg { background-color: var(--bs-card-bg); background-clip: border-box; border: var(--bs-card-border-width) solid var(--bs-card-border-color); + border-radius: var(--bs-card-border-radius); + box-shadow: var(--bs-card-box-shadow); } .card > hr { margin-right: 0; @@ -4141,9 +4260,13 @@ textarea.form-control-lg { } .card > .list-group:first-child { border-top-width: 0; + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); } .card > .list-group:last-child { border-bottom-width: 0; + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); } .card > .card-header + .list-group, .card > .list-group + .card-footer { @@ -4180,12 +4303,20 @@ textarea.form-control-lg { background-color: var(--bs-card-cap-bg); border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); } +.card-header:first-child { + border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; +} + .card-footer { padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); color: var(--bs-card-cap-color); background-color: var(--bs-card-cap-bg); border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); } +.card-footer:last-child { + border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); +} + .card-header-tabs { margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); @@ -4209,6 +4340,7 @@ textarea.form-control-lg { bottom: 0; left: 0; padding: var(--bs-card-img-overlay-padding); + border-radius: var(--bs-card-inner-border-radius); } .card-img, @@ -4217,6 +4349,18 @@ textarea.form-control-lg { 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-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} + .card-group > .card { margin-bottom: var(--bs-card-group-margin); } @@ -4233,10 +4377,34 @@ textarea.form-control-lg { margin-left: 0; border-left: 0; } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, +.card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, +.card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, +.card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, +.card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } } .accordion { - --bs-accordion-color: var(--bs-body-color); + --bs-accordion-color: #495057; --bs-accordion-bg: #fff; --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); @@ -4245,19 +4413,19 @@ textarea.form-control-lg { --bs-accordion-inner-border-radius: calc(0.375rem - 1px); --bs-accordion-btn-padding-x: 1.25rem; --bs-accordion-btn-padding-y: 1rem; - --bs-accordion-btn-color: var(--bs-body-color); + --bs-accordion-btn-color: #495057; --bs-accordion-btn-bg: var(--bs-accordion-bg); - --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--bs-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23495057'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); --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,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23171717'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); - --bs-accordion-btn-focus-border-color: #8d8d8d; - --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25); + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232f50cf'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-focus-border-color: #9aacf3; + --bs-accordion-btn-focus-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); --bs-accordion-body-padding-x: 1.25rem; --bs-accordion-body-padding-y: 1rem; - --bs-accordion-active-color: #171717; - --bs-accordion-active-bg: #e8e8e8; + --bs-accordion-active-color: #2f50cf; + --bs-accordion-active-bg: #ebeefd; } .accordion-button { @@ -4271,6 +4439,7 @@ textarea.form-control-lg { text-align: left; background-color: var(--bs-accordion-btn-bg); border: 0; + border-radius: 0; overflow-anchor: none; transition: var(--bs-accordion-transition); } @@ -4323,9 +4492,30 @@ textarea.form-control-lg { background-color: var(--bs-accordion-bg); border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-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-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-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: var(--bs-accordion-inner-border-radius); + border-bottom-left-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} + .accordion-body { padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); } @@ -4336,6 +4526,7 @@ textarea.form-control-lg { .accordion-flush .accordion-item { border-right: 0; border-left: 0; + border-radius: 0; } .accordion-flush .accordion-item:first-child { border-top: 0; @@ -4343,15 +4534,19 @@ textarea.form-control-lg { .accordion-flush .accordion-item:last-child { border-bottom: 0; } +.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed { + border-radius: 0; +} + .breadcrumb { - --bs-breadcrumb-padding-x: 0; + --bs-breadcrumb-padding-x: 1rem; --bs-breadcrumb-padding-y: 0; --bs-breadcrumb-margin-bottom: 1rem; --bs-breadcrumb-bg: ; --bs-breadcrumb-border-radius: ; - --bs-breadcrumb-divider-color: #919aa1; + --bs-breadcrumb-divider-color: #6c757d; --bs-breadcrumb-item-padding-x: 0.5rem; - --bs-breadcrumb-item-active-color: #919aa1; + --bs-breadcrumb-item-active-color: #6c757d; display: flex; flex-wrap: wrap; padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); @@ -4359,6 +4554,7 @@ textarea.form-control-lg { font-size: var(--bs-breadcrumb-font-size); list-style: none; background-color: var(--bs-breadcrumb-bg); + border-radius: var(--bs-breadcrumb-border-radius); } .breadcrumb-item + .breadcrumb-item { @@ -4368,33 +4564,33 @@ textarea.form-control-lg { float: left; padding-right: var(--bs-breadcrumb-item-padding-x); color: var(--bs-breadcrumb-divider-color); - content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; + content: var(--bs-breadcrumb-divider, ">") /* rtl: var(--bs-breadcrumb-divider, ">") */; } .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-padding-x: 1rem; + --bs-pagination-padding-y: 0.5rem; --bs-pagination-font-size: 1rem; - --bs-pagination-color: var(--bs-link-color); + --bs-pagination-color: #495057; --bs-pagination-bg: #fff; --bs-pagination-border-width: 1px; - --bs-pagination-border-color: transparent; + --bs-pagination-border-color: #dee2e6; --bs-pagination-border-radius: 0.375rem; - --bs-pagination-hover-color: var(--bs-link-hover-color); - --bs-pagination-hover-bg: #f7f7f9; - --bs-pagination-hover-border-color: transparent; - --bs-pagination-focus-color: var(--bs-link-hover-color); - --bs-pagination-focus-bg: #f7f7f9; - --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25); + --bs-pagination-hover-color: #495057; + --bs-pagination-hover-bg: #f8f9fa; + --bs-pagination-hover-border-color: #dee2e6; + --bs-pagination-focus-color: #495057; + --bs-pagination-focus-bg: #e9ecef; + --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(52, 89, 230, 0.25); --bs-pagination-active-color: #fff; - --bs-pagination-active-bg: #1a1a1a; - --bs-pagination-active-border-color: #1a1a1a; - --bs-pagination-disabled-color: #919aa1; + --bs-pagination-active-bg: #3459e6; + --bs-pagination-active-border-color: #3459e6; + --bs-pagination-disabled-color: #6c757d; --bs-pagination-disabled-bg: #fff; - --bs-pagination-disabled-border-color: transparent; + --bs-pagination-disabled-border-color: #dee2e6; display: flex; padding-left: 0; list-style: none; @@ -4445,6 +4641,15 @@ textarea.form-control-lg { .page-item:not(:first-child) .page-link { margin-left: -1px; } +.page-item:first-child .page-link { + border-top-left-radius: var(--bs-pagination-border-radius); + border-bottom-left-radius: var(--bs-pagination-border-radius); +} +.page-item:last-child .page-link { + border-top-right-radius: var(--bs-pagination-border-radius); + border-bottom-right-radius: var(--bs-pagination-border-radius); +} + .pagination-lg { --bs-pagination-padding-x: 1.5rem; --bs-pagination-padding-y: 0.75rem; @@ -4475,6 +4680,7 @@ textarea.form-control-lg { text-align: center; white-space: nowrap; vertical-align: baseline; + border-radius: var(--bs-badge-border-radius); } .badge:empty { display: none; @@ -4500,6 +4706,7 @@ textarea.form-control-lg { color: var(--bs-alert-color); background-color: var(--bs-alert-bg); border: var(--bs-alert-border); + border-radius: var(--bs-alert-border-radius); } .alert-heading { @@ -4522,12 +4729,12 @@ textarea.form-control-lg { } .alert-primary { - --bs-alert-color: #101010; - --bs-alert-bg: #d1d1d1; - --bs-alert-border-color: #bababa; + --bs-alert-color: #1f358a; + --bs-alert-bg: #d6defa; + --bs-alert-border-color: #c2cdf8; } .alert-primary .alert-link { - color: #0d0d0d; + color: #192a6e; } .alert-secondary { @@ -4540,63 +4747,57 @@ textarea.form-control-lg { } .alert-success { - --bs-alert-color: #2d7345; - --bs-alert-bg: #dbf2e3; - --bs-alert-border-color: #c9ecd5; + --bs-alert-color: #1c6b4d; + --bs-alert-bg: #d5f0e6; + --bs-alert-border-color: #c1e8d9; } .alert-success .alert-link { - color: #245c37; + color: #16563e; } .alert-info { - --bs-alert-color: #135d7c; - --bs-alert-bg: #d2ebf5; - --bs-alert-border-color: #bce1f1; + --bs-alert-color: #184a6d; + --bs-alert-bg: #d4e5f0; + --bs-alert-border-color: #bfd7e9; } .alert-info .alert-link { - color: #0f4a63; + color: #133b57; } .alert-warning { - --bs-alert-color: #90682f; - --bs-alert-bg: #fcefdc; - --bs-alert-border-color: #fbe6ca; + --bs-alert-color: #92713a; + --bs-alert-bg: #fdf2df; + --bs-alert-border-color: #fcebd0; } .alert-warning .alert-link { - color: #735326; + color: #755a2e; } .alert-danger { - --bs-alert-color: #82322f; - --bs-alert-bg: #f7dddc; - --bs-alert-border-color: #f4cbca; + --bs-alert-color: #83191c; + --bs-alert-bg: #f8d4d5; + --bs-alert-border-color: #f4bfc0; } .alert-danger .alert-link { - color: #682826; + color: #691416; } .alert-light { - --bs-alert-color: #999999; - --bs-alert-bg: white; - --bs-alert-border-color: white; + --bs-alert-color: #959596; + --bs-alert-bg: #fefefe; + --bs-alert-border-color: #fdfdfe; } .alert-light .alert-link { - color: #7a7a7a; + color: #777778; } .alert-dark { - --bs-alert-color: #1f2326; - --bs-alert-bg: #d6d8d9; - --bs-alert-border-color: #c2c4c6; + --bs-alert-color: #141619; + --bs-alert-bg: #d3d3d4; + --bs-alert-border-color: #bcbebf; } .alert-dark .alert-link { - color: #191c1e; -} - -@-webkit-keyframes progress-bar-stripes { - 0% { - background-position-x: 1rem; - } + color: #101214; } @keyframes progress-bar-stripes { @@ -4607,17 +4808,19 @@ textarea.form-control-lg { .progress { --bs-progress-height: 1rem; --bs-progress-font-size: 0.75rem; - --bs-progress-bg: #f7f7f9; + --bs-progress-bg: #e9ecef; --bs-progress-border-radius: 0.375rem; --bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); --bs-progress-bar-color: #fff; - --bs-progress-bar-bg: #1a1a1a; + --bs-progress-bar-bg: #3459e6; --bs-progress-bar-transition: width 0.6s ease; display: flex; height: var(--bs-progress-height); overflow: hidden; font-size: var(--bs-progress-font-size); background-color: var(--bs-progress-bg); + border-radius: var(--bs-progress-border-radius); + box-shadow: var(--bs-progress-box-shadow); } .progress-bar { @@ -4643,38 +4846,37 @@ textarea.form-control-lg { } .progress-bar-animated { - -webkit-animation: 1s linear infinite progress-bar-stripes; animation: 1s linear infinite progress-bar-stripes; } @media (prefers-reduced-motion: reduce) { .progress-bar-animated { - -webkit-animation: none; animation: none; } } .list-group { - --bs-list-group-color: #1a1a1a; + --bs-list-group-color: #212529; --bs-list-group-bg: #fff; --bs-list-group-border-color: rgba(0, 0, 0, 0.125); --bs-list-group-border-width: 1px; --bs-list-group-border-radius: 0.375rem; - --bs-list-group-item-padding-x: 1rem; - --bs-list-group-item-padding-y: 0.5rem; - --bs-list-group-action-color: #55595c; - --bs-list-group-action-hover-color: #55595c; + --bs-list-group-item-padding-x: 1.5rem; + --bs-list-group-item-padding-y: 1rem; + --bs-list-group-action-color: #495057; + --bs-list-group-action-hover-color: #495057; --bs-list-group-action-hover-bg: #f8f9fa; - --bs-list-group-action-active-color: #55595c; - --bs-list-group-action-active-bg: #f7f7f9; - --bs-list-group-disabled-color: #919aa1; + --bs-list-group-action-active-color: #495057; + --bs-list-group-action-active-bg: #e9ecef; + --bs-list-group-disabled-color: #6c757d; --bs-list-group-disabled-bg: #fff; --bs-list-group-active-color: #fff; - --bs-list-group-active-bg: #1a1a1a; - --bs-list-group-active-border-color: #1a1a1a; + --bs-list-group-active-bg: #3459e6; + --bs-list-group-active-border-color: #3459e6; display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; + border-radius: var(--bs-list-group-border-radius); } .list-group-numbered { @@ -4711,6 +4913,14 @@ textarea.form-control-lg { background-color: var(--bs-list-group-bg); border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); } +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} .list-group-item.disabled, .list-group-item:disabled { color: var(--bs-list-group-disabled-color); pointer-events: none; @@ -4733,6 +4943,14 @@ textarea.form-control-lg { .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-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; +} .list-group-horizontal > .list-group-item.active { margin-top: 0; } @@ -4749,6 +4967,14 @@ textarea.form-control-lg { .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-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } .list-group-horizontal-sm > .list-group-item.active { margin-top: 0; } @@ -4765,6 +4991,14 @@ textarea.form-control-lg { .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-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } .list-group-horizontal-md > .list-group-item.active { margin-top: 0; } @@ -4781,6 +5015,14 @@ textarea.form-control-lg { .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-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } .list-group-horizontal-lg > .list-group-item.active { margin-top: 0; } @@ -4797,6 +5039,14 @@ textarea.form-control-lg { .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-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } .list-group-horizontal-xl > .list-group-item.active { margin-top: 0; } @@ -4813,6 +5063,14 @@ textarea.form-control-lg { .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-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } .list-group-horizontal-xxl > .list-group-item.active { margin-top: 0; } @@ -4825,6 +5083,9 @@ textarea.form-control-lg { border-left-width: var(--bs-list-group-border-width); } } +.list-group-flush { + border-radius: 0; +} .list-group-flush > .list-group-item { border-width: 0 0 var(--bs-list-group-border-width); } @@ -4833,17 +5094,17 @@ textarea.form-control-lg { } .list-group-item-primary { - color: #101010; - background-color: #d1d1d1; + color: #1f358a; + background-color: #d6defa; } .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { - color: #101010; - background-color: #bcbcbc; + color: #1f358a; + background-color: #c1c8e1; } .list-group-item-primary.list-group-item-action.active { color: #fff; - background-color: #101010; - border-color: #101010; + background-color: #1f358a; + border-color: #1f358a; } .list-group-item-secondary { @@ -4861,87 +5122,87 @@ textarea.form-control-lg { } .list-group-item-success { - color: #2d7345; - background-color: #dbf2e3; + color: #1c6b4d; + background-color: #d5f0e6; } .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { - color: #2d7345; - background-color: #c5dacc; + color: #1c6b4d; + background-color: #c0d8cf; } .list-group-item-success.list-group-item-action.active { color: #fff; - background-color: #2d7345; - border-color: #2d7345; + background-color: #1c6b4d; + border-color: #1c6b4d; } .list-group-item-info { - color: #135d7c; - background-color: #d2ebf5; + color: #184a6d; + background-color: #d4e5f0; } .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { - color: #135d7c; - background-color: #bdd4dd; + color: #184a6d; + background-color: #bfced8; } .list-group-item-info.list-group-item-action.active { color: #fff; - background-color: #135d7c; - border-color: #135d7c; + background-color: #184a6d; + border-color: #184a6d; } .list-group-item-warning { - color: #90682f; - background-color: #fcefdc; + color: #92713a; + background-color: #fdf2df; } .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { - color: #90682f; - background-color: #e3d7c6; + color: #92713a; + background-color: #e4dac9; } .list-group-item-warning.list-group-item-action.active { color: #fff; - background-color: #90682f; - border-color: #90682f; + background-color: #92713a; + border-color: #92713a; } .list-group-item-danger { - color: #82322f; - background-color: #f7dddc; + color: #83191c; + background-color: #f8d4d5; } .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { - color: #82322f; - background-color: #dec7c6; + color: #83191c; + background-color: #dfbfc0; } .list-group-item-danger.list-group-item-action.active { color: #fff; - background-color: #82322f; - border-color: #82322f; + background-color: #83191c; + border-color: #83191c; } .list-group-item-light { - color: #999999; - background-color: white; + color: #959596; + background-color: #fefefe; } .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { - color: #999999; - background-color: #e6e6e6; + color: #959596; + background-color: #e5e5e5; } .list-group-item-light.list-group-item-action.active { color: #fff; - background-color: #999999; - border-color: #999999; + background-color: #959596; + border-color: #959596; } .list-group-item-dark { - color: #1f2326; - background-color: #d6d8d9; + color: #141619; + background-color: #d3d3d4; } .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { - color: #1f2326; - background-color: #c1c2c3; + color: #141619; + background-color: #bebebf; } .list-group-item-dark.list-group-item-action.active { color: #fff; - background-color: #1f2326; - border-color: #1f2326; + background-color: #141619; + border-color: #141619; } .btn-close { @@ -4952,6 +5213,7 @@ textarea.form-control-lg { color: #000; background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 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.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; border: 0; + border-radius: 0.375rem; opacity: 0.5; } .btn-close:hover { @@ -4961,7 +5223,7 @@ textarea.form-control-lg { } .btn-close:focus { outline: 0; - box-shadow: 0 0 0 0.25rem rgba(26, 26, 26, 0.25); + box-shadow: 0 0 0 0.25rem rgba(52, 89, 230, 0.25); opacity: 1; } .btn-close:disabled, .btn-close.disabled { @@ -4988,8 +5250,8 @@ textarea.form-control-lg { --bs-toast-border-width: 1px; --bs-toast-border-color: var(--bs-border-color-translucent); --bs-toast-border-radius: 0.375rem; - --bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --bs-toast-header-color: #919aa1; + --bs-toast-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + --bs-toast-header-color: #212529; --bs-toast-header-bg: rgba(255, 255, 255, 0.85); --bs-toast-header-border-color: rgba(0, 0, 0, 0.05); width: var(--bs-toast-max-width); @@ -5001,6 +5263,7 @@ textarea.form-control-lg { background-clip: padding-box; border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); box-shadow: var(--bs-toast-box-shadow); + border-radius: var(--bs-toast-border-radius); } .toast.showing { opacity: 0; @@ -5010,6 +5273,7 @@ textarea.form-control-lg { } .toast-container { + --bs-toast-zindex: 1090; position: absolute; z-index: var(--bs-toast-zindex); width: -webkit-max-content; @@ -5030,6 +5294,8 @@ textarea.form-control-lg { background-color: var(--bs-toast-header-bg); background-clip: padding-box; 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)); } .toast-header .btn-close { margin-right: calc(-0.5 * var(--bs-toast-padding-x)); @@ -5048,7 +5314,7 @@ textarea.form-control-lg { --bs-modal-margin: 0.5rem; --bs-modal-color: ; --bs-modal-bg: #fff; - --bs-modal-border-color: var(--bs-border-color-translucent); + --bs-modal-border-color: #dee2e6; --bs-modal-border-width: 1px; --bs-modal-border-radius: 0.5rem; --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); @@ -5057,12 +5323,12 @@ textarea.form-control-lg { --bs-modal-header-padding-y: 1rem; --bs-modal-header-padding: 1rem 1rem; --bs-modal-header-border-color: var(--bs-border-color); - --bs-modal-header-border-width: 1px; + --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: var(--bs-border-color); - --bs-modal-footer-border-width: 1px; + --bs-modal-footer-border-width: 0; position: fixed; top: 0; left: 0; @@ -5124,6 +5390,8 @@ textarea.form-control-lg { background-color: var(--bs-modal-bg); background-clip: padding-box; border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); + border-radius: var(--bs-modal-border-radius); + box-shadow: var(--bs-modal-box-shadow); outline: 0; } @@ -5153,6 +5421,8 @@ textarea.form-control-lg { justify-content: space-between; padding: var(--bs-modal-header-padding); 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); } .modal-header .btn-close { padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5); @@ -5179,6 +5449,8 @@ textarea.form-control-lg { padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5); background-color: var(--bs-modal-footer-bg); border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color); + border-bottom-right-radius: var(--bs-modal-inner-border-radius); + border-bottom-left-radius: var(--bs-modal-inner-border-radius); } .modal-footer > * { margin: calc(var(--bs-modal-footer-gap) * 0.5); @@ -5187,7 +5459,7 @@ textarea.form-control-lg { @media (min-width: 576px) { .modal { --bs-modal-margin: 1.75rem; - --bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-modal-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } .modal-dialog { max-width: var(--bs-modal-width); @@ -5218,6 +5490,11 @@ textarea.form-control-lg { .modal-fullscreen .modal-content { height: 100%; border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header, +.modal-fullscreen .modal-footer { + border-radius: 0; } .modal-fullscreen .modal-body { overflow-y: auto; @@ -5233,6 +5510,11 @@ textarea.form-control-lg { .modal-fullscreen-sm-down .modal-content { height: 100%; border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header, +.modal-fullscreen-sm-down .modal-footer { + border-radius: 0; } .modal-fullscreen-sm-down .modal-body { overflow-y: auto; @@ -5248,6 +5530,11 @@ textarea.form-control-lg { .modal-fullscreen-md-down .modal-content { height: 100%; border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header, +.modal-fullscreen-md-down .modal-footer { + border-radius: 0; } .modal-fullscreen-md-down .modal-body { overflow-y: auto; @@ -5263,6 +5550,11 @@ textarea.form-control-lg { .modal-fullscreen-lg-down .modal-content { height: 100%; border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header, +.modal-fullscreen-lg-down .modal-footer { + border-radius: 0; } .modal-fullscreen-lg-down .modal-body { overflow-y: auto; @@ -5278,6 +5570,11 @@ textarea.form-control-lg { .modal-fullscreen-xl-down .modal-content { height: 100%; border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header, +.modal-fullscreen-xl-down .modal-footer { + border-radius: 0; } .modal-fullscreen-xl-down .modal-body { overflow-y: auto; @@ -5293,6 +5590,11 @@ textarea.form-control-lg { .modal-fullscreen-xxl-down .modal-content { height: 100%; border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header, +.modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; } .modal-fullscreen-xxl-down .modal-body { overflow-y: auto; @@ -5398,6 +5700,7 @@ textarea.form-control-lg { color: var(--bs-tooltip-color); text-align: center; background-color: var(--bs-tooltip-bg); + border-radius: var(--bs-tooltip-border-radius); } .popover { @@ -5409,15 +5712,15 @@ textarea.form-control-lg { --bs-popover-border-color: var(--bs-border-color-translucent); --bs-popover-border-radius: 0.5rem; --bs-popover-inner-border-radius: calc(0.5rem - 1px); - --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-popover-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); --bs-popover-header-padding-x: 1rem; --bs-popover-header-padding-y: 0.5rem; --bs-popover-header-font-size: 1rem; - --bs-popover-header-color: #1a1a1a; + --bs-popover-header-color: #212529; --bs-popover-header-bg: #f0f0f0; --bs-popover-body-padding-x: 1rem; --bs-popover-body-padding-y: 1rem; - --bs-popover-body-color: #55595c; + --bs-popover-body-color: #495057; --bs-popover-arrow-width: 1rem; --bs-popover-arrow-height: 0.5rem; --bs-popover-arrow-border: var(--bs-popover-border-color); @@ -5443,6 +5746,8 @@ textarea.form-control-lg { background-color: var(--bs-popover-bg); background-clip: padding-box; border: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-radius: var(--bs-popover-border-radius); + box-shadow: var(--bs-popover-box-shadow); } .popover .popover-arrow { display: block; @@ -5543,6 +5848,8 @@ textarea.form-control-lg { color: var(--bs-popover-header-color); 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); } .popover-header:empty { display: none; @@ -5767,16 +6074,9 @@ textarea.form-control-lg { height: var(--bs-spinner-height); vertical-align: var(--bs-spinner-vertical-align); border-radius: 50%; - -webkit-animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); } -@-webkit-keyframes spinner-border { - to { - transform: rotate(360deg) /* rtl:ignore */; - } -} - @keyframes spinner-border { to { transform: rotate(360deg) /* rtl:ignore */; @@ -5799,16 +6099,6 @@ textarea.form-control-lg { --bs-spinner-border-width: 0.2em; } -@-webkit-keyframes spinner-grow { - 0% { - transform: scale(0); - } - 50% { - opacity: 1; - transform: none; - } -} - @keyframes spinner-grow { 0% { transform: scale(0); @@ -5848,7 +6138,7 @@ textarea.form-control-lg { --bs-offcanvas-color: ; --bs-offcanvas-bg: #fff; --bs-offcanvas-border-width: 1px; - --bs-offcanvas-border-color: var(--bs-border-color-translucent); + --bs-offcanvas-border-color: #dee2e6; --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); } @@ -5865,6 +6155,7 @@ textarea.form-control-lg { background-color: var(--bs-offcanvas-bg); background-clip: padding-box; outline: 0; + box-shadow: var(--bs-offcanvas-box-shadow); transition: transform 0.3s ease-in-out; } } @@ -5953,6 +6244,7 @@ textarea.form-control-lg { background-color: var(--bs-offcanvas-bg); background-clip: padding-box; outline: 0; + box-shadow: var(--bs-offcanvas-box-shadow); transition: transform 0.3s ease-in-out; } } @@ -6041,6 +6333,7 @@ textarea.form-control-lg { background-color: var(--bs-offcanvas-bg); background-clip: padding-box; outline: 0; + box-shadow: var(--bs-offcanvas-box-shadow); transition: transform 0.3s ease-in-out; } } @@ -6129,6 +6422,7 @@ textarea.form-control-lg { background-color: var(--bs-offcanvas-bg); background-clip: padding-box; outline: 0; + box-shadow: var(--bs-offcanvas-box-shadow); transition: transform 0.3s ease-in-out; } } @@ -6217,6 +6511,7 @@ textarea.form-control-lg { background-color: var(--bs-offcanvas-bg); background-clip: padding-box; outline: 0; + box-shadow: var(--bs-offcanvas-box-shadow); transition: transform 0.3s ease-in-out; } } @@ -6304,6 +6599,7 @@ textarea.form-control-lg { background-color: var(--bs-offcanvas-bg); background-clip: padding-box; outline: 0; + box-shadow: var(--bs-offcanvas-box-shadow); transition: transform 0.3s ease-in-out; } @media (prefers-reduced-motion: reduce) { @@ -6415,16 +6711,9 @@ textarea.form-control-lg { } .placeholder-glow .placeholder { - -webkit-animation: placeholder-glow 2s ease-in-out infinite; animation: placeholder-glow 2s ease-in-out infinite; } -@-webkit-keyframes placeholder-glow { - 50% { - opacity: 0.2; - } -} - @keyframes placeholder-glow { 50% { opacity: 0.2; @@ -6435,17 +6724,9 @@ textarea.form-control-lg { 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%; - -webkit-animation: placeholder-wave 2s linear infinite; animation: placeholder-wave 2s linear infinite; } -@-webkit-keyframes placeholder-wave { - 100% { - -webkit-mask-position: -200% 0%; - mask-position: -200% 0%; - } -} - @keyframes placeholder-wave { 100% { -webkit-mask-position: -200% 0%; @@ -6460,7 +6741,7 @@ textarea.form-control-lg { .text-bg-primary { color: #fff !important; - background-color: RGBA(26, 26, 26, var(--bs-bg-opacity, 1)) !important; + background-color: RGBA(52, 89, 230, var(--bs-bg-opacity, 1)) !important; } .text-bg-secondary { @@ -6470,39 +6751,39 @@ textarea.form-control-lg { .text-bg-success { color: #fff !important; - background-color: RGBA(75, 191, 115, var(--bs-bg-opacity, 1)) !important; + background-color: RGBA(47, 179, 128, var(--bs-bg-opacity, 1)) !important; } .text-bg-info { color: #fff !important; - background-color: RGBA(31, 155, 207, var(--bs-bg-opacity, 1)) !important; + background-color: RGBA(40, 123, 181, var(--bs-bg-opacity, 1)) !important; } .text-bg-warning { - color: #000 !important; - background-color: RGBA(240, 173, 78, var(--bs-bg-opacity, 1)) !important; + color: #fff !important; + background-color: RGBA(244, 189, 97, var(--bs-bg-opacity, 1)) !important; } .text-bg-danger { color: #fff !important; - background-color: RGBA(217, 83, 79, var(--bs-bg-opacity, 1)) !important; + background-color: RGBA(218, 41, 46, var(--bs-bg-opacity, 1)) !important; } .text-bg-light { color: #000 !important; - background-color: RGBA(255, 255, 255, var(--bs-bg-opacity, 1)) !important; + background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important; } .text-bg-dark { color: #fff !important; - background-color: RGBA(52, 58, 64, var(--bs-bg-opacity, 1)) !important; + background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important; } .link-primary { - color: #1a1a1a !important; + color: #3459e6 !important; } .link-primary:hover, .link-primary:focus { - color: #151515 !important; + color: #2a47b8 !important; } .link-secondary { @@ -6513,45 +6794,45 @@ textarea.form-control-lg { } .link-success { - color: #4bbf73 !important; + color: #2fb380 !important; } .link-success:hover, .link-success:focus { - color: #3c995c !important; + color: #268f66 !important; } .link-info { - color: #1f9bcf !important; + color: #287bb5 !important; } .link-info:hover, .link-info:focus { - color: #197ca6 !important; + color: #206291 !important; } .link-warning { - color: #f0ad4e !important; + color: #f4bd61 !important; } .link-warning:hover, .link-warning:focus { - color: #f3bd71 !important; + color: #c3974e !important; } .link-danger { - color: #d9534f !important; + color: #da292e !important; } .link-danger:hover, .link-danger:focus { - color: #ae423f !important; + color: #ae2125 !important; } .link-light { - color: #fff !important; + color: #f8f9fa !important; } .link-light:hover, .link-light:focus { - color: white !important; + color: #f9fafb !important; } .link-dark { - color: #343a40 !important; + color: #212529 !important; } .link-dark:hover, .link-dark:focus { - color: #2a2e33 !important; + color: #1a1e21 !important; } .ratio { @@ -6852,7 +7133,7 @@ textarea.form-control-lg { } .shadow { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important; } .shadow-sm { @@ -6860,7 +7141,7 @@ textarea.form-control-lg { } .shadow-lg { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important; } .shadow-none { @@ -7728,27 +8009,27 @@ textarea.form-control-lg { } .fs-1 { - font-size: calc(1.325rem + 0.9vw) !important; + font-size: calc(1.375rem + 1.5vw) !important; } .fs-2 { - font-size: calc(1.3rem + 0.6vw) !important; + font-size: calc(1.325rem + 0.9vw) !important; } .fs-3 { - font-size: calc(1.275rem + 0.3vw) !important; + font-size: calc(1.3rem + 0.6vw) !important; } .fs-4 { - font-size: 1.25rem !important; + font-size: calc(1.275rem + 0.3vw) !important; } .fs-5 { - font-size: 1rem !important; + font-size: 1.25rem !important; } .fs-6 { - font-size: 0.75rem !important; + font-size: 1rem !important; } .fst-italic { @@ -7907,7 +8188,7 @@ textarea.form-control-lg { .text-muted { --bs-text-opacity: 1; - color: #919aa1 !important; + color: #6c757d !important; } .text-black-50 { @@ -10597,12 +10878,15 @@ textarea.form-control-lg { } @media (min-width: 1200px) { .fs-1 { - font-size: 2rem !important; + font-size: 2.5rem !important; } .fs-2 { - font-size: 1.75rem !important; + font-size: 2rem !important; } .fs-3 { + font-size: 1.75rem !important; + } + .fs-4 { font-size: 1.5rem !important; } } @@ -10644,114 +10928,132 @@ textarea.form-control-lg { .navbar { font-size: 0.875rem; - font-weight: 600; - text-transform: uppercase; + font-weight: 500; } -.navbar-nav .nav-link { - padding-top: 0.715rem; - padding-bottom: 0.715rem; +.navbar .nav-item { + margin-right: 0.5rem; + margin-left: 0.5rem; } -.navbar-brand { - margin-right: 2rem; +.navbar .navbar-nav .nav-link { + border-radius: 0.375rem; } -.bg-light { - border: 1px solid rgba(0, 0, 0, 0.1); +.navbar-dark .navbar-nav .nav-link:hover { + background-color: rgba(255, 255, 255, 0.1); } -.bg-light.navbar-fixed-top { - border-width: 0 0 1px; -} -.bg-light.navbar-bottom-top { - border-width: 1px 0 0; +.navbar-dark .navbar-nav .nav-link.active { + background-color: rgba(0, 0, 0, 0.5); } -.nav-item { - margin-right: 2rem; +.navbar-light .navbar-nav .nav-link:hover { + background-color: rgba(0, 0, 0, 0.03); +} +.navbar-light .navbar-nav .nav-link.active { + background-color: rgba(0, 0, 0, 0.05); } -.btn { - font-size: 0.875rem; - text-transform: uppercase; +.navbar-nav { + --bs-nav-link-padding-x: .5rem; } -.btn-sm, .btn-group-sm > .btn { - font-size: 10px; + +.btn-secondary, +.btn-light, +.btn-outline-secondary, +.btn-outline-light { + color: #212529; } -.btn-warning, .btn-warning:hover, .btn-warning:not([disabled]):not(.disabled):active, .btn-warning:focus { - color: #fff; +.btn-secondary:disabled, .btn-secondary.disabled, +.btn-light:disabled, +.btn-light.disabled, +.btn-outline-secondary:disabled, +.btn-outline-secondary.disabled, +.btn-outline-light:disabled, +.btn-outline-light.disabled { + border: 1px solid #e6e6e6; } +.btn-secondary, .btn-outline-secondary { - color: #919aa1; - border-color: #919aa1; -} -.btn-outline-secondary:not([disabled]):not(.disabled):hover, .btn-outline-secondary:not([disabled]):not(.disabled):focus, .btn-outline-secondary:not([disabled]):not(.disabled):active { - color: #fff; - background-color: #ced4da; - border-color: #ced4da; + border-color: #e6e6e6; } -.btn-outline-secondary:not([disabled]):not(.disabled):focus { - box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); +.btn-secondary:hover, .btn-secondary:active, +.btn-outline-secondary:hover, +.btn-outline-secondary:active { + background-color: #e6e6e6; + border-color: #e6e6e6; } -[class*=btn-outline-] { - border-width: 2px; +.btn-light, +.btn-outline-light { + border-color: #dfe0e1; +} +.btn-light:hover, .btn-light:active, +.btn-outline-light:hover, +.btn-outline-light:active { + background-color: #dfe0e1; + border-color: #dfe0e1; } -.border-secondary { - border: 1px solid #ced4da !important; +.table { + font-size: 0.875rem; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); } -body { - font-weight: 200; - letter-spacing: 1px; -} - -h1, .h1, -h2, -.h2, -h3, -.h3, -h4, -.h4, -h5, -.h5, -h6, -.h6 { +thead th { + font-size: 0.875rem; text-transform: uppercase; - letter-spacing: 3px; } -.text-secondary { - color: #55595c !important; +.input-group-text { + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } -th { - font-size: 0.875rem; - text-transform: uppercase; +.nav-tabs { + font-weight: 500; +} +.nav-tabs .nav-link { + padding-top: 1rem; + padding-bottom: 1rem; + border-width: 0 0 1px; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + box-shadow: inset 0 -2px 0 #3459e6; +} + +.nav-pills { + font-weight: 500; } -.table th, -.table td { - padding: 1.5rem; +.pagination { + font-size: 0.875rem; + font-weight: 500; } -.table-sm th, -.table-sm td { - padding: 0.75rem; +.pagination .page-link { + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } -.dropdown-menu { +.breadcrumb { font-size: 0.875rem; - text-transform: none; + font-weight: 500; + border: 1px solid #dee2e6; + border-radius: 0.375rem; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} +.breadcrumb-item { + padding: 1rem 0.5rem 1rem 0; } -.badge { - padding-top: 0.28rem; +.breadcrumb-item + .breadcrumb-item::before { + padding-right: 1rem; } -.badge-pill { - border-radius: 10rem; + +.alert .btn-close { + color: inherit; } + .badge.bg-secondary, .badge.bg-light { - color: #343a40; + color: #212529; } .list-group-item h1, @@ -10779,4 +11081,20 @@ th { .card .h5, .card .h6 { color: inherit; +} + +.list-group { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); +} + +.card { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); +} + +.modal-footer { + background-color: #f8f9fa; +} + +.modal-content { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); } \ No newline at end of file diff --git a/pyquac/jupyter_app copy.py b/pyquac/jupyter_app copy.py new file mode 100644 index 0000000..bd5cc40 --- /dev/null +++ b/pyquac/jupyter_app copy.py @@ -0,0 +1,233 @@ +# Setup +from turtle import color +import dash +from dash.dependencies import Input, Output, State +from dash import dcc +from dash import html +import dash_bootstrap_components as dbc +from dash_bootstrap_templates import load_figure_template +from matplotlib.pyplot import cla +from jupyter_dash import JupyterDash + +from settings import settings + +# App Instance +theme = dbc.themes.ZEPHYR +css = settings.css_url +icons = dbc.icons.BOOTSTRAP +load_figure_template('ZEPHYR') + +# the style arguments for the sidebar. We use position:fixed and a fixed width +# SIDEBAR_STYLE = { +# "position": "fixed", +# "top": "70px", +# "left": 0, +# "bottom": 0, +# "width": "19rem", +# "padding": "2rem 1rem", +# "background-color": "#f8f9fa", +# } +SIDEBAR_STYLE = { + "position": "fixed", + "top": "70px", + "left": 0, + "bottom": 0, + "width": "16rem", + "height": "100%", + "z-index": 1, + "overflow-x": "hidden", + "transition": "all 0.5s", + "padding": "0.5rem 1rem", + "background-color": "#f8f9fa", +} + +SIDEBAR_HIDEN = { + "position": "fixed", + "top": "70px", + "left": "-16rem", + "bottom": 0, + "width": "16rem", + "height": "100%", + "z-index": 1, + "overflow-x": "hidden", + "transition": "all 0.5s", + "padding": "0.5rem 1rem", + "background-color": "#f8f9fa", +} + + +# the styles for the main content position it to the right of the sidebar and +# add some padding. +CONTENT_STYLE = { + "transition": "margin-left .5s", + "margin-left": "18rem", + "margin-right": "2rem", + "padding": "2rem 1rem", +} + +CONTENT_STYLE1 = { + "transition": "margin-left .5s", + "margin-left": "2rem", + "margin-right": "2rem", + "padding": "2rem 1rem" +} + +APP_LOGO = settings.app_logo + +app = JupyterDash(__name__, external_stylesheets=[theme, css, icons]) +app.title = settings.app_name + +########################## Sidebar ########################## +sidebar = html.Div( + [ + html.H5("Spectroscopy"), + html.Hr(), + html.P( + "A simple sidebar for data settings" + ), + dbc.Nav( + [ + dbc.NavLink("btn 1", href="/", active="exact"), + dbc.NavLink("btn 2", href="/page-1", active="exact"), + dbc.NavLink("btn 3", href="/page-2", active="exact"), + ], + vertical=True, + pills=True, + ), + ], + id="sidebar", + style=SIDEBAR_STYLE, +) + +content = html.Div(id="page-content", style=CONTENT_STYLE) + +########################## Navbar ########################## +# Input +COLLAPSE = html.Div( + [ + dbc.Button( + [ + html.I(className='fa fa-align-justify') + ], + id="btn_sidebar", + className="offset-2", + n_clicks=0, + ), + ] +) + +LOGO = html.A( + dbc.Row( + [ + dbc.Col(html.Img(src=APP_LOGO, height='35px')), + dbc.Col(dbc.NavbarBrand(settings.app_name, className="ms-2")) + ], + align='start', + className="g-0" + ), + href=settings.app_link, + style={"textDecoration": "none", "margin-left": "1rem"} + ) + +ABOUT = dbc.NavItem(html.Div([ + dbc.NavLink('About', href='/', id='about-popover', active=True), + dbc.Popover(id='about', is_open=False, target='about-popover', children=[ + dbc.PopoverHeader('How it Works'), + dbc.PopoverBody('Some text') + ]) + ])) + +DROPDOWN = dbc.DropdownMenu(label='Links', in_navbar=True, children=[ + + dbc.DropdownMenuItem( + [ + html.I(className='fa fa-linkedin'), ' Contacts' + ], + href=settings.app_linkedin_url, target='_blank'), + + dbc.DropdownMenuItem( + [ + html.I(className='fa fa-github'), ' Code' + ], + href=settings.app_github_url, target='_blank') + + ], + color='primary') + +navbar = dbc.Navbar(class_name='nav nav-pills', children=[ + COLLAPSE, + LOGO, + ABOUT, + DROPDOWN + + ], + color='primary', dark=True, expand='sm', + ) + +# Callback +@app.callback( + Output(component_id='about', component_property='is_open'), + Output(component_id='about-popover', component_property='active'), + Input(component_id='about-popover', component_property='n_clicks'), + Input('about', 'is_open'), + Input('about-popover', 'active') +) +def about_popover(n, is_open, active): + if n: + return not is_open, active + return is_open, active + + +########################## App Layout ########################## + +app.layout = html.Div(children = [ + dcc.Store(id='side_click'), + # dbc.Row([ + # dbc.Col(html.Br()), + # ]), + dbc.Row( + [ + dbc.Col(navbar), + ]), + dbc.Row( + [dbc.Col(children=[ + sidebar, + content + ], + width = 2), + ]) + ] +) + +@app.callback( + [ + Output("sidebar", "style"), + Output("page-content", "style"), + Output("side_click", "data"), + ], + + [Input("btn_sidebar", "n_clicks")], + [ + State("side_click", "data"), + ] +) +def toggle_sidebar(n, nclick): + if n: + if nclick == "SHOW": + sidebar_style = SIDEBAR_HIDEN + content_style = CONTENT_STYLE1 + cur_nclick = "HIDDEN" + else: + sidebar_style = SIDEBAR_STYLE + content_style = CONTENT_STYLE + cur_nclick = "SHOW" + else: + sidebar_style = SIDEBAR_STYLE + content_style = CONTENT_STYLE + cur_nclick = 'SHOW' + + return sidebar_style, content_style, cur_nclick + +########################## Run ########################## +if __name__ == "__main__": + app.run_server(debug=True, port=6050, mode='inline') diff --git a/pyquac/jupyter_app.py b/pyquac/jupyter_app.py index b221d8a..6ca8644 100644 --- a/pyquac/jupyter_app.py +++ b/pyquac/jupyter_app.py @@ -7,6 +7,7 @@ import dash_bootstrap_components as dbc from dash_bootstrap_templates import load_figure_template from matplotlib.pyplot import cla +from jupyter_dash import JupyterDash from settings import settings @@ -37,7 +38,7 @@ APP_LOGO = settings.app_logo_url -app = dash.Dash(name=settings.app_name, external_stylesheets=[theme, css, icons]) +app = JupyterDash(name=settings.app_name, external_stylesheets=[theme, css, icons]) app.title = settings.app_name ########################## Navbar ########################## From 11dccf227bab3a7c22e09201e088453655f401bf Mon Sep 17 00:00:00 2001 From: Nikolay Date: Fri, 11 Nov 2022 10:58:18 +0300 Subject: [PATCH 3/9] the layout of the base dash application was built --- .gitignore | 8 +- pyproject.toml | 2 + pyquac/components/__init__.py | 5 + pyquac/components/heatmap.py | 94 ++++++++++++ pyquac/components/navbar.py | 103 +++++++++++++ pyquac/components/property_nav.py | 89 ++++++++++++ pyquac/components/sidebar.py | 113 +++++++++++++++ pyquac/fmn_app.py | 76 ++++++++++ pyquac/jupyter_app copy.py | 233 ------------------------------ 9 files changed, 489 insertions(+), 234 deletions(-) create mode 100644 pyquac/components/__init__.py create mode 100644 pyquac/components/heatmap.py create mode 100644 pyquac/components/navbar.py create mode 100644 pyquac/components/property_nav.py create mode 100644 pyquac/components/sidebar.py create mode 100644 pyquac/fmn_app.py delete mode 100644 pyquac/jupyter_app copy.py diff --git a/.gitignore b/.gitignore index 3afcfd9..aedbac6 100644 --- a/.gitignore +++ b/.gitignore @@ -144,6 +144,12 @@ cython_debug/ #lock fle with current dependencies poetry.lock +/.github + # jupyter tests tech_tests.ipynb -/home_tests \ No newline at end of file +/home_tests +/pyquac/ddd.csv +/pyquac/jyp_app.ipynb +/examples/random_test.ipynb +/.vscode \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 32eccf1..0e4b807 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,6 +31,8 @@ pytest-clarity = "^1.0.1" notebook = "^6.4.12" jupyter = "^1.0.0" pydantic = "^1.10.2" +pylint = "2.13.9" +black = "^22.10.0" [build-system] requires = ["poetry-core>=1.0.0"] diff --git a/pyquac/components/__init__.py b/pyquac/components/__init__.py new file mode 100644 index 0000000..97111f2 --- /dev/null +++ b/pyquac/components/__init__.py @@ -0,0 +1,5 @@ +# pull in components from files in the current directory to make imports cleaner + +from .navbar import navbar +from .sidebar import sidebar, content +from .property_nav import property_nav diff --git a/pyquac/components/heatmap.py b/pyquac/components/heatmap.py new file mode 100644 index 0000000..5227ccd --- /dev/null +++ b/pyquac/components/heatmap.py @@ -0,0 +1,94 @@ +""" +This file is for creating a graph layout +""" + +from dash.dependencies import Input, Output +import plotly.graph_objects as go +from dash import dcc, callback + + +# def figure_layout(data, cmap): +# def define_figure(data, cmap): +# fig = go.Figure( +# data=go.Heatmap( +# z=data.iloc[:, 2], x=data.iloc[:, 0], y=data.iloc[:, 1], colorscale=cmap +# ) +# ) +# return fig + +# figure = dcc.Graph(id="heatmap", figure=define_figure(data, cmap)) +# return figure + +GRAPH_STYLE = { + "position": "fixed", + "top": "100px", + "left": "16rem", + "bottom": 0, + "width": "45rem", + "height": "37rem", + # "z-index": 1, + "overflow-x": "hidden", + "transition": "all 0.5s", + # "transition-delay": "width 500ms", + # "transition-property": "margin-right", + # "padding": "0.5rem 1rem", +} + +GRAPH_HIDEN = { + "position": "fixed", + "top": "100px", + "left": 0, + "bottom": 0, + "width": "70rem", + "height": "37rem", + # "z-index": 1, + "overflow-x": "hidden", + "transition": "all 0.5s", + "transition-delay": "500ms", + # "transition-property": "margin-right", + # "padding": "0.5rem 1rem", +} + + +def figure_layout(data): + """constructor for heatmap layout + + Args: + data (pandas DataFrame): DataFrame with the columns in the following order: [x, y, z] + """ + + def define_figure(data): + fig = go.Figure( + data=go.Heatmap(z=data.iloc[:, 2], x=data.iloc[:, 0], y=data.iloc[:, 1]) + ) + fig.update_layout() + return fig + + figure = dcc.Graph(id="heatmap", figure=define_figure(data), style=GRAPH_STYLE) + return figure + + +@callback( + Output("heatmap", "style"), + Input("btn_sidebar", "n_clicks"), + Input("side_click", "data"), +) +def toggle_graph(n, nclick): + """function to hide and reveal sidebar + + Args: + n (int): _description_ + nclick (int): _description_ + + Returns: + dict: style objects + """ + if n: + if nclick == "SHOW": + graph_style = GRAPH_STYLE + else: + graph_style = GRAPH_HIDEN + else: + graph_style = GRAPH_STYLE + + return graph_style diff --git a/pyquac/components/navbar.py b/pyquac/components/navbar.py new file mode 100644 index 0000000..e7f4d52 --- /dev/null +++ b/pyquac/components/navbar.py @@ -0,0 +1,103 @@ +# notes +""" +This file is for creating a navigation bar that will sit at the top of your application. +Dash Bootstrap Components documentation linked below: +https://dash-bootstrap-components.opensource.faculty.ai/docs/components/navbar/ +""" + +from dash.dependencies import Input, Output +from dash import html +from dash import callback +import dash_bootstrap_components as dbc + +from pyquac.settings import settings + +APP_LOGO = settings.app_logo + +########################## Navbar ########################## +# Input +COLLAPSE = html.Div( + [ + dbc.Button( + [html.I(className="fa fa-align-justify")], + id="btn_sidebar", + className="offset-2", + n_clicks=0, + ), + ] +) + +LOGO = html.A( + dbc.Row( + [ + dbc.Col(html.Img(src=APP_LOGO, height="35px")), + dbc.Col(dbc.NavbarBrand(settings.app_name, className="ms-2")), + ], + align="start", + className="g-0", + ), + href=settings.app_link, + style={"textDecoration": "none", "margin-left": "1rem"}, +) + +ABOUT = dbc.NavItem( + html.Div( + [ + dbc.NavLink("About", href="/", id="about-popover", active=True), + dbc.Popover( + id="about", + is_open=False, + target="about-popover", + children=[ + dbc.PopoverHeader("How it Works"), + dbc.PopoverBody("Some text"), + ], + ), + ] + ) +) + +# git_link = dcc.Clipboard(title="copy link", content="https://github.com/ikaryss/pyquac") +DROPDOWN = dbc.DropdownMenu( + label="Links", + in_navbar=True, + children=[ + dbc.DropdownMenuItem( + [html.I(className="fa fa-github"), " Code"], + href=settings.app_github_url, + target="_blank", + ), + ], + color="primary", +) + +navbar = dbc.Navbar( + class_name="nav nav-pills", + children=[COLLAPSE, LOGO, ABOUT, DROPDOWN], + color="primary", + dark=True, + expand="sm", +) + +# Callback +@callback( + Output(component_id="about", component_property="is_open"), + Output(component_id="about-popover", component_property="active"), + Input(component_id="about-popover", component_property="n_clicks"), + Input("about", "is_open"), + Input("about-popover", "active"), +) +def about_popover(n, is_open, active): + """toggle about popover + + Args: + n (int): number of clicks + is_open (bool): current state + active (bool): _description_ + + Returns: + tuple(bool): status flip + """ + if n: + return not is_open, active + return is_open, active diff --git a/pyquac/components/property_nav.py b/pyquac/components/property_nav.py new file mode 100644 index 0000000..ca50aa5 --- /dev/null +++ b/pyquac/components/property_nav.py @@ -0,0 +1,89 @@ +# notes +""" +This file is for creating a property nav that will sit under main navigation bar. +Dash Bootstrap Components documentation linked below: +https://dash-bootstrap-components.opensource.faculty.ai/docs/components/nav/ +""" + +from dash.dependencies import Input, Output +from dash import callback +import dash_bootstrap_components as dbc + +PROPERTY_NAV_STYLE = { + "position": "fixed", + # "top": "70px", + "left": "16rem", + # "bottom": 0, + # "width": "16rem", + # "height": "100%", + "z-index": 1, + "overflow-x": "hidden", + "transition": "all 0.5s", + "padding": "0.5rem 1rem", +} + +PROPERTY_NAV_HIDEN = { + "position": "fixed", + # "top": "70px", + "left": 0, + # "bottom": 0, + # "width": "16rem", + # "height": "100%", + "z-index": 1, + "overflow-x": "hidden", + "transition": "all 0.5s", + "padding": "0.5rem 1rem", +} +property_nav = dbc.Nav( + [ + dbc.NavItem(dbc.Label("Status")), + dbc.NavItem( + dbc.Spinner(color="danger", type="grow", size="sm"), + style={"margin-left": "0.5rem"}, + ), + dbc.NavItem( + dbc.Label("Heatmap updating"), + style={"margin-left": "2rem"}, + ), + dbc.NavItem( + dbc.Checklist( + options=[ + {"label": "Pause", "value": 1}, + ], + value=[], + id="switches-inline-input", + inline=True, + switch=True, + ), + style={"margin-left": "0.5rem"}, + ), + ], + id="property-nav", + style=PROPERTY_NAV_STYLE, +) + + +@callback( + Output("property-nav", "style"), + Input("btn_sidebar", "n_clicks"), + Input("side_click", "data"), +) +def toggle_nav(n, nclick): + """function to hide and reveal sidebar + + Args: + n (int): _description_ + nclick (int): _description_ + + Returns: + dict: style objects + """ + if n: + if nclick == "SHOW": + nav_style = PROPERTY_NAV_STYLE + else: + nav_style = PROPERTY_NAV_HIDEN + else: + nav_style = PROPERTY_NAV_STYLE + + return nav_style diff --git a/pyquac/components/sidebar.py b/pyquac/components/sidebar.py new file mode 100644 index 0000000..a17ac9c --- /dev/null +++ b/pyquac/components/sidebar.py @@ -0,0 +1,113 @@ +# notes +""" +This file is for creating a side bar that will sit on the left of your application. +Dash Bootstrap Components documentation on creating simple side bar linked below: +https://dash-bootstrap-components.opensource.faculty.ai/examples/simple-sidebar/ +""" +from dash.dependencies import Input, Output, State +from dash import html +from dash import callback +import dash_bootstrap_components as dbc + +# the style arguments for the sidebar. We use position:fixed and a fixed width +SIDEBAR_STYLE = { + "position": "fixed", + "top": "70px", + "left": 0, + "bottom": 0, + "width": "16rem", + "height": "100%", + "z-index": 1, + "overflow-x": "hidden", + "transition": "all 0.5s", + # "transition-delay": "500ms", + "padding": "0.5rem 1rem", + "background-color": "#f8f9fa", +} + +SIDEBAR_HIDEN = { + "position": "fixed", + "top": "70px", + "left": "-16rem", + "bottom": 0, + "width": "16rem", + "height": "100%", + "z-index": 1, + "overflow-x": "hidden", + "transition": "all 0.5s", + "padding": "0.5rem 1rem", + "background-color": "#f8f9fa", +} + + +# the styles for the main content position it to the right of the sidebar and +# add some padding. +CONTENT_STYLE = { + "transition": "margin-left .5s", + "margin-left": "18rem", + "margin-right": "2rem", + "padding": "2rem 1rem", +} + +CONTENT_STYLE1 = { + "transition": "margin-left .5s", + "margin-left": "2rem", + "margin-right": "2rem", + "padding": "2rem 1rem", +} + +########################## Sidebar ########################## +sidebar = html.Div( + [ + html.H5("Spectroscopy"), + html.Hr(), + html.P("A simple sidebar for data settings"), + dbc.Nav( + [ + dbc.NavLink("btn 1", href="/", active="exact"), + dbc.NavLink("btn 2", href="/page-1", active="exact"), + dbc.NavLink("btn 3", href="/page-2", active="exact"), + ], + vertical=True, + pills=True, + ), + ], + id="sidebar", + style=SIDEBAR_STYLE, +) + +content = html.Div(id="page-content", style=CONTENT_STYLE) + + +@callback( + Output("sidebar", "style"), + Output("page-content", "style"), + Output("side_click", "data"), + Input("btn_sidebar", "n_clicks"), + State("side_click", "data"), +) +def toggle_sidebar(n, nclick): + """function to hide and reveal sidebar + + Args: + n (int): _description_ + nclick (int): _description_ + + Returns: + dict: style objects + """ + if n: + if nclick == "SHOW": + sidebar_style = SIDEBAR_HIDEN + content_style = CONTENT_STYLE1 + cur_nclick = "HIDDEN" + else: + sidebar_style = SIDEBAR_STYLE + content_style = CONTENT_STYLE + cur_nclick = "SHOW" + else: + sidebar_style = SIDEBAR_STYLE + content_style = CONTENT_STYLE + cur_nclick = "SHOW" + + return sidebar_style, content_style, cur_nclick diff --git a/pyquac/fmn_app.py b/pyquac/fmn_app.py new file mode 100644 index 0000000..f294e0c --- /dev/null +++ b/pyquac/fmn_app.py @@ -0,0 +1,76 @@ +# notes +""" +This file is for housing the main dash application. +This is where we define the various css items to fetch as well as the layout of our application. +""" + +from dash import dcc +from dash import html +import dash_bootstrap_components as dbc +from dash_bootstrap_templates import load_figure_template +from jupyter_dash import JupyterDash + +from pyquac.settings import settings +from pyquac.components.navbar import navbar +from pyquac.components.sidebar import sidebar, content +from pyquac.components.property_nav import property_nav +from pyquac.components.heatmap import figure_layout + +# App Instance +THEME = dbc.themes.ZEPHYR +CSS = settings.css_url +ICONS = dbc.icons.BOOTSTRAP +load_figure_template("ZEPHYR") + + +app = JupyterDash(__name__, external_stylesheets=[THEME, CSS, ICONS]) +app.title = settings.app_name + + +########################## App Layout ########################## + + +def conf_app(data): + def serve_layout(): + """Define the layout of the application + + Returns: + DIV component: app layout + """ + return html.Div( + children=[ + dcc.Store(id="side_click", data="SHOW"), + dbc.Row( + [ + dbc.Col(navbar), + ] + ), + dbc.Row( + [ + dbc.Col(children=[sidebar, content], width=3), + dbc.Col( + [ + dbc.Row( + children=[ + property_nav, + ] + ), + dbc.Row( + children=[ + figure_layout(data), + ] + ), + ] + ), + ] + ), + ] + ) + + app.layout = serve_layout + return app + + +########################## Run ########################## +# if __name__ == "__main__": +# app.run_server(debug=True, port=6050, mode="inline") diff --git a/pyquac/jupyter_app copy.py b/pyquac/jupyter_app copy.py deleted file mode 100644 index bd5cc40..0000000 --- a/pyquac/jupyter_app copy.py +++ /dev/null @@ -1,233 +0,0 @@ -# Setup -from turtle import color -import dash -from dash.dependencies import Input, Output, State -from dash import dcc -from dash import html -import dash_bootstrap_components as dbc -from dash_bootstrap_templates import load_figure_template -from matplotlib.pyplot import cla -from jupyter_dash import JupyterDash - -from settings import settings - -# App Instance -theme = dbc.themes.ZEPHYR -css = settings.css_url -icons = dbc.icons.BOOTSTRAP -load_figure_template('ZEPHYR') - -# the style arguments for the sidebar. We use position:fixed and a fixed width -# SIDEBAR_STYLE = { -# "position": "fixed", -# "top": "70px", -# "left": 0, -# "bottom": 0, -# "width": "19rem", -# "padding": "2rem 1rem", -# "background-color": "#f8f9fa", -# } -SIDEBAR_STYLE = { - "position": "fixed", - "top": "70px", - "left": 0, - "bottom": 0, - "width": "16rem", - "height": "100%", - "z-index": 1, - "overflow-x": "hidden", - "transition": "all 0.5s", - "padding": "0.5rem 1rem", - "background-color": "#f8f9fa", -} - -SIDEBAR_HIDEN = { - "position": "fixed", - "top": "70px", - "left": "-16rem", - "bottom": 0, - "width": "16rem", - "height": "100%", - "z-index": 1, - "overflow-x": "hidden", - "transition": "all 0.5s", - "padding": "0.5rem 1rem", - "background-color": "#f8f9fa", -} - - -# the styles for the main content position it to the right of the sidebar and -# add some padding. -CONTENT_STYLE = { - "transition": "margin-left .5s", - "margin-left": "18rem", - "margin-right": "2rem", - "padding": "2rem 1rem", -} - -CONTENT_STYLE1 = { - "transition": "margin-left .5s", - "margin-left": "2rem", - "margin-right": "2rem", - "padding": "2rem 1rem" -} - -APP_LOGO = settings.app_logo - -app = JupyterDash(__name__, external_stylesheets=[theme, css, icons]) -app.title = settings.app_name - -########################## Sidebar ########################## -sidebar = html.Div( - [ - html.H5("Spectroscopy"), - html.Hr(), - html.P( - "A simple sidebar for data settings" - ), - dbc.Nav( - [ - dbc.NavLink("btn 1", href="/", active="exact"), - dbc.NavLink("btn 2", href="/page-1", active="exact"), - dbc.NavLink("btn 3", href="/page-2", active="exact"), - ], - vertical=True, - pills=True, - ), - ], - id="sidebar", - style=SIDEBAR_STYLE, -) - -content = html.Div(id="page-content", style=CONTENT_STYLE) - -########################## Navbar ########################## -# Input -COLLAPSE = html.Div( - [ - dbc.Button( - [ - html.I(className='fa fa-align-justify') - ], - id="btn_sidebar", - className="offset-2", - n_clicks=0, - ), - ] -) - -LOGO = html.A( - dbc.Row( - [ - dbc.Col(html.Img(src=APP_LOGO, height='35px')), - dbc.Col(dbc.NavbarBrand(settings.app_name, className="ms-2")) - ], - align='start', - className="g-0" - ), - href=settings.app_link, - style={"textDecoration": "none", "margin-left": "1rem"} - ) - -ABOUT = dbc.NavItem(html.Div([ - dbc.NavLink('About', href='/', id='about-popover', active=True), - dbc.Popover(id='about', is_open=False, target='about-popover', children=[ - dbc.PopoverHeader('How it Works'), - dbc.PopoverBody('Some text') - ]) - ])) - -DROPDOWN = dbc.DropdownMenu(label='Links', in_navbar=True, children=[ - - dbc.DropdownMenuItem( - [ - html.I(className='fa fa-linkedin'), ' Contacts' - ], - href=settings.app_linkedin_url, target='_blank'), - - dbc.DropdownMenuItem( - [ - html.I(className='fa fa-github'), ' Code' - ], - href=settings.app_github_url, target='_blank') - - ], - color='primary') - -navbar = dbc.Navbar(class_name='nav nav-pills', children=[ - COLLAPSE, - LOGO, - ABOUT, - DROPDOWN - - ], - color='primary', dark=True, expand='sm', - ) - -# Callback -@app.callback( - Output(component_id='about', component_property='is_open'), - Output(component_id='about-popover', component_property='active'), - Input(component_id='about-popover', component_property='n_clicks'), - Input('about', 'is_open'), - Input('about-popover', 'active') -) -def about_popover(n, is_open, active): - if n: - return not is_open, active - return is_open, active - - -########################## App Layout ########################## - -app.layout = html.Div(children = [ - dcc.Store(id='side_click'), - # dbc.Row([ - # dbc.Col(html.Br()), - # ]), - dbc.Row( - [ - dbc.Col(navbar), - ]), - dbc.Row( - [dbc.Col(children=[ - sidebar, - content - ], - width = 2), - ]) - ] -) - -@app.callback( - [ - Output("sidebar", "style"), - Output("page-content", "style"), - Output("side_click", "data"), - ], - - [Input("btn_sidebar", "n_clicks")], - [ - State("side_click", "data"), - ] -) -def toggle_sidebar(n, nclick): - if n: - if nclick == "SHOW": - sidebar_style = SIDEBAR_HIDEN - content_style = CONTENT_STYLE1 - cur_nclick = "HIDDEN" - else: - sidebar_style = SIDEBAR_STYLE - content_style = CONTENT_STYLE - cur_nclick = "SHOW" - else: - sidebar_style = SIDEBAR_STYLE - content_style = CONTENT_STYLE - cur_nclick = 'SHOW' - - return sidebar_style, content_style, cur_nclick - -########################## Run ########################## -if __name__ == "__main__": - app.run_server(debug=True, port=6050, mode='inline') From 15fbeb4a5d142799b945633591a13b249682a27d Mon Sep 17 00:00:00 2001 From: Nikolay Date: Sat, 19 Nov 2022 23:40:22 +0300 Subject: [PATCH 4/9] pyquac logo added --- pyquac/assets/logo_pyquac.png | Bin 0 -> 113657 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pyquac/assets/logo_pyquac.png diff --git a/pyquac/assets/logo_pyquac.png b/pyquac/assets/logo_pyquac.png new file mode 100644 index 0000000000000000000000000000000000000000..83a694dee1c2d74ade1450a924fcc32605d6f8cd GIT binary patch literal 113657 zcmeFYbySpX+b=wHH-a=O!qDB_A|WUsjl{svF@%7?03y=fbjr*S(nxnG-9t+wC?H5E z-TT7(dG7u0z26<{`|JDTz1Cu_VK}biJnH-%ah^o#>Zp?t(i4I}AQFv7Do;Tmtj*gW zd|cog?cB+4AP|PQgR-)&qOF@Xg!QSq5-V6xQc{8w1Ooq+9N+%9Qpb--M#D6U)u=={p-e+L*_zU|JoubE&Xvh*ArO;8{gdJ^f>&7GMPbUXiE*Nr z53`pg8AmX3t!J{|=)E~GD)E{4t9)Z{mewu}6Rwk%?^EIpBIoevy1TrG51-L)-WBP& z2o_=~c#QSnMKc5B-djR+`*;zqAodU<$B~>2UZgW8O8!KlDD{Ftm(cSD^myRt6}csR z7ADIQBiTXhX^El5WbOnvNg$mx-qRl}h8U0UvMaL1`ChuX1JodpjQmS?D;p<>7ppbI-oaJ&{$6wYeO3os+568$wFR`@l_5}vNB*9W zXZ||+HvUdFlD7Bd&jTQx&y;Ee8B1dmrlMn%qsYd3E%+53Q~f9v4l{tsJM*uU%qSd9Orl{>#6 zpTMn7e+X@D{-JaC_H_QUxUCI8#2MlOarJ@$w1WT8x+tUW3>H~=R;8q)VDP>QHm6w~R zzMGr#zdfbDdLMD{-5H6dO>L0&;geL*oP5iu!Y zVQv9oDFK1MNwwW<9qj!6S5k2)Q3)v_$^U^Ah#6ZeFRTA6v8|1iotvkN6`-(#isx*hMQO#UR4M zf_8Soymo?iR=f~F5j$QhTfi`)0z$Upwn9P>0YS*WrFr7%0BkfX=l{s{Rw`S7qqw*& z#Ku~}j#m&OA;c?YCnC;kC2B3gD_|=mE@mSsAZBf2cN@)r0z~SO0}ODT-@o?9Gl<8( zJ~=zE{)q`GE1TO`m%VRu>tu-S{eOM!@SoV@|7qoaz3&T!08IZ6&i{LLn46uKuazf6 z(H^kf|24Sy|98T}tbG2@qW{0S@^6{`SJD5cVEq3g`oGL#1GRFshXBaQfB#k){#%Io z+bR72v%miQ?LWZLzsUiNyZ!hNx&puagU=9GfVC%pzQ5Z*3LuP{L=6>1{g+ukuY8jj z9sHNif*w4mZV?9&E@k4Pm*yR$7lk`LWZyiXk4#cA*ANl<_IR?@_heVLIiWClB)LXN zeLQMBfl`BH*vRvh?-SqAniJfmX3Szx(n-3<%_+nOIVNCGI26-Yy1bE_%tf#_TIDC5G_}`ZSPQ$h{YAH_O5be8IN-5~zfm zLBPM2sJ{A;ygv|;LhRik^nw6QP=i&bz<|aU`F5ivt4n07yU%QKC>4$fpiff?Il~rs zgLxEk>A@^PbcoS&G>Fnl@CSfyBo8^Nu_nA;d@GorxJvp)!|n9gu#?JKLbK!JMJOc`}W-I>+kH>n#`-KPF5rcf)kW zb5%AzfE1Rteta+EKzlyp_?lyEL?&aN08Ww;U9VnmnDRBFR(t| zX?Q=Yb;gc((Br|YB0o^Lr@TGoi_xrC5XjSJ1*j${!LCJ$w@I)H0CcH!KKlHZ&Wi`` z-0p7IPU_b;6^GHUURSMmc1U*|bP$1!_6Bd-s<-Uy?(_*-c}gfeA-@IVJDdvn+b0O2 zrcx5m<-V9)QaX1vB&nu04_@mq9hTh(JMl_1HC1 z)cDCB@;j-doY$YMQ^Gpj;SH8(kDeX*8Er26@qVyZ?(geu-FMe=q?15e zS?{6)xZ*AXF(p)pvETxBy2hUylu`aJ9?V^bzmpt9eu_~&dkE{$k69BEt{!yPN@FBN zQ*{A}$oPJ~-ivE;F8gKD(l~FGk0ud8 z)&7WpM@ry9?CfYbZljJbDOcK6&S zbY8>Z4&Dy?kSEBpj?zoV5Elhmf4(9d3ye2wj7dO5GTz3>to0=E0?8%g+~YForLTAA z_^&h-xc%k)Fz|i=OZDBxcXf9G#Y@mB;oM^vjh4>J7SI(BGmcQ<0rkARQbbjB^P)933x89|!@>3DqCjjcQOsXZ)a(wH2BE3_bQ%8vHSf zA0v60>BdvATiA$JWFQ=AkHKu8Hd42Njm4(0YN1>&Mlm;RnEnDpj+DHW$8iRCAwp;) z9wp>kLhMr58H8n$d(Gp{H-Z7^o}6$iOo^QfnCPOqqu1TtBGN?nNcr_~;SGhm*fhm0 z$t^$#ml(Q$Vb_oqg2~oJu4mHw5`^O)&>3E-&9}nbZV0=nLJFLXU>wocFn5cyEj@Nw zP(jFtkV+$UTVU(h-Xccn+$3f_))UlkAMw{E%-J1b(D_=Al@A>%f9rhzR%b&OA52R{ z$PVd9$rA=g##9_Nc&ZIkET9d=tu~r%h6p04((G4}cgpimVo|jXft9g*#^rczAQ@bq zNI#x@0W4yK?5AGc^NKIHG}2c>l>(`eR&*)&HmHXK{d&mn#a*1O@El)y7maCRFNA^v&PPg|Ejq93 zNmT7Zvh$sNIuQ*~c$;`5_Z1FzBz$&zO316#BtGSV2=c%K*F5tL`mCAks)bPVPQjp@ zqj2@>+XRuqgYglk47n7EIjl3;-9(-h0VYpZBCA(ckoVsYWJ$hkiw$k=w&vXzKC^k& zqRbhEuif;sKUnrnRouqdXaM!qPYykIm=&&U80P+)%dyar90<5@5#PB$s_jXpZsP@L zpLa#KG}kyw47ELVvWcAEa;*x#G-%ka-5$C{xvF=0)%TQ~KOVL4;% zsx20~DUvn8L`hqsnG*uw;$zD0we}OzV<+1On-|af)4x`OUrOS)gkz?j=&eZBbj-La z&knmle{cAUU`&P=3qK`#btRDp-`TX6e=StCVa+tQT8aH-Afn>=;=$=f;^u-ybg_(u z`V6=Dm2kBx?^_gjSJ23UT>rOlemXCjer2MgSFfWI8-iGOqED7*!Mw&ig&mTcl|9VM z?s!nhxzJgdS4XLhr4FYJ$w92N&_dosa4xZF(nBUq(@8$=V(+TXZqD6rebPvRC69d# zzL`?=cPLYvDdvDP=)DNy&1t3cYLy~>#d6BG&ow1q1Wl2+&17^y!aOy{dqsK5A0~YoqW*Q{i_&r+;kpQl-RjSa=pbF80$((XEPWj^y$3s` zT9Jmz?@c1OxyW6EQ*7@2HH984$%y=m?J*J;( z006+#pK4Lk>G&BR&9G$Rsy41VELzwXhiK?-W9(NUj;q>iA=AU43TbwdCQ-_DFgjP~X6FbJR@SowG*E%L|)|{Jn&*$yxx}cW#z)<$ycwZ|I>%&-}KfozPu9RA6Xn zQh|GGhbGke8)rhQXnU40Eu;Myja_~23*H}q6Sf7oV9Ux!hnC=aF_Etx!f3sMlT!8c zb5r!_uEZ|K3%lso07O^+HjS$4kVZ@W^8BF^n^uQaq3dT}{ydj*9#0pm`Y}3MsNn`H zaCEdsI?Kru^rf5+IOuOwqgInzy;m)6Bkt~rGPO%akKRk zAajTR;Xi;-GtAUwZ_OgqUh~1cC@KZDl0f#Em6x0IqS4m}%ZdSG?T;aW?fle8(3PZJ zyrv3Qxg`{}z8oF#fxv zn(l{Vd5r7Ofg;_s3VdyuS44g5@zRfuC2JX9;(v(<(&4z}3pT5mi}dAGevo0Sv8Lu> zSBL+%(9~RwE(J9g_?FraOqSEV=qAgqH1tz)Y{Q4no`<+0dTgh5!TX}rA3wn7ANjm% zyOXVHKi04~bu}=)X)^Vwg#<%bfvCxcv|EByxVq}LTQQWwAdK18RiH{G?q42lBK<=A zideMp@$Z-F=xOg@{7ZN@MOGN*fkjRI1u@~vJ%vyDlv5~;*RqA`9da$qSC5qrB}?xu zfn;OP87IF2s?%WH?$+9|il3IoUPdHBG5XtefI6J%4+knF>GB$M(bbGy4{tZ`ajxr5eB#gXW2N;= zGTrr8g18$v_UNVyp7XOsHP5g^7iea~Vh6$M6%YF?ag&8Mxf?<*mi=>&4P#ik@$BEW zW1JiGefM&vJ?`B?#3CrUZaMx~UdQpBI8I9({pUb33FbX_%C8a`g@ww4;9b@w3!>Bs z;)S;hJYSI7m(CoU{C9uRIat3diZ>~_k(f%fe?eBIrH zD)EzJZ*T}V9UrX=g@br=Pw(#2_m^`;PLP|lxidqfzg|U*iNXZloQMfWt7e(M9v-5} zg@G01v}GW*>Tq9O#Cs72cti*jn{RXZv%A4HTV2k0VP?drgPY+8Yj108nk#Ky1Srr?w!k5L-q$CC=9 z@pinip@y%oGU=ecqfa*DL)`vaDBCc^%)#DeYopxFlO}9=e8yqI4)+bIztuYWPy6{> z8t)SOWkt*$9g^K*4@tQbDb#i{HHjguXVbt0ZQsh1B)hx|3Ag-|-M(=@f<5e-`Xx;u zSz-Zc1M^D|WFqn9Zg&~&Dd)%fp}qMCdcob#7gL$D_y07Hm$>i^I4!3odo%ydd$)Hj zM;qHAPcZ5ehd>ULK)njDGteCWrZ%pP`nmml>@2lw=V}XG=bi(a?v_bmqgSEgbwd>A zc-~di^srD5WHu|awu^rA2Mse7ojwH<%V_@yJEThrKR>vfVJiYU;fRnaV9!4#gw!po z%2$LKsXt4{MW5^jbX>3rGc?ifFn^>f)2=r*PErjfJf--4M%)rXPqNFt#LGE6G%#Wg zG-|69$e76+1&mK?N$VL|s$`AwN_0b>kdF2H*kZ_`GaBkrj^TUM;7jVwct4)xpTs89 zm5f(eiPN*K7(0yacwFCuX!&g#bYF7?(TDJfAPu8rcOQuOoiT}U`ZQthS=psP{}d50 z(z0O}RSYFgdV?LM?Sl5WX#|G`x5>o?2u*Qd#0Mcyt_fxkov99=jiB!-!%o56`9-?% zKnmUX5_@MOh;QjD+sNIF!Yze6X(xJ@j$w;HC+CLh7X<3G-rGIWa<2OW3LhwPQ>7~o z=ToFtn5POPJEb=nO=okcDVxKB%5UYRD-5r+#a9(AJqY;PqpQBVhbddg`C`17y$;!N z@BtdyV|+*^9bL{TS>v@%H{KS*Q4_(+&c<;IadZ@PnXP0UMjH`zRgzq-tgfd_{99M4+5UWz$OiA;HRJ$JFF&^8L{zHIe$A~(}Svu9vw18_wkQ8K1)?g1iY zHs?&@oGwRMu}hCye=|JO6&Ek6kIW& z=3$QW1xF89O|p8(X0$j&d5f^rVZJ0cFldSA5ZuUhXDRx&ot$pW0~DRfPl&2X+6_^n z{XA#Ndu!hn4gH>Onw2-MIHlcOQCClqQWW=OTKO=vI*14w z6b1=Y3jqon`rjLfS%yyw@2Z6O(QbK};^)ye?H#>>==M0$IsO!m8(2C)zWDAvX?}9I z-(tc!*@}RRwk_;isVJXBXvXI&YI}_}0fH7dJ7@FQksv3%9=wgkfGIo1SHccPiP(tJ znLNqm4W{;=qs}-nH%flKX({~48D|N9%M?Z<%FNVv(-!7kO$h|5p%e+&rUC2A8)hkS zl@pij%z zPg9{gOdaby&@99by1Pf>46CO$c;~E47Of!|Tj%Fb2zhh`r^^8vwNq*-%Uz|}RyL@r zDNxZcDtvltY&Jf0{J}x_Vw9GBTKwBhfTWb0)7hp^*(cQsU#m!I+N<-`GLz~d*B!sR zfy|_ce9vCp6$_};_IA;%=&g~=OhcOWG`^{M<(g?iu-9pc^gg!X$YMKV>?&Vi%12Dw zNIj}ADN-~Z3qbE;Ym5W4BzYCnDdUzAB=2qta(mR|{`{?9VA`GY|BbW6)pW?og}h&pwdh{wwpx_8E14_|#`aeD&w(FTH**9=$o zk*gZUPprZ*J>{%0uB!Yq8xDW45oycYfu;Dbe62oyyoG`bE@q7mR*fXc@|{s+J|lp~ zgzy|ZSH&qBjiQD^<&9s=HEgTSz}!tWk0iOA)+cB-bhmqctg40^XCj{xb+nTW{ft;) z+cG~OJum&K{BXY&-0W%x1CH#RtsKX+f9vTFv@s>ub8wP#7Wj+Uv=Ks7f@6+jgQ$Gl z>f#?G%?Vvu{gT<-a(7yn;saQZDfV)=A9HYdKM5t4N_A67?}Rnzr6ezLiF^&_aF>-j zA&gy0n0BVJ)7-95*ZdlXdI7XWseS3Q20$s*?6a+#vVoz0{!%u2P1qpXZs$2dsGhk- z?&^;IxSiogMsJs8EzfDHFlNSOg$EM7ZR5MhdOT!vxsoFG3RmB|9`7jgZmbjBPNV*AC_%M#i7Hc34oEI? zfH{-%M$AFOo$1`d4DS_I8Ovf=eX-DNB$uXPm+U(tEo96HcVW$#_o5ue?pT z87T0o&m2_p7vnKml*A!&wnWYk0wD~Vmj>;6&-ZLwg^BE7;n!87c-$M+K zba0{cWdW}!csut;u=<~$rr#0zk*U!G)5OK0Jwa;p+595y<8i=3j* zvUGlE!qsrcU@?$P`)7Q&B)FRG(dXC^o*#x7@xUCl>Nu}7T&vjUaAoeTkVPQ3Qp2rN57*7JV-?kOk;~v5~|FsncVp^_5mn5sHNadeu=%vFWxPk z^@Y05aeIU%dsEn(6_~Mi4`VdVe#e1oAFXwaCYGwHYNX=2s$JCAfr8;p_3PG*iOK35 zTyD#1o=tA*g=Xi*lWBdk2LpnU$0e4rm>CR@)ZSFy@t$4^DR;3@c7jo$UR+L`+2Hjz z>hw5}H2IdQ-!WQNBl*72H9_+b$kM6x%%{WyS<5kD2WO9S6DCJ<@wO^ZSL0>=Q>fZT zUj*cyh6f`AveffEF&T<^MEa6IwyPq_R{~z{ps5%6+f_gNtLvoCLs4kLj|nK}7t(}k zY%l>KiM`X<)tYJHUs*Hx^Qbk@;?MDEB=2O~>rj$rAJY(iRQkTdp+F{Zc3{ZG+hM+W zuY_;Cl3E4aaDm}!V$`pLArFjo9w+>zTA`e5aDf(j-}W-XhG05oB$;EZ>t+CGUX8-H znwbw}OVp`g8^9TXaU(FGz9>{uZm2+bJ~nM2fmS`hxs-DphfLW^o)0;*NuH!06iyry zbtnK^8ApQbk~-Vc7gd(AnxeLG9t#a@!SZTOBArZJw$;-1U zRW?pCT|13RY;XNQ%3+@i;irtiNEkvok}KM=yK7-SH?~x_t)X-LiWnlc+%V^xztEA5I*qYV%}``R$$I3ns93%?rMkxyrr-bl4p`P7@OEi6-N0N*v}%d!J0%Ooq}eI*RIV;}3w zhdjPw%zGX|O{kOb)Zfe<2LyfC3q|#$BePc0J_d*)KDJj#AZ0 zNfW#6ZCk45DpQ>C55U~dXs37!tGB{V)l3{kp~LGNdg;Z@UkvN0{a?(*Os}ycTV$2; z-?`;_LVYpHnLDAgpXU|$&y9P_m|e1KakQn*XB|D9)TqQPv6+=2yLAFCg-Y8n@FTZ) zZxOqP>zQxUr^$i(|VtxV=xc5HAXf%2Kd98-UZ{l#D@aNWspxNEBuPW#clIyt<2Fcwv5+DdsFE~ z80sX-9Sd7*H^R;OoLlwZQ^Kz(ELn`T>i= z_Z>VByZnq{M9$G5oBd!9{h{%fx6?y&tCg5#;=#ncnbqSaQSX=K!a2H12_+TkyNl6< zKkpq1Kz=!>e}~7f^zbLMVVOk~KS>yG1mZ>WTF@e(?QWK;{C4Wts2qV5TI!IupZLHUrH%XIgqW|;?v?a4s>e8Zg2x}lJ z;|L(Im*Z9xc6Yjd^!QmRtb^gqMrOUz=tnF@g>ZoElh4fk+MB|aL|=%qfH197xHp%M zBE?w?xBP&{)*>263np|K%SdwiYE6zQjlSNrhtodNnRrx<1K?@29?@LEn#C(&?I@|F z*ef=Fd?{=#&@(XF^JB7%Irv#ai0#iSnYd7t?4Ru~6p79oay^9YDYUAtCaD=1i(|-t z#_%7{OCzZQaH{|pXP!2wOnKw!*TUva{Da^+lB<^bH3*3ZR3(sQ1f)Jz+fllDYd$E+ zz_cp|-L{?fG;-(JbZ%hWC?aBh;w+a8$3nvazcy_uH)4F4Z3B5ozO~RMzZ+sS%LEF- zr0)9Lex#)OZrGe&`;9Ciqk16c z5LX74m#G$}e!>NaaFSbz3%~C*=Xep^D-9*bG_L<#S=0PYQ_cGa1uzP#3E>#+A8BbL zLfM0YiGzaK!+({PuC!9g%6#YZh(Yq4I~?i;(Qme{vt37ocPk7 z8+Y?6ZFITnukMPzjUHv)=aa(QeMonK@L#5L~ZX?6q|XqmM>|H*YdT(m#?@sjARYyW=P#;zX^Yw9-&T zV#-f6Wu;TBSZ9-_GCx7)h}Ki7|CDdYRrl?uo2QFdxJqN!z^Lo%%ChXyghZj z^~Lg1EC|j_VwQKt2i+c9GEz8AHJ$$4IcEQ?C$Gv3fFKv~SE{$uWk>`X&%kBI@k zIzE^DvbGdwzWWT{)B4r4>|t6XX0o^%I2b?l6#@cz7l)4&Itq4arhSX_gR}!4xG~E2 zUbo$Q!(QB|}#la_`gA#SJ=R5VMPwldFCYW3EGhe_`#9`Y2PDep* z-S+3sd&;r1V!5M13r^89$biuc359l}2N^PZN{Pk5l_bkBp>Ny=y_Ae^`5%G2YQ)iF zCQqDTOtD9zlT!u#dCE_V;Q9!nts$+r$bLGto`SoK?-4hb;HwR8N2*Yz>e+2{*NB6R zhtr)tApg(|>e-Zh2g(g=5>W@AL$CeFosx#&H6g<~QN2{sB8?AeY3cW(YIheEY{*z#hv+a&BN2OUah=c{e>;`GCugpp$^(bx5oBpz_UR$FLUPcVEXe3hX^?s~a0`9G*|a z>^`f<8bt&&8>{{bAEgNs(`T>Gcs=~tS9Ho_yV#X^zAoWHjK{`Xoyz+M^)q3~0+?jg ztdo-x{a<9`5Bk=h7k>zaXLv=8^q81zJ3`A#kk!bz{NW>+>OHnzT$(9TNcfeLFzuxU zhkx2qXjK=7-imL`Y{F^h+47T1s>cL1h{)JjuqH)4=ZbdC^()rtzl;)y5#F1odJcXI zqms4Isu#SDo^^LKyYtbt-pbcT$?}AB2l-%4i!sw2b`5nWSyOSIuT8Ow&L;ES1Npo> zJFW%QweOFo{WBPxib}MfB@z&HQY(T~1Y{F!URh@#$23OBVkUfpl9t-6bdE`2n_v8v z=6y4KPu{QpR6td4In+>ZgBOu6r~7eXN`KINJLPxL zPD!Khl~7a0R@#VajFwJfd|5OXt*Vxe{XO&rzf;l1CvDjp@k#PG7*BR2`zu2z*3 zr9~S>d2*tw(KvnDRl>9wW>_uZ|4;qh2;|Teuwpf z?G)HXY)RwQd9t&`jH;<7lOmUDQuE=0=hwCzoexmg;{3*<6d-i)pK|tnze|_7+EEE> zIqlJVAH0KK(e9h@EU*)Zo1w<4iXlTJLDQYh_pNt1rpiKrs=#rk&zZnHaLDFN;fWKL zZ-wcAeYs^PlT#{M&r(xGg<3VqbMQC#MxKH^4>QAYVxguudQR(6pwzedJ*KrUXWeNl zjin-l)6HXkhk}#PT{f=Z<<6hRUgS$XOax2{ji9c_KDgc!oC;)#jHp{x3e@1LZnVV!l~ zOSc^In_ELNdQ2XDV5Oz7#p+Xi^$zDPitHg4Cgv6OvyeCeoFWlzZ#thzh|%~`-|+nN z{o`GW_kl;`qwW5$!+J-$5Bb|rAee*fV=sqS*HKn5h9r_O23)8}Lt-hndc|YgD$GaBwNp;=_BNkT3`I21tg zrNG4yFWt12%Cxby&e+?N8*%@>mu&I)UbPe0O$}1Jp^Lc2ojcw(r|x=!{N1E7jWIIz zbn=cb4p5Jgf%uVo6|?zSDmk5*x`?|UJ|9_2pYt#QH9rw0!bw54T2|UsWqBiZGs7r8 zg-G(5g*Ayco$JDM=LeSAo)63m15KjYB9q@(c0N?U;~p>L2nEwpybIG;P!GT&Tc{1G zm385<93QIBSsIRZW43XY(HkYvE|lCCtNGdeJ;YFu5n)>Eq*#3(X%yV%r@@^wSNW!S zhCe^I(lGs}Gv9Rh%ZXXWB34ABSm(%hCYdU4oQ+-%zpwjrJs<3>8I4s7ZR#q=o+g!X z{|qquVsmxZ1gk!0VBU^X!D&Ps8S#s4L733gp*5PN;pgu+V{&~L=(au&{^3Wtyq#hw zC&l~Qp%vD2O*Ey-Hz}f<*G(z2>@N-3hqY@LsseGI1ig}um;D$%yxq*2_$Jc9^O>;f z4hIzyl%17;wvti}gfW@c^E^x>aBwNk%`b{eU6Sc3YWup{`s?$gAOj+pWtqP;l$TYOX*;1^)SFa@^Db2@|qtbr4>hPD}7zccs>6G_0%%; zYs${x+2=Ls)58bzMzzIQRg$Pm4b){_X@1h+I=&hQ!RL1*PErm4UgbB&QDZCz2Dv>I z`f;zC>Jbx^scDbSkmA;Vgm6BQ&Sm-oBWQ8I`&yKatHqQmfK5O()&IlUdY76)ATjz; z1Se2>d8`eP`Y`USENrrE(9AIZ=%z$$ZxbHA_{iLVm%O-(=abtb8t}-6oi~h~(N&FX z%|p8Pr%J>Vt>z4mL*oFZ>~>%P7ol@#>`!F?XFCH(sA6YwcegXs7b(jaQY(53%Eg99 zcs0)!Z064nJI_{R?sRymlxq!sN4@F~;Oe8uQ%*Uo`Q5RzeV3kj<8oi3q74@Mbxb8| z2}8>MIWkg8{7YpNFkvh^K|vbM))SCgRAethMQg z>GylUY}t?k)2qDYwa|C<4#wE}(y!;!+@EGVe+|)5O8h z%-EitTpSpvQ=@kRdc0w_uR;DAjbLjjhB4hlJ9B$sr@72R?FdqIbcI~77c%{dWD|KM zHmO^V*576QC0h4Gg=~vEvKI zqzxtb;(sW){CeO^{ktpz$z}yp7*qXEvwme?*B9GwT*r^-svh)%Kledkc_{eD$`oy< z=F`)_Oo>JLfgjZmVtU%IOz`?MpkmEjK)Nb>3Rc)->!CdH;(DR{oG3H3W?VPXN-Fa~ zD*VSc?nrc(k}`W4Ouble_xs`OtK_Xo#1J6pje$9w~Y?U*e&H?1B6rj*T;WvS*t zwem)|6Pp3QaRsP>vD9y31kbs5hj~|fkiX=)^A4&7!{5sKBNongab(OHN#Pui_GO}n z58Yr>rr%}T@Phxy~ph6_8ZX}o(^ZZH)D;}OgQ-(_-Hrm z_li_czJH{=n)gLHpV1%A>I{kH`9J`P8+Xp{lmf-myTQLSpTgtVPhi5vPemQ1nll=L z28CRg+CpJrYlp|(O`XPXX5WSXUo)FpF4;i z{^n^5qtMLQYH&4XP#=w#P~fk?)pu>8gESl?ozL0ziv#E-lz)UC(I2j~$;qcQWUG@L zk$(N{liBW2V`eKpP|(ZtP7IYWe+T>$+}&OKF|nVLI?GLYCc#u!OmJ6&Ff-!3iMS-C zwyLE$J>w1i-E?%@Hv+1V>8=l$hCEJR-mb}d~>y=YZUzJ*gGmDpOKq_8C9{CSPoEvha_`o(qHXE(%XP!0H(VKXZ^ zeO$&1ipm&ZDmW!O<<@n7|2m;VgW8Pg^YZ6=Z#d-NV&v?%- zmm(jZ*9*^QRgvtOTIdP=cvrUFJX;CjuAFu(6elDDrAdx&D=(bW2sisGzLpQ>5pZq(1!nk;kH6_yY%`HS z)0DZ;C2r?Xk-eTk7QXyiXzM}`6hLjX$)o#VV4;G8ZZY#ouFwnL<=XJKXvssl zbK>qrQzSFaW~MGySGem9HL8qpCO3H5uts)HXMwQGn4nLb7RU^ zYSw1Vo*`J9%QLhm3Z<(@g3UCtyC7MWPiIGkyNm`HU?Ow%TiL{`(psIfG;dZTyMIl&Yk-Hf(9Rx!g8 z%p|&n4JGT{N2aL+4rL`su`-Zsan|W2mK7I*o$0A%B0E(<+KB(Sq#|%W#-4QN3;qIL zORD^m%BS;JwJ1;^*00phYK1&!B>E`lI`R$pbG_M<)~zqE zqmI7M>#o(;LQg152r)F9GmL6mVpHPO9x1v?Wqu<(F>ZXzdIvqR*p+f*&L}I{F&k3Z zphkrd-3-qT1kyh0wi!vjw|>wp#`H8*BT=WDY0a$JEH8aOLqOG>-3$KSEcLG@q2V}qme&g}OGRK0+)nu9inTZ=E( zE~u3mGPcM%Mmc&52K3f^qawn4tPU|IpKlW4`e|Al=D1Bw)qF*l9!n2Iegya6= znj}o3YbU~CufQDr*8W~0Cy}Rmd$!^M9bKbEP2BaPp|y`&Fl_DX1)a;O``U$b5aHsx z=?WMsxPd-<3iI4cam6-UdNvZK*jtVhBBGP;G$N9dW$_3p{FTk$)TKyi3w3cQoHUpK zfrA57CsU5}ILs7+;XS}O1L)7R>>qH6Dv@FKQ3y&V+Mtw<-Rm`r2U*OaWn1i%y1Rk; zCKrTFETyU#{*;*TMDSWLAJCvp{ZQYy(x@@8%G%OxJoi7OD^*rJi!CHru+yKSJW&Zv zHYUfOoU(;F79!c7;iI`XBvBvln6Xoh>*m}`jPy=7gR{2+;;7z=!xa&F$Rn7&K{a6v zjLOn7`u`#fJ)P_4SKz~YCT!gE!9Hz3N}+IxeQ*z?-z-e@&Z z=CHCo!pVEO)k{@PecocQD?UL(a=Z2KAHI-R)!I1wrj>F%M$l70ZP^v?N=SLg?a3TkS5pqFY_GZ306PNP$Rn_ z@o4emi@JL^(;8|Gl<|y5>HA>}hU596aB$S!thCi{D|f@zmcAB0&euJ5Rb9Yp?7-%d z52AG|v&$F8X~Ap3at5vuGfjSU)gH1jB4&q=MaNZM3Wi`Fe7&qlMbzF@;%v^E#r<$D zN0YbSAGU>QX%7of1+!%GWW0?FWVL$^9O^zs3d}Ir^JFNCFHqFDIrFG}D3BDE(Yfiv z)->IEl#l7Dmvm~uZ^gx$8NJDp{sNdcUp=7mAakJ9Zpb@OcOSEwvbhUEpCEIZjXAYY zFlSn+jX7(k*gK|PV}h7jZ7Z8NBWC-xEZ$=*sv%~)TR0yXk1)W^;Hb2$0Ujt_XmF;@2|0!>m!;vzg5drV=W zCL|R<|M>`+b70JsyVAw=?Da@37Ffdc&YpYeBiymkTKV8Zq*H(6rQo|8VcKA(<}Rlr z1YB0kW^Dqf{e>ix!=s8m4Gxm|0@JlmUkTU?tjW;!Xq9&0R+9`Ka9fC8S79;)b43*V z$Wbjn6a%i9YvY|qdVOw9rZ|k%a{m~d7ILb&5RbKt6ZCon3E9jtB`H;AdN+eOs60k>&NL1P#)KYNB<%=r z=R2%WJJQsLr==**il!@`92Z^A=uy7|M&`Z0d-c3-?kdRd5mj$JPq>dk@vHHZhyTSJ zI)P)fRKDKxHU?A*&>{Q1RCKV=>Pq+HnEIJw zT-Oo=3m*k{##W}9U}RzZ-q%RMzQ(J~?R6v<#hho4?i!>Jxi=Xlv{eSw?uxS?KWB^> zbTtfpTIY!f>e)l$xm0^@st>Q$Az52LZ@s0>hk;M|v@U5w_k#{g1-pKl{JvKnSml!h9DOZ~-kd-e=PM zSZrnFveJV&IGFxRSXH)D$a6hEE6%MCFmT~EM~`=DBY1VFPvYX@jf9{?&)kSzsDkzv z>s_e7MiDD3Rl(it474h}_{~2K&-3Ky}gHaKpd5zh}MmJ@u6L&dub%VZzR(t@v{_rGS zgju&@#Kk`GIQ#~(AC3Pj^ZmVK9oiHh4$HLreX3aucQ;nXU|B3JlU$)y^y*Y%q-fq> zjEH$NQ7jfLxme5t2>45SJn_JPBk3vwqUyFN-6CvSNC`+N(#_B{@A$o6A~E;gbNAV?_S)-cpP>1ngNZC6+sU|)wGQz}rZO8$ zo3?_v60Zr&xk+a~;vWQ3$&Ih&A*A-*b|Y^7v|+xqw${Qe(#YR%3IEE4^vb>46S`+{#=BCa88)KeZ(Lh zm>vGxaO3Gi-4O{ucPay75iWfC7^LVqfMP2@(m()VtD~?LfKM2oQA6a+c;4X16+M>= zTM`o-MdAh-P0V~hZVWX3AreD4t|Ko;R?LIiyd*c5neYGY)$@X*k6DG(@pd@GrAzmY zrfubXNs082o1n>6$GuZ6!_i$|8>=TcE=bWX=Mu+S83z54+TltQCdGL6ikpXaL(`hM zGL%Kfpm~}Ixw;df=6YqS5>xZX(cd|?r+>_A_b(c6yw9s`L9FJ#zO|6LOSD3-OnQdZ zpC$4yGnpR4M;ysc&HXjF(oYb9b$zmQ=%HrPgM32AfWDon#7E|ic6LVQwes%}Q zOCEBxSdyUgL)r>?jCAiWrol!G$Ig+fI&Gfyi2y4Ro+>n2m{3&gQs<)&GC=5d)VI5N zf3!b8KaN~v7pFo6KGDKi6&Ng}+-dv1mgtb2B7wQ9qQ{{2X^*Uv>D2J&+d9XBnM9_+ z#9nDKllp{wFLx2bvU_!9LkRrlXIob?c2&J^LI#qwqB50|aBrb8x>5@bFKq)>Z|<+-r8-g|A}`d{wZwAEFm4P3BavumZS%MGszz`;1NuY^Og z(GBg2t7_}*u;7Z7cce_T>(Abn1ImoIS-354n-vaz*YyO$&hd?RoQl<|ECZY#5vPX@ zr1Q*i#M-(yq`!Y3hO|j)^ZcB{yf4wcz&`p!gd#|S4*FxAB?HQtf^XOK7d_=m6_#lJ z>9z@^L4|Z1XE~gHn978IFq5%!Fh__x1!O*L0bX`H6glFYVA6VlPXRl6Cy zr9zrG0`;_~sK)dO>R^)nMye@Oew~JHHWC z^gJ)fmfz@kVr?Ex;(qv3BJ}3?L8`Ba$56uBYafyKnL!P{#rQgkLK1=3(E(nwoJ;eI zL(SbkH_QviHzd!}G3uHDJvZ&6GWvIg;t%=~SWx1_EGX|4U+m;}8zP@@=}g$|&smB@ z^_R%)2^l+23FRVtfA>jGQSXNF_o_mI5@xA#(s&q-Un#A)EJ21gn{bA#@Jl>SiY!X1 zu9$x_ny;?LDYTg;lpz}kiL$32yl8tShOIu(ZZeG$OE*K_&bGUw5=4XHNS}^@Gx??6V`kjP#~DOq+k*ikV8N&FVbKQ#!{N z1sDiC1Xj5UX$0D~pgQrpqd|E8#e^oQJ8-9_HzB@J6Jv+Yzd%LH4NR0%ql=d#Xi2y4 z+(mIG#4ndV$b#J5i@|oB6!D`_5essgPjU0tk{`hPwD8Q|Ns{_?jrlPGRPSSxH4+hj zs`vp0Sb`S8q9jV~5$gPLHsKT*-$aVs4L84vvdP)%&?3pg#eLq_QiHxiT>rA+zEAKn z{;ya;R}(GGH$;vC)P7Fks$^h9Twb@v@_vzwH{Th;miLZmOv7sSo!9VwGUSW?86xOF zIAvB^GMX(qF?V3zFkVv~d3QG{g_^f&blF`WRnO?_ql;i+kz{mZlcp-f(?)MDp*>^T z-v}DpTWy{t5qg^XR$>-iwNrPryck5j0v@HcHg0SG1E%D5SmGb7%{RQ>XZdm7LFDFj z9DPM~Z6SXck|vF=`q?g~e9D@wY}tuL9;{AE)Ha(!?0Yd;7;%6p*FwHcAoH1pUkB|$ znTwL>GjsBS*Y*sOl#*mthxbQ1aQ*2-QcdD!$}Q4RZWcCG&IACCZD0IoiI)|}K7Lyz zy7XK3b<(h_RR9Yt^E>l~HG@G7!1sm=fC1<12`9#tyW2#C?|6i6!Y_%1CcU z35nz6`?#N-D5B*+N3pTC;J1^vG0mTIR5l9Iw2XQWd-Bc7nXvDxy|tI!^qu@sho+K6cxo0LR^j{Row0XfE#N?qH8PezaBv=;7H%*h zEea88S9-5Bdoc-pR*O4OcYe9zhp8dNe0hDB+85-nmscJ#JP zW}*R3Y?K()mPp+C$vDk&;5nYkXrlYrRl&bb0ld`&H0LjKe=&YS`hC_)qa`N?JSR>Y zSTXD^HEGUzZ;!oym0uVIX8sGJQF-~xpvy-C=vQypCg_HqbuERbI{ym8INO=n7_ytr zJ-x|MN}^d-2$~}87iTjGrW^k@|ESAmlZia2^CK3WO8R#(h}<2?U~bL`bIi}He5@!f zswI5km?Xfhb>E$0u|WOi(=MU3xKivI9Z`EggcniVwvb!auV?B2KAL}Q})6ft~(eOst(AheiX|NZt1bdF8z+}@mX$`-93mIxl;9x9CKt3MJ6MSt+gY&m|0T3#yA8OL5YOO@%$c4YWCLe)Dx8R~Osr&b>bhZsdBMNDIH{_%v!zh7ot0 zH!i~k5HOFWFwg@X&}zd)G7O^a$~%3S`S>2b+Y16)6uT#prn*<)tB4-^Xh7sqv0rs& zYX`0(giV7@{R2sgNY1E|y84)aph(a71*N?TySR{4_ttNZ!00|&8qKLQ2Ln$sfBaM8 z=O^l48Aft(ppQ6yN=1$KY-nwqyKuCcSMm}kalK*N$OsdqEO)~UjU9B*>=hL(W0Qss z47fm>KJG#P4F46VlOI9%?vw(fPrb$uO+N`QB}SaC`$r3L!$&;8hFK1<D z?DwlWHp?UxGOJJ8{1zCDK+?2lvy*=!0BC+Zm@0UX5;5`Oj9GeU$c<@ZD~;s%E4|8` z-v!Sk{(O>jm4N)6jBx~z7y|KO?b{qnk?w(XOf9;sd_laL>WPe!&{K(#Y$42DiG0*c zY;-_|`bX(0AJEEq@!>@@R+p}5|KVTZ$WYwG$G`sRknuy5uZz|{F2J=tO3-1<%B#3}suggY#o-i6TFo;<&Z_Xud9tZz zlga24rR2*smw0`y$jxgnN@>Z*+gHKm22MZD86}2(uVS8@#aH_%P-pEC3s28#>(GBJ zeZh^H9rwLxTK1-1kE5Ua)nEfVx4JzoW47hR$>W}$q)c(4Z$oa(AT;i;7BnTY+HyCj zZK(_mC9H7qlnKPNbQwNW&ok;5cN^3h-iI5jO9;cS9wpbP2Zx2$00M`g#K`x*!suj$ z+Ml&AeKsK9)N9pdH~#Q&u?9zOFZ-6gPoY&rt=n?2w3C04K<#|n6(>t7fW8>Sp){0E z99$yp6K5-v+6l)EyAFeoD;ioi{(1)?2}w1VN55Ps9xS5Pd~G)P#M{kS9)mlZt;o*b zUXve`v`5>L{d3K>v`rSB9~t3kwSfWjSy}P#N$ev}NdLmj427tb$UcXmA>MX}KUw4ornzjQ~QkVW^(TdJn}lBRCqj<{Fqeq8`)Vp7xF_{JNVDj%<&s+dOi5N41s5=3^}{uy+7MyWmVSb2g&UqO!>PQMrT;@EPn0Y#3v4% zy-OR$y5+dEiI%%Z{*pYc^=R0C;Ex2Y9VS6arm*7oYAp{ z+6PG2))voytTjymVX5v39n7|d*0g`rhHKobPcO_luL~Gd#wgeirN45$2eII%K!$W8 zcTlD7+b*hDueFuL)|R>@1JB7BaZW-p7q*|b?CbZQG74-J9dB1DCW#VX z3OZ7c)3l5}%u5!G=E5Zo*6R9Jd z(mvrb@qdvgzj(Kzx&hKW_Ccul?>^8xvB8nfl}emxSbB5b9DoCV*5(Q#C7Ov&ht%*P)I2*}( z-H7zQX33d+mX5CNjGnkBns#dr=d35%3CM*LI0=gbjP&=a4iK*MBkOttZ!q7{cg7ct zXUkdYRue7%M^#gkh_;I+MXWzvlhS;NICWQ1y^#@uMxFAHr*ev=UEJ;-kD|#cqNl=} zO~JTl8;xAfNRgIud$pdfrt_mX1B!XUGRBlAveBdY=Qdz2Y5D$&{1lcedy5;3sCq^yNvQcc%Jx{QRVU^U4H*e$`9)-XK&rG`y#4l4rlbQy=?ZF0PKCzZRW( zUt((X_JM9;3vP;3+PuTcHFPJ-=S!Iz0}e!g!=b+ZYvr!VLbazl(v z6^a`$FrS+Mw7al{hF@lj2f0##$t$x#%0cTY#q_m3TmP{q!kmW>*G#CzVwhfKDd^b>Kl--upG=qjG4V@Z5-#=kL6egQ+v>Q`H(*LU8YIJe|AZaEePLU8vn0) zo;qe*qGg4gYcUU2?dEs68!395fvrygz!Rv@RR{ezn6*&xhj#{^F)~8F0++))lu$M3 zn~viv*UYb-@*KNhmQTXm0pNK#e_<{gNs*T2olU*W52Nfil2{B1R1X#)0|&RoPd~@^ zPUAg^$7nk3IxU|4Mmm0KizW7XWidrgfCANbXh$~ z3}TaYNTem(-ueFgr(&hF1mz9!gD*NhUf#^%+D@xlm`titd1&$$8_4du*m!y#U zED3VF&y1q0@&p^k@`y51`mml>-BDJo0#!6AA&#KKhx4U}tdyT&I3hoc)iLUsP>naU zd(el60l(yme>f`;uk0&O@WBmDDPB@@sb_-GCo$3$>EYFTd9J^g<;IlH!ML816SL}J zTY@a1J}a==X(B}Qt#C$jCv(bsyZaX{tDEwx5|qW#i5N{^hI2&@%O(N^aW@N|#EcfX zA#TfXf!544*NK5YbBODK^%3?awg|^U3x0(rKac%fB$otFbD-9X>quz(B`?oXS6goN zPOl#r_ChZ;^~d4GG)<8;4L6X9Eau!ihkWfX=MtA|Y8HonijN_9VNDD7Tr@iWj~^VR3H+U+|U^>O^2u;4af2O(s3>tHWG@(;S-G=rMkWI?oXLmQI$SJ{?)!A z2+D_1U~lZn*_1yrX7EL~P|*t@8LcP<&wu&pSzXHYgz=~e*@5fVek((!Cp2SV()uKj* zMLz@)WWiq)uN%E{ocKHNsEhrROWWE;GATFK<`6{Zx&1`aZ>hmQq0Ayv?bw<;DL)|I zi+4B~#e!vA9Y=G)Yvbx`tx%_OKZs~4p|tqaS|XnGW;i=ULZ*6G@_vAafzal&*$>lc>I z0ET|d8LuQ<>_x4tdcE#RYX&p&Lu$D|&+GmlO6HLFE^_j&uOpDEgUZtg`ZCOuKQt<~ zFc`)S?RLH68U@0q)oI-R2VVu%7YdOHlQ=ed3q_;!@Sn;J;`IpaJxQ&Zo6wWnrXeS} zjV-|w+VdI5fm+fFlG3~H)&6j=)IkZ|y%Tom@p5;w9+(@|ceZ(4Y$` zb5~IgD*ER0?Td<4bP+?XZSV;q%;iXb^*l)^%Mi}*VD&@nP3|kJ5j*c^OkB=|N8Gn3 z2W;cholCk>^DA0mblcf|qV13qy(vro$4kFIrKAEy8T?PY9)38t^MAFFo%Z7yNc((_ zr_4KVV;>XspxMed=Jr`HZa!#cMV)$fj^+t&A*n;!rw*t(n1<}?2nXkJa}45bT6Y-bC(Q`R!NhT&%S zo7B%g1WZVEjFW)xEA*QUpA=c`$IxW4%o7n%mQi%GI02#sEwqj`gw3N_rsq6E%t+e) zCnvYTjQ+&_((sYdA`c^O$H!}@ZL^h3F04k;7-tn-NO`h0TBQ$a+#3(@BFJ2_e3=P` z-FkwQ_;uMcUI*m_@Nk1W#^wF}1uTRer8wU!hAiX-a@C4vU#0u%P5+X!sAP4R$K#ij zN|WG|VoHzuwBC1!%*g9yn^R`OsIWIMYZCg()&EVThSj2TGUSf+6FJTw-v0+jfD%>p2u4=*z~)9<{5Z>XhP=O+U9L!&)s~y#w&6x z_{c;!I7v8Z6VX%27uQlRi!BxZw3I2)OU{5I%8H%fJE434tF2IKUUaMG{m@55J)xBK zFx-nIXVIXCD3}i#{kTFKuPK2`k3N`DqC9K|x9m4?U9hG$FNT?zH#ScqJokGe;m@YB zo*?t9svZGT^k8&<4D8huQTe9(7i%~2G*PYT?VVCtBX(nbV)fWTq!(^b&Pn?tnJoh^ zG+y2-oWMqRch|UBw`99IhRm@M%K5Qi>Up6nhm}2!*g|W@Y1`LU{*v3DuLTB|^mN`R zQX6yMdaR(pa%+ZH;m8XxC{55&Y8iWc*2*u^EB@O~ap6IRb)XFK{u2xH`hXu{NlWnk zKn4AZ_aY$wXGVB~Jef0CKeiRM;@{>XX3LH1iJjPrRx};NH+UD!bIxaLhAN_(5Xup> z16+B5_`$_7G_jAFr4^rPaD4O4ggbz;j5NMu+)Fa01eK4^@Nwf_;7BWm(q0hka|Lsf zJI)-F9GcZH1yc)rsuyX#{4tt?8~R~z@FTSvmbwx|cgHFC#W30}v?-!fjx-53U+HdS z)PBSuf1p}3@8zD^=9QxoB^J6onL37uu7Q?}L2LLj=G_8S>eb_yWLTV2ufVXt)}ave za@hKY*4!D*W$a3%UV6u)EydV~_t?Y`@qZQLn!#L=Knt9^dnDuhzCgh@z}@A z$^FvrJ`dz^Re~E4hL0rlNo7mmN92;|c}vHphW+~b=eBJ)*Yd_z_s5--yYLJ-uXd<1 zP?ye3ABi0wSu)_L;Ab9UR++f3qY0Ym>`6ZuxI1s>6gW6w_rQ3w;(*WZo)FrI)35fN z(QK+;wL6U7WkBRw9>D6cco7C+I#7%o26yf&9+7VnjWp_L2Z)s$6aV&R zz&)*NBaB3TTbderMI-{9dowtV}2$3wE1GKhmpoY%~~XKCu}U2WN+4^ zTi-&@k@A%8;^iHO_sYIv(1#|T6Jmx>X~T9aooJ{W0V3d{7J<{IMSkMrj76-#CjFx~leJjbd z4}=L;mIA1&BBTmG!4#>7zg_u?InyzbwMLjXk}D|2sNb@!P%;lx z(_POV06DM6(Gjcoe-^#GFl=j=<+{Be8E^cIsrBTQlg`kn8epdNwt;_V7TR1EjB4cF z8e+HrIS-ulIlq@#=IarJrenm!Lj>CV^ZdTmX&0RcnN5S#a zNoB*M;YGe<_;gp`%8opl6mBL^&HX^zHU#$ieZv^Rz#OIcqxq60Wp|y;`AfRNPqOh` z&kFf2gfOA^wlijip9&;ukRI}f!N|ZPq1_!k7EJ;h5v&ZgR^&`darm!WsHc}m#ut7m zT-~dfWTi2_Hyh-2N`Oq6u2>8iplLDs#u_)X+Yyi9qxF8N%h@tpK4)kK3)*@!-efLsv4a9uC7!ii(Af zH`_cxnt1~axLW!lgpMrdlaFCI{NVjyUP(y5zGIXee`VD`hiQ(Rjc$&%)T+*$ATNwB zBAi3*XPHf-rnPl#LELlbW?whgw8}Kzdz`dxWC@;%WikawvZ)MU}yW}ayhmBYdtZ1XGgbq6~I-{yIVmyDJIeQ62rfOxz zAfVgYFc#)R1`we5xmI_T=GLin?VHYhg@4y$RP?*yN34j{+y3@0f7JSp1@D>gl1Z3m zZfUfmE0)3Lz>z4>?`Bq-=oq^F4Ps;ji+H3j_a`foSsvVt7;pYVW11)w`(fv+x;aH( z@H2<=+OPRpF!BfB-0DaMK*0suEvS9rB0sF*L-HaA&k@wfW zAm~2keNGy|5}(m|OXP^vM68FVTlS!SwaX7ObHn0@iV@{|Kg8*lQ&_{L1$An_&&S;uO(6I}4fGO3onkLA zPlS!_m!eeXxg9IEgWp(vp}G)*!r98u3^>w)}YP%ujyY)V%hoh4I(+ zgam*2hfAAsPxppm{9+&v1+R_a;hEv@N$!mM|ubyEepr- z5%rjaR{=qHeQdtLLLg$%vC3nK;07V#G9=6|pBH@$LoBa$#BpbA{9VNAGtA~F5Ve&w z&QvoX1e8jA@}yfi3h6!51;Jx98o6Fbkrmu7(r|@|uTPy`=6l^z3aoauafOh4c|z2~ zZ(BEKu*#(VVfb%nLSB~DpUj(gVdSO35;=3h|GzKqy0@(qX9Bm= z8nk97Rc~wc9n*x9D#zZJ4w20i;5+eO_?Sg;P(Kk8EV1$SJez%#q;7Gtth1p)EBiz) zxor65&1Ki;C(AAuilK42PN}4sBslVi#4BdWb0JtM?FOr<&Q4*PYn`F=7r^BO-KUW= z*Ow7r#tLRgsb7AZp{kefQJ-@{3X!<(;D~+6f1;GnkpWza_;%j7)=<5E0Pl-95_=P=RuTIJn)Cr??%9+9N2ouPa@+Ukr=zw)%Ws3^B(Om z$Q!Gl1UL3817G?D4dg!|9L%VBP0}X5bi`d{>w`ri6CHMQeSnu&2*!HPnps2Yl7!wd z?b`TTF!$h&3e#lSGe6HFiO5Zy!|@i&U#aDic|>g( zF*r;=adl7xY)~u~acAA}f(&aBN_>OamEXmvyMgR_Tutgv;ZNc(6N@;HyTmEcEoHh` zFs;68yEo-4GErXxUnf?BE=_5yUb%jqzs$kdQpVo%`oIXcZu5J4q!S5l${y;+|0wz@ zrk1MaD<2C5k85@z$GSk6D`4C zl;Q@ySqu~Qj*f#>-!LsNVDg@EBVWGlf?$Ri-vb|F(lSCO6_<=u7wLNEoy(Q;Lfn4Z zCBLZOm?7_WWqZDd%h)MXWI6vNYNLtz&0aURTluhKAE*KzYt*047L6Nk-LDt^Z2WnA zX_b3oW8DPAapFuf=)g5L>mDhh{POk^RoQ4Cj#nW9qt|yUW+rc~OO@X2KN*i0f=(w7+cjG)u6kJhOJ9y?tB% zW!hSbn1tzUELVb_!#Ln*PQT#Rp`mYwlb?UggPgRbY{D~)n)Mbm=A84`CS*nOp zFx?PdXUu5jiB$>^$;QmU`)|?QUx2;x)XhR|c99-BSDVbDzWx!V?j+6FRGGIrBXSjw zr%ZA>d43ammA#xZRXgF+MQBA6`T#z1S53qJiT{)dX9+LDlBhzXlRl+w`MD1-{y;9; zEySDAnD|D#lW{?Wm+?F9hFBiSWn%7&Fjgg6m*ciXx-MzVwtGqw+18z)N=-zAJ$nY< zvNhh>>hOECc<%by!OXzAs9L+h!MKUP$miM<4e&Peq>HvtTj--5!Qv&e02cPT^x1+j zom*By9;rV2W^_rOhZaI+54bvac5$cq!BBOmXG5?n7yGcp)zfb~1!jr!AABD5zA{#|`f?m;ANT#xj>V)z} z=*nHkmq9x{sODlEz|wx|us?rtxc`Df!>#606%)lt)T7ZQ3mlFTz3%@Jnm9V5J>{TF znFx%D?aK#FU#++a@Cb)jP8OG})L7$g zSkd5g$ztCXS$FJ5V4=H6rcQ>S*#4QGVOmU(q7ubtjCtS6T$c?3(VOWYn&9)t?Xtgm z=L`}aZ(W^Pd=)SSP!7uBS7dsT{-0&4N7300IPTPbb)+CUIkS30bS2Od@T~wnC5N>( z_*naxvE*y1AKKJkoiVKEZr0nsI6}slSB4YM z1$}RVe<@&M3)6!X?2WUiNqxq2aP#?xn^b4}FqsvZWDN_w^79vOrvVX*b`vjRh1L=P za%rXpj9Bs%+qmws#&s~+>ABlG8ZHMIlaB+8Hx_}gU;QdjjvJcuTDaBOaBlP?uIOaQ z0gmI-(xd(>E8vUwqEhM?t3Sp}_GDh|w`PV0lFl6|J~l_apox<1TIO7T{0g6{(aY>v z+w5zGz?r9spnxXDSFMkXGmBJRLKMUbWB8%NXfH61Tx5R`22)>1*C%+sWS;sWGiF6I zlUoxik&14b+t`}Ers-_IrC@@$!|kim^yh6ZuquYz?Xq_{s*01p4Z?B;03^BeXWLqy z?3LDX6ntXFDlz}%!L+XxBQ8n4<%vm`WOsF??&7zrn=`!X8(yUq#Fj$85z#f9G%tN(){AwOeam;~dDqFS{QuKC>PWehzmN*` z=YCPl7{99i=I2S;Q%!q8M}TFm(^UUPL^g;%%dfKRdqWy4x!mmH&Q_ZZZ&A)tPmOFq zRteI^BVki?rO1kA2|i+{NrilaG@4urw!4&aXOIqFicpm(QUTMNA zj0JDz30$O;zQUqPv}mGZT^1)4qs`~&u~N-nq5Lrlv4KuOmDm?rM6xlSXf= zJEGQde!Uo@kQBfE^C017f?GY4Dc0+`1x^dFCsP1Ee0$ezt2mtcrN15LR;n~uRgv?x zkv5POy{@LUo6YT~&7IAI+XM01FQvimca-i7qhXm4IC*;nY&h(Wgwg3*wdq2myKf}=!B;pI%j+C?Iy|Uv zB&kx>>8lp7NS)OEab$nO zf5sn^_rO%c1d~2=P3Ebqk=cGzrK*SvvGYaQdG$#i@9yoa=9AFc-T1#9Z)Ye_#+=KK zV-Yssbx6#M-P%B94^77Z8Z;C)b}1*v~5QWnu zTHR+rr1o`)?0TWgM>pFtjh2#Ep=btI`+?=qaeSSb7Q)?7*(z53yJ|_HrKItfo7pM2 zjK`|%trRY5hcGkL(XV;=&Y(v?Dg}fLkN@r**>%Z+hohAfqrd_0pyGX0^GX7(?RB8( zzYX8v+2#NWcf5;f&$ih&sWSB`r?53X?S@bu?#2WY{mEngj;?UjO_F%+R%do+2diz) ziSks_!+oP%kNO*+bT!9%@zT=Q0h2?H`SB83dt5LD$33!K5UCBqVA`YS!@{#QcU6lD zvspEwkjlW4d0~1~Ur7D(myfro-_4$4AFh{?q&295DG*R5@>uW!!_B(L>lepKN~`jW z3+R-H??SPH>0L$)Qm5=`qB^l|4%YmuBD`&Q|9y=2QcY#1TkGa$xZ~V0J?TV1zcI<3 zg{)Oeo5tTe5J%cUYS@{I)ZougpF@)#Ermb3_n7<|mcbeif{9w|;X3*3eGO`y%@H|B zQ$a=*$P4jriaa~)`zxG&UT~j(aHuF;Ul^DP=zj|GWUGVDfQ;_*p}@i0egUE}0CULl zpV9*ajR~uJha<=f50HgBsyI)B7N{7}v*j0x+DUc+cG1S*mf6{H+wa+CAiv`y?R+%UXC(nQ~$EyM@;HeuSH8n4m;RJNjvS*I|e$|@vkr1Oe}vFT|# zZ5fN@+J+nA^or`g9p}-)ov2(h!3tj$l}m&E8BZYC2{=+l z3FnTjp{!yzt7AW^1@{LfTMa?Fx8NqNKdP)RhKcfOUMgpaMd)xmN1b;ap!4e#;@HLw ziyv|k45OqEM>t{=`UMhDv{_E9v%ta|Z)a>?pW4FxY9$;&x<-t;sH->YtTlDJe08^E z?5Z|#-^t?umaUK?bo&hzY@7NVfHr(?SmJ6oMkj%~9~|oC>sZln8m$j3A7#G*{tD zF&=-ie9rwrVKeCJAPf`@C(7V8FXugkx!(FpER|h%#5-R~l2W`5{i|9E{J`w(*(y&6 z)Tw#tIA`OaW=%UT`;q<{jIjv0IakU<%re6DVKx_Twj?|reYWlVumit>DC5*Tj*c@W zxW<$w%B6U?sc`CG8sr&&J7NJh`j>dtDISbr5akZzBrl4Z43F zvG+4@0(0%QSgK)96?UKl6$)ZA0H;jrIly48vNt~}*)c*5k&JSy zl7Yam+<&aO%hBKJf^nDV*)~z|7xQ~s7z*qo1AtEm;YIxBwyhuf6q7JwT6ax-g934_ zjTx(ZcD!M&;7bIu4TYIy!rE{{A^G!g_5d(}USJrahR&=1=*$BC_e|cHg2Ysw{oCo} z1BpM{edE5d?3@a<-R0U6k*>Z0fHdSw^ab5T^Io)YOG#>hFz-LaQO02V+~~5I-UwOO zlyc=#t~hhM*7|(fR{YN1E%~bAPM;>~AF#8`eM%32Rji*F&ZEpG+9gwVmY7F&SzJG` zlPHM07`qrj0G18M1nqO|GmIbt3s4HCYbSy-EfEt|Hg!;Uj1;R`A6hH7Y_vAMCiEkF zrOkkvhZlsFjlHqDp#O(Qrd)(Bc;;^}O zzLA39d;y{+3{-jY0ebb7T2uA*K<$ZL?LA}UnhCzsB*SHof$FV(CwqWou^Q_QL_^#|K-P^%Fk>+a3*m*2nERRq(L`CGcbE>! zSKj>60H<$`XYel${@r?T73!Ir?1pp)7X{56F)t4vy7LX3RA5f_>v*;k z=dVw7FhIe`0ev8AoT>-&2p{ev+|5-Eaf?Ik0zngE)5Jh>7xWg0rFrze7`mgsSUkq* zvjap^m;uLxXqNus4U3JhPd-PS44U^ni??&JuC--h)169K-BM{GAI!|dz)Cc@T zYQJEin}pszSi0J)dg4*|YT$$K3IOl3dkVJCtQ=MfZ;nvkQRaEV9hg~?tdOS9>AanH z?^_!TYINCNfk4w|f~s;8m@ujRyy@x9e;1?_x=6(l$+U4Q_-t;C;#=n{_ey<4*v);) z%;m6BnyQ&{KLYUtw)bL)&x89n2LX%iBQZ@zLai;3dXiglrD0=>NIUO3!}v30{#XH` zD%{Wt!z#ZTZyn&{dq61ZZ?20=0Xc7K1q=nz7Gcf0ZpTk~DkoC zMOqQB_+)SBETs>jcL#TDhuD^qrBH!?a#wZ+VtvkGOdGrQ1S8c|xzD>_bf{k}Ya<*p zSg5M^#Fz^@`bTQ0Nz%9c273ZMyeaRiF2RvRXjw zDNfdA^8?WI5Gvli78oEIpX?gx;>UpDgHv&M8wF4+E%+j5A!w(a7ZNL>Z6K0M#wOdiKKaVKen2oVt|6)-#C1dU{bL13du)cii~oF##m?T8%@lGpX5j zxQZ=)@NXwpFt!F-vUd|hS@6FN;YzTmoAB`+uW+DN$#ukxZj{weyqlL0Wp8`{rq>*M zv6k^Pyf!(H^ZQZjWAv*>fIB9&V#pBuA6!3fU~p_vcY9~y;P1f%;ROD!9PP>%ja;Iu z2UF_2F`{S|STc!hqOnFEWVwZ@%qnZgV)^)#b!z`gARqGWzoGX;Bw~UNMya5wO+n#R zNU`yyZKX8Vaw}vNs1F6@)V_d3b?rb#T_Z^0m%f0|GtRon)J~=bIX|KzWFC$9J1(TlKk&H07{eKmT^0x#)F#K*jOp zzO|^B#ENjnZG5YglSBrUMPLO#S(Fv8qp9}2e>J0HYliCSvHkFvj9 zKF{^@AC%R%uxs>Y2-I>Q8iKc~_UXT$a`)ZI-(^cPJAlJ+!e2S71kg!Kp7u+>SA&9a zxE+p(kDWtMoP8YEBB>+{eXD=XNHgYY_ywl7){7bCdVR-^4`XBbaKDL)>o=14PSUi_ z%&Fkjju^Pc1<}|M)~<6mrFf3i=oMFsjJafo7?d{FKu8<;@To&wtOR$-liWLxvO=Eaq|QsH?L0jHRI!A<)}m z(Ngx4-)Z_W9!N0#sQp&y>OAqj=d{WM>>babju#8IcROhpTQ^D>u{WJ!WaVTD8Q5u4 zqNxeB+}l=MoTx4FGoHuTM0DL7ZYZ`x3gKkRT?dGwdrV8>$WhOi)luwChARDsE_3x- z24??!*)#ZM-%X!0LyX^c0EqY@cRRjB-zx)|a(e1h!HQGr;0pFdUA0oS$0;QEf)7g6 zpL1nB1WukS33coJoGaM!-wU%Ei!OU?DEiYr^$@)!y>p$op7@XPy5 z0Tyca>f=_P2WS3^RGdVt!Ez|!f5o7h_U&mcmVnyIkrlr`o zPdxSgoSnx3dcMIWk~B{m5?5MS5k774r5P-$p5w^a;^>?KNfKjDLJ)@%6%a`5EPs=c zp!`3g-a0I*?t34m1VO?80qK^O?rsoJP(o4~>FyE{q)VEi29WMD$_-I(3(f_?|9gedU|!~^-w%{k z7P{yqvWw6g$H6?Y<7duIuNJ=Pd8!jrxz`3`W@bhswvL1kU-;dknhTNT%H*iWA8v;{ z$Mo1M%LJc@{P> z`#8EipP8+`8g8n+lM*+GOubX6qy&UWkKav2S7w;qZ8k)3M(iDdm(s=q#%GV-M=?K4 z93O!^y)PJD%XhQ>Nr3y0n4>%7xiXwEv$=Iy1XF+g$Z%p&18r|?`^H3M&xRQO@ZI3{ z8x^2132m?db;ltkix2xHCNr`|k{6W_oK+7sgXJDSLf%mi3*h|q3Vebp%1W^~O;{q0 zXeIo#2SvNlA@`aHcpO(FAdd}8)iB&IvHoc{bL`Fh{%b@GF{&^JALxDoD&E8IhYKfW zJ}ti8bzd4Q_}xPeKS<^;xqf2p_6_a5Tx(BQ0B~-%?vg^b=cJ?==d+culk}p8_yfaA z#|xFn4{$d2!0oSzDf=HhfYj42XidZOW(;XYrKIkMslMN8V+d84x^m2z@fu}Sv!7*N z)=RpR^a|R%%M_LB8|VpCBt-D|R_7$h-Mr4`_Dw%&FTV*B3kaz5dGwPQ7#N%I_DD1G zW-{y>0^0WTt_xj2B8rb4U-fyG?DFEq4Xw!v|EmWhk4;F=$>BF8l?^hDra%zg=9bM? ziOUU;5c}qY;EQ?jvmCQEl$H!=`_L-1P~dig)X(@W(zRJp2~`w*v=lS%AJ&f0nwn6a zx~iNH_RkLe%UELTl)I5K?Y>ld6$<^&)Vy0F3`9aGU}oEgvY2%ny?Kp(^|Gp4oKdci zK*d8CQCyXp&$~(5A|HI;z~RAY5;nu%&l(PjiH(m|{WYA9&3vk4$h4i*tsIDNMFVtw zc{=pHNka6c?Yut9s=J&m_erujW^yOnSo_F<}Q|r36n2P24N>4AFPOcX6=I(Dx zewTYu187@ajW{00w~?;H{kM!CC=j^UR~2n+&rAFGI$wvrMghzE6`9Sd;&Tn8rp^;3 zMs)y#>@D_mz3A#PJV*_Eh5ze4K%M6lx}dQy1}oSQ6vm;paQpi3GNG!N#aF(Lk#-ar zJpAbi@Z+TK>2^&cm7_2BHao*Dl9?;89kIC@NXH@Cn-E_>!ncew)*VT$SNH)a1x&V; z_v+ofwsD`y0P4%uYI`K$wzgfiBxRuX^m`_p?N!cx>&HJk5diJW@2ceF8m8`ubvK`2 zAJyIg1=bXHt1~i4=g2}7kCP6%>)sIfBwzH2L}ct_$L!v4=G`Y{nYiw6C8T+0bd7em z4dJH<5KH5;nf?Zg;ZlWC=FwWECXyQuNQWnQr^f~3?=gw6jeS|Ylhkws&%yuNd|-#!WXUT|nz zM`d2%O|qs)Z12&s$6ChOhvx3sF*R--Ky32E?&}(#ZQ3BJ?&%_`f1&<16dnreNSJ5B$?C03q zxEV645Tu^kqT8i)9j)fVwXm*}?`O5PvVy(z6(Jc{r|;17c9npQ!H@8hjn`vug1NZH zaQ5(|ZoclaWG}OBwtMaswyQvjV3fzCtHxX|H~9JLK;CXL5{Z3IF6v}pFp|n&;DI{L z7jk8Xr5Nf2-p31(Ig>xLBlR;=tpPr7O{U7v8XF3C=3N7Bsi7f9my61Md^aCgJ=n_Z zQIsddcxgC8@W3iGDfHMprX(wx#4kj3`b=VRLj{D|o$0f~DtU)9o*2X9GoKVVz4qJ9 zsY*TwY1XdeY020QEt!aYfX~)jyzGTE?pK~;l{B+|saODinkt-gpq18#Z~bs}B>$TV z9GAeqa^zY#5?Hf(Q*!AQoXYB8-sX}la7S28WO*_w2|RRW{-->!%#Q^WzZr0Th-<{X z@UAgg+RD*kTSnTyys~Q@>F@<^l|iK2IKHaq@imq+)tf|xquE>{CicYYO{Y%gkknu) zEKmV|$Qk|#;r$^5#*Orer$Z&L>cS{wWUd11smpgLa>k~fCM$67U7Z0O_(Rh<@fp*o z^D*a>^kj$ z`;$~P&V-H;Rj>bq9e)__PbKBPnY!70nhUzf82Wk-hnmI;F`{;Y>jx(c^&Oe>mVf}& z==@|Tw=2Xdeq#oEDNMALR2`*Ww$7bfSE_S>Z{=y0@pr?;-pQ_zKk!<7{@XfpbCyI? zBHk%-eEkE#Qb?nI%p&&{W9f&)K7H60K+^1JCyIyS7hmRrlUoxV??cv1J{TsC)E%o%#h< zkLVv-K}YL1zn0`&h`Q8tu518kBE*By8 z*r{$V{zYGgzuOtw(tbQ9uaqAgIodPLw%24<3#xm%7THvZw0Fe;M3!@5U;p|mlGKZu zzg&H)y+-eQxmD^+Yk-Ih8|@H@K#$?lA$O%Zp#w!@)X?5aAQMCPRCn8tKQ~;fI`vS0 zG2bz~^njVDaU@;Ti%lxI?1iA{Qg*+R=zuj&Iso8Elz?+mayAHonc@!Gmq*vqQ@~TB zV^rqMrc3o77ul?|Mu#*-HiWZ0XN78(i6_pUyu-lB=$zg~SXxD(&Y=)&S;vbXg7Y=J?hU^nVFA>YeWe_fL( zx?mtHEPZ!Z=LKDJc|ZFzJgDI9aiYV#YeMGIqslq#%okHCuO5GRNGFXqNB~A|GPkHS zBVD`V6$v`NP%8(UcF$pxE;%eY3@)c|4DNMgr60#Jh465(!A4g2>Q-RsN_}%E`#42d zmIq?Nj&%zpx{2$mR3kh~k&}_=lTp-EHazg~U?B2M>daYHlFk>7w{U;vrfJ z!~quN$$onY&tGK5n@X5jXjB(QMMb)kbK$7p#~#H zRbhj_KUCYvn=9`z8e4qi`F_HTJ^NzNa>9C5Ps<(;!T5JqP4?<%wuK)#3I`A2odHr4P=33bu`HI#PP+Z?_T(oOH&->?g<8fA?E*=s zY0F@3@siL9@B>!L*1xYMNId?rDyUW&=D5l6FR?|#IstDpdvhSlju13+ap9l zB~Ve-~W~@@yy=F;3$%I65>ai%c5Us2=-c5Z7D0r*tMbu zo2sgU${wtJ7cJbBIa=u!OjX#M8Q9rCASVwY8Cu0p>1O}Xx>nVNJ#3kMJH-4Vmwl_# z)s&=GiFH$r&#|~|m!KT4VKXGXGIsV|DY`G%8JHBpTD?Tu1(osXW$$wM(nh(wF66sw zHujEcOBIG*D7dxh1xPK9i6}Cn_=YXI`6k`2dt~U^roRB|tEN<5TNzt|8vm8E2>k{8aq-N|2)Jk3-_$f2xflkgdE~OTjpP2zv(mcy<*-{O1GDid zeyrj_v`DS_Br&r1XZ(?zZvW&Bj7{syWkUnjykF-OTs}GS-PMjB>oFyo4klkn&sW$a z=X7S2p64O-wWeGNwH?sy_07^R!Q+`A2|5cc-ih@p1X>G8>$Wp>l=Mr7}mBlJYu}-?gYG zfK_&CptC(H3;y)W?Je6Uk?Gp;#);CC!(bb#S76}wN~)Z!h){x@PQH`Z(*PD}Va9x)wKP?a^#Cb%*g`B`~-YE+u1)k&=+-t7Z_ z^CPb-iFZR0w6){aPjDyCsTEn{Y=bM`*(77Kk9X#&lIN9G{cpl`RCx zU%?Gdatpnm*dG+iN&~AQTa1o7KAT6f{2h<8B8Ti2?)T%}kN5Ny(|EyF|IHn+`kl=o z+KL=Vp1n}^cMh?WFJ5W*{bd7GXeo5SBCyHxOY5@Ls|J5pt`Q!cea9wmmbCs_Q|3HA zkmx&JiD2$yeHm^(ani#4$a~9m*sCASeXi$xs~Q$8^)|Hazr~U*eF!)UMT-~kX~g|i z#sbxOH`Au>%&H2wU6q|*C2pwMNO%d9p=atgqm+fR8uzwW5wz@ZK8PfMD3tujMWz1A zx&OlSr{LpDW_K}=7F{u5ofV~QY0Gg>ZEX0Ge`t%OV`FOmqz5<1-&g4 z2k%b&cYAy)$uAzOIC1mbU!+sMi~EwK_eBD6?cZ*EpfPt>Ua$+QX=awcYwKNFQi9v> zVn|iz1nmUyLVtRCnqNSmMG*8qvp{JeXe*1>m=jm2(n4v4EPxuk_mDT@5*(n+HgC*< zKMs*V8b0UHGu@ms?~DEj8_TYYA*G<`*X=yzT;E`DBdIJb3_~5?6_g28KVyDv`s*t} zWy~xIEX$2hErr9yp}o0&fY3NUWDzPS(G?b_EY_9nchu5;cZ*Vt4ZuUiS9rBetUIfc z7qA|wrcYxN(`uGilBoI_W*WAh<=Q|=qnn(_}x%VO-;mg zGosAgb7m{mu)XKwyf#50BR* zzPKIQ-@bWyS%W~(15#U9Q-wj(3y~vMeg^cbPu9c3%+fQqJ&a8C%)ece#C3VB! zF<&fnrESpfem8C4+rJuI4@_EV6UQq`k&|$>-3)pKzgq+H44NS^Jla6j;y%U?G zUr23pm12`?%zCwE`voj}BMT`-)&nytNsj}pTd4SVZ_ftSfLQh}m=G8=8W^-CK;2_4 z!{jTtu}Y4;iQV!6fT6YhFH9x1CYE0?1BdCkS|4^nkFT29bvO#!mqu2!g}$fyx$#lc z&_I@2+>B_N>Xx`4r|$j>w7!9Lx?m8L9$QADFttKn(?(db9?=9| z}<#`FLX=X;pykc1+AJ-O@5wa9z^9Vrm`#Vrq8=}%p z(k&F68GH@G-$AJBtE&@~=~MtWx3YQdD}^{Yay$={!`QwEruaoBT0^QA0Bf^bWxcAla#zz#oXK92izvi?)Ks4 z%7*7^-GGFOjwa4~Rgawi0FLd|!?cH4j|?9e;w(M%e{dllZ*A|%a&pvm{6Y+o+6iaE zCZyaMoGa4}>b^R+6DMC(+n=rac)mv@PA(=Tm9t;jHkMQ)wvp|%;u0_-ZzK~(X6(;R z%JGVHVDIv9ivIH2>a@=Dsa&vK@M17G#wro7T|adEJ4sp~xJ4Q{;?<~A=)ajZpCo#icIbJZE_@kr}Ihyv8})4Atv!hUj`YZG%YDvB-ZZbAvZ*8z+W<_ET{P5 z!aJ5yL{>F2J$y%9U40V<(>63b7`*uV_phPPmdEB6!CwpirUPhKYS8tD$cGQ@tlF>K zciuEQK{f2l(>Wu6-M_iL-P)>NaNJTbaCfC&8B;vM?!OwK`uxz@K^(waTicTTfI%@e zh!g!J#OeL}_nVuW&8=0EWca>DcDYYq+5{awK%j*uc-rGkfOelKn9KU@;I(QUeS46Y z(CyEALT=%4t+CqQEfnI@P5je7NLNkm5rCjPp4Y#B%Lkr>(s&C70v~a=pYT%%RU!|_ zBpO^ce2u-=Y$1-u=z-T8G!$(<5A>Ry^Y(=vl5e2eL_xd&D3)vpb9|^DnC5Adg*Z*P z1RB)aycI_LfM68SvmQe+0x_1*4da$Jvc4{zF&32VtNxGiCWK(Eyse?PJs1>sh_}9fvXyJx-|1b57q(V1qF{e(3F) z)!r`N2`}XK5e&3$zd)(fGd$jk$9)pllySg%7R_eElHX7?VV)D^9x?BgG1j{O0ejs#B|oy{qtE9 zA>V5-n6VStaqJVAHC?8AvK|F_V`Q{-S))lyM9p}$e4PC#LnQt4vO8MB-3bp=_-h@i9B<|{%p5`It zG8~w<&NNMM-eSfMLm04TgjQB3-aA#EkO5GRmDR>gQRlqu3-{VI(ByK#~ny6 zgGT%H>oabPlhr&B%`;PIr$jsI$beEr>qX*5@9*CyI|XqsI(!~@uYY4Pq|u&QWYFzv zzOBUB(UiOd17sKCbX2!>jo3`md?69|kg=%?o4#V6nHH&3Oox7@!RRa%fpw}{k~B`@ z9tCWW_x=NzT|Mc#yE&Hg9WkH&^JlyZcrZH! z#WKYo9KKtGg4tC0?UVP*e{>dq4^@dj;9B_!E-ZZe?w!1A?YzSi-$1uG0$9`4l`n8+ zT+_%XyKKX^#Tv@QDb4pZ{upBhy)2kO+68rI_iH-GZ2H-YXA5$e?ol?ujxkt_4{5>= z>h^5n1hMovg_;s7qS}>>{DGj{ayrBg#5Z=ph;$xvY+z||FKeDXeM%WhTJwPVVVQ zgLhd;6%QFu1YQvBAzK!=c1wyu>t87xodF-5Jj)cb7wM8X8{u1WpHc_jeu#~JHSr<% zMme)F;LyYi%^-OB@Xmz1h$l~iU%Ck($cjv~-{IR{^N)#H_5>T9f_U!F_#S@XnEUF!sMZe;co7odmjfuc0XBRKdyX-OKx`d~IO=*M>Z}^-)E7T&o zeNP0qb>^r5PLUoRjXzUqG(4V{r?M=S{vYMxdYN)4bzF*8`?-_)0`1~4;On@5XxaCN zf?wUfR-hyp=gdcM<=GtwEZIFYQ9=(`H2DbS{eAcz4!{8+rLc64WPl-6lNh!CiA?9; z7^gIlqMk2e-nwNw!|t_asDvNlmD%ryvrhOLsAUrHcII6)+wmWgl)q~bV_?P8(#Q~p zi%NI5+xw(DmlY^rbxBA_c)U+cXLZ|t*`Hs_e+o`S%o2igmp*};4J&$l6gXpW51*uz zeO7IuB_JcnimR7zLvJQ*#@jUjX<}i)jBOkowr)|!LJ|aMors1i9;X%Ysi}uzO-rs( zBtlhaz+JD}7kZ$A$txfnhf#7FVCdBJ{2`WX=N(EOemx`6m<^?8Ohd?uPDXkPx*mH_ zorEE(V01{El0K{AWSQ2_j!%qakXb}NFTaO^Di#mF})6wA#xN=7v%$xhNeO#-b(lFnhEbM#q5j{CIl@AD$|1lJ=lk+KZ?_Neg zS@9IT*uzFhv@J~Y)YaC`)manS+HU6nhlVQb>_xkPefP>@;BjeLnGu!H$kd`{(SsjK zTFZ|TKD(+V5MS^z3P{r5tu;oBL*DBFDLDxzZ-VKy;;P1KS@-vD5#=Y%9Q3b*ahx=o zx3;##uTOqe#w}9m>+5qEHphSb^)($7d9ERL$iEVZa$pA{y}GZXhxOF+1CO@$#?-hsIq(I6Q(de?7sk=3{ruK(a$)fyi^zWq8OE`p-${#=G?Q{CH?vLlm zWd+?{5)%`rfg-;by-xpW;MAeu>Djnjg7(J10PtM7lJatQkEM~nm}JN(H9)JHcNh-3 z$t)cW|6j6pu+owFTV8Ad4$zoQd$BG7At65dxmScVk_T6FZ&P?_q;;l|r+*`_n8Eb^ zoZ}YuR!@`xN+GWvoS(13%}92KcjC4xHV}D9%xDu=3h5+eSq{Y^IvwGIG)p>q5sB zEJ^J7AnNIMJp~#GU;a!%hf|A#BQ{pnk4H-_ioOpQZTh0g+b_3)SBqPufrgYaGBU^n z?a7#!m?~rUH6tvqpq&v?J@!y@k`I6gS=Mz*tl^efwn0cOo<=3+sh7lr8=f(6KX!6p)2TOf)%}JO|>bZE?1hFI!(W5Tr+Pq@bmly20Vpz60m0l)1Cf zc`ve*=z?T9I;@(Z$G*_c0P*ub+JGxQ^9@9$Rlu6=qYMZO_Ch@1cN|B%A;IdFhC5qDMBZL0@>Oj4+Mh&b+;_G#@PWpR&B{Sc*4aI!cONlOEy%+Tv?Az+QPffVlS z8qo&58B1C<%zj5%`^t^rgl0fu&2m7(%!zhz=}+<=^}j_@r7@*{8lj1+I1ik6Np1P}#y{4bnm`#pd4#ZX*Mrgr`YeyeNtYV%o*tbStwnf`t#_NcJJs4XR( z&)T>4DgWNs*>1qs#{5VtrIcf<{+tz$fTg)Py_qT#$Xt!N5zQh2V3?eY4Ei$`4IuLO zp4TumBU?z>f+duF7k*2O)uS}kHe*h5B&w+-2m5I*kg5BbEC_3V0X#?G+@Jx&=@-go>m!Wgd15or~ zN}*cn=@xfT`f{6BCMc3!F^+olnWlIT00OTyx4`$z&$08;O0$pJ1vS5!#W$H$^WK}) zs6FX3a8||QfYjJKq^z=aD5+*SA11_idvhG*cDa@6$Jj;*rF%GkThoV&G7 z)KNic=@8t#wb1K$Wyz(V${*PVZMeOuEG;!#YIXs^A870(4gHZaih|Jiu!ooKf7S?Y z@RHPY)6d>Fhiz@$YaIJ{X4C+z=S`1~cW(|RNt7%RexMvvaOh?>WvVW{nO#IjYCiv{ z3LqxH&z=yBqqCyTCV<@0odsXD-yj=;64lxb74EKPyT&?@EBk|Uj%6h!Ye0P1j0?Ih zVCg9!#U^<18`+7JaO^nONlZ#o*DThq?7F?r#~uJH2XGX4TlZK;&rtL)Cnw8UhG8J< zA2zw=C6czYJ<=Vz%bjBV9BZHelJOUwU*MjtU836tkCv_`)hYY&2cKEad0N_Or zQD8TL(2}&F;e~yk-}T@Amh%|{334$>_VkjVme@4m<->f*=QbXCs0x@(iT#PiH7q9x zR94lwkW|x=3llnS2g*T)F1;k6n5r@uXd$#b*9mQ=zAL{~AQOPmd$ZoY$VDX#9bm=} z9l+>Nqp0+(cVu>0{?h9ux4EfhJ0c^59U$VfYrn$N`E8#9c{wN=8a92#OpEqKX(%Ls5R(QiDwsq$J`hXaA&%`I z3IDR#JNUq*TMvA(n10xG6h|DaZ8U{NiAG3Iy8G5WzqJFf7|0TN?m^6Y!_T2VmWo5K zI@oK)C%iX`RNKISB5}jY($eLq1?JlGfb^Buks-iYpC)d!Rsbo+e4RCr-o4Q5iyKxp z+cT;Bm6I!G@~2p2)S>)l#;smQ$d~svOT^6^x$N~9^^4C>4&o&73?I7%kT-qyE1JZ` z6j^j3>>&;V64KPK9?n1g(OUGv_E#gh9tMY^&a44|d7Jm>jJ@;xTRxfu;jW1!bsBnB z2yw93R%z8$1ZFZ?uQcn^tYZZb7E)nhLS43WH76dJ5n9mYu*pTAQ0LnGMc(AhOyAIV zcKvEo^heJ*Os7lV*Eck@@Os+Ya{zE@3IyVjY_Zhcsp9ZM^}C6CJ;4pI*H5rh$5FR< z-BQ6T*aX-Q*8rPB+F!q!I5U{N0g&vx{@fTaJ~RGis)`$S#dHq96`X-aPbHg?w6RB)Uqs{OZ$Hz5&UzclF#`C0Gf$OEMt%5qcxq zegaD;Dwu7Pp7-I!(@7-X-8)RbmPk-?^6z|ws5HrdR_p#(c|}EE&-Z7wKYUPCQ5j_E zq`t9>cfSLi4cLlj-%Pyxv&DUQcXxNc-YFbqNCipW>&4cjDEP!p+DX~)R&@TKZ&)9v zs*DS)+JqiVUI$76OR`#CH+E{_uMNNUbOj{5^(8k*VaZ?{mr=H!1Q9)ZJ2$2#W_Ud6 z$7@FA9JJSpywAeXc9nCFaO$^u2OBUNl&yYZtU?C@bQn%Ml{o%Qm0nyLNkOB zZVD&>AS$_e^NqfkERPv|P~phcHBS}-dZs)$jIi)0(ceSro~*^0(Cv6@+p~*_Wo`|p z@&TEOW}mL-e3KIm;FtMe@b5Zvcix7MC*IWFWO~&2*r7^B{pJbp;o=sHru}x0CrPY@ zv*$31o#Vr4_k%45ZsDWyCoAs%HwS)cBxXmv={2RrmjBa?u|VEYWs@;q@S8#7O_ihY zfzr!Bjq#?s4cI*F%o1%D9V(+Up_#G1?GZ2OvM!&(p)dQXw6P}6LP0@cBtswyV4=RA z(YL7@raS6<5)>v1APLRN+?^P8P)trv4&-!ecz3!i)w=)9_I;kl272UN|aY%sF;nW$z9f zNIFY8<(;NlO;qDro7OdniMR>hn*!1t5umW4*W{RO-5&u_wHlI`UDceV;we4L>eHDC zfIWaLRHA1Al7Bl8xEUF3vYvfg0HXLo?XWj2+e=(R1K27^dfVAJ?9iSDs;>EOegpg# zJz&yWsQ}^HQD^#B*qq~jybc5F1I*x{D>3C<>bEk<|M2$7^IRDEMsQuoSprL=ukMYl zgEYC;>el1LzD_EYf`t$)ShnZu;1!&CjT3=Qx>Jh=DW-NpaqWw&AdUz)M+G`w0!!_FLei}*1!V`UaeQ# z;Et_DWEJuxo&}lObsYvE{25^X@YKeS@vAYf&J7=DkVs%KHmr2fH-{%H(aY;i!)3g6 zzc&EN_u0bTxyjwuJkPtG-3r!|*?Nq695Y zWZ~tF{kcpcV!s)VM<0V9O<=5YGVb$~eyC-20;-uy{A8>cUf8dwLRb9`(}=^6;k;H#lK1d~?-;e`JAsq2of5Qd;m_QiSbla`A&$np04~y$m6esRH_-;D;&lkk z-9wYaQWXVff$d zo4^v3sQ+H;b!gDY-l_HZ1yYhwU77HLG8}r7s}}ZmUGDRljLggy)KQy+MC@r_5I~>K z>T+&I&NkdXLVd_5kL;LSY1SHI9lR+P#u7rt^WYir{DUif12y+vqO|l{5vK z7d!-uFXo99O2xVXLTUcNz~FLMGidL!CRq%iN+|}8YrDlch-A+uS;stI2ukt1PY(0 zZFEBHt^FyysV?GQ+4ldFD3#N&Smu?{o6q8(8&4QMtSsQRqN|lP9>3jp7%;Ah7n_FE zL0~BS6C-duROL}$!`)?k09RG#)hBAd1D?brkMJ)ss;a8ZS9@jpo&G+`u|fyK*71H5 z&GD3K3dQS}26H!hHj)rPOy2?|b|!W;1NFrpH8lwajxAw8Iz-3Vzc1@-jLU&}`;Y@4 zw8>509zLRQ^&?IZZ^(oAJB1<~dmkMvdTYk`#w5&MyE@|^qNm{OxByQLsBXhf3kCBl z7$`t=a-Yl_yo&%=2L%J{K>o9*`R?oNhvVTGxUU=s3o<1+$|N_vwE9!Bl8OxAGj%5Bc%1(ky$IphH~GD6gXX6}PU&?R;5Llp;ZA>pbx zcY0|}X+-pLEV!-M!)oab_HF>+AXNlT$80caEpj%wF1?F1we{fyv;_^N7uB5m?Zz z;;u@X>b@eg7n!GN+@a=uP~ye+xCKfU`Yt3V;^1SP;Ctl^l-OYvLAOd*YLU%roBQn4 zY+~@-CLN$?Y9VUz#6>ofU%*Tx3^JFW7?tEBfya)TKXcsEIFSefS7OJEy}!@%DI*I^=(bqP$~n8DK3i+ zO@9%KPT>b>l0o?9ol>dgtUh#NMOsvBvxnA;cO7!$xJDrd!`xk2fD{&ym6a7wr7aT> zAR%?VM&tu%htZT>NvuZ(A^pLrpLV>qy4o3yZ`4)o~~4p2Yg-lX)(m;->^r4fa?g38PM5Ofo&u1tQ)wncK#|`{ccJS z^kIn(mh12hEC(u#)B*6fV?d8e!CAy}i1-=)ear%?uXGYe5sMIJSXKg^M3I&f`~UQd zN4q?J$fHpprymAb9o6K9Vi}-@xDInRRol&S6`Tq8viS-;?Y?<3H=aK2R((W$D(^oK zdBw=M6~OP>m97aVPA-%GM0$hiO;loS@!%gr<`8MQO89>2qs&von#JfH^;m}Sf=fwf zFqN)XT#(K$JR^Z6XJ&us9)$LRD!o6tPvT7p1{bp~BrY4^3H?FNvqoMC$;1`vnCESTy7jodgam!Po(rwY8S7?e4!dqvrP^ODqnJY;?8Va{7woFGs)BCV=jSK%R(kzL zM@O&MNxN1-en-1Q)XtDB3zCipDh@%|-gIR6I-Z`dDJrM4i9_ux)G!t4c8_7ShYP+< zcU{$&{qEWlwHIe>Pk$W$`iy%0|IbH50g-8f_nP+9;Kzgb@23p|gSC(KC7=ZSX_-1m zcb@yKrk^5YF}Sn;mVBxV;0FSqh&9FkVoeom3Q2sAI6WQaK8tbk4`oo2?PB6WuK&ev z^U)cIEBo{9An+P961qfrx`EiAjl-ewk00i0ds8 zF7djqrmJ?QisJxPv*G7Y*+6&!&ELJUsuv=G$9!LT_F~T%?gU?lrP3Z;oV8KvcPZ=V}J(O3vEVJkiLBnQcJp? zOCVS+`dh^L7WIhua7GYQ1(N8iKqGrFe*fPj#9Nr@B-pDkxuhe#zuctXG7>TC|hJvSt%~u!v#bVJ8V_$K)b`va%S^tC^;YLCru}E32Xe zkuPOHK)*dr?K(k0?<6-H_*?gWyob{!F5GfxkyQ={KH1$W8uN8j&@tT{vHwRu) zi=(Rl%hulV%xNXpv8hFN7^qyW!=&y+?h_anm#Z^ZHtr7iQ>n{A&AE=n*9bXXs)k78 z7`XTy#hb_Y*lmW%f*4gnnDJM_Q}Lz&Sc!x*PR<&}Y%*+ZcbMKZB_YIG|93}(TdXjw z(M>QU?)>`aRDHwmlb%KBZ3>{U z;&nlt+_?llw0rY(UG#G6b^5pLmbmNFKDLp4j(;Sl18MsnM-zfBI)E5RWRF~qqi`*6a_!-7c^x_LA>&k z)4b<(&^N2TIS{XKfGNG}X?EuM_!F!1=FrLQ=6p6O{;?;7-0;1&_OF6C$sv>5Q&Pmy zvYoFekVTR)boo>kHI!99wSQE7wxZC70Mj@O#MAlj8$j0qCQBzF@ieEz%NS@L0D4z2 zkV|evK>v}DM7AT4$TRhrp2T&#Wgq$kia&Xg>lLB&i6KS-k4zJwP6}o-)*`jJaE=qM zr}g1q{*fj+@fIt3c9;-G>SO&57EI;1LCk@`O0W39B%>7wNvtnfE-HA++{|o+2}APP zJ=36oUSQuVSG&t?O~A(fbF|zBsA9K2&Eq5#9ULllchL@~7rOY_Ys(CN43KO_n6Y5-= z3aMHFH!f$B^w zktkXd%Szn%AW%0ZvRY;IidtGvg;u;7OaM$5*@)(&M=%#vRK$cmB0XIVB{~JZe>l>( zi>e;d5=mTi1h|~!Tr8qVT|_hrKAqchdPu0=Q2Hm0tEA2ZdA3dptW;! zIWWmwRQ+p%Z&~9y=rPzZi!YDRub!GViq+L<8XHsJcZjqAnsK_QN9pb^JPqhNGHy@1 zuNB-=RiIOHO8W{cN9yZ!)fgQtOZj-=N50DLdN#3S{g+&Gh}^6A&#q_NqZ=7^m1|jU zW8We=_JAm`0kG>;KsT;8%Zv@z5su|61B}-XUZKNP@yH5@7G7k5v2;!5Hezp6YH3KUk0<=~9va*yQ!>@JOP&D@4WxB5k;5~YzuF0BQBoGV1!kB~W|V_tn9?U`Uo>NTKk~*`@v1u8ll})e-rlb2N|W;zE>D`zm7S?;9;}KMgri@XcLN9Fin1Xz=F6&6HLk9%!oar!#V*1+Ylzh(SY@VM zQh=Yo8t?=_hx-Xso%C8w`&|gVVBB`Ww+VW*H1m@_ zJc$_4s1r@UDs*E^5Lya4fg_Fdzko=jQ5gt!?yFE9(rm8E5@IOZdUVm8b1756SNoa> z1D=CK1I>%|9=(nc#*#R9PS(lg}wD=airOnmNja<@S7(gWkpnVfyz>|}c%4%v1 zOiW=whNPvfEp@ebcKM^MtN^H}U0q$pblJEm6Ef+6eHVGJY@cGy9;NPsj zcIAFy?F;nv8~(lK1Zpi0dIa0*!Zes!SYQRF0ly=j;8Tev1GGX*OG{Zrg-$@=yr8P2 zqy(*BqG=i!6=-F+y+KKdc9A@P?z%IcS51g^ud>jYq=j$`eqC>BtVK;&8dGl1#%^4f ziUqyJglm#V9H``ctA8e$4Xg~ejLswtdJ0D6Q4KCE2cld6lm`qY0XEH_Ljfp`)rWR5 z2Q1JyIByUU?syYlb<_b$yNE+d>Xgqb^#mMG=s*v) z^O8RT(n<8y*d>^7A81-pCD(3hi>5-h@AnRs^1c*g3V8w*&OERUmAdMXR->@%yyU15 zs7!5RML(tNx82<{`Ga=zb8g$lpK&#;t)3kVkJS@Z!dxt%k+;Qwz&g0>Flq0R+`Gvtks77!Aq+)yAjzUIL z=HnnBRmO9Vw3VNX5zQ^-#^Ban`ATT;}fz?icy3`C=FkG_WKLCICj+BvT$m~LQJ6>|{j~FIW{BMYE z!}~F3N?2&+HPC%7)*DXziz>XHvh#5X95i!#_fv&$vS){NRX?|1=>HgBv$N|V!3ega z9Ae?i26bjfx9qBs#d-TMbtAB0WKoId?ZH zYUhW?{v_x7$atpJBr1BX2slkNCtT}K>IX8EQ7hb6Nc|pV_S9^!%@^;6JKOo^`!jO^ zniBIvDu~~N=i!rn7sve}lX0{TwQJ=<_>nhj6bvG(FUZ6C!8KD9gf0WoL1PdcH;nrM+B973>hYYj<;yNxBTyN>Nz zQBSGH=*R}ta#pNs2!uxNNMU0Db^Y#IWi2JSAlXO5oE>Fis0M(7@%gxpM7)GR+(#41 zvu3|hO-q;w>D$KN-|;sJ-ecZS_V2orh!TvqG2za~-RgrE-%3t`gtI8oRum_frE+l; zHvZ4hp26w3gR&Mv+;JSVY`<%}@K2lIQ%!KyWuW-ZF&RNCS*{6g`vHQIc{zZD)n|VB z7PVD|tcBHV@u!AsIxQ)uNVd}aa+Ii3f@&8g|A3nG94V!|t?MwTsQfI-L+a*)k zA%KBO2PJnAc$o7*F-xJF_LtjkB-)!`ESM7m=by;vv6rn&JBVOg1{6X#eqSKqVfr&1 z*PUqs;*J*b;+pBg`I5>Apzu3DP@Lq37&uu>FHSDhI;~9yDvhiGPAq=QJ=!O4XIoC8Ax72v5b`>f9__h5_teh z&oR;(Jse%v&phU$Z~p0c3%H^(U9QRj?0x$@i<#h$939XIfS#%jK3?LH=yZ9nnw>Va zq&O(HC=9<+T+X4Uzx^!?1cv_LVHQyJu(DS&*NRHd&2fvMaocm+S(hx0L-rXGcU?xh zkjt=cSa3oJ&w9G3vxs?r#-|}OnjUEm9(C2BgVM_VE5P`+gGmkm> zimEEa0B03<^QkDWXT$kZZFfnyfg^*19X6CV+&RjI8K`qNOiqXL+bh2M>8550_+jjZ z``(8N^#8}!S4KqvZQ)XaG!hchA&sDb)DThw2^fJjTX zbc1xi!@b_O)?4fSVpt2#oY-fdz4!UP@6;E{p{=1LqFSI*%2|wfnnPtzE&NAa%Mr!@ zqD6hNx(k2bR`5JvcMmi5Zh;a){bX&rg_ch=wR`vjiVrsIU|yh(JkoR`alp}~Th*%A z>d&AJ9qejMv-oT`7CD25X}}jM?($buzfPNdr8$En!&ZR-%WziG)TwG?L+1VG_u9@+ zsC)f;Rhf8Zr+)}G(CMmxtz}Qx@C!_)exZP*hdzO$pd+_)i|b}He6@-p++YAL8byD~ zBlF)CCON3@K}Sy<7}<9hU+J9F$M)Y4A{841TioAR{3n`yWkk-i$Cc)Ns=*xcHAdS; znS=$mM(yvedy=A!wDT`$Tx?=rt7qH>#D;A>G8J}mA5-}6cUpqxinNPs$Yv606|u|k zI{e1+BJKIqVQZsw`wh+*T#d^fgz|8e;}CEOEF(A^wu6HlhNlfpx~kv~KiDXRZdIvB z?A%@V)qm&p#+MCii|o2tXw0UV@n#k>3`miTr!;I`SrD@`n~%A-hT^mliq~jDj4ts! zv>*~o_^Mx!V{B*qL^f|h^^FO#dc72ukbRSGnpG&Pmg3hIJtor#N4yU>II|Cy4h3>~zJS zx-3{8rH0FQ{&5GX%7wZgRBI4IMu>-1f>wg@!`S1X7R9;c8oa-op_U)~FT{8KyPOoJ zp3sPYCgxt_{}p`ZjIDj>%5* zS3A>qe)_nSZ*qeG)(YI;=d>u;PnN!w<9KfNjH7EbDngAfX;BZHC>6|9XYs|cM#UeLHsOLT`q1*;D?9%)h1Pig3ST>XCNBN%(z$FYO2 z$JzOF*z9*tNExw$)h(-I_qMBgL+>nY*=f<@7{(e(GX>q7I4p#KClSWlD_w2H&Lkgo z5Qw#Zzt00-2#RksFnhVKn*OF;p^q>zmq0PU1iGHUsOw$wSw`QO(wuHP%S-LS@nvs= z_BY{1X2M^L@F}B;Jp9Mp5?w#JMF1rZ7(hxpZgm|5Ty4hW{F(|oQgo22CrpjvN||J% zos{rHef8c}K*P8#t-*Sfvb=jPQMjAdRdvDUEst-BFhS=g(l8?VEUBvN~NKh_0haPA6#K3+U0ARJa7sa^d zw9N4*lY$!3*Ht-e+gjtM#3l;80}OCQ+Q|{DxQXYpNAV&#<3*VU80(2>Eza;)quf}C z4|#IT30JPIV}xtG%x|?Zw=*9#4JA+}{jo==Az3?7&Y|TorN#~oAtGigSLR5QOVn>8 zp**aYcXa^aR%1OqkB>^KW*0%vb>a*r$Utb(9-wHAtC-Ktl~bJ&|09c|P%DG@0*MfA z20dnBd)_n;V>d7T^b_;0pG|ci3;JaF6W`1nv|%Y+KU)c~ZWdElri~~2R7@8XKwsE$ z!e1<)Tta}mEE46?hU1#_ht?TAMmBl?-NMMB{?d5C*KEj^{O_y9+Pm|+BqJo6f0=!P z8rhi?x#_O~jXv~afD9x+cz&!PTMhCEv3mg_=a0kB7y~5UhHOinDT*VN&evHDIejU1 z{Ez}mp2D2`qNq4U`8c1+ z8Tx1r%g@;?W!{@l{4T-Iv+M^0*F>)xjYqPTLw6e9j_4-|!tYc+! z>kzo08o~0IfdF8Q`LN5K)084E*T)Z@4~X}6_Zy-aNDo`Z z%U=2ValzO+1j?;K%_4f;T%b1RCZ^EsL=_VW-I_1#S{OmUAI8IK3L}7xC2?+A<=bZD zTyu68n0dS7+>xg${gi3uLMk5!6Ya3)Ufg_Or2{L&lBrs7M5qNBdrg8Y9vkI9#RXrJ zvLsY&Pf*}xOIQ(08*VF~iaMc5luHN;@a2c`_KyJ=pA1GqUR4Z^Y8<&P>oiaFNhNTGA?lU*x|_y2P7J5bczJOruxtUT z+6{*)WBLiE=ce1^!QOqnC=0B=%lmef^eKIMrE_!e+|JSI1d$KH*JRZ1%pnO|1PlDf z-ckis^@!LH)9i0*X@CI58#PQm%Q-Wk7oq>T*yre4ZFAXcfO^y2pCER%d142A^$A02 z_ys-ZdUl`6nwl5tw*cktwkhoJPWD4Ux-k@tof1b?aH~<^+jm&FXH>IT_chMN?bg%Q z8tsnUCyazK40$7?t_MmpT@^AdKHR3{YDRI*_aO*RVxF<4H`?SW*ah6r*h`0{#_=^v zl;>ktjtVpgZ|AfU&QQOqvnF>|O~ErmyN>8zje{W)uKA$l8_qz^fEA?Rv$2TgwexPm zdSyj~#^JbsaqwD}O55HkA?A-d;kRSUQb}_qZHl`3&#(+9B@c9U?^lXs3S06*H!kl{ zpBp`|Babp&XjJIPef)lPf@kDZHNWKG+_XDM>|+JX2YUk1AD|^SYK!RPAdYb%=*5`? z;$F2!A-~YL(c+1TDIINJqD;%J|P zA)J?+Lj0Yx2IZ1|Mx+&59S=KOlUw1EIba?8zpShp^#oOX9H=O!4uqwXTDnaf@52_Qj9ba-%_)go}6eet4=BW>KTCl{4v4sbtm(1~`F0LB=d^Xxj%>2lm zp7+o6u4mP-#rJ2m+2i%gym+`+?OTFVaQ@g67U+>nhW%)YMmB1FPVHws zk~hJ#i!)}&AKW3uT4qq4w&l=o!2TRvsc8em7Dk0jO488HRDOf@OC<~2s~hHXt22Hd zsjK9Jv&zn+#m>y|H1zHp8pP_~*8AFNrCFj^GkwW>gg>xinGcOXgmh5)BV>0GZIf^c5|9GR3`7# zC@>>WVP{o49Wi3l2#i>~0a+RV&UIHr#XNLE#Ts!3E!QNcecS}JV7d^1DUSrgA-WpC zUgz?(lG5aAc6_{Yh8~*Sb()5-Bz0t}^nkPKBcvarfBq%eEEPY)VtW&7aHzIUS9k4wRRuxd#HYbHHayWa^h@KSj^pAR7x} z=SZ!^C0^L552v$(oel?#OXV_C7mDtB$;|ZKGk4JwrIK-U>N&%PuudpzV{OCj44w2( zB1kmnCAGJ?v<${uJGZ{OPvFuP*!i3ylGpFM}sbak0pWn^;m23|KZv_g1pVNYE!se&Ifma_x zqYAcYBRL73(%)9DnvhWx$Q3^-9pmLtA^yNUdi+V)G#2(m0t;9*CA^rRN=O-lq(oqf zOm!AypdC?oIiMDD>f|DnqgQ@=F7ROVE$8578TiB?ng-_JLon9(D=jdw%xK*>7tYJH z)0JjM^u!r9FD)Njzn$oehFlKl#vGj#OS0?KL5j|tW~D;ROvB?w`(Q$Tm-VNh9WhR^kc8=Nv2I0QWkVGoUR+~!dOt! zBgWnO(NLS?qBSW`9%s&qjep6u^FqQgQADdn$oGt^X|X%sk-79;;CG1Lmc|+Ti{0{5 zV?k*F%245o@@$)UYoH~fZxR!T--Mw3kXwl=iiiurhnuO7N4mR|eHN1F3DTRF$WyPm zrvq>qG`tY}0re8m1*^@vyOC@D&EPWmqZb{Z*ECiblP|Sfj*EcXtNlR~S5X4U3z@P- znGznX34--awL&K*?uVdc;m&(jttV5o8W|b|(*@6I+N}PT+%FkeGhH9_zBum9F>JXx z+8U?xZx0EdGVI)*RD%v?lUe5FCu}N*bSK5G^_&4)CexuweFXy4S!(x)bRd|B|t z0m7ekfBOb^ z+Q`w0NfupDyL}?z$9#Uygv!Pv-towxQBhX5j`fi3?(b04fa$z=;`WZN2HjO(icr?Ncm+WveUb|$gfPuBjl%^Wd- zP8y%NJ5oM&(1v2JWkdlyyFLs-KZ|_4K(x>o8~iurPEc8{UidA{Z$yDc(WeObKj3i3 zyHW-19s>|CYI%98A@pNpaR#-DbuZL%;Rq|=`fmYVV=gG+?p{=6B`s>pH zku9-`Z?gmZ2Y==ZfR(*{=g6(xvGS>a1GyQ4(loa(MjS&S^X3KEvPctg$x_*iv}Ex& zUw2&uR{GLO<-K!zO8gXkU`pmeg-hq&;(%ll##4Mn%L%kal%6!9r4Nkm2AACGHc>pA znga(cr}#5UKUm6iyLD#mzDBeyd$E96GzQ4EIe;@~p>@3eH7k4EJ?C0&)~j4) zGjC((Cr=;QuDArX2!D$jJXe+Fxd)1L$Z7*`c68mf!?DRPOZaX4CN^P7emx9gHl(SPRq5AQ9+N+xaj%N${Ly~F$DAeL2Yu)+SE6j-+S)@erFTPzQxwF5(k zEPfXl9kpr3$$yJv^@>~cJmYJT{2FByUGt4_XlJE7+!G_#8{=*ASVjdEyzDM*|MExSrXH z_QFleXgFW?&b3+rt5|LB$?@g&Znea#%s&#F<}jke!m~{_s`ryQWQP*;PLjm+lW6I9|jt!RNl)1#mrOw{RuZ*i;3@Hyzhx3nrXhfsSvaqDw%uM|)6Z zs5_fuwY$iU3dMR^`d$c(iVOq}!x3VgPucHvzd&;%^VQ=fB2ToxNXq=3$5PwKQE#Ej z(AgQ{C8pwZz;Lq7?rJPY=W;o}+4*_s@!RMITN8&D1u7s$I11U#tK~HR@_W%okM3JmR?6wT z;lxf0K>gw7e`WJeXKkeFmyRo7-ix=L1p2kAKA6(P|hid)_ zOTw?j-a(CF1Q&ZydECcZ#)QZm`)(rNU&VaZlRZWK0?kM?cLc42mJtJMOz=%3)nJ2f zZ|?y@m{Hz|IypJrpMx&CBj#F+<@xo)48?5FTgsL1RimRP1su#32zd3&U!RujWFBIH zS06RxLj@qH$Jlm~+^-_H(Vw%RcB2PZ4s^LLii`q`he9Vf$GApqE{qf(+Mk+jhlM$( z`ChyZCg{sEY|*8z`B$kCczgKfsHQq$nfqP4i=^g$hY=mF(XieO{=lI9ud2! z0|%`E;&2{RaCJj!$tM)8ZG^%5pqm#Q1#Tq_IP8+n<5F?E%T! z>@yv3;y>*QvMB_KC<_fmG*|GK#vyCWpD`0mMvk&bAl_H{L9 z!-~Erch*yg$)Brb@X4&}E=3zW1d|6!10SUV51%36wj-N}&)Im&PBme3KGQ58w{{K>gawD-Y6HM zpD?1LP zfK)QDulGB@t|735eU}3dWTL!)`n%ux-XR|kC^x?LNV8ymHFh`ZzhKmy>nFYU-ZG)q zSa#0l?MfPL%c86r;sgKknBkPr*9)s6n zSG{57Ed!d1ch-2a@T}FdTl4j!r>~O{C_bVUY+t!R(x0k>sK#n2=R7tOb7Y9k&8{18 zcRmhK$ruf$d8p`S0CotUL@hm6;4jc%#QFDon&t&}`P`{kZS_>y=WKEAhjkXs6lLsv zdD&i+~f^sN+3c??E`sP%Ib<*RJnUP;;m?oR5eXlzz~_&MwB##*aWzc`lYnpa4aLTQ6hJ zTuvke)9nB^yU7M_Y$ZX6?S5s&0CFU`wc(+Du9SkvyJj!>C8OUdw7MeEhhJ`67LH{S zg>oytRFz5n49-tZEKNp<U`X*ZJ;RKqy1}W}r=~#8#c|QT4w55t=IeiO+ z`2VUX#*=w>-g71g)l24(;dEyl)I{t=t;kRcK`vhic2W)IvVs=FtI%!Kn#>C(NdiaI zSPr!)WUnQ^MOp)@SGcc|hS^7DWutC#KxsG-I+17z9%lJKbR=Xqy~YGQis!fr6DUa5 zbp8Dd&W5`Gx;*!NbW{HUhWs5LP@EzOguZGnyv`Y&<^}|vYYuD>WZV`_D~C@OIcvbNWuPG-uK9T}c+3jN=5 zyg!P9l32kSSOpV&tP&~Mv>i^r6i1EU#|}~rAib#~3%1Zb|KirCNauQGRFPKbg7d9=Pp!RdlO1uL!iJi!M2QHQli%NulEgoQ z(}A)1I1voZE&V?ye&3@A($~$@`84Lq&PMEI_qYixARrEqW+ZNZ_4MAlEgeNu)7#Opqdpg_d<8R3mJjNcs{?y6HV%-3_M zQ~oswk^meCaN4u__-Y(n=ibQ3ZKWyb^iz`d_jkhy`|ofl!+x99@QbFZVly6R zRWlSP_f;>wO3gy`Iui;MJEuZT3H8xnP(vsl(kRj2zR(ex7!rH#^}ALWSfwI+4yei0 zR%VQaIk z{D&d9Bvct8i6}5$d&&wzpQ6c)lvg;sG;b85v2H>!H!}Z#b1C8fX+{JcA-<-?cv@fW zrX@0Ee}~}6C&_7h56<;9-u;JvkL-m`c4YTr0>v~Uq%|+*F$F18U%NUUGtPp8;cj*c z|JxlZ(*WE6PpDL_*|!nld`%-7=iB1+XkH+ab(W7l#&|iHhn5}V>iozJ*0MV+URs8^qL68`U}dboB>WdEf$3+!zy;dWwc*`#~RfDL&_5|A}d2tD5f-X z7hxsq>SC?HTcB&jvW(d!114a1%#AUPc4lJdgNclXDSn7H()F+Q8g~c)*Rm>Tyd-Y~ zT2MA}&EQwAL_O8|0i<6vjendFeikX8ZS`IbHIQH?s@A}(7)}qv*gR;Z${1coG9s3Q z+(1>3fc#VjKu?&;4eNE=K~G_?3(r4peW>K5>9PW(m%N*}g2D=f&+4InZ@|slyb<=k zRyic}&>pC@&LY9s3tqrx6H$W@C=(9OFH(6?YH`+sigH`9;=wGMiA0FiI)OWze=CAZ z6<#ny3)32CLZGLh>tX$p+ts%l$J~}N2|AXn0yiETD_Ght!}YP)Pd`cRr`lelUy)xe}?X`7aB@x@`T?}kZliuIxLp!K7*nI~kSP2SX_ z=%e7;fLX1fhh_4S04as^{j;>UjI2$WlC;CYcH9|cJu{1&o%Q8Vx>gP_X#4$zqyp4> zc&xudYfdZ6gdyIpC5^`PJcb}WUm%X!BGIq>I2-95ef@JQr7GeaRY)4iO+}(+{&haR8eZxE>Cnl-9+YJo(gG|!$ zib@VhqZ#_PHRMxj1^8Y#l89Rl?H6W{3y#P14E3)dS255t4h~O8<=M>>|JRQnwSy|- z)b!V^{pVnl{v*G`B!*VyQ147~7F-zUaOfNQIUXm`naBFGw^{_?B4nAy>lfa4GazY4 z8IjiT)@|4LN1%CXyVi#b8fLQfDY5cDc=Z7kdudR1;2t+>|JRv$GuRSW&#@!kwcvyCQgAp zoJSp*g{U$vVRa@2{d0$NX_1XDD3FL$!L$I;z~)8qzx5iY1vd zxxx0_%AeMgBcKK#n(|xUeH+<$O6Q!F5>S*IEqMXh#Q=at-{exgXyR|sa(dsVpL%!9 z5j?;c^n0%`W5W@@SRk@;OwflEqiT%5$8TJ4NOMFcV^nyT2wXIojF5yX+4$wK`jU$E z_^~1;o}|WqpIkWna7OpFC^ucgJpZCe9+>~gbi-R_URe>4uahXvW@7Wv-aa!gH?f-`S`MEhljvH ziZS={>m{JvVx*zFQ>BIf1^RP{UQ|I8cBmtqA;#4C1%xQt3>8m?qiGFgkEw723$MTT zZHYl;YOW>~p=NAK;?8OrhaN_zmo6Wf&B^O;JG{s6m4L`dv|^P@MQgr0!~(mtSDbh* z-Q);n9N%Lt!Qrp_nduT_sNmoK@K@DCig+|rCg{yZy)lR9uUy*-eWniL>8rln1RRNu z+YaAf!NuHZ?3QIpe||Xui+T9=IeH>V+6UgKu|U#x-Eib7*NcjKdM%qDvZMY3VI~*a zUY$5M6b)})i*$B@n%CvV>L||7D{R2;@h6TZrA2Yx-Qv5P+;{G$QZSi!l%SCl1PcU( zRXAdOAZ*?{Df<$&q#k5(8nejuFyGLX7IxqMX~iqD{=!w1(e9H`R{s_Mt?P?_FuQ~O z}B(;#dHP7idE z8=!A^btf?fh~-oj0#8#;lRVg@!@ghBXh+PTH>liUox|X+UuAtWk`W{mve424$1wz@ zBUNnk5x|Bv<9|h=>QnBc+Co6IN(NszA^L#Hob42oUc;XikG|etB6***6Oupa``Krp zB=?qOsi(<^>t@+;>m?;6*!1Zw(6#RZt_joV!TA`=Y3`(sf)zvp0sE>Jd#@sA+9f_z z!cLflwA_bKAYQ-GIb*J8xS{oMW?MEDsjzNy2CJ7g{w%GE89!z!i^{0U(T{@B$uN?p zKPn84$T3^xTLVpsK5Ac!M=GWR9EKra;VZV84zN1#)PSK`Q44pUn=q+!se{x6Gf1< zIw->Vso|9-xE@ZDzLz%4FbXr2ShN)AuO{ubKy)8X1L}5~ z09C3sZ)E@{(HGN`3=77Mn-ZTgOnu0Q#sO6~8zFPaLF`vos}BjTOlj?-_4@@xh4Pi8-K|j};ji;!`jrbHa;EDpM6H%kg6T;79EzJ+{o_q6F(2pyTdDI`!ThlAH8Gt@!_g~iRWC84lE^*s;2Hin-*n15IY%i8zun;h!!vfns>Ge!J(`-3ra7mSwWyoO`+8Dz{*{WNG#e9f zgm}`M1hQGg3(5=T%tC~o1&DtOg{fK++RC+{gM@S%F%}N~C|8V`+fYIXvcLn{WhA%4 zmN3?t{8Q~|?*Myub%kn8^8YZW zeBRE=aLnA=5E=0}#+)2Ua(==@>bCN4pg- z)B!#k`Imt_@H_MXkqXtVJ`L#W4)c0O)F0`U2%;i_S5*f@*Q;`WyBM$dsf*0IAbZ1( zyhU-6ZLssrCUraUj)kqAQ@$FapkL{flAfkL(A-anpd%5Gpvk+26}N2J6=;?$ADz% z0$Mge{??D?VaoVW8==&*Uip2bUH8ejlXQ<%QOL;Zt%SGW8pQK z_CKcYCfrY_)r*`UCqF%?Eyl}RtR^ALq0ICFXUt}u-a>#5PAH><1EY++cfbL|>rXQ2 z{0HjPe&^ix;sniyz_VUBrkjV>qlk+6+LE%2SUB_(+KTr~T0aNt#U08I%dxy$5fs)& zZrzz~nC)ub#^zQ|_pC){g6dy)gO_4QE)5p20zfAKkOY}QY=H3;QS6^&5?Gl<17|>C z^I!e|O)Zjrcaf-Po9}Mh+u+><2i-s4(J>RH2ax(DOPX0&()OZ;#bjI=wu(xA7^0-P zlM7g%)J=WKQg;9Ai{ZH^Qfcqx!d;m=B?vtw%SrMtnyJ}0Ut8E)>z`om3)El&fEBPV z`TjRdGgL6Q*GOa~YwqKiq|}$z?!+i=WRbr$_yA4)WuB@o}H2;kP@-1szY=R8< zq&lgk{e?;cG$Tdt5u{*P=gQb()G^|#{?4{3NoO&Utwcy?~H#1as=Q`Z;nUvX6J5RV;wnD=dHZE9odJN*9XPg)S)z}>=f=)l?W&P8RUP1K=;acv1i#tB7NJ=wv zm0PVuy+lYhWn5R`PJ|Vegv05I`Otj_z2=q3HB^WnLtjHhrz>VtC1ER zzrN$8ius>0KRY$zjx64O{9#u=i8|5nk^r|D~&EvK<{aCq<#~JIi+)&+aVRN?btCk1PHXb(3`yP@NPY`%Oy)AQrMXt z^paBtr-g>opOoC-eNj^Bi|Q~P<^MAF5WLufq7ia|O-hL0IiMEJR{}_=w?x_jMMZnE zQ=_9qSy|3`_XlrD&JvQldQ*7)og`X1`WQx?CO!@Ch9B_lZZD=>=U7FE!iAbC8v6AC zV268e=T8&sSlLRGzGfaH>xpvqK*|FEa$>QQi7MCVmvnhlbuUNVfiu@uA%MIoSwB0y zWp^n4ba3+Tw4Yj4&+$VW2{-Ds5|ZlyqB-dwOz_^3fEy5v`)(QewDkIaa*j$&HzV2n&dles8m7f&_LH zB(ODwzb>q|FV0==oDGHhwCz>W-`!9Ub!+-vQ;yU9!axhyL%kDDD_FX|C7P9fOMm$@ zj~@Q>5K(#3++E#OR*yJt^+k$YqJhLs;$dDToznkS4tG!#$)pO3kvbKTFVfT8+2nD8 zyt}((R}>K_H@p=RJsMpAb$#w#-Ys6X*U`~2bH7$6$NH?;Vt6mG9JrI1_>&z!ZONrf zjuAEEeXDEXwOp&0P2OBi#$IakQ!_uN#;YsNdIYvF%es$TMY`6Q%pCZPx##D(i2wzk)de5#Mrmmi>adAt8gtlC!6q?G3>cXbrgg=+-=M8?< zx&%K;4VkXyn(K6t@QY)@DtM`y({-hA(2=9GKmesT7>O8pHzNWwmX+|E8;?9p8FWY_u69ANlMLmBGyyA`}0F2^B2)ryJr{@@eT z=0Gt?h3HVHmi-&#ZBuOg_n`^T0sU%ZWmm_K{V&sR9XDzQo@%=G+5nHzc+hqFW`AE1 z?UUwwl;*`bF1NC$hbjmS1h4k#fIR+v3`y%LE;L%q8yd0Iz`bFJ8699$Qp7fk*Iu`T zFilg9cIm`$^^mn*?ilLt6_P9d3j|~&{RxKOnli&yu1(C+VS+>B21{mv&@zMYZRPp* zqzTjh7+Y?V=(F$8;79)vhk+_zK6cc-EInY9-1GPjViB+0ttB}UFz+ERHwVaXE@9wA zvvH-(bavFm9=JNgKe6XccP~0RvY%m2fvqD!Vn&Vw|go9GmJrJBLGByItAiC>l z`#I^yjMKz%2J*fb$m8ste_-EpE-Lrg{J9-?_vHfD17p z+i-E*H+8A+)o;|(e`Cfokk3j38RQ)(JStVvNeff-vE+c%+-)hN?3IY`{P94N1bf;B zp|6ydQGHKv{7FarJMqhQm%IHkrqOw#!%Jj#5NC5Xe#?`UFMg%g-j49S`Q>-RztUs@ zauZFz9m?^V#LB!Hx@+A%6hgE;tf21|ccO!CO%kx@mfn}+V&ZcSbL7g#5@~PE_*V3d zC@buo=qlEUPySUuLd#HSmP5CMn1xbiZ??X7ljyp6Yjk7#F~PL$31R9b#2cA!`V~$J z=}0mLK>75^@@Je&gQ6@O)uWPcEIHSexbjZ34m^zC43maDKWnStPA8n7G6vx_ zu;jK+1L?Vq9?|km1JMSMy)wEtb=SJQ6ne7<$$7OQN2qTkpD-8lkt>+eMXH<91^p&~ zb&Ur%?mY_V?3N}zRb#=sV@d&jE;AasYfRYUWcN+ZH~(IQ2@@4ET^l#{X3igD6$^p; z-HSQLnl2XemYwEKlJW^jEy0;!Mf5gF!gSO9LA8+M)yjs|I&phs!Ms*~lms__(lBj0 zY1eT})8{W*s{DdjkBU9*I0vq;ls5~vEyKz3VNc^~cWcO>?KtnCIaQK9v0I)@Z&6S( zEi4xXqJCz8Y;0wR;5pl8EqzsU37*HIwK%3`)}FaHgDysnhgrCYJdLsPP8k&{zuqEZ z)>f4YYqknr3U%8S04HyXgVaMMMw8Ji%l}!urN3__qV-GbBs4~xDpA*0_Nyi{+Y?FH z!YP9k`~lG4G`dU&x4bY%gqmXKspOu>Zj}{-)l~ZNKpq`_AsaK4{qEq zl}O2JAMLw+7@%wS?|sa>zRBLvv1NVH^Lt0UEkwez^VkXaxgexY%X`uYxC8|rW>kG{ z7t_7jzcKtLQahzlfezAxXw9jM^tuG&j2qjWh@BAQmhmf@|Jhj}u(K>)TC2-rN@l34 ze0aB;+#_e>uTljq4pJvC?5uD1IGA72Va(v^h3Z8__l9d6HLpcKzAbdoqk9em(Djaz zki4m2_yTN${nb{Ex+_?2ddnf@wc{+Pp<&iZ@del;sp<(fAz8Q#0$;y6eASj+vRy%!)hR~&^ERHEX288KXK5aOcQ4h=MiiU_2O5L#k%shk4ob- z*77b?I@&&$^G-=K*EcEPicT80;&?{`DW}X+p(u{Re)K84QrYF!%6qv$er{w1>TuWx zJu&GhNuv8-bjF4=DB8iuxxU6Ibs@AIm?d1JKOTs&frW@ac`doxa}%g#wfj#?3v8TP z4v-N-R7;V?)xG+MdI_Qxgobr{9LiRE0fh5&Jrcex{=*P5PzKO+4u0#hqAJmDMQ-V~ zzstcR)HdII@U&C3SLHecLYn-kd+?EkWzK0fwYMAkWtzUvro@CSQ0$X>y5>&Lz84hp z+g&+wv!26jdf~AVHYnVRz9#(jrFVSH$z@jt97hLJ1gc9y|QQ^0M+R7bGBgDLP;MR;k%w`06k7#!i>D9IRBJ zDiaWgVillo64pe0Y(a{Tf_pU5ZS z3t-#EbI-~G2FTZWU3)K)q~YDn`Y_D7vnAqB;tf&NpT6pt3Fl0_llWGe-j*|;CT(54 ztLL12*D+9mN5B__E`HI{CVW^XXlY8&kLGgmnNcZ8D@>b=EQ$qkiC&?)>Ru^Bs z-DzJBq0q!^X1{4QL;9TxLzByxEB`dGHfqbN{!%dgnO*`OxT8tm$Q{%x zCh^aQ^3{b};v{Z0>d4Za7rSgc6P-VHDt_=DuwB{HT0VpwW3^_vY!un3EY;6jD#F8k?oa~JCU zD&)_ZjUNN&^R3G>y2e_Be&Ol#(aaAGaXP&8w63B7KvG=$L6S)1v(Z~+@Hga*0BEtmJ0+>U455}*l}eV`)!g1Kt8gpLCD zU#OaedVzh8_{0!|P~00q6zpXW(a(~B4S^nUJ@mm$8GGK#FH&|?-GMvztqlTWIRQU6 z&-Fze)8+o?WoedSGpM2b>Aq3aY^+3(J#omoGD_IksLdL0eficvAOM_?NRPB?rEi^! zZA@aW4G{LdE|T--hPzH!L4Osl+n*bi>eZwd-yVKqHMQ~IEr7J*Anm3uPHuS^ zeinT5`1CK8qRQ}4bYLF!5vfpx(6KWo+Bw4(`wKOW{-ZL!)eD|=%1a4;sAH34S!`u{ zJ9V=)^?1rU$ui#_X>53pTjK(E)1IJjp#xAxK?tI@Qs&Qa93YC?`t_7v_Z;Nr zU9czL912)h)4BWTDLZ(`3KM_ayH`!Wv2BA8wBBSs0*~?h=S2puJQjNR?+|+U$bfV~ z^QpX7p^Zek{k}DszNfs}RJ)ps4{pOaEz)QdR1bD6_JSF8lBZv);`-Nu8rjQD)te2^ z2q8$cu^LuvjESK?QsviJyoZ~0z1N(b6tj5~g;hc|QU0%H!b#IzU%JNo$baCl|`Xv=(8#Gdddg+NX1EOBsHb69w7Hzl#V zL2cu#@}}d*Mt`OwIRX3LW}NGBQr9~81)8BRj&Jg>3g zWnDim6}A#yC~6YtPxb(<;l~1;Uw&sduj2K*ZCy|KY866Z*T%g9ncCR&Oca9JR4Qf= zouO!B*jnHEjN<@cKEoH!S`WHp-wgX_=$O`G46l zJd9cJL8(yHzat)8Pg+ti3okgC zZ&p`phK%1h@a>6J1{z83UE5|BuCbCyhBfZI(EOFim@pacFXGxcqj4eppLYrX^iS;z z)JVMk+NP`Y5Vh|fB&;NBIvW&pp3fh?308ds_;ZT+_sebiP-$=bTZAfFhL6-q>%Dx@ zxVz{6+U*$P#;5~o&Ij;N7XQDqh@b6m3gH`pJ^U0fo1!!n0mzQLjPD{Dh3kT!ecDM& zZq6-SpOnLXy7e7%Hy%yj=e4rdP+t$tWQdKg8*26dHJC@x*&5Sx1B0vM>H6ohMEa0h z=)DS^W&-SPTtpg(*-1Uf(EhjZl4dVChCkU+5r2(FyQpq?3ht-b^koT)<9{*pT<*RB zM-RWrl^4$|@T_txcE!=8TjR;?Ty{y*Bmci?C24B-@s%yr4BW$-=*dGFGauP*#dH7~ z?(Q8qbur=yiv#fH6PK9=B$3T_B)4!q^TE<7-x{u3-4)y-F7}HVkjcnr8`U1^c;u(k z_NPm0sdD3I$#~Yg;~A;2#$xGR9{Qb+l}T_>X(egg2#dA?KttOb;8HK$2pH0>We>fGe0 zzr4Wf|5NltWhuf&g-Muc=*Tr5wpp9BrF(an%)y=UJMYQARAtSQ>DlxoA^xmI&$+yX zXmbEWv0hz&!OHz)f&ZDaWViKXD+;qV-FtxNcyUq^O&=KKsxP|-a=0I9kQ5jDwEkL` zze99xIqE`_<=#)i=?wdR+!MtX@|vF@d0pYvO!tOnK2Y6kzPC$uzOp4fCu_llQV^hv z0S3XC2>>=(QPdEl$KRnu>G;ga$w|-op?hh_Bbol%RsQ~)Kk65FJs{@DiQh#0%%Ym} z^Ws)Y*HzW8dlE;D~}21rAPfF!v1;jCnKU4DN5@PA`L8Nkeriy}?v1wlG1 z6Z^htOq=rqX|>sgx2>P4`|GTz@&=M6y!?aQ? zUsj?Vq)l?asDE{T38ECX;q?hQehOj90npqq=~2?6nfaS3`HeK35w!}<_eE*rO!=E3 zF_p*q01!$xf&DuvIcXF7e?}xp2nUj8dc?%>(Q=xjtV|ks@|mm>T@Z{Mx#h&8ePu7alxa0+{D#*winlfDf|Xw}7kI=qA6fLN6swwva~*%@ zcAk%4ekG9i+FK4l2)VPqt9JCrX%1omX|DE|KhEb+Mehk&x1sv5w8aX)kz=VCBJeS3iUhog?f2Y#aP?Ar;@T4u9qM9{)zhog+{T8vwu26zPtNnE8*oy zE1nnrFXXsC`0; z!Z6ewlH^^OT0i?=PR5KOz8Mb#_5i92Mnb&A z6oe7duqD&~L)BMDMcGCD(nyPxN(=}hrIeI3NQjb>Dj|(@H$wvNTW#30Ma#- zG($7w3?VfG^F6%ZUH7j0pKHy+XP1W2fD>{r&r$vc^|>cD^btR$bs&zYp701 z|H3m4ad?=nnSu68Ak}KvuJcWowp>A{&x^HZvy8oG;|C=yth2y|DwQYZlg}}_#ueQ? z<0I6eqsC3=5-R1_$D2pA{qY`(7EcquGMKaAfvxZh_R^vc9{K?~gU=jQ7m`1fwD`9H zEuL93V$1+Q8t76n@bx1HI?TrR{`oH#1Ccqg+wdbDS#VUq4|9cZu+s2EQ4nPN(#~T82M!Nez$!DjvPx zwa-}Q<8{lkB3 z`~6CxCo~nflug)n;ShDzf(}CNPxnTN@U|Zzm1cK-KR6On1+UIH3wsR85yg%k{U;=k z3;+Pz7BuFc$HM-`FE78JYs18n_;%5K>Y03#D($JfCO#*gJJ4n5@!hgTpNtKs5r+_p zXC^c8u;k&ZC@Qf!s0frQWRiTWRHbb{juOTX5tH@3)(7-VN;+Ogt)gGYU>u5kcEhL_ zX)i6Uai1#4|NQ2|8B63Bo)H3!sGGhuvS>Wozf^{eb!FV2$S zOcBo*HV5&r7619rEz@l?sZh8`w z3|USby3;pO*Ya@-ZpEQV!iQ6b^yoIR^+cXS(Q>8e!*&ok5d%7)!^ccm2U;WRc9Iwt z0BT6u50^QBWGJF1!8HaG_!^0kkRu^D_|lpvcD%?{jeFW?grbVi-$@$Cs+3pR7IYMa z{H2c+Y={(cJyeZ&^H8oNwfk0Y$1ocdz~bhd!0l-{J9H(v_{7a#_d!k3*-W9C!0bd& zl{9`czv{n$u5W*dE2vWweiTLevze53#nVSMs1ndeF_M3vSd1@m_H~p+k)!Zxsr}zB z1*)0_iMR+K%gmYa9xqD+$xd$%Oxf7>345n^A1`x-lq~IKN4zaIEAmHm-(^6@#u;Qg z^T*8&29e*Cm}Jp?9jl`@SNXF!?y+W#1)yH#Pi0-((w3j34MDs`fvg8p*IaYW@0B~= zWB#$d^VXUPz}m0(VV!0)$)w9)2v*QZ(?<%Hr2$m;N}5;~`g6<#5FW9sCzriAVyx!` z#nQPh+XsX!geJ;|6uPvxS)-QF>bB(1KR$sYV1xzuiKIv9Bp&21nSXIg(Y3?!(c5$8 z#I^UueNLT!!BxdouJv=rwk2avOHC6jaV*&@5!b_+zzIeVWIDsgH(L&I}8Y~k-oUBZA;QsB7{8U!(#6c>ZOFCOG;{P|4R>E(M4}PAu(n#_m_qnGaG4VqY$2%S3EX z6w(`#1$-gcUHTgoR!?mRtZcyE!FVUwc$0!U+EX%u(D5^o+G-WG+V!oW*y}|LzJQWF zK!eng^r%rq-o@Onk)a{12}_qe{$jM@YcAfb+$%95aZ41V2|Do~!e%TqDRP-CmB0jE ze4Jc#B7ko*=~oVg1?7}H&4|2WtDF?ozdM9m#_s>i(dhUo@iM+BQ#*fk>-_nK9#A>~ zHmd}S`M=nz;0v&%LrORI?sWrZ?w^d$k>X*?sWXsj_}ypGj&7oRt}E6o0Ic=~Sok9! zB2624)vzv3b^AXY%(SpHJpu-GJF2?eu=H7$J)jNa^Lf)fismkTlum>gB)d++k)DJd z`Lj){IL^bD*g$qwqOjAK^MpxNIF*U!qSbCpPrlH0?Oo=sakrr=n`Y~MGH!Xo%_}l3 za)My4L2aCy7B_e1o=wO79BDg&5m(1e)CbaH2TpqDxm-pzG>K~nMSsd!?m zM-(b5=$~N=YHd=0!W!9(T`6J?iy(DZ`R_k~{EsXujX{&@@9B|im!_jsJ%!&x?3wzG zO0GVjMSK|C)Sq?5Ydp_{T3WiYb?)n?MgtWbUj7msqpy;gPgto)k|~(6J{VOIw6XyR9Wsr#H@rx4&^NYtfOs=o%KAPE}O0sXX3$pCApw+?oJ9$>2 z#{Cg!EPWJ1WyGz4yGAj>MsK9lR8jtlzWzJ_?`*h|)G)53DZd4)K_wA?BDtbelknE) zL$~ydw7O^1HkP9_Rj90`F|*Zw@pB#rA=P?DG!DZ4+1cb|ps zp57l|3B7M2oo%NB)iLM3Diwb7Z;F>ZL)+#m!9jO?6-*J+%O~r=+k;NzIhfKgtj}>v z&C9@L?5F0@5<`coABbWC7~NG<+;rKcq91#a&E`t9nm=4DL|U@@d-F_Iy2UU|P%OFIE`&l*KbSulWQ}a$D2eFY;$O35q%u4s(#7G&^uV z)+u5yCZM4a2_f}iXjb(rv-FlY|9}SAyUID?|INo2(D`HC)m?n4^Aj-}t;7w?O@Psx zt+H2MjJY3*(E|}ci%V*qg*VrnaVMz8KRT;EQQ8};?SD?45*^~GD(9g1;QBe>^*%FG zk;mISLRne9?{a8i$pKZ$3NZX8{7qTAZkHDAbL-Z%qW87G3wdBjH;VKv5f{wnNz&WJ zNglk6LCZWzfsPBIodpz{A;_0HTcc-Ja?EIY$n}0)iS@!%2=M4groya8CJ((C5bgDK zs2c4lYbpElRh??qg{`H` z&)EhsN%}cTmj|fJGt<^mF&Fy8c!#AQin|xH$Ib@Sz$nW!hVLPG8wA!0)b$D<%mD)H zlZtq{1x>?$cH@@xeG1u$!V!<3B>fQg`dpzr+aeBAfn{BMn}!_m8TtZ!txOh z`1cw2dgtYBHSij2Z0SL%a%K?G;<%--@>h%b2aVUGovuMQGmN*R*7H zAw)@7QZ+BEB~D+C;buId;z~URUdjxTQ6^{od{7bbVDMWkbLDxfplOdZmEG%P8y^1RFz3wQ8NnEL7pp$?I5mL{!r>?6#Ubb&-VS|db( zNjwJ(j|hF+d3v*P-YDUnlFVjr)jSFY=;Qs_uXb>cRo7sKs3dSkZTNiWlugt1+p4Q% zodzi$Ix&({2|zivJ~H_*lP}xm3a3UAzpGyQA$HYTbOvj4LHnCc4AOswAjWcU+b?Hb zj(dtPS1V09xuwTvnFi1F+yH~5ZA4qY62R{QG$XS~n%NM9b>bw){U)r~ck2GxN>$Gg z_<1J^bu@UUq$((;DcQ|xclZ`q4Go6$Y7f#}b?TVdDbMThDdTl(i4*Y2v5!q9)d$Dt;_#-rudUnC8a;)H#@`1+Vwm~_---X@_?~Eg?zfN7 zNcpm_IHrQ9pE8j&jcM5NmH$1uOO`Ve^ubukAP)u@lgD3lwM_}z!hj?|1+5`LTjXW? zyQ6-Vs*kgi@2Z#vp3O#IPGM=>m~7ZkN(xgQrIy}=0M5?2&UR?$f2*eS@Y_@90#yLC zX0$b5q{dN1ni=ORVYge;q%}>#^sBiC%dNxDv(G2j;}uDayv&e@Z(!FY-j5KqBn%We zbI=^Zi}(d;Gx;f#ByLHz>cerc%uux6%Ub#GZ5_L!juPu_R7M)i5G zB@>*iPogcSp4D!?Mx36RFH9^XY>JPP0Z%Ft%YpO(sMgGBz?bd|4?w@)#AFZS+!dYnFliKFr z3peKc^=>zK_2-KopCtR0EM6qv&~cmsv-+4{b`Yca?5e!ffGPdc$n$gjAo}Qa5wS)$ zc-7cRcCl0%P<>;WL8TACKb6z5XGybT~*k^ zqo^Kcg+*&UEU477RXhuyd87n=rZ@pfL74m;VZHZ-ft`1IjNQM%;m&Aaf4Do}L`1iT z%ONYnsa1b^SS|3dWNabqG_kRbq>=EpH{`96Zg(kMhL<){S52uFsJ1Noe|k#B@{W2i z^+4l+jN{!V%qD3)+U9<)3Y6q{f9z&t!e%D&3I_3D+D_5}HAW65+WX45fjLQ!Mr8oPfQDC%E>+@ zzUi!hGO^C>d!X3PUvwwwyI8Tw0B$Tg_u<;Qm#VV<(TL2Z4)rU14>~nm4plhC{>zEU zZ){33I!Sc@2sYdwgh|CYDo$)LChe9gskWT?t0p?VB{?+Y5C=svKiL=EsBpq{5x7qt zQ4eb8W$JUq1Yv)w28N79?EW6ggUbQ7y=lpt4!}XXaIVs>SH?>CNSXTNo`jmhiqZ7+ zY0%JqMsEhzgOJ^ZQdF95caZV-dHVKjYa!QEWJjNC4k+TP!08TASd~n^v#c9dmw>zz z6BzKqZL9&e8AP@z+QPA6GBl<10{8MfJ4mbOQQ{8Bfi8D9i4F+gqp##P6ol_0;u@>I zsOT^4C4L7^@c81o|LwfczO9&BBdrJl_QBH^f z;VxhTHnI~;Ro?L*loX}D=*X&nvFz(Y_&U#saS+eOSm;QY{r3)5=CzuB@=nEV?hdke z%4g-TXp)E-i(d~AnM zIPZUujAve`TmRjw-@q}*!|_-&s{PALWINyBnaNh>_RUf5DxX{`VXfqL<{T2edGw48 z$G=u`>?8+%c|D5cXu+*XV<1M*4|0+IN+>2C(b463PFxkOUyKt-;AtnDP~SOV>+f$j zVvD>~|NMSDcb|M7PwVVpK#_2#@0T|!8-#VgnKQlNBGZqY-?FxTHRaxt|KtXtl!skp zd=vY)0c)+N9-(@eXGp#p(N%y9M<9Y%A^$V8ghg)x2KxlS_WdI}oD*MvW=Q zO*rAQ6gT3w81=XXJH1L&w8_X+f=d+Jb*#cZBd7Ndx#On`*vkZHX(3MdAi$$Sjk0fL; zG00U#2+B$4)dfkm(Ln5J!ttPi_i@)YeB)wNxG>UPN#x(O)bR;&tq^-+^8I_wc0uY+ zTJD#NHLy=8@@9IEtpkI_yLm;cL`NgHIkcEiu>0Go%TthFwV0=0-FDBsBK`xT(l>nd zyJeqTrLg}}U?sCWvG^VhJ9YG)rBt3Q+m;sPQNt{a(gj5Tm)1WF&w$ZJ@c~#4*~?bY zx4Neo6Aj^P30HEoiFg-TJ~%}Tw2(0?bT;4wwq%z*wFlh^3V0_!wi9%7ksrkUQdm3~ zf^*~gm~cDgw8#b{zv9*9T$vp?`Vy|WgLis^nR)nff&I0kI6%nMk6E7203nPS%D7j| z2sXNR{HVYwL0Kak%$pP~`4`Y?8_FX_(9PSRGce{ZualAPAityaV_0BI0t2KrjsfyJ zw>qW0FjDw2*-Ya}CiX(!Dd;>4rszAAhh*LYUw0Wi*r(J9$IL)Am9%vQ=`0x@;CdA~ zI@sTlJ^z}ZvB}L8@;(~r|K$6l-*E!CewsIX8K304tf`3+)?(FkhPmKr0v59JjRW-+ z7YT1?NY*R)tLsFznnlX?!Lerzg&hgtJD31M;_ZTiVB&Fe4EheJV5Z<@ z50A&Gp)*OxmYo^H)p-qX=S-_1!|n$--HQGDaQ9#*FN^P5W*yN2yuTTEpGPi4>SyrI zm#|(_g@8W{*5ooLTdhJ|2t}(6=r#FnBV(anJS|U>wnRUJK zzwuT`ET+BGrp1-b90POXn~AAbiMurExIXQI8@3&@tMK@W4#827DH`&Np)Ech=UIXqBQGx{Y{Y38 z&y3fPD?DA1D$bxBy5(X(103C2DAOH^)LMJf6=iI55to4BmOYY`?N2A3$vA$UJxA-Y zFFQ8+jjDdVB8^!FtEluJ#axB6}~jPg^hFT;;!AtNzs;Sd3ZK1m{J9Z;S&@^C20!FFbx0 z&h3i`W?8{wROT+H8V-GB(u$N+r z6d&(jc+e`r$wh*pSHUw{Df8YmK_(FLk*KZWV|1oy#Le}I_SVhegB!nMF6v|BQ)Kqn z)f$@yT?Eq7H)R>Bshcf&qKy zc^251z6%w|wcu8b$3Ux5g-7nb)%IKBTT;*3eNv;wk0BJ#I_zX*kLMzrcb3x%BacP< zygg8WaB|sD64`rC;0JI-7cnSMur`XvKhdd}a*ehr5+h*I!QUNfxbrkQ<5BQ|g3;-} za`~m+2Ujm7%otG=W|9KW6;1nwaa-m*)e2VvC}1o;dUtvXDetand zQeRj~9%C*0+=e}861zFHp$Rn6+{EV zG^2gsvTZ3IU4wJ(b4+kd`}W0Oq%4D5r5rJ;lPlWm^FukEKdw^AYNhdo!u{L#WK{Db zx0K03QXXGrslbW?=upMBNoFs45Q~>JI0;3R$JWBV0IB~f6jh>sJjQh2O_her@32Hf zF({1>Wxm;3f&%YhsRcx(I^j3j&PQA8=!+xxm1@z8r`c(hA=PYN(t%%?HJQ!Eys3nR z1nB)#CqIp@(aWGTmj_ydPS0NEk&n9;q{w1RRU|r!**65va6s`z2-SXhj^S6&i49}E zUnzX*Pq3iK%1&K-6sOhj8!`mGx$^=P_~KcSyvH&Ijt?h@SMP?~c_|IFqO;Q?m8aSR z*$2eY7y`fG917_~j;JDAP0o~Nh6^4SgD-;nm&+ez&>`4PDr_W`8}i$)i2I>NMuS%F zIm_U@;sp(N2Y+G}xKvMtv`rLmt<7=UregqV`*3|(6Q1?;WcW#pyCBdh#v5?Zlt(#z zr+P(jMWu*~2U&(US%aS&6-2y>fBJB$(TQfh#`wElBU2XfzrrnF#q!ob;h7E!LFH=- zKQ5weQ{qA7EHUqEK|eq4cqdrZR-+M@urDsPEZbi` z_G}$YC>~3{g~V}ELa%+>ybPkn92&{DTSGgy}&{U!ohLGk{#2uCGoq z+C+g?sTi7IC6s9lwc$PzbRb+{fdh^18Ym0M4IAK^%dTd>K89afNHY!D^dIxf@j^y z2|WLYsTFK9WwDPC>ld;JJmJ1JT2+Cy*@EV?As~??-u>|!MM15HBgLGsBs;}&J}}jb zjzf{;I>g6@TbN-#6MAOwlv4WcsoY#Ri%fS&U$PHi8T@2avG!_H~tO3A7M0b>T$|@H=j0<>U?C>Bpq=7f7k&}>U14KQIgDvQeNaAt%QphPhTY(VTf?KJQU(i6n79wWlOR*o@cNo@lMNDB0o` zKIkuC|3n<(4z0lSIW@urc@uv8L@^a)8)rYSB}j7~p^%~v#?_tg0G02*gW26v8aEKm z91eue-1%*QOshGxgabD02#&dv4Q~>i5*W7rgIKv=bA9b(g6R^a1jE~TXWA?tBw)H) ze{Y6(7Dl@1)dV^+7I6X ziQSEB_E6dA->2u^_KKOO;xscRkHzUOC5(!`+Znj+-fv$m|n&`@ja_Cu?hGi>GT)gnoM=w z)jI2g^~k?^e%+#RcHDzS5iI1*g8aA&CdFjdtzBj~6yyR$nIEYZ2T`#ms#1`zPh$H+9U=Bh>+B5uIN!fGSBhB1Q^Tyy0+8O z0|);A5a^l#x!#UNX-s4i%yeWKE2oYeZ9`7E0PYwd3JIEa+UJ4J{gV2yE54k{G}>SOnTCLO0LnI{dg>3e@e@iP5F#pJi`=hdHHkOUZErPOoxPSe zx01Qu-#=EZH@;xBNJGy!k}JA5B!AFS2u^$>i^q~FCM3|yaC5zW>-a8!%#*<0p$YXT zE`1`mIi}V;=|4xzfMzcr{cWD&{l#b9liu@VvE}Os()fM-=n74-5dd=oxJmre!|aS_ zhb3j()6g=3ye9^aKN3$(ANU;Om|mP~!hEHuiG#^;WSN!585F5XV&m|?Y3nVqW;J|% zcT|O|Um)=o7<@83T*gXguohBe#gn!XFG%Fq?}!)l;36`lPbef__wxM|YM&{%W_vGV z!19owBbbLHv=vSB{$i>|Ms)~N22-s2ydyq4V2YWT5&w04N(Y7yR=oy%>xm$JP4;Cs zXU9=1e0>i{@Wz63O9pgH=dNJti|6c3b-?zfp|Y#e6CbKuT5Hz_@Cze#YMCzzxuWk0 z7q|)AQ8wQl(GH?@>?6yJjR^tZylLuO6Tu0SkOWh~lP~zEf9&y=i7`wl)!9OU(9uiG z>lF!)=U<$w#kf)i8gaoy0aE*_CDj$_3783gpOq(vYWoic^k2A=YhLdRNnK@YY65NO zyYoCjs0`4`wQS&6tS3eO{gGqd^J_7pR_ihOdoj*gW7ql3asD!O;bmtLuQFvw?;GrGuRg$D4X8Nt{$vySAkl<`NUV?o&r9VpKH%LFR- z$@b2y(f4>#|Gx2`06(C!ZifFDo>j@7tc)!R({!)(@H=JGb^02=ed>L^Vtt5ST`=@q zNQQMcTLU^Y#(?dn0dNh4bZRK|%61Xg)d>v0LZI8$$>shCodPj}EF@dYASj>PNt6(f z*)k^uTsO;z0X1u3Dg78EEW%!6g9fB@+28qSi#?iQYX zh(t)AAa2gfII|D;#1#RY#GNv*82^hpK>XAP$0X2$VFBVEOod&$y=Y|7_ZKvNs`_}% z4)KtS(wZf$SI2)0({KNIG-P@iWe0yIIQ!Oj?&OyeP^6t~Iv&-84`R{^oiAr>JZy8G z+@J_Mu4PR)B=bs$<^xzR`m|{&KC`G2GAg)#p1j5N=i3GDb3?`MMMikya$?ynmx$kq zSI~8F;(dj_@>%leqH@WUfdE<&B8(=-N}h!1^U)0OwWQREP0jJDsh`++(C*)QyEj%d zHZu*8)$@0qcy2v;wGCC>X6L_2f$v3X63DjioW&8&fb6LwjTCu|^Jb=j6WCynJz20} z+Yk0Nrq%}TypTDdQlPR-7bn|S{x8hw(L0({HlE$A)WGj+Q!GvP1~%sHKppQeWNU zvZ|{AX`9RL{2QrCXVXEdn`3;3-_Cjnwz=n-qd0*tu+^apEX&Xs(^=62Fw(=$q0(m3 zf2Mx3)6>BZ`R?I@0#YYS##!oD1_aAL26HVCKGk|=1scqPJoIC2m=dT3jXZe7YB`zw z>3QV4u&kNehzk#peuJ4WS>08v`yw>O$v;!d+m@CV@S}f9tmTQi#hA zkXcTQhws(*LOHKSDKyYXw=T$)!OY_X8q_RjNo@*bRaZrJ_d!3Y4;RodgGQ+LQO;_y6>ifY)7 zqE;G*1F}5=1>xmWO6SEmVn=arBTq@0mdsnEVbm6MHP-nnQzRGnYOrb&RParhJ81V@ zrW1@N#%6P6XP-f^I^Xxc8+O=HS2~$?ZJk$dmU&kfeJ^uMV3xvMrv#jMLoym0hWXDV zZY`?XqVk0ipK=T*TC0dnH#kqhz1+%H!^+y=R-^`nxP)79zAkr%)fn^7YkHBURU0V) zoFl}z0Gy-NJH(lu214Cj)knj5xW&LZ;%QKR8$iLe>3ZrzHZ0EhK17JV+ zUrmS10oc2YXJjId%+Po5p1zau@ZkH5TFYyUo$Q#j-P(uYU(U$w1?;*KB_v4b)TMfZ z7ImUc8z^!rx9{j?s|}WQ0e#F@*Q4Ej%bjB@(8_l!UZTXzniEWZthQr+*#g?$nFA)j z8HhgASK!4O$f%aSUcvo;QGdt#$}@oSEiz99ADzctk7hZPmH$nd>jLd`<&sb(rjm9*sA3Fn>N2W4hSu zeX~83BRkLRCvK3en5GCxh96rDc+iWat9Ol+lNgdW7M6sCc{IFM?WwDYD^b0?yI%4N zKU-_=ShIlBweSyg9a>X(V#$A<9U%QgxnuwOJeXJ^VN(srB&~+zx5ap0&q|g%Yjkmk zdT}!oOJ2rNU2AgoR`a8(s;kya!6!C`ZBAQF;vV^j>qC$mjv8>_xgHo8=;)qC2XFbT z*YwQ#a!YAS^zZP+{S?~*`!6;(7?Hf|%9;DSz~lU%%+N7q?Nc2@$kz{6l)hppqZRzm zOW(a|bAyi`oAFl@y`ddrOX3H!o#n7IY}y*Z{v40QERzm0zS~oKQO5DYy*%a#cH^Qop@>;ipmdhI8@`h6lwD>(VqY73OvVZ&$R^@{}1rl5d{%laO>`}?1qR&>t|ub-uWK3 zFFFIfbjW;T&5UY=Mk*v&@%&wC4~@JzYIpE;3GB&bHy(XK>2=HiIsI9A_{y}|lLU+K zmeEhH_sY)V%3hCiK3tUqAK&Zy_2iiRgTIn1S3Z$; z$1&kT7>LY+m+p1lg1X>5R)AsOC@!p4Y(mb0*Ac`WU+_*Dn!BPKYPOFP2P|cxTiR<# zq*A%<-cJp;%QpTWj6Omk&4mB|q5RGxX3{f#2czNWr!jz531-7vf2~R8X2ir_Z~Ly2 zIUi4Ccni#mF!_nUO(VRyfAJIZiZ0y@Anz~!c`?p)%4gu|HBEa>5DkJ%oU--HcH+P) zjKD zkXokk6Q3z2yYPl$zZ8}4>(e=?MZi835sx@49D?m|)A5K=i@p1fw-Nh1lgFX&`xRI6 zB06M!&e7ZyU`h}EbJI#5%YpsHF4Y5>VYva9Gmvfr?8#dP07~7$_1nOF8S6mzRFb9c zAS$p874CSOrCR%7L@%z61EIq7aYg&#C-hjGP<`)z|9aNu&Bu5VV!(9&?}4|HW6Aya zUG90m$fY~pCdKLljs*^NE@XEdRDPCiu|R{KJNpy#ZcEIyPsM5LEK;ogteWl+&zX*G zaBKD)L%rZ zM=sK_R9BhpH7HE(e%{oMnDx05eJ- zOHzlkOnCI;n&REOrB#wtpz00fP5tdn%%Z|v8!WW@(_CNeKSq<-Qb|P&JUFedsc2-( z7z+sGNf~fZE=A_EIy_ls6ao_K3+w3FvkMs^Jv-4wNY(;q8TuDAyW)h>zqj=5_Lm^w za`}l(B}}U0mY7ABTm*Fe zz7n$m8I_JOP7&99np)}2N1n7RS`-pUaL>amTC}xA`woFP1wE&T8L0_KDHY?lT)(cI zbHVcbg|~;!_X1_FMpA)AvB3_8gnD3}=f3~V9UDqd;LwdR>ldsjdsim#<9G}H!+A@I z6{*33gkp9pMLW5H#4L>AFy9!EZeAFXM;9rWf|j_%L8MZYugj9e<4ti{;?^(n%XBKP zbieaeF2gzFS2qqDaux&Ak(hzkmft6Sv^a7zB29ZD&;|`x%&(VhN6Rb&EJGD*^2~r5 z*en{O4b*JjzA`!{`{VkCsgK>Z=CTrMI7@A$KvB@FMD-E>l&6uQo$l$wuSO;aoIiYa zLgkI^X|<)@>rlI?{>O|iOzB##Onnu)-|^KQde_CP6V|`#@+g%O>=FVj0rH(Lh@Uh8 z>)sF*^*|AOZ`m|8&*E5B`ES#i3sFJg&v**thg){kt#;_~eUMBbz5ceK z1UQ{2y2y}`${3c^0F`>ovV3M%e$lG9{ck%8SE`B{^_R=M<37V z0R?3EuEaa&_}MW}h#*IvN}G7w>#;P{$c#GWaHoMyi~s&1<7Qmn*>SJMZn)lz?ojl5 z`a1I=^IMDx__IvNr|PgXA%<=9QKsFs*|SL|_;P360dvl5U_{jToSvmeCX^{v8Yy>9 z(D2{q*}8I-O!^DP6y5oOZ~NZrgYIj=FqZm1fdpv*5@hBElLd*kRcyasOI>R z*w=l)WWl&;?J3>|A0ggD^x-<^zuutR=-inaGYpv&w~tuj9g!;+ zXOmaIPsoeIG|D?u@lHZzJU*ujBfLbe%MIlFaiqiQ&kt-5t^V&x<)|doLCRE`HVXTn zuDH&44TFBdrF`pU--rDRO}f!OFb-P1{g(0j9ssQx)_!_MroU}^Irg66s(+br+}kVI zU8P0ByYW5fBtKtvzWdMYKF?c7mi?WhkOhLaVbe^i`I+H%)-TRZ&g25~ z8xIfmZSt%o8(M^-H=$@Y9KiY8suC)JdwHz%9IIr==WjS|$ z_K}l^|1R5lF<>#6R8!J!%dy|7My&M%1dDlr`&XdcMD!x^KH}jhcxwB4n|McRd9VI- z&m~O$(y|?4vO?ZsJaT^(--GK=o@)BlGGEf5eY%uVdQjQ7p+eE;;l zygC;H&m@!W_~(Bro_~KRnRzUkd1y;E;Tc9e-O8Nrk!0S}n{%I+UVK9?Sj0jYs=Cm~ z-NA^P4)54b>bsQkd2qaV{55_<Axt{>)f)!AJl z&+#95T<3S&yjqx2FTe>DK#A|(rf+cnGX-n`zW)4vw#vADA2%N>{G5LBwUfk;1dpO2 zTDvQ}O0e-9LmuQbJEcTRgU2?##_4L!0Q{|f>SvwGJ83+Wt5NCd#-BO2pKxh!V---V zW=lV~V4i}p)q%taucwcm&)jF-N0*V7Q(gQUxz`6Y*Jz87!W2yyj2h1a2*kcLRPYiY zo{+dahbv`vQ9oZ5&ZZ!`t(|@_5{j+9ZV;Dis)*qp6;tSNp5T)6&TKWx0~EN(uZtKV z@qF&#N20TP?|TLdajwO2TaUN!Pj^2&JGW%&%g4D9K}k_Q{Nc6{%n)J<_?owu=YD!C zJjrYx2i_~&5$eX2BO(#6l!IAXun9)yK+=!*`w&D3w=YqV0-}8Ma;S_;-vdUL^GJ^9 z`jMWTKT}^|^M}KxVlF?1TAT~nU`UT~SrvvH#}qFJ&k%qwx4%OExGs`4(#V{Mk>?Oy znIpyOZqHUIjCc@z!Y|B@QS9M+wF~2M0xU$)S9$Nh<7IsD>*KmSp7AIOFwVQ+G$>_( zaCFh3F3&$PuKu}1wbG!67q&cU@8a_n)8A+_^*sr3{^N>y0%b7^(7{l!$yv!1cg!*qV(_wNMO10P4?3XYD>f+Wx?yV%AK!yVVT&U z*&+VH{_El$6o&WvT?6Cb|3eq}NM`LzwUXOnY&cFn~v5UjR< z#!u)T9NV~e4#V{eyh)>!qHlN!2m&W}^n=sH_p*-`IYz7DTs-bbf`{Yi7oU~QLZJCFJJ4nDM#o zC*wbzy`GY)uPGqq`3Vr7pZ%>fZ_T#wt75)aBCFYd;#Q;)UV#zX4ds(iozo!7LKZ`+ z030h;u>v_82?Gh_*;+7nnwo@Rlbt8?cJfRyPCN5&lC;*Q;&Y$=`bECMyo`MxrAn@p z^Mc46=aP_zr)|e0%jAG6q?F#lx_k+V!VCd>&niErE=h)QA`9_O-|5~ge5q#-AFG+` z=}Z;g_o}K+ew_dPQ>vgT0PzHQLLh6QljK81_R=IHY*m;Im_OI+i%aEuTc*}gt3Vv1 z@QRB!;Z?8r4@_)BT=4WXi`CVX6leDp>uV`wi37^|_>3>ik zEol9-RIPGvi&1dke&l}wnsQN;V7!>7Y&9>e`0fusnMIZD=q?N9}ky zFH|8oD5sXpO}``g-u=kYmF)lgT@i;=$#C_1pf{2yZI@uQ=y25WqY7{|;Q<2_?QjCg|K-T!&5=nvLbR{ZhnA7oUKIP~jiDVLo$m0@R=ZUQoo*MW9CUjQ-S zC)b`Yxbru}_^es$Z$yUaMYF7M?Fvah+1E0~$dC znEK!e>pl+0&i$4`BV1aLsmi;5_)9SP&Ffq%&j{ctfPDv21A!@6EuOT&g5rT?3MrgL zLO$N5THXm?k2p!WCbgBzj5&@?86$yg4T&yU4jn|>(x)yYS;O&kBq!3ikXWZzSbD z+=GZ-g7*}yCfY9(GSF>e(M5YN>?PyZxzf}e72#uwT)zWw2zUO?oOnMpMm$8e&O1ME zjirso|9(dnen7+G zP|d>L4<@MQdX^Q56-F*O+32B2n+e~>JM|2N2oT;f{xFq9xzJtQC$P0%+m$*)-`B;L z%EBMlLzw*d69Dxhzx76UizB=5WZ{G-r_wp{f~iSi39B0G214Zf@{bS3aQF*W`m9Y% zZ#?M_DrATj$s82WsDp!u@wM>>T{4wFFm%7B!tBf??D(%fl-%XVvn6eZ)uK1C`H+}_}s5M;snP$73pmu}54kyugYn60siz^f**S;nC~m&Rs4rYNO^) zcw6^6WMAFeGPaHa%7yz1#kP;dO2}VO{bsgG8ZLVjezgt9S1%Z{IP5USl0 zpGWfgY!`YBp@Lr@$KM79>IIQKTv`k+Oi#-z41_7U_IHJ#M5)G$(V@q2T$AFA344qx z4^A>*b#~4;=+O9nryP9@S%abHnA>WYN1Kn!oODAc$`Z6=}?$~aLv28dIo9c zWj!oE?x|3i#NA|CJwOTiV=#g%}~)LN!R%_|2-XZGPbpy<0iI z?vO@WfdT0m29S^*P#Q6io}oJwn4zS*-uwCf)_VVed(S%OIZy7r&k}A2$?jlRVLeGT zd`OLkfH&$4vDdHNGkAWk7}~BZGPfQ}hO+Y`D+XM~EW!Uuf`_m(nA~UhK+Jq(Gvq_h zw^o`VwahAiNb!YLPhn5*`xs(3YJ#Wp;McdL9(WRrs$4M{J=O3Aqvs6Uf#BomBa z_Ti8f$74CubXs9@_@3^odbC-_4~Rzt?XZ|~Km2Sh*pF4BN%p_=l|c!^7Dy$o=&2T( zl!NJ8;ak};g50)HGmD(a8;*2QIw&wir}A~+0&hbwa=kdq-D?_`_gju&wqj*f4;@zt z{6y~XXrOdCj`oGM((sx!k=|cNpC&89VSe$40TdzR!_6aq1pfUmfEV(`*__L{xp05gJ&-SAzAn}ye4l&|kW54!L=?sovz?jDc?+KUqK+mnyd>e^F> za-6Kj)9R?)Hov$tPu26EiK&Hlp0^5H3~Tr%v&YI2JXN0F27nOxR{uGmxL>H?cB|OY z7ou>@$&fJ8ez!5j2F;ZktYld`*eq1;P5O@q?$i#JOR8imMT)Zq5>ZXj;gG@a;)ZiK z4*~0V6F|5HBj}{TVt?X8-fR;f`PZml01iE3V|J)og`~6k!Ezm&x^In0P=ww8)d5MU z*mWisRcaqrI|ez`FC`D0GrnpP>FZ^(4kBpS=oA&XKIFiYcK~>qd0_brrg(Gp6~5qxN~4XKekdMF-ljJS zmooXCq}KEUaCD~uofSi!#rqoXKPwg{+VtRtl<^cebv%YPEJxubox~O^vMWircr`Nz zrTww?ZQ@Ntp-F=a`IPC?9UzDHPy_=3aUlMldZHX0?e?Kao9o6>yeer)SPUGKmi>fnrFRQrZLCdPSWI55$Iv(n*IyLrq3EX^;)Ky00 zU#&cY3egKAzwD#!uhBm|bOLYvSvqr0VHsx@DDjNh&r)~h;njKl-g2c3@%Gh|~Md6w1oPUygj>l|L} zK09*Qmn{-#|MT#b`#jn#KQYER`GkgYK7w!3jd`)k$qGwaZvq|^QRi9BN%>I^2T#b! zl!mOZWPJ<5C&I3mGVk&(XWe~e(Tz00@x@Q$b+#2X3uQU62*P*RE3j(FeXkaEISx_6 z(q!qr<*a|iUp4G#bTKWBG=BNUVnFSI* z?PtKn&zVZbi)H)#uN;iu&<;91k>#OiTGNEX!dQNa41Fn4e=8vp%4lGv7hBt`QXv!i zrmi)g(2V;Sb~dkPco@O3`>LDXsAK5VO&S|9mBtgHj%vQ-s8XDX>T)V%`wP);N79N0 ze$8Avw!*4vzF+$P$10x0KvJkQo6Tm)yB(DPj=be7B4yW=o9hlXx%C%uxtxmUxO$qt zqg~}Ks(EF8>rV=8&4-S?*z!dsE@c{Fxp;`MbX6K>&FmG1my!eJ-O+fb2(EWu)?UJU zuD?URNj~5J5e$0!b>_~hWjyrz$Zo{yV(d@rP_Gg=S%lv~#~kB(k3fWWN|`!VQ2pBl zgW<@(Uj_!5>Qu;H)n&dcA*87vaVMw2n}keLdZe6_08jXGByGB<#=K!#$;vjHfDJi+ zT#+^ftW|}w#Yl~MnYA`cxc$G{Cr3ibyW5J<Om^_w&@49aj$aRgi}MxG^j@S%plcuPd~~Gmj92pbEAg=h@}XvI8xJ_C^8Z*nCvp zUp6(8E%5?%-5u+m*}hHvgaKSn<*R-PIF1hs&zs_8&i!%sN9Na(??QP^A8Uikg}6x? zpe6MFkv566*`p=lTkS`6;n+M@5|NIial8ehYu1VmIn8fU6;*$p$SaTUB>fjO%mBvG z9^#{zu2$tt*vbu;qNlRc%fNfg;9wVZrynDu-PtAmYYY?DSdNT_PIv~t>NoT@&|P_v zjZpOQUhy_8aq&yHifp-0a~Z&-xW3m1S_xp0Oh~8fwAKcD-3s}6+yH>hR>hQvmMc^N z4_$zyWB&$_n{9FCdKvip>MIYE8K=0J7W!lgCMulmiq)N`A2oVkCam@ z44Y_Kn+=JNK$xp_IFW7Bl&~Mg{uDHKI+k`#95!_EkQfz+IK(Vg`0SF-9a643%|Y!^ zC5I|KoS-sgU(}<{#d|Ic=RE)N?E;K|W3BbT38L3sTGDL9^Fzg)M^GCI5OpPwl=>6? zQ6Aln(Y%av+sES&U}6m-qulF+jUB4Fl$wGLOcWjX^o@80V&+j8`%eUl z7Ex@$>vB95pRT5z=W={Bm%`z@sH9=nq{cXB-4MTKq%rL1JV8}TaO1X=sK>jh(rK($ z;t1#rvz-3rdR@SE%HmjNdxoLY~Wetc`4%>v8@CCpV(HS)G-m^#31W!`2MKf(rZp(vWk?teHUe_-8e4%cAv39 zr>vaxX6pQ(Qi@;nAu0~vT!99YKn?BUG$#?vu43V4rgZwjaoDyR`vm^Q^pm;2)+1Xe z+n>tF8Os@uK#G3yA(AxQSAPj%js}1sYO#xLLe;Oz=DAp`CSMAH>Xej1QlbxpUOy&) z-f;Eos8cLk-k#A|i)@NY`(6u(!nH3?njW9yFzjhggki3*d~-M0E7S8^b|aUuKGA{l zAq}$w2kNsAbk@G8s|wUgP3@1r&D%N3xo`_q_^Q{;>I@$`El)*&Q;O4X21+wxZbQ0| zws9X(0pIS|?$Cpc?B7tgC*;_Ucs(Z`?YMwwPZ?+NFUKxb^Jn#KJ_9mq0HZOGGMfd= zUFr{~wY*Q-y|RpWL%xcFha#r*Nr$RYG2G=JY}itt&by5nJDZg~X#$y^qM)O}jLq;`I@LXp!9 zX%5xB?ZyC+*vGhYMV~(9ykwN*PA-L|s}Fo}@n~Xb_rAFp>%d*nW*9aN#&;~j^_uTf z!um7OrBE&w*CvYaQ9an+EO(akV|9x0cYnlV`dL3^1Pj{Z2t?4dyr52#saD_1Q4Z*M z7)B>=lhXJ%8FjB*`tHo~dZ}Rml?F)AqyB(1nke>rxuoKUXjHJfBq%x8(a zEoEGclA(Ds2|@ArQ=%P3s`h!VIvnPtsDrh=#Tu?;RC?q6I8qgfyw9WtmOGCJy4An> z2u6zjOw@p9hO8Q$H~+eRJO?sTd*khNxL5tj)OpooyGccaN6I>(7UQ#*^Sa-VoaIdVg4sEy#Mt8gwo@xZXtMEGpD$ z*kgs2K&duVhit^(u?NW6`sp$$Qw^U~=!lj|BYy{yY~=u`I!9%)kaTx;`gyxFgp;wD zd4aj=g@ewZQr@3LmYht)*A<0#|CHiz!hK-!KcM)>)R)0i1`8w8?~3B$FgEa#`mq9a z-%<&5LH|%~6i`B2J15OfU!l7;#HgDJ#a00o$){iG2^jY@${Iak>g*Ei~I---#l zV!DV}%MV%VAvw8kc1Swvt4sjnEA17*dVU{Bt!-xgfVP6Ht=OVc7}UJYQAg|@gnWy&=BAH+~!9P17AQxd7f;+)i*|5$qGcfn>?ag z?KA}2GN6mA6Hx(rB}|H-lEaOJLGH8x4fJ9!Z+HYIaNCZ)dds-aGjO~>*g?`+r@{{_ z1sMSZ&*38W1$2^et_w=!4bAG{yC%r1;{c>-wp!U_JIdEzE@Y&ZRIJBrB)NZ@Lz!%~ zNWIUY4R2saI_QtP0aVFsldOkg&Bo%W+gR-|`bgU>@U+S#4)sOUopPt#Tv z%Y2&8s6Q$sZKyj26aovF98xp;oDfM-k{HT<4^F?rfkb&x5!Yf$a5h8@6y}`oLx~ik zICLy3Q})uKU#urc5AF@T>yBnP-RbTv?uW00Q}8rcy=YSDsFK1)96f9MwLmaauEO9@ z;<-LXCahgUVU@%A^*FS{tK`=LJm%5d%0yN6^ot`73ul=*27ms=5MDw|+AfsDm6AG&Up*!L} zl+N1o#e4$Z^)QzTT_e2_G4P_SMy|R9b0eb=5%gW%^RUcjrmBg#Unj*>R#^4}KJy=K zWG9KO5_ijDhSrn$?1RB8^N@eOk+$E#BJH?<%Wo9jqP}vbE=UmYCW8|LDi+Zr#W#3! z_%biz6l7BHN<$`Awjw$tP>#Rov$z2r3zcLQA~1(t)eV)vCn5rDU`cq}Cgb&$$Amf3 zYooR&0I`8M8*2mZN7Rs#2cII5e>kh!?70Zn%Mb$odUs`#el%=?u4#i76wM=&Nz&qLNOg8LI_-;1U5PNhmI zG=3VVMrW5nwB3}E*xckpO6#Z@G9ip3?IDwTAA6A+NpLdApd%0lyW!~Ya+~&iT*$Le zvyxxonV74K0A^ZzpIwq1cGKUd3@K*}5wR#zlrl*t2b}Y~1z24OPV|{XTvs3Yn0wVF z_~B9%-n#P97k4Zd5+G|wAAjdMqP^5Pmg-TTz;UHxD4sPmLaban_DUq+Gmi#8w6dF} zzhsc2mMm1UcoP5{_$Y@pH&3Shn?o7#Xk?)83Gv7s`LOpu_&k_Dq-zrKb7hF#T4*jK zWB4s!n0)+3jLOiEa_g`yIm+pa=-j8%=M@F>-!96Al|sjSvFg{92ChB+q~{Em@|eg_ zulF7~CPDkfxGjjGX;(;kupmz&|2j*z0henxq3(uCmCDuXo+1hL;+q6JhjRMPKo7OO zGL#;|b=&Yk_eStau;Hyd9l>TG3^QhYd|juEn>brW3iCM?M6?cX0u>tvy(pbFM!{1x zH4KAM7*RWFGDpHpV*b$>ah}u(I2Vx;#SJBun+ZV``LRaX(aGTN40n^S*${yrxK;d;;Y4#2o>BfM zrIDQY1@So*@FKMC6@3H4v3r#`#BNJ4B(5}9&|{UTAM{BUPE#duU;VM6$f_TI8`ri8 ztrfprG+{45iRQy z6|@PJe3ya80$7!Isj&)F~Y^5H)B@#~gq3*s>9-K$;oJ~Leh|6|bY*%@NxmdLBQ z*G(dx1&a^K=pr(5>`2j?OXwxr>c@2Yjg7>9WI1|d+iLssd+`U8ncb4 zXUDgT8Z*Dl3L>;Zp7n84Blp-2qU1)Twea<*(<&SPc=i*^ zVuyT^)&kI7GRXD-&?rx{aCZy;TWBZ_$yE-EA_<$wMNj=c2dZ>K=l1U#!+|b*F;8h$ z4~U7_JC1)>Xw^^RJ6<0XwEmrye2$%k{=l+?QiSZqiYEb+8+0>N)aqhdVB)=x)9n!% z*Nn3Ul#j#9re~VSdy~yXfs%MldO*pKp6lElJ#v}N?tij$34>cN6<9yZ;UE2=2I;xSK zKsYV!vOULNh?9Q3$9}Ieb0_)9NwA<+!O-Yk2!8*3_6KDnSzq*tNaRLj9qzK49QVjd)r&#jNcnao&Yn`) zt|pfWztb)R{+BP$%}TrV57&SWDg5)L5OUA+Ml>C*Rp;e+@f3Npdhh4ofm4GBjj=V< zOgBYXdrSPb!9Xq-e;%E(@(#6I#?*kGq190)%X2jCtLDYh$ zL>?V&ODB6c?x-UmOg@WXSR7(e)EF-PPX1}946S=&RdHOM?>f4{3=bMPp{K^FQDIiA zk)@VyO@r;sfDIWgiFwH6bPr~rKBR1R$9vL|99YH&cMBCN)BUufEw}aG8)9A5uRcv@ zrnsw`CCM=l`0qKh4jj8{_$I|+uR@8c?pYMyH7h^NK=PGaE#c%P%f_XFLg`NiHIq1~ zhnCXyCR*tnN(Wn`pU1SMf5u-*h(7v+>isR?SNxblOp=86Sand#3BRopC_ZvywHoMy z?m4L2bfzgN16Q<|>8QnA^j*-CL!U=c3 zh2Ce~6I+}^s~}K1m=G2hJ8Di3X0D!gd}iOKdp4gmAHpNs=^Q?clthNn{mek7y-?vz zj4;e=r{`yhBS+D}UDwQzinaj_G+4RD7srYqf??~d@P8z-*_+}z2a?<<5m!07fHCXX zmYL>t8$HTci71|qG&tM0OfJbiVyTK`K2;L=KsbNgnZaylrVCiuUCum~t6;H<%xGB> zRIDa@P|TbSOB~q!NJH4`lGZ?T#u>fv`aVrN!>GPr@?84D+w^Q-3jl{x~AKTdwWiNZAjtalg<>|IK zaz?JZO7LhGCE%rnv&Pknymo=tr*3!J zh;93)bJBzIo zzd1AIrZP^Rybs-MxJf*`K7w$X!8HtS%CL2q5vKOzSC9IQS727`Y*q36N{@P{b0n3W z2B?4Mk}hzF0XeMeBaT?oEiDCBejPs5>EUXuye-WLZpgYts#Z)!Jw;tcjRyUmNoxZD zR3(*@4TRJD3q%zEb%#7N$ay<^k_=L`4myE9IewD&V@Js$KTh5Ak;}1R+VE1jib9?n zt7_&J%7{6xM&=A2*Pt~s?5PKI8&#LZa2W1HfF+! zC{1;|h5V@Hp1&%=%!L{5)<3y3Pa9YvVYQM9*tJEjTyy-C=hi@%95pkMSnv#jp8X*L zHzAFbG&1?P{m2%I@4ntE1m8(FNxT6aFu_b}MSngA89$Vt7h@b!$?Tm5zm_O0OW{1K z!=Pif1+w}V-bEkNB456+IECn{rO-+e*TJv*e7Sfd-r4#hzE}9o*X}TFHSd!H$VBce z{>}$R_nFzu3KMFM8Bij792veGXJA7!fBAjMj0%N2Y0=H;4X~_9=e~J#^f}>#0qo5f z##l6xhb9D#cg*5vIk$}s|5)l4ti-_oLl(&XiO{1{OSO-n*P~^oZyF0{EpiRe|1Fv@ z>&;?HOpCs=vXh9X8t=47!z(G}%v=xAO^bJ@<;yw^hF;tPZ}&8m&e!-ZgphR|C{m~U zyJxJ*X3XtvELk6&`0j7V?r8z zbA?0vGVhQTgK!OJ*OI0_MGAhq@dt)H9)eY0=QHoFneup#2^nW6YY61;hcURD`FKV6 zyGF9AO#iUK7hHYP`G@U|kAnyT_bUwnHt|+!+RzAXX`-#-P9|n#WLP#{YQSx4+t|uP zHOu$?FBNG@nvir6RGztHNki93Y#(qp3O8}8*!mQpg}3~{Ck zdDOPY)c^MQ%4h4>QC;%hbll-m?}33fNHa|4Cr_g?yBPq&-_jOY%jk#0u4F@g`Im$q zIw#2~r@g;Us%J2~IKICRM*iN?8m+WQ>IxLPw3bibP%wT<$^3PeEH_5D%Jt>Ss8pdA z*a`|St4+J88Rm0whj+F{{hBj(sjm86YOrSecvSC&thnA8>b}$ErPQ>9;_^P%-&sDe zfcK<1y*Xb*YGV&0IA$X1(g*m+35{IzOHA1{uG4IL~_R9RrmI>`AG}BJE~i7 zuvUTS`w;Gy$;5R{$9Zf!fgNQ-(Y)TCABDx@8$~=z&J3{R?PL``4kY{T$1L@;PAosq zlqeg$Vk(e96!LFgw^28KyFz!A6U&X}p=^)!k9RBz?!q1ruVLUA+shIYmobc{e$cJj zg$cP)Fb&W5w30og)tONP$hQzYemAyoA+ER$_Tt~&EwEyQRXz})O_GgY_RIofC}t$|AEl8H`EjhO~|6EZh~e*}r!+J_ZHH3)?y zs7sE|j~lMT7QYpMvzygC#4q>BKzw{7h*h@uXpR=C^&hK_`=e~j`xCQRpxM2o z+K?r0*cz5iQXDSFr5(Y-|1z+|$x_g~LNbB2vRzAIg3*}E^^UF0gSo(_TO8@hDw=-D zl1F5o>l9EdiY^9_DnuS$3$VG_n!K*=m#nP`zVDf6Sc zp}5iSmRBQ4I_u24E8EPbmCUBqOcA^|yTSO@7bt;y>x+<#F-`A`u{dcQ3rV55`8&cY zb5l)Wo)=R%d&)P2KoKRN4JN_@IIfHw6|-S?EQ9x_^)W746@jue61qz z9CqkjiMpUWx;kK>NHAr<;P*-`dzj-kf2CoPntRPciwk{z4!`3YSCL`=X24LkH?yNH znW$`R88Wq$@~Afr^QyK)NzC(|tEwF~7idq5qRw|pI@&J+ncu0Q2ceNF1lo_$NcGyFGdFIHir%db+h@ft|&a^>L zi#(&sluy$QN&UlTn2`dK6^x+jmn3wiAs(|x;73%+Jy8 zUXeO4Jk7Fu7TVx1r>yFnQIdqY^1f*6+sB=O*565D9ERyM*85@kD_WF3_cS>Q9s3K! zJ#3m&=1l~hW*5Y(M4TJJY3M{($Yu6u#wP>r4N-B_97w~!ih0tAUcZvMZzRxWep$jd z4^&_O&fcC@u5$WG%{Ga#}+3QWi*<8uAq!qxNj$6OE%#l^#}guYnopUr6)<=}bS2^wNdW z3t#7xKA(&0>WJ82Yv?WyEmHhZ-}_XbH36tVarEPl@1Biuo1*4=WsIFirG=QJmVX9` z2Q5s$>$*!uiy4pPF8314Tbd38mW|1C=^6e>wlp6S^HJ3G zj}IQ!b+hWqN_6|NGV}OTTj(d}<7xi5=%WirbEp2mxa0O(uYfxq^uR;qYI!a?P2DA` z9prp~3q@)Q2z4 zN-*!0h03#kcd1;jHMKO}H07dV@K$3iXN;r(%prAvM3wEqGr#pJq!Yww6q<^26@dM@Enz-S3u|cH>~yu(G2_ zV0mdxBW-s^Zm7A2v0T?g$g>8P5PEC2_OU2i@ah2sQZu|Eji`$Rlx-e#B+St2SRP3* ztQ3-a@T07enqfnf@~f1YyFbk~?TFKE@5RKlp~#0+fmwLC^bhZ$AaQMXf3fO~FHMdS zGQi^!6#;G~rW+o{m2Dt{7B+vq;&kaY&!1+;T80D*Nm`B=0+vDh&?q{t(Wc7basxvC zqVW4x)tY9i`TWEd{H%(YQqHXzhjwWqEVPV4S0^7(1uN?+a`2ruU6|6+H4+0eQH_FP zS^5TsOq|A$ViOG&HE{&|x`qzX3KV(h(dQ7cm|4H9<$1t| zkz(Q?3#+mw4M(1EdCinGKUde!PUwOuHhVN9NKM6R#rxxMDU%oZO!_H;b9DiueEOPq zE;%Rb$%uy~Nj*LD-k10GOb${hOLte1N7%d<`88XSfhEtovk6%S-AodqkFU^Ef_>o* zy$Tfr`Y{9ZG3w>~CntPv?&a|EJT5xjtFEKL{&gRFUnvGxS2N&NxSl(D`(rVyoeIXA zK3p-k&-!`xtddVx`6=Wc=8N;9x(3*Gop;sCc0;|qJen*BPZEL@s(c<4aSLt0Fe~k7 zyiZVok_2onL7dW=rTFyZ*wWZbD_ycydOr7VQ>MNjiYmHfM|t^>DzbpXex=#DdCgzw{PL=~Kp4(q@}vXc zha4&ayaWvQjg_w0u)qI=p)*BLB{?boXZ#662S{yoSuHRWYui7%-$lRl8IT`btjG_g z99U4A*AYh`9J5!PtfdBFKC>3+Xl?zF&=edE&}oOn4rnOaB0Vpo=Dys+_8unW`Zn{| zH;l9|YnaS4Umc~-> zi^qPe>_El|9eJ-6x4D?9S5`4#|MFAJ8TkOrbqL6Pn;$xOU=ZpK{uNbtubCW{FTr+| z;}_}cpIM=owfM%FkyPxc8!z5{+=<`3nxSj%TiGSWtF#&D$K;0Ghs1Mlmso@N__5Ya zIQ*|gVOP2gi>|+-p2DakV`#^JsgO?a=ra!#Ek_Sj407O_T4lnW_4ol=-GqdZfq{vd zk$b!jhZ+y`S=!T_pQ-K|AXd|jqp17m9ak0;tnO?6th2$ z8D-f-JQTX<#6)$;U(~VQTHro74>s+eEFoGYHcSd7sV5}Z9;VjzO^A|T;q$sblc@FM z70fPgV5`4aB0eoQguW2mDFF1a8cDy>owHn8Q^YZ+Ss~O7=OQTjH;I`Mif1&hi9+^r z%n5e|t#l5on^*|8e9<=?sT_Y)Al_A=v~D7I4XN~hYK{^m%t3S^6oj5Qequ&q^i@^k zqR0v1z&H3u*_3#VYOvDSWf zrm6qLjzHp_MI_xOkBEPKS-aC&h5Rr9O%9?dQ|EccDg9D8x}G}C_o`=qcDMVMM7zP~ zR$5t;{cFm6E6=6E6+|d!P{@&~sl-EYQEDLi;kgWpkbH)Ny;s3%lsDnkug6#x_|Y29 zCyEo`O%>L^h{U49$&#yIa#*u);EZ;B{yXyfHGhZ}ucYKZI0U&BBvv3LDyg-cQ=Fd1 zYxL2N5_W6q!G_fIPyfsfRVq`h1>#Y_Ju0iq_c1P@{iQTv8yM*xgD5)U5y39ixXc25 zAd|nJO&SA|T}kfpf(f6zWaksRjf}MMuJy5qP71Zy#!jCF z_AH<2*|r8GervmuX&Ei8Y^SRTO%sKieDTxQGXQEn!@NswQ~igsZA_z&fsFQ43wmrx zv7D#uaGc8~Ft<)EwJ|eOmV0cITI|GVV#)-)V67pY$&r&x&sel_oft8fBkt|viSLwt zCWI0jz=CX9=Uu@H>F$8244~fwW!J{TJ6=8T4oT2>oc}w6qZ`i*Z__Zzl1W5ZUTJUt z#do`JRQ6PCE0{MT0;wDv3io7FqPH10Gumh!dZyNG(n}f-e8zBPW4Z+MgG1L9?@vM= ztyxo>`v2t%8JmRT9J2WFvpI|iN7eT4fiL5V9I*07_r2)q-)(nyZIlcYiuDk#B==}n zRQ0*>jA7-1smvv{3aau*NsN*88&emb7ev!f*@s1&r}UQ%b<3rJI)o`RIkjuTM(h#qS=-{w>`IY?Rz0 z@)druBJQT&$8=$=J2fMj$EUCsZ5@~|`U^s&IwvE=F){A2iwN~BdbCEb1zO=2K-E7x z%>b{;X2!}{4`6nAvV`tLs|cNo;=7w35SR>OFDsO1{hY?!d0fy}7{>|TXJ7_%7t_W7 z@@)^B-&+=#Ca+);F|x_E63Onmu&VKx{IHAJl$LubkW!&V>)3H^h9vfTpd|DjP==f}NV-F9^Mrcl><2Ii8+&1nmd%Eud zk{Oq&@1dHIw}1u@*|6`HX<*+ob2?GbvgKfxiJtH6j~+Glqi3Y)i0 z-U@YQ-`8BRt5Eghut%vJ<3s9PRfENR=N`zW4rFFh!szl`7vmW0rCz=&Vn9y*^~ji} z0YogQLp*Z^m{#-*=j5rr1uK!5-+Qb$TC+Ebnr;|CN7H6ZXTUy|glke&f8l$5!%Sk< z1uvWmJ}DjJ=J@r@r*)Ge>#wDbstym)rcPeoB?E1p^K%1eIpD)P1&cO@&|R*-XGXsg z9{bM6=BY_5zWVsXQb(Ns8TCW*c$VM4&m}cR{hPkl#O2cpmR7dJA4oovz(4sXeI`2` zl(nw&N};bk1WV6Q^r6l_l@Rqv{5gPl9j~SJ*SnP@e&RS6f_#Y53>Hh>R%G5JSq#st zr(>pG>A)A8Wl(fNS@;a8DCEn4ao$t^t@wOHbG#$~_3ueQo!ON~A4Qiz-d^D%AI~JG z+cs(s!oo3w;7UI)pn{H{VwiHX>d8LibLwxC0=&UfIFC(~qiP2B=RD2VKU++Af&QYM0v-zvhjJ#N8v@6Z`m?B-7 zN6jTZ?`N4l_gJOq&G+X!a^dkRPBQfQFMsf?;}BO+3O&vj7pvgg@zA348^QgDn4zw+ zTtl@E&V$RPHK%)NSH4%sj%PSf5mRb6oQoMzK`egcW7#70D>afeDM}nI%j%hSy}KEq zFY>Llc%?h-t+7$mqRo?yj)Qnp%MI_?w>JQjBT=;6VlOvM#Q-(#ZgT!i(5S6Po2!s7 zodmSX^Kh~hH3gp>x-KcUA_6?A6H`qr)W>sS9#984TX{$%J<@bHBo#uKP&r^L^lR>TM|>pG8~7sW&m3};Q_ zH?ul0Wwv~3CU9U|P8EI-!4jXNUe>s$tmK@rgh61#uZhdHeXJ$BTzEs$v#ZdyG?%yC z`LXuu{NDOppfNj<`?ON_5l^+e+KQWzK>WB|c-YzfE>CgPf!vn?buLvHWc(|IztxnU*TOa81b`%p4z4man- z?tiI|HO%@jnoF~PeZdzuSDGU%7qe~xTVM8Z9t;eu`vb(urWoyJ8((tbED6vYp{285 zU2EZC)l9>fCgSWD17$rKyA{;&_KVLlvqlNZX3x+bJIZQB!tKYu=9$eS6_ zsT9HkE#W9mWu<4ttjr#DM4U^8>J{rMV**fXyZ5}(?4ieV#~;%h&7R`DbLer;S}wid zBX$dbr-bMmBC2A~5aG9)v(FV6Xc}_Mx zuG+k^N>g>Ljo^k9^Y`NmFlAG$-8ctHf$Ej~-ZNZ^sc&eZ)4&3J+eUEqNirQu-{zH( zw61h!ylLU`UrB+f=)MMzyV93%m@IVc?N9F^RcfIZ!UG?CtvZ5t*xFwe!d+ho^|g?f z+_W%%?dTkvDADYf?UfzML)&*UHFfqyI)P8`$hpuL$tDs+4#cdA-=?GLzvng^EZ4vvPB#<1ZHcqf|oCEizw9%YL+xE#rD z2)c5p0YbEmKF__GG7Eo$tqL7CFQtx)7)!ccKXx5`JA&v!9(g>~+G))XRR+dqvQiTt z&hO80ev#bqvVZND)%j^uSX6wZ^;St-!0dNpt1qOgnjN}PQ=1+4cZ~Skh5e=>@k=3T zp>MfM5vPUngG*^mOft*5%U=8W3-&iXPXYOgD|d(7nA*zs`M)>T`@p&ve!fITS+a>* z&m=P5hbIREKqpv@66eb)>x)?!tr+{&!%H)^{wH&Rx1w|M##+M=CEkf<{d5M+VGR;D zFwEQZ&=5|X4x6+DlJOP-GCm81oM7#|O7{wmym#-M_Dz?!X&ij*tH$|E(Y=Z$GJS!8 z!YC<*%O7xczw`t7<5+K?^<#@XyWomq{AuL|aVxlC#$Z|L%K{;>VkCsQ%X6yQR?PmB zMiY~U28I3aH9u*VjXmrGDq)V2cMXYr&u1SHYW%`7J^o|rL1E z0tua%cr=L#e)&GIh_Hwm7-M)jBNjnJ#YJ_&2-BpBX}tyF{gUQ>xoik{*ng`sZquU>LWwXmQg@RRV4m)Y1Uw)|@s7VR z-<6MJ7-DlY;-l*;*xdc(85A4iG}-`b&SiJ6;e$ArceZ}`-vpz&Ld)s*x=)IpJv{>} z0@#(K8~lQQyPptWikH4Ujql@pml4bnvD`E;Xx8X%st$danA{+dL zWLO0^1XZIo*-TGc>-OegPJAn`s^1~AVei@pXvC%20;!u>TZF*kr})P#kDtptavPe& zI?cw{9jF2anoDeUjL-GbMyoga7~bF=|LfN#)8i7vr(!8GGSTU2u!+HmF|Ayh-LIxc z2r4Sl)HJk=tnwKO$hs33pHU$kl{LV@p^f57vwklTuH0*-Y$NGUg{F_ir14~<1{N}@ zVKLD^HBfjMGe4b@;Q~kGyXzNom+wWdqC632Zuhx+_3}t;mZ<{sKYPiV?6YW)@iz~d z&AikOl{1>8|D};Bx0~cUmuzid^Rw5e#*c4r6+xze>@=eu8qS} zeVCO}Dwj3?w@>+(;-+wXPqCPGQym?qOso;Q6+7S&&@6!Alm-nvTVO`3v zd+^V$x$(ri##$v_>nc}~|JG_?!M|B`_>SK$(o)A?H@@Y93_0QnE3ZvTM8n!O^1zYS z8W%?EMxPIZH0DpZ?qS=xV`@_Xmy&E(V)@U#&Qf5OT{| z+)!5Y`&-2O&7Ul2tprE$Lh;hq^|wGy2NZY~Uhn0Z8Bi>D3FtHNM5%L$uGtGf5&hTVW`*LgvRbnhQw#DX4KblME!k1fPE`8OlhfG}& zTVV1K$10W0&U1&;hAX&O8gY{-No73^Bj68V6MASG$M9=0J&m?;yXj##g@Wo~+BCkH z%6w|=t_qtSiKc@2`*{`TVt%RDtouAwkA?F;6FXSMl!uQSIaj%el!`bH2*%Z#NN1L} zab(7-#k=60QP-0Yywxz(BrRDvXb%#+^kYa4%Ce%bq|re{?_9RZh1nstF^%+;QLhU9Enj^(2YDS)Wk$Nfy$*4%T^?|?zg2)!BYIk z@V+vvELPxEvO*QF!j3B|3I5%akLgO#T);>sHU3;y-TTRwh&o#L_B-|CX4qy1!0P#2 zrV{O@@xQUu=qh#b<9%i^2ERdjrk|>_mca#Y zBj{TTZpj`9tp5|cWOA|H&vHGqcu;$d>FHARkNmt`0Ob|EGsU2 zqcqPoU@I5Tfq^!jUF*lA@%{)KQWpLwciXLav%obcfF$vBZ7mRO|DQsqSZ zUsLw)MBy+@>t(Has`gC`=SS7~3fzfxMV2~5?<%;ButEHMzPDIHv*x_>q(*ys^&ttjI-$7V zWfa1E>%^5;xa3CkJBb>DMFXmD&!s-JqWJ$#&NohTQI@Q8Y`m3s;})<8KT7)D7UXN zk7k9%5?&#RLGGLm(ju2;e|-P3x9ie;`G=_IJ*rr<&rolhgHf3flCpc#TXpEtnB@Ff zJD{T(R$BGDWolbgT319T-It*!pG{?loY$v;P?F|pB0`XK;XFC*7hYGcO}cP1ayaQ` zA>l;jJ3Tu5U#NKB*=w!aXm=fMYF{MBs(Oi!`q_43FxZtACBtb!_4O1*PhJ0gxU9BioItr1V z=Pocmf2mjZ8sTSliq?eQE=o}=@T7aeifH~;iB|874*{Btn-FZW?BHR;n^F=Vw$n(r1EYc6cpMa*z$Q!HDpX@UcQ;6WzTA!pX8;I+VuMWNIN|aVH!;|({Wj>8 zqg`{LV?t~q$GuMjHYfTe{dWYnA~w^8W!;2w9*JnDRb46XYV{(0UO<=9c9kR&MHgj| zPy95c+}8Ei8v+LyhvS)ZL^Kn5Io6@b{2?!Tvi zVh3saJ~=xytA`5{uzuSaF=PIe)`!DGM_s5^QkJ3EASD_{QeS2re2aTF{p6LLy`?ZS z;_m(40Hg(*!jzhEVI0=VD_Gp9(yC(o9&C&>i7;LNdqe+DoQj2rp5{=grbWj+5b*h! z!>#6fsnw^7Vw9kLyaHIEUh4h&1q>FC}2!3}K>wXC12 z(c#~Ec`zQyT~YEnE1)CNRrJ&)VEDVnPa(}6TQ2aNfT{QXmaE~efS=Ph5T|Isb;qV} zh`)|&IKGYFb=kNCYCuXAlvQl3C|BoA5E^V&X|_&FTMG7sNObb z7h82aNiI<#Vhk@8zuUI0zF#>WudsBkd2vVDMt>tz=^RkDZhV1P*EnUyZK9gZmO83k zD#v;IM}y`NOWm_mrf=~y>bJz^{un;klz>n!A_zcAo|r)2#jCctmsg!CGJ+#7_D+{a zV2gxLon(Z0rA9v3&kj{Wy#hI4rSG>Si2Z?lt45)19i1`hq#Y(H9dnAq>|p$?<|LY~ z=+JTM8qRBK?mCL=l__#Kov|wiY#bc-_r3@l<+H7Y?}Y_C6%HorlcUP`LC$v>d8CwTR;Wz zWt1SsH$Gke?Q4^%c8v{h)!R@S@pLzjjEf!7Mx+hipDewkUgPc=7rTWcy14Vynj=jY z$Z86hAH98;vA;#tFSIj@=!%DXkaQWKdQcj^^vOx`!#J=q$W;);vxWj5!H*sVP8=SF z3s(Kd>Vn5?Dr1DeepQH=dDAw(pPHcQ=)>rR@gRxn&SNch2m~}7c3vQ|Fq-S-IgGAW7z3BKmPhgh z{JO+p5K`z~DsjAvA41~oY`RrkAjwW#byb==*UtxiT|(O(tw4!54Y`RvNzpTa zX{0y4dyybC%KhYiFoOm&^>De3YBI>MBk?s!B*fyZ_U!K3(?0n+ zK6&VJdTH%Y%e^>$!GWX411mcwZv4L37^Xhh=QBF3+r;#SCXIGR!14(X8r~ zh=8$a~a{j`%1K$vhs7$!QiJaXf{ejjm z1#_#~;A0w#6F(1(?)?xNER}(LXA+vk^6O@`r~vfMi=PL&O`?JZ3xgT7(!}YHW?BY{ zN-35)&v~)y;lhkdMt)aXI2jk$^;1}><&FD+a(COGYqGCEf&bfhB5wPFg!tDL4fxw` zTV%CgeOXI)a$8D4^^+k^v;J@R@!ywBDy?qTT2)w`(}zf?w)GTrHDLX{LnX>}lI|wB zX5U4c#YRS60U^bY@bqSPL-92GH=0${2gunCj|6irMzX9TG*gYkhh?T+ni(rOSGrYJ z{2$fxww{EUg>cw&hR1$Gzq19t$K@KeXt8VyfA(6MUAo$Ig{CEy*i3a< z#(6pD_{psJQ|ieGT=U7h{32;rsp$za_V4u_TzOE+;txme4~>{s6xWz%4OAq#Qq~3L z`ahd*cTe>8s*C}{k-}N0O=KE9j`(174k%?N082Mn%Vies2=Udc%%IY$&;#6}#rUq2 zwhI1qc1;-nEde*%(XZ*<=!IpOnS6zlO0w64LsTa#j+0gVw0k#RSe8bfAZHmzIMo75 z%7Zf8&RK#Q>5O*f+M+dzV!h#$*^@x1|HM`n|Hd5KW7xkW;Cj~1eC-GNX=rNMXZgnU z!DpDuEbo;rL-FsB66&K`rs3pOlGVBW9>DaLVhj+1BUO8yXC)=JvClT!vV^8@YZ&Ei z#%ghwuIuG+K9F13{_^}Lp8;11ZT9cmjKR{~#~7Cd4fS8UG3RW66t|G_Q~R8wwYfPR z%&X^pb@K|SR~wa>+uz*^I1#S3n- zXXkbE7wzMurREDW1XPv2JH3aiK4512rt>!-xO^TUBsQ}`zcBfu!4}~#n}K&dC8C>i zap5LA$Ue~i=;O$6rR-7{k>DP^^rP`wTDQUDYQY12#b=QxXA~?|%$%wwn26Lhl(XPx zTaPPHE=u=v5iyM!ZT9b0VPkCapEUKyrcdu6@7T3GE82dQrl>e+1p+^SixjJ$^LMaz zvF~@v%MUIsowuIc4!QUSlx-;QK^0oPJi+eQzY4}Vh@WQg@wh{Y)P#H&+rD6W>8S{alwM)_UXc7&r?EXS9lLsM zL@3j5x*Dy8M`@H|HAv2Q!zC74!CxXn4maxh9-?k{#052tODTSd;3+z|_jcDfG*q>96~F%O=_ycK^P~n}D-OI$5MhtTjSqX_-0!4@SqlWP28 zh%C_D`d1d~_d}1Rv`X^x;SLG!cG}H4F7_9iJA2HaX!;=@=cm;E=0V?ppeC^SWOy}>Ba`83RmG%K`xW{rHRn zV*oo~`~M`#l*i4pV(YGV_qb=1$^!7-ri#b!rwqDChf2J9T(W=Tj*Bf24$$_eHywy+ z;;73Qy6O1XZEY%bz-~+E6+taUy!0$LeDSlIE1D6JtQDrd;VM~RJ!&PHE1R9#QogF) z#ZAA7!urX4a<3EL&tqzKCh60qYvu#g>DVsnlWV_Bh1SHUK#2`UY`Z?*O(O87L|`gg zpXEBAx_e@^SAE%|?xT34yk*6j@bm7n$phxPrm1?V>}GPGG#zCUKpkt$#|ha&bqfGW z(bNmLxs(OWud5v4=8P*(C2Gc}hxEh<5B+)}eVOzjWG zmLvpHvde8rMkZ$gnC7TP;P9{%Np9o%!KTc{jfu^dgOfCaqx(F|+AB$q>>63iUK1|h zBl!!ehYwCJR6xioCB3+@p(DgByv`;<(y&3>E*?_TslL>tCy{?MlKqzOzW0dC?a^|t z;A2Si3lJfUe!=IXa*NkTGnZLSr~pve(C8}zJH(p-+`)QLd=`8|W||v{8xJuY3zv>w zmggH$-Z2GezM&{I+q~4A+V<3RmgOv;yVPuC0r#PHFdZMx*Yw35rQr9VA8s0>~bhF;u*@(l7 zJJY}Kz|!*^;$EWevP4&A_fAuIZn75n|76$@SerzJ0NPjHw6}b`aYd74-=_TawPKrn z!aPM%$$fNWa7=C^!e+T!pp~Pj_6B^NW`hU2zQU%)-60H+S;OAS=dwE{OWnW3sb&=` z!U)!__2eTxVxDtx!6_5~%ablWu-mJ(o zYRr4;AVHc%y&(buAW(~Fj+CV{dp84>;h5SB4E*o;FD8T^lxlH!9jiQ4xDGX&k%8}8QdSoyMjjfF;H%ysXglrS*Cw+A z9y7fr!zbtjBaE~npW3+K#MDhI)Z5!;Czebic||em5~@hu*be#QPg(xZ)mo_n9YY!L zM~=o;g?42qN`nDFZ)xjUmGRSatQ*k5!YD{iYk}Q@0KKE$Wn&Ns`9r*D@&a88y%U45 z&hGwWIzW7b!?X6Q6*rin!XjE}X?yjBj$D-8T}7#Za3;zz#3{IRo_w>MZ9?O+$V>MM zr;GsbxlbT}el-Lyj{Q~9H#}_WGQmhiVA-jl{un_WvtB`N4ZyC9XH{n%gfu@V45Kq> zCo16D)ESQX=Ri(B|^n3E3dV+I74Hp2YRP5d6}6up9gWYn`q z90>ODhRgAz-}aRUx4jL-*3ilwJnb14G!6ub7_&cxTSEv)_(`Srd$PXFw$F~nFVDfA z66 z)KhpB>$NMtPQ7PM(A>#r106I_}n_n4uBB04d*CGs)( zc@8ph=?*xK4f!t-gcH}FDJHfsMer~#c967RHwT&K{#ya9Jeq^vL%x$fPAs$>$^dVw%VX)JcN?EAIP6rW+Wt3!)VR~)uz+4pL5Q2OKWqj4 zG9ybuksLHQQd`ryw%B@5bfUiwizgo}CxkhtNt3qI{26U_-n0$2e6Rozjv-1*-jHSb z^t$XY0MK*zvQCP1cX~@}=YfbTJ~ax)DJLh)nO`b63NpC;DTeO%bcNvR>3vzxKUmIH zbrCj%BwX6d!{%$ZaH~j8=Pa8dM9BJ_P}Nk^yx12>F?$O3Kl(OppP{f6N+$?x9Q-+I zc|tnx=_M?W?Mhd3Z(e$x98P5*n>6o;XX1#ufixvvzUX%i{!tFc zJ|))Xd_GoB>nS;l^I{Knon^lmw^p-@O4{|Wfq<}xf2;ap;Z4bw39(xRs7dN`N&05t zToM24Dqn@995kaFFYXeB_acTZ4Q{}jOmZ_ujb{rFTaS~y9>xnzC<*BABSYvrh-VgM zv6@BC#Qkmm*G)6^cS)1@uB=dNnW%=bo@K+&^4f^zsBi`|Q41h2z2E!6>G_G<`-}&= z$sS5pvn|_Q-X}b+Ug^63bzkXRBgGLJtML7fA zb#ag_sHF*`I)roB3+j5&R@*}X|Nm1>*Avs}w%C9dI;L?MK&G#AL8k;Qc`@zq6-4s% z&l}F1tH3hN^?F`Xb@mS3)|$t`4jK(FW6bIF)2B|pCv@&LyujnU&JK1@n$AzAk<^13 z$ObG8zBVyfnw+L}tv6MSV-K8?U0?oBF}smrbeg9kN`_%B2*rfq8LYmbl~?wcKxZT6 z6dLCg#GPYRY=9daD;=0WmTdQHZEsx=$X@+yk!J8Ft6DAUhnM@$VQ%A--!x_Qw01l9 z4nM@#7Cw2y>`D2M7geM~`{(}N8*9wZAU?9SN#OOF-+}+x(<>>lzZd~UkiL1r2_#h8 zJ&byfPr`^F<^$y6Yf=EF{O_dP;PMvGIUuWdENxyw2I|;>&%6Je!%dFKF2tg4iYshz zn|n}EP?BjWizjwd`vY3;P+;WHuPsGG|IaN&c%8S0ENdrA12Q=#jQ-WDF@a>-oj-aF zFI^UCpi@EDZ)u(%(t!OlCBRvB)a>X)S1~8y|FkB%fuket-=F{4_m6%y0WJZs1s}Cz z0Btt>Pm=)|K49-SYGTnx!opE&VgMTRzgIq>IXamCX(s^O=ie*;DMS44rT@L@f5-H{ fQ|kZfirPEulN`w2+lrykfM%p;uKPsWIrjenk}}Vv literal 0 HcmV?d00001 From 306daf64115f2a8f7744961c397c0fb46f713dd3 Mon Sep 17 00:00:00 2001 From: Nikolay Date: Sun, 20 Nov 2022 13:10:29 +0300 Subject: [PATCH 5/9] add logo to settings update gitignore remove old test script for dash app --- .gitignore | 5 +- pyquac/jupyter_app.py | 156 ------------------------------------------ pyquac/settings.py | 20 +++--- 3 files changed, 16 insertions(+), 165 deletions(-) delete mode 100644 pyquac/jupyter_app.py diff --git a/.gitignore b/.gitignore index aedbac6..e48b301 100644 --- a/.gitignore +++ b/.gitignore @@ -152,4 +152,7 @@ tech_tests.ipynb /pyquac/ddd.csv /pyquac/jyp_app.ipynb /examples/random_test.ipynb -/.vscode \ No newline at end of file +/.vscode +/pyquac/good_case.csv +/pyquac/very_good.csv +/pyquac/research.ipynb \ No newline at end of file diff --git a/pyquac/jupyter_app.py b/pyquac/jupyter_app.py deleted file mode 100644 index 6ca8644..0000000 --- a/pyquac/jupyter_app.py +++ /dev/null @@ -1,156 +0,0 @@ -# Setup -from turtle import color -import dash -from dash.dependencies import Input, Output -from dash import dcc -from dash import html -import dash_bootstrap_components as dbc -from dash_bootstrap_templates import load_figure_template -from matplotlib.pyplot import cla -from jupyter_dash import JupyterDash - -from settings import settings - -# App Instance -theme = dbc.themes.ZEPHYR -css = settings.css_url -icons = dbc.icons.BOOTSTRAP -load_figure_template('ZEPHYR') - -# the style arguments for the sidebar. We use position:fixed and a fixed width -SIDEBAR_STYLE = { - "position": "fixed", - "top": "70px", - "left": 0, - "bottom": 0, - "width": "19rem", - "padding": "2rem 1rem", - "background-color": "#f8f9fa", -} - -# the styles for the main content position it to the right of the sidebar and -# add some padding. -CONTENT_STYLE = { - "margin-left": "18rem", - "margin-right": "2rem", - "padding": "2rem 1rem", -} - -APP_LOGO = settings.app_logo_url - -app = JupyterDash(name=settings.app_name, external_stylesheets=[theme, css, icons]) -app.title = settings.app_name - -########################## Navbar ########################## -# Input -navbar = dbc.Navbar(class_name='nav nav-pills', children=[ - # LOGO - html.A( - dbc.Row( - [ - dbc.Col(html.Img(src=APP_LOGO, height='40px')), - dbc.Col(dbc.NavbarBrand(settings.app_name, className="ms-2")) - ], - align='center', - className="g-0" - ), - href=settings.app_link, - style={"textDecoration": "none", "margin-left": "3rem"} - ), - - # ABOUT - dbc.NavItem(html.Div([ - dbc.NavLink('About', href='/', id='about-popover', active=True), - dbc.Popover(id='about', is_open=False, target='about-popover', children=[ - dbc.PopoverHeader('How it Works'), - dbc.PopoverBody('Some text') - ]) - ])), - - # DROPDOWN - dbc.DropdownMenu(label='Links', in_navbar=True, children=[ - - dbc.DropdownMenuItem( - [ - html.I(className='fa fa-linkedin'), ' Contacts' - ], - href=settings.app_linkedin_url, target='_blank'), - - dbc.DropdownMenuItem( - [ - html.I(className='fa fa-github'), ' Code' - ], - href=settings.app_github_url, target='_blank') - - ], - color='primary') - ], - color='primary', dark=True - ) - -# Callback -@app.callback( - Output(component_id='about', component_property='is_open'), - Output(component_id='about-popover', component_property='active'), - Input(component_id='about-popover', component_property='n_clicks'), - Input('about', 'is_open'), - Input('about-popover', 'active') -) -def about_popover(n, is_open, active): - if n: - return not is_open, active - return is_open, active - - -########################## Sidebar ########################## -sidebar = html.Div( - [ - html.H5("Spectroscopy", className="display-6"), - html.Hr(), - html.P( - "A simple sidebar for data settings", className="lead" - ), - dbc.Nav( - [ - dbc.NavLink("btn 1", href="/", active="exact"), - dbc.NavLink("btn 2", href="/page-1", active="exact"), - dbc.NavLink("btn 3", href="/page-2", active="exact"), - ], - vertical=True, - pills=True, - ), - ], - style=SIDEBAR_STYLE, -) - -content = html.Div(id="page-content", style=CONTENT_STYLE) - -########################## App Layout ########################## - -app.layout = html.Div(children = [ - # dbc.Row([ - # dbc.Col(html.Br()), - # ]), - dbc.Row( - [ - dbc.Col(navbar), - ]), - dbc.Row( - [dbc.Col(children=[ - sidebar, - content - ], - width = 2), - ]) - ] -) - -# app.layout = dbc.Container(fluid=True, children=[ -# html.Br(), -# navbar, -# sidebar, content -# ]) - -########################## Run ########################## -if __name__ == "__main__": - app.run_server(debug=True) diff --git a/pyquac/settings.py b/pyquac/settings.py index b3672a0..700f99f 100644 --- a/pyquac/settings.py +++ b/pyquac/settings.py @@ -10,13 +10,16 @@ class Settings(BaseSettings): # Dash/Plotly debug: bool = True - css_url: str = r'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css' - app_name: str = 'FMN lab | Pyquac' - app_logo: str = r'/assets/logo_sign.png' - app_logo_url: str = r'https://github.com/ikaryss/pyquac/blob/main/images/logo_sign.png?raw=true' - app_link: str = r'https://fmn.bmstu.ru/' - app_linkedin_url: str = r'https://fmn.bmstu.ru/' - app_github_url: str = r'https://github.com/ikaryss/pyquac' + css_url: str = r"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" + app_name: str = "FMN lab | pyquac" + app_logo: str = r"/assets/logo_sign.png" + app_logo_url: str = ( + r"https://github.com/ikaryss/pyquac/blob/main/images/logo_sign.png?raw=true" + ) + app_logo_pyquac: str = r"assets/logo_pyquac.png" + app_link: str = r"https://fmn.bmstu.ru/" + app_linkedin_url: str = r"https://fmn.bmstu.ru/" + app_github_url: str = r"https://github.com/ikaryss/pyquac" class Config: """ @@ -30,4 +33,5 @@ class Config: env_prefix = "SMD_" # SMD stands for Stock Market Dashboard -settings = Settings() \ No newline at end of file + +settings = Settings() From 43a446332ec3f3e2c65f35063757c01d3d528b8e Mon Sep 17 00:00:00 2001 From: Nikolay Date: Sun, 20 Nov 2022 13:11:57 +0300 Subject: [PATCH 6/9] update layout for heatmap add xaxis and yaxis variable title --- pyquac/components/heatmap.py | 41 ++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/pyquac/components/heatmap.py b/pyquac/components/heatmap.py index 5227ccd..3d2e58c 100644 --- a/pyquac/components/heatmap.py +++ b/pyquac/components/heatmap.py @@ -7,17 +7,7 @@ from dash import dcc, callback -# def figure_layout(data, cmap): -# def define_figure(data, cmap): -# fig = go.Figure( -# data=go.Heatmap( -# z=data.iloc[:, 2], x=data.iloc[:, 0], y=data.iloc[:, 1], colorscale=cmap -# ) -# ) -# return fig - -# figure = dcc.Graph(id="heatmap", figure=define_figure(data, cmap)) -# return figure +AXIS_SIZE = 13 GRAPH_STYLE = { "position": "fixed", @@ -39,18 +29,24 @@ "top": "100px", "left": 0, "bottom": 0, - "width": "70rem", + "width": "45rem", + # "width": "70rem", "height": "37rem", # "z-index": 1, "overflow-x": "hidden", "transition": "all 0.5s", - "transition-delay": "500ms", + # "transition-delay": "500ms", # "transition-property": "margin-right", # "padding": "0.5rem 1rem", } -def figure_layout(data): +def figure_layout( + data, + x_axis_title: str = "Voltages, V", + y_axis_title: str = "Frequencies, GHz", + cmap: str = "rdylbu", +): """constructor for heatmap layout Args: @@ -59,9 +55,22 @@ def figure_layout(data): def define_figure(data): fig = go.Figure( - data=go.Heatmap(z=data.iloc[:, 2], x=data.iloc[:, 0], y=data.iloc[:, 1]) + data=go.Heatmap( + z=data.iloc[:, 2], x=data.iloc[:, 0], y=data.iloc[:, 1], colorscale=cmap + ) + ) + fig.update_layout( + xaxis_title=x_axis_title, + yaxis_title=y_axis_title, + autosize=False, + separators=".", ) - fig.update_layout() + + fig.update_yaxes(title_font={"size": AXIS_SIZE}, tickfont_size=AXIS_SIZE) + fig.update_xaxes(title_font={"size": AXIS_SIZE}, tickfont_size=AXIS_SIZE) + fig.update_layout(yaxis=dict(showexponent="none", exponentformat="e")) + fig.update_traces(zhoverformat=".2f") + fig.update_layout(width=650, height=550) return fig figure = dcc.Graph(id="heatmap", figure=define_figure(data), style=GRAPH_STYLE) From ec8151ce7d43304bd2c084895f1d2b0dee21529e Mon Sep 17 00:00:00 2001 From: Nikolay Date: Sun, 20 Nov 2022 13:12:26 +0300 Subject: [PATCH 7/9] some logo setting changes to navbar --- pyquac/components/navbar.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyquac/components/navbar.py b/pyquac/components/navbar.py index e7f4d52..6278d54 100644 --- a/pyquac/components/navbar.py +++ b/pyquac/components/navbar.py @@ -13,6 +13,7 @@ from pyquac.settings import settings APP_LOGO = settings.app_logo +LOGO_HEIGHT = "42px" if APP_LOGO == settings.app_logo_pyquac else "35px" ########################## Navbar ########################## # Input @@ -30,7 +31,7 @@ LOGO = html.A( dbc.Row( [ - dbc.Col(html.Img(src=APP_LOGO, height="35px")), + dbc.Col(html.Img(src=APP_LOGO, height=LOGO_HEIGHT)), dbc.Col(dbc.NavbarBrand(settings.app_name, className="ms-2")), ], align="start", From 9ad3aa31657a615009325ea06817f125edc0a5e4 Mon Sep 17 00:00:00 2001 From: Nikolay Date: Sun, 20 Nov 2022 13:13:00 +0300 Subject: [PATCH 8/9] add initial layout for sidebar --- pyquac/components/sidebar.py | 90 ++++++++++++++++++++++++++++++++++-- 1 file changed, 86 insertions(+), 4 deletions(-) diff --git a/pyquac/components/sidebar.py b/pyquac/components/sidebar.py index a17ac9c..c311ff2 100644 --- a/pyquac/components/sidebar.py +++ b/pyquac/components/sidebar.py @@ -56,21 +56,103 @@ "padding": "2rem 1rem", } +# items +items = [ + dbc.DropdownMenuItem("First"), + dbc.DropdownMenuItem(divider=True), + dbc.DropdownMenuItem("Second"), +] + ########################## Sidebar ########################## sidebar = html.Div( [ html.H5("Spectroscopy"), + html.P("control panel", className="summary"), + html.Hr(), + dbc.Nav( + [ + dbc.DropdownMenu( + label="Select data", + children=items, + direction="end", + className="mt-2", + ), + ], + vertical=True, + pills=True, + ), html.Hr(), - html.P("A simple sidebar for data settings"), dbc.Nav( [ - dbc.NavLink("btn 1", href="/", active="exact"), - dbc.NavLink("btn 2", href="/page-1", active="exact"), - dbc.NavLink("btn 3", href="/page-2", active="exact"), + dbc.NavItem(html.P("Data saving"), class_name="mt-3"), + dbc.NavItem( + dbc.ButtonGroup( + [ + dbc.Button("CSV file", title="save current"), + dbc.Button(class_name="fa fa-server", title="save all"), + ], + size="md", + # className="my-3", + ) + ), + dbc.NavItem( + dbc.ButtonGroup( + [ + dbc.Button("raw CSV file", title="save current"), + dbc.Button(class_name="fa fa-server", title="save all"), + ], + size="md", + className="my-3", + ) + ), ], vertical=True, pills=True, ), + dbc.Nav( + [ + dbc.NavItem( + dbc.ButtonGroup( + [ + dbc.Button("PDF file", title="save current"), + dbc.Button(class_name="fa fa-server", title="save all"), + ], + size="md", + # className="my-3", + ) + ), + dbc.NavItem( + dbc.ButtonGroup( + [ + dbc.Button("SVG file", title="save current"), + dbc.Button(class_name="fa fa-server", title="save all"), + ], + size="md", + className="my-3", + ) + ), + dbc.NavItem( + dbc.ButtonGroup( + [ + dbc.Button("HTML file", title="save current"), + dbc.Button(class_name="fa fa-server", title="save all"), + ], + size="md", + # className="my-3", + ) + ), + ], + vertical=True, + pills=True, + ), + html.Hr(), + dbc.Button( + class_name="fa fa-gear", + size="lg", + outline=True, + color="#f8f9fa", + title="project settings", + ), ], id="sidebar", style=SIDEBAR_STYLE, From a354fd17f6273f64ff1c091ae3e1bde72453657e Mon Sep 17 00:00:00 2001 From: Nikolay Date: Sun, 20 Nov 2022 13:14:09 +0300 Subject: [PATCH 9/9] add possibility to change x-axis and y-axis title add possibility to change cmap of heatmap --- pyquac/fmn_app.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pyquac/fmn_app.py b/pyquac/fmn_app.py index f294e0c..0bc1523 100644 --- a/pyquac/fmn_app.py +++ b/pyquac/fmn_app.py @@ -30,7 +30,12 @@ ########################## App Layout ########################## -def conf_app(data): +def conf_app( + data, + x_axis_title: str = "Voltages, V", + y_axis_title: str = "Frequencies, GHz", + cmap: str = "rdylbu", +): def serve_layout(): """Define the layout of the application @@ -57,7 +62,9 @@ def serve_layout(): ), dbc.Row( children=[ - figure_layout(data), + figure_layout( + data, x_axis_title, y_axis_title, cmap + ), ] ), ]