@charset "UTF-8";
/*!
 * Bootstrap  v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #007bff;
  --bs-secondary: #6c757d;
  --bs-success: #28a745;
  --bs-info: #17a2b8;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 0, 123, 255;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 40, 167, 69;
  --bs-info-rgb: 23, 162, 184;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: #004085;
  --bs-secondary-text-emphasis: #383d41;
  --bs-success-text-emphasis: #155724;
  --bs-info-text-emphasis: #0c5460;
  --bs-warning-text-emphasis: #856404;
  --bs-danger-text-emphasis: #721c24;
  --bs-light-text-emphasis: #818182;
  --bs-dark-text-emphasis: #1b1e21;
  --bs-primary-bg-subtle: #cce5ff;
  --bs-secondary-bg-subtle: #e2e3e5;
  --bs-success-bg-subtle: #d4edda;
  --bs-info-bg-subtle: #d1ecf1;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #b8daff;
  --bs-secondary-border-subtle: #d6d8db;
  --bs-success-border-subtle: #c3e6cb;
  --bs-info-border-subtle: #bee5eb;
  --bs-warning-border-subtle: #ffeeba;
  --bs-danger-border-subtle: #f5c6cb;
  --bs-light-border-subtle: #fdfdfe;
  --bs-dark-border-subtle: #c6c8ca;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --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: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #007bff;
  --bs-link-color-rgb: 0, 123, 255;
  --bs-link-decoration: none;
  --bs-link-hover-color: #0062cc;
  --bs-link-hover-color-rgb: 0, 98, 204;
  --bs-link-hover-decoration: underline;
  --bs-code-color: #d63384;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.25rem;
  --bs-border-radius-sm: 0.2rem;
  --bs-border-radius-lg: 0.3rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0;
  --bs-focus-ring-opacity: 0;
  --bs-focus-ring-color: transparent;
  --bs-form-valid-color: #28a745;
  --bs-form-valid-border-color: #28a745;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: #2b3035;
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: #66b0ff;
  --bs-secondary-text-emphasis: #a7acb1;
  --bs-success-text-emphasis: #7eca8f;
  --bs-info-text-emphasis: #74c7d4;
  --bs-warning-text-emphasis: #ffda6a;
  --bs-danger-text-emphasis: #ea868f;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: #001933;
  --bs-secondary-bg-subtle: #161719;
  --bs-success-bg-subtle: #08210e;
  --bs-info-bg-subtle: #052025;
  --bs-warning-bg-subtle: #332701;
  --bs-danger-bg-subtle: #2c0b0e;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: #004a99;
  --bs-secondary-border-subtle: #41464b;
  --bs-success-border-subtle: #186429;
  --bs-info-border-subtle: #0e616e;
  --bs-warning-border-subtle: #997404;
  --bs-danger-border-subtle: #842029;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: #66b0ff;
  --bs-link-hover-color: #85c0ff;
  --bs-link-color-rgb: 102, 176, 255;
  --bs-link-hover-color-rgb: 133, 192, 255;
  --bs-code-color: #e685b5;
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: #664d03;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #75b798;
  --bs-form-valid-border-color: #75b798;
  --bs-form-invalid-color: #ea868f;
  --bs-form-invalid-border-color: #ea868f;
}

*,
*::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: var(--bs-border-width) solid rgba(0, 0, 0, 0.1);
  opacity: 1;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color);
}

h1, .h1 {
  font-size: 2.5rem;
}

h2, .h2 {
  font-size: 2rem;
}

h3, .h3 {
  font-size: 1.75rem;
}

h4, .h4 {
  font-size: 1.5rem;
}

h5, .h5 {
  font-size: 1.25rem;
}

h6, .h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[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;
  color: var(--bs-highlight-color);
  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: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: none;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
  text-decoration: underline;
}

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);
  border-radius: 0.2rem;
}
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.75rem;
  padding-bottom: 0.75rem;
  color: var(--bs-secondary-color);
  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;
  line-height: inherit;
  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] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type=search]::-webkit-search-cancel-button {
  cursor: pointer;
  filter: grayscale(1);
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::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-weight: 300;
  line-height: 1.2;
  font-size: 5rem;
}

.display-2 {
  font-weight: 300;
  line-height: 1.2;
  font-size: 4.5rem;
}

.display-3 {
  font-weight: 300;
  line-height: 1.2;
  font-size: 4rem;
}

.display-4 {
  font-weight: 300;
  line-height: 1.2;
  font-size: 3.5rem;
}

.display-5 {
  font-weight: 300;
  line-height: 1.2;
  font-size: 3rem;
}

.display-6 {
  font-weight: 300;
  line-height: 1.2;
  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: #6c757d;
}
.blockquote-footer::before {
  content: "— ";
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  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: var(--bs-secondary-color);
}

.container,
.container-fluid,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 30px;
  --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;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.row {
  --bs-gutter-x: 30px;
  --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.33333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: #212529;
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: #212529;
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color: #212529;
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: #212529;
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.75rem 0.75rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--bs-border-width);
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: #cce5ff;
  --bs-table-border-color: #a3b7cc;
  --bs-table-striped-bg: #c2daf2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #b8cee6;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bdd4ec;
  --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: #e2e3e5;
  --bs-table-border-color: #b5b6b7;
  --bs-table-striped-bg: #d7d8da;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #cbccce;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d1d2d4;
  --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: #d4edda;
  --bs-table-border-color: #aabeae;
  --bs-table-striped-bg: #c9e1cf;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bfd5c4;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c4dbca;
  --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: #d1ecf1;
  --bs-table-border-color: #a7bdc1;
  --bs-table-striped-bg: #c7e0e5;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bcd4d9;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c1dadf;
  --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: #fff3cd;
  --bs-table-border-color: #ccc2a4;
  --bs-table-striped-bg: #f2e7c3;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #e6dbb9;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #ece1be;
  --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: #f8d7da;
  --bs-table-border-color: #c6acae;
  --bs-table-striped-bg: #eccccf;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfc2c4;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5c7ca;
  --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: #f8f9fa;
  --bs-table-border-color: #c6c7c8;
  --bs-table-striped-bg: #ecedee;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfe0e1;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5e6e7;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #212529;
  --bs-table-border-color: #4d5154;
  --bs-table-striped-bg: #2c3034;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #373b3e;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #323539;
  --bs-table-hover-color: #fff;
  color: 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: calc(0.375rem + var(--bs-border-width));
  padding-bottom: calc(0.375rem + var(--bs-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + var(--bs-border-width));
  padding-bottom: calc(0.5rem + var(--bs-border-width));
  font-size: 1.25rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + var(--bs-border-width));
  padding-bottom: calc(0.25rem + var(--bs-border-width));
  font-size: 0.875rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid #ced4da;
  border-radius: var(--bs-border-radius);
  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: #495057;
  background-color: var(--bs-body-bg);
  border-color: #697386;
  outline: 0;
  box-shadow: none;
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::-moz-placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: #495057;
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  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::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--bs-border-width) 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 + 0.5rem + calc(var(--bs-border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  margin-inline-end: 0.5rem;
}

.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}
.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  margin-inline-end: 1rem;
}

textarea.form-control {
  min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
  padding: 0.375rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color.form-control-sm {
  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-select {
  --bs-form-select-bg-img: 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");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid #ced4da;
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: #697386;
  outline: 0;
  box-shadow: none;
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #495057;
}

.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}

[data-bs-theme=dark] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.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 {
  --bs-form-check-bg: var(--bs-body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--bs-border-width) solid var(--bs-border-color);
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: #697386;
  outline: 0;
  box-shadow: none;
}
.form-check-input:checked {
  background-color: #007bff;
  border-color: #007bff;
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-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] {
  --bs-form-check-bg-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: #007bff;
  border-color: #007bff;
  --bs-form-check-bg-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 {
  --bs-form-switch-bg: 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");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  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 {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23697386'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: 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;
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
}

.form-range {
  width: 100%;
  height: 1rem;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: none;
}
.form-range:focus::-moz-range-thumb {
  box-shadow: none;
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  -webkit-appearance: none;
          appearance: none;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  -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;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    -webkit-transition: none;
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: #b3d7ff;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  -moz-appearance: none;
       appearance: none;
  background-color: #007bff;
  border: 0;
  border-radius: 1rem;
  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    -moz-transition: none;
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: #b3d7ff;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-secondary-color);
}

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  max-width: 100%;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  color: rgba(var(--bs-body-color-rgb), 0.65);
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--bs-border-width) 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 0.75rem;
}
.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), .form-floating > .form-control-plaintext:not(:-moz-placeholder) {
  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;
  padding-left: 0.75rem;
}
.form-floating > .form-control:not(:-moz-placeholder) ~ label {
  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 {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > textarea:not(:-moz-placeholder) ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > textarea:focus ~ label::after,
.form-floating > textarea:not(:placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > textarea:disabled ~ label::after {
  background-color: var(--bs-secondary-bg);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6c757d;
}

.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.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: var(--bs-border-width) solid #ced4da;
  border-radius: var(--bs-border-radius);
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 3rem;
}

.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: calc(-1 * var(--bs-border-width));
  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: var(--bs-form-valid-color);
}

.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: var(--bs-success);
  border-radius: var(--bs-border-radius);
}

.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: var(--bs-form-valid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0 rgba(var(--bs-success-rgb), 0);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.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"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0 rgba(var(--bs-success-rgb), 0);
}

.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0 rgba(var(--bs-success-rgb), 0);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--bs-form-valid-color);
}

.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: var(--bs-form-invalid-color);
}

.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: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}

.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: var(--bs-form-invalid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0 rgba(var(--bs-danger-rgb), 0);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.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"] {
  --bs-form-select-bg-icon: 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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0 rgba(var(--bs-danger-rgb), 0);
}

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0 rgba(var(--bs-danger-rgb), 0);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--bs-form-invalid-color);
}

.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: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --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 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;
  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);
  border-radius: var(--bs-btn-border-radius);
  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;
  }
}
.btn:hover {
  color: var(--bs-btn-hover-color);
  text-decoration: none;
  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);
}
.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-check:checked:focus-visible + .btn {
  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: #000;
  --bs-btn-bg: #007bff;
  --bs-btn-border-color: #007bff;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #268fff;
  --bs-btn-hover-border-color: #1a88ff;
  --bs-btn-focus-shadow-rgb: 0, 105, 217;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #3395ff;
  --bs-btn-active-border-color: #1a88ff;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #007bff;
  --bs-btn-disabled-border-color: #007bff;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5c636a;
  --bs-btn-hover-border-color: #565e64;
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #565e64;
  --bs-btn-active-border-color: #51585e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6c757d;
  --bs-btn-disabled-border-color: #6c757d;
}

.btn-success {
  --bs-btn-color: #000;
  --bs-btn-bg: #28a745;
  --bs-btn-border-color: #28a745;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #48b461;
  --bs-btn-hover-border-color: #3eb058;
  --bs-btn-focus-shadow-rgb: 34, 142, 59;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #53b96a;
  --bs-btn-active-border-color: #3eb058;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #28a745;
  --bs-btn-disabled-border-color: #28a745;
}

.btn-info {
  --bs-btn-color: #000;
  --bs-btn-bg: #17a2b8;
  --bs-btn-border-color: #17a2b8;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #3ab0c3;
  --bs-btn-hover-border-color: #2eabbf;
  --bs-btn-focus-shadow-rgb: 20, 138, 156;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #45b5c6;
  --bs-btn-active-border-color: #2eabbf;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #17a2b8;
  --bs-btn-disabled-border-color: #17a2b8;
}

.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffca2c;
  --bs-btn-hover-border-color: #ffc720;
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffcd39;
  --bs-btn-active-border-color: #ffc720;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ffc107;
  --bs-btn-disabled-border-color: #ffc107;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #bb2d3b;
  --bs-btn-hover-border-color: #b02a37;
  --bs-btn-focus-shadow-rgb: 225, 83, 97;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #b02a37;
  --bs-btn-active-border-color: #a52834;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #dc3545;
  --bs-btn-disabled-border-color: #dc3545;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3d4d5;
  --bs-btn-hover-border-color: #c6c7c8;
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c6c7c8;
  --bs-btn-active-border-color: #babbbc;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --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: #4d5154;
  --bs-btn-active-border-color: #373b3e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}

.btn-outline-primary {
  --bs-btn-color: #007bff;
  --bs-btn-border-color: #007bff;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #007bff;
  --bs-btn-hover-border-color: #007bff;
  --bs-btn-focus-shadow-rgb: 0, 123, 255;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #007bff;
  --bs-btn-active-border-color: #007bff;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #007bff;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #007bff;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6c757d;
  --bs-btn-hover-border-color: #6c757d;
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6c757d;
  --bs-btn-active-border-color: #6c757d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6c757d;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #28a745;
  --bs-btn-border-color: #28a745;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #28a745;
  --bs-btn-hover-border-color: #28a745;
  --bs-btn-focus-shadow-rgb: 40, 167, 69;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #28a745;
  --bs-btn-active-border-color: #28a745;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #28a745;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #28a745;
  --bs-gradient: none;
}

.btn-outline-info {
  --bs-btn-color: #17a2b8;
  --bs-btn-border-color: #17a2b8;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #17a2b8;
  --bs-btn-hover-border-color: #17a2b8;
  --bs-btn-focus-shadow-rgb: 23, 162, 184;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #17a2b8;
  --bs-btn-active-border-color: #17a2b8;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #17a2b8;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #17a2b8;
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffc107;
  --bs-btn-hover-border-color: #ffc107;
  --bs-btn-focus-shadow-rgb: 255, 193, 7;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffc107;
  --bs-btn-active-border-color: #ffc107;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ffc107;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ffc107;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #dc3545;
  --bs-btn-hover-border-color: #dc3545;
  --bs-btn-focus-shadow-rgb: 220, 53, 69;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #dc3545;
  --bs-btn-active-border-color: #dc3545;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #dc3545;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #dc3545;
  --bs-gradient: none;
}

.btn-outline-light {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --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: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f8f9fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f9fa;
  --bs-gradient: none;
}

.btn-outline-dark {
  --bs-btn-color: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --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: #212529;
  --bs-btn-active-border-color: #212529;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #212529;
  --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: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 0, 105, 217;
  text-decoration: none;
}
.btn-link:hover, .btn-link:focus-visible {
  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: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.25rem;
  --bs-btn-border-radius: var(--bs-border-radius-lg);
}

.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}

.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: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: rgba(0, 0, 0, 0.15);
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-dropdown-divider-bg: rgba(0, 0, 0, 0.15);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-body-color);
  --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #007bff;
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1.5rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: #6c757d;
  --bs-dropdown-header-padding-x: 1.5rem;
  --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);
  border-radius: var(--bs-dropdown-border-radius);
}
.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;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  text-decoration: none;
  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: #dee2e6;
  --bs-dropdown-bg: #343a40;
  --bs-dropdown-border-color: rgba(0, 0, 0, 0.15);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #dee2e6;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: rgba(0, 0, 0, 0.15);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #007bff;
  --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 {
  border-radius: var(--bs-border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-left: calc(-1 * var(--bs-border-width));
}
.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: 0.5625rem;
  padding-left: 0.5625rem;
}
.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.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-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: calc(-1 * var(--bs-border-width));
}
.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:nth-child(n+3),
.btn-group-vertical > :not(.btn-check) + .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: var(--bs-secondary-color);
  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);
  background: none;
  border: 0;
  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);
  text-decoration: none;
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: none;
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  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));
  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;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.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));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #007bff;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.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-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-grow: 1;
  flex-basis: 0;
  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: 1rem;
  --bs-navbar-padding-y: 0.5rem;
  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-padding-y: 0.3125rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.25rem;
  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --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%2833, 37, 41, 0.75%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(var(--bs-emphasis-color-rgb), 0.15);
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  --bs-navbar-toggler-focus-width: 0;
  --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 {
  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);
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--bs-navbar-brand-hover-color);
  text-decoration: none;
}

.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 .nav-link.active, .navbar-nav .nav-link.show {
  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-grow: 1;
  flex-basis: 100%;
  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);
  border-radius: var(--bs-navbar-toggler-border-radius);
  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,
.navbar[data-bs-theme=dark] {
  --bs-navbar-color: rgba(255, 255, 255, 0.55);
  --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
  --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");
}

[data-bs-theme=dark] .navbar-toggler-icon {
  --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: 1.25rem;
  --bs-card-spacer-x: 1.25rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: rgba(0, 0, 0, 0.125);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-card-cap-padding-y: 0.75rem;
  --bs-card-cap-padding-x: 1.25rem;
  --bs-card-cap-bg: rgba(0, 0, 0, 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 15px;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  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);
  border-radius: var(--bs-card-border-radius);
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: 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 {
  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);
  color: var(--bs-card-title-color);
}

.card-subtitle {
  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color);
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link:hover {
  text-decoration: none;
}
.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-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));
  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);
  border-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-top,
.card-img-bottom {
  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);
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) > .card-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-bg: var(--bs-body-bg);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23003166' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: none;
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

.accordion-button {
  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;
  border-radius: 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;
  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:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type > .accordion-header .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);
}

.accordion-flush > .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush > .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush > .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse,
.accordion-flush > .accordion-item > .accordion-header .accordion-button,
.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}

[data-bs-theme=dark] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2366b0ff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2366b0ff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
}

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
  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);
  border-radius: var(--bs-breadcrumb-border-radius);
}

.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.5rem;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: var(--bs-border-color);
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: none;
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #007bff;
  --bs-pagination-active-border-color: #007bff;
  --bs-pagination-disabled-color: var(--bs-secondary-color);
  --bs-pagination-disabled-bg: #fff;
  --bs-pagination-disabled-border-color: var(--bs-border-color);
  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);
  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);
  text-decoration: none;
  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: calc(-1 * var(--bs-border-width));
}
.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;
  --bs-pagination-font-size: 1.25rem;
  --bs-pagination-border-radius: var(--bs-border-radius-lg);
}

.pagination-sm {
  --bs-pagination-padding-x: 0.5rem;
  --bs-pagination-padding-y: 0.25rem;
  --bs-pagination-font-size: 0.875rem;
  --bs-pagination-border-radius: var(--bs-border-radius-sm);
}

.badge {
  --bs-badge-padding-x: 0.4em;
  --bs-badge-padding-y: 0.25em;
  --bs-badge-font-size: 0.75em;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #fff;
  --bs-badge-border-radius: var(--bs-border-radius);
  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;
  border-radius: var(--bs-badge-border-radius);
}
.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 1.25rem;
  --bs-alert-padding-y: 0.75rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-radius: var(--bs-border-radius);
  --bs-alert-link-color: inherit;
  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);
  border-radius: var(--bs-alert-border-radius);
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
  color: var(--bs-alert-link-color);
}

.alert-dismissible {
  padding-right: 4rem;
}
.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 0.9375rem 1.25rem;
}

.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis);
  --bs-alert-bg: var(--bs-primary-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-border-subtle);
  --bs-alert-link-color: var(--bs-primary-text-emphasis);
}

.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis);
  --bs-alert-bg: var(--bs-secondary-bg-subtle);
  --bs-alert-border-color: var(--bs-secondary-border-subtle);
  --bs-alert-link-color: var(--bs-secondary-text-emphasis);
}

.alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis);
  --bs-alert-bg: var(--bs-success-bg-subtle);
  --bs-alert-border-color: var(--bs-success-border-subtle);
  --bs-alert-link-color: var(--bs-success-text-emphasis);
}

.alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis);
  --bs-alert-bg: var(--bs-info-bg-subtle);
  --bs-alert-border-color: var(--bs-info-border-subtle);
  --bs-alert-link-color: var(--bs-info-text-emphasis);
}

.alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis);
  --bs-alert-bg: var(--bs-warning-bg-subtle);
  --bs-alert-border-color: var(--bs-warning-border-subtle);
  --bs-alert-link-color: var(--bs-warning-text-emphasis);
}

.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis);
  --bs-alert-bg: var(--bs-danger-bg-subtle);
  --bs-alert-border-color: var(--bs-danger-border-subtle);
  --bs-alert-link-color: var(--bs-danger-text-emphasis);
}

.alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis);
  --bs-alert-bg: var(--bs-light-bg-subtle);
  --bs-alert-border-color: var(--bs-light-border-subtle);
  --bs-alert-link-color: var(--bs-light-text-emphasis);
}

.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis);
  --bs-alert-bg: var(--bs-dark-bg-subtle);
  --bs-alert-border-color: var(--bs-dark-border-subtle);
  --bs-alert-link-color: var(--bs-dark-text-emphasis);
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: var(--bs-progress-height);
  }
}
.progress,
.progress-stacked {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: 0.75rem;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--bs-border-radius);
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: #fff;
  --bs-progress-bar-bg: #007bff;
  --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);
}

.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-stacked > .progress {
  overflow: visible;
}

.progress-stacked > .progress > .progress-bar {
  width: 100%;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

.list-group {
  --bs-list-group-color: var(--bs-body-color);
  --bs-list-group-bg: var(--bs-body-bg);
  --bs-list-group-border-color: rgba(0, 0, 0, 0.125);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-border-radius: var(--bs-border-radius);
  --bs-list-group-item-padding-x: 1.25rem;
  --bs-list-group-item-padding-y: 0.75rem;
  --bs-list-group-action-color: var(--bs-secondary-color);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
  --bs-list-group-action-active-color: var(--bs-body-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-bg);
  --bs-list-group-disabled-color: var(--bs-secondary-color);
  --bs-list-group-disabled-bg: var(--bs-body-bg);
  --bs-list-group-active-color: #fff;
  --bs-list-group-active-bg: #007bff;
  --bs-list-group-active-border-color: #007bff;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}

.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 {
  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);
  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;
  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-item-action {
  width: 100%;
  color: var(--bs-list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):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:not(.active):active {
  color: var(--bs-list-group-action-active-color);
  background-color: var(--bs-list-group-action-active-bg);
}

.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;
}
.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: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;
  }
  .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: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;
  }
  .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: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;
  }
  .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: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;
  }
  .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: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;
  }
  .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 {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 var(--bs-list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  --bs-list-group-color: var(--bs-primary-text-emphasis);
  --bs-list-group-bg: var(--bs-primary-bg-subtle);
  --bs-list-group-border-color: var(--bs-primary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
  --bs-list-group-active-color: var(--bs-primary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
}

.list-group-item-secondary {
  --bs-list-group-color: var(--bs-secondary-text-emphasis);
  --bs-list-group-bg: var(--bs-secondary-bg-subtle);
  --bs-list-group-border-color: var(--bs-secondary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
}

.list-group-item-success {
  --bs-list-group-color: var(--bs-success-text-emphasis);
  --bs-list-group-bg: var(--bs-success-bg-subtle);
  --bs-list-group-border-color: var(--bs-success-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
  --bs-list-group-active-color: var(--bs-success-bg-subtle);
  --bs-list-group-active-bg: var(--bs-success-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
}

.list-group-item-info {
  --bs-list-group-color: var(--bs-info-text-emphasis);
  --bs-list-group-bg: var(--bs-info-bg-subtle);
  --bs-list-group-border-color: var(--bs-info-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
  --bs-list-group-active-color: var(--bs-info-bg-subtle);
  --bs-list-group-active-bg: var(--bs-info-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
}

.list-group-item-warning {
  --bs-list-group-color: var(--bs-warning-text-emphasis);
  --bs-list-group-bg: var(--bs-warning-bg-subtle);
  --bs-list-group-border-color: var(--bs-warning-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
  --bs-list-group-active-color: var(--bs-warning-bg-subtle);
  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
}

.list-group-item-danger {
  --bs-list-group-color: var(--bs-danger-text-emphasis);
  --bs-list-group-bg: var(--bs-danger-bg-subtle);
  --bs-list-group-border-color: var(--bs-danger-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
  --bs-list-group-active-color: var(--bs-danger-bg-subtle);
  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
}

.list-group-item-light {
  --bs-list-group-color: var(--bs-light-text-emphasis);
  --bs-list-group-bg: var(--bs-light-bg-subtle);
  --bs-list-group-border-color: var(--bs-light-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
  --bs-list-group-active-color: var(--bs-light-bg-subtle);
  --bs-list-group-active-bg: var(--bs-light-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
}

.list-group-item-dark {
  --bs-list-group-color: var(--bs-dark-text-emphasis);
  --bs-list-group-bg: var(--bs-dark-bg-subtle);
  --bs-list-group-border-color: var(--bs-dark-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
  --bs-list-group-active-color: var(--bs-dark-bg-subtle);
  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
}

.btn-close {
  --bs-btn-close-color: #000;
  --bs-btn-close-bg: 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.414'/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 0.5;
  --bs-btn-close-hover-opacity: 0.75;
  --bs-btn-close-focus-shadow: none;
  --bs-btn-close-focus-opacity: 1;
  --bs-btn-close-disabled-opacity: 0.25;
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
  filter: var(--bs-btn-close-filter);
  border: 0;
  border-radius: 0.25rem;
  opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
  color: var(--bs-btn-close-color);
  text-decoration: none;
  opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--bs-btn-close-focus-shadow);
  opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}

.btn-close-white {
  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

:root,
[data-bs-theme=light] {
  --bs-btn-close-filter: ;
}

[data-bs-theme=dark] {
  --bs-btn-close-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: 30px;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: var(--bs-border-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow);
  --bs-toast-header-color: var(--bs-secondary-color);
  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-header-border-color: var(--bs-border-color-translucent);
  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);
  border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}

.toast-container {
  --bs-toast-zindex: 1090;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  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);
  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));
  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: var(--bs-body-color);
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: rgba(0, 0, 0, 0.2);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-border-radius: var(--bs-border-radius-lg);
  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
  --bs-modal-header-padding-x: 1rem;
  --bs-modal-header-padding-y: 1rem;
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --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: var(--bs-border-width);
  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 {
  transform: translate(0, -50px);
  transition: transform 0.3s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  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);
  border-radius: var(--bs-modal-border-radius);
  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;
  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);
  margin-top: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-right: calc(-0.5 * var(--bs-modal-header-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-left: 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);
  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);
}

@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: var(--bs-box-shadow);
  }
  .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;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 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;
    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;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 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;
    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;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 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;
    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;
  }
}
.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: var(--bs-body-bg);
  --bs-tooltip-bg: var(--bs-emphasis-color);
  --bs-tooltip-border-radius: var(--bs-border-radius);
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  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: calc(-1 * var(--bs-tooltip-arrow-height));
}
.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: calc(-1 * var(--bs-tooltip-arrow-height));
  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: calc(-1 * var(--bs-tooltip-arrow-height));
}
.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: calc(-1 * var(--bs-tooltip-arrow-height));
  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);
  border-radius: var(--bs-tooltip-border-radius);
}

.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 276px;
  --bs-popover-font-size: 0.875rem;
  --bs-popover-bg: var(--bs-body-bg);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-border-color: var(--bs-border-color-translucent);
  --bs-popover-border-radius: var(--bs-border-radius-lg);
  --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
  --bs-popover-box-shadow: var(--bs-box-shadow);
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-header-padding-y: 0.5rem;
  --bs-popover-header-font-size: 1rem;
  --bs-popover-header-color: inherit;
  --bs-popover-header-bg: var(--bs-secondary-bg);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: 1rem;
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  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);
  border-radius: var(--bs-popover-border-radius);
}
.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);
  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;
}

.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%;
  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;
}

.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%);
}

.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;
  filter: var(--bs-carousel-control-icon-filter);
  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%;
}

.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 0'/%3e%3c/svg%3e") /*rtl: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-.708'/%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-.708'/%3e%3c/svg%3e") /*rtl: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 0'/%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%;
}
.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: var(--bs-carousel-indicator-active-bg);
  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: var(--bs-carousel-caption-color);
  text-align: center;
}

.carousel-dark {
  --bs-carousel-indicator-active-bg: #000;
  --bs-carousel-caption-color: #000;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}

:root,
[data-bs-theme=light] {
  --bs-carousel-indicator-active-bg: #fff;
  --bs-carousel-caption-color: #fff;
  --bs-carousel-control-icon-filter: ;
}

[data-bs-theme=dark] {
  --bs-carousel-indicator-active-bg: #000;
  --bs-carousel-caption-color: #000;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  flex-shrink: 0;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}

@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;
}

@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: 420px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-body-bg);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-border-color: rgba(0, 0, 0, 0.2);
  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-title-line-height: 1.5;
}

@media (max-width: 575.98px) {
  .offcanvas-sm {
    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: var(--bs-offcanvas-transition);
  }
}
@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%);
  }
  .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%);
  }
  .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%);
  }
  .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%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
  .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: var(--bs-offcanvas-transition);
  }
}
@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%);
  }
  .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%);
  }
  .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%);
  }
  .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%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
  .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: var(--bs-offcanvas-transition);
  }
}
@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%);
  }
  .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%);
  }
  .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%);
  }
  .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%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
  .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: var(--bs-offcanvas-transition);
  }
}
@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%);
  }
  .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%);
  }
  .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%);
  }
  .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%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
  .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: var(--bs-offcanvas-transition);
  }
}
@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%);
  }
  .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%);
  }
  .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%);
  }
  .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%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
  .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: var(--bs-offcanvas-transition);
}
@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;
  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));
  margin-left: auto;
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}

.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 {
  animation: placeholder-glow 2s ease-in-out infinite;
}

@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%;
  animation: placeholder-wave 2s linear infinite;
}

@keyframes placeholder-wave {
  100% {
    -webkit-mask-position: -200% 0%;
            mask-position: -200% 0%;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.text-bg-primary {
  color: #000 !important;
  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #fff !important;
  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #000 !important;
  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #000 !important;
  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #000 !important;
  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #fff !important;
  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000 !important;
  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}

.link-primary {
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(51, 149, 255, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(51, 149, 255, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(83, 185, 106, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(83, 185, 106, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(69, 181, 198, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(69, 181, 198, var(--bs-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}

.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}

.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}

.ratio-4x3 {
  --bs-aspect-ratio: 75%;
}

.ratio-16x9 {
  --bs-aspect-ratio: 56.25%;
}

.ratio-21x9 {
  --bs-aspect-ratio: 42.8571428571%;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    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) {
  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;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}
.visually-hidden *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
  overflow: hidden !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: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 1;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.float-start {
  float: left !important;
}

.float-end {
  float: right !important;
}

.float-none {
  float: none !important;
}

.object-fit-contain {
  -o-object-fit: contain !important;
     object-fit: contain !important;
}

.object-fit-cover {
  -o-object-fit: cover !important;
     object-fit: cover !important;
}

.object-fit-fill {
  -o-object-fit: fill !important;
     object-fit: fill !important;
}

.object-fit-scale {
  -o-object-fit: scale-down !important;
     object-fit: scale-down !important;
}

.object-fit-none {
  -o-object-fit: none !important;
     object-fit: none !important;
}

.opacity-0 {
  opacity: 0 !important;
}

.opacity-25 {
  opacity: 0.25 !important;
}

.opacity-50 {
  opacity: 0.5 !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-y-scroll {
  overflow-y: 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-inline-grid {
  display: inline-grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.shadow, .rounded-video .plyr {
  box-shadow: var(--bs-box-shadow) !important;
}

.shadow-sm {
  box-shadow: var(--bs-box-shadow-sm) !important;
}

.shadow-lg {
  box-shadow: var(--bs-box-shadow-lg) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.focus-ring-primary {
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-secondary {
  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-success {
  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-info {
  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-warning {
  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-danger {
  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-light {
  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-dark {
  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.top-0 {
  top: 0 !important;
}

.top-50 {
  top: 50% !important;
}

.top-100 {
  top: 100% !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.bottom-50 {
  bottom: 50% !important;
}

.bottom-100 {
  bottom: 100% !important;
}

.start-0 {
  left: 0 !important;
}

.start-50 {
  left: 50% !important;
}

.start-100 {
  left: 100% !important;
}

.end-0 {
  right: 0 !important;
}

.end-50 {
  right: 50% !important;
}

.end-100 {
  right: 100% !important;
}

.translate-middle {
  transform: translate(-50%, -50%) !important;
}

.translate-middle-x {
  transform: translateX(-50%) !important;
}

.translate-middle-y {
  transform: translateY(-50%) !important;
}

.border {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-0 {
  border: 0 !important;
}

.border-top {
  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-end {
  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-end-0 {
  border-right: 0 !important;
}

.border-bottom {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-start {
  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-start-0 {
  border-left: 0 !important;
}

.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}

.border-secondary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
}

.border-success {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}

.border-info {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
}

.border-warning {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}

.border-danger {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
}

.border-light {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}

.border-dark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}

.border-black {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}

.border-white {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}

.border-primary-subtle {
  border-color: var(--bs-primary-border-subtle) !important;
}

.border-secondary-subtle {
  border-color: var(--bs-secondary-border-subtle) !important;
}

.border-success-subtle {
  border-color: var(--bs-success-border-subtle) !important;
}

.border-info-subtle {
  border-color: var(--bs-info-border-subtle) !important;
}

.border-warning-subtle {
  border-color: var(--bs-warning-border-subtle) !important;
}

.border-danger-subtle {
  border-color: var(--bs-danger-border-subtle) !important;
}

.border-light-subtle {
  border-color: var(--bs-light-border-subtle) !important;
}

.border-dark-subtle {
  border-color: var(--bs-dark-border-subtle) !important;
}

.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

.border-opacity-10 {
  --bs-border-opacity: 0.1;
}

.border-opacity-25 {
  --bs-border-opacity: 0.25;
}

.border-opacity-50 {
  --bs-border-opacity: 0.5;
}

.border-opacity-75 {
  --bs-border-opacity: 0.75;
}

.border-opacity-100 {
  --bs-border-opacity: 1;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.vw-100 {
  width: 100vw !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mh-100 {
  max-height: 100% !important;
}

.vh-100 {
  height: 100vh !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.order-first {
  order: -1 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-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, .li-mb-1 li:not(:last-child) {
  margin-bottom: 0.25rem !important;
}

.mb-2, .li-mb-2 li:not(:last-child) {
  margin-bottom: 0.5rem !important;
}

.mb-3, .li-mb-3 li:not(:last-child) {
  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;
}

.m-n1 {
  margin: -0.25rem !important;
}

.m-n2 {
  margin: -0.5rem !important;
}

.m-n3 {
  margin: -1rem !important;
}

.m-n4 {
  margin: -1.5rem !important;
}

.m-n5 {
  margin: -3rem !important;
}

.mx-n1 {
  margin-right: -0.25rem !important;
  margin-left: -0.25rem !important;
}

.mx-n2 {
  margin-right: -0.5rem !important;
  margin-left: -0.5rem !important;
}

.mx-n3 {
  margin-right: -1rem !important;
  margin-left: -1rem !important;
}

.mx-n4 {
  margin-right: -1.5rem !important;
  margin-left: -1.5rem !important;
}

.mx-n5 {
  margin-right: -3rem !important;
  margin-left: -3rem !important;
}

.my-n1 {
  margin-top: -0.25rem !important;
  margin-bottom: -0.25rem !important;
}

.my-n2 {
  margin-top: -0.5rem !important;
  margin-bottom: -0.5rem !important;
}

.my-n3 {
  margin-top: -1rem !important;
  margin-bottom: -1rem !important;
}

.my-n4 {
  margin-top: -1.5rem !important;
  margin-bottom: -1.5rem !important;
}

.my-n5 {
  margin-top: -3rem !important;
  margin-bottom: -3rem !important;
}

.mt-n1 {
  margin-top: -0.25rem !important;
}

.mt-n2 {
  margin-top: -0.5rem !important;
}

.mt-n3 {
  margin-top: -1rem !important;
}

.mt-n4 {
  margin-top: -1.5rem !important;
}

.mt-n5 {
  margin-top: -3rem !important;
}

.me-n1 {
  margin-right: -0.25rem !important;
}

.me-n2 {
  margin-right: -0.5rem !important;
}

.me-n3 {
  margin-right: -1rem !important;
}

.me-n4 {
  margin-right: -1.5rem !important;
}

.me-n5 {
  margin-right: -3rem !important;
}

.mb-n1 {
  margin-bottom: -0.25rem !important;
}

.mb-n2 {
  margin-bottom: -0.5rem !important;
}

.mb-n3 {
  margin-bottom: -1rem !important;
}

.mb-n4 {
  margin-bottom: -1.5rem !important;
}

.mb-n5 {
  margin-bottom: -3rem !important;
}

.ms-n1 {
  margin-left: -0.25rem !important;
}

.ms-n2 {
  margin-left: -0.5rem !important;
}

.ms-n3 {
  margin-left: -1rem !important;
}

.ms-n4 {
  margin-left: -1.5rem !important;
}

.ms-n5 {
  margin-left: -3rem !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;
}

.row-gap-0 {
  row-gap: 0 !important;
}

.row-gap-1 {
  row-gap: 0.25rem !important;
}

.row-gap-2 {
  row-gap: 0.5rem !important;
}

.row-gap-3 {
  row-gap: 1rem !important;
}

.row-gap-4 {
  row-gap: 1.5rem !important;
}

.row-gap-5 {
  row-gap: 3rem !important;
}

.column-gap-0 {
  -moz-column-gap: 0 !important;
       column-gap: 0 !important;
}

.column-gap-1 {
  -moz-column-gap: 0.25rem !important;
       column-gap: 0.25rem !important;
}

.column-gap-2 {
  -moz-column-gap: 0.5rem !important;
       column-gap: 0.5rem !important;
}

.column-gap-3 {
  -moz-column-gap: 1rem !important;
       column-gap: 1rem !important;
}

.column-gap-4 {
  -moz-column-gap: 1.5rem !important;
       column-gap: 1.5rem !important;
}

.column-gap-5 {
  -moz-column-gap: 3rem !important;
       column-gap: 3rem !important;
}

.font-monospace {
  font-family: var(--bs-font-monospace) !important;
}

.fs-1 {
  font-size: 2.5rem !important;
}

.fs-2 {
  font-size: 2rem !important;
}

.fs-3 {
  font-size: 1.75rem !important;
}

.fs-4 {
  font-size: 1.5rem !important;
}

.fs-5 {
  font-size: 1.25rem !important;
}

.fs-6 {
  font-size: 1rem !important;
}

.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

.fw-lighter {
  font-weight: lighter !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-bolder {
  font-weight: bolder !important;
}

.lh-1 {
  line-height: 1 !important;
}

.lh-sm {
  line-height: 1.25 !important;
}

.lh-base {
  line-height: 1.5 !important;
}

.lh-lg {
  line-height: 2 !important;
}

.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-decoration-underline {
  text-decoration: underline !important;
}

.text-decoration-line-through {
  text-decoration: line-through !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

/* rtl:end:remove */
.text-primary, .btn-secondary i.app-icon {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.text-secondary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
}

.text-success {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}

.text-info {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
}

.text-warning {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}

.text-danger {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}

.text-light {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}

.text-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}

.text-black {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}

.text-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

.text-body {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}

.text-muted {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}

.text-black-50 {
  --bs-text-opacity: 1;
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-body-secondary {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}

.text-body-tertiary {
  --bs-text-opacity: 1;
  color: var(--bs-tertiary-color) !important;
}

.text-body-emphasis {
  --bs-text-opacity: 1;
  color: var(--bs-emphasis-color) !important;
}

.text-reset {
  --bs-text-opacity: 1;
  color: inherit !important;
}

.text-opacity-25 {
  --bs-text-opacity: 0.25;
}

.text-opacity-50 {
  --bs-text-opacity: 0.5;
}

.text-opacity-75 {
  --bs-text-opacity: 0.75;
}

.text-opacity-100 {
  --bs-text-opacity: 1;
}

.text-primary-emphasis {
  color: var(--bs-primary-text-emphasis) !important;
}

.text-secondary-emphasis {
  color: var(--bs-secondary-text-emphasis) !important;
}

.text-success-emphasis {
  color: var(--bs-success-text-emphasis) !important;
}

.text-info-emphasis {
  color: var(--bs-info-text-emphasis) !important;
}

.text-warning-emphasis {
  color: var(--bs-warning-text-emphasis) !important;
}

.text-danger-emphasis {
  color: var(--bs-danger-text-emphasis) !important;
}

.text-light-emphasis {
  color: var(--bs-light-text-emphasis) !important;
}

.text-dark-emphasis {
  color: var(--bs-dark-text-emphasis) !important;
}

.link-opacity-10 {
  --bs-link-opacity: 0.1;
}

.link-opacity-10-hover:hover {
  --bs-link-opacity: 0.1;
}

.link-opacity-25 {
  --bs-link-opacity: 0.25;
}

.link-opacity-25-hover:hover {
  --bs-link-opacity: 0.25;
}

.link-opacity-50 {
  --bs-link-opacity: 0.5;
}

.link-opacity-50-hover:hover {
  --bs-link-opacity: 0.5;
}

.link-opacity-75 {
  --bs-link-opacity: 0.75;
}

.link-opacity-75-hover:hover {
  --bs-link-opacity: 0.75;
}

.link-opacity-100 {
  --bs-link-opacity: 1;
}

.link-opacity-100-hover:hover {
  --bs-link-opacity: 1;
}

.link-offset-1 {
  text-underline-offset: 0.125em !important;
}

.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}

.link-offset-2 {
  text-underline-offset: 0.25em !important;
}

.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}

.link-offset-3 {
  text-underline-offset: 0.375em !important;
}

.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}

.link-underline-primary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-secondary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-success {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-info {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-warning {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-danger {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-light {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-dark {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

.link-underline-opacity-0 {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-0-hover:hover {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-10 {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-10-hover:hover {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-25 {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-25-hover:hover {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-50 {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-50-hover:hover {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-75 {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-75-hover:hover {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-100 {
  --bs-link-underline-opacity: 1;
}

.link-underline-opacity-100-hover:hover {
  --bs-link-underline-opacity: 1;
}

.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-success {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}

.bg-info {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}

.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}

.bg-danger {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}

.bg-light {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
}

.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-transparent {
  --bs-bg-opacity: 1;
  background-color: transparent !important;
}

.bg-body-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body-tertiary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-opacity-10 {
  --bs-bg-opacity: 0.1;
}

.bg-opacity-25 {
  --bs-bg-opacity: 0.25;
}

.bg-opacity-50 {
  --bs-bg-opacity: 0.5;
}

.bg-opacity-75 {
  --bs-bg-opacity: 0.75;
}

.bg-opacity-100 {
  --bs-bg-opacity: 1;
}

.bg-primary-subtle {
  background-color: var(--bs-primary-bg-subtle) !important;
}

.bg-secondary-subtle {
  background-color: var(--bs-secondary-bg-subtle) !important;
}

.bg-success-subtle {
  background-color: var(--bs-success-bg-subtle) !important;
}

.bg-info-subtle {
  background-color: var(--bs-info-bg-subtle) !important;
}

.bg-warning-subtle {
  background-color: var(--bs-warning-bg-subtle) !important;
}

.bg-danger-subtle {
  background-color: var(--bs-danger-bg-subtle) !important;
}

.bg-light-subtle {
  background-color: var(--bs-light-bg-subtle) !important;
}

.bg-dark-subtle {
  background-color: var(--bs-dark-bg-subtle) !important;
}

.bg-gradient {
  background-image: var(--bs-gradient) !important;
}

.user-select-all {
  -webkit-user-select: all !important;
     -moz-user-select: all !important;
          user-select: all !important;
}

.user-select-auto {
  -webkit-user-select: auto !important;
     -moz-user-select: auto !important;
          user-select: auto !important;
}

.user-select-none {
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
          user-select: none !important;
}

.pe-none {
  pointer-events: none !important;
}

.pe-auto {
  pointer-events: auto !important;
}

.rounded {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-1 {
  border-radius: var(--bs-border-radius-sm) !important;
}

.rounded-2 {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-3 {
  border-radius: var(--bs-border-radius-lg) !important;
}

.rounded-4 {
  border-radius: var(--bs-border-radius-xl) !important;
}

.rounded-5 {
  border-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: var(--bs-border-radius-pill) !important;
}

.rounded-top {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-top-1 {
  border-top-left-radius: var(--bs-border-radius-sm) !important;
  border-top-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-top-2 {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-3 {
  border-top-left-radius: var(--bs-border-radius-lg) !important;
  border-top-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-top-4 {
  border-top-left-radius: var(--bs-border-radius-xl) !important;
  border-top-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-top-5 {
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-top-circle {
  border-top-left-radius: 50% !important;
  border-top-right-radius: 50% !important;
}

.rounded-top-pill {
  border-top-left-radius: var(--bs-border-radius-pill) !important;
  border-top-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-end {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.rounded-end-1 {
  border-top-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-end-2 {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-3 {
  border-top-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-end-4 {
  border-top-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-end-5 {
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-end-circle {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

.rounded-end-pill {
  border-top-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-bottom {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-0 {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.rounded-bottom-1 {
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-bottom-2 {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-3 {
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-bottom-4 {
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-bottom-5 {
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-bottom-circle {
  border-bottom-right-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}

.rounded-bottom-pill {
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
}

.rounded-start {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}

.rounded-start-1 {
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
  border-top-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-start-2 {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-3 {
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
  border-top-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-start-4 {
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
  border-top-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-start-5 {
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-start-circle {
  border-bottom-left-radius: 50% !important;
  border-top-left-radius: 50% !important;
}

.rounded-start-pill {
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
  border-top-left-radius: var(--bs-border-radius-pill) !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.z-n1 {
  z-index: -1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}

@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-sm-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-sm-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-sm-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    -o-object-fit: none !important;
       object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-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;
  }
  .m-sm-n1 {
    margin: -0.25rem !important;
  }
  .m-sm-n2 {
    margin: -0.5rem !important;
  }
  .m-sm-n3 {
    margin: -1rem !important;
  }
  .m-sm-n4 {
    margin: -1.5rem !important;
  }
  .m-sm-n5 {
    margin: -3rem !important;
  }
  .mx-sm-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-sm-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-sm-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-sm-n4 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-sm-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .my-sm-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-sm-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-sm-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-sm-n4 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-sm-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .mt-sm-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-sm-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-sm-n3 {
    margin-top: -1rem !important;
  }
  .mt-sm-n4 {
    margin-top: -1.5rem !important;
  }
  .mt-sm-n5 {
    margin-top: -3rem !important;
  }
  .me-sm-n1 {
    margin-right: -0.25rem !important;
  }
  .me-sm-n2 {
    margin-right: -0.5rem !important;
  }
  .me-sm-n3 {
    margin-right: -1rem !important;
  }
  .me-sm-n4 {
    margin-right: -1.5rem !important;
  }
  .me-sm-n5 {
    margin-right: -3rem !important;
  }
  .mb-sm-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-sm-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-sm-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-sm-n4 {
    margin-bottom: -1.5rem !important;
  }
  .mb-sm-n5 {
    margin-bottom: -3rem !important;
  }
  .ms-sm-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-sm-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-sm-n3 {
    margin-left: -1rem !important;
  }
  .ms-sm-n4 {
    margin-left: -1.5rem !important;
  }
  .ms-sm-n5 {
    margin-left: -3rem !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;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-sm-3 {
    row-gap: 1rem !important;
  }
  .row-gap-sm-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-sm-5 {
    row-gap: 3rem !important;
  }
  .column-gap-sm-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-sm-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-sm-5 {
    -moz-column-gap: 3rem !important;
         column-gap: 3rem !important;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-md-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-md-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-md-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-md-none {
    -o-object-fit: none !important;
       object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-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;
  }
  .m-md-n1 {
    margin: -0.25rem !important;
  }
  .m-md-n2 {
    margin: -0.5rem !important;
  }
  .m-md-n3 {
    margin: -1rem !important;
  }
  .m-md-n4 {
    margin: -1.5rem !important;
  }
  .m-md-n5 {
    margin: -3rem !important;
  }
  .mx-md-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-md-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-md-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-md-n4 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-md-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .my-md-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-md-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-md-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-md-n4 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-md-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .mt-md-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-md-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-md-n3 {
    margin-top: -1rem !important;
  }
  .mt-md-n4 {
    margin-top: -1.5rem !important;
  }
  .mt-md-n5 {
    margin-top: -3rem !important;
  }
  .me-md-n1 {
    margin-right: -0.25rem !important;
  }
  .me-md-n2 {
    margin-right: -0.5rem !important;
  }
  .me-md-n3 {
    margin-right: -1rem !important;
  }
  .me-md-n4 {
    margin-right: -1.5rem !important;
  }
  .me-md-n5 {
    margin-right: -3rem !important;
  }
  .mb-md-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-md-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-md-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-md-n4 {
    margin-bottom: -1.5rem !important;
  }
  .mb-md-n5 {
    margin-bottom: -3rem !important;
  }
  .ms-md-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-md-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-md-n3 {
    margin-left: -1rem !important;
  }
  .ms-md-n4 {
    margin-left: -1.5rem !important;
  }
  .ms-md-n5 {
    margin-left: -3rem !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;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-md-3 {
    row-gap: 1rem !important;
  }
  .row-gap-md-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-md-5 {
    row-gap: 3rem !important;
  }
  .column-gap-md-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-md-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-md-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-md-5 {
    -moz-column-gap: 3rem !important;
         column-gap: 3rem !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-lg-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-lg-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-lg-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    -o-object-fit: none !important;
       object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-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;
  }
  .m-lg-n1 {
    margin: -0.25rem !important;
  }
  .m-lg-n2 {
    margin: -0.5rem !important;
  }
  .m-lg-n3 {
    margin: -1rem !important;
  }
  .m-lg-n4 {
    margin: -1.5rem !important;
  }
  .m-lg-n5 {
    margin: -3rem !important;
  }
  .mx-lg-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-lg-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-lg-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-lg-n4 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-lg-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .my-lg-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-lg-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-lg-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-lg-n4 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-lg-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .mt-lg-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-lg-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-lg-n3 {
    margin-top: -1rem !important;
  }
  .mt-lg-n4 {
    margin-top: -1.5rem !important;
  }
  .mt-lg-n5 {
    margin-top: -3rem !important;
  }
  .me-lg-n1 {
    margin-right: -0.25rem !important;
  }
  .me-lg-n2 {
    margin-right: -0.5rem !important;
  }
  .me-lg-n3 {
    margin-right: -1rem !important;
  }
  .me-lg-n4 {
    margin-right: -1.5rem !important;
  }
  .me-lg-n5 {
    margin-right: -3rem !important;
  }
  .mb-lg-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-lg-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-lg-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-lg-n4 {
    margin-bottom: -1.5rem !important;
  }
  .mb-lg-n5 {
    margin-bottom: -3rem !important;
  }
  .ms-lg-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-lg-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-lg-n3 {
    margin-left: -1rem !important;
  }
  .ms-lg-n4 {
    margin-left: -1.5rem !important;
  }
  .ms-lg-n5 {
    margin-left: -3rem !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;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-lg-3 {
    row-gap: 1rem !important;
  }
  .row-gap-lg-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-lg-5 {
    row-gap: 3rem !important;
  }
  .column-gap-lg-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-lg-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-lg-5 {
    -moz-column-gap: 3rem !important;
         column-gap: 3rem !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-xl-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-xl-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-xl-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    -o-object-fit: none !important;
       object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-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;
  }
  .m-xl-n1 {
    margin: -0.25rem !important;
  }
  .m-xl-n2 {
    margin: -0.5rem !important;
  }
  .m-xl-n3 {
    margin: -1rem !important;
  }
  .m-xl-n4 {
    margin: -1.5rem !important;
  }
  .m-xl-n5 {
    margin: -3rem !important;
  }
  .mx-xl-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-xl-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-xl-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-xl-n4 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-xl-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .my-xl-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-xl-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-xl-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-xl-n4 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-xl-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .mt-xl-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-xl-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-xl-n3 {
    margin-top: -1rem !important;
  }
  .mt-xl-n4 {
    margin-top: -1.5rem !important;
  }
  .mt-xl-n5 {
    margin-top: -3rem !important;
  }
  .me-xl-n1 {
    margin-right: -0.25rem !important;
  }
  .me-xl-n2 {
    margin-right: -0.5rem !important;
  }
  .me-xl-n3 {
    margin-right: -1rem !important;
  }
  .me-xl-n4 {
    margin-right: -1.5rem !important;
  }
  .me-xl-n5 {
    margin-right: -3rem !important;
  }
  .mb-xl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-xl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-xl-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-xl-n4 {
    margin-bottom: -1.5rem !important;
  }
  .mb-xl-n5 {
    margin-bottom: -3rem !important;
  }
  .ms-xl-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-xl-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-xl-n3 {
    margin-left: -1rem !important;
  }
  .ms-xl-n4 {
    margin-left: -1.5rem !important;
  }
  .ms-xl-n5 {
    margin-left: -3rem !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;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xl-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-xl-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-xl-5 {
    -moz-column-gap: 3rem !important;
         column-gap: 3rem !important;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    -o-object-fit: none !important;
       object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-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;
  }
  .m-xxl-n1 {
    margin: -0.25rem !important;
  }
  .m-xxl-n2 {
    margin: -0.5rem !important;
  }
  .m-xxl-n3 {
    margin: -1rem !important;
  }
  .m-xxl-n4 {
    margin: -1.5rem !important;
  }
  .m-xxl-n5 {
    margin: -3rem !important;
  }
  .mx-xxl-n1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
  .mx-xxl-n2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
  .mx-xxl-n3 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .mx-xxl-n4 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
  .mx-xxl-n5 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
  .my-xxl-n1 {
    margin-top: -0.25rem !important;
    margin-bottom: -0.25rem !important;
  }
  .my-xxl-n2 {
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
  }
  .my-xxl-n3 {
    margin-top: -1rem !important;
    margin-bottom: -1rem !important;
  }
  .my-xxl-n4 {
    margin-top: -1.5rem !important;
    margin-bottom: -1.5rem !important;
  }
  .my-xxl-n5 {
    margin-top: -3rem !important;
    margin-bottom: -3rem !important;
  }
  .mt-xxl-n1 {
    margin-top: -0.25rem !important;
  }
  .mt-xxl-n2 {
    margin-top: -0.5rem !important;
  }
  .mt-xxl-n3 {
    margin-top: -1rem !important;
  }
  .mt-xxl-n4 {
    margin-top: -1.5rem !important;
  }
  .mt-xxl-n5 {
    margin-top: -3rem !important;
  }
  .me-xxl-n1 {
    margin-right: -0.25rem !important;
  }
  .me-xxl-n2 {
    margin-right: -0.5rem !important;
  }
  .me-xxl-n3 {
    margin-right: -1rem !important;
  }
  .me-xxl-n4 {
    margin-right: -1.5rem !important;
  }
  .me-xxl-n5 {
    margin-right: -3rem !important;
  }
  .mb-xxl-n1 {
    margin-bottom: -0.25rem !important;
  }
  .mb-xxl-n2 {
    margin-bottom: -0.5rem !important;
  }
  .mb-xxl-n3 {
    margin-bottom: -1rem !important;
  }
  .mb-xxl-n4 {
    margin-bottom: -1.5rem !important;
  }
  .mb-xxl-n5 {
    margin-bottom: -3rem !important;
  }
  .ms-xxl-n1 {
    margin-left: -0.25rem !important;
  }
  .ms-xxl-n2 {
    margin-left: -0.5rem !important;
  }
  .ms-xxl-n3 {
    margin-left: -1rem !important;
  }
  .ms-xxl-n4 {
    margin-left: -1.5rem !important;
  }
  .ms-xxl-n5 {
    margin-left: -3rem !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;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xxl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xxl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xxl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xxl-0 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-xxl-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-xxl-5 {
    -moz-column-gap: 3rem !important;
         column-gap: 3rem !important;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
/**
 * Swiper 4.5.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 13, 2019
 */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide, .swiper-wrapper {
  transform: translate3d(0, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-container-3d {
  perspective: 1200px;
}

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-wp8-horizontal, .swiper-container-wp8-horizontal > .swiper-wrapper {
  touch-action: pan-y;
}

.swiper-container-wp8-vertical, .swiper-container-wp8-vertical > .swiper-wrapper {
  touch-action: pan-x;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto;
}

.swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff;
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff;
}

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #fff;
}

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000;
}

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  animation: swiper-preloader-spin 1s steps(12, end) infinite;
}

.swiper-lazy-preloader:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat;
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
@keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg);
  }
}
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next + .swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  filter: blur(50px);
  z-index: 0;
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-container-coverflow .swiper-wrapper {
  -ms-perspective: 1200px;
}

/*!
 * Hover.css (http://ianlunn.github.io/Hover/)
 * Version: 2.3.2
 * Author: Ian Lunn @IanLunn
 * Author URL: http://ianlunn.co.uk/
 * Github: https://github.com/IanLunn/Hover

 * Hover.css Copyright Ian Lunn 2017. Generated with Sass.
 */
.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-grow:active, .hvr-grow:focus, .hvr-grow:hover {
  transform: scale(1.1);
}

.hvr-shrink {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-shrink:active, .hvr-shrink:focus, .hvr-shrink:hover {
  transform: scale(0.9);
}
@keyframes hvr-pulse {
  25% {
    transform: scale(1.1);
  }
  75% {
    transform: scale(0.9);
  }
}
.hvr-pulse {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-pulse:active, .hvr-pulse:focus, .hvr-pulse:hover {
  animation-name: hvr-pulse;
  animation-duration: 1s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@keyframes hvr-pulse-grow {
  to {
    transform: scale(1.1);
  }
}
.hvr-pulse-grow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-pulse-grow:active, .hvr-pulse-grow:focus, .hvr-pulse-grow:hover {
  animation-name: hvr-pulse-grow;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
@keyframes hvr-pulse-shrink {
  to {
    transform: scale(0.9);
  }
}
.hvr-pulse-shrink {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-pulse-shrink:active, .hvr-pulse-shrink:focus, .hvr-pulse-shrink:hover {
  animation-name: hvr-pulse-shrink;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
@keyframes hvr-push {
  50% {
    transform: scale(0.8);
  }
  100% {
    transform: scale(1);
  }
}
.hvr-push {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-push:active, .hvr-push:focus, .hvr-push:hover {
  animation-name: hvr-push;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}
@keyframes hvr-pop {
  50% {
    transform: scale(1.2);
  }
}
.hvr-pop {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-pop:active, .hvr-pop:focus, .hvr-pop:hover {
  animation-name: hvr-pop;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}

.hvr-bounce-in {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.5s;
}

.hvr-bounce-in:active, .hvr-bounce-in:focus, .hvr-bounce-in:hover {
  transform: scale(1.2);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

.hvr-bounce-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.5s;
}

.hvr-bounce-out:active, .hvr-bounce-out:focus, .hvr-bounce-out:hover {
  transform: scale(0.8);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

.hvr-rotate {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-rotate:active, .hvr-rotate:focus, .hvr-rotate:hover {
  transform: rotate(4deg);
}

.hvr-grow-rotate {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-grow-rotate:active, .hvr-grow-rotate:focus, .hvr-grow-rotate:hover {
  transform: scale(1.1) rotate(4deg);
}

.hvr-float {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}

.hvr-float:active, .hvr-float:focus, .hvr-float:hover {
  transform: translateY(-8px);
}

.hvr-sink {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}

.hvr-sink:active, .hvr-sink:focus, .hvr-sink:hover {
  transform: translateY(8px);
}
@keyframes hvr-bob {
  0% {
    transform: translateY(-8px);
  }
  50% {
    transform: translateY(-4px);
  }
  100% {
    transform: translateY(-8px);
  }
}
@keyframes hvr-bob-float {
  100% {
    transform: translateY(-8px);
  }
}
.hvr-bob {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-bob:active, .hvr-bob:focus, .hvr-bob:hover {
  animation-name: hvr-bob-float, hvr-bob;
  animation-duration: 0.3s, 1.5s;
  animation-delay: 0s, 0.3s;
  animation-timing-function: ease-out, ease-in-out;
  animation-iteration-count: 1, infinite;
  animation-fill-mode: forwards;
  animation-direction: normal, alternate;
}
@keyframes hvr-hang {
  0% {
    transform: translateY(8px);
  }
  50% {
    transform: translateY(4px);
  }
  100% {
    transform: translateY(8px);
  }
}
@keyframes hvr-hang-sink {
  100% {
    transform: translateY(8px);
  }
}
.hvr-hang {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-hang:active, .hvr-hang:focus, .hvr-hang:hover {
  animation-name: hvr-hang-sink, hvr-hang;
  animation-duration: 0.3s, 1.5s;
  animation-delay: 0s, 0.3s;
  animation-timing-function: ease-out, ease-in-out;
  animation-iteration-count: 1, infinite;
  animation-fill-mode: forwards;
  animation-direction: normal, alternate;
}

.hvr-skew {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-skew:active, .hvr-skew:focus, .hvr-skew:hover {
  transform: skew(-10deg);
}

.hvr-skew-forward {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
  transform-origin: 0 100%;
}

.hvr-skew-forward:active, .hvr-skew-forward:focus, .hvr-skew-forward:hover {
  transform: skew(-10deg);
}

.hvr-skew-backward {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
  transform-origin: 0 100%;
}

.hvr-skew-backward:active, .hvr-skew-backward:focus, .hvr-skew-backward:hover {
  transform: skew(10deg);
}
@keyframes hvr-wobble-vertical {
  16.65% {
    transform: translateY(8px);
  }
  33.3% {
    transform: translateY(-6px);
  }
  49.95% {
    transform: translateY(4px);
  }
  66.6% {
    transform: translateY(-2px);
  }
  83.25% {
    transform: translateY(1px);
  }
  100% {
    transform: translateY(0);
  }
}
.hvr-wobble-vertical {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-wobble-vertical:active, .hvr-wobble-vertical:focus, .hvr-wobble-vertical:hover {
  animation-name: hvr-wobble-vertical;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}
@keyframes hvr-wobble-horizontal {
  16.65% {
    transform: translateX(8px);
  }
  33.3% {
    transform: translateX(-6px);
  }
  49.95% {
    transform: translateX(4px);
  }
  66.6% {
    transform: translateX(-2px);
  }
  83.25% {
    transform: translateX(1px);
  }
  100% {
    transform: translateX(0);
  }
}
.hvr-wobble-horizontal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-wobble-horizontal:active, .hvr-wobble-horizontal:focus, .hvr-wobble-horizontal:hover {
  animation-name: hvr-wobble-horizontal;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}
@keyframes hvr-wobble-to-bottom-right {
  16.65% {
    transform: translate(8px, 8px);
  }
  33.3% {
    transform: translate(-6px, -6px);
  }
  49.95% {
    transform: translate(4px, 4px);
  }
  66.6% {
    transform: translate(-2px, -2px);
  }
  83.25% {
    transform: translate(1px, 1px);
  }
  100% {
    transform: translate(0, 0);
  }
}
.hvr-wobble-to-bottom-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-wobble-to-bottom-right:active, .hvr-wobble-to-bottom-right:focus, .hvr-wobble-to-bottom-right:hover {
  animation-name: hvr-wobble-to-bottom-right;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}
@keyframes hvr-wobble-to-top-right {
  16.65% {
    transform: translate(8px, -8px);
  }
  33.3% {
    transform: translate(-6px, 6px);
  }
  49.95% {
    transform: translate(4px, -4px);
  }
  66.6% {
    transform: translate(-2px, 2px);
  }
  83.25% {
    transform: translate(1px, -1px);
  }
  100% {
    transform: translate(0, 0);
  }
}
.hvr-wobble-to-top-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-wobble-to-top-right:active, .hvr-wobble-to-top-right:focus, .hvr-wobble-to-top-right:hover {
  animation-name: hvr-wobble-to-top-right;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}
@keyframes hvr-wobble-top {
  16.65% {
    transform: skew(-12deg);
  }
  33.3% {
    transform: skew(10deg);
  }
  49.95% {
    transform: skew(-6deg);
  }
  66.6% {
    transform: skew(4deg);
  }
  83.25% {
    transform: skew(-2deg);
  }
  100% {
    transform: skew(0);
  }
}
.hvr-wobble-top {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transform-origin: 0 100%;
}

.hvr-wobble-top:active, .hvr-wobble-top:focus, .hvr-wobble-top:hover {
  animation-name: hvr-wobble-top;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}
@keyframes hvr-wobble-bottom {
  16.65% {
    transform: skew(-12deg);
  }
  33.3% {
    transform: skew(10deg);
  }
  49.95% {
    transform: skew(-6deg);
  }
  66.6% {
    transform: skew(4deg);
  }
  83.25% {
    transform: skew(-2deg);
  }
  100% {
    transform: skew(0);
  }
}
.hvr-wobble-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transform-origin: 100% 0;
}

.hvr-wobble-bottom:active, .hvr-wobble-bottom:focus, .hvr-wobble-bottom:hover {
  animation-name: hvr-wobble-bottom;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}
@keyframes hvr-wobble-skew {
  16.65% {
    transform: skew(-12deg);
  }
  33.3% {
    transform: skew(10deg);
  }
  49.95% {
    transform: skew(-6deg);
  }
  66.6% {
    transform: skew(4deg);
  }
  83.25% {
    transform: skew(-2deg);
  }
  100% {
    transform: skew(0);
  }
}
.hvr-wobble-skew {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-wobble-skew:active, .hvr-wobble-skew:focus, .hvr-wobble-skew:hover {
  animation-name: hvr-wobble-skew;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}
@keyframes hvr-buzz {
  50% {
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    transform: translateX(-3px) rotate(-2deg);
  }
}
.hvr-buzz {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-buzz:active, .hvr-buzz:focus, .hvr-buzz:hover {
  animation-name: hvr-buzz;
  animation-duration: 0.15s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@keyframes hvr-buzz-out {
  10% {
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    transform: translateX(1px) rotate(0);
  }
  100% {
    transform: translateX(-1px) rotate(0);
  }
}
.hvr-buzz-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-buzz-out:active, .hvr-buzz-out:focus, .hvr-buzz-out:hover {
  animation-name: hvr-buzz-out;
  animation-duration: 0.75s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}

.hvr-forward {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-forward:active, .hvr-forward:focus, .hvr-forward:hover {
  transform: translateX(8px);
}

.hvr-backward {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-backward:active, .hvr-backward:focus, .hvr-backward:hover {
  transform: translateX(-8px);
}

.hvr-fade {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  overflow: hidden;
  transition-duration: 0.3s;
  transition-property: color, background-color;
}

.hvr-fade:active, .hvr-fade:focus, .hvr-fade:hover {
  background-color: #2098D1;
  color: #fff;
}
@keyframes hvr-back-pulse {
  50% {
    background-color: rgba(32, 152, 209, 0.75);
  }
}
.hvr-back-pulse {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  overflow: hidden;
  transition-duration: 0.5s;
  transition-property: color, background-color;
}

.hvr-back-pulse:active, .hvr-back-pulse:focus, .hvr-back-pulse:hover {
  animation-name: hvr-back-pulse;
  animation-duration: 1s;
  animation-delay: 0.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  background-color: #2098D1;
  background-color: #2098d1;
  color: #fff;
}

.hvr-sweep-to-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}

.hvr-sweep-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-sweep-to-right:active, .hvr-sweep-to-right:focus, .hvr-sweep-to-right:hover {
  color: #fff;
}

.hvr-sweep-to-right:active:before, .hvr-sweep-to-right:focus:before, .hvr-sweep-to-right:hover:before {
  transform: scaleX(1);
}

.hvr-sweep-to-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}

.hvr-sweep-to-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 100% 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-sweep-to-left:active, .hvr-sweep-to-left:focus, .hvr-sweep-to-left:hover {
  color: #fff;
}

.hvr-sweep-to-left:active:before, .hvr-sweep-to-left:focus:before, .hvr-sweep-to-left:hover:before {
  transform: scaleX(1);
}

.hvr-sweep-to-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}

.hvr-sweep-to-bottom:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleY(0);
  transform-origin: 50% 0;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-sweep-to-bottom:active, .hvr-sweep-to-bottom:focus, .hvr-sweep-to-bottom:hover {
  color: #fff;
}

.hvr-sweep-to-bottom:active:before, .hvr-sweep-to-bottom:focus:before, .hvr-sweep-to-bottom:hover:before {
  transform: scaleY(1);
}

.hvr-sweep-to-top {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}

.hvr-sweep-to-top:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleY(0);
  transform-origin: 50% 100%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-sweep-to-top:active, .hvr-sweep-to-top:focus, .hvr-sweep-to-top:hover {
  color: #fff;
}

.hvr-sweep-to-top:active:before, .hvr-sweep-to-top:focus:before, .hvr-sweep-to-top:hover:before {
  transform: scaleY(1);
}

.hvr-bounce-to-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.5s;
}

.hvr-bounce-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-out;
}

.hvr-bounce-to-right:active, .hvr-bounce-to-right:focus, .hvr-bounce-to-right:hover {
  color: #fff;
}

.hvr-bounce-to-right:active:before, .hvr-bounce-to-right:focus:before, .hvr-bounce-to-right:hover:before {
  transform: scaleX(1);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

.hvr-bounce-to-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.5s;
}

.hvr-bounce-to-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 100% 50%;
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-out;
}

.hvr-bounce-to-left:active, .hvr-bounce-to-left:focus, .hvr-bounce-to-left:hover {
  color: #fff;
}

.hvr-bounce-to-left:active:before, .hvr-bounce-to-left:focus:before, .hvr-bounce-to-left:hover:before {
  transform: scaleX(1);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

.hvr-bounce-to-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.5s;
}

.hvr-bounce-to-bottom:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleY(0);
  transform-origin: 50% 0;
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-out;
}

.hvr-bounce-to-bottom:active, .hvr-bounce-to-bottom:focus, .hvr-bounce-to-bottom:hover {
  color: #fff;
}

.hvr-bounce-to-bottom:active:before, .hvr-bounce-to-bottom:focus:before, .hvr-bounce-to-bottom:hover:before {
  transform: scaleY(1);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

.hvr-bounce-to-top {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.5s;
}

.hvr-bounce-to-top:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleY(0);
  transform-origin: 50% 100%;
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-out;
}

.hvr-bounce-to-top:active, .hvr-bounce-to-top:focus, .hvr-bounce-to-top:hover {
  color: #fff;
}

.hvr-bounce-to-top:active:before, .hvr-bounce-to-top:focus:before, .hvr-bounce-to-top:hover:before {
  transform: scaleY(1);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

.hvr-radial-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
  background: #e1e1e1;
  transition-property: color;
  transition-duration: 0.3s;
}

.hvr-radial-out:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  border-radius: 100%;
  transform: scale(0);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-radial-out:active, .hvr-radial-out:focus, .hvr-radial-out:hover {
  color: #fff;
}

.hvr-radial-out:active:before, .hvr-radial-out:focus:before, .hvr-radial-out:hover:before {
  transform: scale(2);
}

.hvr-radial-in {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
  background: #2098D1;
  transition-property: color;
  transition-duration: 0.3s;
}

.hvr-radial-in:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #e1e1e1;
  border-radius: 100%;
  transform: scale(2);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-radial-in:active, .hvr-radial-in:focus, .hvr-radial-in:hover {
  color: #fff;
}

.hvr-radial-in:active:before, .hvr-radial-in:focus:before, .hvr-radial-in:hover:before {
  transform: scale(0);
}

.hvr-rectangle-in {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #2098D1;
  transition-property: color;
  transition-duration: 0.3s;
}

.hvr-rectangle-in:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #e1e1e1;
  transform: scale(1);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-rectangle-in:active, .hvr-rectangle-in:focus, .hvr-rectangle-in:hover {
  color: #fff;
}

.hvr-rectangle-in:active:before, .hvr-rectangle-in:focus:before, .hvr-rectangle-in:hover:before {
  transform: scale(0);
}

.hvr-rectangle-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #e1e1e1;
  transition-property: color;
  transition-duration: 0.3s;
}

.hvr-rectangle-out:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scale(0);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-rectangle-out:active, .hvr-rectangle-out:focus, .hvr-rectangle-out:hover {
  color: #fff;
}

.hvr-rectangle-out:active:before, .hvr-rectangle-out:focus:before, .hvr-rectangle-out:hover:before {
  transform: scale(1);
}

.hvr-shutter-in-horizontal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #2098D1;
  transition-property: color;
  transition-duration: 0.3s;
}

.hvr-shutter-in-horizontal:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #e1e1e1;
  transform: scaleX(1);
  transform-origin: 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-shutter-in-horizontal:active, .hvr-shutter-in-horizontal:focus, .hvr-shutter-in-horizontal:hover {
  color: #fff;
}

.hvr-shutter-in-horizontal:active:before, .hvr-shutter-in-horizontal:focus:before, .hvr-shutter-in-horizontal:hover:before {
  transform: scaleX(0);
}

.hvr-shutter-out-horizontal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #e1e1e1;
  transition-property: color;
  transition-duration: 0.3s;
}

.hvr-shutter-out-horizontal:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-shutter-out-horizontal:active, .hvr-shutter-out-horizontal:focus, .hvr-shutter-out-horizontal:hover {
  color: #fff;
}

.hvr-shutter-out-horizontal:active:before, .hvr-shutter-out-horizontal:focus:before, .hvr-shutter-out-horizontal:hover:before {
  transform: scaleX(1);
}

.hvr-shutter-in-vertical {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #2098D1;
  transition-property: color;
  transition-duration: 0.3s;
}

.hvr-shutter-in-vertical:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #e1e1e1;
  transform: scaleY(1);
  transform-origin: 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-shutter-in-vertical:active, .hvr-shutter-in-vertical:focus, .hvr-shutter-in-vertical:hover {
  color: #fff;
}

.hvr-shutter-in-vertical:active:before, .hvr-shutter-in-vertical:focus:before, .hvr-shutter-in-vertical:hover:before {
  transform: scaleY(0);
}

.hvr-shutter-out-vertical {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #e1e1e1;
  transition-property: color;
  transition-duration: 0.3s;
}

.hvr-shutter-out-vertical:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #2098D1;
  transform: scaleY(0);
  transform-origin: 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-shutter-out-vertical:active, .hvr-shutter-out-vertical:focus, .hvr-shutter-out-vertical:hover {
  color: #fff;
}

.hvr-shutter-out-vertical:active:before, .hvr-shutter-out-vertical:focus:before, .hvr-shutter-out-vertical:hover:before {
  transform: scaleY(1);
}

.hvr-border-fade {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  transition-duration: 0.3s;
  transition-property: box-shadow;
  box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-border-fade:active, .hvr-border-fade:focus, .hvr-border-fade:hover {
  box-shadow: inset 0 0 0 4px #2098D1, 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-hollow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  transition-duration: 0.3s;
  transition-property: background;
  box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-hollow:active, .hvr-hollow:focus, .hvr-hollow:hover {
  background: 0 0;
}

.hvr-trim {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-trim:before {
  content: "";
  position: absolute;
  border: #fff solid 4px;
  top: 4px;
  left: 4px;
  right: 4px;
  bottom: 4px;
  opacity: 0;
  transition-duration: 0.3s;
  transition-property: opacity;
}

.hvr-trim:active:before, .hvr-trim:focus:before, .hvr-trim:hover:before {
  opacity: 1;
}
@keyframes hvr-ripple-out {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
  }
}
.hvr-ripple-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-ripple-out:before {
  content: "";
  position: absolute;
  border: #e1e1e1 solid 6px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  animation-duration: 1s;
}

.hvr-ripple-out:active:before, .hvr-ripple-out:focus:before, .hvr-ripple-out:hover:before {
  animation-name: hvr-ripple-out;
}
@keyframes hvr-ripple-in {
  100% {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
  }
}
.hvr-ripple-in {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-ripple-in:before {
  content: "";
  position: absolute;
  border: #e1e1e1 solid 4px;
  top: -12px;
  right: -12px;
  bottom: -12px;
  left: -12px;
  opacity: 0;
  animation-duration: 1s;
}

.hvr-ripple-in:active:before, .hvr-ripple-in:focus:before, .hvr-ripple-in:hover:before {
  animation-name: hvr-ripple-in;
}

.hvr-outline-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-outline-out:before {
  content: "";
  position: absolute;
  border: #e1e1e1 solid 4px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition-duration: 0.3s;
  transition-property: top, right, bottom, left;
}

.hvr-outline-out:active:before, .hvr-outline-out:focus:before, .hvr-outline-out:hover:before {
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
}

.hvr-outline-in {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-outline-in:before {
  pointer-events: none;
  content: "";
  position: absolute;
  border: #e1e1e1 solid 4px;
  top: -16px;
  right: -16px;
  bottom: -16px;
  left: -16px;
  opacity: 0;
  transition-duration: 0.3s;
  transition-property: top, right, bottom, left;
}

.hvr-outline-in:active:before, .hvr-outline-in:focus:before, .hvr-outline-in:hover:before {
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
  opacity: 1;
}

.hvr-round-corners {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: border-radius;
}

.hvr-round-corners:active, .hvr-round-corners:focus, .hvr-round-corners:hover {
  border-radius: 1em;
}

.hvr-underline-from-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}

.hvr-underline-from-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 100%;
  bottom: 0;
  background: #2098D1;
  height: 4px;
  transition-property: right;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-underline-from-left:active:before, .hvr-underline-from-left:focus:before, .hvr-underline-from-left:hover:before {
  right: 0;
}

.hvr-underline-from-center {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}

.hvr-underline-from-center:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 51%;
  right: 51%;
  bottom: 0;
  background: #2098D1;
  height: 4px;
  transition-property: left, right;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-underline-from-center:active:before, .hvr-underline-from-center:focus:before, .hvr-underline-from-center:hover:before {
  left: 0;
  right: 0;
}

.hvr-underline-from-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}

.hvr-underline-from-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 100%;
  right: 0;
  bottom: 0;
  background: #2098D1;
  height: 4px;
  transition-property: left;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-underline-from-right:active:before, .hvr-underline-from-right:focus:before, .hvr-underline-from-right:hover:before {
  left: 0;
}

.hvr-overline-from-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}

.hvr-overline-from-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 100%;
  top: 0;
  background: #2098D1;
  height: 4px;
  transition-property: right;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-overline-from-left:active:before, .hvr-overline-from-left:focus:before, .hvr-overline-from-left:hover:before {
  right: 0;
}

.hvr-overline-from-center {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}

.hvr-overline-from-center:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 51%;
  right: 51%;
  top: 0;
  background: #2098D1;
  height: 4px;
  transition-property: left, right;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-overline-from-center:active:before, .hvr-overline-from-center:focus:before, .hvr-overline-from-center:hover:before {
  left: 0;
  right: 0;
}

.hvr-overline-from-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}

.hvr-overline-from-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 100%;
  right: 0;
  top: 0;
  background: #2098D1;
  height: 4px;
  transition-property: left;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-overline-from-right:active:before, .hvr-overline-from-right:focus:before, .hvr-overline-from-right:hover:before {
  left: 0;
}

.hvr-reveal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}

.hvr-reveal:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-color: #2098D1;
  border-style: solid;
  border-width: 0;
  transition-property: border-width;
  transition-duration: 0.1s;
  transition-timing-function: ease-out;
}

.hvr-reveal:active:before, .hvr-reveal:focus:before, .hvr-reveal:hover:before {
  transform: translateY(0);
  border-width: 4px;
}

.hvr-underline-reveal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}

.hvr-underline-reveal:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  height: 4px;
  transform: translateY(4px);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-underline-reveal:active:before, .hvr-underline-reveal:focus:before, .hvr-underline-reveal:hover:before {
  transform: translateY(0);
}

.hvr-overline-reveal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}

.hvr-overline-reveal:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  background: #2098D1;
  height: 4px;
  transform: translateY(-4px);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}

.hvr-overline-reveal:active:before, .hvr-overline-reveal:focus:before, .hvr-overline-reveal:hover:before {
  transform: translateY(0);
}

.hvr-glow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: box-shadow;
}

.hvr-glow:active, .hvr-glow:focus, .hvr-glow:hover {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

.hvr-shadow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: box-shadow;
}

.hvr-shadow:active, .hvr-shadow:focus, .hvr-shadow:hover {
  box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
}

.hvr-grow-shadow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: box-shadow, transform;
}

.hvr-grow-shadow:active, .hvr-grow-shadow:focus, .hvr-grow-shadow:hover {
  box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
  transform: scale(1.1);
}

.hvr-box-shadow-outset {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: box-shadow;
}

.hvr-box-shadow-outset:active, .hvr-box-shadow-outset:focus, .hvr-box-shadow-outset:hover {
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6);
}

.hvr-box-shadow-inset {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  transition-duration: 0.3s;
  transition-property: box-shadow;
  box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.6), 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-box-shadow-inset:active, .hvr-box-shadow-inset:focus, .hvr-box-shadow-inset:hover {
  box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.6), 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-float-shadow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-float-shadow:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: "";
  top: 100%;
  left: 5%;
  height: 10px;
  width: 90%;
  opacity: 0;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0, rgba(0, 0, 0, 0) 80%);
  transition-duration: 0.3s;
  transition-property: transform, opacity;
}

.hvr-float-shadow:active, .hvr-float-shadow:focus, .hvr-float-shadow:hover {
  transform: translateY(-5px);
}

.hvr-float-shadow:active:before, .hvr-float-shadow:focus:before, .hvr-float-shadow:hover:before {
  opacity: 1;
  transform: translateY(5px);
}

.hvr-shadow-radial {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-shadow-radial:after, .hvr-shadow-radial:before {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  width: 100%;
  box-sizing: border-box;
  height: 5px;
  opacity: 0;
  transition-duration: 0.3s;
  transition-property: opacity;
}

.hvr-shadow-radial:before {
  bottom: 100%;
  background: radial-gradient(ellipse at 50% 150%, rgba(0, 0, 0, 0.6) 0, rgba(0, 0, 0, 0) 80%);
}

.hvr-shadow-radial:after {
  top: 100%;
  background: radial-gradient(ellipse at 50% -50%, rgba(0, 0, 0, 0.6) 0, rgba(0, 0, 0, 0) 80%);
}

.hvr-shadow-radial:active:after, .hvr-shadow-radial:active:before, .hvr-shadow-radial:focus:after, .hvr-shadow-radial:focus:before, .hvr-shadow-radial:hover:after, .hvr-shadow-radial:hover:before {
  opacity: 1;
}

.hvr-bubble-top {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-bubble-top:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: "";
  border-style: solid;
  transition-duration: 0.3s;
  transition-property: transform;
  left: calc(50% - 10px);
  top: 0;
  border-width: 0 10px 10px;
  border-color: transparent transparent #e1e1e1;
}

.hvr-bubble-top:active:before, .hvr-bubble-top:focus:before, .hvr-bubble-top:hover:before {
  transform: translateY(-10px);
}

.hvr-bubble-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-bubble-right:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: "";
  border-style: solid;
  transition-duration: 0.3s;
  transition-property: transform;
  top: calc(50% - 10px);
  right: 0;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #e1e1e1;
}

.hvr-bubble-right:active:before, .hvr-bubble-right:focus:before, .hvr-bubble-right:hover:before {
  transform: translateX(10px);
}

.hvr-bubble-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-bubble-bottom:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: "";
  border-style: solid;
  transition-duration: 0.3s;
  transition-property: transform;
  left: calc(50% - 10px);
  bottom: 0;
  border-width: 10px 10px 0;
  border-color: #e1e1e1 transparent transparent;
}

.hvr-bubble-bottom:active:before, .hvr-bubble-bottom:focus:before, .hvr-bubble-bottom:hover:before {
  transform: translateY(10px);
}

.hvr-bubble-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-bubble-left:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: "";
  border-style: solid;
  transition-duration: 0.3s;
  transition-property: transform;
  top: calc(50% - 10px);
  left: 0;
  border-width: 10px 10px 10px 0;
  border-color: transparent #e1e1e1 transparent transparent;
}

.hvr-bubble-left:active:before, .hvr-bubble-left:focus:before, .hvr-bubble-left:hover:before {
  transform: translateX(-10px);
}

.hvr-bubble-float-top {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-bubble-float-top:before {
  position: absolute;
  z-index: -1;
  content: "";
  left: calc(50% - 10px);
  top: 0;
  border-style: solid;
  border-width: 0 10px 10px;
  border-color: transparent transparent #e1e1e1;
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-bubble-float-top:active, .hvr-bubble-float-top:focus, .hvr-bubble-float-top:hover {
  transform: translateY(10px);
}

.hvr-bubble-float-top:active:before, .hvr-bubble-float-top:focus:before, .hvr-bubble-float-top:hover:before {
  transform: translateY(-10px);
}

.hvr-bubble-float-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-bubble-float-right:before {
  position: absolute;
  z-index: -1;
  top: calc(50% - 10px);
  right: 0;
  content: "";
  border-style: solid;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #e1e1e1;
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-bubble-float-right:active, .hvr-bubble-float-right:focus, .hvr-bubble-float-right:hover {
  transform: translateX(-10px);
}

.hvr-bubble-float-right:active:before, .hvr-bubble-float-right:focus:before, .hvr-bubble-float-right:hover:before {
  transform: translateX(10px);
}

.hvr-bubble-float-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-bubble-float-bottom:before {
  position: absolute;
  z-index: -1;
  content: "";
  left: calc(50% - 10px);
  bottom: 0;
  border-style: solid;
  border-width: 10px 10px 0;
  border-color: #e1e1e1 transparent transparent;
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-bubble-float-bottom:active, .hvr-bubble-float-bottom:focus, .hvr-bubble-float-bottom:hover {
  transform: translateY(-10px);
}

.hvr-bubble-float-bottom:active:before, .hvr-bubble-float-bottom:focus:before, .hvr-bubble-float-bottom:hover:before {
  transform: translateY(10px);
}

.hvr-bubble-float-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-bubble-float-left:before {
  position: absolute;
  z-index: -1;
  content: "";
  top: calc(50% - 10px);
  left: 0;
  border-style: solid;
  border-width: 10px 10px 10px 0;
  border-color: transparent #e1e1e1 transparent transparent;
  transition-duration: 0.3s;
  transition-property: transform;
}

.hvr-bubble-float-left:active, .hvr-bubble-float-left:focus, .hvr-bubble-float-left:hover {
  transform: translateX(10px);
}

.hvr-bubble-float-left:active:before, .hvr-bubble-float-left:focus:before, .hvr-bubble-float-left:hover:before {
  transform: translateX(-10px);
}

.hvr-icon-back {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.1s;
}

.hvr-icon-back .hvr-icon {
  transform: translateZ(0);
  transition-duration: 0.1s;
  transition-property: transform;
  transition-timing-function: ease-out;
}

.hvr-icon-back:active .hvr-icon, .hvr-icon-back:focus .hvr-icon, .hvr-icon-back:hover .hvr-icon {
  transform: translateX(-4px);
}

.hvr-icon-forward {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.1s;
}

.hvr-icon-forward .hvr-icon {
  transform: translateZ(0);
  transition-duration: 0.1s;
  transition-property: transform;
  transition-timing-function: ease-out;
}

.hvr-icon-forward:active .hvr-icon, .hvr-icon-forward:focus .hvr-icon, .hvr-icon-forward:hover .hvr-icon {
  transform: translateX(4px);
}
@keyframes hvr-icon-down {
  0%, 100%, 50% {
    transform: translateY(0);
  }
  25%, 75% {
    transform: translateY(6px);
  }
}
.hvr-icon-down {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-icon-down .hvr-icon {
  transform: translateZ(0);
}

.hvr-icon-down:active .hvr-icon, .hvr-icon-down:focus .hvr-icon, .hvr-icon-down:hover .hvr-icon {
  animation-name: hvr-icon-down;
  animation-duration: 0.75s;
  animation-timing-function: ease-out;
}
@keyframes hvr-icon-up {
  0%, 100%, 50% {
    transform: translateY(0);
  }
  25%, 75% {
    transform: translateY(-6px);
  }
}
.hvr-icon-up {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-icon-up .hvr-icon {
  transform: translateZ(0);
}

.hvr-icon-up:active .hvr-icon, .hvr-icon-up:focus .hvr-icon, .hvr-icon-up:hover .hvr-icon {
  animation-name: hvr-icon-up;
  animation-duration: 0.75s;
  animation-timing-function: ease-out;
}

.hvr-icon-spin {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-icon-spin .hvr-icon {
  transition-duration: 1s;
  transition-property: transform;
  transition-timing-function: ease-in-out;
}

.hvr-icon-spin:active .hvr-icon, .hvr-icon-spin:focus .hvr-icon, .hvr-icon-spin:hover .hvr-icon {
  transform: rotate(360deg);
}
@keyframes hvr-icon-drop {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100%, 51% {
    opacity: 1;
  }
}
.hvr-icon-drop {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-icon-drop .hvr-icon {
  transform: translateZ(0);
}

.hvr-icon-drop:active .hvr-icon, .hvr-icon-drop:focus .hvr-icon, .hvr-icon-drop:hover .hvr-icon {
  opacity: 0;
  transition-duration: 0.3s;
  animation-name: hvr-icon-drop;
  animation-duration: 0.5s;
  animation-delay: 0.3s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

.hvr-icon-fade {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-icon-fade .hvr-icon {
  transform: translateZ(0);
  transition-duration: 0.5s;
  transition-property: color;
}

.hvr-icon-fade:active .hvr-icon, .hvr-icon-fade:focus .hvr-icon, .hvr-icon-fade:hover .hvr-icon {
  color: #0F9E5E;
}
@keyframes hvr-icon-float-away {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-1em);
  }
}
.hvr-icon-float-away {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-icon-float-away .hvr-icon {
  transform: translateZ(0);
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}

.hvr-icon-float-away:active .hvr-icon, .hvr-icon-float-away:focus .hvr-icon, .hvr-icon-float-away:hover .hvr-icon {
  animation-name: hvr-icon-float-away;
  animation-timing-function: ease-out;
}
@keyframes hvr-icon-sink-away {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(1em);
  }
}
.hvr-icon-sink-away {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-icon-sink-away .hvr-icon {
  transform: translateZ(0);
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}

.hvr-icon-sink-away:active .hvr-icon, .hvr-icon-sink-away:focus .hvr-icon, .hvr-icon-sink-away:hover .hvr-icon {
  animation-name: hvr-icon-sink-away;
  animation-timing-function: ease-out;
}

.hvr-icon-grow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-grow .hvr-icon {
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}

.hvr-icon-grow:active .hvr-icon, .hvr-icon-grow:focus .hvr-icon, .hvr-icon-grow:hover .hvr-icon {
  transform: scale(1.3) translateZ(0);
}

.hvr-icon-shrink {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-shrink .hvr-icon {
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}

.hvr-icon-shrink:active .hvr-icon, .hvr-icon-shrink:focus .hvr-icon, .hvr-icon-shrink:hover .hvr-icon {
  transform: scale(0.8);
}
@keyframes hvr-icon-pulse {
  25% {
    transform: scale(1.3);
  }
  75% {
    transform: scale(0.8);
  }
}
.hvr-icon-pulse {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-icon-pulse .hvr-icon {
  transform: translateZ(0);
  transition-timing-function: ease-out;
}

.hvr-icon-pulse:active .hvr-icon, .hvr-icon-pulse:focus .hvr-icon, .hvr-icon-pulse:hover .hvr-icon {
  animation-name: hvr-icon-pulse;
  animation-duration: 1s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@keyframes hvr-icon-pulse-grow {
  to {
    transform: scale(1.3);
  }
}
.hvr-icon-pulse-grow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-icon-pulse-grow .hvr-icon {
  transform: translateZ(0);
  transition-timing-function: ease-out;
}

.hvr-icon-pulse-grow:active .hvr-icon, .hvr-icon-pulse-grow:focus .hvr-icon, .hvr-icon-pulse-grow:hover .hvr-icon {
  animation-name: hvr-icon-pulse-grow;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
@keyframes hvr-icon-pulse-shrink {
  to {
    transform: scale(0.8);
  }
}
.hvr-icon-pulse-shrink {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}

.hvr-icon-pulse-shrink .hvr-icon {
  transform: translateZ(0);
  transition-timing-function: ease-out;
}

.hvr-icon-pulse-shrink:active .hvr-icon, .hvr-icon-pulse-shrink:focus .hvr-icon, .hvr-icon-pulse-shrink:hover .hvr-icon {
  animation-name: hvr-icon-pulse-shrink;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
@keyframes hvr-icon-push {
  50% {
    transform: scale(0.5);
  }
}
.hvr-icon-push {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-push .hvr-icon {
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}

.hvr-icon-push:active .hvr-icon, .hvr-icon-push:focus .hvr-icon, .hvr-icon-push:hover .hvr-icon {
  animation-name: hvr-icon-push;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}
@keyframes hvr-icon-pop {
  50% {
    transform: scale(1.5);
  }
}
.hvr-icon-pop {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-pop .hvr-icon {
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}

.hvr-icon-pop:active .hvr-icon, .hvr-icon-pop:focus .hvr-icon, .hvr-icon-pop:hover .hvr-icon {
  animation-name: hvr-icon-pop;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}

.hvr-icon-bounce {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-bounce .hvr-icon {
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}

.hvr-icon-bounce:active .hvr-icon, .hvr-icon-bounce:focus .hvr-icon, .hvr-icon-bounce:hover .hvr-icon {
  transform: scale(1.5);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

.hvr-icon-rotate {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-rotate .hvr-icon {
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}

.hvr-icon-rotate:active .hvr-icon, .hvr-icon-rotate:focus .hvr-icon, .hvr-icon-rotate:hover .hvr-icon {
  transform: rotate(20deg);
}

.hvr-icon-grow-rotate {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-grow-rotate .hvr-icon {
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}

.hvr-icon-grow-rotate:active .hvr-icon, .hvr-icon-grow-rotate:focus .hvr-icon, .hvr-icon-grow-rotate:hover .hvr-icon {
  transform: scale(1.5) rotate(12deg);
}

.hvr-icon-float {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-float .hvr-icon {
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}

.hvr-icon-float:active .hvr-icon, .hvr-icon-float:focus .hvr-icon, .hvr-icon-float:hover .hvr-icon {
  transform: translateY(-4px);
}

.hvr-icon-sink {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-sink .hvr-icon {
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}

.hvr-icon-sink:active .hvr-icon, .hvr-icon-sink:focus .hvr-icon, .hvr-icon-sink:hover .hvr-icon {
  transform: translateY(4px);
}
@keyframes hvr-icon-bob {
  0% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(-2px);
  }
  100% {
    transform: translateY(-6px);
  }
}
@keyframes hvr-icon-bob-float {
  100% {
    transform: translateY(-6px);
  }
}
.hvr-icon-bob {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-bob .hvr-icon {
  transform: translateZ(0);
}

.hvr-icon-bob:active .hvr-icon, .hvr-icon-bob:focus .hvr-icon, .hvr-icon-bob:hover .hvr-icon {
  animation-name: hvr-icon-bob-float, hvr-icon-bob;
  animation-duration: 0.3s, 1.5s;
  animation-delay: 0s, 0.3s;
  animation-timing-function: ease-out, ease-in-out;
  animation-iteration-count: 1, infinite;
  animation-fill-mode: forwards;
  animation-direction: normal, alternate;
}
@keyframes hvr-icon-hang {
  0% {
    transform: translateY(6px);
  }
  50% {
    transform: translateY(2px);
  }
  100% {
    transform: translateY(6px);
  }
}
@keyframes hvr-icon-hang-sink {
  100% {
    transform: translateY(6px);
  }
}
.hvr-icon-hang {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-hang .hvr-icon {
  transform: translateZ(0);
}

.hvr-icon-hang:active .hvr-icon, .hvr-icon-hang:focus .hvr-icon, .hvr-icon-hang:hover .hvr-icon {
  animation-name: hvr-icon-hang-sink, hvr-icon-hang;
  animation-duration: 0.3s, 1.5s;
  animation-delay: 0s, 0.3s;
  animation-timing-function: ease-out, ease-in-out;
  animation-iteration-count: 1, infinite;
  animation-fill-mode: forwards;
  animation-direction: normal, alternate;
}
@keyframes hvr-icon-wobble-horizontal {
  16.65% {
    transform: translateX(6px);
  }
  33.3% {
    transform: translateX(-5px);
  }
  49.95% {
    transform: translateX(4px);
  }
  66.6% {
    transform: translateX(-2px);
  }
  83.25% {
    transform: translateX(1px);
  }
  100% {
    transform: translateX(0);
  }
}
.hvr-icon-wobble-horizontal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-wobble-horizontal .hvr-icon {
  transform: translateZ(0);
}

.hvr-icon-wobble-horizontal:active .hvr-icon, .hvr-icon-wobble-horizontal:focus .hvr-icon, .hvr-icon-wobble-horizontal:hover .hvr-icon {
  animation-name: hvr-icon-wobble-horizontal;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}
@keyframes hvr-icon-wobble-vertical {
  16.65% {
    transform: translateY(6px);
  }
  33.3% {
    transform: translateY(-5px);
  }
  49.95% {
    transform: translateY(4px);
  }
  66.6% {
    transform: translateY(-2px);
  }
  83.25% {
    transform: translateY(1px);
  }
  100% {
    transform: translateY(0);
  }
}
.hvr-icon-wobble-vertical {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-wobble-vertical .hvr-icon {
  transform: translateZ(0);
}

.hvr-icon-wobble-vertical:active .hvr-icon, .hvr-icon-wobble-vertical:focus .hvr-icon, .hvr-icon-wobble-vertical:hover .hvr-icon {
  animation-name: hvr-icon-wobble-vertical;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}
@keyframes hvr-icon-buzz {
  50% {
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    transform: translateX(-3px) rotate(-2deg);
  }
}
.hvr-icon-buzz {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-buzz .hvr-icon {
  transform: translateZ(0);
}

.hvr-icon-buzz:active .hvr-icon, .hvr-icon-buzz:focus .hvr-icon, .hvr-icon-buzz:hover .hvr-icon {
  animation-name: hvr-icon-buzz;
  animation-duration: 0.15s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@keyframes hvr-icon-buzz-out {
  10% {
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    transform: translateX(1px) rotate(0);
  }
  100% {
    transform: translateX(-1px) rotate(0);
  }
}
.hvr-icon-buzz-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
}

.hvr-icon-buzz-out .hvr-icon {
  transform: translateZ(0);
}

.hvr-icon-buzz-out:active .hvr-icon, .hvr-icon-buzz-out:focus .hvr-icon, .hvr-icon-buzz-out:hover .hvr-icon {
  animation-name: hvr-icon-buzz-out;
  animation-duration: 0.75s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}

.hvr-curl-top-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-curl-top-left:before {
  pointer-events: none;
  position: absolute;
  content: "";
  height: 0;
  width: 0;
  top: 0;
  left: 0;
  background: #fff;
  background: linear-gradient(135deg, #fff 45%, #aaa 50%, #ccc 56%, #fff 80%);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr="#ffffff", endColorstr="#000000");
  z-index: 1000;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
  transition-duration: 0.3s;
  transition-property: width, height;
}

.hvr-curl-top-left:active:before, .hvr-curl-top-left:focus:before, .hvr-curl-top-left:hover:before {
  width: 25px;
  height: 25px;
}

.hvr-curl-top-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-curl-top-right:before {
  pointer-events: none;
  position: absolute;
  content: "";
  height: 0;
  width: 0;
  top: 0;
  right: 0;
  background: #fff;
  background: linear-gradient(225deg, #fff 45%, #aaa 50%, #ccc 56%, #fff 80%);
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.4);
  transition-duration: 0.3s;
  transition-property: width, height;
}

.hvr-curl-top-right:active:before, .hvr-curl-top-right:focus:before, .hvr-curl-top-right:hover:before {
  width: 25px;
  height: 25px;
}

.hvr-curl-bottom-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-curl-bottom-right:before {
  pointer-events: none;
  position: absolute;
  content: "";
  height: 0;
  width: 0;
  bottom: 0;
  right: 0;
  background: #fff;
  background: linear-gradient(315deg, #fff 45%, #aaa 50%, #ccc 56%, #fff 80%);
  box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.4);
  transition-duration: 0.3s;
  transition-property: width, height;
}

.hvr-curl-bottom-right:active:before, .hvr-curl-bottom-right:focus:before, .hvr-curl-bottom-right:hover:before {
  width: 25px;
  height: 25px;
}

.hvr-curl-bottom-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}

.hvr-curl-bottom-left:before {
  pointer-events: none;
  position: absolute;
  content: "";
  height: 0;
  width: 0;
  bottom: 0;
  left: 0;
  background: #fff;
  background: linear-gradient(45deg, #fff 45%, #aaa 50%, #ccc 56%, #fff 80%);
  box-shadow: 1px -1px 1px rgba(0, 0, 0, 0.4);
  transition-duration: 0.3s;
  transition-property: width, height;
}

.hvr-curl-bottom-left:active:before, .hvr-curl-bottom-left:focus:before, .hvr-curl-bottom-left:hover:before {
  width: 25px;
  height: 25px;
}

/*!
 * Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-brands: "Font Awesome 6 Brands";
  --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
}

@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.woff2?878f31251d960bd6266f20ccdc4d738f) format("woff2"), url(/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.ttf?016b4a6cdced82ab3aa1907e3855cfd2) format("truetype");
}
.fab,
.fa-brands {
  font-weight: 400;
}

.fa-monero:before {
  content: "\f3d0";
}

.fa-hooli:before {
  content: "\f427";
}

.fa-yelp:before {
  content: "\f1e9";
}

.fa-cc-visa:before {
  content: "\f1f0";
}

.fa-lastfm:before {
  content: "\f202";
}

.fa-shopware:before {
  content: "\f5b5";
}

.fa-creative-commons-nc:before {
  content: "\f4e8";
}

.fa-aws:before {
  content: "\f375";
}

.fa-redhat:before {
  content: "\f7bc";
}

.fa-yoast:before {
  content: "\f2b1";
}

.fa-cloudflare:before {
  content: "\e07d";
}

.fa-ups:before {
  content: "\f7e0";
}

.fa-wpexplorer:before {
  content: "\f2de";
}

.fa-dyalog:before {
  content: "\f399";
}

.fa-bity:before {
  content: "\f37a";
}

.fa-stackpath:before {
  content: "\f842";
}

.fa-buysellads:before {
  content: "\f20d";
}

.fa-first-order:before {
  content: "\f2b0";
}

.fa-modx:before {
  content: "\f285";
}

.fa-guilded:before {
  content: "\e07e";
}

.fa-vnv:before {
  content: "\f40b";
}

.fa-square-js:before {
  content: "\f3b9";
}

.fa-js-square:before {
  content: "\f3b9";
}

.fa-microsoft:before {
  content: "\f3ca";
}

.fa-qq:before {
  content: "\f1d6";
}

.fa-orcid:before {
  content: "\f8d2";
}

.fa-java:before {
  content: "\f4e4";
}

.fa-invision:before {
  content: "\f7b0";
}

.fa-creative-commons-pd-alt:before {
  content: "\f4ed";
}

.fa-centercode:before {
  content: "\f380";
}

.fa-glide-g:before {
  content: "\f2a6";
}

.fa-drupal:before {
  content: "\f1a9";
}

.fa-hire-a-helper:before {
  content: "\f3b0";
}

.fa-creative-commons-by:before {
  content: "\f4e7";
}

.fa-unity:before {
  content: "\e049";
}

.fa-whmcs:before {
  content: "\f40d";
}

.fa-rocketchat:before {
  content: "\f3e8";
}

.fa-vk:before {
  content: "\f189";
}

.fa-untappd:before {
  content: "\f405";
}

.fa-mailchimp:before {
  content: "\f59e";
}

.fa-css3-alt:before {
  content: "\f38b";
}

.fa-square-reddit:before {
  content: "\f1a2";
}

.fa-reddit-square:before {
  content: "\f1a2";
}

.fa-vimeo-v:before {
  content: "\f27d";
}

.fa-contao:before {
  content: "\f26d";
}

.fa-square-font-awesome:before {
  content: "\e5ad";
}

.fa-deskpro:before {
  content: "\f38f";
}

.fa-sistrix:before {
  content: "\f3ee";
}

.fa-square-instagram:before {
  content: "\e055";
}

.fa-instagram-square:before {
  content: "\e055";
}

.fa-battle-net:before {
  content: "\f835";
}

.fa-the-red-yeti:before {
  content: "\f69d";
}

.fa-square-hacker-news:before {
  content: "\f3af";
}

.fa-hacker-news-square:before {
  content: "\f3af";
}

.fa-edge:before {
  content: "\f282";
}

.fa-threads:before {
  content: "\e618";
}

.fa-napster:before {
  content: "\f3d2";
}

.fa-square-snapchat:before {
  content: "\f2ad";
}

.fa-snapchat-square:before {
  content: "\f2ad";
}

.fa-google-plus-g:before {
  content: "\f0d5";
}

.fa-artstation:before {
  content: "\f77a";
}

.fa-markdown:before {
  content: "\f60f";
}

.fa-sourcetree:before {
  content: "\f7d3";
}

.fa-google-plus:before {
  content: "\f2b3";
}

.fa-diaspora:before {
  content: "\f791";
}

.fa-foursquare:before {
  content: "\f180";
}

.fa-stack-overflow:before {
  content: "\f16c";
}

.fa-github-alt:before {
  content: "\f113";
}

.fa-phoenix-squadron:before {
  content: "\f511";
}

.fa-pagelines:before {
  content: "\f18c";
}

.fa-algolia:before {
  content: "\f36c";
}

.fa-red-river:before {
  content: "\f3e3";
}

.fa-creative-commons-sa:before {
  content: "\f4ef";
}

.fa-safari:before {
  content: "\f267";
}

.fa-google:before {
  content: "\f1a0";
}

.fa-square-font-awesome-stroke:before {
  content: "\f35c";
}

.fa-font-awesome-alt:before {
  content: "\f35c";
}

.fa-atlassian:before {
  content: "\f77b";
}

.fa-linkedin-in:before {
  content: "\f0e1";
}

.fa-digital-ocean:before {
  content: "\f391";
}

.fa-nimblr:before {
  content: "\f5a8";
}

.fa-chromecast:before {
  content: "\f838";
}

.fa-evernote:before {
  content: "\f839";
}

.fa-hacker-news:before {
  content: "\f1d4";
}

.fa-creative-commons-sampling:before {
  content: "\f4f0";
}

.fa-adversal:before {
  content: "\f36a";
}

.fa-creative-commons:before {
  content: "\f25e";
}

.fa-watchman-monitoring:before {
  content: "\e087";
}

.fa-fonticons:before {
  content: "\f280";
}

.fa-weixin:before {
  content: "\f1d7";
}

.fa-shirtsinbulk:before {
  content: "\f214";
}

.fa-codepen:before {
  content: "\f1cb";
}

.fa-git-alt:before {
  content: "\f841";
}

.fa-lyft:before {
  content: "\f3c3";
}

.fa-rev:before {
  content: "\f5b2";
}

.fa-windows:before {
  content: "\f17a";
}

.fa-wizards-of-the-coast:before {
  content: "\f730";
}

.fa-square-viadeo:before {
  content: "\f2aa";
}

.fa-viadeo-square:before {
  content: "\f2aa";
}

.fa-meetup:before {
  content: "\f2e0";
}

.fa-centos:before {
  content: "\f789";
}

.fa-adn:before {
  content: "\f170";
}

.fa-cloudsmith:before {
  content: "\f384";
}

.fa-pied-piper-alt:before {
  content: "\f1a8";
}

.fa-square-dribbble:before {
  content: "\f397";
}

.fa-dribbble-square:before {
  content: "\f397";
}

.fa-codiepie:before {
  content: "\f284";
}

.fa-node:before {
  content: "\f419";
}

.fa-mix:before {
  content: "\f3cb";
}

.fa-steam:before {
  content: "\f1b6";
}

.fa-cc-apple-pay:before {
  content: "\f416";
}

.fa-scribd:before {
  content: "\f28a";
}

.fa-debian:before {
  content: "\e60b";
}

.fa-openid:before {
  content: "\f19b";
}

.fa-instalod:before {
  content: "\e081";
}

.fa-expeditedssl:before {
  content: "\f23e";
}

.fa-sellcast:before {
  content: "\f2da";
}

.fa-square-twitter:before {
  content: "\f081";
}

.fa-twitter-square:before {
  content: "\f081";
}

.fa-r-project:before {
  content: "\f4f7";
}

.fa-delicious:before {
  content: "\f1a5";
}

.fa-freebsd:before {
  content: "\f3a4";
}

.fa-vuejs:before {
  content: "\f41f";
}

.fa-accusoft:before {
  content: "\f369";
}

.fa-ioxhost:before {
  content: "\f208";
}

.fa-fonticons-fi:before {
  content: "\f3a2";
}

.fa-app-store:before {
  content: "\f36f";
}

.fa-cc-mastercard:before {
  content: "\f1f1";
}

.fa-itunes-note:before {
  content: "\f3b5";
}

.fa-golang:before {
  content: "\e40f";
}

.fa-kickstarter:before {
  content: "\f3bb";
}

.fa-grav:before {
  content: "\f2d6";
}

.fa-weibo:before {
  content: "\f18a";
}

.fa-uncharted:before {
  content: "\e084";
}

.fa-firstdraft:before {
  content: "\f3a1";
}

.fa-square-youtube:before {
  content: "\f431";
}

.fa-youtube-square:before {
  content: "\f431";
}

.fa-wikipedia-w:before {
  content: "\f266";
}

.fa-wpressr:before {
  content: "\f3e4";
}

.fa-rendact:before {
  content: "\f3e4";
}

.fa-angellist:before {
  content: "\f209";
}

.fa-galactic-republic:before {
  content: "\f50c";
}

.fa-nfc-directional:before {
  content: "\e530";
}

.fa-skype:before {
  content: "\f17e";
}

.fa-joget:before {
  content: "\f3b7";
}

.fa-fedora:before {
  content: "\f798";
}

.fa-stripe-s:before {
  content: "\f42a";
}

.fa-meta:before {
  content: "\e49b";
}

.fa-laravel:before {
  content: "\f3bd";
}

.fa-hotjar:before {
  content: "\f3b1";
}

.fa-bluetooth-b:before {
  content: "\f294";
}

.fa-sticker-mule:before {
  content: "\f3f7";
}

.fa-creative-commons-zero:before {
  content: "\f4f3";
}

.fa-hips:before {
  content: "\f452";
}

.fa-behance:before {
  content: "\f1b4";
}

.fa-reddit:before {
  content: "\f1a1";
}

.fa-discord:before {
  content: "\f392";
}

.fa-chrome:before {
  content: "\f268";
}

.fa-app-store-ios:before {
  content: "\f370";
}

.fa-cc-discover:before {
  content: "\f1f2";
}

.fa-wpbeginner:before {
  content: "\f297";
}

.fa-confluence:before {
  content: "\f78d";
}

.fa-mdb:before {
  content: "\f8ca";
}

.fa-dochub:before {
  content: "\f394";
}

.fa-accessible-icon:before {
  content: "\f368";
}

.fa-ebay:before {
  content: "\f4f4";
}

.fa-amazon:before {
  content: "\f270";
}

.fa-unsplash:before {
  content: "\e07c";
}

.fa-yarn:before {
  content: "\f7e3";
}

.fa-square-steam:before {
  content: "\f1b7";
}

.fa-steam-square:before {
  content: "\f1b7";
}

.fa-500px:before {
  content: "\f26e";
}

.fa-square-vimeo:before {
  content: "\f194";
}

.fa-vimeo-square:before {
  content: "\f194";
}

.fa-asymmetrik:before {
  content: "\f372";
}

.fa-font-awesome:before {
  content: "\f2b4";
}

.fa-font-awesome-flag:before {
  content: "\f2b4";
}

.fa-font-awesome-logo-full:before {
  content: "\f2b4";
}

.fa-gratipay:before {
  content: "\f184";
}

.fa-apple:before {
  content: "\f179";
}

.fa-hive:before {
  content: "\e07f";
}

.fa-gitkraken:before {
  content: "\f3a6";
}

.fa-keybase:before {
  content: "\f4f5";
}

.fa-apple-pay:before {
  content: "\f415";
}

.fa-padlet:before {
  content: "\e4a0";
}

.fa-amazon-pay:before {
  content: "\f42c";
}

.fa-square-github:before {
  content: "\f092";
}

.fa-github-square:before {
  content: "\f092";
}

.fa-stumbleupon:before {
  content: "\f1a4";
}

.fa-fedex:before {
  content: "\f797";
}

.fa-phoenix-framework:before {
  content: "\f3dc";
}

.fa-shopify:before {
  content: "\e057";
}

.fa-neos:before {
  content: "\f612";
}

.fa-square-threads:before {
  content: "\e619";
}

.fa-hackerrank:before {
  content: "\f5f7";
}

.fa-researchgate:before {
  content: "\f4f8";
}

.fa-swift:before {
  content: "\f8e1";
}

.fa-angular:before {
  content: "\f420";
}

.fa-speakap:before {
  content: "\f3f3";
}

.fa-angrycreative:before {
  content: "\f36e";
}

.fa-y-combinator:before {
  content: "\f23b";
}

.fa-empire:before {
  content: "\f1d1";
}

.fa-envira:before {
  content: "\f299";
}

.fa-square-gitlab:before {
  content: "\e5ae";
}

.fa-gitlab-square:before {
  content: "\e5ae";
}

.fa-studiovinari:before {
  content: "\f3f8";
}

.fa-pied-piper:before {
  content: "\f2ae";
}

.fa-wordpress:before {
  content: "\f19a";
}

.fa-product-hunt:before {
  content: "\f288";
}

.fa-firefox:before {
  content: "\f269";
}

.fa-linode:before {
  content: "\f2b8";
}

.fa-goodreads:before {
  content: "\f3a8";
}

.fa-square-odnoklassniki:before {
  content: "\f264";
}

.fa-odnoklassniki-square:before {
  content: "\f264";
}

.fa-jsfiddle:before {
  content: "\f1cc";
}

.fa-sith:before {
  content: "\f512";
}

.fa-themeisle:before {
  content: "\f2b2";
}

.fa-page4:before {
  content: "\f3d7";
}

.fa-hashnode:before {
  content: "\e499";
}

.fa-react:before {
  content: "\f41b";
}

.fa-cc-paypal:before {
  content: "\f1f4";
}

.fa-squarespace:before {
  content: "\f5be";
}

.fa-cc-stripe:before {
  content: "\f1f5";
}

.fa-creative-commons-share:before {
  content: "\f4f2";
}

.fa-bitcoin:before {
  content: "\f379";
}

.fa-keycdn:before {
  content: "\f3ba";
}

.fa-opera:before {
  content: "\f26a";
}

.fa-itch-io:before {
  content: "\f83a";
}

.fa-umbraco:before {
  content: "\f8e8";
}

.fa-galactic-senate:before {
  content: "\f50d";
}

.fa-ubuntu:before {
  content: "\f7df";
}

.fa-draft2digital:before {
  content: "\f396";
}

.fa-stripe:before {
  content: "\f429";
}

.fa-houzz:before {
  content: "\f27c";
}

.fa-gg:before {
  content: "\f260";
}

.fa-dhl:before {
  content: "\f790";
}

.fa-square-pinterest:before {
  content: "\f0d3";
}

.fa-pinterest-square:before {
  content: "\f0d3";
}

.fa-xing:before {
  content: "\f168";
}

.fa-blackberry:before {
  content: "\f37b";
}

.fa-creative-commons-pd:before {
  content: "\f4ec";
}

.fa-playstation:before {
  content: "\f3df";
}

.fa-quinscape:before {
  content: "\f459";
}

.fa-less:before {
  content: "\f41d";
}

.fa-blogger-b:before {
  content: "\f37d";
}

.fa-opencart:before {
  content: "\f23d";
}

.fa-vine:before {
  content: "\f1ca";
}

.fa-paypal:before {
  content: "\f1ed";
}

.fa-gitlab:before {
  content: "\f296";
}

.fa-typo3:before {
  content: "\f42b";
}

.fa-reddit-alien:before {
  content: "\f281";
}

.fa-yahoo:before {
  content: "\f19e";
}

.fa-dailymotion:before {
  content: "\e052";
}

.fa-affiliatetheme:before {
  content: "\f36b";
}

.fa-pied-piper-pp:before {
  content: "\f1a7";
}

.fa-bootstrap:before {
  content: "\f836";
}

.fa-odnoklassniki:before {
  content: "\f263";
}

.fa-nfc-symbol:before {
  content: "\e531";
}

.fa-ethereum:before {
  content: "\f42e";
}

.fa-speaker-deck:before {
  content: "\f83c";
}

.fa-creative-commons-nc-eu:before {
  content: "\f4e9";
}

.fa-patreon:before {
  content: "\f3d9";
}

.fa-avianex:before {
  content: "\f374";
}

.fa-ello:before {
  content: "\f5f1";
}

.fa-gofore:before {
  content: "\f3a7";
}

.fa-bimobject:before {
  content: "\f378";
}

.fa-facebook-f:before {
  content: "\f39e";
}

.fa-square-google-plus:before {
  content: "\f0d4";
}

.fa-google-plus-square:before {
  content: "\f0d4";
}

.fa-mandalorian:before {
  content: "\f50f";
}

.fa-first-order-alt:before {
  content: "\f50a";
}

.fa-osi:before {
  content: "\f41a";
}

.fa-google-wallet:before {
  content: "\f1ee";
}

.fa-d-and-d-beyond:before {
  content: "\f6ca";
}

.fa-periscope:before {
  content: "\f3da";
}

.fa-fulcrum:before {
  content: "\f50b";
}

.fa-cloudscale:before {
  content: "\f383";
}

.fa-forumbee:before {
  content: "\f211";
}

.fa-mizuni:before {
  content: "\f3cc";
}

.fa-schlix:before {
  content: "\f3ea";
}

.fa-square-xing:before {
  content: "\f169";
}

.fa-xing-square:before {
  content: "\f169";
}

.fa-bandcamp:before {
  content: "\f2d5";
}

.fa-wpforms:before {
  content: "\f298";
}

.fa-cloudversify:before {
  content: "\f385";
}

.fa-usps:before {
  content: "\f7e1";
}

.fa-megaport:before {
  content: "\f5a3";
}

.fa-magento:before {
  content: "\f3c4";
}

.fa-spotify:before {
  content: "\f1bc";
}

.fa-optin-monster:before {
  content: "\f23c";
}

.fa-fly:before {
  content: "\f417";
}

.fa-aviato:before {
  content: "\f421";
}

.fa-itunes:before {
  content: "\f3b4";
}

.fa-cuttlefish:before {
  content: "\f38c";
}

.fa-blogger:before {
  content: "\f37c";
}

.fa-flickr:before {
  content: "\f16e";
}

.fa-viber:before {
  content: "\f409";
}

.fa-soundcloud:before {
  content: "\f1be";
}

.fa-digg:before {
  content: "\f1a6";
}

.fa-tencent-weibo:before {
  content: "\f1d5";
}

.fa-symfony:before {
  content: "\f83d";
}

.fa-maxcdn:before {
  content: "\f136";
}

.fa-etsy:before {
  content: "\f2d7";
}

.fa-facebook-messenger:before {
  content: "\f39f";
}

.fa-audible:before {
  content: "\f373";
}

.fa-think-peaks:before {
  content: "\f731";
}

.fa-bilibili:before {
  content: "\e3d9";
}

.fa-erlang:before {
  content: "\f39d";
}

.fa-x-twitter:before {
  content: "\e61b";
}

.fa-cotton-bureau:before {
  content: "\f89e";
}

.fa-dashcube:before {
  content: "\f210";
}

.fa-42-group:before {
  content: "\e080";
}

.fa-innosoft:before {
  content: "\e080";
}

.fa-stack-exchange:before {
  content: "\f18d";
}

.fa-elementor:before {
  content: "\f430";
}

.fa-square-pied-piper:before {
  content: "\e01e";
}

.fa-pied-piper-square:before {
  content: "\e01e";
}

.fa-creative-commons-nd:before {
  content: "\f4eb";
}

.fa-palfed:before {
  content: "\f3d8";
}

.fa-superpowers:before {
  content: "\f2dd";
}

.fa-resolving:before {
  content: "\f3e7";
}

.fa-xbox:before {
  content: "\f412";
}

.fa-searchengin:before {
  content: "\f3eb";
}

.fa-tiktok:before {
  content: "\e07b";
}

.fa-square-facebook:before {
  content: "\f082";
}

.fa-facebook-square:before {
  content: "\f082";
}

.fa-renren:before {
  content: "\f18b";
}

.fa-linux:before {
  content: "\f17c";
}

.fa-glide:before {
  content: "\f2a5";
}

.fa-linkedin:before {
  content: "\f08c";
}

.fa-hubspot:before {
  content: "\f3b2";
}

.fa-deploydog:before {
  content: "\f38e";
}

.fa-twitch:before {
  content: "\f1e8";
}

.fa-ravelry:before {
  content: "\f2d9";
}

.fa-mixer:before {
  content: "\e056";
}

.fa-square-lastfm:before {
  content: "\f203";
}

.fa-lastfm-square:before {
  content: "\f203";
}

.fa-vimeo:before {
  content: "\f40a";
}

.fa-mendeley:before {
  content: "\f7b3";
}

.fa-uniregistry:before {
  content: "\f404";
}

.fa-figma:before {
  content: "\f799";
}

.fa-creative-commons-remix:before {
  content: "\f4ee";
}

.fa-cc-amazon-pay:before {
  content: "\f42d";
}

.fa-dropbox:before {
  content: "\f16b";
}

.fa-instagram:before {
  content: "\f16d";
}

.fa-cmplid:before {
  content: "\e360";
}

.fa-facebook:before {
  content: "\f09a";
}

.fa-gripfire:before {
  content: "\f3ac";
}

.fa-jedi-order:before {
  content: "\f50e";
}

.fa-uikit:before {
  content: "\f403";
}

.fa-fort-awesome-alt:before {
  content: "\f3a3";
}

.fa-phabricator:before {
  content: "\f3db";
}

.fa-ussunnah:before {
  content: "\f407";
}

.fa-earlybirds:before {
  content: "\f39a";
}

.fa-trade-federation:before {
  content: "\f513";
}

.fa-autoprefixer:before {
  content: "\f41c";
}

.fa-whatsapp:before {
  content: "\f232";
}

.fa-slideshare:before {
  content: "\f1e7";
}

.fa-google-play:before {
  content: "\f3ab";
}

.fa-viadeo:before {
  content: "\f2a9";
}

.fa-line:before {
  content: "\f3c0";
}

.fa-google-drive:before {
  content: "\f3aa";
}

.fa-servicestack:before {
  content: "\f3ec";
}

.fa-simplybuilt:before {
  content: "\f215";
}

.fa-bitbucket:before {
  content: "\f171";
}

.fa-imdb:before {
  content: "\f2d8";
}

.fa-deezer:before {
  content: "\e077";
}

.fa-raspberry-pi:before {
  content: "\f7bb";
}

.fa-jira:before {
  content: "\f7b1";
}

.fa-docker:before {
  content: "\f395";
}

.fa-screenpal:before {
  content: "\e570";
}

.fa-bluetooth:before {
  content: "\f293";
}

.fa-gitter:before {
  content: "\f426";
}

.fa-d-and-d:before {
  content: "\f38d";
}

.fa-microblog:before {
  content: "\e01a";
}

.fa-cc-diners-club:before {
  content: "\f24c";
}

.fa-gg-circle:before {
  content: "\f261";
}

.fa-pied-piper-hat:before {
  content: "\f4e5";
}

.fa-kickstarter-k:before {
  content: "\f3bc";
}

.fa-yandex:before {
  content: "\f413";
}

.fa-readme:before {
  content: "\f4d5";
}

.fa-html5:before {
  content: "\f13b";
}

.fa-sellsy:before {
  content: "\f213";
}

.fa-sass:before {
  content: "\f41e";
}

.fa-wirsindhandwerk:before {
  content: "\e2d0";
}

.fa-wsh:before {
  content: "\e2d0";
}

.fa-buromobelexperte:before {
  content: "\f37f";
}

.fa-salesforce:before {
  content: "\f83b";
}

.fa-octopus-deploy:before {
  content: "\e082";
}

.fa-medapps:before {
  content: "\f3c6";
}

.fa-ns8:before {
  content: "\f3d5";
}

.fa-pinterest-p:before {
  content: "\f231";
}

.fa-apper:before {
  content: "\f371";
}

.fa-fort-awesome:before {
  content: "\f286";
}

.fa-waze:before {
  content: "\f83f";
}

.fa-cc-jcb:before {
  content: "\f24b";
}

.fa-snapchat:before {
  content: "\f2ab";
}

.fa-snapchat-ghost:before {
  content: "\f2ab";
}

.fa-fantasy-flight-games:before {
  content: "\f6dc";
}

.fa-rust:before {
  content: "\e07a";
}

.fa-wix:before {
  content: "\f5cf";
}

.fa-square-behance:before {
  content: "\f1b5";
}

.fa-behance-square:before {
  content: "\f1b5";
}

.fa-supple:before {
  content: "\f3f9";
}

.fa-rebel:before {
  content: "\f1d0";
}

.fa-css3:before {
  content: "\f13c";
}

.fa-staylinked:before {
  content: "\f3f5";
}

.fa-kaggle:before {
  content: "\f5fa";
}

.fa-space-awesome:before {
  content: "\e5ac";
}

.fa-deviantart:before {
  content: "\f1bd";
}

.fa-cpanel:before {
  content: "\f388";
}

.fa-goodreads-g:before {
  content: "\f3a9";
}

.fa-square-git:before {
  content: "\f1d2";
}

.fa-git-square:before {
  content: "\f1d2";
}

.fa-square-tumblr:before {
  content: "\f174";
}

.fa-tumblr-square:before {
  content: "\f174";
}

.fa-trello:before {
  content: "\f181";
}

.fa-creative-commons-nc-jp:before {
  content: "\f4ea";
}

.fa-get-pocket:before {
  content: "\f265";
}

.fa-perbyte:before {
  content: "\e083";
}

.fa-grunt:before {
  content: "\f3ad";
}

.fa-weebly:before {
  content: "\f5cc";
}

.fa-connectdevelop:before {
  content: "\f20e";
}

.fa-leanpub:before {
  content: "\f212";
}

.fa-black-tie:before {
  content: "\f27e";
}

.fa-themeco:before {
  content: "\f5c6";
}

.fa-python:before {
  content: "\f3e2";
}

.fa-android:before {
  content: "\f17b";
}

.fa-bots:before {
  content: "\e340";
}

.fa-free-code-camp:before {
  content: "\f2c5";
}

.fa-hornbill:before {
  content: "\f592";
}

.fa-js:before {
  content: "\f3b8";
}

.fa-ideal:before {
  content: "\e013";
}

.fa-git:before {
  content: "\f1d3";
}

.fa-dev:before {
  content: "\f6cc";
}

.fa-sketch:before {
  content: "\f7c6";
}

.fa-yandex-international:before {
  content: "\f414";
}

.fa-cc-amex:before {
  content: "\f1f3";
}

.fa-uber:before {
  content: "\f402";
}

.fa-github:before {
  content: "\f09b";
}

.fa-php:before {
  content: "\f457";
}

.fa-alipay:before {
  content: "\f642";
}

.fa-youtube:before {
  content: "\f167";
}

.fa-skyatlas:before {
  content: "\f216";
}

.fa-firefox-browser:before {
  content: "\e007";
}

.fa-replyd:before {
  content: "\f3e6";
}

.fa-suse:before {
  content: "\f7d6";
}

.fa-jenkins:before {
  content: "\f3b6";
}

.fa-twitter:before {
  content: "\f099";
}

.fa-rockrms:before {
  content: "\f3e9";
}

.fa-pinterest:before {
  content: "\f0d2";
}

.fa-buffer:before {
  content: "\f837";
}

.fa-npm:before {
  content: "\f3d4";
}

.fa-yammer:before {
  content: "\f840";
}

.fa-btc:before {
  content: "\f15a";
}

.fa-dribbble:before {
  content: "\f17d";
}

.fa-stumbleupon-circle:before {
  content: "\f1a3";
}

.fa-internet-explorer:before {
  content: "\f26b";
}

.fa-stubber:before {
  content: "\e5c7";
}

.fa-telegram:before {
  content: "\f2c6";
}

.fa-telegram-plane:before {
  content: "\f2c6";
}

.fa-old-republic:before {
  content: "\f510";
}

.fa-odysee:before {
  content: "\e5c6";
}

.fa-square-whatsapp:before {
  content: "\f40c";
}

.fa-whatsapp-square:before {
  content: "\f40c";
}

.fa-node-js:before {
  content: "\f3d3";
}

.fa-edge-legacy:before {
  content: "\e078";
}

.fa-slack:before {
  content: "\f198";
}

.fa-slack-hash:before {
  content: "\f198";
}

.fa-medrt:before {
  content: "\f3c8";
}

.fa-usb:before {
  content: "\f287";
}

.fa-tumblr:before {
  content: "\f173";
}

.fa-vaadin:before {
  content: "\f408";
}

.fa-quora:before {
  content: "\f2c4";
}

.fa-square-x-twitter:before {
  content: "\e61a";
}

.fa-reacteurope:before {
  content: "\f75d";
}

.fa-medium:before {
  content: "\f23a";
}

.fa-medium-m:before {
  content: "\f23a";
}

.fa-amilia:before {
  content: "\f36d";
}

.fa-mixcloud:before {
  content: "\f289";
}

.fa-flipboard:before {
  content: "\f44d";
}

.fa-viacoin:before {
  content: "\f237";
}

.fa-critical-role:before {
  content: "\f6c9";
}

.fa-sitrox:before {
  content: "\e44a";
}

.fa-discourse:before {
  content: "\f393";
}

.fa-joomla:before {
  content: "\f1aa";
}

.fa-mastodon:before {
  content: "\f4f6";
}

.fa-airbnb:before {
  content: "\f834";
}

.fa-wolf-pack-battalion:before {
  content: "\f514";
}

.fa-buy-n-large:before {
  content: "\f8a6";
}

.fa-gulp:before {
  content: "\f3ae";
}

.fa-creative-commons-sampling-plus:before {
  content: "\f4f1";
}

.fa-strava:before {
  content: "\f428";
}

.fa-ember:before {
  content: "\f423";
}

.fa-canadian-maple-leaf:before {
  content: "\f785";
}

.fa-teamspeak:before {
  content: "\f4f9";
}

.fa-pushed:before {
  content: "\f3e1";
}

.fa-wordpress-simple:before {
  content: "\f411";
}

.fa-nutritionix:before {
  content: "\f3d6";
}

.fa-wodu:before {
  content: "\e088";
}

.fa-google-pay:before {
  content: "\e079";
}

.fa-intercom:before {
  content: "\f7af";
}

.fa-zhihu:before {
  content: "\f63f";
}

.fa-korvue:before {
  content: "\f42f";
}

.fa-pix:before {
  content: "\e43a";
}

.fa-steam-symbol:before {
  content: "\f3f6";
}

.fab,
.fa-brands {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  display: inline-block;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*!
 * animate.css -https://daneden.github.io/animate.css/
 * Version - 3.7.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2019 Daniel Eden
 */
@keyframes bounce {
  from, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}
@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.pulse {
  animation-name: pulse;
}
@keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand {
  animation-name: rubberBand;
}
@keyframes shake {
  from, to {
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  animation-name: shake;
}
@keyframes headShake {
  0% {
    transform: translateX(0);
  }
  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    transform: translateX(0);
  }
}
.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}
@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  transform-origin: top center;
  animation-name: swing;
}
@keyframes tada {
  from {
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.tada {
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes wobble {
  from {
    transform: translate3d(0, 0, 0);
  }
  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.wobble {
  animation-name: wobble;
}
@keyframes jello {
  from, 11.1%, to {
    transform: translate3d(0, 0, 0);
  }
  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  animation-name: jello;
  transform-origin: center;
}
@keyframes heartBeat {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.3);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.3);
  }
  70% {
    transform: scale(1);
  }
}
.heartBeat {
  animation-name: heartBeat;
  animation-duration: 1.3s;
  animation-timing-function: ease-in-out;
}
@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
.bounceIn {
  animation-duration: 0.75s;
  animation-name: bounceIn;
}
@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInDown {
  animation-name: bounceInDown;
}
@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInLeft {
  animation-name: bounceInLeft;
}
@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}
@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}
@keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  animation-duration: 0.75s;
  animation-name: bounceOut;
}
@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  animation-name: bounceOutDown;
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  animation-name: bounceOutLeft;
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  animation-name: bounceOutRight;
}
@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  animation-name: bounceOutUp;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDownBig {
  animation-name: fadeInDownBig;
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRightBig {
  animation-name: fadeInRightBig;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUpBig {
  animation-name: fadeInUpBig;
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  animation-name: fadeOutDown;
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  animation-name: fadeOutRight;
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  animation-name: fadeOutUp;
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}
@keyframes flip {
  from {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }
  to {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  backface-visibility: visible;
  animation-name: flip;
}
@keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInX {
  backface-visibility: visible !important;
  animation-name: flipInX;
}
@keyframes flipInY {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInY {
  backface-visibility: visible !important;
  animation-name: flipInY;
}
@keyframes flipOutX {
  from {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  animation-duration: 0.75s;
  animation-name: flipOutX;
  backface-visibility: visible !important;
}
@keyframes flipOutY {
  from {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  animation-duration: 0.75s;
  backface-visibility: visible !important;
  animation-name: flipOutY;
}
@keyframes lightSpeedIn {
  from {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    transform: skewX(-5deg);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}
@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}
@keyframes rotateIn {
  from {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    transform-origin: center;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateIn {
  animation-name: rotateIn;
}
@keyframes rotateInDownLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}
@keyframes rotateInDownRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInDownRight {
  animation-name: rotateInDownRight;
}
@keyframes rotateInUpLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}
@keyframes rotateInUpRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInUpRight {
  animation-name: rotateInUpRight;
}
@keyframes rotateOut {
  from {
    transform-origin: center;
    opacity: 1;
  }
  to {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  animation-name: rotateOut;
}
@keyframes rotateOutDownLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}
@keyframes rotateOutDownRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}
@keyframes rotateOutUpLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}
@keyframes rotateOutUpRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}
@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  animation-duration: 2s;
  animation-name: hinge;
}
@keyframes jackInTheBox {
  from {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom;
  }
  50% {
    transform: rotate(-10deg);
  }
  70% {
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.jackInTheBox {
  animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.rollIn {
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  animation-name: rollOut;
}
@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  animation-name: zoomIn;
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  animation-name: zoomInDown;
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  animation-name: zoomInLeft;
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  animation-name: zoomInRight;
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  animation-name: zoomInUp;
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  animation-name: zoomOut;
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  animation-name: zoomOutDown;
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}
.zoomOutLeft {
  animation-name: zoomOutLeft;
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}
.zoomOutRight {
  animation-name: zoomOutRight;
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  animation-name: zoomOutUp;
}
@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  animation-name: slideInDown;
}
@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  animation-name: slideInLeft;
}
@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  animation-name: slideInRight;
}
@keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  animation-name: slideInUp;
}
@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  animation-name: slideOutDown;
}
@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  animation-name: slideOutLeft;
}
@keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  animation-name: slideOutRight;
}
@keyframes slideOutUp {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  animation-name: slideOutUp;
}

.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated.infinite {
  animation-iteration-count: infinite;
}

.animated.delay-1s {
  animation-delay: 1s;
}

.animated.delay-2s {
  animation-delay: 2s;
}

.animated.delay-3s {
  animation-delay: 3s;
}

.animated.delay-4s {
  animation-delay: 4s;
}

.animated.delay-5s {
  animation-delay: 5s;
}

.animated.fast {
  animation-duration: 800ms;
}

.animated.faster {
  animation-duration: 500ms;
}

.animated.slow {
  animation-duration: 2s;
}

.animated.slower {
  animation-duration: 3s;
}

@media (print), (prefers-reduced-motion: reduce) {
  .animated {
    animation-duration: 1ms !important;
    transition-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}
.inline-on-collapse {
  display: none;
}

.list-group-item {
  background-color: transparent;
}

.mirror {
  transform: scaleX(-1);
}

.lh-1 {
  line-height: 1;
}

.elipsis {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hover-bg-light:hover {
  background: rgba(0, 0, 0, 0.025);
}

.link-none {
  color: inherit !important;
}

.link-none:hover {
  text-decoration: none !important;
}

.clamp-1 {
  overflow: hidden !important;
  max-height: 80px !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical;
}

.clamp-2 {
  overflow: hidden !important;
  max-height: 80px !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical;
}

.color-inherit {
  color: inherit;
}

a.color-inherit:hover {
  color: inherit !important;
}

.w-100 {
  width: 100%;
}

.full-height {
  height: 100vh;
}

.cursor-pointer {
  cursor: pointer;
}

.t-2 {
  transition: 0.2s;
}

.shadow, .rounded-video .plyr {
  box-shadow: 0 0.12rem 1.2rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-light, .hover-shadow-light:hover {
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.1);
}

.shadow-dark, .hover-shadow-dark:hover {
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.25);
}

.truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rounded-pill {
  border-radius: var(--radius-pill);
}

.btn {
  padding: 0.375rem 1.5rem;
}

.btn-sm,
.btn-group-sm > .btn {
  padding: 0.25rem 0.75rem !important;
}

.form-group {
  margin-bottom: 1rem;
}

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

@media (min-width: 576px) {
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
}
label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

.form-check-label {
  margin-bottom: 0;
}

.form-text {
  display: block;
}

.row.g-2 {
  --bs-gutter-x: 10px;
  --bs-gutter-y: 0;
}

.input-group-prepend,
.input-group-append {
  display: flex;
}

.input-group-prepend {
  margin-right: -1px;
}

.input-group-append {
  margin-left: -1px;
}

.input-group-prepend > .input-group-text,
.input-group-append > .input-group-text {
  height: 100%;
}

.input-group-prepend > .input-group-text {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group-append > .input-group-text {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group > .input-group-prepend + .form-control {
  margin-left: 0 !important;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group > .form-control:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}

.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
}

.custom-file {
  position: relative;
  display: block;
  width: 100%;
  height: 2.375rem;
  flex: 1 1 auto;
}

.input-group > .custom-file {
  width: 1%;
  min-width: 0;
}

.input-group > .input-group-prepend + .custom-file {
  margin-left: 0 !important;
}

.input-group > .input-group-prepend + .custom-file .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.custom-file-input:focus + .custom-file-label {
  border-color: var(--field-muted);
  box-shadow: none;
}

.custom-file-input.is-invalid + .custom-file-label {
  border-color: #dc3545;
}

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  overflow: hidden;
  margin-bottom: 0;
  font-weight: 400;
  color: #495057;
  padding: 0.375rem 0.75rem;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  background: #fff;
  white-space: nowrap;
}

.custom-file-label::after {
  content: "Browse";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  padding: 0.375rem 0.75rem;
  border-left: 1px solid #ced4da;
  background: #e9ecef;
  border-radius: 0 0.25rem 0.25rem 0;
}

.close {
  float: right;
  padding: 0;
  border: 0;
  background: transparent;
  color: #000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  opacity: 0.5;
  cursor: pointer;
}

.close:hover,
.close:focus {
  opacity: 0.75;
}

.modal-header {
  align-items: flex-start;
}

.modal-header .close {
  padding: 1rem;
  margin: -1rem -1rem -1rem auto;
}

.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 0.75rem 1.25rem;
  color: inherit;
}

.breadcrumb {
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  border-radius: 0.25rem;
}

.table > :not(caption) > * > * {
  border-top: 1px solid var(--bs-table-border-color);
  border-bottom-width: 0;
}

.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid var(--bs-table-border-color);
}

.table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.table .thead-dark th {
  color: #fff;
  background-color: #343a40;
  border-color: #454d55;
}

.table-bordered > :not(caption) > * > * {
  border-bottom-width: 1px;
}

.table-borderless > :not(caption) > * > * {
  border: 0;
}

.btn-group-toggle .btn {
  position: relative;
}

.btn-group-toggle .btn > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.badge.bg-primary,
.badge.bg-secondary,
.badge.bg-success,
.badge.bg-danger,
.badge.bg-info,
.badge.bg-dark {
  color: #fff;
}

.badge.bg-warning,
.badge.bg-light {
  color: #212529;
}

.badge.rounded-pill,
.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem !important;
}

.border-0 {
  border: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

.ml-0 {
  margin-left: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.ml-1 {
  margin-left: 0.25rem !important;
}

.mr-1 {
  margin-right: 0.25rem !important;
}

.ml-2 {
  margin-left: 0.5rem !important;
}

.mr-2 {
  margin-right: 0.5rem !important;
}

.ml-3 {
  margin-left: 1rem !important;
}

.mr-3 {
  margin-right: 1rem !important;
}

.ml-4 {
  margin-left: 1.5rem !important;
}

.mr-4 {
  margin-right: 1.5rem !important;
}

.ml-5 {
  margin-left: 3rem !important;
}

.mr-5 {
  margin-right: 3rem !important;
}

.ml-auto {
  margin-left: auto !important;
}

.mr-auto {
  margin-right: auto !important;
}

.badge-pill {
  border-radius: 50rem;
}

@media (max-width: 767.98px) {
  .product-buttons {
    width: 100% !important;
    max-width: 100% !important;
  }
  #flipbook-container,
  #ebook-loading {
    display: none !important;
  }
  #pages-container {
    display: block !important;
  }
  .infograph-card > div {
    max-height: 253px !important;
  }
  .nav-tabs.nav-responsive {
    border: 0;
  }
  .nav-tabs.nav-responsive .nav-item {
    width: 100%;
  }
  .nav-tabs.nav-responsive .nav-item .nav-link.active {
    border-bottom: 1px solid var(--color-border) !important;
    border-radius: var(--radius-sm);
  }
  .nav-tabs.nav-responsive .nav-item .nav-link:hover:not(.active) {
    border-color: transparent;
  }
  .card-columns {
    -moz-column-count: 2 !important;
         column-count: 2 !important;
  }
  #pills-tab a.nav-link {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
    font-size: 0.9em;
  }
  .piece-background {
    height: 140px !important;
  }
  .piece__composer-image {
    width: 90px !important;
    top: -80px !important;
    right: 0 !important;
    left: auto !important;
  }
  .piece-header {
    text-align: left !important;
    margin-left: 10px !important;
  }
  .piece-header h3, .piece-header .h3 {
    font-size: 1.3rem !important;
  }
  .hide-on-sm {
    display: none !important;
  }
  .show-on-sm {
    display: block !important;
  }
  .btn-sm-block {
    display: block;
    width: 100%;
  }
  .chord-info > div {
    flex-direction: column;
  }
  .chord-info > div > div:first-of-type {
    padding: 0 1.5rem;
    text-align: center;
  }
  .note button {
    font-size: 1.2em;
  }
  button#gift {
    bottom: 60px !important;
  }
  .suggestion-card .card-img-top {
    height: 160px !important;
  }
  .dataTables_length {
    display: none !important;
  }
  .dataTables_paginate {
    margin-top: 16px;
  }
  .dataTables_paginate .pagination {
    justify-content: center;
  }
  .tags-quick-edit {
    width: 580px !important;
  }
  .dataTables_filter label {
    width: 100% !important;
  }
  #blog-post h1, #blog-post .h1 {
    font-size: 2.25rem !important;
  }
  #blog-post .font-lg {
    font-size: 1.32em !important;
  }
  #blog-post iframe {
    width: 100% !important;
  }
  .navbar-nav .nav-item {
    border-bottom: 1px solid var(--color-border) !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  footer .social-icons {
    font-size: 1.25em;
  }
  footer .mb-5 {
    margin-bottom: 1.5rem !important;
  }
  footer.py-6 {
    padding-bottom: 3rem !important;
    padding-top: 3rem !important;
  }
  #tags-search-container {
    overflow-x: scroll;
  }
  #tags-search-container #tags-search {
    width: 1500px;
    justify-content: left !important;
  }
  .keyboard-white-key > .dot {
    width: 19px !important;
    height: 19px !important;
  }
  .keyboard-black-key {
    width: 24px !important;
    right: -13.3px !important;
  }
  .keyboard-black-key > .dot {
    width: 18px !important;
    height: 18px !important;
  }
  .btn-sm-block {
    display: block;
    width: 100%;
  }
  .cc-icon {
    right: -50px !important;
  }
  .cc-hero {
    margin-bottom: 160px !important;
  }
  .cc-hero h1, .cc-hero .h1 {
    font-size: 44px !important;
  }
  .cc-hero h2, .cc-hero .h2 {
    font-size: 129% !important;
  }
  .cc-video .player {
    height: auto !important;
  }
  .cc-video .credits {
    height: auto !important;
    margin-top: 40px;
  }
  .cc-card {
    overflow-y: visible !important;
    padding: 0 20px !important;
  }
  .cc-card .cc-phone {
    width: 312px !important;
    transform: translateX(-50%) !important;
    left: 50% !important;
    top: -190px !important;
  }
  .cc-card .cc-body {
    position: relative !important;
    padding: 2rem 1rem 1rem 1rem !important;
    text-align: center;
  }
  .cc-card .cc-body > div p {
    font-size: 80% !important;
  }
}
@media (min-width: 576px) and (max-width: 991.98px) {
  #flipbook-container,
  #ebook-loading {
    display: none !important;
  }
  #pages-container {
    display: block !important;
  }
  .cc-hero {
    margin-bottom: 160px !important;
  }
  .cc-hero h2, .cc-hero .h2 {
    margin-top: 0 !important;
  }
  .cc-card {
    overflow-y: visible !important;
    padding: 0 20px !important;
  }
  .cc-card .cc-phone {
    width: 312px !important;
    transform: translateX(-50%) !important;
    left: 50% !important;
    top: -190px !important;
  }
  .cc-card .cc-body {
    position: relative !important;
    padding: 3rem !important;
    text-align: center;
  }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .cc-hero h1, .cc-hero .h1 {
    font-size: 96px !important;
  }
  .cc-hero h2, .cc-hero .h2 {
    margin-top: 0 !important;
  }
  .infograph-card > div {
    max-height: 313px !important;
  }
}
@media (max-width: 991.98px) {
  .inline-on-collapse {
    display: inline-block !important;
  }
  .hide-on-collapse {
    display: none !important;
  }
  .notifications-count {
    transform: translate(-50%, -50%);
  }
  .cc-card {
    max-width: 100% !important;
  }
  .cc-hero h2, .cc-hero .h2 {
    margin-top: 0 !important;
  }
}
@media (max-width: 1199.98px) {
  .infograph-card > div {
    max-height: 317px;
  }
}
.card-columns {
  -moz-column-count: 4;
       column-count: 4;
}

.infograph-card > div {
  max-height: 380px;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.show-on-sm {
  display: none;
}

.navbar-nav .nav-link {
  white-space: nowrap;
}

.navbar-light .navbar-toggler {
  border: 0;
}

.nav-link {
  color: #212529 !important;
}

.blog-post h1, .blog-post .h1,
.blog-post h2,
.blog-post .h2,
.blog-post h3,
.blog-post .h3,
.blog-post h4,
.blog-post .h4 {
  margin-bottom: 1.5rem;
}

.card:hover .card-overlay {
  opacity: 0.6 !important;
}

.breadcrumb {
  background-color: transparent;
  font-size: 80%;
}

iframe {
  border: 0;
}

button:focus {
  outline: 0;
}

.embed-responsive-a4 {
  padding-bottom: 141.42%;
}

.selected-tag {
  background: #70cfa7 !important;
  color: white;
}

.mark,
mark {
  padding: 0 !important;
}

.alert-top {
  position: fixed;
  top: 24px;
  left: 0;
  z-index: 100000;
  padding: 0 12px;
}

.alert-bottom-right {
  position: fixed;
  bottom: 24px;
  z-index: 100000;
  padding: 0 12px;
  justify-content: flex-end !important;
}

.table.table-sortable thead th {
  cursor: pointer;
}

button.btn-raw {
  background: transparent;
  border: none;
  padding: 0;
}

textarea {
  overflow-x: hidden;
}

a,
.link-primary {
  color: var(--color-primary);
}

a:hover,
.link-primary:hover {
  color: var(--color-link-hover);
  text-decoration: none;
}

a.underline:hover {
  text-decoration: underline;
}

.navbar-brand img {
  width: 26px;
  border-radius: 50%;
  vertical-align: sub;
}

.btn:focus,
.btn:active,
a:focus,
a:active,
button:focus,
button:active {
  outline: none !important;
}

.btn-default {
  background: var(--color-primary);
  color: white;
}

.btn-default:hover,
.btn-default:active,
.btn-default:focus {
  color: white;
  background: var(--color-default-button-hover);
}

.text-brand {
  color: var(--color-primary);
}

.swiper-container {
  width: 326px;
  overflow: visible;
}

.swiper-nav {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-evenly;
  margin: 32px auto 0;
}

.swiper-pagination {
  position: initial;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 32px;
}

.swiper-slide {
  text-align: center;
  background: #fff;
  /* Center slide text vertically */
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 8px 35px 0 rgba(50, 50, 93, 0.1), 0 5px 15px 0 rgba(0, 0, 0, 0.07);
  position: relative;
  border-radius: 3px;
  background-color: #fff;
  margin-top: 8px;
  text-align: center;
  padding: 56px 16px;
  height: initial;
  opacity: 0.4;
  transition: opacity 0.2s ease-in-out;
}

.swiper-slide:hover {
  opacity: 1;
}

.swiper-slide-active {
  opacity: 1;
}

.swiper-slide::before {
  background-image: url(/images/quote-left.svg?c0bdd3f18bcbd09920e3ad2ff686e17f);
  top: 16px;
  left: 16px;
  content: "";
  position: absolute;
  height: 32px;
  width: 32px;
}

.swiper-slide::after {
  background-image: url(/images/quote-right.svg?5b0da7dfddfb92bf9975b1af611b37d3);
  top: 16px;
  right: 16px;
}

.swiper-pagination-bullet-active {
  opacity: 1 !important;
}

.swiper-pagination-bullet {
  opacity: 0.2;
  background-color: #3490dc;
  height: 12px;
  width: 12px;
  margin: 8px;
  display: inline-block;
  border-radius: 100%;
  cursor: pointer;
}

.swiper-button-next {
  background-image: url(/images/dart-right.svg?c6bc73f0348213280feba5fe4bcab2a3);
}

.swiper-button-prev {
  background-image: url(/images/dart-left.svg?6538a8c547acee232dfedf4f5f7378a0);
}

.swiper-navigation-arrow {
  box-shadow: 0 8px 35px 0 rgba(50, 50, 93, 0.1), 0 5px 15px 0 rgba(0, 0, 0, 0.07);
  transition: box-shadow 0.2s ease-in-out;
  position: initial;
  flex: 0 0 auto;
  margin-top: 0;
  background-color: #fff;
  width: 48px;
  height: 48px;
  border-radius: 100%;
  background-size: 16px 16px;
  cursor: pointer;
}

.card-overlay {
  background: rgb(0, 0, 0);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7514356084) 0%, rgba(0, 212, 255, 0) 87%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#00d4ff",GradientType=1);
  bottom: 0;
  right: 0;
}

.free-pick-card {
  height: 234px;
  background-color: var(--color-surface-dark);
}
.free-pick-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0));
  pointer-events: none;
}
.free-pick-card__content {
  max-width: 520px;
}
.free-pick-card__title {
  font-size: clamp(24px, 2.2vw, 26px);
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.free-pick-card__metadata {
  overflow-wrap: anywhere;
}
.free-pick-card__media .app-icon {
  width: 1.4em;
  height: 1.4em;
}

.pastel-card {
  --card-surface: var(--pastel-sky-surface);
  --card-accent: var(--pastel-sky-accent);
  --card-accent-hover: var(--pastel-sky-accent-hover);
  --card-border: var(--pastel-sky-border);
  --card-ink: var(--pastel-sky-ink);
  --card-action: var(--pastel-sky-action);
  --card-action-hover: var(--pastel-sky-action-hover);
  border: 1px solid var(--card-border);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.2), transparent), var(--card-surface);
}
.pastel-card[data-pastel-color=sky] {
  --card-surface: var(--pastel-sky-surface);
  --card-accent: var(--pastel-sky-accent);
  --card-accent-hover: var(--pastel-sky-accent-hover);
  --card-border: var(--pastel-sky-border);
  --card-ink: var(--pastel-sky-ink);
  --card-action: var(--pastel-sky-action);
  --card-action-hover: var(--pastel-sky-action-hover);
}
.pastel-card[data-pastel-color=cream] {
  --card-surface: var(--pastel-cream-surface);
  --card-accent: var(--pastel-cream-accent);
  --card-accent-hover: var(--pastel-cream-accent-hover);
  --card-border: var(--pastel-cream-border);
  --card-ink: var(--pastel-cream-ink);
  --card-action: var(--pastel-cream-action);
  --card-action-hover: var(--pastel-cream-action-hover);
}
.pastel-card[data-pastel-color=mint] {
  --card-surface: var(--pastel-mint-surface);
  --card-accent: var(--pastel-mint-accent);
  --card-accent-hover: var(--pastel-mint-accent-hover);
  --card-border: var(--pastel-mint-border);
  --card-ink: var(--pastel-mint-ink);
  --card-action: var(--pastel-mint-action);
  --card-action-hover: var(--pastel-mint-action-hover);
}
.pastel-card[data-pastel-color=lavender] {
  --card-surface: var(--pastel-lavender-surface);
  --card-accent: var(--pastel-lavender-accent);
  --card-accent-hover: var(--pastel-lavender-accent-hover);
  --card-border: var(--pastel-lavender-border);
  --card-ink: var(--pastel-lavender-ink);
  --card-action: var(--pastel-lavender-action);
  --card-action-hover: var(--pastel-lavender-action-hover);
}
.pastel-card[data-pastel-color=peach] {
  --card-surface: var(--pastel-peach-surface);
  --card-accent: var(--pastel-peach-accent);
  --card-accent-hover: var(--pastel-peach-accent-hover);
  --card-border: var(--pastel-peach-border);
  --card-ink: var(--pastel-peach-ink);
  --card-action: var(--pastel-peach-action);
  --card-action-hover: var(--pastel-peach-action-hover);
}
.pastel-card[data-pastel-color=rose] {
  --card-surface: var(--pastel-rose-surface);
  --card-accent: var(--pastel-rose-accent);
  --card-accent-hover: var(--pastel-rose-accent-hover);
  --card-border: var(--pastel-rose-border);
  --card-ink: var(--pastel-rose-ink);
  --card-action: var(--pastel-rose-action);
  --card-action-hover: var(--pastel-rose-action-hover);
}
.pastel-card[data-pastel-color=aqua] {
  --card-surface: var(--pastel-aqua-surface);
  --card-accent: var(--pastel-aqua-accent);
  --card-accent-hover: var(--pastel-aqua-accent-hover);
  --card-border: var(--pastel-aqua-border);
  --card-ink: var(--pastel-aqua-ink);
  --card-action: var(--pastel-aqua-action);
  --card-action-hover: var(--pastel-aqua-action-hover);
}
.pastel-card[data-pastel-color=butter] {
  --card-surface: var(--pastel-butter-surface);
  --card-accent: var(--pastel-butter-accent);
  --card-accent-hover: var(--pastel-butter-accent-hover);
  --card-border: var(--pastel-butter-border);
  --card-ink: var(--pastel-butter-ink);
  --card-action: var(--pastel-butter-action);
  --card-action-hover: var(--pastel-butter-action-hover);
}
.pastel-card[data-pastel-color=sage] {
  --card-surface: var(--pastel-sage-surface);
  --card-accent: var(--pastel-sage-accent);
  --card-accent-hover: var(--pastel-sage-accent-hover);
  --card-border: var(--pastel-sage-border);
  --card-ink: var(--pastel-sage-ink);
  --card-action: var(--pastel-sage-action);
  --card-action-hover: var(--pastel-sage-action-hover);
}
.pastel-card[data-pastel-color=lilac] {
  --card-surface: var(--pastel-lilac-surface);
  --card-accent: var(--pastel-lilac-accent);
  --card-accent-hover: var(--pastel-lilac-accent-hover);
  --card-border: var(--pastel-lilac-border);
  --card-ink: var(--pastel-lilac-ink);
  --card-action: var(--pastel-lilac-action);
  --card-action-hover: var(--pastel-lilac-action-hover);
}
.pastel-card[data-pastel-color=periwinkle] {
  --card-surface: var(--pastel-periwinkle-surface);
  --card-accent: var(--pastel-periwinkle-accent);
  --card-accent-hover: var(--pastel-periwinkle-accent-hover);
  --card-border: var(--pastel-periwinkle-border);
  --card-ink: var(--pastel-periwinkle-ink);
  --card-action: var(--pastel-periwinkle-action);
  --card-action-hover: var(--pastel-periwinkle-action-hover);
}
.pastel-card[data-pastel-color=terracotta] {
  --card-surface: var(--pastel-terracotta-surface);
  --card-accent: var(--pastel-terracotta-accent);
  --card-accent-hover: var(--pastel-terracotta-accent-hover);
  --card-border: var(--pastel-terracotta-border);
  --card-ink: var(--pastel-terracotta-ink);
  --card-action: var(--pastel-terracotta-action);
  --card-action-hover: var(--pastel-terracotta-action-hover);
}
.pastel-card .pastel-card__tag {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  max-width: 100%;
  padding: 3px 12px;
  border-radius: var(--radius-pill);
  background: var(--card-accent);
  color: var(--card-action);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.4px;
  line-height: 1.5;
}
.pastel-card .pastel-card__action {
  --radius-button: var(--radius-pill);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 100%;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  background: var(--card-accent);
  color: var(--card-action);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  box-shadow: none;
  text-decoration: none;
  transition: background-color 0.18s ease, color 0.18s ease;
}
.pastel-card .pastel-card__action .app-icon {
  color: inherit;
  flex-shrink: 0;
}
.pastel-card .pastel-card__action:hover, .pastel-card .pastel-card__action:focus-visible, .pastel-card .pastel-card__action:active {
  background: var(--card-accent-hover);
  color: var(--card-action-hover);
}
.pastel-card .pastel-card__tag--quiet {
  font-weight: 600;
  letter-spacing: 0;
  padding: 4px 9px;
}

a.pastel-card:hover .pastel-card__action,
a.pastel-card:focus-visible .pastel-card__action,
a.pastel-card:active .pastel-card__action {
  background: var(--card-accent-hover);
  color: var(--card-action-hover);
}

@media (prefers-reduced-motion: reduce) {
  .pastel-card .pastel-card__action {
    transition: none;
  }
}
.highlight-result {
  content-visibility: auto;
  contain-intrinsic-size: auto 220px;
  overflow-clip-margin: 4px;
}

.highlight-lazy-card {
  position: relative;
  overflow: hidden;
  background-color: var(--color-surface-dark);
}
.highlight-lazy-card__art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.highlight-lazy-card > div {
  position: relative;
}

.piece-card,
.search-card,
.composer-tile,
.discover-piece-link {
  transition: transform 0.18s ease;
}
.piece-card:hover,
.search-card:hover,
.composer-tile:hover,
.discover-piece-link:hover {
  transform: translateY(-3px);
}

.discover-piece-link {
  min-width: 0;
  color: var(--color-text);
}

.discover-recent-card {
  flex: 0 0 calc((100% - 32px) / 3);
  gap: 14px;
}
.discover-recent-card__art {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--radius-button);
}
.discover-recent-card__copy {
  flex: 1;
  min-width: 0;
}
.discover-recent-card__title {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.discover-recent-card__composer {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.discover-latest-card {
  flex: 0 0 calc((100% - 32px) / 3);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--color-dropdown-border);
  border-radius: var(--radius-button);
  background: var(--color-surface);
}
.discover-latest-card__art {
  width: 100%;
  aspect-ratio: 2.15;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.discover-latest-card__copy {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 14px;
}
.discover-latest-card__title {
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.discover-latest-card .piece-media-icons {
  margin-top: auto !important;
}

.piece-media-icons .app-icon {
  width: 1.25em;
  height: 1.25em;
}

.piece-level {
  overflow-wrap: anywhere;
}

.discover-levels__header {
  flex-wrap: wrap;
}
.discover-levels__tabs {
  flex-shrink: 0;
}

.discover-level-card {
  flex: 0 0 calc((100% - 64px) / 5);
  overflow: hidden;
  border: 1px solid var(--color-dropdown-border);
  border-radius: var(--radius-button);
  background: linear-gradient(135deg, rgba(var(--level-shade), 0.04), rgba(var(--level-shade), 0.16));
}
.discover-level-card__art {
  position: relative;
  height: 76px;
  overflow: hidden;
}
.discover-level-card__shape {
  position: absolute;
  left: var(--shape-x);
  top: var(--shape-y);
  width: var(--shape-size);
  height: var(--shape-size);
  transform: translate(-50%, -50%) rotate(var(--shape-angle));
  background: var(--level-tone);
  opacity: var(--shape-opacity);
  pointer-events: none;
}
.discover-level-card__shape--circle {
  border-radius: 50%;
}
.discover-level-card__shape--ring {
  border-radius: 50%;
  border: 14px solid var(--level-tone);
  background: transparent;
}
.discover-level-card__shape--blob {
  border-radius: 68% 32% 55% 45%/40% 65% 35% 60%;
}
.discover-level-card__shape--bar {
  width: calc(var(--shape-size) * 1.5);
  height: calc(var(--shape-size) * 0.3);
  border-radius: var(--radius-button);
}
.discover-level-card__shape--triangle {
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.discover-level-card__shape--arch {
  border-radius: 50% 50% 0 0;
}
.discover-level-card__copy {
  min-height: 68px;
  padding: 10px 16px 12px;
  background: rgba(255, 255, 255, 0.6);
}

.discover-panel {
  padding: 24px;
}

.discover-compact-card {
  gap: 14px;
  padding: 14px;
  border-radius: var(--radius-button);
  background: var(--color-surface);
}
.discover-compact-card__art {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--radius-button);
}
.discover-compact-card__copy {
  flex: 1;
  min-width: 0;
}
.discover-compact-card__title {
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.discover-compact-card__media .app-icon {
  width: 1.25em;
  height: 1.25em;
}

.discover-for-you .discover-compact-card {
  flex: 0 0 calc((100% - 32px) / 2.1);
  min-width: 0;
}

.discover-composer-feature__layout {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 24px;
  align-items: center;
}
.discover-composer-feature__feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 16px;
}
.discover-composer-feature__portrait-link {
  display: block;
  min-width: 0;
  border-radius: var(--radius-button);
}
.discover-composer-feature__portrait {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--radius-button);
}
.discover-composer-feature__biography {
  min-width: 0;
  overflow-wrap: anywhere;
}
.discover-composer-feature__action {
  grid-column: 1/-1;
  justify-self: start;
}
.discover-composer-feature__pieces {
  display: grid;
  gap: 8px;
  max-height: 292px;
  overflow-y: auto;
  padding: 3px 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.3) rgba(0, 0, 0, 0.05);
}
.discover-composer-feature__pieces.custom-scroll::-webkit-scrollbar {
  width: 4px;
}
.discover-composer-feature .discover-compact-card {
  min-height: 90px;
  padding: 10px 16px;
}
.discover-composer-feature .discover-compact-card__art {
  width: 68px;
  height: 68px;
}

.discover-past-highlights {
  background: transparent;
}
.discover-past-highlights .free-pick-card {
  height: 292px;
}
.discover-past-highlights .discover-compact-card {
  background: transparent;
}

.discover-latest__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

@media (max-width: 991px) {
  .discover-level-card {
    flex-basis: calc((100% - 48px) / 4);
  }
  .discover-recent-card,
  .discover-latest-card {
    flex-basis: calc((100% - 16px) / 2);
  }
  .discover-latest__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .discover-for-you .discover-compact-card {
    flex-basis: 94%;
  }
  .discover-levels__tabs {
    width: 100%;
  }
  .discover-level-card {
    flex-basis: calc((100% - 32px) / 3);
  }
  .discover-composer-feature__layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .discover-composer-feature__feature {
    grid-template-columns: minmax(0, 140px) minmax(0, 1fr);
  }
}
@media (max-width: 575px) {
  .discover-level-card {
    flex-basis: 46%;
    min-width: 140px;
  }
  .discover-recent-card,
  .discover-latest-card {
    flex-basis: 88%;
  }
  .discover-panel {
    padding: 16px;
  }
  .discover-for-you .discover-compact-card__art {
    width: 72px;
    height: 72px;
  }
  .discover-composer-feature__feature {
    grid-template-columns: minmax(0, 100px) minmax(0, 1fr);
  }
  .discover-composer-feature .discover-compact-card {
    gap: 10px;
    padding: 10px;
  }
  .discover-latest__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.discover-composers .composer-tile {
  flex: 0 0 100px;
  width: 100px;
  color: var(--color-text);
}
.discover-composers .composer-tile:last-child {
  margin-right: 0 !important;
}
.discover-composers .composer-tile:focus-visible {
  border-radius: var(--radius-sm);
}
.discover-composers .composer-tile__portrait {
  width: 100%;
  height: 100px;
  background-size: cover;
  background-position: center;
}
.discover-composers .composer-tile__name {
  line-height: 1;
  overflow-wrap: anywhere;
}
@media (max-width: 767px) {
  .discover-composers .composer-tile {
    flex-basis: 114px;
    width: 114px;
  }
  .discover-composers .composer-tile__portrait {
    height: 114px;
  }
}

.card-scroll-row {
  padding-top: 3px;
  margin-top: -3px;
}

@media (prefers-reduced-motion: reduce) {
  .piece-card,
  .search-card,
  .composer-tile,
  .discover-piece-link {
    transition: none;
  }
  .piece-card:hover,
  .search-card:hover,
  .composer-tile:hover,
  .discover-piece-link:hover {
    transform: none;
  }
}
.mce-large-quote {
  margin: 2.4rem 1.75rem;
}
.mce-large-quote .mce-quote-text {
  border-left: 4px solid #1876f6;
  padding: 0px 0px 0px 1.5rem;
  font-size: 1.2em;
  font-style: italic;
  margin-bottom: 0;
}
.mce-large-quote .mce-quote-author {
  text-align: right;
  color: grey;
  font-style: italic;
  font-size: 0.9em;
  margin: 0;
}
.mce-large-quote .mce-quote-author:before {
  content: "";
  display: inline-block;
  background: lightgrey;
  width: 16px;
  height: 1px;
  vertical-align: middle;
  margin-right: 8px;
}

.mce-dots-separator {
  margin: 3rem 0;
  text-align: center;
  font-size: 0.8em;
}
.mce-dots-separator span.middle-dot {
  margin: 0 1.4rem;
}

.tox .tox-edit-area__iframe {
  padding: 12px;
}

.sk-folding-cube {
  margin: 20px auto;
  width: 40px;
  height: 40px;
  position: relative;
  transform: rotateZ(45deg);
}

.sk-folding-cube .sk-cube {
  float: left;
  width: 50%;
  height: 50%;
  position: relative;
  transform: scale(1.1);
}

.sk-folding-cube .sk-cube:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-primary);
  animation: sk-foldCubeAngle 2.4s infinite linear both;
  transform-origin: 100% 100%;
}

.sk-folding-cube .sk-cube2 {
  transform: scale(1.1) rotateZ(90deg);
}

.sk-folding-cube .sk-cube3 {
  transform: scale(1.1) rotateZ(180deg);
}

.sk-folding-cube .sk-cube4 {
  transform: scale(1.1) rotateZ(270deg);
}

.sk-folding-cube .sk-cube2:before {
  animation-delay: 0.3s;
}

.sk-folding-cube .sk-cube3:before {
  animation-delay: 0.6s;
}

.sk-folding-cube .sk-cube4:before {
  animation-delay: 0.9s;
}
@keyframes sk-foldCubeAngle {
  0%, 10% {
    transform: perspective(140px) rotateX(-180deg);
    opacity: 0;
  }
  25%, 75% {
    transform: perspective(140px) rotateX(0deg);
    opacity: 1;
  }
  90%, 100% {
    transform: perspective(140px) rotateY(180deg);
    opacity: 0;
  }
}
.animated-icon1,
.animated-icon2,
.animated-icon3 {
  width: 30px;
  height: 20px;
  position: relative;
  margin: 0px;
  transform: rotate(0deg);
  transition: 0.5s ease-in-out;
  cursor: pointer;
}

.animated-icon1 span,
.animated-icon2 span,
.animated-icon3 span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  border-radius: 9px;
  opacity: 1;
  left: 0;
  transform: rotate(0deg);
  transition: 0.25s ease-in-out;
}

.animated-icon2 span {
  background: black;
}

.animated-icon2 span:nth-child(1) {
  top: 0px;
}

.animated-icon2 span:nth-child(2),
.animated-icon2 span:nth-child(3) {
  top: 10px;
}

.animated-icon2 span:nth-child(4) {
  top: 20px;
}

.animated-icon2.open span:nth-child(1) {
  top: 11px;
  width: 0%;
  left: 50%;
}

.animated-icon2.open span:nth-child(2) {
  transform: rotate(45deg);
}

.animated-icon2.open span:nth-child(3) {
  transform: rotate(-45deg);
}

.animated-icon2.open span:nth-child(4) {
  top: 11px;
  width: 0%;
  left: 50%;
}

@keyframes overlay-pulse {
  0% {
    background: rgba(255, 255, 255, 0.4);
  }
  50% {
    background: rgba(255, 255, 255, 0.7);
  }
  100% {
    background: rgba(255, 255, 255, 0.4);
  }
}
.overlay-pulse {
  width: 100%;
  height: 100%;
  animation: overlay-pulse 0.8s infinite;
}

/*START WORKERS*/
.place_balk_workers {
  width: 437px;
  position: relative;
  margin: 0 auto;
}

.place_balk_workers .balk_workers {
  width: 437px;
  height: 213px;
  position: relative;
  background-image: url("/images/animations/workers.svg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-color: transparent;
  background-size: 100%;
  z-index: 3;
}

.place_balk_workers .balk {
  width: 60px;
  height: 23px;
  background-image: url("/images/animations/balk.svg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-color: transparent;
  background-size: 100%;
  position: absolute;
  top: 92px;
  left: 194px;
}

.place_balk_workers .saw {
  width: 325px;
  height: 63px;
  background-image: url("/images/animations/saw.svg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-color: transparent;
  background-size: 100%;
  position: absolute;
  left: 53px;
  top: 68px;
  z-index: 2;
  -moz-animation: 1s ease 0s normal none infinite saw;
  -moz-transform-origin: 85% 65%;
  -webkit-animation: saw 1s infinite ease-in-out;
  -webkit-transform-origin: 85% 65%;
  -o-animation: 1s ease 0s normal none infinite saw;
  -o-animation: saw 1s infinite ease-in-out;
  -o-transform-origin: 85% 65%;
  -ms-animation: 1s ease 0s normal none infinite saw;
  -ms-animation: saw 1s infinite ease-in-out;
  -ms-transform-origin: 85% 65%;
  animation: 1s ease 0s normal none infinite saw;
  animation: saw 1s infinite ease-in-out;
  transform-origin: 85% 65%;
}
@keyframes saw {
  0% {
    left: 53px;
  }
  50% {
    left: 72px;
  }
  100% {
    left: 53px;
  }
}
@keyframes saw_mob {
  0% {
    left: 47px;
  }
  50% {
    left: 33px;
  }
  100% {
    left: 47px;
  }
}
/* Start media ( max = 468px ) */
@media (max-width: 468px) {
  .place_balk_workers {
    width: 290px;
    height: 150px;
    margin: 40px auto -10px;
  }
  .place_balk_workers .balk_workers {
    width: 290px;
    height: 150px;
  }
  .place_balk_workers .balk {
    width: 41px;
    height: 15px;
    top: 70px;
    left: 128px;
  }
  .place_balk_workers .saw {
    width: 215px;
    height: 36px;
    left: 37px;
    top: 59px;
    -moz-animation: 1s ease 0s normal none infinite saw_mob;
    -moz-transform-origin: 85% 65%;
    -webkit-animation: saw_mob 1s infinite ease-in-out;
    -webkit-transform-origin: 85% 65%;
    -o-animation: 1s ease 0s normal none infinite saw_mob;
    -o-animation: saw_mob 1s infinite ease-in-out;
    -o-transform-origin: 85% 65%;
    -ms-animation: 1s ease 0s normal none infinite saw_mob;
    -ms-animation: saw_mob 1s infinite ease-in-out;
    -ms-transform-origin: 85% 65%;
    animation: 1s ease 0s normal none infinite saw_mob;
    animation: saw_mob 1s infinite ease-in-out;
    transform-origin: 85% 65%;
  }
}
/*END OF WORKERS*/
/* Safari 4.0 - 8.0 */
/* Standard syntax */
@keyframes loadingAnimation {
  0% {
    transform: scale(1);
  }
  45% {
    transform: scale(1.2);
  }
  70% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
.loading {
  animation-name: loadingAnimation;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  opacity: 0.6;
}
@keyframes heartBeat {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.3);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.3);
  }
  70% {
    transform: scale(1);
  }
}
.heartBeat {
  animation-name: heartBeat;
  animation-duration: 0.75s;
  animation-timing-function: ease-in-out;
}

.fadeInUp {
  animation-duration: 0.2s;
}

/* The switch - the box around the slider */
.switch {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 24px;
  margin: 0;
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: 0.4s;
}

input:checked + .slider {
  background-color: #2196f3;
}

input:focus + .slider {
  box-shadow: none;
}

input:checked + .slider:before {
  transform: translateX(14px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

sup.extension {
  margin-left: 4px;
}

.note {
  position: relative;
}

.note h1 span, .note .h1 span {
  font-size: 0.4em;
  vertical-align: super;
  font-style: italic;
}

.note button {
  border: 0;
  padding: 0;
  background: transparent;
}

.input-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: none;
  background: rgba(255, 255, 255, 0.5);
  z-index: 100;
}

.note-inactive {
  opacity: 0.6;
}

.note-inactive div {
  background-color: #b8c2cc;
}

.note-inactive h1, .note-inactive .h1 {
  color: #b8c2cc;
  border-color: #b8c2cc !important;
}

.note-active div {
  background-color: #4dc0b5;
}

.note-active h1, .note-active .h1 {
  color: #4dc0b5;
  border-color: #4dc0b5 !important;
}

button.control:disabled {
  opacity: 0.4;
  color: white;
}

.btn-chord-main {
  font-size: 1.5em;
  background-color: rgba(47, 228, 88, 0.1215686275);
  color: rgba(32, 162, 62, 0.8196078431);
  transition: 0.2s;
}

.btn-chord-main:hover {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  color: rgba(32, 162, 62, 0.8196078431);
}

.btn-chord-main:active {
  background-color: rgba(47, 228, 88, 0.3803921569);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.btn-chord-main:focus {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.btn-chord-main.btn-chord-selected {
  background-color: rgba(47, 228, 88, 0.3019607843);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.btn-chord-additional.btn-chord-selected {
  color: rgba(84, 76, 0, 0.6705882353);
  background-color: rgba(242, 218, 0, 0.5490196078);
}

.btn-chord-additional {
  background-color: rgba(242, 218, 0, 0.2901960784);
  color: rgba(84, 76, 0, 0.6705882353);
  transition: 0.2s;
}

.btn-chord-additional:hover {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  color: rgba(84, 76, 0, 0.6705882353);
}

.btn-chord-additional:active {
  background-color: rgba(242, 218, 0, 0.5490196078);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.btn-chord-additional:focus {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

#chord-label > div {
  margin: 0.5rem !important;
  font-size: 1.6em;
  color: #6c757d !important;
  font-weight: bold;
  text-transform: capitalize;
}

.input-icon {
  position: relative;
}

.input-icon i:first-of-type {
  position: absolute;
  left: 10.8px;
  bottom: 16px;
}

.input-icon i:last-of-type {
  position: absolute;
  right: 4px;
  bottom: 16px;
}

.input-icon input {
  padding-left: 44px !important;
  padding-right: 44px !important;
}

input.input-light {
  transition: 0.2s;
  background: #e7ebee;
  border: 0;
}
input.input-light:hover {
  background-color: #d0d6dd;
}
input.input-light:active {
  background-color: #d0d6dd;
}
input.input-light:focus {
  background-color: #d0d6dd;
}

input.input-center {
  text-align: center;
}

input.input-center::-webkit-input-placeholder {
  text-align: center;
}

input.input-center:-moz-placeholder {
  /* Firefox 18- */
  text-align: center;
}

input.input-center::-moz-placeholder {
  /* Firefox 19+ */
  text-align: center;
}

input.input-center:-ms-input-placeholder {
  text-align: center;
}

.input-invisible {
  background-color: transparent !important;
  border: 0;
}

.search-bar input {
  text-indent: 30px;
  border: 0;
  padding-bottom: 0.35rem;
  border-radius: 0;
}

.search-bar .icon-search {
  position: absolute;
  top: 7px;
  left: 8px;
  font-size: 15px;
}

.piece-result:not(:last-of-type) {
  border-bottom: 1px solid var(--color-border) !important;
}

.options-columns > div:not(:last-child) {
  margin-right: 1.5rem;
  padding-right: 1.5rem;
  border-right: 1px solid lightgrey;
}

.options-columns > div:last-child {
  padding-right: 2rem;
}

.ui-sortable-handle {
  touch-action: none;
}

.sort-handle {
  cursor: grab;
}

.sort-handle:active {
  cursor: grabbing;
}

.result-card:hover .card-content {
  transform: translateY(-120%);
}

.result-card:hover .card-action {
  bottom: 0 !important;
}

#pdf-container .pdf-control:hover button {
  opacity: 0.6 !important;
}

.hands-lg {
  font-size: 240%;
}

.piece-header {
  text-align: center;
}

.piece-background {
  width: 100%;
  height: 220px;
  margin-bottom: 2rem;
  background-color: #26364a;
  background-image: var(--piece-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  clip-path: ellipse(85% 100% at 50% 0%);
  position: relative;
  overflow: hidden;
}

.piece-background-sharp {
  display: none;
}

@media (min-width: 769px) {
  .piece-background {
    background-image: none;
  }
  .piece-background::before {
    content: "";
    position: absolute;
    inset: -30px;
    background-image: var(--piece-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: blur(12px);
    opacity: 0.5;
    transform: scale(1.05);
    z-index: 0;
  }
  .piece-background-sharp {
    display: block;
    position: absolute;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
    height: 200%;
    width: auto;
    max-width: none;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.15) 4%, rgba(0, 0, 0, 0.5) 9%, black 18%, black 82%, rgba(0, 0, 0, 0.5) 91%, rgba(0, 0, 0, 0.15) 96%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.15) 4%, rgba(0, 0, 0, 0.5) 9%, black 18%, black 82%, rgba(0, 0, 0, 0.5) 91%, rgba(0, 0, 0, 0.15) 96%, transparent 100%);
    z-index: 1;
  }
}
.dragscroll {
  cursor: grab;
}

.dragscroll-horizontal {
  overflow-x: auto;
}

.custom-scroll::-webkit-scrollbar {
  height: 6px;
}

.custom-scroll::-webkit-scrollbar {
  width: 6px;
}

.custom-scroll::-webkit-scrollbar-track {
  background: transparent;
}

.custom-scroll::-webkit-scrollbar-thumb {
  background: #e5e7e9;
  border-radius: 2px;
}

.custom-scroll::-webkit-scrollbar-thumb:hover {
  background: #e0dfdf;
}

.nav-tabs .nav-link {
  color: var(--color-grey);
}

.nav-tabs .active {
  color: var(--color-text-dark) !important;
  font-weight: bold;
}

.tab-navigation--segmented {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  padding: 0.375rem;
  gap: 0.25rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-button);
  background: var(--color-surface-subtle);
}
.tab-navigation--segmented .nav-item {
  flex: 1 0 auto;
}
.tab-navigation--segmented .nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.625rem 1.25rem;
  border-radius: var(--radius-button);
  color: var(--color-text-muted) !important;
  font-size: var(--font-size-sm);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.tab-navigation--segmented .nav-link:hover {
  color: var(--color-text) !important;
}
.tab-navigation--segmented .nav-link.active {
  color: var(--color-text) !important;
  background: var(--color-surface);
  box-shadow: var(--shadow-light);
}
@media (max-width: 575px) {
  .tab-navigation--segmented {
    width: 100%;
  }
  .tab-navigation--segmented .nav-item {
    flex: 1 0 auto;
  }
  .tab-navigation--segmented .nav-link {
    padding-inline: 0.5rem;
  }
}
@media (max-width: 359px) {
  .tab-navigation--segmented .nav-item {
    flex-basis: calc(50% - 0.25rem);
  }
}

.membership-plan {
  display: flex;
  flex-direction: column;
  padding: 0.875rem;
  border-radius: var(--radius);
  background: var(--color-surface);
  box-shadow: 0 18px 42px rgba(27, 35, 53, 0.14), 0 3px 8px rgba(27, 35, 53, 0.04);
}
.membership-plan .membership-plan-top h2, .membership-plan .membership-plan-top .h2 {
  margin: 0;
  padding: 0.35rem 0.8rem;
  border-radius: var(--radius-pill);
  background: rgba(41, 44, 52, 0.62);
  color: var(--color-white);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}
.membership-plan .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
}

.membership-plan-panel {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 220px;
  padding: 1.25rem;
  border-radius: var(--radius);
  background: linear-gradient(145deg, #e5e5e5, #f0f0f0 55%, #e1e1e1);
}
.membership-plan--featured .membership-plan-panel {
  background: radial-gradient(ellipse at 15% 0, #f0d9fb, transparent 70%), linear-gradient(135deg, #e4dff9, #cfe8fc);
}

.membership-plan-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.membership-plan-saving {
  color: var(--color-text-dark);
  font-size: var(--font-size-xs);
  font-weight: 600;
  white-space: nowrap;
}

.membership-plan-benefits {
  display: grid;
  gap: 0.4rem;
  padding-left: 1.75rem;
  padding-right: 0.5rem;
  margin: 1.5rem 0;
  font-size: var(--font-size-sm);
}
.membership-plan-benefits li {
  padding-left: 0.2rem;
  list-style-type: none;
}

.membership-price {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
}
.membership-price strong {
  font-family: var(--font-family-heading);
  font-size: 2.75rem;
  line-height: 1.2;
  letter-spacing: -0.05em;
}
.membership-price span {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.membership-billing-line {
  font-size: var(--font-size-xs);
  margin: 0.5rem 0 0;
}

.checkout-card-preview {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: 1.58;
  width: 100%;
  max-width: 260px;
  border-radius: var(--radius-sm);
  padding: 18px;
  color: #263155;
  background: #dce2fb;
  box-shadow: 0 12px 26px rgba(39, 50, 68, 0.12);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: background-color 0.25s ease;
}
.checkout-card-preview[data-card-brand=visa] {
  background: #f9d0aa;
  color: #563c2b;
}
.checkout-card-preview[data-card-brand=mastercard] {
  background: #d5dcfc;
}
.checkout-card-preview[data-card-brand=amex] {
  background: #cbe2b6;
  color: #2e4932;
}
.checkout-card-preview[data-card-brand=discover] {
  background: #f7dec0;
  color: #563c2b;
}

.checkout-card-art {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.18;
  overflow: hidden;
}
.checkout-card-art span {
  position: absolute;
  width: 130px;
  height: 130px;
  border: 18px solid currentColor;
  border-radius: 50%;
  left: -40px;
  top: -50px;
}
.checkout-card-art span:nth-child(2) {
  width: 80px;
  height: 80px;
  border-width: 10px;
  left: -15px;
  top: -25px;
}
.checkout-card-art span:nth-child(3) {
  left: auto;
  right: -65px;
  top: auto;
  bottom: -75px;
  width: 190px;
  height: 190px;
  border-width: 28px;
}

.checkout-card-top,
.checkout-card-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  font-size: 0.7rem;
  font-weight: 600;
}

.checkout-card-top [data-card-brand-label] {
  font-size: 0.85rem;
  font-style: italic;
}

.checkout-card-chip {
  width: 28px;
  height: 21px;
  border-radius: 5px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.15));
}

.checkout-card-mask {
  font-size: clamp(0.7rem, 1.2vw, 1rem);
  letter-spacing: 0.08em;
  white-space: nowrap;
  text-align: right;
}

.checkout-card-bottom [data-card-name] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: uppercase;
}

.checkout-card-network {
  display: none;
  flex-shrink: 0;
  width: 28px;
  height: 18px;
  position: relative;
}
[data-card-brand=mastercard] .checkout-card-network {
  display: block;
}
.checkout-card-network::before, .checkout-card-network::after {
  content: "";
  position: absolute;
  top: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #e44a39;
}
.checkout-card-network::after {
  right: 0;
  background: #f5ae36;
  opacity: 0.9;
}

.payment-card-option {
  position: relative;
  width: 100%;
  max-width: 260px;
}

.payment-card-check {
  position: absolute;
  top: -8px;
  right: -8px;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 3px solid var(--color-surface);
  border-radius: var(--radius-circle);
  background: var(--color-green);
  color: var(--color-white);
  font-size: 12px;
}

.checkout-card-preview--add {
  justify-content: flex-end;
  align-items: flex-end;
  border: 1px dashed var(--color-border);
  background: var(--color-surface-subtle);
  color: var(--color-text-muted);
  box-shadow: none;
  font-family: inherit;
  cursor: pointer;
}
.checkout-card-preview--add:hover {
  border-color: var(--color-text-muted);
}
.checkout-card-preview--add[aria-expanded=true] {
  border-style: solid;
}

.checkout-card-add-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--font-size-sm);
  font-weight: 600;
}

.payment-card-form-layout {
  display: grid;
  grid-template-columns: minmax(160px, 0.8fr) minmax(0, 1.35fr);
  gap: 28px;
  align-items: start;
}

@media (max-width: 767px) {
  .payment-card-form-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}
.payment-card-option--selectable {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: pointer;
}

.membership-card-fields {
  min-width: 0;
}
.membership-card-fields legend {
  float: none;
  font-size: var(--font-size-sm);
  font-weight: 600;
  margin-bottom: 1rem;
}

.membership-field {
  margin-bottom: 1rem;
  min-width: 0;
}
.membership-field label {
  display: block;
  margin-bottom: 0.45rem;
}
.membership-field .membership-stripe-field {
  height: auto;
  line-height: 1.5;
  cursor: text;
}

.membership-card-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.membership-card-status,
.membership-card-errors {
  font-size: var(--font-size-xs);
  margin-bottom: 1rem;
}
.membership-card-status:empty,
.membership-card-errors:empty {
  display: none;
}

.membership-card-status {
  color: var(--color-text-muted);
}

.membership-card-errors {
  color: var(--color-danger);
}

.membership-card-fields .form-group {
  margin-bottom: 0;
}

.list-group-item.active {
  color: #495057 !important;
  background-color: #f3f5f7;
}

#webapp .menu-link {
  text-decoration: none;
  color: #969ba0;
  transition: 0.2s;
}

#webapp .menu-link:hover,
#webapp .menu-link.active {
  color: #0055fe !important;
}

#webapp .menu-link .menu-icon {
  font-size: 1.4em;
}

@media (max-width: 360px) {
  #webapp .webapp-menu-items {
    padding-left: 8px;
    padding-right: 8px;
  }
  #webapp .webapp-menu-items > div {
    flex: 1;
    min-width: 0;
  }
  #webapp .webapp-menu-items .menu-link small, #webapp .webapp-menu-items .menu-link .small {
    font-size: 11px;
    letter-spacing: 0;
    white-space: nowrap;
  }
}
#main-nav .nav-link,
#main-nav .nav-link:hover {
  border: 0;
}

#main-nav .nav-link:not(.active) {
  color: #6c757d !important;
}

#main-nav .nav-link.active {
  background-color: inherit;
}

#main-nav .nav-item {
  position: relative;
}

.StripeElement {
  padding: 10px 12px;
}

.StripeElement--invalid {
  border-color: #fa755a;
}

.StripeElement--webkit-autofill {
  background-color: #fefde5 !important;
}

i.spinner-border {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
  margin-bottom: 1.6px;
}

.carousel-inner > .carousel-item {
  transition: transform 0.2s ease-in-out !important;
}

.carousel-answers [data-carousel=answer]:not(.selected-answer):hover {
  background-color: #f8f9fa;
}

.tooltip {
  z-index: 1040;
}

.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] {
  top: -20px !important;
}

#save-to-offcanvas.offcanvas.offcanvas-bottom {
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  box-shadow: 0 -12px 40px rgba(20, 29, 44, 0.12);
}
#save-to-offcanvas.offcanvas.offcanvas-bottom .offcanvas-body {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 0 env(safe-area-inset-bottom);
}

.save-to-panel {
  overflow: hidden;
  background: #fff;
  color: #212529;
}
.save-to-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 0 20px 16px;
  border-bottom: 1px solid #e6eaf0;
}
.save-to-panel__header h2, .save-to-panel__header .h2 {
  margin: 0;
  font-family: Poppins, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}
.save-to-panel__header p {
  margin: 4px 0 0;
  color: #697386;
  font-size: 13px;
}
.save-to-panel__create {
  padding: 12px 20px 8px;
}
.save-to-panel__create-button {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 5px 0;
  border: 0;
  background: transparent;
  color: #0055fe;
  font-size: 14px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
.save-to-panel__create-button:hover {
  color: #0045ce;
}
.save-to-panel__create-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #edf4ff;
  font-size: 17px;
}
.save-to-panel__create-arrow {
  margin-left: auto;
  color: #8ca9da;
  font-size: 17px;
}
.save-to-panel__form {
  padding: 4px 0 10px;
}
.save-to-panel__form label {
  display: block;
  margin: 0 0 7px;
  color: #505c70;
  font-size: 12px;
  font-weight: 600;
}
.save-to-panel__form .form-control {
  min-width: 0;
}
.save-to-panel__form .invalid-feedback {
  margin-top: 7px;
}
.save-to-panel__form-fields {
  display: flex;
  align-items: center;
  gap: 10px;
}
.save-to-panel__form-actions {
  display: flex;
  flex-shrink: 0;
  gap: 8px;
}
.save-to-panel__form-actions .btn {
  min-height: 42px;
  padding: 8px 14px;
  font-size: 13px;
}
.save-to-panel__list {
  max-height: 280px;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 4px 20px 14px;
  scrollbar-width: thin;
  scrollbar-color: #c7d2e3 transparent;
}
.save-to-panel__empty {
  margin: 4px 0 14px;
  padding: 22px;
  border: 1px dashed #dce3ed;
  border-radius: 12px;
  color: #697386;
  font-size: 13px;
  text-align: center;
}

.save-to-folder {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  min-width: 0;
  min-height: 68px;
  margin: 0 0 8px;
  padding: 12px 14px;
  border: 1px solid #e6eaf0;
  border-radius: 12px;
  background: white;
  color: #212529;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}
.save-to-folder:hover {
  border-color: #a8c3f3;
  background: #f8fbff;
}
.save-to-folder.is-saved {
  border-color: #a8c3f3;
  background: #f8fbff;
}
.save-to-folder__icon {
  flex-shrink: 0;
  color: #0055fe;
  font-size: 22px;
  line-height: 1;
}
.save-to-folder__copy {
  display: block;
  flex: 1;
  min-width: 0;
}
.save-to-folder__copy strong {
  display: block;
  overflow: hidden;
  color: #212529;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.save-to-folder__copy small, .save-to-folder__copy .small {
  display: block;
  margin-top: 3px;
  color: #697386;
  font-size: 12px;
  line-height: 1.3;
}
.save-to-folder__status {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  color: #8da0b8;
  font-size: 22px;
  line-height: 1;
}
.save-to-folder__status i[name=saved] {
  color: #0055fe;
}
.save-to-folder__status i[name=success] {
  color: #2d995b;
}

@media (max-width: 575px) {
  .save-to-panel__header {
    padding: 0 16px 16px;
  }
  .save-to-panel__create {
    padding: 8px 16px 6px;
  }
  .save-to-panel__list {
    padding: 4px 16px 12px;
  }
  .save-to-panel__form-fields {
    align-items: stretch;
    flex-direction: column;
  }
  .save-to-panel__form-actions {
    justify-content: flex-end;
  }
}
@media (prefers-reduced-motion: reduce) {
  .save-to-folder {
    transition: none;
  }
}
.bottom-sheet-handle {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-shrink: 0;
  width: 64px;
  height: 44px;
  margin: 0 auto;
  padding: 12px 0 0;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  cursor: pointer;
}
.bottom-sheet-handle span {
  width: 36px;
  height: 5px;
  border-radius: 999px;
  background: var(--color-border);
}

.rounded-video .plyr {
  border-radius: 8px !important;
}

#tabs-container .video-container {
  align-self: flex-start;
}
#tabs-container .plyr--video:not(.plyr--fullscreen-fallback) {
  height: auto;
  max-height: 420px;
}
#tabs-container .plyr--video:not(.plyr--fullscreen-fallback) .plyr__video-wrapper,
#tabs-container .plyr--video:not(.plyr--fullscreen-fallback) video {
  max-height: 420px;
}
#tabs-container .plyr--video:not(.plyr--fullscreen-fallback) video {
  -o-object-fit: contain;
     object-fit: contain;
}
#tabs-container .piece-about-video {
  align-self: stretch;
  height: var(--piece-about-video-height, auto);
  max-height: 420px;
}
#tabs-container .piece-about-video .plyr--video:not(.plyr--fullscreen-fallback) {
  height: 100%;
}

#tabs-container .video-container .plyr.plyr--video:fullscreen {
  height: 100%;
  width: 100%;
  max-height: none;
  border-radius: 0 !important;
}
#tabs-container .video-container .plyr.plyr--video:fullscreen .plyr__video-wrapper,
#tabs-container .video-container .plyr.plyr--video:fullscreen video {
  height: 100%;
  max-height: none;
}
#tabs-container .video-container .plyr.plyr--video:fullscreen video {
  -o-object-fit: contain;
     object-fit: contain;
}

#tabs-container .video-container .plyr.plyr--video:-webkit-full-screen {
  height: 100%;
  width: 100%;
  max-height: none;
  border-radius: 0 !important;
}
#tabs-container .video-container .plyr.plyr--video:-webkit-full-screen .plyr__video-wrapper,
#tabs-container .video-container .plyr.plyr--video:-webkit-full-screen video {
  height: 100%;
  max-height: none;
}
#tabs-container .video-container .plyr.plyr--video:-webkit-full-screen video {
  object-fit: contain;
}

#tabs-container .video-container .plyr.plyr--video.plyr--fullscreen-fallback {
  height: 100%;
  width: 100%;
  max-height: none;
  border-radius: 0 !important;
}
#tabs-container .video-container .plyr.plyr--video.plyr--fullscreen-fallback .plyr__video-wrapper,
#tabs-container .video-container .plyr.plyr--video.plyr--fullscreen-fallback video {
  height: 100%;
  max-height: none;
}
#tabs-container .video-container .plyr.plyr--video.plyr--fullscreen-fallback video {
  -o-object-fit: contain;
     object-fit: contain;
}

.piece-moments__list {
  display: grid;
  gap: 2px;
}
.piece-moments__row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  width: 100%;
  border: 0;
  border-radius: var(--radius);
  background: transparent;
  padding: 8px 10px;
  color: var(--color-text);
  font: inherit;
  font-size: 14px;
  text-align: left;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.piece-moments__row:hover {
  background: var(--color-surface-muted, #f5f6f8);
}
.piece-moments__row.is-active {
  color: var(--color-primary);
  background: rgba(0, 85, 254, 0.07);
}
.piece-moments__time {
  flex-shrink: 0;
  color: var(--color-text-muted);
  font-variant-numeric: tabular-nums;
  min-width: 40px;
}
.piece-moments__overlay {
  position: absolute;
  top: 12px;
  bottom: 62px;
  right: 12px;
  left: 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  z-index: 5;
  pointer-events: none;
}
.piece-moments__about, .piece-moments__popover {
  pointer-events: auto;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(20, 24, 30, 0.75);
  color: #f7f7f7;
}
.piece-moments__about {
  flex-shrink: 0;
  min-height: 0;
  border-radius: var(--radius);
  padding: 7px 10px;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.piece-moments__popover {
  position: relative;
  flex: 0 1 auto;
  min-height: 0;
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: auto;
  margin: 0;
  padding: 20px;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  font-size: 14px;
  text-align: left;
  transform-origin: top right;
  animation: moment-details-expand 160ms ease-out;
}
.piece-moments__heading {
  border-left: 3px solid var(--plyr-color-main, #29a8ed);
  padding-left: 14px;
  margin: 0 24px 0 0;
}
.piece-moments__timestamp {
  display: block;
  margin-bottom: 4px;
  color: #b3b4b8;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.piece-moments__title {
  margin: 0;
  color: #f7f7f7;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.piece-moments__comment {
  margin: 0 0 0 17px;
  padding-top: 14px;
  color: #c3c4c7;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.piece-moments__close {
  position: absolute;
  top: 8px;
  right: 8px;
  border: 0;
  background: transparent;
  color: #b3b4b8;
  width: 32px;
  min-width: 0;
  min-height: 0;
  height: 32px;
  font-size: 24px;
  cursor: pointer;
}
@media (max-width: 480px) {
  .piece-moments__overlay {
    top: 8px;
    left: 8px;
    right: 8px;
    bottom: 76px;
  }
  .piece-moments__popover {
    padding: 14px;
    font-size: 13px;
  }
  .piece-moments__heading {
    margin-bottom: 10px;
    padding-left: 10px;
  }
  .piece-moments__comment {
    margin-left: 13px;
  }
  .piece-moments__title {
    font-size: 16px;
  }
}
.piece-moments__about[aria-expanded=true] {
  display: none;
}
.piece-moments__close:hover {
  color: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .piece-moments__popover {
    animation: none;
  }
}
.piece-moments__about[hidden], .piece-moments__popover[hidden] {
  display: none !important;
}

#tabs-container .piece-moments-player .plyr--video:not(.plyr--fullscreen-fallback) {
  height: auto;
}

@media (max-width: 480px) {
  .piece-moments-player .plyr__controls {
    --plyr-control-spacing: 8px;
    padding: 8px;
    flex-wrap: wrap;
  }
  .piece-moments-player .plyr__controls .plyr__volume {
    min-width: 0;
    max-width: 90px;
  }
  .piece-moments-player .plyr__controls .plyr__volume input[type=range] {
    width: 45px;
    min-width: 24px;
    max-width: 45px;
  }
  .piece-moments-player .plyr__controls .plyr__progress__container {
    flex: 1 0 100%;
    order: -1;
    margin: 0 0 4px;
    padding: 0;
  }
}
@keyframes moment-details-expand {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
#blog-post p img {
  max-width: 100%;
  height: auto;
}
#blog-post iframe {
  display: block;
  margin: 0 auto;
}
#blog-post .mce-excerpt {
  margin-left: 3rem;
  margin-right: 3rem;
  font-style: italic;
}
#blog-post .vglnk {
  margin-left: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  display: block;
}

.blog-font p,
.blog-font h4,
.blog-font .h4,
.blog-font iframe {
  margin-bottom: 1.75rem !important;
}

#blog-content img,
#blog-content iframe {
  max-width: 100%;
}

#composers-directory [hidden] {
  display: none !important;
}
#composers-directory .composer-search #search-form input {
  padding-right: 88px !important;
}
#composers-directory .composer-search #search-form .input-erase {
  right: 48px;
}
#composers-directory .composer-search,
#composers-directory .composer-copy,
#composers-directory .composer-alphabet {
  min-width: 0;
}
#composers-directory .composer-card-link {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 100%;
  min-height: 148px;
  padding: 16px;
  border: 1px solid var(--color-dropdown-border);
  border-radius: 22px;
  background: var(--color-surface);
  color: var(--color-text);
  transition: border-color 0.18s ease, background-color 0.18s ease;
}
#composers-directory .composer-card-link:hover, #composers-directory .composer-card-link:focus-visible {
  border-color: rgba(var(--color-primary-rgb), 0.35);
  background: rgba(var(--color-primary-rgb), 0.04);
  color: var(--color-text);
}
#composers-directory .composer-portrait {
  width: 104px;
  height: 116px;
  border-radius: 16px;
  -o-object-fit: cover;
     object-fit: cover;
}
#composers-directory .composer-copy {
  overflow-wrap: anywhere;
}
#composers-directory .composer-card-heading {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-bottom: 6px;
}
#composers-directory .composer-card-name {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-family: var(--font-family-body);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}
#composers-directory .composer-card-country,
#composers-directory .composer-card-years,
#composers-directory .composer-piece-count,
#composers-directory .composer-card-chevron {
  color: var(--color-text-muted);
}
#composers-directory .composer-card-country,
#composers-directory .composer-card-years,
#composers-directory .composer-piece-count {
  font-size: var(--font-size-sm);
  line-height: 1.4;
}
#composers-directory .composer-card-country {
  margin-bottom: 5px;
}
#composers-directory .composer-card-country .flag-icon {
  border-radius: 4px !important;
  box-shadow: none !important;
  margin-right: 7px !important;
}
#composers-directory .composer-card-years {
  margin-bottom: 8px;
}
#composers-directory .composer-card-details {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 16px;
  margin-top: 8px;
}
#composers-directory .composer-period,
#composers-directory .composer-popular {
  display: inline-block;
  padding: 4px 12px;
  border-radius: var(--radius-pill);
  font-size: 0.8125rem;
  line-height: 1.25;
}
#composers-directory .composer-popular {
  background: rgba(var(--color-primary-rgb), 0.09);
  color: var(--color-primary);
  padding: 3px 11px;
}
#composers-directory .composer-period {
  background: #edf0f4;
  color: #46536a;
}
#composers-directory .composer-period[data-period=baroque] {
  background: #f9edcf;
  color: #715735;
}
#composers-directory .composer-period[data-period=classical] {
  background: #ece2ff;
  color: #6030a0;
}
#composers-directory .composer-period[data-period=romantic] {
  background: #fce1e7;
  color: #893956;
}
#composers-directory .composer-period[data-period=modern], #composers-directory .composer-period[data-period="20th century"] {
  background: #e0edff;
  color: #305d94;
}
#composers-directory .composer-period[data-period=impressionist], #composers-directory .composer-period[data-period=impressionism] {
  background: #def0e6;
  color: #376850;
}
#composers-directory .composer-period[data-period=contemporary], #composers-directory .composer-period[data-period="21st century"] {
  background: #ddf1f2;
  color: #32676c;
}
#composers-directory .composer-period[data-period=renaissance] {
  background: #f5e5d5;
  color: #7c5738;
}
#composers-directory .composer-piece-count {
  white-space: nowrap;
}
#composers-directory .composer-card-chevron {
  width: 16px;
  height: 16px;
  margin-left: auto;
}
@media (max-width: 575.98px) {
  #composers-directory .composer-card-link {
    gap: 14px;
    padding: 14px;
  }
  #composers-directory .composer-portrait {
    width: 88px;
    height: 104px;
  }
  #composers-directory .composer-card-details {
    -moz-column-gap: 12px;
         column-gap: 12px;
  }
}
#composers-directory .composer-pill {
  --radius-button: var(--radius-pill);
  flex-shrink: 0;
  min-width: calc(var(--space-3) * 2);
}
#composers-directory .composer-alphabet {
  flex: 1;
}

#composer-controls .search-controls__facets {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 767.98px) {
  #composer-controls .search-controls__facets {
    grid-template-columns: minmax(0, 1fr);
  }
  #composer-controls .search-controls__facets fieldset + fieldset {
    padding-left: 0;
    border-left: 0;
  }
}

#composer-globe-modal .modal-content {
  background: #091b2a;
  color: #eaf1f5;
}
#composer-globe-modal .fullscreen-modal-header {
  padding: 24px 32px;
  border-bottom: 1px solid rgba(164, 200, 219, 0.13);
  background: #0b2031;
}
#composer-globe-modal .fullscreen-modal-header h1, #composer-globe-modal .fullscreen-modal-header .h1 {
  color: #f4f6f7;
  font-size: 26px;
}
#composer-globe-modal .fullscreen-modal-header .text-muted {
  color: #a9c0cf !important;
}
#composer-globe-modal .fullscreen-modal-close {
  background: rgba(181, 209, 225, 0.09);
  color: #eaf1f5 !important;
  border: 1px solid rgba(181, 209, 225, 0.18);
}
#composer-globe-modal .composer-globe-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  padding: 0;
  min-height: 0;
  overflow: hidden;
}
#composer-globe-modal .composer-globe-stage {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: radial-gradient(ellipse at 50% 50%, rgba(43, 107, 142, 0.22), transparent 66%), radial-gradient(1px 1px at 13% 18%, #96b5c9 99%, transparent), radial-gradient(1px 1px at 75% 24%, #96b5c9 99%, transparent), radial-gradient(1px 1px at 20% 72%, #64889e 99%, transparent), radial-gradient(1px 1px at 85% 68%, #64889e 99%, transparent), radial-gradient(1px 1px at 48% 89%, #96b5c9 99%, transparent), #071725;
}
#composer-globe-modal .composer-globe-canvas {
  position: absolute;
  inset: 0;
}
#composer-globe-modal .composer-globe-canvas canvas {
  display: block;
}
#composer-globe-modal .composer-globe-mode {
  position: absolute;
  z-index: 2;
  top: 24px;
  left: 28px;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #c2d6e2;
  pointer-events: none;
}
#composer-globe-modal .composer-globe-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #dabe80;
  box-shadow: 0 0 10px rgba(218, 190, 128, 0.4);
}
#composer-globe-modal .composer-globe-legend {
  position: absolute;
  z-index: 2;
  top: 50px;
  left: 28px;
  color: #afc6d4;
  font-size: 10px;
  pointer-events: none;
}
#composer-globe-modal .composer-globe-legend span {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #699b9c;
  border-radius: 2px;
  margin-right: 7px;
}
#composer-globe-modal .composer-globe-loading,
#composer-globe-modal .composer-globe-error {
  position: absolute;
  z-index: 4;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: rgba(7, 23, 37, 0.85);
  color: #c2d6e2;
  text-align: center;
  padding: 28px;
}
#composer-globe-modal .composer-globe-error {
  flex-direction: column;
}
#composer-globe-modal .composer-globe-error p {
  max-width: 360px;
}
#composer-globe-modal .composer-globe-tools {
  position: absolute;
  z-index: 3;
  right: 24px;
  bottom: 76px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 5px;
  border: 1px solid rgba(164, 200, 219, 0.2);
  border-radius: 28px;
  background: rgba(11, 32, 49, 0.92);
}
#composer-globe-modal .composer-globe-tools > span {
  border-top: 1px solid rgba(164, 200, 219, 0.15);
  margin: 2px 8px;
}
#composer-globe-modal .composer-globe-tools button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #eaf1f5;
  cursor: pointer;
}
#composer-globe-modal .composer-globe-tools button:hover {
  background: rgba(181, 209, 225, 0.13);
}
#composer-globe-modal .composer-globe-tools button:disabled {
  opacity: 0.4;
  cursor: default;
}
#composer-globe-modal .composer-globe-help {
  position: absolute;
  z-index: 2;
  bottom: 25px;
  left: 24px;
  right: 24px;
  margin: 0;
  text-align: center;
  font-size: 12px;
  color: #a9c0cf;
  pointer-events: none;
}
#composer-globe-modal .composer-globe-help span {
  padding: 0 8px;
  color: #647f91;
}
#composer-globe-modal .composer-globe-credit {
  position: absolute;
  bottom: 7px;
  left: 14px;
  font-size: 9px;
  color: #648395;
  pointer-events: none;
}
#composer-globe-modal .composer-globe-label {
  border: 0;
  padding: 5px 8px;
  border-radius: 6px;
  background: rgba(7, 23, 37, 0.5);
  color: #f0eee5;
  font-size: 12px;
  letter-spacing: 0.06em;
  font-weight: 600;
  text-shadow: 0 1px 5px #071725;
  cursor: pointer;
  white-space: nowrap;
}
#composer-globe-modal .composer-globe-label:hover {
  color: #f1d69e;
  background: rgba(7, 23, 37, 0.9);
}
#composer-globe-modal .composer-globe-label-country {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
}
#composer-globe-modal .composer-globe-portraits {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  pointer-events: auto;
  text-align: center;
}
#composer-globe-modal .composer-globe-portrait-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0px 8px;
}
#composer-globe-modal .composer-globe-polaroid {
  display: block;
  width: 100px;
  padding: 4px 4px 6px;
  border: 1px solid #f0ece1;
  background: #fffdf7;
  color: #203441 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.35), 0 2px 5px rgba(0, 0, 0, 0.18);
  transform: rotate(-5deg);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  pointer-events: auto;
  touch-action: manipulation;
}
#composer-globe-modal .composer-globe-polaroid:nth-child(2n) {
  transform: translateY(-9px) rotate(3deg);
}
#composer-globe-modal .composer-globe-polaroid:nth-child(3n) {
  transform: rotate(6deg);
}
#composer-globe-modal .composer-globe-polaroid:only-child {
  transform: rotate(-3deg);
}
#composer-globe-modal .composer-globe-polaroid:hover, #composer-globe-modal .composer-globe-polaroid:focus-visible {
  transform: translateY(-12px) rotate(0);
  box-shadow: 0 20px 36px rgba(0, 0, 0, 0.42);
}
#composer-globe-modal .composer-globe-polaroid-photo {
  position: relative;
  display: grid;
  place-items: center;
  height: 100px;
  overflow: hidden;
  background: linear-gradient(145deg, #e8e1d1, #c4d5d5);
  color: #49606a;
}
#composer-globe-modal .composer-globe-polaroid-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 25%;
     object-position: center 25%;
}
#composer-globe-modal .composer-globe-polaroid-initials {
  font-family: Georgia, serif;
  font-size: 32px;
  letter-spacing: 0.03em;
}
#composer-globe-modal .composer-globe-polaroid-name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: 30px;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  line-height: 15px;
  overflow-wrap: anywhere;
}
#composer-globe-modal .composer-globe-polaroid-count {
  display: block;
  margin-top: 4px;
  color: #68747a;
  font-size: 10px;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
#composer-globe-modal .composer-globe-portrait-nav {
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 24px;
  padding: 4px;
  background: rgba(7, 23, 37, 0.9);
  border: 1px solid #466173;
  color: #e4edf1;
  pointer-events: auto;
}
#composer-globe-modal .composer-globe-portrait-nav span {
  font-size: 11px;
  min-width: 62px;
  font-variant-numeric: tabular-nums;
}
#composer-globe-modal .composer-globe-portrait-nav button {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #e7c88b;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}
#composer-globe-modal .composer-globe-portrait-nav button:hover {
  background: #264b60;
}
#composer-globe-modal .composer-globe-portrait-nav button:disabled {
  opacity: 0.35;
  cursor: default;
}
#composer-globe-modal .composer-globe-portrait-pin {
  position: relative;
  padding: 5px 10px;
  border-radius: 14px;
  background: rgba(7, 23, 37, 0.8);
  color: #f1d69e;
  font-size: 16px;
  letter-spacing: 0.04em;
}
#composer-globe-modal .composer-globe-portrait-close {
  display: block;
  min-width: 44px;
  min-height: 24px;
  margin: 4px auto 0;
  padding: 2px 8px;
  border: 1px solid rgba(231, 200, 139, 0.35);
  border-radius: 6px;
  background: transparent;
  color: #f1d69e;
  font-size: 10px;
  line-height: 1.2;
  cursor: pointer;
  pointer-events: auto;
}
#composer-globe-modal .composer-globe-portrait-close:hover {
  background: #264b60;
  border-color: #e7c88b;
}
#composer-globe-modal .composer-globe-portrait-status {
  font-size: 12px;
  color: #afc6d4;
  margin: 0 0 16px;
}
#composer-globe-modal .composer-globe-portrait-status button {
  padding: 3px 8px;
  margin-left: 4px;
  border: 1px solid #466173;
  border-radius: 5px;
  background: #1c384b;
  color: #e7c88b;
}
#composer-globe-modal .composer-globe-panel {
  min-height: 0;
  min-width: 0;
  padding: 28px;
  overflow-y: auto;
  border-left: 1px solid rgba(164, 200, 219, 0.13);
  background: #0d2334;
  scrollbar-color: #355064 #0d2334;
}
#composer-globe-modal .composer-globe-panel .form-select {
  margin-bottom: 30px;
  background-color: #163044;
  color: #eaf1f5;
  border-color: #375266;
  font-size: 14px;
  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='%23afc6d4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
#composer-globe-modal .composer-globe-panel h2, #composer-globe-modal .composer-globe-panel .h2 {
  color: #f4f2eb;
  font-size: 30px;
  line-height: 1.15;
  margin: 0 0 12px;
}
#composer-globe-modal .composer-globe-eyebrow {
  color: #9eb8c9;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 10px;
  font-weight: 600;
  margin-bottom: 10px;
}
#composer-globe-modal label.composer-globe-eyebrow {
  display: block;
}
#composer-globe-modal .composer-globe-description {
  color: #afc6d4;
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 22px;
}
#composer-globe-modal .composer-globe-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 24px 0;
}
#composer-globe-modal .composer-globe-stats strong {
  display: block;
  font-size: 34px;
  font-weight: 500;
  color: #e7c88b;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
#composer-globe-modal .composer-globe-stats span {
  display: block;
  font-size: 12px;
  margin-top: 5px;
  color: #afc6d4;
}
#composer-globe-modal .composer-globe-stats > div + div {
  border-left: 1px solid #2a4255;
  padding-left: 22px;
}
#composer-globe-modal .composer-globe-browse,
#composer-globe-modal .composer-globe-closer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 10px;
}
#composer-globe-modal .composer-globe-browse {
  background: #dec084;
  border-color: #dec084;
  color: #172a38 !important;
}
#composer-globe-modal .composer-globe-browse:hover {
  background: #ecd39f;
  border-color: #ecd39f;
  color: #172a38 !important;
}
#composer-globe-modal .composer-globe-browse:focus, #composer-globe-modal .composer-globe-browse:active {
  background: #ecd39f !important;
  border-color: #ecd39f !important;
}
#composer-globe-modal .composer-globe-closer {
  background: #1c384b;
  color: #eaf1f5 !important;
  border-color: #375266;
}
#composer-globe-modal .composer-globe-regions {
  margin-top: 30px;
}
#composer-globe-modal .composer-globe-region {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid #263f52;
  background: transparent;
  color: #e2ebf0;
  font-size: 14px;
  text-align: left;
  cursor: pointer;
}
#composer-globe-modal .composer-globe-region span + span {
  color: #9eb8c9;
  font-size: 11px;
  white-space: nowrap;
}
#composer-globe-modal .composer-globe-region:hover, #composer-globe-modal .composer-globe-region[aria-pressed=true] {
  color: #e7c88b;
}
#composer-globe-modal .composer-globe-footnote {
  margin: 24px 0 0;
  font-size: 10px;
  line-height: 1.6;
  color: #9eb8c9;
}
@media (max-width: 899.98px) {
  #composer-globe-modal .fullscreen-modal-header {
    padding: 18px 22px;
  }
  #composer-globe-modal .fullscreen-modal-header h1, #composer-globe-modal .fullscreen-modal-header .h1 {
    font-size: 23px;
  }
  #composer-globe-modal .composer-globe-layout {
    grid-template-columns: minmax(0, 1fr) 300px;
  }
  #composer-globe-modal .composer-globe-panel {
    padding: 22px;
  }
  #composer-globe-modal .composer-globe-panel h2, #composer-globe-modal .composer-globe-panel .h2 {
    font-size: 26px;
  }
  #composer-globe-modal .composer-globe-help {
    font-size: 11px;
    bottom: 24px;
  }
  #composer-globe-modal .composer-globe-help span {
    padding: 0 3px;
  }
}
@media (max-width: 699.98px) {
  #composer-globe-modal .composer-globe-portraits {
    gap: 6px;
  }
  #composer-globe-modal .composer-globe-portrait-row {
    gap: 10px;
    padding: 8px;
  }
  #composer-globe-modal .composer-globe-polaroid {
    width: 106px;
    padding: 6px 6px 8px;
  }
  #composer-globe-modal .composer-globe-polaroid-photo {
    height: 90px;
  }
  #composer-globe-modal .composer-globe-polaroid-name {
    font-size: 10px;
    line-height: 13px;
    min-height: 26px;
    margin-top: 6px;
  }
  #composer-globe-modal .composer-globe-polaroid-count {
    font-size: 9px;
  }
  #composer-globe-modal .composer-globe-portrait-nav button {
    width: 32px;
    height: 32px;
  }
  #composer-globe-modal .composer-globe-portrait-pin {
    font-size: 10px;
  }
  #composer-globe-modal .fullscreen-modal-header {
    padding: 16px 18px;
  }
  #composer-globe-modal .fullscreen-modal-header h1, #composer-globe-modal .fullscreen-modal-header .h1 {
    font-size: 21px;
  }
  #composer-globe-modal .composer-globe-layout {
    display: block;
    overflow-y: auto;
  }
  #composer-globe-modal .composer-globe-stage {
    height: 42vh;
    height: 42dvh;
    min-height: 290px;
  }
  #composer-globe-modal .composer-globe-mode {
    top: 16px;
    left: 18px;
    font-size: 10px;
  }
  #composer-globe-modal .composer-globe-legend {
    top: 39px;
    left: 18px;
    font-size: 9px;
  }
  #composer-globe-modal .composer-globe-help {
    z-index: 0;
    left: 18px;
    right: 72px;
    bottom: 26px;
    font-size: 10px;
  }
  #composer-globe-modal .composer-globe-tools {
    right: 12px;
    bottom: 28px;
  }
  #composer-globe-modal .composer-globe-tools button {
    width: 38px;
    height: 38px;
  }
  #composer-globe-modal .composer-globe-panel {
    padding: 22px;
    overflow: visible;
    border-left: 0;
    border-top: 1px solid #263f52;
  }
  #composer-globe-modal .composer-globe-panel .form-select {
    margin-bottom: 24px;
  }
  #composer-globe-modal .composer-globe-stats {
    margin: 20px 0;
  }
  #composer-globe-modal .composer-globe-stats strong {
    font-size: 30px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #composer-globe-modal .composer-globe-polaroid {
    transition: none;
  }
}

.composer-globe-tooltip {
  padding: 12px 16px;
  border: 1px solid rgba(164, 200, 219, 0.3);
  border-radius: 10px;
  background: rgba(9, 27, 42, 0.96);
  color: #f4f2eb;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}
.composer-globe-tooltip strong {
  display: block;
  font-size: 14px;
  margin-bottom: 4px;
}
.composer-globe-tooltip span {
  font-size: 12px;
  color: #c2d6e2;
}

#composer-globe-modal:not([data-globe-theme=dark]) {
  color-scheme: light;
}
#composer-globe-modal:not([data-globe-theme=dark]) .modal-content {
  background: var(--color-surface);
  color: var(--color-text);
}
#composer-globe-modal:not([data-globe-theme=dark]) .fullscreen-modal-header {
  background: var(--color-surface);
  border-color: var(--color-dropdown-border);
}
#composer-globe-modal:not([data-globe-theme=dark]) .fullscreen-modal-header h1, #composer-globe-modal:not([data-globe-theme=dark]) .fullscreen-modal-header .h1 {
  color: var(--color-text);
}
#composer-globe-modal:not([data-globe-theme=dark]) .fullscreen-modal-header .text-muted {
  color: var(--color-text-muted) !important;
}
#composer-globe-modal:not([data-globe-theme=dark]) .fullscreen-modal-close {
  background: var(--color-surface-subtle);
  border-color: var(--color-dropdown-border);
  color: var(--color-text) !important;
}
#composer-globe-modal:not([data-globe-theme=dark]) .fullscreen-modal-close:hover {
  background: #edf2fa;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-stage {
  background: radial-gradient(ellipse at 50% 48%, #fff 0%, #f3f7fc 55%, #edf3f8 100%);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-mode {
  color: #486275;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-dot {
  background: var(--color-primary);
  box-shadow: 0 0 0 4px rgba(var(--color-primary-rgb), 0.08);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-legend {
  color: #526e7b;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-legend span {
  background: #86b7a3;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-loading,
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-error {
  background: rgba(245, 249, 253, 0.94);
  color: #486275;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-tools {
  background: rgba(255, 255, 255, 0.94);
  border-color: #d5e1e9;
  box-shadow: 0 8px 24px rgba(41, 72, 93, 0.08);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-tools > span {
  border-color: #dce6ed;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-tools button {
  color: #35566c;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-tools button:hover {
  color: var(--color-primary);
  background: #edf3ff;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-help {
  color: #526e7b;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-help span {
  color: #849aa6;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-credit {
  color: #6c8290;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-label {
  background: rgba(255, 255, 255, 0.86);
  color: #35566c;
  text-shadow: none;
  box-shadow: 0 2px 8px rgba(41, 72, 93, 0.06);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-label:hover {
  color: var(--color-primary);
  background: #fff;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-polaroid {
  box-shadow: 0 14px 28px rgba(41, 72, 93, 0.18), 0 2px 5px rgba(41, 72, 93, 0.1);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-polaroid:hover, #composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-polaroid:focus-visible {
  box-shadow: 0 20px 36px rgba(41, 72, 93, 0.24);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-portrait-nav {
  background: rgba(255, 255, 255, 0.95);
  border-color: #d5e1e9;
  color: #486275;
  box-shadow: 0 4px 16px rgba(41, 72, 93, 0.08);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-portrait-nav button {
  color: var(--color-primary);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-portrait-nav button:hover {
  background: #edf3ff;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-portrait-pin {
  background: rgba(255, 255, 255, 0.94);
  color: #35566c;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-portrait-close {
  color: #486275;
  border-color: #cad9e4;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-portrait-close:hover {
  color: var(--color-primary);
  border-color: #9bbcf2;
  background: #edf3ff;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-portrait-status {
  color: var(--color-text-muted);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-portrait-status button {
  background: var(--color-surface);
  color: var(--color-primary);
  border-color: #cad9e4;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-panel {
  background: var(--color-surface);
  border-color: var(--color-dropdown-border);
  scrollbar-color: #c5d3df var(--color-surface);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-panel .form-select {
  background-color: var(--field-background);
  color: var(--field-text);
  border-color: var(--field-border);
  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='%23526e7b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-panel h2, #composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-panel .h2 {
  color: var(--color-text);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-eyebrow {
  color: #6c8290;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-description {
  color: var(--color-text-muted);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-stats strong {
  color: var(--color-primary);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-stats span {
  color: var(--color-text-muted);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-stats > div + div {
  border-color: var(--color-dropdown-border);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-browse {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff !important;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-browse:hover {
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  color: #fff !important;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-browse:focus, #composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-browse:active {
  background: var(--color-primary-active) !important;
  border-color: var(--color-primary-active) !important;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-closer {
  background: var(--color-surface);
  border-color: var(--color-dropdown-border);
  color: var(--color-text) !important;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-region {
  color: var(--color-text);
  border-color: var(--color-dropdown-border);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-region span + span {
  color: var(--color-text-muted);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-region:hover, #composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-region[aria-pressed=true] {
  color: var(--color-primary);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-footnote {
  color: #6c8290;
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-tooltip {
  background: rgba(255, 255, 255, 0.97);
  border-color: #d5e1e9;
  color: #29485c;
  box-shadow: 0 8px 24px rgba(41, 72, 93, 0.13);
}
#composer-globe-modal:not([data-globe-theme=dark]) .composer-globe-tooltip span {
  color: #526e7b;
}

#composer-profile .composer-profile-portrait {
  aspect-ratio: 8/3;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#composer-profile .composer-biography {
  white-space: pre-wrap;
}
#composer-profile .composer-profile-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
}
#composer-profile .composer-profile-details > * {
  min-width: 0;
}
@media (max-width: 991.98px) {
  #composer-profile .composer-contemporaries {
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
  }
}
@media (min-width: 992px) {
  #composer-profile .composer-profile-details.has-sidebar {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  }
  #composer-profile .composer-profile-details.has-sidebar .composer-profile-biography {
    grid-column: 1;
    grid-row: 1;
  }
  #composer-profile .composer-profile-details.has-sidebar.has-curiosity {
    grid-template-rows: auto 1fr;
  }
  #composer-profile .composer-profile-details.has-sidebar.has-curiosity .composer-profile-biography {
    grid-row: 1/span 2;
  }
  #composer-profile .composer-profile-details.has-sidebar .composer-profile-curiosity,
  #composer-profile .composer-profile-details.has-sidebar .composer-contemporaries {
    grid-column: 2;
  }
}
#composer-profile .composer-contemporary-portrait {
  width: 56px;
  height: 56px;
  -o-object-fit: cover;
     object-fit: cover;
}
#composer-profile .composer-contemporary-copy {
  min-width: 0;
}
#composer-profile .composer-contemporary-copy h3, #composer-profile .composer-contemporary-copy .h3 {
  overflow-wrap: anywhere;
}
#composer-profile .composer-contemporaries li + li .composer-contemporary-copy {
  position: relative;
}
#composer-profile .composer-contemporaries li + li .composer-contemporary-copy::before {
  content: "";
  position: absolute;
  top: calc(-1 * var(--space-2));
  left: 0;
  right: 0;
  border-top: 1px solid var(--color-border);
}
#composer-profile h1, #composer-profile .h1,
#composer-profile p {
  overflow-wrap: anywhere;
}
#composer-profile h1, #composer-profile .h1 {
  font-size: var(--font-size-h2);
}
@media (min-width: 768px) {
  #composer-profile .composer-profile-portrait {
    aspect-ratio: 1;
  }
  #composer-profile h1, #composer-profile .h1 {
    font-size: var(--font-size-h1);
  }
}

html[data-explore-page],
html[data-explore-page] body {
  overflow-x: hidden;
  overflow-x: clip;
}

html[data-explore-page]::view-transition {
  overflow: hidden;
}

#explore-catalogue .explore-copy {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
#explore-catalogue .explore-chevron {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}
#explore-catalogue .explore-link,
#explore-catalogue summary {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  color: var(--color-text);
  text-align: left;
}
#explore-catalogue summary {
  cursor: pointer;
  list-style: none;
}
#explore-catalogue summary::-webkit-details-marker {
  display: none;
}
#explore-catalogue summary::marker {
  content: "";
}
#explore-catalogue summary:hover,
#explore-catalogue .explore-link:hover {
  background: var(--color-surface-subtle);
  text-decoration: none;
}
#explore-catalogue summary:focus-visible {
  outline: none;
  background: var(--color-primary-soft);
}
#explore-catalogue details[open] > summary > .explore-chevron {
  transform: rotate(-90deg);
}
#explore-catalogue .explore-section {
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-2) 0;
}
#explore-catalogue .explore-section > summary {
  padding-left: 0;
  padding-right: 0;
  font-weight: var(--font-weight-heading);
}
#explore-catalogue .explore-section > summary > span {
  flex: 1;
}
#explore-catalogue .explore-section[open] > summary {
  color: var(--color-primary);
}
#explore-catalogue .explore-branch {
  border-left: 1px solid var(--color-border);
  margin: var(--space-2) 0 var(--space-3) var(--space-3);
  padding-left: var(--space-2);
}
#explore-catalogue .explore-branch .explore-link {
  padding: var(--space-2) var(--space-2);
  font-size: 90%;
}
#explore-catalogue .explore-branch .is-selected {
  color: var(--color-primary);
  background: var(--color-primary-soft);
  border-radius: var(--radius-button);
}
#explore-catalogue .explore-section:first-of-type .explore-link {
  border: 0;
}
#explore-catalogue .explore-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
}
#explore-catalogue .explore-directory .explore-icon {
  width: 28px;
  height: 32px;
}
#explore-catalogue .explore-artwork {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--radius-sm);
}
#explore-catalogue .explore-directory .explore-artwork {
  width: 44px;
  height: 44px;
}
#explore-catalogue .explore-past {
  padding-left: 0;
  padding-right: 0;
}
#explore-catalogue .explore-portraits {
  display: flex;
  padding-right: var(--space-2);
}
#explore-catalogue .explore-portraits img {
  width: 30px;
  height: 30px;
  -o-object-fit: cover;
     object-fit: cover;
  border: 2px solid var(--color-surface);
  margin-right: -8px;
}
#explore-catalogue .explore-group-label {
  margin: var(--space-3) var(--space-2) var(--space-1);
  font-size: var(--font-size-xs);
}
#explore-catalogue .explore-period-image {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--radius-sm);
}
#explore-catalogue .explore-styles .explore-period {
  padding-top: var(--space-2);
  padding-bottom: var(--space-2);
}
#explore-catalogue .explore-styles .explore-style {
  padding-top: var(--space-2);
  padding-bottom: var(--space-2);
  font-size: var(--font-size-sm);
}
#explore-catalogue .explore-mood {
  overflow: hidden;
}
#explore-catalogue .explore-mood-options {
  margin: 0 var(--space-3);
}
#explore-catalogue .explore-mood-options > * {
  border-top: 1px solid var(--color-border);
}
#explore-catalogue .explore-content {
  display: none;
}
#explore-catalogue.has-selection .explore-directory {
  display: none;
}
#explore-catalogue.has-selection .explore-content {
  display: block;
}
#explore-catalogue .explore-view-all {
  width: 100%;
}
@media (min-width: 992px) {
  #explore-catalogue {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(0, 2.35fr);
    gap: var(--space-4);
  }
  #explore-catalogue .explore-directory, #explore-catalogue.has-selection .explore-directory {
    display: block;
    padding-right: var(--space-4);
    border-right: 1px solid var(--color-border);
  }
  #explore-catalogue .explore-content {
    display: block;
    min-width: 0;
  }
  #explore-catalogue .explore-directory small, #explore-catalogue .explore-directory .small {
    font-size: var(--font-size-xs);
  }
  #explore-catalogue .explore-directory .explore-link {
    gap: var(--space-2);
  }
  #explore-catalogue .explore-view-all {
    width: auto;
  }
}

@media (max-width: 991.98px) {
  #explore-catalogue.has-selection .explore-content {
    margin-top: 74px;
  }
  .explore-mobile-navigation {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
  }
  .explore-mobile-navigation nav {
    overflow-x: auto;
  }
  .explore-mobile-navigation a {
    flex-shrink: 0;
    white-space: nowrap;
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: no-preference) {
  html[data-explore-fallback] #webapp main,
  html[data-explore-fallback] .explore-mobile-navigation {
    animation: explore-slide-in 360ms cubic-bezier(0.4, 0, 0.2, 1) both;
    will-change: transform;
  }
  html[data-explore-fallback=back] #webapp main,
  html[data-explore-fallback=back] .explore-mobile-navigation {
    animation-name: explore-return-in;
  }
  html[data-explore-transition]::view-transition-group(root) {
    animation: none;
  }
  html[data-explore-transition]::view-transition-old(root), html[data-explore-transition]::view-transition-new(root) {
    animation: none;
    mix-blend-mode: normal;
    will-change: transform;
  }
  html[data-explore-transition=forward]::view-transition-old(root) {
    z-index: 1;
  }
  html[data-explore-transition=forward]::view-transition-new(root) {
    z-index: 2;
    animation: explore-slide-in 360ms cubic-bezier(0.4, 0, 0.2, 1) both;
  }
  html[data-explore-transition=back]::view-transition-new(root) {
    z-index: 1;
  }
  html[data-explore-transition=back]::view-transition-old(root) {
    z-index: 2;
    animation: explore-slide-out 360ms cubic-bezier(0.4, 0, 0.2, 1) both;
  }
}
@keyframes explore-slide-in {
  from {
    transform: translate3d(100%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes explore-slide-out {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes explore-return-in {
  from {
    transform: translate3d(-15%, 0, 0);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.collections-page {
  color: #212529;
  padding-bottom: 24px;
}
.collections-page [hidden] {
  display: none !important;
}
.collections-page a {
  text-decoration: none;
}
.collections-page h1, .collections-page .h1,
.collections-page h2,
.collections-page .h2,
.collections-page h3,
.collections-page .h3 {
  font-family: Poppins, sans-serif;
  font-weight: 600;
  color: #212529;
}
.collections-page .icon {
  vertical-align: middle;
}
.collections-page .collections-meta {
  display: block;
  font-size: 13px;
  color: #697386;
}

.collections-intro {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px;
  margin: 28px 0 18px;
  border-radius: 12px;
  color: #212529;
}
.collections-intro:hover {
  color: #212529;
}
.collections-intro__art {
  position: relative;
  flex: 0 0 64px;
  height: 72px;
  overflow: hidden;
  border-radius: 7px;
}
.collections-intro__art img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.collections-intro__art span {
  position: absolute;
  right: 7px;
  bottom: -9px;
  font: 64px/1 Georgia, serif;
  color: #e1f4ff;
}
.collections-intro__copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.collections-intro__copy strong {
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 600;
}
.collections-intro__copy > span:last-child {
  font-size: 14px;
  color: #5b6574;
}
.collections-intro__action {
  margin-left: auto;
  font-size: 13px;
  white-space: nowrap;
}

.collections-feature {
  display: grid;
  grid-template-columns: 46% 54%;
  overflow: hidden;
  border-radius: 20px;
  min-height: 290px;
}
.collections-feature__copy {
  padding: 34px 18px 34px 28px;
  align-self: center;
  position: relative;
  z-index: 1;
}
.collections-feature__copy h1, .collections-feature__copy .h1 {
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1.18;
  margin: 16px 0 12px;
  overflow-wrap: anywhere;
}
.collections-feature__copy p {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 12px;
  color: #4d5663;
}
.collections-feature__copy .btn {
  margin-top: 20px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.collections-feature__art {
  width: 100%;
  height: 100%;
  min-height: 290px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 65% center;
     object-position: 65% center;
}

.collections-section {
  margin-top: 38px;
  scroll-margin-top: 24px;
}
.collections-section__heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.collections-section__heading h2, .collections-section__heading .h2 {
  font-size: 23px;
  line-height: 1.35;
  margin: 0;
  letter-spacing: -0.45px;
}
.collections-section__heading p {
  color: #616b7b;
  font-size: 15px;
  margin: 5px 0 0;
}
.collections-section__heading > a {
  font-size: 12px;
  white-space: nowrap;
  color: #0055fe;
}

.collections-inspiration {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.collections-books {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 2px 2px 12px;
  scrollbar-width: thin;
  scrollbar-color: #c7d2e3 #f2f5f9;
}
.collections-books .collections-book {
  flex: 0 0 31%;
  min-width: 0;
  scroll-snap-align: start;
}

.collections-book-controls {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.collections-book-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid #dce3ed;
  border-radius: 50%;
  background: white;
  color: #0055fe;
  cursor: pointer;
}
.collections-book-controls button:hover:not(:disabled) {
  background: #edf4ff;
  border-color: #0055fe;
}
.collections-book-controls button:disabled {
  color: #aab2bf;
  background: #f7f8fa;
  cursor: default;
}

.collections-book {
  border-radius: 10px;
  overflow: hidden;
}
.collections-book__art {
  position: relative;
  aspect-ratio: 1.65;
  overflow: hidden;
  background: #0055fe;
}
.collections-book__art img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.collections-book__series {
  position: absolute;
  left: 18px;
  top: 16px;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
}
.collections-book__number {
  position: absolute;
  right: 15px;
  bottom: 14px;
  font: clamp(96px, 10vw, 140px)/1 Georgia, serif;
  color: #daf1ee;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.collections-book__copy {
  padding: 15px;
}
.collections-book__copy h3, .collections-book__copy .h3 {
  font-size: 14px;
  margin: 0 0 6px;
}
.collections-book__copy p {
  font-size: 12px;
  color: #697386;
  margin-bottom: 10px;
}

.collections-path-note {
  margin: 14px 0 0;
  text-align: center;
  color: #697386;
  font-size: 12px;
}

.collection-card {
  display: block;
  min-width: 0;
  color: #212529;
  transition: transform 0.18s ease;
}
.collection-card:hover {
  color: #212529;
  transform: translateY(-3px);
}
.collection-card__art {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  aspect-ratio: 1.65;
  background: #eaf0f4;
}
.collection-card__art img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.collection-card__art--illustrated:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(13, 29, 44, 0.48), rgba(13, 29, 44, 0.05));
}
.collection-card__art > span {
  position: absolute;
  z-index: 1;
  left: 18px;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-family: Poppins, sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.3;
  color: white;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.2);
}
.collection-card__copy {
  padding-top: 10px;
}
.collection-card__copy h3, .collection-card__copy .h3 {
  font-size: 13px;
  line-height: 1.45;
  margin-bottom: 4px;
}
.collection-card__copy p {
  color: #697386;
  font-size: 13px;
  line-height: 1.45;
  margin: 5px 0 8px;
}
.collection-card__action {
  font-size: 13px;
  margin-top: 10px;
}
.collection-card--expanded {
  border-radius: 10px;
  overflow: hidden;
}
.collection-card--expanded .collection-card__art {
  border-radius: 0;
}
.collection-card--expanded .collection-card__copy {
  padding: 14px;
}
.collection-card--expanded .collection-card__copy h3, .collection-card--expanded .collection-card__copy .h3 {
  font-size: 14px;
}

.collections-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px 16px;
}
.collections-grid .collection-card__art > span {
  font-size: 18px;
  left: 14px;
  right: 14px;
}
.collections-grid .collections-meta {
  font-size: 12px;
}

.collections-filters {
  margin: 0 0 18px;
}

.collections-empty {
  padding: 36px 24px;
  text-align: center;
  background: #f4f7fb;
  border-radius: 16px;
}
.collections-empty h3, .collections-empty .h3 {
  font-size: 20px;
}
.collections-empty p {
  color: #697386;
}

@media (max-width: 767px) {
  .collections-intro {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px;
  }
  .collections-intro__copy {
    min-width: 0;
  }
  .collections-intro__copy strong {
    font-size: 14px;
  }
  .collections-intro__action {
    grid-column: 2;
    margin-left: 0;
    white-space: normal;
  }
  .collections-feature {
    grid-template-columns: 1fr;
    position: relative;
  }
  .collections-feature__copy {
    padding: 26px;
  }
  .collections-feature__art {
    height: 200px;
    min-height: 0;
    -o-object-position: center 65%;
       object-position: center 65%;
  }
  .collections-section__heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  .collections-section__heading h2, .collections-section__heading .h2 {
    font-size: 21px;
  }
  .collections-books {
    gap: 12px;
  }
  .collections-books .collections-book {
    flex: 0 0 78%;
    scroll-snap-align: start;
  }
  .collections-book__number {
    font-size: 120px;
  }
  .collections-inspiration {
    grid-template-columns: 1fr;
  }
  .collection-card--expanded {
    display: grid;
    grid-template-columns: 40% 60%;
  }
  .collection-card--expanded .collection-card__art {
    height: 100%;
    aspect-ratio: auto;
    min-height: 168px;
  }
  .collection-card--expanded .collection-card__art > span {
    font-size: 17px;
    left: 12px;
    right: 12px;
  }
  .collections-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 12px;
  }
  .collections-grid .collection-card__art > span {
    font-size: 16px;
    left: 10px;
    right: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .collection-card {
    transition: none;
  }
  .collection-card:hover {
    transform: none;
  }
}
.pill-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pill-filters button {
  border: 1px solid #e5eaf1;
  border-radius: 24px;
  padding: 8px 19px;
  color: #505c70 !important;
  background: #f4f6fa;
  font-size: 12px;
  cursor: pointer;
}
.pill-filters button[aria-pressed=true], .pill-filters button[aria-selected=true] {
  color: white !important;
  background: #0055fe;
  border-color: #0055fe;
}
.pill-filters button:hover:not(:disabled) {
  border-color: #0055fe;
}
.pill-filters button:disabled {
  opacity: 0.5;
  cursor: default;
}

.my-pieces-switch,
.tab-switch {
  display: flex;
  max-width: 320px;
  padding: 3px;
  margin: 18px auto 0;
  border-radius: 999px;
  background: #f1f4f8;
}
.my-pieces-switch a,
.my-pieces-switch button,
.tab-switch a,
.tab-switch button {
  flex: 1;
  padding: 9px 14px;
  border-radius: 999px;
  border: 0;
  background: transparent;
  color: #5b6574;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.18s ease, color 0.18s ease;
}
.my-pieces-switch a.active,
.my-pieces-switch button.active,
.tab-switch a.active,
.tab-switch button.active {
  color: white;
  background: #0055fe;
}
.my-pieces-switch a:hover:not(.active),
.my-pieces-switch button:hover:not(.active),
.tab-switch a:hover:not(.active),
.tab-switch button:hover:not(.active) {
  color: #0055fe;
}

.my-pieces-page {
  padding: 4px 0 32px;
  color: #212529;
}

.my-pieces-favorites__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.my-pieces-favorites__heading h2, .my-pieces-favorites__heading .h2 {
  margin: 0;
  font-family: Poppins, sans-serif;
  font-size: 23px;
  font-weight: 600;
}
.my-pieces-favorites__heading p {
  margin: 25px 0 0;
  color: #697386;
  font-size: 14px;
}
.my-pieces-favorites__heading .btn {
  flex-shrink: 0;
}

.my-pieces-favorites__actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  justify-content: flex-end;
  min-width: 0;
}

.my-pieces-favorites__search {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 360px;
  min-height: var(--field-min-height);
  padding: var(--field-padding-y) var(--field-padding-x);
  margin: 0;
  border: 1px solid var(--field-border);
  border-radius: var(--radius-input);
  background: var(--field-background);
  color: var(--field-muted);
}
.my-pieces-favorites__search:focus-within {
  border-color: var(--field-muted);
}
.my-pieces-favorites__search input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--field-text);
  font-size: var(--field-font-size);
}
.my-pieces-favorites__search input::-moz-placeholder {
  color: var(--field-muted);
}
.my-pieces-favorites__search input::placeholder {
  color: var(--field-muted);
}

.my-pieces-favorites__search-status {
  margin: 0 0 16px;
  color: #697386;
  font-size: 13px;
}
.my-pieces-favorites__search-status:empty {
  display: none;
}

.my-pieces-favorites__no-results {
  margin-bottom: 20px;
  color: #697386;
}

.my-pieces-favorites [hidden] {
  display: none !important;
}

.my-pieces-folders {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.my-pieces-folder[data-folder-color=sky] {
  --folder-surface: var(--pastel-sky-surface);
  --folder-accent: var(--pastel-sky-accent);
  --folder-accent-hover: var(--pastel-sky-accent-hover);
  --folder-border: var(--pastel-sky-border);
  --folder-ink: var(--pastel-sky-ink);
  --folder-action: var(--pastel-sky-action);
  --folder-action-hover: var(--pastel-sky-action-hover);
}

.folder-color-picker__option[data-color=sky] {
  --swatch-color: var(--pastel-sky-accent);
  --swatch-ink: var(--pastel-sky-action);
}

.my-pieces-folder[data-folder-color=cream] {
  --folder-surface: var(--pastel-cream-surface);
  --folder-accent: var(--pastel-cream-accent);
  --folder-accent-hover: var(--pastel-cream-accent-hover);
  --folder-border: var(--pastel-cream-border);
  --folder-ink: var(--pastel-cream-ink);
  --folder-action: var(--pastel-cream-action);
  --folder-action-hover: var(--pastel-cream-action-hover);
}

.folder-color-picker__option[data-color=cream] {
  --swatch-color: var(--pastel-cream-accent);
  --swatch-ink: var(--pastel-cream-action);
}

.my-pieces-folder[data-folder-color=mint] {
  --folder-surface: var(--pastel-mint-surface);
  --folder-accent: var(--pastel-mint-accent);
  --folder-accent-hover: var(--pastel-mint-accent-hover);
  --folder-border: var(--pastel-mint-border);
  --folder-ink: var(--pastel-mint-ink);
  --folder-action: var(--pastel-mint-action);
  --folder-action-hover: var(--pastel-mint-action-hover);
}

.folder-color-picker__option[data-color=mint] {
  --swatch-color: var(--pastel-mint-accent);
  --swatch-ink: var(--pastel-mint-action);
}

.my-pieces-folder[data-folder-color=lavender] {
  --folder-surface: var(--pastel-lavender-surface);
  --folder-accent: var(--pastel-lavender-accent);
  --folder-accent-hover: var(--pastel-lavender-accent-hover);
  --folder-border: var(--pastel-lavender-border);
  --folder-ink: var(--pastel-lavender-ink);
  --folder-action: var(--pastel-lavender-action);
  --folder-action-hover: var(--pastel-lavender-action-hover);
}

.folder-color-picker__option[data-color=lavender] {
  --swatch-color: var(--pastel-lavender-accent);
  --swatch-ink: var(--pastel-lavender-action);
}

.my-pieces-folder[data-folder-color=peach] {
  --folder-surface: var(--pastel-peach-surface);
  --folder-accent: var(--pastel-peach-accent);
  --folder-accent-hover: var(--pastel-peach-accent-hover);
  --folder-border: var(--pastel-peach-border);
  --folder-ink: var(--pastel-peach-ink);
  --folder-action: var(--pastel-peach-action);
  --folder-action-hover: var(--pastel-peach-action-hover);
}

.folder-color-picker__option[data-color=peach] {
  --swatch-color: var(--pastel-peach-accent);
  --swatch-ink: var(--pastel-peach-action);
}

.my-pieces-folder[data-folder-color=rose] {
  --folder-surface: var(--pastel-rose-surface);
  --folder-accent: var(--pastel-rose-accent);
  --folder-accent-hover: var(--pastel-rose-accent-hover);
  --folder-border: var(--pastel-rose-border);
  --folder-ink: var(--pastel-rose-ink);
  --folder-action: var(--pastel-rose-action);
  --folder-action-hover: var(--pastel-rose-action-hover);
}

.folder-color-picker__option[data-color=rose] {
  --swatch-color: var(--pastel-rose-accent);
  --swatch-ink: var(--pastel-rose-action);
}

.my-pieces-folder[data-folder-color=aqua] {
  --folder-surface: var(--pastel-aqua-surface);
  --folder-accent: var(--pastel-aqua-accent);
  --folder-accent-hover: var(--pastel-aqua-accent-hover);
  --folder-border: var(--pastel-aqua-border);
  --folder-ink: var(--pastel-aqua-ink);
  --folder-action: var(--pastel-aqua-action);
  --folder-action-hover: var(--pastel-aqua-action-hover);
}

.folder-color-picker__option[data-color=aqua] {
  --swatch-color: var(--pastel-aqua-accent);
  --swatch-ink: var(--pastel-aqua-action);
}

.my-pieces-folder[data-folder-color=butter] {
  --folder-surface: var(--pastel-butter-surface);
  --folder-accent: var(--pastel-butter-accent);
  --folder-accent-hover: var(--pastel-butter-accent-hover);
  --folder-border: var(--pastel-butter-border);
  --folder-ink: var(--pastel-butter-ink);
  --folder-action: var(--pastel-butter-action);
  --folder-action-hover: var(--pastel-butter-action-hover);
}

.folder-color-picker__option[data-color=butter] {
  --swatch-color: var(--pastel-butter-accent);
  --swatch-ink: var(--pastel-butter-action);
}

.my-pieces-folder[data-folder-color=sage] {
  --folder-surface: var(--pastel-sage-surface);
  --folder-accent: var(--pastel-sage-accent);
  --folder-accent-hover: var(--pastel-sage-accent-hover);
  --folder-border: var(--pastel-sage-border);
  --folder-ink: var(--pastel-sage-ink);
  --folder-action: var(--pastel-sage-action);
  --folder-action-hover: var(--pastel-sage-action-hover);
}

.folder-color-picker__option[data-color=sage] {
  --swatch-color: var(--pastel-sage-accent);
  --swatch-ink: var(--pastel-sage-action);
}

.my-pieces-folder[data-folder-color=lilac] {
  --folder-surface: var(--pastel-lilac-surface);
  --folder-accent: var(--pastel-lilac-accent);
  --folder-accent-hover: var(--pastel-lilac-accent-hover);
  --folder-border: var(--pastel-lilac-border);
  --folder-ink: var(--pastel-lilac-ink);
  --folder-action: var(--pastel-lilac-action);
  --folder-action-hover: var(--pastel-lilac-action-hover);
}

.folder-color-picker__option[data-color=lilac] {
  --swatch-color: var(--pastel-lilac-accent);
  --swatch-ink: var(--pastel-lilac-action);
}

.my-pieces-folder[data-folder-color=periwinkle] {
  --folder-surface: var(--pastel-periwinkle-surface);
  --folder-accent: var(--pastel-periwinkle-accent);
  --folder-accent-hover: var(--pastel-periwinkle-accent-hover);
  --folder-border: var(--pastel-periwinkle-border);
  --folder-ink: var(--pastel-periwinkle-ink);
  --folder-action: var(--pastel-periwinkle-action);
  --folder-action-hover: var(--pastel-periwinkle-action-hover);
}

.folder-color-picker__option[data-color=periwinkle] {
  --swatch-color: var(--pastel-periwinkle-accent);
  --swatch-ink: var(--pastel-periwinkle-action);
}

.my-pieces-folder[data-folder-color=terracotta] {
  --folder-surface: var(--pastel-terracotta-surface);
  --folder-accent: var(--pastel-terracotta-accent);
  --folder-accent-hover: var(--pastel-terracotta-accent-hover);
  --folder-border: var(--pastel-terracotta-border);
  --folder-ink: var(--pastel-terracotta-ink);
  --folder-action: var(--pastel-terracotta-action);
  --folder-action-hover: var(--pastel-terracotta-action-hover);
}

.folder-color-picker__option[data-color=terracotta] {
  --swatch-color: var(--pastel-terracotta-accent);
  --swatch-ink: var(--pastel-terracotta-action);
}

.folder-color-picker {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}
.folder-color-picker legend {
  float: none;
  width: auto;
  margin: 0 0 10px 8px;
  font-size: inherit;
}
.folder-color-picker__options {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  max-width: 340px;
}
.folder-color-picker__option {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  height: 44px;
  margin: 0;
  cursor: pointer;
}
.folder-color-picker__swatch {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(39, 50, 68, 0.12);
  border-radius: 50%;
  background: var(--swatch-color);
  color: var(--swatch-ink);
}
.folder-color-picker__swatch .app-icon {
  width: 18px;
  height: 18px;
  visibility: hidden;
}
.folder-color-picker input:checked + .folder-color-picker__swatch {
  box-shadow: 0 0 0 2px white, 0 0 0 4px var(--swatch-ink);
}
.folder-color-picker input:checked + .folder-color-picker__swatch .app-icon {
  visibility: visible;
}
.folder-color-picker .invalid-feedback {
  display: block;
}

.my-pieces-folder {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 310px;
  padding: 44px 18px 14px;
  --folder-surface: var(--pastel-sky-surface);
  --folder-accent: var(--pastel-sky-accent);
  --folder-accent-hover: var(--pastel-sky-accent-hover);
  --folder-border: var(--pastel-sky-border);
  --folder-ink: var(--pastel-sky-ink);
  --folder-action: var(--pastel-sky-action);
  --folder-action-hover: var(--pastel-sky-action-hover);
}
.my-pieces-folder::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 0;
  left: 0;
  width: 62%;
  height: 46px;
  background: var(--folder-accent);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 46' preserveAspectRatio='none'%3E%3Cpath d='M0 46V20Q0 0 20 0H123C145 0 140 24 168 24H200V46Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 46' preserveAspectRatio='none'%3E%3Cpath d='M0 46V20Q0 0 20 0H123C145 0 140 24 168 24H200V46Z'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.my-pieces-folder::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 24px 0 0;
  border: 1px solid var(--folder-border);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.2), transparent), var(--folder-surface);
  transition: box-shadow 0.18s ease;
}
.my-pieces-folder:hover::after {
  box-shadow: 0 8px 22px rgba(26, 48, 85, 0.06);
}
.my-pieces-folder:focus-within {
  z-index: 2;
}
.my-pieces-folder__heading {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 0 4px 18px;
}
.my-pieces-folder__identity {
  min-width: 0;
  flex: 1;
}
.my-pieces-folder__identity h3, .my-pieces-folder__identity .h3 {
  margin: 0 0 4px;
  font-family: var(--font-family-heading);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.my-pieces-folder__identity a {
  color: var(--color-text);
  text-decoration: none;
}
.my-pieces-folder__identity a:hover {
  color: var(--folder-action-hover);
}
.my-pieces-folder__identity > span {
  display: block;
  color: var(--folder-ink);
  font-size: 14px;
  font-weight: 500;
}
.my-pieces-folder__menu {
  flex-shrink: 0;
  align-self: flex-start;
  margin: -3px -6px 0 0;
}
.my-pieces-folder__menu-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--folder-ink);
  cursor: pointer;
}
.my-pieces-folder__menu-button:hover, .my-pieces-folder__menu-button[aria-expanded=true] {
  background: var(--folder-accent);
  color: var(--color-text);
}
.my-pieces-folder .dropdown-menu {
  min-width: 148px;
}
.my-pieces-folder .dropdown-item {
  cursor: pointer;
  font-size: 13px;
}
.my-pieces-folder__preview {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  min-width: 0;
}
.my-pieces-folder__piece {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 56px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.75);
}
.my-pieces-folder__piece > div {
  min-width: 0;
}
.my-pieces-folder__piece > div strong,
.my-pieces-folder__piece > div span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.my-pieces-folder__piece strong {
  color: #273244;
  font-size: 14px;
  font-weight: 600;
}
.my-pieces-folder__piece > div span {
  color: #697386;
  font-size: 13px;
}
.my-pieces-folder__piece-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: #f1f3f7;
  color: #708098;
  font-size: 17px;
}
.my-pieces-folder__empty {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  min-height: 118px;
  margin: 0;
  padding: 16px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.4);
  color: var(--folder-ink);
  font-size: 13px;
  text-align: center;
}
.my-pieces-folder__open {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 40px;
  margin: 12px 0 0;
  padding: 9px 18px;
  border-radius: var(--radius-pill);
  background: var(--folder-accent);
  color: var(--folder-action);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 0.18s ease, color 0.18s ease;
}
.my-pieces-folder__open:hover, .my-pieces-folder__open:focus-visible {
  background: var(--folder-accent-hover);
  color: var(--folder-action-hover);
  text-decoration: none;
}
.my-pieces-folder__open .app-icon {
  color: inherit;
}
.my-pieces-folder--create {
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 286px;
  margin-top: 24px;
  padding: 24px 18px;
  border: 1px dashed #dfe5ed;
  border-radius: 20px;
  background: var(--color-surface);
  color: #5c6d87;
  cursor: pointer;
  text-align: center;
}
.my-pieces-folder--create::before, .my-pieces-folder--create::after {
  display: none;
}
.my-pieces-folder--create > strong {
  font-family: var(--font-family-heading);
  font-size: 17px;
  font-weight: 500;
}
.my-pieces-folder--create > span:last-child {
  color: #697386;
  font-size: 14px;
  line-height: 1.6;
}
.my-pieces-folder--create:hover {
  background: var(--pastel-sky-surface);
  border-color: var(--pastel-sky-accent);
}
.my-pieces-folder__create-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: 2px;
  border-radius: 50%;
  background: #f1f3f7;
  color: #708098;
  font-size: 28px;
}

@media (max-width: 991px) {
  .my-pieces-folders {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .my-pieces-favorites__heading {
    flex-wrap: wrap;
  }
  .my-pieces-favorites__actions {
    flex-basis: 100%;
  }
  .my-pieces-favorites__search {
    max-width: none;
  }
}
@media (max-width: 575px) {
  .my-pieces-favorites__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }
  .my-pieces-favorites__heading h2, .my-pieces-favorites__heading .h2 {
    font-size: 21px;
  }
  .my-pieces-favorites__heading .btn {
    grid-column: 2;
    grid-row: 1;
    padding: 9px 12px;
    font-size: 12px;
  }
  .my-pieces-favorites__actions {
    display: contents;
  }
  .my-pieces-favorites__search {
    grid-column: 1/-1;
  }
  .my-pieces-folders {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .my-pieces-switch a,
  .tab-switch a,
  .tab-switch button,
  .my-pieces-folder::after,
  .my-pieces-folder__open {
    transition: none;
  }
}
.piece-about-media {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}
.piece-about-media .piece-moments-player {
  min-width: 0;
}
.piece-about-media .piece-moments {
  position: relative;
  min-height: 0;
  margin-top: 0 !important;
}
.piece-about-media .piece-moments__list {
  max-height: var(--piece-moments-video-height, none);
  align-content: start;
  overflow-y: auto;
}
@media (min-width: 576px) {
  .piece-about-media {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .piece-about-media .piece-moments__list {
    position: absolute;
    inset: 0;
    max-height: none;
  }
}

.piece-description__content {
  white-space: pre-wrap;
}
.piece-description.is-collapsed .piece-description__content {
  max-height: 250px;
  overflow: hidden;
}
.piece-description__toggle {
  display: inline-block;
  margin-top: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #697386;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.piece-description__toggle:hover {
  color: #0055fe;
  text-decoration: underline;
}
.piece-description__toggle[hidden] {
  display: none !important;
}

.question-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: none;
  background: rgba(255, 255, 255, 0.5);
  z-index: 100;
}

.cc-container p {
  letter-spacing: 1px;
}
.cc-container .cc-icon {
  width: 140px;
  height: 140px;
  right: 60px;
  top: -55px;
}
.cc-container .cc-icon img {
  border-radius: 20%;
  width: 52px;
  margin-top: 32px;
}
.cc-container .cc-hero {
  padding-top: 90px;
  padding-bottom: 32px;
  margin-bottom: 60px;
}
.cc-container .cc-hero h1, .cc-container .cc-hero .h1 {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 163px;
  letter-spacing: 4px;
}
.cc-container .cc-hero h2, .cc-container .cc-hero .h2 {
  margin-top: -96px;
}
.cc-container .cc-card {
  max-width: 1020px;
  padding: 0 182px;
}
.cc-container .cc-card .cc-phone {
  max-width: 312px;
  transform: rotate(-8deg);
  left: 40px;
}
.cc-container .cc-card .cc-body {
  padding-left: 160px;
}
.cc-container .cc-card .cc-body p:first-of-type {
  opacity: 0.9;
  font-size: 90%;
  letter-spacing: 1.4px;
}
.cc-container .cc-card .cc-body h4, .cc-container .cc-card .cc-body .h4 {
  letter-spacing: 1px;
}

.product-buttons {
  max-width: 260px;
}

.roman-numeral {
  font-family: "Roboto Slab", serif;
}

svg#circle {
  transition-duration: 0.5s;
  z-index: 1;
}

div#highlight {
  left: 50%;
  top: -12px;
  transform: translateX(-50%);
  z-index: -1;
  width: 112%;
  opacity: 0.2;
}

g#letters > g {
  opacity: 0.5;
  transition: 0.2s;
  filter: grayscale(100%);
}

g.key {
  opacity: 1 !important;
}

.key-neighbors span:not(:last-of-type)::after,
.key-enharmonic-neighbors span:not(:last-of-type)::after {
  content: "|";
  margin-left: 0.4rem;
  margin-right: 0.4rem;
}

.btn.btn-primary,
.btn.btn-secondary {
  border-width: 1px;
  --radius-button: 12px;
}
.btn.btn-primary:not(.btn-xs):not(.btn-sm):not(.btn-lg):not(.btn-xl),
.btn.btn-secondary:not(.btn-xs):not(.btn-sm):not(.btn-lg):not(.btn-xl) {
  padding: 11px 21px;
  font-size: calc(var(--font-size-base) * 0.9);
  line-height: 22px;
}
.btn-group-sm > .btn.btn-primary:not(.btn-xs):not(.btn-sm):not(.btn-lg):not(.btn-xl),
.btn-group-sm > .btn.btn-secondary:not(.btn-xs):not(.btn-sm):not(.btn-lg):not(.btn-xl) {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
  font-size: 0.875rem;
  line-height: 1.5;
}
.btn-group-lg > .btn.btn-primary:not(.btn-xs):not(.btn-sm):not(.btn-lg):not(.btn-xl),
.btn-group-lg > .btn.btn-secondary:not(.btn-xs):not(.btn-sm):not(.btn-lg):not(.btn-xl) {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.25rem;
  --bs-btn-border-radius: var(--bs-border-radius-lg);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

.btn-primary {
  color: white !important;
  background-color: var(--color-primary);
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.2);
}
.btn-primary:hover {
  color: white !important;
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary.dropdown-toggle[aria-expanded=true] {
  background-color: var(--color-primary-active) !important;
  border-color: var(--color-primary-active) !important;
}
.btn-primary:focus, .btn-primary.focus {
  background-color: var(--color-primary-active) !important;
  border-color: var(--color-primary-active) !important;
}
.btn-primary:disabled, .btn-primary.disabled {
  background-color: var(--color-primary-disabled) !important;
  border-color: var(--color-primary-disabled) !important;
}

.btn-secondary {
  color: #172033 !important;
  background-color: #fff;
  border-color: #e4eaf3;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.05);
}
.btn-secondary:hover, .btn-secondary:focus, .btn-secondary.focus {
  color: #172033 !important;
  background-color: #f6f8fc;
  border-color: #e4eaf3;
}
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary.dropdown-toggle[aria-expanded=true] {
  background-color: #eaf0ff;
  border-color: #d4e1ff;
}
.btn-secondary:disabled, .btn-secondary.disabled {
  background-color: #fff;
  border-color: #e4eaf3;
}

.btn-outline-secondary {
  color: var(--color-text) !important;
  background-color: transparent;
  border-color: var(--color-text);
}
.btn-outline-secondary:hover {
  color: white !important;
  background-color: var(--color-text);
  border-color: var(--color-text);
}
.btn-outline-secondary:active {
  color: white !important;
  background-color: var(--color-text) !important;
  border-color: var(--color-text) !important;
}
.btn-outline-secondary:focus {
  color: white !important;
  background-color: var(--color-text) !important;
  border-color: var(--color-text) !important;
}
.btn-outline-secondary:disabled {
  background-color: var(--color-text) !important;
  border-color: var(--color-text) !important;
}

.btn-primary-outline {
  color: var(--color-primary) !important;
  background-color: transparent;
  border-color: var(--color-primary);
}
.btn-primary-outline:hover {
  color: white !important;
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
.btn-primary-outline:active {
  background-color: var(--color-primary-active) !important;
  border-color: var(--color-primary-active) !important;
}
.btn-primary-outline:focus {
  background-color: var(--color-primary-active) !important;
  border-color: var(--color-primary-active) !important;
}
.btn-primary-outline:disabled {
  background-color: var(--color-primary-disabled) !important;
  border-color: var(--color-primary-disabled) !important;
}

.btn-white {
  color: var(--color-primary) !important;
  background-color: white;
  border-color: white;
}
.btn-white:hover {
  color: var(--color-primary) !important;
  background-color: white;
  border-color: white;
}
.btn-white:active {
  background-color: white !important;
  border-color: white !important;
}
.btn-white:focus {
  background-color: white !important;
  border-color: white !important;
}
.btn-white:disabled {
  background-color: white !important;
  border-color: white !important;
}

.text-primary, .btn-secondary i.app-icon {
  color: var(--color-primary) !important;
}

.bg-primary {
  background: var(--color-primary) !important;
}

.accent-bottom::after {
  content: "";
  display: block;
  background-color: var(--color-primary);
  width: 100px;
  border-radius: 2px;
  height: 7px;
  margin-top: 1.5rem;
}

.btn-teal:disabled {
  color: #fff !important;
  background-color: #4dc0b5;
  border-color: #4dc0b5;
}

.bg-dark {
  background: var(--color-surface-dark);
}

.bg-lightest-primary {
  background: var(--color-primary-soft) !important;
}

.color-elementary {
  color: rgb(48, 209, 88);
}

.border-elementary {
  border-color: #d7f6df !important;
}

.bg-elementary {
  background: #d7f6df !important;
  color: #24a043;
}

.text-elementary {
  color: #0a2b12;
}

.bg-elementary-raw {
  color: white;
  background: rgb(48, 209, 88);
}

.color-beginner {
  color: rgb(255, 214, 10);
}

.border-beginner {
  border-color: #fff8d6 !important;
}

.bg-beginner {
  background: #fff8d6 !important;
  color: #e0bb00;
}

.text-beginner {
  color: #3d3300;
}

.bg-beginner-raw {
  color: white;
  background: rgb(255, 214, 10);
}

.color-intermediate {
  color: rgb(255, 69, 58);
}

.border-intermediate {
  border-color: #ffeeed !important;
}

.bg-intermediate {
  background: #ffeeed !important;
  color: #ff2d21;
}

.text-intermediate {
  color: #6d0600;
}

.bg-intermediate-raw {
  color: white;
  background: rgb(255, 69, 58);
}

.color-advanced {
  color: rgb(191, 90, 242);
}

.border-advanced {
  border-color: #f6e8fd !important;
}

.bg-advanced {
  background: #f6e8fd !important;
  color: #b642f0;
}

.text-advanced {
  color: #520977;
}

.bg-advanced-raw {
  color: white;
  background: rgb(191, 90, 242);
}

.font-serif {
  font-weight: normal;
  letter-spacing: 0.003em;
}

.blog-post {
  letter-spacing: 0.025em;
}

.rounded-circle {
  border-radius: var(--radius-circle) !important;
}

.rounded {
  border-radius: var(--radius) !important;
}

.btn {
  border-radius: var(--radius-button) !important;
}

input,
textarea,
select {
  border-radius: var(--radius-input);
}

.rounded-bottom,
.rounded-start,
.rounded-left {
  border-bottom-left-radius: var(--radius) !important;
}

.rounded-bottom,
.rounded-end,
.rounded-right {
  border-bottom-right-radius: var(--radius) !important;
}

.rounded-end,
.rounded-right,
.rounded-top {
  border-top-right-radius: var(--radius) !important;
}

.rounded-start,
.rounded-left,
.rounded-top {
  border-top-left-radius: var(--radius) !important;
}

.rounded-1,
.rounded-sm,
#explore-catalogue .explore-branch .explore-link {
  border-radius: var(--radius-sm) !important;
}

.rounded-sm-bottom,
.rounded-sm-left {
  border-bottom-left-radius: var(--radius-sm) !important;
}

.rounded-sm-bottom,
.rounded-sm-right {
  border-bottom-right-radius: var(--radius-sm) !important;
}

.rounded-sm-right,
.rounded-sm-top {
  border-top-right-radius: var(--radius-sm) !important;
}

.rounded-sm-left,
.rounded-sm-top {
  border-top-left-radius: var(--radius-sm) !important;
}

.tooltip {
  z-index: 1040;
}

.hvr-underline-from-center:before {
  background: var(--color-primary);
  border-radius: 6px;
  height: 3px;
}

.offcanvas-end {
  max-width: -moz-max-content;
  max-width: max-content;
}

.offcanvas-bottom {
  height: auto !important;
  max-height: 45vh !important;
}

.dropdown-toggle::after {
  display: none;
}

.ad-banner:nth-child(odd) {
  background-color: var(--color-surface-subtle);
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 12%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.form-transparent {
  background-color: transparent !important;
}

/* Change Autocomplete styles in Chrome*/
input.form-transparent:-webkit-autofill,
input.form-transparent:-webkit-autofill:hover,
input.form-transparent:-webkit-autofill:focus,
textarea.form-transparent:-webkit-autofill,
textarea.form-transparent:-webkit-autofill:hover,
textarea.form-transparent:-webkit-autofill:focus,
select.form-transparent:-webkit-autofill,
select.form-transparent:-webkit-autofill:hover,
select.form-transparent:-webkit-autofill:focus {
  border: 1px solid transparent;
  -webkit-box-shadow: 0 0 0px 1000px transparent inset;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}

.fadeInLeft {
  animation-duration: 0.2s;
}

.search-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}

.grid {
  opacity: 0;
  transform: translateY(20px);
  transition: 0.2s;
}

/*PAGINATION*/
.page-item:last-child .page-link {
  border-radius: 0;
}

.page-link {
  /*border: none;*/
  border-radius: 8px !important;
  transition: 0.2s;
  margin: 2px;
}

.page-item:not(:last-child):not(:first-child) .page-link {
  border: none;
}

.score-editor {
  position: relative;
  width: 100%;
  max-width: 1100px;
  padding-bottom: calc(94px + var(--piece-player-height, 0px));
  color: #172033;
}
.score-editor [hidden] {
  display: none !important;
}
.score-editor button,
.score-editor select {
  min-height: 40px;
}
.score-editor .score-toolbar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 16px;
  padding: 20px 16px;
  background: #fff;
  border-bottom: 0;
}
.score-editor .score-tools,
.score-editor .score-history,
.score-editor .score-view-controls,
.score-editor .score-footer-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.score-editor .score-history {
  margin-left: auto;
}
.score-editor .score-status-row {
  padding: 0 20px 12px;
  background: #fff;
}
.score-editor .score-icon-button,
.score-editor .score-control-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 50%;
  background: #f6f8fc;
  color: #172033;
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.score-editor .score-icon-button:hover:not(:disabled),
.score-editor .score-control-button:hover:not(:disabled) {
  background: #eaf0ff;
}
.score-editor .score-icon-button:disabled,
.score-editor .score-control-button:disabled {
  opacity: 0.45;
  cursor: default;
}
.score-editor .score-tools .score-icon-button.active {
  background: #e9f0ff;
  border-color: #d4e1ff;
  color: #1555dc;
}
.score-editor .score-color-button {
  position: relative;
  margin-left: 2px;
  cursor: pointer;
}
.score-editor .score-color-button.disabled {
  opacity: 0.45;
  cursor: default;
}
.score-editor .score-color-control {
  flex: 0 0 auto;
}
.score-editor .score-color-menu {
  min-width: 202px;
  padding: 14px;
  border: 1px solid #e4eaf3;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(37, 54, 80, 0.16);
}
.score-editor .score-color-swatches {
  display: grid;
  grid-template-columns: repeat(4, 34px);
  gap: 12px;
}
.score-editor .score-color-swatch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}
.score-editor .score-color-swatch:disabled {
  opacity: 0.45;
  cursor: default;
}
.score-editor .score-custom-color {
  position: relative;
  display: block;
  margin-top: 14px;
  padding: 10px;
  border: 1px solid #e4eaf3;
  border-radius: 8px;
  text-align: center;
  font-size: 13px;
  cursor: pointer;
}
.score-editor .score-color-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  opacity: 0;
  cursor: inherit;
}
.score-editor .score-width-control {
  flex: 0 0 auto;
}
.score-editor .score-width-toggle > svg {
  width: 25px;
  height: 20px;
}
.score-editor .score-width-menu {
  min-width: 180px;
  padding: 8px;
  border: 1px solid #e4eaf3;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(37, 54, 80, 0.16);
}
.score-editor .score-width-option {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 2px 8px;
  border-radius: 8px;
  color: #596171;
}
.score-editor .score-width-option > svg {
  width: 120px;
  height: 32px;
}
.score-editor .score-width-option .score-width-check {
  flex: 0 0 16px;
  width: 16px;
  font-size: 16px;
}
.score-editor .score-width-option.active {
  color: #1555dc;
  background: #e9f0ff;
}
.score-editor .score-save-status {
  color: #74819a;
  font-size: 12px;
}
.score-editor .score-clear-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid #ff8e97;
  border-radius: 12px;
  background: #fff;
  color: #e62236;
  font-size: 14px;
  cursor: pointer;
}
.score-editor .score-clear-button:hover:not(:disabled) {
  background: #fff3f4;
}
.score-editor .score-clear-button:disabled {
  opacity: 0.45;
  cursor: default;
}
.score-editor .score-scroll {
  padding: 18px;
  overflow-x: auto;
  overflow-y: hidden;
  background: #eef3f9;
}
.score-editor .score-sheet {
  position: relative;
  width: 100%;
  min-height: 180px;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 2px 14px rgba(37, 54, 80, 0.13);
}
.score-editor canvas {
  display: block;
  width: 100%;
  height: 100%;
}
.score-editor .score-markings {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}
.score-editor .score-markings path,
.score-editor .score-markings text {
  pointer-events: none;
}
.score-editor .score-markings[data-tool=read] text {
  pointer-events: all;
  touch-action: none;
  cursor: grab;
}
.score-editor .score-markings[data-dragging-text] text {
  cursor: grabbing;
}
.score-editor .score-markings[data-tool=text] text {
  pointer-events: all;
}
.score-editor .score-markings[data-tool=erase] path {
  pointer-events: stroke;
}
.score-editor .score-markings[data-tool=erase] text {
  pointer-events: all;
}
.score-editor .score-text-input {
  position: absolute;
  z-index: 1;
  display: block;
  box-sizing: content-box;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  box-shadow: none;
  background: transparent;
  font-family: Arial, sans-serif;
  font-weight: 600;
  line-height: 1.2;
  height: 1.2em;
  caret-color: currentColor;
}
.score-editor .score-footer {
  position: fixed;
  z-index: 1030;
  left: 50%;
  bottom: 12px;
  bottom: calc(12px + env(safe-area-inset-bottom) + var(--piece-player-height, 0px));
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: calc(100vw - 32px);
  max-width: 1068px;
  padding: 12px 16px;
  border: 1px solid #e4eaf3;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 12px 32px rgba(43, 66, 107, 0.16);
}
.score-editor .score-control-group {
  display: flex;
  align-items: center;
  gap: 3px;
  white-space: nowrap;
}
.score-editor .score-control-button {
  width: 42px;
  height: 42px;
  border-color: #e8edf5;
  border-radius: 12px;
  background: #fff;
  font-size: 16px;
}
.score-editor .score-page-label,
.score-editor .score-zoom-label {
  min-width: 62px;
  text-align: center;
  white-space: nowrap;
  font-size: 14px;
}
.score-editor .score-fullscreen-button {
  margin-left: 4px;
}
.score-editor .score-listen-button,
.score-editor .score-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 17px;
  border: 1px solid #e4eaf3;
  border-radius: 12px;
  background: #fff;
  color: #172033;
  text-decoration: none;
  white-space: nowrap;
  font-size: 14px;
  cursor: pointer;
}
.score-editor .score-listen-button:hover,
.score-editor .score-action-button:hover {
  background: #f6f8fc;
  color: #172033;
  text-decoration: none;
}
.score-editor .score-listen-button {
  border-color: #1555e9;
  background: #1555e9;
  color: #fff;
}
.score-editor .score-listen-button:hover {
  background: #1047c6;
  color: #fff;
}
.score-editor .score-messages {
  padding: 8px 2px;
}
.score-editor--preview .score-scroll {
  overflow: hidden;
}
.score-editor--preview .score-sheet {
  width: calc(75% + 9px);
  overflow: hidden;
}
.score-editor--preview .score-preview-pages {
  filter: blur(8px);
  -webkit-filter: blur(8px);
  pointer-events: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}
.score-editor--preview .score-preview-pages:empty {
  min-height: 260px;
}
.score-editor--preview .score-preview-pages canvas {
  height: auto;
}
.score-editor--preview .score-preview-upgrade {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12% 20px 20px;
  background: rgba(255, 255, 255, 0.35);
}
.score-editor--preview .score-preview-upgrade p {
  max-width: 320px;
  margin-bottom: 18px;
  color: #596171;
}
.score-editor--preview .score-preview-upgrade .btn {
  flex: 0 0 auto;
}
@media (max-width: 767px) {
  .score-editor--preview .score-sheet {
    width: 100%;
  }
  .score-editor--preview .score-preview-upgrade {
    padding: 12% 12px 12px;
  }
  .score-editor--preview .score-preview-upgrade p {
    font-size: 14px;
  }
}
.score-editor.is-fullscreen {
  touch-action: pan-x pan-y;
  --score-toolbar-height: 84px;
  position: fixed;
  z-index: 2000;
  inset: 0;
  left: 0;
  width: 100%;
  max-width: none;
  height: 100dvh;
  margin: 0 !important;
  padding: 12px 12px calc(100px + var(--piece-player-height, 0px));
  overflow-y: auto;
  background: #eef3f9;
}
.score-editor.is-fullscreen .score-toolbar {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
}
.score-editor.is-fullscreen .score-status-row {
  display: none;
}
.score-editor.is-fullscreen .score-toolbar:not(.d-none) ~ .score-scroll {
  margin-top: var(--score-toolbar-height);
}
.score-editor.is-fullscreen .score-scroll {
  min-height: calc(100dvh - 190px);
}
@media (max-width: 767px) {
  .score-editor {
    padding-bottom: calc(126px + var(--piece-player-height, 0px));
  }
  .score-editor.is-fullscreen {
    --score-toolbar-height: 36px;
  }
  .score-editor .score-toolbar {
    gap: 3px;
    padding: 0 8px 2px;
  }
  .score-editor .score-tools,
  .score-editor .score-history {
    flex: 0 0 auto;
    width: auto;
    gap: 2px;
  }
  .score-editor .score-history {
    margin-left: auto;
  }
  .score-editor .score-status-row {
    padding: 0 8px 8px;
  }
  .score-editor .score-icon-button,
  .score-editor .score-clear-button {
    width: 34px;
    height: 34px;
    min-height: 34px;
    font-size: 14px;
  }
  .score-editor .score-color-button {
    margin-left: 0;
  }
  .score-editor .score-width-toggle > svg {
    width: 20px;
  }
  .score-editor .score-clear-button {
    padding: 0;
    border-radius: 50%;
  }
  .score-editor .score-clear-button span {
    display: none;
  }
  .score-editor .score-scroll {
    padding: 12px;
  }
  .score-editor .score-footer {
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    width: calc(100vw - 16px);
    padding: 10px;
    border-radius: 16px;
  }
  .score-editor .score-view-controls,
  .score-editor .score-footer-actions {
    justify-content: space-between;
    width: 100%;
  }
  .score-editor .score-footer-actions {
    gap: 7px;
  }
  .score-editor .score-footer-actions > * {
    flex: 1 1 0;
    padding: 0 6px;
  }
  .score-editor .score-page-label,
  .score-editor .score-zoom-label {
    min-width: 46px;
    font-size: 13px;
  }
  .score-editor .score-control-button {
    width: 38px;
    height: 40px;
  }
  .score-editor .score-action-button,
  .score-editor .score-listen-button {
    font-size: 12px;
    gap: 6px;
    min-height: 36px;
  }
}
@media (max-width: 360px) {
  .score-editor.is-fullscreen {
    --score-toolbar-height: 34px;
  }
  .score-editor .score-toolbar {
    flex-wrap: wrap;
    padding-left: 6px;
    padding-right: 6px;
  }
  .score-editor .score-icon-button,
  .score-editor .score-clear-button {
    width: 32px;
    height: 32px;
    min-height: 32px;
  }
  .score-editor .score-control-button {
    width: 34px;
  }
  .score-editor .score-page-label,
  .score-editor .score-zoom-label {
    min-width: 42px;
  }
}

body.score-editor-fullscreen-open {
  overflow: hidden;
  touch-action: pan-x pan-y;
}
body.score-editor-fullscreen-open button,
body.score-editor-fullscreen-open a,
body.score-editor-fullscreen-open input,
body.score-editor-fullscreen-open select,
body.score-editor-fullscreen-open textarea,
body.score-editor-fullscreen-open label {
  touch-action: manipulation;
}

.score-print-pages {
  display: none;
}

@media print {
  body.score-printing {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  body.score-editor-fullscreen-open {
    overflow: visible;
  }
  body.score-printing > :not(.score-print-pages) {
    display: none !important;
  }
  body.score-printing > .score-print-pages {
    display: block !important;
    width: 100%;
  }
  .score-print-page {
    position: relative;
    margin: 0 auto;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    page-break-inside: avoid;
    -moz-column-break-after: page;
         break-after: page;
    page-break-after: always;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .score-print-page:last-child {
    -moz-column-break-after: auto;
         break-after: auto;
    page-break-after: auto;
  }
  .score-print-page canvas {
    display: block;
    width: 100%;
    height: 100%;
  }
  .score-print-page svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
}
.fullscreen-modal,
.fullscreen-modal * {
  touch-action: pan-x pan-y;
}
.fullscreen-modal .modal-dialog {
  width: 100%;
  max-width: none;
  margin: 0;
  height: 100%;
}
.fullscreen-modal .modal-content {
  height: 100vh;
  height: 100dvh;
  border-radius: 0 !important;
  background: var(--color-white);
}
.fullscreen-modal .fullscreen-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  padding: 32px 4vw 22px;
  flex: 0 0 auto;
}
.fullscreen-modal .fullscreen-modal-header h1, .fullscreen-modal .fullscreen-modal-header .h1 {
  font-size: 32px;
}
.fullscreen-modal .fullscreen-modal-close {
  width: 48px;
  height: 48px;
  padding: 0 !important;
  border-radius: 50% !important;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.fullscreen-modal .fullscreen-modal-close--floating {
  position: absolute;
  top: 32px;
  right: 4vw;
  z-index: 4;
  pointer-events: auto;
}
.fullscreen-modal [hidden] {
  display: none !important;
}
@media (min-width: 1100px) and (max-height: 820px) {
  .fullscreen-modal .fullscreen-modal-header {
    padding-top: 22px;
    padding-bottom: 14px;
  }
  .fullscreen-modal .fullscreen-modal-close--floating {
    top: 22px;
  }
}
@media (max-width: 1099px) {
  .fullscreen-modal .fullscreen-modal-header {
    padding: 24px;
  }
  .fullscreen-modal .fullscreen-modal-close--floating {
    top: 24px;
    right: 24px;
  }
}
@media (max-width: 699px) {
  .fullscreen-modal .fullscreen-modal-header {
    padding: 20px 18px 18px;
  }
  .fullscreen-modal .fullscreen-modal-header h1, .fullscreen-modal .fullscreen-modal-header .h1 {
    font-size: 24px;
  }
  .fullscreen-modal .fullscreen-modal-header p {
    font-size: 12px;
  }
  .fullscreen-modal .fullscreen-modal-close {
    width: 38px;
    height: 38px;
  }
  .fullscreen-modal .fullscreen-modal-close--floating {
    top: 20px;
    right: 18px;
  }
}

.has-feedback-utility #webapp main {
  padding-bottom: 56px;
}

.feedback-utility {
  --feedback-bottom: 82px;
}
.feedback-utility [hidden] {
  display: none !important;
}
.feedback-utility .feedback-launcher.btn.btn-secondary {
  --radius-button: 999px;
  position: fixed;
  z-index: 1020;
  right: calc(16px + env(safe-area-inset-right, 0px));
  bottom: max(calc(var(--feedback-bottom) + 12px), calc(env(safe-area-inset-bottom, 0px) + 12px));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  padding: 7px 12px;
  font-size: 13px;
  line-height: 20px;
  transition: none;
}
.feedback-utility .feedback-launcher.btn.btn-secondary .app-icon {
  width: 16px;
  height: 16px;
  color: inherit !important;
}
.feedback-utility .feedback-launcher.btn.btn-secondary.is-scrolled-away {
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  pointer-events: none;
}
.feedback-utility .feedback-confirmation {
  position: fixed;
  z-index: 1020;
  right: calc(16px + env(safe-area-inset-right, 0px));
  bottom: max(calc(var(--feedback-bottom) + 60px), calc(env(safe-area-inset-bottom, 0px) + 60px));
  max-width: calc(100vw - 32px);
  padding: 12px 16px;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  background: var(--color-white);
  color: var(--color-text);
  font-size: 13px;
  box-shadow: 0 6px 20px rgba(30, 45, 75, 0.1);
}
@media (max-width: 1099px) {
  .feedback-utility .feedback-launcher.btn.btn-secondary {
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
  }
}
@media (prefers-reduced-motion: reduce) {
  .feedback-utility .feedback-launcher.btn.btn-secondary {
    transition: none;
  }
}

.feedback-modal.fullscreen-modal {
  --feedback-background: #c6e979;
  --feedback-ink: #39590d;
  color: var(--feedback-ink);
}
.feedback-modal.fullscreen-modal .modal-content {
  background: var(--feedback-background);
  color: var(--feedback-ink);
  overflow: hidden;
  height: var(--feedback-viewport-height, 100dvh);
}
.feedback-modal.fullscreen-modal .fullscreen-modal-header {
  position: absolute;
  z-index: 2;
  inset: 0 0 auto;
  pointer-events: none;
}
.feedback-modal.fullscreen-modal .fullscreen-modal-close {
  pointer-events: auto;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  color: var(--feedback-ink) !important;
  box-shadow: none;
}
.feedback-modal.fullscreen-modal .fullscreen-modal-close .app-icon {
  color: inherit !important;
}
.feedback-modal.fullscreen-modal button,
.feedback-modal.fullscreen-modal textarea,
.feedback-modal.fullscreen-modal input {
  font: inherit;
}
.feedback-modal.fullscreen-modal button {
  -webkit-tap-highlight-color: transparent;
}
.feedback-modal.fullscreen-modal .feedback-form {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 440px;
  height: 100%;
  min-height: 0;
  margin: 0 auto;
  padding: 100px 32px 32px;
  padding-bottom: max(32px, env(safe-area-inset-bottom));
}
.feedback-modal.fullscreen-modal .feedback-stage {
  position: relative;
  flex: 1;
  min-height: 300px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  touch-action: pan-y;
}
.feedback-modal.fullscreen-modal .feedback-question {
  position: absolute;
  inset: 2% 0 auto;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 600;
  text-align: center;
  color: inherit;
  margin: 0;
  padding: 12px 0;
  transition: opacity 0.25s, transform 0.45s;
}
.feedback-modal.fullscreen-modal .feedback-expression {
  position: absolute;
  width: 100%;
  max-width: 320px;
  top: 49%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1), top 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.feedback-modal.fullscreen-modal .feedback-face {
  display: block;
  width: 100%;
  overflow: visible;
}
.feedback-modal.fullscreen-modal .feedback-rating-window {
  position: absolute;
  bottom: 0;
  width: 100%;
  overflow: hidden;
  padding: 8px 0 12px;
  transition: opacity 0.25s;
}
.feedback-modal.fullscreen-modal .feedback-rating-track {
  display: flex;
  width: 300%;
  transform: translateX(-66.666667%);
  will-change: transform;
}
.feedback-modal.fullscreen-modal .feedback-rating-track span {
  flex: 0 0 33.333333%;
  text-align: center;
  font-size: 54px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -3px;
  color: var(--feedback-ink);
  opacity: 0.42;
  white-space: nowrap;
}
.feedback-modal.fullscreen-modal .feedback-picker {
  flex: 0 0 auto;
  padding: 26px 0 0;
  margin: 0 8px;
}
.feedback-modal.fullscreen-modal .feedback-slider {
  position: relative;
  height: 44px;
  margin: 0 16px;
}
.feedback-modal.fullscreen-modal .feedback-slider-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 21px;
  height: 3px;
  background: currentColor;
  opacity: 0.18;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 3px;
}
.feedback-modal.fullscreen-modal .feedback-slider-line span {
  width: 6px;
  height: 6px;
  background: currentColor;
  border-radius: 50%;
}
.feedback-modal.fullscreen-modal .feedback-slider-thumb {
  position: absolute;
  top: 5px;
  left: 100%;
  width: 34px;
  height: 34px;
  margin-left: -17px;
  background: var(--feedback-ink);
  color: var(--feedback-background);
  border-radius: 50%;
  display: grid;
  place-items: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}
.feedback-modal.fullscreen-modal .feedback-slider-thumb .feedback-handle-mouth {
  width: 34px;
  height: 34px;
}
.feedback-modal.fullscreen-modal .feedback-slider input {
  position: absolute;
  inset: 0 -17px;
  width: calc(100% + 34px);
  height: 44px;
  margin: 0;
  opacity: 0;
  cursor: grab;
  touch-action: none;
}
.feedback-modal.fullscreen-modal .feedback-slider input:active {
  cursor: grabbing;
}
.feedback-modal.fullscreen-modal .feedback-picker-labels {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.feedback-modal.fullscreen-modal .feedback-picker-labels button {
  border: 0;
  background: transparent;
  color: inherit;
  opacity: 0.65;
  font-size: 13px;
  min-height: 36px;
  padding: 4px 0;
}
.feedback-modal.fullscreen-modal .feedback-picker-labels button[aria-pressed=true] {
  opacity: 1;
}
.feedback-modal.fullscreen-modal .feedback-bottom {
  position: relative;
  flex: 0 0 auto;
  margin-top: 64px;
  transition: margin 0.45s;
}
.feedback-modal.fullscreen-modal .feedback-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 56px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
}
.feedback-modal.fullscreen-modal .feedback-add-note {
  background: transparent;
  border: 0;
  padding: 12px 20px;
  color: inherit;
  font-size: 14px;
}
.feedback-modal.fullscreen-modal .feedback-submit {
  border: 0;
  border-radius: 999px;
  min-height: 48px;
  padding: 12px 20px;
  background: var(--feedback-ink);
  color: var(--feedback-background);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  transition: transform 0.2s, opacity 0.2s;
}
.feedback-modal.fullscreen-modal .feedback-submit:hover {
  transform: translateY(-2px);
}
.feedback-modal.fullscreen-modal .feedback-submit:active {
  transform: scale(0.96);
}
.feedback-modal.fullscreen-modal .feedback-submit .app-icon {
  width: 16px;
  height: 16px;
}
.feedback-modal.fullscreen-modal button:disabled {
  opacity: 0.55;
  cursor: wait;
}
.feedback-modal.fullscreen-modal .feedback-note {
  border: 1.5px solid currentColor;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.24);
  padding: 16px 18px 68px;
  animation: feedback-note-in 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.feedback-modal.fullscreen-modal .feedback-note textarea {
  display: block;
  width: 100%;
  height: 88px;
  resize: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 16px;
  line-height: 1.5;
  outline: none;
}
.feedback-modal.fullscreen-modal .feedback-note textarea::-moz-placeholder {
  color: inherit;
  opacity: 0.55;
}
.feedback-modal.fullscreen-modal .feedback-note textarea::placeholder {
  color: inherit;
  opacity: 0.55;
}
.feedback-modal.fullscreen-modal .feedback-note-back {
  position: absolute;
  bottom: 15px;
  left: 16px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
}
.feedback-modal.fullscreen-modal .feedback-error {
  margin: 12px 8px 0;
  font-size: 13px;
  line-height: 1.4;
  color: inherit;
}
.feedback-modal.fullscreen-modal.is-noting .feedback-question,
.feedback-modal.fullscreen-modal.is-noting .feedback-rating-window {
  opacity: 0;
  visibility: hidden;
}
.feedback-modal.fullscreen-modal.is-noting .feedback-picker {
  display: none;
}
.feedback-modal.fullscreen-modal.is-noting .feedback-stage {
  min-height: 140px;
}
.feedback-modal.fullscreen-modal.is-noting .feedback-expression {
  width: 180px;
  top: 50%;
}
.feedback-modal.fullscreen-modal.is-noting .feedback-bottom {
  margin-top: 20px;
}
.feedback-modal.fullscreen-modal.is-noting .feedback-actions {
  position: absolute;
  right: 9px;
  bottom: 9px;
  background: transparent;
  padding: 0;
  min-height: 48px;
}
.feedback-modal.fullscreen-modal.is-noting .feedback-add-note {
  display: none;
}
.feedback-modal.fullscreen-modal.is-noting .feedback-error {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  margin: 0 8px 8px;
}
.feedback-modal.fullscreen-modal.is-compact.is-noting .feedback-form {
  padding-top: 64px;
  padding-bottom: 12px;
  overflow-y: auto;
}
.feedback-modal.fullscreen-modal.is-compact.is-noting .feedback-stage {
  min-height: 70px;
}
.feedback-modal.fullscreen-modal.is-compact.is-noting .feedback-expression {
  width: 120px;
}
.feedback-modal.fullscreen-modal.is-compact.is-noting .feedback-bottom {
  margin-top: 8px;
}
.feedback-modal.fullscreen-modal.is-compact.is-noting .feedback-note textarea {
  height: 64px;
}
@media (max-width: 699px) {
  .feedback-modal.fullscreen-modal .feedback-form {
    padding: 84px 28px 26px;
    padding-bottom: max(26px, env(safe-area-inset-bottom));
  }
  .feedback-modal.fullscreen-modal .feedback-question {
    font-size: 16px;
  }
  .feedback-modal.fullscreen-modal .feedback-rating-track span {
    font-size: 50px;
  }
  .feedback-modal.fullscreen-modal .feedback-bottom {
    margin-top: 56px;
  }
}
@media (max-height: 700px) {
  .feedback-modal.fullscreen-modal .feedback-form {
    padding-top: 70px;
    padding-bottom: 20px;
  }
  .feedback-modal.fullscreen-modal .feedback-stage {
    min-height: 240px;
  }
  .feedback-modal.fullscreen-modal .feedback-expression {
    max-width: 250px;
    flex-basis: 155px;
  }
  .feedback-modal.fullscreen-modal .feedback-picker {
    padding-top: 12px;
  }
  .feedback-modal.fullscreen-modal .feedback-bottom {
    margin-top: 24px;
  }
  .feedback-modal.fullscreen-modal .feedback-rating-track span {
    font-size: 44px;
  }
  .feedback-modal.fullscreen-modal.is-noting .feedback-expression {
    width: 150px;
  }
}
@media (max-height: 480px) {
  .feedback-modal.fullscreen-modal .feedback-form {
    padding-top: 64px;
    padding-bottom: 12px;
    overflow-y: auto;
  }
  .feedback-modal.fullscreen-modal .feedback-question {
    padding: 4px 0;
    font-size: 14px;
  }
  .feedback-modal.fullscreen-modal .feedback-stage {
    min-height: 178px;
  }
  .feedback-modal.fullscreen-modal .feedback-expression {
    max-width: 160px;
    flex-basis: 100px;
  }
  .feedback-modal.fullscreen-modal .feedback-rating-track span {
    font-size: 30px;
    letter-spacing: -1px;
  }
  .feedback-modal.fullscreen-modal .feedback-picker {
    padding-top: 0;
  }
  .feedback-modal.fullscreen-modal .feedback-bottom {
    margin-top: 8px;
  }
  .feedback-modal.fullscreen-modal.is-noting .feedback-stage {
    min-height: 70px;
  }
  .feedback-modal.fullscreen-modal.is-noting .feedback-expression {
    width: 120px;
  }
  .feedback-modal.fullscreen-modal.is-noting .feedback-bottom {
    margin-top: 8px;
  }
  .feedback-modal.fullscreen-modal .feedback-note textarea {
    height: 64px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .feedback-modal.fullscreen-modal *,
  .feedback-modal.fullscreen-modal *::before,
  .feedback-modal.fullscreen-modal *::after {
    transition: none !important;
    animation: none !important;
  }
}

@keyframes feedback-note-in {
  from {
    opacity: 0;
    transform: translateY(24px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.match-tour-modal {
  --match-bg: #f0f3ff;
  --match-shape-a: #abcaff;
  --match-shape-b: #d9c8ff;
  --match-accent: #8062ef;
  --match-count-border: #d5e2ff;
  --match-count-label: #526b9c;
  --match-ink: #18243a;
  --match-muted: #526179;
}
.match-tour-modal[data-theme=level] {
  --match-count-border: #fbd8c6;
  --match-count-label: #995337;
  --match-bg: #fff4ec;
  --match-shape-a: #f5b6aa;
  --match-shape-b: #f3d58d;
  --match-accent: #bd5433;
}
.match-tour-modal[data-theme=reading] {
  --match-count-border: #cdebd9;
  --match-count-label: #357d70;
  --match-bg: #f0fbf2;
  --match-shape-a: #9cd8b6;
  --match-shape-b: #d4edc2;
  --match-accent: #357d70;
}
.match-tour-modal[data-theme=duel] {
  --match-count-border: #faddd5;
  --match-count-label: #a95748;
  --match-bg: #fff0f0;
  --match-shape-a: #f5b6aa;
  --match-shape-b: #f5c0d4;
  --match-accent: #c95177;
}
.match-tour-modal[data-theme=mood] {
  --match-count-border: #f9eac6;
  --match-count-label: #89611b;
  --match-bg: #fffaeb;
  --match-shape-a: #f3d58d;
  --match-shape-b: #f7e7b1;
  --match-accent: #a37626;
}
.match-tour-modal[data-theme=reward] {
  --match-count-border: #eadbfc;
  --match-count-label: #7351c9;
  --match-bg: #f7efff;
  --match-shape-a: #d4b6fb;
  --match-shape-b: #f3b5dc;
  --match-accent: #8062ef;
}
.match-tour-modal[data-theme=recommendations] {
  --match-count-border: #d9edfb;
  --match-count-label: #397296;
  --match-bg: #eff9ff;
  --match-shape-a: #b3dcf6;
  --match-shape-b: #c7e9ed;
  --match-accent: #193249;
}
.match-tour-modal .modal-content {
  position: relative;
  isolation: isolate;
  color: var(--match-ink);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.65), transparent 65%), var(--match-bg);
  transition: background-color 240ms ease;
}
.match-tour-modal .fullscreen-modal-header {
  position: relative;
  z-index: 2;
  align-items: center;
  padding: 24px 4vw 12px;
}
.match-tour-modal .fullscreen-modal-close {
  color: var(--match-ink);
  border-color: rgba(60, 77, 106, 0.24);
  background: rgba(255, 255, 255, 0.45);
}
.match-tour-modal .match-tour-body {
  position: relative;
  z-index: 1;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0 24px 20px;
}
.match-tour-modal .match-tour-loading {
  padding: 64px 0;
}
.match-tour-modal .match-tour-loading .app-icon {
  width: 32px;
  height: 32px;
}
.match-tour-modal .match-ambience {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.match-tour-modal .match-ambience span {
  position: absolute;
  width: 60vw;
  height: 70vh;
  min-width: 400px;
  border-radius: 68% 32% 55% 45%/40% 65% 35% 60%;
  opacity: 0.33;
  background: var(--match-shape-a);
  transform: rotate(-28deg);
  transition: background-color 240ms ease;
  animation: match-drift 16s ease-in-out infinite alternate;
}
.match-tour-modal .match-ambience span:nth-child(1) {
  top: 4%;
  left: -40vw;
}
.match-tour-modal .match-ambience span:nth-child(2) {
  bottom: -45%;
  right: -12%;
  background: var(--match-shape-b);
  transform: rotate(32deg);
  animation-delay: -8s;
}
.match-tour-modal .match-ambience span:nth-child(3) {
  top: 32%;
  right: -42%;
  opacity: 0.42;
  transform: rotate(-55deg);
  animation-delay: -4s;
}
.match-tour-modal .match-ambience span:nth-child(4) {
  width: 34vw;
  height: 42vh;
  bottom: -24%;
  left: -6%;
  background: var(--match-shape-b);
  transform: rotate(45deg);
}
.match-tour-modal .match-progress {
  width: min(420px, calc(100% - 76px));
  margin: 0 auto;
}
.match-tour-modal .match-progress-track {
  list-style: none;
  display: flex;
  padding: 0;
  margin: 0 0 18px;
}
.match-tour-modal .match-progress-track li {
  flex: 1;
  position: relative;
}
.match-tour-modal .match-progress-track li:last-child {
  flex: 0 0 12px;
}
.match-tour-modal .match-progress-track li:not(:last-child)::after {
  content: "";
  position: absolute;
  height: 2px;
  background: rgba(70, 92, 120, 0.28);
  top: 5px;
  left: 12px;
  right: 0;
  transition: background-color 240ms;
}
.match-tour-modal .match-progress-track .is-complete::after {
  background: var(--match-ink) !important;
}
.match-tour-modal .match-progress-dot {
  position: relative;
  z-index: 1;
  display: block;
  width: 12px;
  height: 12px;
  border: 1.5px solid #60718d;
  border-radius: 50%;
  background: var(--match-bg);
  transition: background-color 200ms, transform 200ms;
}
.match-tour-modal .is-current .match-progress-dot,
.match-tour-modal .is-complete .match-progress-dot {
  background: var(--match-ink);
  border-color: var(--match-ink);
}
.match-tour-modal .is-current .match-progress-dot {
  transform: scale(1.14);
}
.match-tour-modal .match-progress-label {
  display: flex;
  justify-content: center;
  gap: 18px;
  font-size: 13px;
  color: var(--match-ink);
}
.match-tour-modal .match-progress-label [data-step-number]:empty {
  display: none;
}
.match-tour-modal.has-match-result .match-progress-label {
  font-size: 1rem;
}

.match-tour {
  max-width: 840px;
  padding-bottom: 12px;
  position: relative;
}
.match-tour .match-count {
  text-align: center;
  padding: 20px 0 28px;
}
.match-tour .match-count-number {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 160px;
  height: 160px;
  padding: 12px;
  border-radius: 50%;
  background: #fff;
  font-size: 44px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  border: 9px solid var(--match-count-border);
}
.match-tour .match-count-number [data-count] {
  margin-top: 10px;
}
.match-tour .match-count-ring {
  position: absolute;
  inset: -9px;
  width: calc(100% + 18px);
  height: calc(100% + 18px);
  overflow: visible;
  pointer-events: none;
  transform: rotate(-90deg);
}
.match-tour .match-count-arc {
  fill: none;
  stroke: var(--match-accent);
  stroke-width: 9px;
  stroke-linecap: round;
  stroke-dasharray: 100 100;
  stroke-dashoffset: 100;
  transition: stroke 240ms ease;
}
.match-tour .match-count-unit {
  color: var(--match-count-label);
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.3;
  margin: 0;
}
.match-tour .match-heading {
  text-align: center;
  max-width: 660px;
  margin: 0 auto 26px;
}
.match-tour h3, .match-tour .h3 {
  font-size: 30px;
  line-height: 1.22;
  margin: 0 0 10px;
  color: var(--match-ink);
}
.match-tour h3[tabindex="-1"]:focus, .match-tour [tabindex="-1"].h3:focus {
  outline: none;
}
.match-tour .match-heading p {
  max-width: 550px;
  margin: 0 auto;
  line-height: 1.5;
  color: var(--match-muted);
}
.match-tour .match-rounds {
  display: inline-block;
  margin-top: 8px;
  font-size: 12px;
  color: var(--match-muted);
  letter-spacing: 0.08em;
}
.match-tour [data-stage] {
  position: relative;
  transition: opacity 130ms ease, transform 130ms ease;
  animation: match-enter 220ms ease backwards;
}
.match-tour [data-stage].leaving {
  opacity: 0;
  transform: translateY(-8px);
}
.match-tour .match-cards {
  display: grid;
  gap: 18px;
  position: relative;
}
.match-tour .match-cards--listening,
.match-tour .match-cards--duel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.match-tour .match-card {
  position: relative;
  min-width: 0;
  background: rgba(255, 255, 255, 0.9);
  border: 1.5px solid rgba(126, 151, 185, 0.22);
  border-radius: 22px;
  color: var(--match-ink);
  box-shadow: 0 6px 22px rgba(82, 102, 131, 0.04);
  transition: border-color 160ms, transform 160ms, box-shadow 160ms;
}
.match-tour .match-card:hover {
  border-color: var(--match-accent);
  transform: translateY(-2px);
}
.match-tour .match-card.selected {
  border-color: var(--match-accent);
  box-shadow: 0 0 0 2px var(--match-accent), 0 8px 24px rgba(98, 79, 172, 0.12);
}
.match-tour .match-select {
  display: flex;
  align-items: center;
  width: 100%;
  color: inherit;
  background: transparent;
  border: 0;
  text-align: left;
  border-radius: inherit;
  text-decoration: none;
}
.match-tour .match-piece-copy {
  min-width: 0;
  display: block;
  overflow-wrap: anywhere;
}
.match-tour .match-piece-copy strong,
.match-tour .match-piece-copy small,
.match-tour .match-piece-copy .small {
  display: block;
}
.match-tour .match-piece-copy strong {
  font-size: 17px;
  font-weight: 650;
  line-height: 1.3;
}
.match-tour .match-piece-copy small, .match-tour .match-piece-copy .small {
  color: var(--match-muted);
  font-size: 14px;
  line-height: 1.4;
  margin-top: 5px;
}
.match-tour .match-card--listening {
  display: flex;
  flex-direction: column;
  min-height: 174px;
}
.match-tour .match-card--listening .match-select {
  position: relative;
  padding: 22px 24px 14px;
  gap: 14px;
  align-items: flex-start;
}
.match-tour .match-card--listening .match-piece-copy {
  flex: 1;
}
.match-tour .match-select-label {
  flex-shrink: 0;
  margin-left: auto;
  padding: 5px 12px;
  border: 1px solid var(--match-accent);
  border-radius: 18px;
  color: var(--match-accent);
  font-size: 12px;
  line-height: 1.5;
  font-weight: 600;
}
.match-tour .match-select:hover .match-select-label,
.match-tour .match-select:focus-visible .match-select-label,
.match-tour .selected .match-select-label {
  color: #fff;
  background: var(--match-accent);
}
.match-tour .match-card--listening .match-select img {
  width: 58px;
  height: 58px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  flex-shrink: 0;
}
.match-tour .match-card-player {
  display: flex;
  align-items: center;
  gap: 14px;
}
.match-tour .match-card--listening .match-card-player {
  margin-top: auto;
  padding: 0 24px 18px;
}
.match-tour .match-play {
  display: grid;
  place-items: center;
  padding: 0 !important;
  width: 44px;
  height: 44px;
  min-width: 44px;
  border: 0;
  border-radius: 50% !important;
  background: #e8edf3;
  color: #485b74;
}
.match-tour .match-play .app-icon {
  width: 19px;
  height: 19px;
  margin: 0;
}
.match-tour .match-play .icon-play svg {
  fill: currentColor;
  stroke-width: 0;
}
.match-tour .match-card.is-playing .match-play {
  color: #fff;
  background: var(--match-accent);
}
.match-tour .match-waveform {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2px;
  height: 35px;
  flex: 1;
  min-width: 0;
  color: #90a0b7;
}
.match-tour .match-waveform span {
  display: block;
  height: calc(var(--bar-height) + 10%);
  min-width: 1px;
  width: 3px;
  border-radius: 4px;
  background: currentColor;
}
.match-tour .is-playing .match-waveform {
  color: var(--match-accent);
}
.match-tour .is-playing .match-waveform span {
  animation: match-wave 640ms ease-in-out infinite alternate;
  animation-delay: var(--bar-delay);
}
.match-tour .match-main-action {
  min-height: 82px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.match-tour .match-primary,
.match-tour .match-outline {
  min-height: 56px;
  width: 100%;
  max-width: 420px;
  padding: 15px 24px;
  border-radius: 32px !important;
  font-size: 17px;
  display: inline-flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
}
.match-tour .match-primary {
  box-shadow: 0 5px 12px rgba(92, 64, 171, 0.15);
}
.match-tour .match-primary,
.match-tour .match-primary:hover,
.match-tour .match-primary:focus,
.match-tour .match-primary.focus,
.match-tour .match-primary:disabled,
.match-tour .match-primary.disabled,
.match-tour .match-primary:not(:disabled):not(.disabled):active,
.match-tour .match-primary:not(:disabled):not(.disabled).active {
  color: #fff;
  background: var(--match-accent) !important;
  border-color: var(--match-accent) !important;
}
.match-tour .match-primary:hover,
.match-tour .match-primary:focus-visible {
  filter: brightness(0.95);
}
.match-tour .match-primary:focus,
.match-tour .match-primary.focus {
  box-shadow: none !important;
}
.match-tour .match-primary:not(:disabled):not(.disabled):active,
.match-tour .match-primary:not(:disabled):not(.disabled).active {
  filter: brightness(0.9);
}
.match-tour .match-outline {
  color: var(--match-ink);
  background: rgba(255, 255, 255, 0.45);
  border-color: var(--match-accent);
}
.match-tour .match-navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 18px;
}
.match-tour .match-navigation .btn {
  padding: 8px 0;
  font-size: 14px;
  color: var(--match-ink);
}
.match-tour button:disabled {
  cursor: default;
}
.match-tour .match-score-answers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  max-width: 560px;
  margin: 0 auto;
}
.match-tour .match-score-card {
  position: relative;
  background: rgba(255, 255, 255, 0.9);
  padding: 24px 22px 20px;
  border-radius: 22px;
  box-shadow: 0 8px 28px rgba(55, 104, 75, 0.05);
}
.match-tour .match-score-single {
  max-width: 560px;
  margin: 0 auto;
}
.match-tour .match-score-single .match-score {
  height: auto;
  aspect-ratio: 2.5;
  margin-bottom: 0;
}
.match-tour .match-score {
  display: grid;
  place-items: center;
  height: 225px;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 18px;
  padding: 6px;
  background: #fff;
  text-align: center;
}
.match-tour .match-score p {
  color: var(--match-muted);
  font-size: 14px;
  padding: 12px;
}
.match-tour .match-score canvas {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.match-tour .match-score-choice {
  display: block;
  width: 100%;
  min-height: 46px;
  border-radius: 25px !important;
  background: transparent;
  border-color: #536780;
  color: var(--match-ink);
}
.match-tour .match-score-choice:not(:disabled):hover,
.match-tour .match-score-choice:not(:disabled):focus-visible,
.match-tour .match-score-choice:not(:disabled):active,
.match-tour .match-score-choice.selected {
  color: #fff !important;
  background: var(--match-accent);
  border-color: var(--match-accent);
}
.match-tour .match-cards--duel {
  max-width: 690px;
  margin: 0 auto;
  gap: 76px;
}
.match-tour .match-card--duel {
  overflow: hidden;
}
.match-tour .match-card--duel .match-select {
  flex-direction: column;
  text-align: center;
  padding: 0;
}
.match-tour .match-card--duel .match-select img {
  width: 100%;
  height: 230px;
  -o-object-fit: cover;
     object-fit: cover;
}
.match-tour .match-card--duel .match-piece-copy {
  padding: 16px 18px 12px;
  text-align: center;
}
.match-tour .match-card--duel .match-card-player {
  justify-content: center;
  padding: 0 0 18px;
}
.match-tour .match-card--duel .match-play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  padding: 0 16px !important;
  border-radius: 24px !important;
  font-size: 14px;
}
.match-tour .match-duel-or {
  position: absolute;
  top: 42%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.18);
  pointer-events: none;
}
.match-tour .match-moods {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 660px;
  margin: auto;
}
.match-tour .match-mood {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 20px 12px;
  min-height: 120px;
  border: 1.5px solid transparent;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.85);
  color: var(--match-ink);
  line-height: 1.3;
  font-size: 15px;
  transition: transform 160ms, background-color 160ms;
}
.match-tour .match-mood:hover,
.match-tour .match-mood.selected {
  transform: translateY(-3px);
  border-color: var(--match-accent);
  background: #fff;
}
.match-tour .match-mood-icon .app-icon {
  width: 34px;
  height: 34px;
  margin: 0;
  color: #9a82f3;
}
.match-tour .match-mood[data-choice=energetic] .app-icon,
.match-tour .match-mood[data-choice=playful] .app-icon,
.match-tour .match-mood[data-choice=open] .app-icon {
  color: #e8a220;
}
.match-tour .match-mood[data-choice=romantic] .app-icon {
  color: #f17c9e;
}
.match-tour .match-mood[data-choice=joyful] .app-icon {
  color: #60b8a3;
}
.match-tour .match-mood[data-choice=dramatic] .app-icon,
.match-tour .match-mood[data-choice=mysterious] .app-icon {
  color: #779eaf;
}
.match-tour .match-mood[data-choice=reflective] .app-icon {
  color: #7bb9ec;
}
.match-tour [data-result-view] {
  position: relative;
}
.match-tour .match-cards--reward {
  display: block;
  max-width: 360px;
  margin: 2px auto 0;
}
.match-tour .match-card--reward {
  padding: 10px;
  border-radius: 25px;
  box-shadow: 0 12px 30px rgba(94, 58, 155, 0.14);
}
.match-tour .match-artwork {
  position: relative;
  border-radius: 17px;
  overflow: hidden;
  background: #18243a;
}
.match-tour .match-artwork > img {
  display: block;
  width: 100%;
  height: 245px;
  -o-object-fit: cover;
     object-fit: cover;
}
.match-tour .match-artwork video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  background: #152033;
  visibility: hidden;
}
.match-tour .has-played .match-artwork video {
  visibility: visible;
}
.match-tour .match-artwork audio {
  display: none;
}
.match-tour .match-card--reward .match-play {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: #fff;
  background: transparent;
  border-radius: 0 !important;
}
.match-tour .match-card--reward .match-play > span {
  display: grid;
  place-items: center;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
  border: 1.5px solid rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(4px);
  box-shadow: 0 3px 18px rgba(0, 0, 0, 0.14);
}
.match-tour .match-card--reward .match-play .app-icon {
  width: 34px;
  height: 34px;
}
.match-tour .match-card--reward.has-played .match-play {
  inset: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 84px;
  height: 84px;
}
.match-tour .match-card--reward.has-played.is-playing .match-artwork.has-video .match-play {
  visibility: hidden;
}
.match-tour .match-card--reward .match-piece-copy {
  padding: 22px 14px 18px;
}
.match-tour .match-card--reward .match-piece-copy strong {
  font-size: 21px;
  line-height: 1.45;
}
.match-tour .match-card--reward .match-piece-copy small, .match-tour .match-card--reward .match-piece-copy .small {
  margin-top: 12px;
}
.match-tour .match-result-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin: 24px auto 0;
}
.match-tour .match-result-explanation {
  max-width: 560px;
  margin: 28px auto 0;
  text-align: center;
}
.match-tour .match-result-explanation h4, .match-tour .match-result-explanation .h4 {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 12px;
}
.match-tour .match-result-explanation p {
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
  color: var(--match-muted);
}
.match-tour [data-result-view] {
  padding-top: 24px;
}
.match-tour .match-cards--recommendation {
  gap: 14px;
  max-width: 650px;
  margin: auto;
}
.match-tour .match-card--recommendation {
  border: 0;
  border-radius: 18px;
}
.match-tour .match-card--recommendation .match-select {
  padding: 14px 80px 14px 14px;
  gap: 18px;
  min-height: 104px;
}
.match-tour .match-card--recommendation .match-select img {
  width: 80px;
  height: 76px;
  flex-shrink: 0;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
.match-tour .match-card--recommendation .match-card-player {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 699px) {
  .match-tour .match-count {
    padding: 16px 0 24px;
  }
  .match-tour .match-count-number {
    width: 144px;
    height: 144px;
    font-size: 40px;
  }
  .match-tour h3, .match-tour .h3 {
    font-size: 25px;
  }
  .match-tour .match-heading {
    margin-bottom: 22px;
  }
  .match-tour .match-heading p {
    font-size: 14px;
  }
  .match-tour .match-score-answers {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .match-tour .match-score-card {
    padding: 18px;
  }
  .match-tour .match-score {
    height: 155px;
    margin-bottom: 12px;
  }
  .match-tour .match-cards--duel {
    gap: 34px;
  }
  .match-tour .match-card--duel .match-select img {
    height: 200px;
  }
  .match-tour .match-duel-or {
    width: 38px;
    height: 38px;
    font-size: 12px;
  }
  .match-tour .match-moods {
    gap: 10px;
  }
  .match-tour .match-mood {
    padding: 16px 6px;
    min-height: 105px;
    font-size: 13px;
    gap: 8px;
  }
  .match-tour .match-mood-icon .app-icon {
    width: 30px;
    height: 30px;
  }
  .match-tour .match-navigation {
    margin-top: 14px;
  }
}
@media (max-width: 479px) {
  .match-tour .match-cards {
    gap: 12px;
  }
  .match-tour .match-card {
    border-radius: 17px;
  }
  .match-tour .match-card--listening {
    min-height: 158px;
  }
  .match-tour .match-card--listening .match-select {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 16px 12px 12px;
    gap: 9px;
  }
  .match-tour .match-card--listening .match-piece-copy {
    grid-column: 1/-1;
  }
  .match-tour .match-select-label {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    padding: 4px 8px;
    font-size: 11px;
  }
  .match-tour .match-card--listening .match-select img {
    width: 38px;
    height: 38px;
  }
  .match-tour .match-card--listening .match-piece-copy strong {
    font-size: 13px;
  }
  .match-tour .match-card--listening .match-piece-copy small, .match-tour .match-card--listening .match-piece-copy .small {
    font-size: 12px;
  }
  .match-tour .match-card--listening .match-card-player {
    padding: 0 12px 14px;
    gap: 8px;
  }
  .match-tour .match-waveform {
    gap: 1px;
    height: 30px;
  }
  .match-tour .match-waveform span:nth-child(2n) {
    display: none;
  }
  .match-tour .match-cards--duel {
    gap: 28px;
  }
  .match-tour .match-card--duel .match-select img {
    height: 170px;
  }
  .match-tour .match-card--duel .match-piece-copy {
    padding: 12px 8px 10px;
  }
  .match-tour .match-card--duel .match-piece-copy strong {
    font-size: 14px;
  }
  .match-tour .match-card--duel .match-piece-copy small, .match-tour .match-card--duel .match-piece-copy .small {
    font-size: 12px;
  }
  .match-tour .match-card--reward .match-artwork > img {
    height: 220px;
  }
  .match-tour .match-card--recommendation .match-select {
    gap: 12px;
    padding-right: 64px;
  }
  .match-tour .match-card--recommendation .match-select img {
    width: 66px;
    height: 64px;
  }
  .match-tour .match-card--recommendation .match-piece-copy strong {
    font-size: 14px;
  }
  .match-tour .match-card--recommendation .match-card-player {
    right: 12px;
  }
}
@media (max-width: 359px) {
  .match-tour .match-cards--listening {
    grid-template-columns: 1fr;
  }
  .match-tour .match-card--listening {
    min-height: 138px;
  }
  .match-tour .match-card--listening .match-select {
    display: flex;
  }
  .match-tour .match-card--listening .match-piece-copy strong {
    font-size: 16px;
  }
}

@keyframes match-wave {
  to {
    transform: scaleY(0.45);
  }
}
@keyframes match-drift {
  to {
    translate: 14px 10px;
  }
}
@keyframes match-enter {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .match-tour-modal .match-ambience span,
  .match-tour [data-stage],
  .match-tour .is-playing .match-waveform span {
    animation: none;
  }
  .match-tour-modal .modal-content,
  .match-tour-modal .match-ambience span,
  .match-tour-modal .match-progress-dot,
  .match-tour-modal .match-progress-track li::after,
  .match-tour [data-stage],
  .match-tour .match-card,
  .match-tour .match-mood {
    transition: none;
  }
}
.match-tour-modal.fullscreen-modal .fullscreen-modal-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) min(420px, calc(100% - 96px)) minmax(0, 1fr);
  gap: 0;
}
.match-tour-modal.fullscreen-modal .fullscreen-modal-header .match-progress {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  margin: 0;
}
.match-tour-modal.fullscreen-modal .fullscreen-modal-header .fullscreen-modal-close {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
}

.match-tour .match-finding {
  text-align: center;
  padding: 24px 0;
}
.match-tour .match-finding-orbit {
  position: absolute;
  inset: -20px;
  border: 2px solid rgba(128, 98, 239, 0.15);
  border-radius: 50%;
  animation: match-orbit 2.4s linear infinite;
}
.match-tour .match-finding-orbit::before,
.match-tour .match-finding-orbit::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--match-accent);
  top: 20px;
  left: 12px;
  box-shadow: 0 0 20px rgba(128, 98, 239, 0.25);
}
.match-tour .match-finding-orbit::after {
  background: #ffc64c;
  top: auto;
  left: auto;
  bottom: 20px;
  right: 12px;
  width: 12px;
  height: 12px;
}
.match-tour .match-finding .match-waveform {
  width: 180px;
  margin: 0 auto;
}
.match-tour.is-finding .match-count {
  padding: 36px 0 40px;
}

@media (min-width: 900px) {
  .match-tour-modal.fullscreen-modal .fullscreen-modal-header {
    padding-top: 12px;
    padding-bottom: 8px;
  }
  .match-tour-modal .match-tour-body {
    padding-bottom: 12px;
  }
  .match-tour .match-count {
    padding: 16px 0 24px;
  }
  .match-tour .match-count-number {
    width: 136px;
    height: 136px;
    font-size: 40px;
  }
  .match-tour .match-heading {
    margin-bottom: 14px;
  }
  .match-tour h3, .match-tour .h3 {
    font-size: clamp(22px, 3.4vh, 30px);
    margin-bottom: 6px;
  }
  .match-tour .match-rounds {
    margin-top: 6px;
  }
  .match-tour .match-cards {
    gap: 14px;
  }
  .match-tour .match-card--listening {
    min-height: 140px;
  }
  .match-tour .match-card--listening .match-select {
    padding: 16px 20px 12px;
  }
  .match-tour .match-card--listening .match-select img {
    width: 48px;
    height: 48px;
  }
  .match-tour .match-card--listening .match-card-player {
    padding: 0 20px 14px;
  }
  .match-tour .match-main-action {
    min-height: 66px;
  }
  .match-tour .match-primary,
  .match-tour .match-outline {
    min-height: 48px;
    padding: 11px 20px;
  }
  .match-tour .match-navigation {
    margin-top: 12px;
  }
  .match-tour .match-score-card {
    padding: 14px;
  }
  .match-tour .match-score {
    height: clamp(110px, 18vh, 165px);
    margin-bottom: 10px;
  }
  .match-tour .match-score canvas {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .match-tour .match-score-choice {
    min-height: 44px;
  }
  .match-tour .match-cards--duel {
    gap: 76px;
  }
  .match-tour .match-card--duel .match-select img {
    height: clamp(140px, 26vh, 230px);
  }
  .match-tour .match-moods {
    gap: 12px;
  }
  .match-tour .match-mood {
    min-height: 100px;
    padding: 14px 12px;
    gap: 8px;
  }
  .match-tour .match-card--reward .match-artwork > img {
    height: clamp(140px, 22vh, 190px);
  }
  .match-tour .match-result-actions {
    max-width: 420px;
    margin-top: 24px;
    gap: 12px;
  }
  .match-tour .match-card--recommendation .match-select {
    min-height: 82px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .match-tour .match-card--recommendation .match-select img {
    width: 64px;
    height: 58px;
  }
  .match-tour .match-finding {
    padding: 12px 0;
  }
}
@media (min-width: 900px) and (max-height: 700px) {
  .match-tour-modal.fullscreen-modal .fullscreen-modal-header {
    padding-top: 10px;
  }
  .match-tour-modal .fullscreen-modal-close {
    width: 40px;
    height: 40px;
  }
  .match-tour .match-count-number {
    width: 120px;
    height: 120px;
    font-size: 34px;
  }
  .match-tour .match-heading {
    margin-bottom: 10px;
  }
  .match-tour .match-heading p {
    font-size: 14px;
  }
  .match-tour .match-rounds {
    margin-top: 4px;
  }
  .match-tour .match-card--listening {
    min-height: 128px;
  }
  .match-tour .match-card--listening .match-select {
    padding: 14px 16px 10px;
  }
  .match-tour .match-card--listening .match-piece-copy strong {
    font-size: 15px;
  }
  .match-tour .match-card--listening .match-piece-copy small, .match-tour .match-card--listening .match-piece-copy .small {
    font-size: 13px;
  }
  .match-tour .match-card--listening .match-card-player {
    padding: 0 16px 12px;
  }
  .match-tour .match-score-card {
    padding: 12px;
  }
  .match-tour .match-score-choice {
    min-height: 40px;
  }
  .match-tour .match-mood {
    min-height: 86px;
  }
  .match-tour .match-card--reward .match-artwork > img {
    height: 140px;
  }
  .match-tour .match-card--reward .match-piece-copy strong {
    font-size: 18px;
  }
  .match-tour .match-card--recommendation .match-select {
    min-height: 74px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .match-tour .match-card--recommendation .match-select img {
    height: 56px;
  }
  .match-tour .match-navigation {
    margin-top: 8px;
  }
}
@keyframes match-orbit {
  to {
    transform: rotate(360deg);
  }
}
.match-tour-modal .match-ambience::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  background: radial-gradient(ellipse at 50% 25%, rgba(255, 226, 147, 0.72), rgba(238, 219, 255, 0.28) 45%, transparent 75%);
  pointer-events: none;
}

.match-tour-modal.is-celebrating .match-ambience::after {
  animation: match-reward-light 950ms ease-out both;
}

.match-tour.is-celebrating .match-finding-orbit {
  display: none;
}
.match-tour.is-celebrating .match-count-number {
  animation: match-reward-pop 850ms cubic-bezier(0.22, 0.8, 0.3, 1) both;
  box-shadow: 0 0 44px rgba(236, 182, 65, 0.25);
}
.match-tour.is-celebrating .match-count-arc {
  stroke: #dba638;
}
.match-tour.is-celebrating .match-count-unit {
  color: #8b651b;
  font-size: 14px;
}
.match-tour.is-celebrating .match-count-number::before,
.match-tour.is-celebrating .match-count-number::after {
  content: "";
  position: absolute;
  inset: -17px;
  border: 2px solid rgba(224, 172, 61, 0.6);
  border-radius: 50%;
  pointer-events: none;
  animation: match-reward-halo 900ms ease-out both;
}
.match-tour.is-celebrating .match-count-number::after {
  animation-delay: 120ms;
  border-color: rgba(128, 98, 239, 0.3);
}
.match-tour.is-celebrating .match-reward-heading {
  animation: match-reward-copy 400ms ease-out both;
}

.match-reward-sparks {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.match-reward-sparks > span {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -5px 0 0 -3px;
  width: 6px;
  height: 10px;
  border-radius: 3px;
  background: #dfac42;
  opacity: 0;
  animation: match-reward-spark 850ms cubic-bezier(0.16, 0.7, 0.3, 1) both;
}

.match-reward-sparks > span:nth-child(3n) {
  background: #a38aea;
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

@keyframes match-reward-pop {
  0% {
    transform: scale(1);
  }
  32% {
    transform: scale(1.17);
  }
  58% {
    transform: scale(1.07);
  }
  100% {
    transform: scale(1.1);
  }
}
@keyframes match-reward-halo {
  0% {
    transform: scale(0.88);
    opacity: 0;
  }
  20% {
    opacity: 0.8;
  }
  100% {
    transform: scale(1.55);
    opacity: 0;
  }
}
@keyframes match-reward-spark {
  0% {
    transform: translate(0, 0) rotate(var(--spark-turn)) scale(0.3);
    opacity: 0;
  }
  18% {
    opacity: 1;
  }
  65% {
    opacity: 1;
  }
  100% {
    transform: translate(var(--spark-x), var(--spark-y)) rotate(var(--spark-turn)) scale(0.7);
    opacity: 0;
  }
}
@keyframes match-reward-copy {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes match-reward-light {
  from {
    opacity: 0;
  }
  35%, to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .match-tour .match-finding-orbit {
    animation: none;
  }
  .match-tour .match-count-arc {
    transition: none;
  }
  .match-tour.is-celebrating .match-count-number,
  .match-tour.is-celebrating .match-reward-heading,
  .match-tour-modal.is-celebrating .match-ambience::after {
    animation: none;
  }
  .match-tour.is-celebrating .match-count-number::before,
  .match-tour.is-celebrating .match-count-number::after,
  .match-reward-sparks {
    display: none;
  }
}
.match-tour .match-card--level {
  --match-level-color: #357d70;
  --match-level-tint: #e4f3e9;
  border-color: var(--match-level-tint);
  --match-accent: var(--match-level-color);
}
.match-tour .match-card--level[data-level=beginner] {
  --match-level-color: #ad5030;
  --match-level-tint: #ffebe1;
}
.match-tour .match-card--level[data-level=intermediate] {
  --match-level-color: #3966ac;
  --match-level-tint: #e5edff;
}
.match-tour .match-card--level[data-level=advanced] {
  --match-level-color: #7351c9;
  --match-level-tint: #f0e6ff;
}
.match-tour .match-card--level:hover, .match-tour .match-card--level.selected {
  border-color: var(--match-level-color);
}
.match-tour .match-card--level.selected {
  box-shadow: 0 0 0 2px var(--match-level-color), 0 8px 24px rgba(98, 79, 172, 0.12);
}
.match-tour .match-card--level .match-level-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 18px;
  color: var(--match-level-color);
  background: var(--match-level-tint);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}
.match-tour .match-card--level .match-level-skills {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.match-tour .match-card--level .match-level-scale {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.match-tour .match-card--level .match-level-dots {
  display: flex;
  gap: 6px;
}
.match-tour .match-card--level .match-level-dots span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #dce1e8;
}
.match-tour .match-card--level .match-level-dots .filled {
  background: var(--match-level-color);
}
.match-tour .match-card--level .match-level-hint {
  color: var(--match-muted);
  font-size: 12px;
  line-height: 1.4;
}
.match-tour .match-card--level .match-play {
  color: var(--match-level-color);
  background: var(--match-level-tint);
}
.match-tour .match-card--level.is-playing .match-play {
  color: #fff;
  background: var(--match-level-color);
}
@media (max-width: 479px) {
  .match-tour .match-card--level .match-level-badge {
    padding: 3px 6px;
    font-size: 11px;
  }
  .match-tour .match-card--level .match-card-player {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
  }
  .match-tour .match-card--level .match-level-skills {
    display: contents;
  }
  .match-tour .match-card--level .match-level-scale {
    grid-column: 2;
  }
  .match-tour .match-card--level .match-level-hint {
    grid-column: 1/-1;
  }
  .match-tour .match-card--level .match-level-hint {
    font-size: 11px;
  }
}

@media (min-width: 900px) and (max-height: 780px) {
  .match-tour-modal[data-theme=level] .match-count-number {
    width: 120px;
    height: 120px;
    font-size: 34px;
  }
}
#piece-upgrade-modal .modal-dialog {
  max-width: 840px;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 2rem);
}
#piece-upgrade-modal .modal-content {
  border-radius: var(--radius-modal);
  background: var(--color-surface);
}
#piece-upgrade-modal .modal-body {
  padding: var(--space-5);
}
#piece-upgrade-modal .piece-upgrade-close {
  position: absolute;
  top: var(--space-3);
  right: var(--space-3);
  z-index: 1;
  width: 44px;
  height: 44px;
  color: var(--color-text-muted);
  font-size: var(--font-size-lg);
  opacity: 1;
}
#piece-upgrade-modal .piece-upgrade-close:hover {
  color: var(--color-text);
}
#piece-upgrade-modal .piece-upgrade-heading {
  margin-bottom: var(--space-5);
}
#piece-upgrade-modal .piece-upgrade-benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4) var(--space-5);
  margin-bottom: var(--space-5);
}
#piece-upgrade-modal .piece-upgrade-benefit {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}
#piece-upgrade-modal .piece-upgrade-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 56px;
  height: 56px;
  border-radius: var(--radius-circle);
  font-size: var(--font-size-xl);
  position: relative;
}
#piece-upgrade-modal .piece-upgrade-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: currentColor;
  opacity: 0.12;
}
#piece-upgrade-modal .piece-upgrade-icon--orange {
  color: var(--color-orange);
}
#piece-upgrade-modal .piece-upgrade-icon--green {
  color: var(--color-green);
}
#piece-upgrade-modal .piece-upgrade-icon--blue {
  color: var(--color-blue);
}
#piece-upgrade-modal .piece-upgrade-icon--pink {
  color: var(--color-pink);
}
#piece-upgrade-modal .piece-upgrade-icon--purple {
  color: var(--color-purple);
}
#piece-upgrade-modal .piece-upgrade-icon--indigo {
  color: var(--color-indigo);
}
#piece-upgrade-modal .piece-upgrade-action .btn {
  width: 100%;
  max-width: 320px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767.98px) {
  #piece-upgrade-modal .modal-body {
    padding: var(--space-5) var(--space-4) var(--space-4);
  }
  #piece-upgrade-modal .piece-upgrade-heading,
  #piece-upgrade-modal .piece-upgrade-benefits {
    margin-bottom: var(--space-4);
  }
  #piece-upgrade-modal .piece-upgrade-benefits {
    grid-template-columns: minmax(0, 1fr);
  }
  #piece-upgrade-modal .piece-upgrade-close {
    top: var(--space-2);
    right: var(--space-2);
  }
}

.piece-timeline {
  padding: 0.25rem 0;
}
.piece-timeline .piece-timeline-heading {
  margin: 0 0 2rem;
  font-size: 1rem;
  line-height: 1.6;
}
.piece-timeline .piece-timeline-heading span {
  white-space: nowrap;
}
.piece-timeline .piece-timeline-events {
  position: relative;
}
.piece-timeline .piece-timeline-events:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 2.25rem;
  bottom: 2.25rem;
  width: 1px;
  background: var(--color-border, #dee2e6);
}
.piece-timeline .piece-timeline-event {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0 80px;
  align-items: center;
  padding: 1.25rem 0;
}
.piece-timeline .piece-timeline-event:before {
  content: "";
  position: absolute;
  left: calc(50% - 4px);
  top: calc(50% - 4px);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--color-primary, #0055fe);
}
.piece-timeline .piece-timeline-event:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25px;
  height: 1px;
  background: var(--color-border, #dee2e6);
}
.piece-timeline .piece-timeline-year {
  grid-column: 1;
  grid-row: 1;
  text-align: right;
  font-size: 1.6rem;
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -0.045em;
  color: var(--color-text, #212529);
}
.piece-timeline .piece-timeline-year small, .piece-timeline .piece-timeline-year .small {
  display: block;
  margin-top: 0.3rem;
  font-size: 0.75rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--color-text-muted, #6c757d);
}
.piece-timeline .piece-timeline-content {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  min-width: 0;
}
.piece-timeline .piece-timeline-image {
  flex: 0 0 132px;
  width: 132px;
  height: 172px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
  order: 2;
}
.piece-timeline .piece-timeline-copy {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  text-align: left;
}
.piece-timeline .piece-timeline-title {
  margin: 0 0 0.5rem;
  font-size: 1rem;
  line-height: 1.45;
}
.piece-timeline .piece-timeline-description {
  font-size: 0.9rem;
  line-height: 1.6;
}
.piece-timeline .piece-timeline-title,
.piece-timeline .piece-timeline-description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.piece-timeline .piece-timeline-sources {
  padding-top: 0.65rem;
  border-top: 1px solid var(--color-border, #dee2e6);
  font-size: 0.75rem;
  line-height: 1.6;
}
.piece-timeline .piece-timeline-sources summary {
  cursor: pointer;
}
.piece-timeline .piece-timeline-sources[open] {
  overflow-wrap: anywhere;
}
.piece-timeline .piece-timeline-left:after {
  left: auto;
  right: 50%;
}
.piece-timeline .piece-timeline-left .piece-timeline-year {
  grid-column: 2;
  text-align: left;
}
.piece-timeline .piece-timeline-left .piece-timeline-content {
  grid-column: 1;
}
.piece-timeline .piece-timeline-left .piece-timeline-copy {
  text-align: right;
}
.piece-timeline .piece-timeline-left .piece-timeline-image {
  order: 0;
}
.piece-timeline .piece-timeline-boundary {
  padding: 1.5rem 1.75rem;
  opacity: 0.5;
}
.piece-timeline .piece-timeline-boundary:before {
  background: var(--color-surface, #fff);
  border: 2px solid var(--color-primary, #0055fe);
  box-shadow: 0 0 0 4px rgba(0, 85, 254, 0.06);
}
.piece-timeline .piece-timeline-boundary .piece-timeline-description {
  font-size: 0.8rem;
}
.piece-timeline .piece-timeline-label {
  display: inline-block;
  padding: 0.3rem 0.85rem;
  margin-bottom: 0.65rem;
  border-radius: 999px;
  background: rgba(0, 85, 254, 0.09);
  color: var(--color-primary, #0055fe);
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.piece-timeline .piece-timeline-highlighted {
  padding: 1.75rem 0;
}
.piece-timeline .piece-timeline-highlighted:before {
  width: 13px;
  height: 13px;
  left: calc(50% - 6px);
  top: calc(50% - 6px);
  box-shadow: 0 0 0 5px rgba(0, 85, 254, 0.1);
}
.piece-timeline .piece-timeline-highlighted .piece-timeline-copy {
  padding: 1.2rem 1.3rem;
  background: rgba(0, 85, 254, 0.035);
  border-radius: 0.5rem;
}
@media (max-width: 991.98px) {
  .piece-timeline .piece-timeline-heading {
    margin-bottom: 1rem;
  }
  .piece-timeline .piece-timeline-events {
    padding-left: 28px;
  }
  .piece-timeline .piece-timeline-events:before {
    left: 4px;
    top: 2rem;
    bottom: 2rem;
  }
  .piece-timeline .piece-timeline-event {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.85rem;
    padding: 1.25rem 0;
  }
  .piece-timeline .piece-timeline-event:before {
    left: -28px;
    top: 1.9rem;
  }
  .piece-timeline .piece-timeline-event:after {
    display: none;
  }
  .piece-timeline .piece-timeline-year,
  .piece-timeline .piece-timeline-left .piece-timeline-year {
    text-align: left;
    font-size: 1.4rem;
  }
  .piece-timeline .piece-timeline-year small, .piece-timeline .piece-timeline-year .small {
    display: inline;
    margin-left: 0.6rem;
  }
  .piece-timeline .piece-timeline-content {
    align-items: flex-start;
    gap: 1rem;
  }
  .piece-timeline .piece-timeline-copy,
  .piece-timeline .piece-timeline-left .piece-timeline-copy {
    text-align: left;
  }
  .piece-timeline .piece-timeline-boundary {
    margin-left: -28px;
    padding: 1.25rem 1rem 1.25rem 28px;
    border-radius: 1.5rem;
  }
  .piece-timeline .piece-timeline-boundary:before {
    left: 0;
  }
  .piece-timeline .piece-timeline-image {
    order: 0;
    flex: 0 0 80px;
    width: 80px;
    height: 108px;
  }
  .piece-timeline .piece-timeline-title {
    font-size: 0.95rem;
  }
  .piece-timeline .piece-timeline-description {
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .piece-timeline .piece-timeline-artwork:not(.piece-timeline-no-image) .piece-timeline-content {
    flex-direction: column;
  }
  .piece-timeline .piece-timeline-artwork:not(.piece-timeline-no-image) .piece-timeline-image {
    flex: none;
    width: 100%;
    height: 144px;
  }
  .piece-timeline .piece-timeline-artwork:not(.piece-timeline-no-image) .piece-timeline-copy {
    width: 100%;
  }
  .piece-timeline .piece-timeline-highlighted:before {
    left: -30px;
    top: 1.8rem;
  }
  .piece-timeline .piece-timeline-highlighted .piece-timeline-copy {
    padding: 1rem 1.1rem;
  }
}

.playlist-page {
  padding-bottom: 28px;
}
.playlist-page [hidden] {
  display: none !important;
}
.playlist-page .app-icon {
  width: 1.15em;
  height: 1.15em;
}

.playlist-heading {
  position: relative;
  margin: 0 0 16px;
  padding: 0 52px;
  text-align: center;
}
.playlist-heading > .position-absolute {
  height: 44px !important;
  top: 32px !important;
}
.playlist-heading h1, .playlist-heading .h1 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 0 0 8px;
}
.playlist-heading h1 > .app-icon, .playlist-heading .h1 > .app-icon {
  color: var(--color-text-muted);
  font-size: 28px;
  flex-shrink: 0;
}
.playlist-heading h1 > span, .playlist-heading .h1 > span {
  overflow-wrap: anywhere;
}

.playlist-updated {
  margin: 0 0 8px;
  font-size: var(--font-size-sm);
  font-style: italic;
}

.playlist-options {
  position: absolute;
  right: 0;
  top: 32px;
}

.playlist-options__toggle.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0 !important;
}

.playlist-escore {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 0 28px;
}

.playlist-page--collection .playlist-escore-wrap {
  margin-top: 16px;
}

.playlist-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 2px 0 12px;
}
.playlist-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 154px;
  white-space: nowrap;
}

.playlist-status {
  margin: 0 0 12px;
}
.playlist-status:empty {
  display: none;
}

.playlist-track {
  display: grid;
  grid-template-columns: 28px 44px 16px minmax(0, 1fr) 60px 40px 76px 24px;
  align-items: center;
  gap: 18px;
  min-height: 58px;
  padding: 7px 6px;
  background: var(--color-surface);
}
.playlist-track.is-current {
  background: var(--color-primary-soft);
}
.playlist-track.is-dragging {
  position: fixed;
  z-index: 101;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  opacity: 1;
  background: var(--color-primary-soft);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-button);
}
.playlist-track__number {
  font-size: var(--font-size-sm);
  text-align: center;
}
.playlist-track__play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
.playlist-track__play > span {
  display: flex;
}
.playlist-track__play.btn {
  padding: 0 !important;
}
.playlist-track__level {
  width: 12px;
  height: 12px;
  border-radius: var(--radius-circle);
}
.playlist-track__level:not([class*=bg-]) {
  background: var(--color-text-muted);
}
.playlist-track__identity {
  display: flex;
  align-items: baseline;
  min-width: 0;
  gap: 6px;
}
.playlist-track__title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.playlist-track__composer {
  flex-shrink: 0;
  font-size: var(--font-size-sm);
}
.playlist-track__composer::before {
  content: "· ";
}
.playlist-track__duration {
  font-size: var(--font-size-xs);
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.playlist-track__favorite {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 40px;
  font-size: 19px;
}
.playlist-track__go {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  gap: 7px;
}
.playlist-track__handle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 40px;
  cursor: grab;
  touch-action: none;
  font-size: 21px;
}

.playlist-track-placeholder {
  border: 1px dashed var(--color-primary);
  background: var(--color-primary-soft);
}

.playlist-tracks--readonly .playlist-track {
  grid-template-columns: 28px 44px 16px minmax(0, 1fr) 60px 40px 76px;
}

.playlist-empty {
  padding: 48px 16px;
  text-align: center;
}

.playlist-player {
  position: fixed;
  bottom: var(--playlist-menu-height, 82px);
  left: 0;
  right: 0;
  z-index: 100;
  padding: 12px 24px;
}
.playlist-player__inner {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1.55fr) 154px 154px 90px;
  align-items: center;
  gap: 22px;
  max-width: 1220px;
  margin: auto;
}
.playlist-player__identity {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.playlist-player__identity img {
  width: 48px;
  height: 48px;
  -o-object-fit: cover;
     object-fit: cover;
  flex-shrink: 0;
}
.playlist-player__identity > div {
  min-width: 0;
}
.playlist-player__identity span {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: var(--font-size-sm);
}
.playlist-player__identity [data-player-composer] {
  font-size: var(--font-size-xs);
  margin-top: 2px;
}
.playlist-player__timeline {
  display: flex;
  align-items: center;
  gap: 14px;
}
.playlist-player__timeline > span {
  min-width: 30px;
  font-size: var(--font-size-xs);
  font-variant-numeric: tabular-nums;
}
.playlist-player__timeline .playlist-player__progress {
  position: relative;
  flex: 1;
  min-width: 0;
}
.playlist-player__timeline input {
  display: block;
  width: 100%;
  min-width: 0;
}
.playlist-player__transport {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.playlist-player__transport button, .playlist-player__volume button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 20px;
}
.playlist-player__transport .btn-raw {
  color: inherit;
}
.playlist-player__transport .playlist-player__toggle {
  width: 48px;
  height: 48px;
  padding: 0 !important;
}
.playlist-player__volume {
  display: flex;
  align-items: center;
  gap: 12px;
}
.playlist-player__volume input {
  min-width: 0;
  width: 100%;
}
.playlist-player__volume [aria-pressed=true] {
  opacity: 0.5;
}
.playlist-player__speed {
  justify-self: end;
}
.playlist-player__sections-toggle {
  width: 60px;
  height: 44px;
  padding: 0 !important;
}
.playlist-player__sections-toggle [data-sections-chevron] {
  display: flex;
  font-size: 12px;
}
.playlist-player--sections-open [data-sections-chevron] {
  transform: rotate(180deg);
}
.playlist-player__markers {
  position: absolute;
  inset: 0 8px;
  pointer-events: none;
}
.playlist-player__marker {
  position: absolute;
  top: 50%;
  width: 16px;
  height: 24px;
  transform: translate(-50%, -50%);
  pointer-events: auto;
}
.playlist-player__marker::after {
  content: "";
  display: block;
  width: 3px;
  height: 7px;
  margin: auto;
  background: var(--color-text-muted);
  border-radius: var(--radius-circle);
}
.playlist-player__marker:focus-visible {
  border-radius: var(--radius-button);
}
.playlist-player--sections-open .playlist-player__marker::after {
  width: 6px;
  height: 6px;
}
.playlist-player__sections {
  max-width: 1220px;
  margin: 14px auto 0;
  max-height: 36vh;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.playlist-section {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 5px 12px;
  min-height: 48px;
}
.playlist-section:last-child {
  border-bottom: 0 !important;
}
.playlist-section.is-active {
  background: var(--color-primary-soft);
  border-radius: var(--radius-button);
  border-color: transparent !important;
}
.playlist-section__seek {
  display: grid;
  grid-template-columns: 22px 58px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  flex: 1;
  min-width: 0;
  min-height: 36px;
  color: inherit;
  text-align: left;
}
.playlist-section__play {
  display: flex;
  color: var(--color-primary);
}
.playlist-section__play[hidden] {
  display: flex !important;
  visibility: hidden;
}
.playlist-section__title {
  overflow-wrap: anywhere;
}

@media (max-width: 991px) {
  .playlist-player__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 130px 80px;
    gap: 16px;
  }
  .playlist-player__volume {
    grid-row: 2;
    grid-column: 3;
  }
  .playlist-player__speed {
    grid-row: 1;
    grid-column: 4;
  }
  .playlist-player--has-sections .playlist-player__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 130px 80px 60px;
  }
  .playlist-player__sections-toggle {
    grid-row: 1;
    grid-column: 5;
  }
  .playlist-track {
    gap: 12px;
    grid-template-columns: 22px 40px 14px minmax(0, 1fr) 42px 30px 66px 20px;
  }
  .playlist-track__identity {
    display: block;
  }
  .playlist-track__composer {
    display: block;
    margin-top: 2px;
    font-size: 13px;
  }
  .playlist-track__composer::before {
    content: none;
  }
  .playlist-tracks--readonly .playlist-track {
    grid-template-columns: 22px 40px 14px minmax(0, 1fr) 42px 30px 66px;
  }
}
@media (min-width: 576px) and (max-width: 991px) {
  .playlist-player--has-sections .playlist-player__inner {
    grid-template-columns: minmax(0, 1fr) 130px 80px 60px;
  }
  .playlist-player--has-sections .playlist-player__identity {
    grid-row: 1;
    grid-column: 1/3;
  }
  .playlist-player--has-sections .playlist-player__speed {
    grid-row: 1;
    grid-column: 3;
  }
  .playlist-player--has-sections .playlist-player__sections-toggle {
    grid-row: 1;
    grid-column: 4;
  }
  .playlist-player--has-sections .playlist-player__timeline {
    grid-row: 2;
    grid-column: 1/3;
  }
  .playlist-player--has-sections .playlist-player__transport {
    grid-row: 2;
    grid-column: 3/5;
  }
}
@media (max-width: 575px) {
  .playlist-brand {
    display: none;
  }
  .playlist-page {
    margin: 0 -12px;
  }
  .playlist-heading {
    margin: 12px 16px 14px;
  }
  .playlist-heading h1, .playlist-heading .h1 {
    gap: 12px;
  }
  .playlist-updated {
    font-size: 12px;
  }
  .playlist-actions {
    padding: 0 14px;
    gap: 7px;
    margin-bottom: 16px;
  }
  .playlist-actions .btn {
    flex: 1;
    min-width: 0;
    padding: 11px 8px !important;
    gap: 7px;
    font-size: var(--font-size-xs) !important;
  }
  .playlist-escore {
    margin-bottom: 24px;
  }
  .playlist-status {
    padding: 0 16px;
  }
  .playlist-track {
    min-height: 76px;
    padding: 10px 10px;
    gap: 8px;
    grid-template-columns: 18px 38px 10px minmax(0, 1fr) 30px 28px 56px 18px;
  }
  .playlist-track__play {
    width: 36px;
    height: 36px;
    font-size: 15px;
  }
  .playlist-track__number {
    font-size: 12px;
  }
  .playlist-track__level {
    width: 10px;
    height: 10px;
  }
  .playlist-track__title {
    display: block;
    font-size: 14px;
  }
  .playlist-track__composer {
    font-size: 12px;
  }
  .playlist-track__duration {
    font-size: 11px;
  }
  .playlist-track__go {
    min-height: 32px;
    padding: 4px 8px !important;
    font-size: var(--font-size-xs);
    gap: 4px;
  }
  .playlist-track__favorite {
    width: 28px;
    font-size: 17px;
  }
  .playlist-track__handle {
    width: 18px;
    font-size: 19px;
  }
  .playlist-player {
    padding: 16px 18px 12px;
  }
  .playlist-tracks--readonly .playlist-track {
    grid-template-columns: 18px 38px 10px minmax(0, 1fr) 30px 28px 56px;
  }
  .playlist-player__inner {
    grid-template-columns: minmax(0, 1fr) 100px;
    gap: 16px;
  }
  .playlist-player--has-sections .playlist-player__inner {
    grid-template-columns: minmax(0, 1fr) 100px;
  }
  .playlist-player__identity {
    grid-row: 1;
    grid-column: 1;
    gap: 12px;
  }
  .playlist-player__speed {
    grid-row: 1;
    grid-column: 2;
  }
  .playlist-player__timeline {
    grid-row: 2;
    grid-column: 1/-1;
    gap: 12px;
  }
  .playlist-player__transport {
    grid-row: 3;
    grid-column: 1/-1;
    width: 100%;
    max-width: 210px;
    margin: auto;
  }
  .playlist-player--has-sections .playlist-player__transport {
    grid-column: 1;
    max-width: 210px;
  }
  .playlist-player__sections-toggle {
    grid-row: 3;
    grid-column: 2;
    justify-self: end;
  }
  .playlist-section {
    gap: 6px;
    padding: 5px 8px;
    font-size: var(--font-size-sm);
  }
  .playlist-section__seek {
    grid-template-columns: 18px 38px minmax(0, 1fr);
    gap: 8px;
  }
}
@media (max-width: 991px), (pointer: coarse) {
  .playlist-player__volume {
    display: none !important;
  }
}
@media (max-width: 374px) {
  .playlist-track {
    gap: 6px;
    grid-template-columns: 14px 34px 8px minmax(0, 1fr) 28px 24px 50px 16px;
    padding: 9px 7px;
  }
  .playlist-track__play {
    width: 32px;
    height: 32px;
  }
  .playlist-track__go {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
  .playlist-track__level {
    width: 8px;
    height: 8px;
  }
  .playlist-player {
    padding-left: 12px;
    padding-right: 12px;
  }
  .playlist-tracks--readonly .playlist-track {
    grid-template-columns: 14px 34px 8px minmax(0, 1fr) 28px 24px 50px;
  }
}
@media (min-width: 992px) {
  .playlist-player--device-volume .playlist-player__inner {
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1.55fr) 154px 90px;
  }
  .playlist-player--has-sections .playlist-player__inner {
    grid-template-columns: minmax(160px, 1fr) minmax(160px, 1.55fr) 144px 124px 90px 60px;
    gap: 18px;
  }
  .playlist-player--device-volume.playlist-player--has-sections .playlist-player__inner {
    grid-template-columns: minmax(160px, 1fr) minmax(160px, 1.55fr) 144px 90px 60px;
  }
  .playlist-player__sections-toggle {
    grid-row: auto;
    grid-column: auto;
  }
  #webapp.playlist-layout > .container {
    width: 84%;
    max-width: 1440px;
  }
  #webapp.playlist-layout > .container > .row > .col-lg-10 {
    width: 100%;
  }
  .playlist-heading {
    margin-top: -32px;
  }
}
[data-piece-player-page] [hidden] {
  display: none !important;
}

.playlist-player--piece {
  bottom: 0;
  z-index: 1051;
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
}
.playlist-player--piece .playlist-player__close {
  flex-shrink: 0;
  width: 32px;
  height: 40px;
  margin-left: auto;
}
.playlist-player--piece .playlist-player__status {
  max-width: 1220px;
  margin: 8px auto 0;
}
.playlist-player--piece .playlist-player__status:empty {
  display: none;
}
.playlist-player--piece [data-next]:disabled {
  opacity: 0.3;
  cursor: default;
}

body.score-editor-fullscreen-open .playlist-player--piece {
  z-index: 2010;
}

@font-face {
  font-family: "Escore Bodoni";
  src: url("/fonts/escore/LibreBodoni-Regular.ttf") format("truetype");
  font-weight: normal;
  font-display: swap;
}
@font-face {
  font-family: "Escore Bodoni";
  src: url("/fonts/escore/LibreBodoni-Bold.ttf") format("truetype");
  font-weight: bold;
  font-display: swap;
}
.escore-modal [data-escore-form] {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--color-text);
}
.escore-modal .escore-body {
  display: grid;
  grid-template-columns: minmax(285px, 0.95fr) minmax(300px, 1.3fr) minmax(285px, 1fr);
  gap: 4vw;
  padding: 8px 4vw 0;
  min-height: 0;
  flex: 1;
  overflow: auto;
}
.escore-modal .escore-controls,
.escore-modal .escore-overview {
  min-width: 0;
  overflow: auto;
  padding-bottom: 12px;
}
.escore-modal .escore-steps {
  display: flex;
  justify-content: space-between;
  margin: 8px 0 42px;
}
.escore-modal .escore-step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 27%;
  color: var(--color-grey);
  font-size: 13px;
}
.escore-modal .escore-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 18px;
  left: 80%;
  width: 78%;
  border-top: 1px solid var(--color-border);
}
.escore-modal .escore-step.complete::after {
  border-color: var(--color-primary);
}
.escore-modal .escore-step__circle {
  width: 38px;
  height: 38px;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--color-white);
  font-size: 15px;
}
.escore-modal .escore-step.active,
.escore-modal .escore-step.complete {
  color: var(--color-text);
}
.escore-modal .escore-step.active .escore-step__circle,
.escore-modal .escore-step.complete .escore-step__circle {
  color: white;
  background: var(--color-primary);
  border-color: var(--color-primary);
}
.escore-modal .escore-palette {
  margin: 0 0 26px;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--color-border);
}
.escore-modal .escore-palette legend {
  float: none;
  font-size: 15px;
}
.escore-modal .escore-swatches {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.escore-modal .escore-swatch {
  width: 45px;
  height: 45px;
  padding: 2px;
  border-radius: var(--radius-button);
  background: var(--swatch-color);
  background-clip: content-box;
  border: 2px solid transparent;
}
.escore-modal .escore-swatch.active {
  border-color: var(--color-primary);
}
.escore-modal .escore-custom-color {
  width: 45px;
  height: 45px;
  margin: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-button);
  overflow: hidden;
}
.escore-modal .escore-custom-color input {
  width: 100%;
  height: 100%;
  padding: 4px;
  border: 0;
  background: var(--color-white);
  cursor: pointer;
}
.escore-modal .escore-field {
  margin-bottom: 20px;
}
.escore-modal .form-label {
  font-size: 15px;
  margin-bottom: 8px;
}
.escore-modal .escore-bottom-field {
  margin-top: 32px;
}
.escore-modal .escore-preview {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.escore-modal .escore-preview-heading {
  width: 100%;
  display: none;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}
.escore-modal .escore-stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  flex: 1;
  min-height: 0;
}
.escore-modal .escore-preview-loader {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  color: var(--color-grey);
  font-size: 13px;
}
.escore-modal .escore-preview-loader__ring {
  width: 42px;
  height: 42px;
  border: 3px solid var(--color-primary-soft);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: escore-preview-spin 900ms linear infinite;
}
.escore-modal .escore-page {
  width: min(100%, 520px, calc(77.27vh - 230px));
  max-width: 520px;
  aspect-ratio: 612/792;
  background: var(--color-white);
  position: relative;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: 2px;
}
.escore-modal .escore-page canvas {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.escore-modal .escore-page {
  transition: opacity 150ms ease;
}
.escore-modal .escore-page--pending {
  visibility: hidden;
}
.escore-modal .escore-page--updating {
  opacity: 0.65;
}
@media (prefers-reduced-motion: reduce) {
  .escore-modal .escore-page {
    transition: none;
  }
  .escore-modal .escore-preview-loader__ring {
    animation: none;
  }
}
.escore-modal .escore-book::after {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 6%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.16), rgba(255, 255, 255, 0.14) 32%, rgba(0, 0, 0, 0.09) 60%, transparent);
}
.escore-modal .escore-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  min-height: 72px;
  flex-shrink: 0;
}
.escore-modal .escore-pager .btn {
  width: 44px;
  height: 44px;
  padding: 0 !important;
  display: grid;
  place-items: center;
  border-radius: 50% !important;
}
.escore-modal .escore-overview-heading {
  padding-top: 0;
}
.escore-modal .escore-preview-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}
.escore-modal .escore-preview-tabs .btn {
  flex: 1;
  padding: 9px 8px;
  font-size: 12px;
  white-space: nowrap;
  border-radius: 24px;
}
.escore-modal .escore-preview-tabs .btn.active {
  color: var(--color-primary);
  background: var(--color-primary-soft);
  border-color: var(--color-primary-soft);
}
.escore-modal .escore-thumbnails {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.escore-modal .escore-thumbnail {
  min-width: 0;
  background: transparent;
  border: 0;
  padding: 0;
  color: var(--color-grey);
  font-size: 12px;
}
.escore-modal .escore-thumbnail img {
  width: 100%;
  aspect-ratio: 612/792;
  -o-object-fit: contain;
     object-fit: contain;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 5px;
  background: var(--color-white);
  display: block;
  margin-bottom: 5px;
}
.escore-modal .escore-thumbnail.active {
  color: var(--color-primary);
}
.escore-modal .escore-thumbnail.active img {
  border-color: var(--color-primary);
}
.escore-modal .escore-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(215px, 2fr) minmax(0, 1fr);
  align-items: end;
  gap: 16px;
  flex-shrink: 0;
  padding: 20px 4vw 28px;
  background: var(--color-white);
}
.escore-modal .escore-footer .btn {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
}
.escore-modal .escore-footer-primary {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.escore-modal .escore-footer [data-escore-back] {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
}
.escore-modal .escore-footer [data-escore-retry] {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
}
.escore-modal .escore-next-short,
.escore-modal .escore-back-short {
  display: none;
}
.escore-modal .escore-status {
  min-width: 0;
  max-width: 100%;
  text-align: center;
  overflow-wrap: anywhere;
}
.escore-modal .escore-continue {
  min-width: 215px;
}
.escore-modal .escore-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.escore-modal .escore-selection-count {
  white-space: nowrap;
}
.escore-modal .escore-setting,
.escore-modal .escore-piece-list,
.escore-modal .escore-summary-pieces {
  border-radius: var(--radius-input) !important;
}
.escore-modal .escore-piece-row {
  display: grid;
  grid-template-columns: 20px 20px 20px minmax(0, 1fr) 40px;
  gap: 14px;
  align-items: center;
  padding: 10px 16px;
  border-bottom: 1px solid var(--color-border);
  min-height: 54px;
  font-size: 14px;
}
.escore-modal .escore-piece-row:last-child {
  border-bottom: 0;
}
.escore-modal .escore-piece-row:not(.selected) {
  opacity: 0.55;
}
.escore-modal .escore-piece-row.dragging {
  opacity: 0.5;
}
.escore-modal .escore-drag {
  touch-action: none;
  cursor: grab;
  padding: 0;
}
.escore-modal .escore-piece-identity {
  overflow-wrap: anywhere;
}
.escore-modal .escore-setting {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  margin-bottom: 8px;
  font-size: 14px;
  cursor: pointer;
}
.escore-modal .escore-setting .form-check-input {
  width: 2.6em;
  height: 1.45em;
  cursor: pointer;
  margin: 0;
}
.escore-modal .escore-setting .form-check {
  padding-left: 0;
  flex-shrink: 0;
}
.escore-modal .escore-edition-notes {
  margin-top: 14px;
  margin-bottom: 0;
}
.escore-modal .escore-summary-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 16px;
  border-bottom: 1px solid var(--color-border);
  font-size: 14px;
}
.escore-modal .escore-summary-row:last-child {
  border-bottom: 0;
}
.escore-modal .escore-summary-row img {
  width: 88px;
  aspect-ratio: 1.2;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
}
.escore-modal .escore-summary-row small, .escore-modal .escore-summary-row .small {
  display: block;
  margin-top: 4px;
  color: var(--color-grey);
}
.escore-modal .escore-page-breakdown {
  margin-top: 26px;
}
.escore-modal .escore-breakdown-row,
.escore-modal .escore-total {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
  font-size: 13px;
}
.escore-modal [data-step="3"] .escore-steps {
  margin-bottom: 28px;
}
.escore-modal [data-step="3"] .escore-page {
  width: min(100%, 520px, calc(77.27vh - 280px));
}
.escore-modal [data-step="3"] .escore-preview-heading {
  display: flex;
}
.escore-modal [data-step="3"] .escore-preview-heading .escore-preview-tabs {
  display: none;
}
.escore-modal [data-step="3"] .escore-continue {
  min-width: 285px;
}

@keyframes escore-preview-spin {
  to {
    transform: rotate(360deg);
  }
}
.escore-cover-preview {
  position: absolute;
  inset: 0;
  margin: 0;
  background: #00a2ff;
  color: #000;
  font-family: "Escore Bodoni", serif;
  container-type: inline-size;
  overflow: hidden;
}
.escore-cover-preview__title {
  position: absolute;
  top: 22%;
  left: 12.4%;
  width: 75%;
  font-size: 8.82cqw;
  line-height: 1.2;
  text-align: left;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.escore-cover-preview__subtitle {
  position: absolute;
  top: 39%;
  left: 12.4%;
  width: 75%;
  font-size: 4.25cqw;
  line-height: 1.2;
  white-space: pre-line;
}
.escore-cover-preview__description {
  position: absolute;
  top: 48.8%;
  left: 12.4%;
  width: 75%;
  font-size: 3.92cqw;
  line-height: 1.2;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.escore-cover-preview::before {
  content: "";
  position: absolute;
  top: 35.6%;
  left: 12.4%;
  width: 75%;
  border-top: 1px solid;
}
.escore-cover-preview__brand {
  position: absolute;
  top: 87%;
  width: 100%;
  text-align: center;
  font-size: 2.94cqw;
  line-height: 1.2;
}
.escore-cover-preview__brand small, .escore-cover-preview__brand .small {
  display: block;
  font-size: 1.96cqw;
  margin-top: 5px;
}
.escore-cover-preview--image .escore-cover-preview__image {
  position: absolute;
  top: 48.4848%;
  left: 0;
  width: 100%;
  height: 51.5152%;
  -o-object-fit: cover;
     object-fit: cover;
}
.escore-cover-preview--image .escore-cover-preview__title {
  top: 8.84%;
  font-size: 9.8cqw;
}
.escore-cover-preview--image .escore-cover-preview__subtitle {
  top: 19.07%;
  left: 12.4%;
  width: 75%;
  font-size: 5.56cqw;
  font-weight: bold;
}
.escore-cover-preview--image .escore-cover-preview__description {
  top: 25.38%;
  left: 12.4%;
  width: 75%;
  font-size: 4.25cqw;
}
.escore-cover-preview--image .escore-cover-preview__brand {
  top: 90.15%;
  color: #fff;
  font-size: 3.27cqw;
  text-shadow: 0.11cqw 0.11cqw #262626;
}
.escore-cover-preview--image .escore-cover-preview__brand span {
  display: block;
  margin: auto;
  width: 20.425%;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.escore-cover-preview--image .escore-cover-preview__brand small, .escore-cover-preview--image .escore-cover-preview__brand .small {
  display: none;
}
.escore-cover-preview--image::before, .escore-cover-preview--image::after {
  content: "";
  position: absolute;
  top: 93.308%;
  width: 39.869%;
  border-top: 1px solid #fff;
}
.escore-cover-preview--image::before {
  left: 0;
}
.escore-cover-preview--image::after {
  right: 0;
}
.escore-cover-preview--image.escore-cover-preview--no-brand::before, .escore-cover-preview--image.escore-cover-preview--no-brand::after {
  display: none;
}

@media (min-width: 1100px) and (max-height: 820px) {
  .escore-modal .escore-body {
    gap: 3vw;
  }
  .escore-modal .escore-steps {
    margin-bottom: 26px;
  }
  .escore-modal .escore-field {
    margin-bottom: 14px;
  }
  .escore-modal .escore-bottom-field {
    margin-top: 20px;
  }
  .escore-modal .escore-page {
    max-width: 49vh;
  }
  .escore-modal .escore-pager {
    min-height: 54px;
  }
  .escore-modal .escore-footer {
    padding-top: 12px;
    padding-bottom: 18px;
  }
}
@media (max-width: 1099px) {
  .escore-modal .escore-body {
    padding: 0 24px;
    grid-template-columns: minmax(260px, 0.8fr) minmax(280px, 1fr);
    gap: 28px;
  }
  .escore-modal .escore-overview {
    grid-column: 2;
  }
  .escore-modal .escore-controls {
    grid-row: 1/3;
  }
  .escore-modal .escore-preview {
    min-height: 450px;
  }
  .escore-modal .escore-thumbnails {
    display: flex;
    overflow: auto;
  }
  .escore-modal .escore-thumbnail {
    flex: 0 0 95px;
  }
  .escore-modal .escore-overview-heading {
    display: none;
  }
  .escore-modal .escore-footer {
    padding: 18px 24px;
  }
  .escore-modal .escore-piece-row {
    grid-template-columns: 18px 18px minmax(0, 1fr);
    padding: 10px;
    gap: 10px;
  }
  .escore-modal [data-escore-row-number],
  .escore-modal .escore-piece-duration {
    display: none;
  }
  .escore-modal .escore-preview-tabs {
    width: 100%;
  }
}
@media (max-width: 699px) {
  .escore-modal .escore-body {
    display: flex;
    flex-direction: column;
    padding: 0 18px;
    gap: 24px;
  }
  .escore-modal .escore-controls,
  .escore-modal .escore-overview {
    overflow: visible;
    flex-shrink: 0;
    padding-bottom: 0;
  }
  .escore-modal .escore-steps {
    margin-bottom: 24px;
  }
  .escore-modal .escore-palette {
    padding-bottom: 18px;
    margin-bottom: 20px;
  }
  .escore-modal .escore-swatches {
    gap: 10px;
  }
  .escore-modal .escore-swatch,
  .escore-modal .escore-custom-color {
    width: 36px;
    height: 36px;
  }
  .escore-modal .escore-preview {
    min-height: 0;
    flex-shrink: 0;
  }
  .escore-modal .escore-stage {
    min-height: 0;
  }
  .escore-modal .escore-page,
  .escore-modal [data-step="3"] .escore-page {
    width: 100%;
    max-width: 330px;
  }
  .escore-modal .escore-preview-heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .escore-modal .escore-preview-heading .escore-preview-tabs {
    display: none;
  }
  .escore-modal .escore-overview-heading {
    display: block;
  }
  .escore-modal .escore-overview-heading h2, .escore-modal .escore-overview-heading .h2,
  .escore-modal .escore-overview-heading p {
    display: none;
  }
  .escore-modal .escore-thumbnails {
    padding: 2px;
  }
  .escore-modal .escore-pager {
    min-height: 64px;
  }
  .escore-modal .escore-footer {
    padding: 12px 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    border-top: 1px solid var(--color-border);
  }
  .escore-modal .escore-footer-primary {
    grid-column: 1/-1;
  }
  .escore-modal .escore-footer [data-escore-back] {
    grid-column: 1;
    grid-row: 2;
  }
  .escore-modal .escore-footer [data-escore-retry] {
    grid-column: 2;
    grid-row: 2;
  }
  .escore-modal .escore-footer-primary .escore-continue {
    width: 100%;
    min-width: 0;
  }
  .escore-modal .escore-status {
    font-size: 11px;
  }
  .escore-modal .escore-back-short,
  .escore-modal [data-step="2"] .escore-next-short {
    display: inline;
  }
  .escore-modal [data-escore-back-label],
  .escore-modal [data-step="2"] [data-escore-next-label] {
    display: none;
  }
  .escore-modal .escore-footer .btn {
    min-width: 0;
    font-size: 12px;
    padding: 12px 8px;
  }
  .escore-modal .escore-summary-row {
    padding: 12px;
  }
  .escore-modal .escore-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}
#search-form .input-icon > i:first-of-type {
  right: auto;
}
#search-form .input-icon .search-controls-toggle {
  position: absolute;
  top: 50%;
  right: 4px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-button);
  color: var(--field-muted);
}
#search-form .input-icon .search-controls-toggle i {
  position: static;
  transform: none;
}
#search-form .input-icon .search-controls-toggle:hover, #search-form .input-icon .search-controls-toggle.is-active {
  color: var(--color-primary);
  background: var(--color-primary-soft);
}

#search-controls.offcanvas-bottom,
#composer-controls.offcanvas-bottom {
  max-height: calc(100vh - 280px) !important;
  max-height: calc(100dvh - 280px) !important;
  box-shadow: 0 -12px 40px rgba(20, 29, 44, 0.12);
}
#search-controls.offcanvas-bottom .offcanvas-body,
#composer-controls.offcanvas-bottom .offcanvas-body {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  overflow: hidden;
}

.search-controls {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
}
.search-controls .save-to-panel__header {
  border-bottom: 0;
  flex-shrink: 0;
}
.search-controls [data-search-reset],
.search-controls [data-composer-panel-reset] {
  font-size: 14px;
  padding: 3px 0;
}
.search-controls__content {
  padding: 0 20px 20px;
  overflow-y: auto;
  min-height: 0;
}
.search-controls legend,
.search-controls h3,
.search-controls .h3 {
  float: none;
  width: auto;
  margin: 0 0 12px;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 600;
}
.search-controls h3, .search-controls .h3 {
  font-size: 16px;
}
.search-controls__sort {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--color-border);
}
.search-controls__sort-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.search-controls__sort-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  margin: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-button);
  cursor: pointer;
}
.search-controls__sort-option:has(input:checked) {
  border-color: var(--color-primary);
  background: var(--color-primary-soft);
}
.search-controls__sort-option input {
  flex-shrink: 0;
  margin: 0;
}
.search-controls__sort-option strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
}
.search-controls__sort-option small, .search-controls__sort-option .small {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  color: var(--field-muted);
}
.search-controls__facets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.search-controls__facets fieldset {
  min-width: 0;
}
.search-controls__facets .pill-filters {
  gap: 6px;
}
.search-controls__facets .pill-filters button {
  padding: 7px 12px;
}
.search-controls__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 32px;
  margin-top: 24px;
}
.search-controls__length {
  min-width: 0;
}
.search-controls__length legend {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 6px;
}
.search-controls__length legend span {
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  color: var(--field-muted);
}
.search-controls__media {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.search-controls__media label {
  margin: 0;
  font-size: 13px;
  color: var(--field-muted);
}
.search-controls__footer {
  flex-shrink: 0;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px calc(16px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--color-border);
  background: white;
}
.search-controls__footer .btn {
  font-size: 14px;
}

.search-length {
  position: relative;
  height: 32px;
  margin: 0 10px;
}
.search-length__track {
  position: absolute;
  top: 14px;
  height: 4px;
  width: 100%;
  border-radius: 4px;
  background: var(--color-border);
}
.search-length__track span {
  position: absolute;
  left: var(--range-start);
  right: calc(100% - var(--range-end));
  height: 100%;
  background: var(--color-primary);
}
.search-length input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 32px;
  padding: 0;
  margin: 0;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background: transparent;
  pointer-events: none;
}
.search-length input::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 3px solid var(--color-primary);
  border-radius: 50%;
  background: white;
  pointer-events: auto;
  cursor: grab;
}
.search-length input::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border: 3px solid var(--color-primary);
  border-radius: 50%;
  background: white;
  pointer-events: auto;
  cursor: grab;
}
.search-length input::-moz-range-track {
  background: transparent;
}
.search-length input:focus-visible {
  outline: none;
}
.search-length__labels {
  display: flex;
  justify-content: space-between;
  color: var(--field-muted);
  font-size: 12px;
}

@media (min-width: 992px) {
  .search-controls__facets {
    grid-template-columns: 1.15fr 1fr 0.9fr 0.9fr;
    gap: 16px;
  }
  .search-controls__facets fieldset + fieldset {
    padding-left: 16px;
    border-left: 1px solid var(--color-border);
  }
  .search-controls__facets .pill-filters button {
    padding: 7px 10px;
  }
}
@media (max-width: 575px) {
  .search-controls__content {
    padding: 0 16px 16px;
  }
  .search-controls__details {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .search-controls__sort-options,
  .search-controls__facets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .search-controls__sort-option {
    padding: 10px;
    gap: 8px;
  }
  .search-controls__footer {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.search-empty {
  padding: 40px 0 32px;
}
.search-empty__image {
  display: block;
  width: 360px;
  max-width: 100%;
  height: auto;
  margin: 0 auto 24px;
}
.search-empty__title {
  margin-bottom: 8px;
}
.search-empty__message {
  margin-bottom: 4px;
  overflow-wrap: anywhere;
}
.search-empty__hint {
  margin-bottom: 28px;
}
.search-empty__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.search-empty__destinations {
  display: flex;
  justify-content: center;
  gap: 16px;
}
.search-empty .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 575px) {
  .search-empty {
    padding-top: 28px;
  }
  .search-empty__image {
    width: 300px;
    margin-bottom: 20px;
  }
  .search-empty__destinations {
    flex-direction: column;
    width: 100%;
    max-width: 300px;
    gap: 12px;
  }
}
.membership {
  padding-bottom: 2rem;
}
.membership a:not(.btn) {
  color: var(--color-primary);
}
.membership .app-icon {
  flex-shrink: 0;
}

.membership-steps {
  margin: 1rem auto 1.5rem;
  max-width: 580px;
}
.membership-steps ol {
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  margin: 0;
}
.membership-steps li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}
.membership-steps .is-active {
  color: var(--color-primary);
}

.membership-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-circle);
  font-size: var(--font-size-xs);
  font-weight: 600;
}
.is-active .membership-step-number {
  color: var(--color-white);
  border-color: var(--color-primary);
  background: var(--color-primary);
}
.membership-step-number .app-icon {
  font-size: 14px;
}

.membership-heading,
.membership-section-heading {
  text-align: center;
}
.membership-heading p,
.membership-section-heading p {
  color: var(--color-text-muted);
  max-width: 620px;
  margin: 1rem auto 0;
}

.membership-heading {
  margin-bottom: 2.5rem;
}
.membership-heading h1, .membership-heading .h1 {
  font-size: clamp(2rem, 3.4vw, 2.4rem);
  line-height: 1.16;
  letter-spacing: -0.04em;
}
.membership-heading--compact h1, .membership-heading--compact .h1 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.membership-eyebrow {
  display: inline-block;
  color: var(--color-primary);
  font-size: var(--font-size-xs);
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.membership-plans,
.membership-feature-grid {
  display: grid;
  gap: 1.25rem;
}

.membership-plans {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 840px;
  margin: 0 auto;
}

.membership-reassurance {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.65rem 1.5rem;
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  margin: 1.5rem 0 0;
}
.membership-reassurance span {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.membership-features,
.membership-faq,
.membership-first-steps {
  margin-top: 4.5rem;
}

.membership-section-heading {
  margin-bottom: 2rem;
}
.membership-section-heading h2, .membership-section-heading .h2 {
  font-size: clamp(1.4rem, 2.5vw, 1.8rem);
  margin: 0.5rem 0 0;
  letter-spacing: -0.025em;
}

.membership-feature-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.membership-feature,
.membership-next-card {
  padding: 1.5rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
}
.membership-feature h3, .membership-feature .h3,
.membership-next-card h3,
.membership-next-card .h3 {
  font-size: var(--font-size-h6);
  line-height: 1.5;
  margin: 1.25rem 0 0.65rem;
}
.membership-feature p,
.membership-next-card p {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  margin: 0;
}

.membership-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-sm);
  background: var(--color-primary-soft);
  color: var(--color-primary);
  flex-shrink: 0;
  font-size: 1.4rem;
}
.membership-icon--green {
  color: #23644f;
  background: #e8f2ed;
}
.membership-icon--purple {
  color: #67509e;
  background: #f0ecf8;
}

.membership-faq {
  max-width: 760px;
  margin-right: auto;
  margin-left: auto;
}
.membership-faq details {
  border-bottom: 1px solid var(--color-border);
}
.membership-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  list-style: none;
  padding: 1.25rem 0;
  font-weight: 600;
  font-size: var(--font-size-sm);
}
.membership-faq summary::-webkit-details-marker {
  display: none;
}
.membership-faq details[open] summary .app-icon {
  transform: rotate(45deg);
}
.membership-faq p {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  padding-right: 2rem;
  margin-bottom: 1.25rem;
}

.membership-institution {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.75rem;
  border-radius: var(--radius);
  background: var(--color-surface-subtle);
  margin-top: 3.5rem;
}
.membership-institution h2, .membership-institution .h2 {
  font-size: var(--font-size-h6);
  line-height: 1.5;
}
.membership-institution p {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  margin: 0;
}
.membership-institution .btn {
  margin-left: auto;
  white-space: nowrap;
}

.membership-help {
  font-size: var(--font-size-sm);
  text-align: center;
  color: var(--color-text-muted);
  margin: 2rem 0 0;
}

.membership-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2rem;
  align-items: start;
}

.membership-summary,
.membership-payment {
  min-width: 0;
  padding: 2rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
}
.membership-summary h2, .membership-summary .h2,
.membership-payment h2,
.membership-payment .h2 {
  font-size: var(--font-size-h5);
}

.membership-summary {
  background: var(--color-surface-subtle);
}
.membership-summary .membership-plan-top {
  margin-bottom: 1.25rem;
}
.membership-summary .membership-plan-top a {
  font-size: var(--font-size-xs);
}
.membership-summary > p {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.membership-order-lines {
  border-top: 1px solid var(--color-border);
  margin-top: 1.5rem;
  padding-top: 1rem;
}
.membership-order-lines > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  font-size: var(--font-size-sm);
  margin-bottom: 0.75rem;
}
.membership-order-lines .membership-due {
  border-top: 1px solid var(--color-border);
  margin-top: 1rem;
  padding-top: 1rem;
  font-size: var(--font-size-base);
}
.membership-order-lines .membership-due strong {
  font-family: var(--font-family-heading);
  font-size: 1.75rem;
  letter-spacing: -0.035em;
}

.membership .membership-summary-note {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  line-height: 1.7;
}

.membership-included {
  list-style: none;
  padding: 1.25rem 0;
  margin: 1.25rem 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.membership-included li {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: var(--font-size-sm);
  margin: 0.6rem 0;
}
.membership-included .app-icon {
  color: var(--color-primary);
}

.membership-payment-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.membership-payment-heading h2, .membership-payment-heading .h2 {
  margin: 0;
}

.membership-secure {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: var(--color-text-muted);
  font-size: 0.7rem;
}

.membership-account {
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  margin: 0.8rem 0 1.75rem;
  overflow-wrap: anywhere;
}
.membership-account strong {
  color: var(--color-text);
  font-weight: 400;
}

.membership-coupon {
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  margin: 1.25rem 0;
  padding: 1rem 0;
  font-size: var(--font-size-sm);
}
.membership-coupon summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  list-style: none;
}
.membership-coupon summary::-webkit-details-marker {
  display: none;
}
.membership-coupon[open] summary .app-icon {
  transform: rotate(45deg);
}
.membership-coupon [data-coupon-feedback] {
  font-size: var(--font-size-xs);
  margin-top: 0.75rem;
}

.membership-coupon-controls {
  display: flex;
  gap: 0.5rem;
  margin-top: 1rem;
}

.membership-terms,
.membership-stripe-credit {
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  line-height: 1.7;
}

.membership-payment-form .btn-primary {
  min-height: 48px;
}

.membership-stripe-credit {
  text-align: center;
  margin: 1rem 0 0;
}
.membership-stripe-credit strong {
  font-size: 1.1rem;
  letter-spacing: -0.04em;
  color: var(--color-text-dark);
}

.membership-welcome-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.8fr);
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: #f8f6ed;
}

.membership-welcome-message {
  padding: 2.75rem;
}
.membership-welcome-message h1, .membership-welcome-message .h1 {
  font-size: clamp(1.85rem, 3vw, 2.65rem);
  letter-spacing: -0.04em;
  line-height: 1.2;
  margin: 1.25rem 0;
}
.membership-welcome-message p {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  margin-bottom: 1.75rem;
}

.membership-confirmed {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: #23644f;
}

.membership-welcome-art {
  width: 100%;
  height: 100%;
  min-height: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 20% center;
     object-position: 20% center;
}

.membership-unlocked {
  padding: 2rem 0;
  border-bottom: 1px solid var(--color-border);
  text-align: center;
}
.membership-unlocked h2, .membership-unlocked .h2 {
  font-size: var(--font-size-h6);
  margin-bottom: 1.25rem;
}

.membership-unlocked-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem 1.5rem;
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}
.membership-unlocked-list .app-icon {
  color: var(--color-primary);
}

.membership .membership-next-card {
  display: flex;
  flex-direction: column;
  color: var(--color-text);
  transition: border-color 0.18s ease;
}
.membership .membership-next-card:hover {
  text-decoration: none;
  border-color: var(--color-primary);
}
.membership .membership-next-card p {
  flex-grow: 1;
}

.membership-next-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  color: var(--color-primary);
  font-size: var(--font-size-xs);
  font-weight: 600;
  margin-top: 1.5rem;
}

.membership-welcome-receipt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.5rem 1.75rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  margin-top: 2.5rem;
  font-size: var(--font-size-xs);
}
.membership-welcome-receipt p {
  color: var(--color-text-muted);
  margin: 0.5rem 0 0;
}
.membership-welcome-receipt > a {
  flex-shrink: 0;
}

@media (max-width: 991px) {
  .membership-checkout-grid {
    gap: 1.25rem;
  }
  .membership-summary,
  .membership-payment,
  .membership-welcome-message {
    padding: 1.5rem;
  }
}
@media (max-width: 767px) {
  .membership-steps {
    margin-bottom: 2rem;
  }
  .membership-steps li {
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.7rem;
  }
  .membership-heading {
    margin-bottom: 1.75rem;
  }
  .membership-heading p {
    font-size: var(--font-size-sm);
  }
  .membership-plans,
  .membership-checkout-grid,
  .membership-feature-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .membership-features,
  .membership-faq,
  .membership-first-steps {
    margin-top: 3rem;
  }
  .membership-institution {
    flex-wrap: wrap;
    padding: 1.5rem;
  }
  .membership-institution > div {
    flex: 1;
    min-width: 180px;
  }
  .membership-institution .btn {
    width: 100%;
  }
  .membership-welcome-hero {
    grid-template-columns: minmax(0, 1fr);
  }
  .membership-welcome-message {
    padding: 2rem 1.5rem;
  }
  .membership-welcome-message .btn {
    width: 100%;
  }
  .membership-welcome-art {
    height: 130px;
    -o-object-position: center 75%;
       object-position: center 75%;
  }
  .membership-unlocked-list {
    flex-direction: column;
    text-align: left;
    padding: 0 0.5rem;
  }
  .membership-welcome-receipt {
    align-items: flex-start;
    flex-direction: column;
    padding: 1.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .membership .membership-next-card {
    transition: none;
  }
}
.membership-management {
  max-width: 1040px;
  margin-inline: auto;
}

.membership-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 1.5rem;
}

.membership-overview-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}
.membership-overview-details dt {
  font-weight: 400;
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  margin-bottom: 0.35rem;
}
.membership-overview-details dd {
  margin: 0;
}

@media (max-width: 767px) {
  .membership-overview-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 359px) {
  .membership-overview-details {
    grid-template-columns: minmax(0, 1fr);
  }
}
.membership-saved-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 260px));
  align-items: start;
  gap: 24px;
  padding-top: 8px;
}

.membership-card-editor {
  max-width: 840px;
}

@media (max-width: 575px) {
  .membership-saved-cards {
    grid-template-columns: minmax(0, 260px);
  }
}
.membership-confirmation .modal-dialog {
  max-width: 600px;
}
.membership-confirmation .modal-content {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-modal);
  background: var(--color-surface);
  box-shadow: 0 20px 70px rgba(27, 40, 60, 0.14);
}
.membership-confirmation .modal-body {
  padding: 36px 32px 24px;
  text-align: center;
}
.membership-confirmation h2, .membership-confirmation .h2 {
  margin: 24px 0 20px;
}
.membership-confirmation .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.membership-confirmation-icon {
  display: inline-flex;
  width: 72px;
  height: 72px;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-circle);
  background: var(--pastel-mint-surface);
  color: var(--color-success);
}
.membership-confirmation-icon .app-icon {
  font-size: 32px;
}

.membership-confirmation-intro {
  margin: 0 auto;
  max-width: 470px;
  color: var(--color-text-muted);
  line-height: 1.6;
}

.membership-confirmation-details {
  display: grid;
  gap: 18px;
  margin: 28px 0;
  padding: 24px;
  border-radius: var(--radius);
  background: var(--color-surface-subtle);
}
.membership-confirmation-details > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 20px;
}
.membership-confirmation-details dt {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--color-text-muted);
  font-weight: 400;
  text-align: left;
}
.membership-confirmation-details .app-icon {
  flex-shrink: 0;
}
.membership-confirmation-details dd {
  min-width: 0;
  margin: 0;
  text-align: right;
}

.membership-confirmation-footer {
  margin: 18px 0 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

@media (max-width: 575.98px) {
  .membership-confirmation .modal-dialog {
    margin: 16px;
    min-height: calc(100% - 32px);
  }
  .membership-confirmation .modal-body {
    padding: 28px 24px 22px;
  }
  .membership-confirmation h2, .membership-confirmation .h2 {
    margin-top: 20px;
  }
  .membership-confirmation-details {
    padding: 20px;
    font-size: var(--font-size-sm);
  }
  .membership-confirmation-details > div {
    gap: 12px;
  }
  .membership-confirmation-details dt {
    gap: 8px;
  }
}
.checkout-modal .modal-content {
  background: #f3f5f7;
}
.checkout-modal.fade .modal-dialog {
  transform: none;
  transition: opacity 150ms linear;
}
.checkout-modal .checkout-stage {
  height: 100%;
  min-height: 0;
  opacity: 0;
  transition: opacity 180ms ease;
}
.checkout-modal[data-checkout-state=ready] .checkout-stage {
  opacity: 1;
}
.checkout-modal[data-checkout-state=ready] .checkout-loading {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.checkout-modal[data-checkout-state=error] .checkout-loading-spinner {
  display: none;
}
.checkout-modal .checkout-scroll {
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 24px;
}
.checkout-modal .checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, 1fr);
  max-width: 1480px;
  min-height: calc(100dvh - 48px);
  margin: 0 auto;
}
.checkout-modal .checkout-payment {
  min-width: 0;
  background: var(--color-surface);
  border-radius: var(--radius);
  padding: clamp(28px, 3.5vw, 56px);
}
.checkout-modal .checkout-brand {
  margin-bottom: 42px;
}
.checkout-modal .checkout-brand a {
  display: inline-block;
  border-radius: var(--radius-sm);
}
.checkout-modal .checkout-payment-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 36px;
}
.checkout-modal .checkout-payment-heading h1, .checkout-modal .checkout-payment-heading .h1 {
  font-size: clamp(1.5rem, 2.3vw, 2rem);
  letter-spacing: -0.035em;
  margin: 0;
}
.checkout-modal .checkout-payment-heading .membership-account {
  margin: 10px 0 0;
}
.checkout-modal .checkout-security {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding-top: 4px;
  font-size: var(--font-size-xs);
  flex-shrink: 0;
}
.checkout-modal .checkout-security .app-icon {
  margin-top: 3px;
}
.checkout-modal .checkout-security strong,
.checkout-modal .checkout-security small,
.checkout-modal .checkout-security .small {
  display: block;
}
.checkout-modal .checkout-security small, .checkout-modal .checkout-security .small {
  color: var(--color-text-muted);
  margin-top: 4px;
}
.checkout-modal .checkout-card-and-fields {
  display: grid;
  grid-template-columns: minmax(160px, 0.8fr) minmax(0, 1.35fr);
  gap: 28px;
  align-items: start;
}
.checkout-modal .membership-card-fields legend {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.checkout-modal .membership-field:last-child {
  margin-bottom: 0;
}
.checkout-modal .membership-coupon {
  margin: 24px 0 18px;
}
.checkout-modal .membership-card-status,
.checkout-modal .membership-card-errors {
  margin-top: 16px;
  margin-bottom: 0;
}
.checkout-modal .membership-card-status {
  display: block;
  min-height: 1.5em;
}
.checkout-modal .checkout-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.checkout-modal .checkout-actions .btn-primary {
  min-width: 190px;
}
.checkout-modal .membership-stripe-credit {
  text-align: left;
}
.checkout-modal .checkout-summary {
  padding: 64px 44px;
  min-width: 0;
}
.checkout-modal .checkout-summary > h2, .checkout-modal .checkout-summary > .h2 {
  font-size: clamp(1.5rem, 2.3vw, 2rem);
  letter-spacing: -0.035em;
  margin-bottom: 48px;
}
.checkout-modal .checkout-order-item {
  padding: 24px;
  background: var(--color-surface);
  border-radius: var(--radius-sm);
  margin-bottom: 32px;
}
.checkout-modal .checkout-order-item h3, .checkout-modal .checkout-order-item .h3 {
  font-size: var(--font-size-h5);
  margin: 12px 0;
}
.checkout-modal .checkout-order-item p {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  line-height: 1.8;
  margin-bottom: 16px;
}
.checkout-modal .checkout-order-item a {
  font-size: var(--font-size-xs);
}
.checkout-modal .membership-order-lines {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}
.checkout-modal .membership-order-lines > div {
  margin-bottom: 20px;
}
.checkout-modal .membership-order-lines .membership-due {
  margin-top: 28px;
  padding-top: 24px;
}
.checkout-modal .membership-summary-note,
.checkout-modal .checkout-summary-help {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  line-height: 1.8;
}
.checkout-modal .checkout-summary-help {
  margin-top: 36px;
}
.checkout-modal a:not(.btn) {
  color: var(--color-primary);
}
.checkout-modal .checkout-cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 12px;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--color-text-muted) !important;
  font-size: var(--font-size-sm);
  cursor: pointer;
}
.checkout-modal .checkout-cancel:hover {
  color: var(--color-text) !important;
  text-decoration: none;
}
.checkout-modal [aria-busy=true] .checkout-cancel {
  opacity: 0.55;
  cursor: wait;
}
.checkout-modal .checkout-loading {
  position: absolute;
  inset: 0;
  z-index: 3;
  background: #f3f5f7;
  opacity: 1;
  visibility: visible;
  transition: opacity 180ms ease, visibility 0s linear 180ms;
}
.checkout-modal .checkout-loading .checkout-card-preview {
  box-shadow: none;
  background: #e8ecf8;
}
.checkout-modal .checkout-loading .checkout-actions .btn {
  min-width: 190px;
}
.checkout-modal .checkout-loading-status {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 24px;
}
.checkout-modal .checkout-loading-spinner {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  border: 2px solid var(--color-border);
  border-top-color: var(--color-primary);
  border-radius: var(--radius-circle);
  animation: checkout-loading-spin 800ms linear infinite;
}
.checkout-modal .checkout-placeholder {
  background: #edf0f4;
  border-color: transparent;
  box-shadow: none;
  pointer-events: none;
}
.checkout-modal .checkout-placeholder-label {
  display: block;
  margin-bottom: 0.45rem;
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  font-weight: 600;
}
.checkout-modal .checkout-placeholder-text {
  color: transparent !important;
  background: #edf0f4;
  border-radius: 4px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.checkout-modal .checkout-placeholder-link {
  font-size: var(--font-size-xs);
}
.checkout-modal .checkout-placeholder-copy {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  min-height: 5.4em;
}
.checkout-modal .checkout-placeholder-copy > span {
  display: block;
  height: 10px;
  border-radius: var(--radius-sm);
}
.checkout-modal .checkout-placeholder-copy > span:last-child {
  width: 76%;
}
.checkout-modal .checkout-placeholder-copy--short {
  min-height: 3.6em;
}
.checkout-modal .checkout-placeholder-notes {
  display: grid;
  gap: 14px;
  margin-top: 36px;
}
.checkout-modal .checkout-placeholder-notes > span {
  display: block;
  height: 12px;
  border-radius: var(--radius-sm);
}
.checkout-modal .checkout-placeholder-notes > span:nth-child(2) {
  width: 82%;
}
.checkout-modal .checkout-placeholder-notes > span:nth-child(3) {
  width: 65%;
}

@keyframes checkout-loading-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 1099px) {
  .checkout-modal .checkout-layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
  }
  .checkout-modal .checkout-summary {
    padding: 44px 24px;
  }
  .checkout-modal .checkout-card-and-fields {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .checkout-modal .checkout-security {
    display: none;
  }
}
@media (max-width: 767px) {
  .checkout-modal .checkout-scroll {
    padding: 12px;
  }
  .checkout-modal .checkout-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .checkout-modal .checkout-payment {
    padding: 24px 20px;
  }
  .checkout-modal .checkout-brand {
    margin-bottom: 28px;
  }
  .checkout-modal .checkout-payment-heading {
    margin-bottom: 24px;
  }
  .checkout-modal .checkout-card-preview {
    max-width: 240px;
    margin: 0 auto;
    min-height: 150px;
  }
  .checkout-modal .checkout-card-mask {
    font-size: 1rem;
  }
  .checkout-modal .checkout-summary {
    grid-row: 1;
    padding: 20px 12px 28px;
  }
  .checkout-modal .checkout-summary > h2, .checkout-modal .checkout-summary > .h2 {
    font-size: var(--font-size-h5);
    margin-bottom: 20px;
  }
  .checkout-modal .checkout-order-item {
    margin-bottom: 24px;
  }
  .checkout-modal .checkout-summary-help {
    display: none;
  }
  .checkout-modal .checkout-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .checkout-card-preview,
  .checkout-modal.fade .modal-dialog,
  .checkout-modal .checkout-stage,
  .checkout-modal .checkout-loading {
    transition: none;
  }
  .checkout-modal .checkout-loading-spinner {
    animation: none;
  }
}

.mt-6,
.my-6,
.m-6 {
  margin-top: 4rem !important;
}

.mt-7,
.my-7,
.m-7 {
  margin-top: 5rem !important;
}

.mt-8,
.my-8,
.m-8 {
  margin-top: 6rem !important;
}

.mb-6,
.my-6,
.m-6 {
  margin-bottom: 4rem !important;
}

.mb-7,
.my-7,
.m-7 {
  margin-bottom: 5rem !important;
}

.mb-8,
.my-8,
.m-8 {
  margin-bottom: 6rem !important;
}

.ml-6,
.mx-6,
.m-6 {
  margin-left: 4rem !important;
}

.ml-7,
.mx-7,
.m-7 {
  margin-left: 5rem !important;
}

.ml-8,
.mx-8,
.m-8 {
  margin-left: 6rem !important;
}

.mr-6,
.mx-6,
.m-6 {
  margin-right: 4rem !important;
}

.mr-7,
.mx-7,
.m-7 {
  margin-right: 5rem !important;
}

.mr-8,
.mx-8,
.m-8 {
  margin-right: 6rem !important;
}

.ms-6 {
  margin-left: 4rem !important;
}

.me-6 {
  margin-right: 4rem !important;
}

.ms-7 {
  margin-left: 5rem !important;
}

.me-7 {
  margin-right: 5rem !important;
}

.ms-8 {
  margin-left: 6rem !important;
}

.me-8 {
  margin-right: 6rem !important;
}

.pt-6,
.py-6,
.p-6 {
  padding-top: 4rem !important;
}

.pt-7,
.py-7,
.p-7 {
  padding-top: 5rem !important;
}

.pt-8,
.py-8,
.p-8 {
  padding-top: 6rem !important;
}

.pb-6,
.py-6,
.p-6 {
  padding-bottom: 4rem !important;
}

.pb-7,
.py-7,
.p-7 {
  padding-bottom: 5rem !important;
}

.pb-8,
.py-8,
.p-8 {
  padding-bottom: 6rem !important;
}

.pl-6,
.px-6,
.p-6 {
  padding-left: 4rem !important;
}

.pl-7,
.px-7,
.p-7 {
  padding-left: 5rem !important;
}

.pl-8,
.px-8,
.p-8 {
  padding-left: 6rem !important;
}

.pr-6,
.px-6,
.p-6 {
  padding-right: 4rem !important;
}

.pr-7,
.px-7,
.p-7 {
  padding-right: 5rem !important;
}

.pr-8,
.px-8,
.p-8 {
  padding-right: 6rem !important;
}

.ps-6 {
  padding-left: 4rem !important;
}

.pe-6 {
  padding-right: 4rem !important;
}

.ps-7 {
  padding-left: 5rem !important;
}

.pe-7 {
  padding-right: 5rem !important;
}

.ps-8 {
  padding-left: 6rem !important;
}

.pe-8 {
  padding-right: 6rem !important;
}

.bg-grey-darkest {
  background-color: #3c4853;
}

.bg-red-darkest {
  background-color: #500d0b;
}

.bg-orange-darkest {
  background-color: #472503;
}

.bg-yellow-darkest {
  background-color: #544c00;
}

.bg-green-darkest {
  background-color: #0c2b19;
}

.bg-teal-darkest {
  background-color: #123431;
}

.bg-blue-darkest {
  background-color: #092236;
}

.bg-indigo-darkest {
  background-color: #0f142e;
}

.bg-purple-darkest {
  background-color: #200b3e;
}

.bg-pink-darkest {
  background-color: #410419;
}

.bg-grey-darker {
  background-color: #5e7083;
}

.bg-red-darker {
  background-color: #741210;
}

.bg-orange-darker {
  background-color: #7d4006;
}

.bg-yellow-darker {
  background-color: #918300;
}

.bg-green-darker {
  background-color: #1c623a;
}

.bg-teal-darker {
  background-color: #266c66;
}

.bg-blue-darker {
  background-color: #154d7b;
}

.bg-indigo-darker {
  background-color: #273277;
}

.bg-purple-darker {
  background-color: #41177e;
}

.bg-pink-darker {
  background-color: #850832;
}

.bg-grey-dark {
  background-color: #9aa9b7;
}

.bg-red-dark {
  background-color: #c51f1a;
}

.bg-orange-dark {
  background-color: #d9700a;
}

.bg-yellow-dark {
  background-color: #f2da00;
}

.bg-green-dark {
  background-color: #2d995b;
}

.bg-teal-dark {
  background-color: #389d94;
}

.bg-blue-dark {
  background-color: #1f70b4;
}

.bg-indigo-dark {
  background-color: #3c4eb9;
}

.bg-purple-dark {
  background-color: #7836da;
}

.bg-pink-dark {
  background-color: #f44781;
}

.bg-grey-light {
  background-color: #d0d6dd;
}

.bg-red-light {
  background-color: #e9605c;
}

.bg-orange-light {
  background-color: #f8b370;
}

.bg-yellow-light {
  background-color: #fff173;
}

.bg-green-light {
  background-color: #5cd08d;
}

.bg-teal-light {
  background-color: #82d3cb;
}

.bg-blue-light {
  background-color: #71b1e7;
}

.bg-indigo-light {
  background-color: #8c97da;
}

.bg-purple-light {
  background-color: #b28cea;
}

.bg-pink-light {
  background-color: #f99dbc;
}

.bg-grey-lighter {
  background-color: #e7ebee;
}

.bg-red-lighter {
  background-color: #f4afad;
}

.bg-orange-lighter {
  background-color: #fcdab9;
}

.bg-yellow-lighter {
  background-color: #fff7b0;
}

.bg-green-lighter {
  background-color: #a3e4bf;
}

.bg-teal-lighter {
  background-color: #b6e5e1;
}

.bg-blue-lighter {
  background-color: #b2d5f2;
}

.bg-indigo-lighter {
  background-color: #c1c7eb;
}

.bg-purple-lighter {
  background-color: #dac8f5;
}

.bg-pink-lighter {
  background-color: #fdd7e3;
}

.bg-grey-lightest {
  background-color: #f3f5f7;
}

.bg-red-lightest {
  background-color: #fbe3e3;
}

.bg-orange-lightest {
  background-color: #fdecdb;
}

.bg-yellow-lightest {
  background-color: #fffbd4;
}

.bg-green-lightest {
  background-color: #d7f3e3;
}

.bg-teal-lightest {
  background-color: #e0f4f2;
}

.bg-blue-lightest {
  background-color: #deedf9;
}

.bg-indigo-lightest {
  background-color: #e0e3f5;
}

.bg-purple-lightest {
  background-color: #efe7fb;
}

.bg-pink-lightest {
  background-color: #feeaf1;
}

.border-purple-light {
  border-color: #b28cea !important;
}

.border-blue-light {
  border-color: #71b1e7 !important;
}

.border-yellow-light {
  border-color: #fff173 !important;
}

.border-red-light {
  border-color: #e9605c !important;
}

.border-grey-light {
  border-color: #d0d6dd !important;
}

.border-orange-light {
  border-color: #f8b370 !important;
}

.border-indigo-light {
  border-color: #8c97da !important;
}

.border-green-light {
  border-color: #5cd08d !important;
}

.border-teal-light {
  border-color: #82d3cb !important;
}

.border-pink-light {
  border-color: #f99dbc !important;
}

.absolute-top-right {
  position: absolute;
  top: 0.65em;
  right: 1em;
}

.absolute-top-left {
  position: absolute;
  top: 0.65em;
  left: 1em;
}

.absolute-bottom-right {
  position: absolute;
  bottom: 0.65em;
  right: 1em;
}

.absolute-bottom-left {
  position: absolute;
  bottom: 0.65em;
  left: 1em;
}

.absolute-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.flex-center {
  justify-content: center !important;
  align-items: center !important;
}

.d-apart {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.flex-grow {
  flex-grow: 1;
}

.h-100vh {
  height: 100vh;
}

.z-0 {
  z-index: 0;
}

.z-10 {
  z-index: 10;
}

.border-1x {
  border-width: 3.5px !important;
}

.border-2x {
  border-width: 5px !important;
}

.border-3x {
  border-width: 7px !important;
}

.border-pill {
  border-radius: 200px;
}

.border-y {
  border-top: 1px solid var(--color-border) !important;
  border-bottom: 1px solid var(--color-border) !important;
}

.list-style-none li,
.list-flat li {
  list-style-type: none;
}

.list-flat {
  padding: 0;
  margin: 0;
}

small .tiny {
  font-size: 0.75em;
}

.noselect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.bg-align-center {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.bg-align-top {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
}

.bg-align-right {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right;
}

.bg-align-left {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left;
}

a.link-inherit,
a.link-none,
a.link-blue,
a.link-teal {
  color: inherit;
}

a.link-none:hover,
a.link-blue:hover,
a.link-teal:hover {
  text-decoration: none;
  color: inherit;
}

a.link-teal {
  color: #4dc0b5;
}

a.link-teal:hover {
  color: #39a197;
}

a.link-blue {
  color: #3490dc;
}

a.link-blue:hover {
  color: #2176bd;
}

.opacity-2 {
  opacity: 0.2;
}

.opacity-4 {
  opacity: 0.4;
}

.opacity-6 {
  opacity: 0.6;
}

.opacity-8 {
  opacity: 0.8;
}

.show-on-hover {
  opacity: 0;
}

.show-on-hover:hover {
  opacity: 1;
}

.t-2,
a.link-blue,
a.link-teal,
.show-on-hover,
.hover-shadow {
  transition: 0.2s;
}

.overlay,
.overlay-light,
.overlay-darkest,
.overlay-dark,
.overlay-lightest {
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.6;
  width: 100%;
  height: 100%;
}

.overlay-grey {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #b8c2cc;
  opacity: 0.9;
}

.overlay-red {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #e3342f;
  opacity: 0.86;
}

.overlay-orange {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f6993f;
  opacity: 0.9;
}

.overlay-yellow {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ffed4a;
  opacity: 0.9;
}

.overlay-green {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #38c172;
  opacity: 0.9;
}

.overlay-teal {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #4dc0b5;
  opacity: 0.9;
}

.overlay-blue {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #3490dc;
  opacity: 0.9;
}

.overlay-indigo {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #6574cd;
  opacity: 0.9;
}

.overlay-purple {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #9561e2;
  opacity: 0.9;
}

.overlay-pink {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f66d9b;
  opacity: 0.9;
}

.overlay-dark {
  background: #000;
  opacity: 0.4;
}

.overlay-darkest {
  background: #000;
  opacity: 0.75;
}

.overlay-light {
  background: #fff;
  opacity: 0.4;
}

.overlay-lightest {
  background: #fff;
  opacity: 0.86;
}

.custom-scroll::-webkit-scrollbar {
  width: 1em;
  height: 0.5em;
}

.custom-scroll::-webkit-scrollbar-track {
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 0.2em;
}

.custom-scroll::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 0.2em;
}

.custom-scroll::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.4);
}

.alert-grey {
  color: #5e7083;
  background-color: #f3f5f7;
  border-color: #d0d6dd;
}

.alert-red {
  color: #c51f1a;
  background-color: #fbe3e3;
  border-color: #f4afad;
}

.alert-orange {
  color: #d9700a;
  background-color: #fdecdb;
  border-color: #fcdab9;
}

.alert-yellow {
  color: #918300;
  background-color: #fffbd4;
  border-color: #f2da00;
}

.alert-green {
  color: #2d995b;
  background-color: #d7f3e3;
  border-color: #a3e4bf;
}

.alert-teal {
  color: #389d94;
  background-color: #e0f4f2;
  border-color: #b6e5e1;
}

.alert-blue {
  color: #1f70b4;
  background-color: #deedf9;
  border-color: #b2d5f2;
}

.alert-indigo {
  color: #3c4eb9;
  background-color: #e0e3f5;
  border-color: #c1c7eb;
}

.alert-purple {
  color: #7836da;
  background-color: #efe7fb;
  border-color: #dac8f5;
}

.alert-pink {
  color: #f44781;
  background-color: #feeaf1;
  border-color: #fdd7e3;
}

select:focus,
textarea:focus,
input:focus,
a:focus,
.btn:focus {
  outline: none;
  box-shadow: none !important;
}

.btn-grey {
  color: #fff !important;
  background-color: #9aa9b7;
  border-color: #9aa9b7;
}

.btn-grey:hover {
  color: #fff !important;
  background-color: #8999aa;
  border-color: #8999aa;
}

.btn-grey:active {
  background-color: #7d8fa1;
  border-color: #7d8fa1;
}

.btn-red {
  color: #fff !important;
  background-color: #e3342f;
  border-color: #e3342f;
}

.btn-red:hover {
  color: #fff !important;
  background-color: #c51f1a;
  border-color: #c51f1a;
}

.btn-red:active {
  background-color: #b31c18;
  border-color: #b31c18;
}

.btn-orange {
  color: #fff !important;
  background-color: #f6993f;
  border-color: #f6993f;
}

.btn-orange:hover {
  color: #fff !important;
  background-color: #d9700a;
  border-color: #d9700a;
}

.btn-orange:active {
  background-color: #c66609;
  border-color: #c66609;
}

.btn-yellow {
  color: #544c00;
  background-color: #f2da00;
  border-color: #f2da00;
}

.btn-yellow:hover {
  color: #fff !important;
  background-color: #d4bf00;
  border-color: #d4bf00;
}

.btn-yellow:active {
  background-color: #bfac00;
  border-color: #bfac00;
}

.btn-green {
  color: #fff !important;
  background-color: #38c172;
  border-color: #38c172;
}

.btn-green:hover {
  color: #fff !important;
  background-color: #2d995b;
  border-color: #2d995b;
}

.btn-green:active {
  background-color: #288a51;
  border-color: #288a51;
}

.btn-teal {
  color: #fff !important;
  background-color: #4dc0b5;
  border-color: #4dc0b5;
}

.btn-teal:hover {
  color: #fff !important;
  background-color: #389d94;
  border-color: #389d94;
}

.btn-teal:active {
  background-color: #328e85;
  border-color: #328e85;
}

.btn-blue {
  color: #fff !important;
  background-color: #3490dc;
  border-color: #3490dc;
}

.btn-blue:hover {
  color: #fff !important;
  background-color: #1f70b4;
  border-color: #1f70b4;
}

.btn-blue:active {
  background-color: #1c66a2;
  border-color: #1c66a2;
}

.btn-indigo {
  color: #fff !important;
  background-color: #6574cd;
  border-color: #6574cd;
}

.btn-indigo:hover {
  color: #fff !important;
  background-color: #3c4eb9;
  border-color: #3c4eb9;
}

.btn-indigo:active {
  background-color: #3748a9;
  border-color: #3748a9;
}

.btn-purple {
  color: #fff !important;
  background-color: #9561e2;
  border-color: #9561e2;
}

.btn-purple:hover {
  color: #fff !important;
  background-color: #7836da;
  border-color: #7836da;
}

.btn-purple:active {
  background-color: #6d27d5;
  border-color: #6d27d5;
}

.btn-pink {
  color: #fff !important;
  background-color: #f44781;
  border-color: #f44781;
}

.btn-pink:hover {
  color: #fff !important;
  background-color: #f22a6d;
  border-color: #f22a6d;
}

.btn-pink:active {
  background-color: #ee0f5a;
  border-color: #ee0f5a;
}

.btn-grey-outline {
  color: #9aa9b7;
  background-color: transparent;
  border-color: #9aa9b7;
}

.btn-grey-outline:hover {
  color: #fff !important;
  background-color: #9aa9b7;
  border-color: #9aa9b7;
}

.btn-grey-outline:active {
  color: #fff !important;
  background-color: #8394a6;
  border-color: #8394a6;
}

.btn-red-outline {
  color: #e3342f;
  background-color: transparent;
  border-color: #e3342f;
}

.btn-red-outline:hover {
  color: #fff !important;
  background-color: #e3342f;
  border-color: #e3342f;
}

.btn-red-outline:active {
  color: #fff !important;
  background-color: #c51f1a;
  border-color: #c51f1a;
}

.btn-orange-outline {
  color: #f6993f;
  background-color: transparent;
  border-color: #f6993f;
}

.btn-orange-outline:hover {
  color: #fff !important;
  background-color: #f6993f;
  border-color: #f6993f;
}

.btn-orange-outline:active {
  color: #fff !important;
  background-color: #d9700a;
  border-color: #d9700a;
}

.btn-yellow-outline {
  color: #f2da00;
  background-color: transparent;
  border-color: #f2da00;
}

.btn-yellow-outline:hover {
  color: #544c00;
  background-color: #f2da00;
  border-color: #f2da00;
}

.btn-yellow-outline:active {
  color: #544c00;
  background-color: #cab500;
  border-color: #cab500;
}

.btn-green-outline {
  color: #38c172;
  background-color: transparent;
  border-color: #38c172;
}

.btn-green-outline:hover {
  color: #fff !important;
  background-color: #38c172;
  border-color: #38c172;
}

.btn-green-outline:active {
  color: #fff !important;
  background-color: #2d995b;
  border-color: #2d995b;
}

.btn-teal-outline {
  color: #4dc0b5;
  background-color: transparent;
  border-color: #4dc0b5;
}

.btn-teal-outline:hover {
  color: #fff !important;
  background-color: #4dc0b5;
  border-color: #4dc0b5;
}

.btn-teal-outline:active {
  color: #fff !important;
  background-color: #389d94;
  border-color: #389d94;
}

.btn-blue-outline {
  color: #3490dc;
  background-color: transparent;
  border-color: #3490dc;
}

.btn-blue-outline:hover {
  color: #fff !important;
  background-color: #3490dc;
  border-color: #3490dc;
}

.btn-blue-outline:active {
  color: #fff !important;
  background-color: #1f70b4;
  border-color: #1f70b4;
}

.btn-indigo-outline {
  color: #6574cd;
  background-color: transparent;
  border-color: #6574cd;
}

.btn-indigo-outline:hover {
  color: #fff !important;
  background-color: #6574cd;
  border-color: #6574cd;
}

.btn-indigo-outline:active {
  color: #fff !important;
  background-color: #3c4eb9;
  border-color: #3c4eb9;
}

.btn-purple-outline {
  color: #9561e2;
  background-color: transparent;
  border-color: #9561e2;
}

.btn-purple-outline:hover {
  color: #fff !important;
  background-color: #9561e2;
  border-color: #9561e2;
}

.btn-purple-outline:active {
  color: #fff !important;
  background-color: #7836da;
  border-color: #7836da;
}

.btn-pink-outline {
  color: #f66d9b;
  background-color: transparent;
  border-color: #f44781;
}

.btn-pink-outline:hover {
  color: #fff !important;
  background-color: #f44781;
  border-color: #f44781;
}

.btn-pink-outline:active {
  color: #fff !important;
  background-color: #f12066;
  border-color: #f12066;
}

.btn-yellow-outline {
  color: #dec800;
  border-color: #dec800;
}

.btn-wide {
  padding: 0.375rem 1.5rem !important;
}

:root {
  --radius: 2rem;
  --radius-sm: 0.75rem;
  --radius-pill: 100px;
  --radius-circle: 50%;
  --radius-button: 0.75rem;
  --radius-input: 0.75rem;
  --radius-modal: var(--radius);
  --radius-dropdown: 9px;
  --field-background: #f8f9fb;
  --field-border: #dfe5ed;
  --field-text: #273244;
  --field-muted: #697386;
  --field-disabled-background: #edf0f4;
  --field-min-height: 44px;
  --field-padding-y: 11px;
  --field-padding-x: 14px;
  --field-font-size: var(--font-size-sm);
  --color-primary: #0055fe;
  --color-primary-rgb: 0, 85, 254;
  --color-primary-hover: #004eea;
  --color-primary-active: #004bdf;
  --color-primary-disabled: #1e69ff;
  --color-primary-soft: #eaf1ff;
  --color-link-hover: #004ce5;
  --color-default-button-hover: #0050ef;
  --color-text: #212529;
  --color-text-muted: #6c757d;
  --color-text-dark: #343a40;
  --color-surface: #fff;
  --color-surface-subtle: #f8f9fa;
  --color-surface-dark: #343a40;
  --color-border: #dee2e6;
  --color-dropdown-border: #e6eaf0;
  --color-white: #fff;
  --color-black: #000;
  --pastel-sky-surface: #e9f2ff;
  --pastel-sky-accent: #cfe3ff;
  --pastel-sky-accent-hover: #c3d8f5;
  --pastel-sky-border: #d8e8ff;
  --pastel-sky-ink: #566478;
  --pastel-sky-action: #335586;
  --pastel-sky-action-hover: #2c4a73;
  --pastel-cream-surface: #faf5e8;
  --pastel-cream-accent: #f3e8cc;
  --pastel-cream-accent-hover: #e9ddc1;
  --pastel-cream-border: #f5ecd5;
  --pastel-cream-ink: #60656a;
  --pastel-cream-action: #726440;
  --pastel-cream-action-hover: #625637;
  --pastel-mint-surface: #e9f5f2;
  --pastel-mint-accent: #cfe9e1;
  --pastel-mint-accent-hover: #c4dfd7;
  --pastel-mint-border: #d8ede6;
  --pastel-mint-ink: #566570;
  --pastel-mint-action: #49675e;
  --pastel-mint-action-hover: #3f5850;
  --pastel-lavender-surface: #efedfe;
  --pastel-lavender-accent: #dcd8fc;
  --pastel-lavender-accent-hover: #d0cbf2;
  --pastel-lavender-border: #e2dffd;
  --pastel-lavender-ink: #5a6078;
  --pastel-lavender-action: #423982;
  --pastel-lavender-action-hover: #393270;
  --pastel-peach-surface: #fcf0e7;
  --pastel-peach-accent: #f8ddca;
  --pastel-peach-accent-hover: #eed2bf;
  --pastel-peach-border: #f9e3d4;
  --pastel-peach-ink: #62626a;
  --pastel-peach-action: #79553b;
  --pastel-peach-action-hover: #684933;
  --pastel-rose-surface: #f9ecf2;
  --pastel-rose-accent: #f2d5e1;
  --pastel-rose-accent-hover: #e8c9d6;
  --pastel-rose-border: #f4dde6;
  --pastel-rose-ink: #606070;
  --pastel-rose-action: #714557;
  --pastel-rose-action-hover: #613c4b;
  --pastel-aqua-surface: #e9f5f8;
  --pastel-aqua-accent: #cde8ef;
  --pastel-aqua-accent-hover: #c2dee5;
  --pastel-aqua-border: #d6ecf2;
  --pastel-aqua-ink: #556574;
  --pastel-aqua-action: #44656d;
  --pastel-aqua-action-hover: #3a565e;
  --pastel-butter-surface: #faf7e4;
  --pastel-butter-accent: #f3edc4;
  --pastel-butter-accent-hover: #e9e3b9;
  --pastel-butter-border: #f5f0cf;
  --pastel-butter-ink: #606668;
  --pastel-butter-action: #726b3e;
  --pastel-butter-action-hover: #615c35;
  --pastel-sage-surface: #eff4e8;
  --pastel-sage-accent: #dce7cb;
  --pastel-sage-accent-hover: #d2ddc1;
  --pastel-sage-border: #e2ebd4;
  --pastel-sage-ink: #5a656a;
  --pastel-sage-action: #5a6548;
  --pastel-sage-action-hover: #4d563e;
  --pastel-lilac-surface: #f5edf8;
  --pastel-lilac-accent: #e9d8f0;
  --pastel-lilac-accent-hover: #decde6;
  --pastel-lilac-border: #eddff3;
  --pastel-lilac-ink: #5d6074;
  --pastel-lilac-action: #63496d;
  --pastel-lilac-action-hover: #553f5e;
  --pastel-periwinkle-surface: #ecf1fb;
  --pastel-periwinkle-accent: #d5dff5;
  --pastel-periwinkle-accent-hover: #c9d4eb;
  --pastel-periwinkle-border: #dde5f7;
  --pastel-periwinkle-ink: #586276;
  --pastel-periwinkle-action: #425275;
  --pastel-periwinkle-action-hover: #394765;
  --pastel-terracotta-surface: #f7efeb;
  --pastel-terracotta-accent: #eedbd2;
  --pastel-terracotta-accent-hover: #e4d0c7;
  --pastel-terracotta-border: #f1e1da;
  --pastel-terracotta-ink: #5f616c;
  --pastel-terracotta-action: #6c5347;
  --pastel-terracotta-action-hover: #5c473d;
  --color-success: #28a745;
  --color-danger: #dc3545;
  --color-warning: #ffc107;
  --color-info: #17a2b8;
  --color-secondary: #6c757d;
  --color-grey: #b8c2cc;
  --color-red: #e3342f;
  --color-orange: #f6993f;
  --color-yellow: #ffed4a;
  --color-green: #38c172;
  --color-teal: #4dc0b5;
  --color-blue: #3490dc;
  --color-indigo: #6574cd;
  --color-purple: #9561e2;
  --color-pink: #f66d9b;
  --font-family-body: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  --font-family-heading: "Poppins", sans-serif;
  --font-family-serif: Georgia, Cambria, "Times New Roman", Times, serif;
  --font-size-base: 1rem;
  --font-size-tiny: 0.7rem;
  --font-size-xs: 0.8rem;
  --font-size-sm: 0.875rem;
  --font-size-lg: 1.25rem;
  --font-size-xl: 1.5rem;
  --font-size-h1: 2.75rem;
  --font-size-h1-utility: 2.5rem;
  --font-size-h2: 2rem;
  --font-size-h3: 1.75rem;
  --font-size-h4: 1.5rem;
  --font-size-h5: 1.25rem;
  --font-size-h6: 1rem;
  --font-size-small: 80%;
  --font-size-blog: 1.15em;
  --line-height-body: 1.6;
  --line-height-heading: 1.4;
  --font-weight-heading: 600;
  --letter-spacing-body: 0.025em;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 3rem;
  --shadow: 0 5px 12px rgba(0, 0, 0, 0.09);
  --shadow-light: 0 0 1rem rgba(0, 0, 0, 0.085);
  --shadow-dark: 0 5px 30px rgba(0, 0, 0, 0.25);
  --shadow-dropdown: 0 8px 24px rgba(26, 48, 85, 0.1);
}

body {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-body);
  color: var(--color-text);
  background-color: var(--color-surface);
}

h1,
.h1 {
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-heading);
  line-height: var(--line-height-heading);
  font-size: var(--font-size-h1);
}

h2,
.h2 {
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-heading);
  line-height: var(--line-height-heading);
  font-size: var(--font-size-h2);
}

h3,
.h3 {
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-heading);
  line-height: var(--line-height-heading);
  font-size: var(--font-size-h3);
}

h4,
.h4 {
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-heading);
  line-height: var(--line-height-heading);
  font-size: var(--font-size-h4);
}

h5,
.h5 {
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-heading);
  line-height: var(--line-height-heading);
  font-size: var(--font-size-h5);
}

h6,
.h6 {
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-heading);
  line-height: var(--line-height-heading);
  font-size: var(--font-size-h6);
}

.h1 {
  font-size: var(--font-size-h1-utility);
}

.font-serif {
  font-family: var(--font-family-serif);
}

.blog-post {
  font-size: var(--font-size-blog);
}

small,
.small {
  font-size: var(--font-size-small);
}

.smaller {
  font-size: var(--font-size-tiny);
}

.lead {
  font-size: var(--font-size-lg);
}

.btn,
.form-control,
.form-select,
.dropdown-menu,
.input-group-text {
  font-size: var(--font-size-base);
}

.btn-xs {
  font-size: var(--font-size-xs);
  padding: 0.1rem 0.4rem;
  line-height: 1.5;
}

.btn-sm,
.btn-group-sm > .btn,
.form-control-sm,
.form-select-sm,
.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
  font-size: var(--font-size-sm);
}

.btn-lg,
.btn-group-lg > .btn,
.form-control-lg,
.form-select-lg,
.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
  font-size: var(--font-size-lg);
}

.btn-xl {
  font-size: var(--font-size-xl);
  padding: 0.5rem 1.5rem;
  line-height: 1.5;
}

.bg-grey {
  background-color: var(--color-grey);
}

.text-grey {
  color: var(--color-grey);
}

.border-grey {
  border-color: var(--color-grey) !important;
}

.bg-red {
  background-color: var(--color-red);
}

.text-red {
  color: var(--color-red);
}

.border-red {
  border-color: var(--color-red) !important;
}

.bg-orange {
  background-color: var(--color-orange);
}

.text-orange {
  color: var(--color-orange);
}

.border-orange {
  border-color: var(--color-orange) !important;
}

.bg-yellow {
  background-color: var(--color-yellow);
}

.text-yellow {
  color: var(--color-yellow);
}

.border-yellow {
  border-color: var(--color-yellow) !important;
}

.bg-green {
  background-color: var(--color-green);
}

.text-green {
  color: var(--color-green);
}

.border-green {
  border-color: var(--color-green) !important;
}

.bg-teal {
  background-color: var(--color-teal);
}

.text-teal {
  color: var(--color-teal);
}

.border-teal {
  border-color: var(--color-teal) !important;
}

.bg-blue {
  background-color: var(--color-blue);
}

.text-blue {
  color: var(--color-blue);
}

.border-blue {
  border-color: var(--color-blue) !important;
}

.bg-indigo {
  background-color: var(--color-indigo);
}

.text-indigo {
  color: var(--color-indigo);
}

.border-indigo {
  border-color: var(--color-indigo) !important;
}

.bg-purple {
  background-color: var(--color-purple);
}

.text-purple {
  color: var(--color-purple);
}

.border-purple {
  border-color: var(--color-purple) !important;
}

.bg-pink {
  background-color: var(--color-pink);
}

.text-pink {
  color: var(--color-pink);
}

.border-pink {
  border-color: var(--color-pink) !important;
}

.text-grey {
  color: var(--color-grey) !important;
}

.text-muted {
  color: var(--color-text-muted) !important;
}

.text-dark {
  color: var(--color-text-dark) !important;
}

.text-white {
  color: var(--color-white) !important;
}

.bg-dark {
  background-color: var(--color-surface-dark) !important;
}

.bg-white {
  background-color: var(--color-white) !important;
}

.bg-light {
  background-color: var(--color-surface-subtle) !important;
}

.border {
  border-color: var(--color-border) !important;
}

.border-top {
  border-top-color: var(--color-border) !important;
}

.border-right {
  border-right-color: var(--color-border) !important;
}

.border-bottom {
  border-bottom-color: var(--color-border) !important;
}

.border-left {
  border-left-color: var(--color-border) !important;
}

.border-start {
  border-left-color: var(--color-border) !important;
}

.border-end {
  border-right-color: var(--color-border) !important;
}

.border-white {
  border-color: var(--color-white) !important;
}

.shadow {
  box-shadow: var(--shadow) !important;
}

.shadow-light,
.shadow-center,
.hover-shadow:hover {
  box-shadow: var(--shadow-light) !important;
}

.shadow-dark,
.hover-shadow-dark:hover {
  box-shadow: var(--shadow-dark);
}

.gap-1 {
  gap: var(--space-1);
}

.gap-2 {
  gap: var(--space-2);
}

.gap-3 {
  gap: var(--space-3);
}

.gap-4 {
  gap: var(--space-4);
}

.gap-5 {
  gap: var(--space-5);
}

.text-success {
  color: var(--color-success) !important;
}

.bg-success {
  background-color: var(--color-success) !important;
}

.border-success {
  border-color: var(--color-success) !important;
}

.text-danger {
  color: var(--color-danger) !important;
}

.bg-danger {
  background-color: var(--color-danger) !important;
}

.border-danger {
  border-color: var(--color-danger) !important;
}

.text-warning {
  color: var(--color-warning) !important;
}

.bg-warning {
  background-color: var(--color-warning) !important;
}

.border-warning {
  border-color: var(--color-warning) !important;
}

.text-info {
  color: var(--color-info) !important;
}

.bg-info {
  background-color: var(--color-info) !important;
}

.border-info {
  border-color: var(--color-info) !important;
}

.text-secondary {
  color: var(--color-secondary) !important;
}

.bg-secondary {
  background-color: var(--color-secondary) !important;
}

.border-secondary {
  border-color: var(--color-secondary) !important;
}

.border-primary {
  border-color: var(--color-primary) !important;
}

a.text-primary:hover,
a.text-primary:focus {
  color: var(--color-primary-hover) !important;
}

a.bg-primary:hover,
a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: var(--color-primary-hover) !important;
}

.btn-outline-primary {
  color: var(--color-primary);
  border-color: var(--color-primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
  color: var(--color-white);
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.btn-outline-primary:disabled,
.btn-outline-primary.disabled {
  color: var(--color-primary);
}

.page-item.active .page-link {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.page-link {
  color: var(--color-primary);
}

.page-link:hover {
  color: var(--color-link-hover);
}

:root {
  --icon-stroke-width: 1.5;
}

.app-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  vertical-align: -0.125em;
  font-style: normal;
  flex-shrink: 0;
}
.app-icon > svg {
  display: block;
  width: 100%;
  height: 100%;
  stroke-width: var(--icon-stroke-width);
  pointer-events: none;
}
.app-icon.icon-filled > svg {
  fill: currentColor;
}

.icon-weight-thin {
  --icon-stroke-width: 1;
}

.icon-weight-light {
  --icon-stroke-width: 1.5;
}

.icon-weight-regular {
  --icon-stroke-width: 2;
}

.icon-weight-bold {
  --icon-stroke-width: 2.5;
}

.icon-size-xs {
  font-size: 0.75em;
}

.icon-size-sm {
  font-size: 0.875em;
}

.icon-size-lg {
  font-size: 1.333333em;
}

.icon-size-xl {
  font-size: 1.5em;
}

.icon-size-1x {
  font-size: 1em;
}

.icon-size-2x {
  font-size: 2em;
}

.icon-size-3x {
  font-size: 3em;
}

.icon-size-4x {
  font-size: 4em;
}

.icon-size-5x {
  font-size: 5em;
}

.icon-size-6x {
  font-size: 6em;
}

.icon-size-7x {
  font-size: 7em;
}

.icon-size-8x {
  font-size: 8em;
}

.icon-size-9x {
  font-size: 9em;
}

.icon-size-10x {
  font-size: 10em;
}

.icon-fw {
  width: 1.25em;
  text-align: center;
}

.icon-flip-horizontal {
  transform: scaleX(-1);
}

.form-control,
.form-select,
.pianolit-input,
.custom-file-label,
.input-group-text,
.admin-text-improve-options select {
  min-height: var(--field-min-height);
  padding: var(--field-padding-y) var(--field-padding-x);
  border: 1px solid var(--field-border);
  border-radius: var(--radius-input);
  background-color: var(--field-background);
  color: var(--field-text);
  font-family: var(--font-family-body);
  font-size: var(--field-font-size);
  line-height: 1.5;
  box-shadow: none;
  transition: border-color 0.18s ease;
}
.form-control::-moz-placeholder, .form-select::-moz-placeholder, .pianolit-input::-moz-placeholder, .custom-file-label::-moz-placeholder, .input-group-text::-moz-placeholder, .admin-text-improve-options select::-moz-placeholder {
  color: var(--field-muted);
  opacity: 1;
}
.form-control::placeholder,
.form-select::placeholder,
.pianolit-input::placeholder,
.custom-file-label::placeholder,
.input-group-text::placeholder,
.admin-text-improve-options select::placeholder {
  color: var(--field-muted);
  opacity: 1;
}
.form-control:focus,
.form-select:focus,
.pianolit-input:focus,
.custom-file-label:focus,
.input-group-text:focus,
.admin-text-improve-options select:focus {
  border-color: var(--field-muted);
  background-color: var(--field-background);
  color: var(--field-text);
  outline: none;
  box-shadow: none;
}
.form-control:disabled, .form-control[disabled],
.form-select:disabled,
.form-select[disabled],
.pianolit-input:disabled,
.pianolit-input[disabled],
.custom-file-label:disabled,
.custom-file-label[disabled],
.input-group-text:disabled,
.input-group-text[disabled],
.admin-text-improve-options select:disabled,
.admin-text-improve-options select[disabled] {
  background-color: var(--field-disabled-background);
  color: var(--field-muted);
}
.form-control.is-invalid, .was-validated .form-control:invalid,
.form-select.is-invalid,
.was-validated .form-select:invalid,
.pianolit-input.is-invalid,
.was-validated .pianolit-input:invalid,
.custom-file-label.is-invalid,
.was-validated .custom-file-label:invalid,
.input-group-text.is-invalid,
.was-validated .input-group-text:invalid,
.admin-text-improve-options select.is-invalid,
.was-validated .admin-text-improve-options select:invalid {
  border-color: var(--color-danger);
}
.form-control.is-invalid:focus, .was-validated .form-control:invalid:focus,
.form-select.is-invalid:focus,
.was-validated .form-select:invalid:focus,
.pianolit-input.is-invalid:focus,
.was-validated .pianolit-input:invalid:focus,
.custom-file-label.is-invalid:focus,
.was-validated .custom-file-label:invalid:focus,
.input-group-text.is-invalid:focus,
.was-validated .input-group-text:invalid:focus,
.admin-text-improve-options select.is-invalid:focus,
.was-validated .admin-text-improve-options select:invalid:focus {
  box-shadow: none;
}
.form-control.is-valid, .was-validated .form-control:valid,
.form-select.is-valid,
.was-validated .form-select:valid,
.pianolit-input.is-valid,
.was-validated .pianolit-input:valid,
.custom-file-label.is-valid,
.was-validated .custom-file-label:valid,
.input-group-text.is-valid,
.was-validated .input-group-text:valid,
.admin-text-improve-options select.is-valid,
.was-validated .admin-text-improve-options select:valid {
  border-color: var(--color-success);
}
.form-control.is-valid:focus, .was-validated .form-control:valid:focus,
.form-select.is-valid:focus,
.was-validated .form-select:valid:focus,
.pianolit-input.is-valid:focus,
.was-validated .pianolit-input:valid:focus,
.custom-file-label.is-valid:focus,
.was-validated .custom-file-label:valid:focus,
.input-group-text.is-valid:focus,
.was-validated .input-group-text:valid:focus,
.admin-text-improve-options select.is-valid:focus,
.was-validated .admin-text-improve-options select:valid:focus {
  box-shadow: none;
}

.form-control-sm,
.form-select-sm,
.input-group-sm {
  --field-min-height: 31px;
  --field-padding-y: 4px;
}

.form-control-lg,
.form-select-lg,
.input-group-lg {
  --field-min-height: 56px;
  --field-font-size: var(--font-size-lg);
}

textarea.form-control {
  resize: vertical;
}

select.form-control,
select.form-select,
.admin-text-improve-options select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23697386' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--field-padding-x) center;
  background-size: 16px 16px;
}
select.form-control:not([multiple]):not([size]), select.form-control[size="1"],
select.form-select:not([multiple]):not([size]),
select.form-select[size="1"],
.admin-text-improve-options select:not([multiple]):not([size]),
.admin-text-improve-options select[size="1"] {
  height: auto;
}
select.form-control[multiple], select.form-control[size]:not([size="1"]),
select.form-select[multiple],
select.form-select[size]:not([size="1"]),
.admin-text-improve-options select[multiple],
.admin-text-improve-options select[size]:not([size="1"]) {
  padding-right: var(--field-padding-x);
  background-image: none;
}

.input-group > .form-control,
.input-group > .form-select,
.input-group > .input-group-text,
.input-group > .input-group-prepend > .form-control,
.input-group > .input-group-prepend > .form-select,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append > .form-control,
.input-group > .input-group-append > .form-select,
.input-group > .input-group-append > .input-group-text {
  min-height: var(--field-min-height);
  padding: var(--field-padding-y) var(--field-padding-x);
  font-size: var(--field-font-size);
  border-radius: 0;
}
.input-group > select.form-control,
.input-group > select.form-select,
.input-group > .input-group-prepend > select,
.input-group > .input-group-append > select {
  padding-right: 40px;
}
.input-group > :first-child:not(.input-group-append),
.input-group > .input-group-prepend:first-child > :first-child {
  border-top-left-radius: var(--radius-input);
  border-bottom-left-radius: var(--radius-input);
}
.input-group > :last-child:not(.input-group-prepend),
.input-group > .input-group-append:last-child > :last-child,
.input-group > .custom-file:last-child .custom-file-label,
.input-group > .custom-file:last-child .custom-file-label::after {
  border-top-right-radius: var(--radius-input);
  border-bottom-right-radius: var(--radius-input);
}
.input-group > .input-group-prepend + .form-control,
.input-group > .input-group-prepend + .form-select,
.input-group > .input-group-prepend + .custom-file .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-control:not(:last-child),
.input-group > .form-select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .btn,
.input-group > .input-group-prepend > .btn,
.input-group > .input-group-append > .btn {
  font-size: var(--field-font-size);
  border-radius: 0 !important;
}
.input-group > .btn:first-child,
.input-group > .input-group-prepend:first-child > .btn:first-child {
  border-top-left-radius: var(--radius-input) !important;
  border-bottom-left-radius: var(--radius-input) !important;
}
.input-group > .btn:last-child,
.input-group > .input-group-append:last-child > .btn:last-child {
  border-top-right-radius: var(--radius-input) !important;
  border-bottom-right-radius: var(--radius-input) !important;
}

.input-group-text {
  background-color: var(--field-disabled-background);
}

.custom-file {
  min-height: var(--field-min-height);
  height: calc(1.5em + 2 * var(--field-padding-y) + 2px);
  font-size: var(--field-font-size);
}

.custom-file-label {
  padding-right: 100px;
  text-overflow: ellipsis;
}
.custom-file-label::after {
  padding: var(--field-padding-y) var(--field-padding-x);
  border-color: var(--field-border);
  border-radius: 0 var(--radius-input) var(--radius-input) 0;
  background-color: var(--field-disabled-background);
  color: var(--field-text);
}

.custom-file-input:focus + .custom-file-label {
  border-color: var(--field-muted);
  box-shadow: none;
}
.custom-file-input:disabled + .custom-file-label {
  background-color: var(--field-disabled-background);
  color: var(--field-muted);
}
.custom-file-input.is-invalid + .custom-file-label, .was-validated .custom-file-input:invalid + .custom-file-label {
  border-color: var(--color-danger);
}
.custom-file-input.is-valid + .custom-file-label, .was-validated .custom-file-input:valid + .custom-file-label {
  border-color: var(--color-success);
}

input.form-control[type=file]::file-selector-button {
  padding: var(--field-padding-y) var(--field-padding-x);
  margin: calc(-1 * var(--field-padding-y)) var(--field-padding-x) calc(-1 * var(--field-padding-y)) calc(-1 * var(--field-padding-x));
  border-color: var(--field-border);
  background-color: var(--field-disabled-background);
  color: var(--field-text);
  font: inherit;
}

input[type=checkbox],
input[type=radio],
input[type=range] {
  accent-color: var(--color-primary);
}

.form-check-input {
  background-color: var(--field-background);
  border: 1px solid var(--field-border);
}
.form-check-input[type=checkbox] {
  border-radius: 5px;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:checked, .form-check-input[type=checkbox]:indeterminate {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
.form-check-input:focus {
  border-color: var(--field-muted);
  box-shadow: none;
}

.form-switch .form-check-input {
  border-radius: var(--radius-pill);
}

.switch .slider {
  background-color: var(--field-border);
  transition-duration: 0.18s;
}
.switch input:checked + .slider {
  background-color: var(--color-primary);
}
.switch input:focus + .slider {
  box-shadow: none;
}
.switch input:disabled + .slider {
  opacity: 0.5;
  cursor: default;
}

.form-range::-webkit-slider-runnable-track {
  background-color: var(--field-border);
}
.form-range::-moz-range-track {
  background-color: var(--field-border);
}
.form-range::-webkit-slider-thumb {
  background-color: var(--color-primary);
}
.form-range::-moz-range-thumb {
  background-color: var(--color-primary);
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--field-muted);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--field-muted);
}

.StripeElement--focus {
  border-color: var(--field-muted);
  box-shadow: none;
}

.StripeElement--invalid {
  border-color: var(--color-danger);
}

.tox.tox-tinymce {
  border: 1px solid var(--field-border);
  border-radius: var(--radius-input);
}
.tox.tox-tinymce:focus-within {
  border-color: var(--field-muted);
}

.dropzone {
  border: 1px dashed var(--field-border);
  border-radius: var(--radius-input);
  background-color: var(--field-background);
  color: var(--field-text);
}
.dropzone:focus-within {
  border-color: var(--field-muted);
}
.dropzone .dz-message {
  color: var(--field-muted);
}

#search-form .input-icon > i {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  color: #697386 !important;
}
#search-form .input-icon > i:first-of-type {
  left: 14px;
}
#search-form .input-icon > i:last-of-type {
  right: 14px;
}
#search-form .input-icon input {
  padding-right: 80px !important;
}
#search-form .input-icon .input-erase {
  top: 50%;
  right: 42px;
  transform: translateY(-50%);
}

@media (max-width: 575px) {
  .form-control,
  .form-select,
  .pianolit-input,
  .input-group,
  .custom-file,
  .custom-file-label,
  .input-group-text,
  .admin-text-improve-options select {
    --field-font-size: 16px;
  }
  .my-pieces-favorites__search input {
    font-size: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .form-control,
  .form-select,
  .pianolit-input,
  .custom-file-label,
  .admin-text-improve-options select,
  .switch .slider,
  .switch .slider:before {
    transition: none;
  }
}
.dropdown-menu {
  --bs-dropdown-bg: var(--color-surface);
  --bs-dropdown-border-width: 1px;
  --bs-dropdown-border-color: var(--color-dropdown-border);
  --bs-dropdown-border-radius: var(--radius-dropdown);
  --bs-dropdown-box-shadow: var(--shadow-dropdown);
  background-color: var(--bs-dropdown-bg);
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
  box-shadow: var(--bs-dropdown-box-shadow);
}

/* PianoLIT uses existing border/background states, without an extra outline or halo.
   Keep this partial plain CSS: standalone error views embed this same reset. */
*,
*::before,
*::after {
  outline: none !important;
  outline-offset: 0 !important;
}

:root {
  --bs-focus-ring-width: 0;
  --bs-focus-ring-opacity: 0;
  --bs-focus-ring-color: transparent;
}

.btn {
  --bs-btn-focus-box-shadow: none;
}

.focus-ring:focus {
  box-shadow: none !important;
}
