/* Public reset and composable QIM layout primitives. */
.qim-public, .qim-public *, .qim-public *::before, .qim-public *::after { box-sizing: border-box; }
.qim-public { font-family: var(--qim-font-sans); color: var(--qim-text-body); line-height: 1.5; }
.qim-public img { max-width: 100%; }
.qim-public :where(button,input,select,textarea) { font: inherit; }
.qim-public :where(h1,h2,h3,h4,h5,h6) { line-height: 1.2; }
.qim-public :where(p,ul,ol) { margin-top: 0; margin-bottom: 1rem; }
.qim-public :where(button,[role=button]) { cursor: pointer; }
.qim-public :where(a) { text-underline-offset: .18em; }
.qim-public [hidden] { display: none !important; }
.qim-row { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 24px; margin: 0; }
.qim-row > * { grid-column: 1 / -1; min-width: 0; width: auto; max-width: 100%; padding: 0; }
.qim-fluid { width: 100%; padding-inline: var(--qim-gutter); margin-inline: auto; }
.qim-media { max-width: 100%; height: auto; }
.qim-flex { display: flex; gap: 8px; }
.qim-flex-row { flex-direction: row; }
.qim-flex-column { flex-direction: column; }
.qim-flex-wrap { flex-wrap: wrap; }
.qim-grow { flex-grow: 1; min-width: 0; }
.qim-no-shrink { flex-shrink: 0; }
.qim-items-center { align-items: center; }
.qim-items-start { align-items: flex-start; }
.qim-justify-between { justify-content: space-between; }
.qim-justify-center { justify-content: center; }
.qim-justify-start { justify-content: flex-start; }
.qim-text-center { text-align: center; }
.qim-text-end { text-align: end; }
.qim-text-start { text-align: start; }
.qim-muted { color: var(--qim-text-muted); }
.qim-block { display: block; }
.qim-inline-block { display: inline-block; }
.qim-hidden { display: none; }
.qim-full { width: 100%; }
.qim-full-height { height: 100%; }
.qim-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.qim-float-end { float: inline-end; }
.qim-float-start { float: inline-start; }


.qim-row > .qim-col-1 { grid-column: span 1; }
.qim-row > .qim-col-2 { grid-column: span 2; }
.qim-row > .qim-col-3 { grid-column: span 3; }
.qim-row > .qim-col-4 { grid-column: span 4; }
.qim-row > .qim-col-5 { grid-column: span 5; }
.qim-row > .qim-col-6 { grid-column: span 6; }
.qim-row > .qim-col-7 { grid-column: span 7; }
.qim-row > .qim-col-8 { grid-column: span 8; }
.qim-row > .qim-col-9 { grid-column: span 9; }
.qim-row > .qim-col-10 { grid-column: span 10; }
.qim-row > .qim-col-11 { grid-column: span 11; }
.qim-row > .qim-col-12 { grid-column: span 12; }

@media (min-width: 576px) {
.qim-row > .qim-col-sm-1 { grid-column: span 1; }
.qim-row > .qim-col-sm-2 { grid-column: span 2; }
.qim-row > .qim-col-sm-3 { grid-column: span 3; }
.qim-row > .qim-col-sm-4 { grid-column: span 4; }
.qim-row > .qim-col-sm-5 { grid-column: span 5; }
.qim-row > .qim-col-sm-6 { grid-column: span 6; }
.qim-row > .qim-col-sm-7 { grid-column: span 7; }
.qim-row > .qim-col-sm-8 { grid-column: span 8; }
.qim-row > .qim-col-sm-9 { grid-column: span 9; }
.qim-row > .qim-col-sm-10 { grid-column: span 10; }
.qim-row > .qim-col-sm-11 { grid-column: span 11; }
.qim-row > .qim-col-sm-12 { grid-column: span 12; }
.qim-d-sm-none { display: none; }
.qim-d-sm-block { display: block; }
.qim-d-sm-flex { display: flex; }
}

@media (min-width: 768px) {
.qim-row > .qim-col-md-1 { grid-column: span 1; }
.qim-row > .qim-col-md-2 { grid-column: span 2; }
.qim-row > .qim-col-md-3 { grid-column: span 3; }
.qim-row > .qim-col-md-4 { grid-column: span 4; }
.qim-row > .qim-col-md-5 { grid-column: span 5; }
.qim-row > .qim-col-md-6 { grid-column: span 6; }
.qim-row > .qim-col-md-7 { grid-column: span 7; }
.qim-row > .qim-col-md-8 { grid-column: span 8; }
.qim-row > .qim-col-md-9 { grid-column: span 9; }
.qim-row > .qim-col-md-10 { grid-column: span 10; }
.qim-row > .qim-col-md-11 { grid-column: span 11; }
.qim-row > .qim-col-md-12 { grid-column: span 12; }
.qim-d-md-none { display: none; }
.qim-d-md-block { display: block; }
.qim-d-md-flex { display: flex; }
}

@media (min-width: 992px) {
.qim-row > .qim-col-lg-1 { grid-column: span 1; }
.qim-row > .qim-col-lg-2 { grid-column: span 2; }
.qim-row > .qim-col-lg-3 { grid-column: span 3; }
.qim-row > .qim-col-lg-4 { grid-column: span 4; }
.qim-row > .qim-col-lg-5 { grid-column: span 5; }
.qim-row > .qim-col-lg-6 { grid-column: span 6; }
.qim-row > .qim-col-lg-7 { grid-column: span 7; }
.qim-row > .qim-col-lg-8 { grid-column: span 8; }
.qim-row > .qim-col-lg-9 { grid-column: span 9; }
.qim-row > .qim-col-lg-10 { grid-column: span 10; }
.qim-row > .qim-col-lg-11 { grid-column: span 11; }
.qim-row > .qim-col-lg-12 { grid-column: span 12; }
.qim-d-lg-none { display: none; }
.qim-d-lg-block { display: block; }
.qim-d-lg-flex { display: flex; }
}

@media (min-width: 1200px) {
.qim-row > .qim-col-xl-1 { grid-column: span 1; }
.qim-row > .qim-col-xl-2 { grid-column: span 2; }
.qim-row > .qim-col-xl-3 { grid-column: span 3; }
.qim-row > .qim-col-xl-4 { grid-column: span 4; }
.qim-row > .qim-col-xl-5 { grid-column: span 5; }
.qim-row > .qim-col-xl-6 { grid-column: span 6; }
.qim-row > .qim-col-xl-7 { grid-column: span 7; }
.qim-row > .qim-col-xl-8 { grid-column: span 8; }
.qim-row > .qim-col-xl-9 { grid-column: span 9; }
.qim-row > .qim-col-xl-10 { grid-column: span 10; }
.qim-row > .qim-col-xl-11 { grid-column: span 11; }
.qim-row > .qim-col-xl-12 { grid-column: span 12; }
.qim-d-xl-none { display: none; }
.qim-d-xl-block { display: block; }
.qim-d-xl-flex { display: flex; }
}

@media (min-width: 1400px) {
.qim-row > .qim-col-xxl-1 { grid-column: span 1; }
.qim-row > .qim-col-xxl-2 { grid-column: span 2; }
.qim-row > .qim-col-xxl-3 { grid-column: span 3; }
.qim-row > .qim-col-xxl-4 { grid-column: span 4; }
.qim-row > .qim-col-xxl-5 { grid-column: span 5; }
.qim-row > .qim-col-xxl-6 { grid-column: span 6; }
.qim-row > .qim-col-xxl-7 { grid-column: span 7; }
.qim-row > .qim-col-xxl-8 { grid-column: span 8; }
.qim-row > .qim-col-xxl-9 { grid-column: span 9; }
.qim-row > .qim-col-xxl-10 { grid-column: span 10; }
.qim-row > .qim-col-xxl-11 { grid-column: span 11; }
.qim-row > .qim-col-xxl-12 { grid-column: span 12; }
.qim-d-xxl-none { display: none; }
.qim-d-xxl-block { display: block; }
.qim-d-xxl-flex { display: flex; }
}
.qim-m-0 { margin: 0; }
.qim-m-1 { margin: var(--qim-space-1); }
.qim-m-2 { margin: var(--qim-space-2); }
.qim-m-3 { margin: var(--qim-space-4); }
.qim-m-4 { margin: var(--qim-space-5); }
.qim-m-5 { margin: var(--qim-space-7); }
.qim-m-auto { margin: auto; }
.qim-mt-0 { margin-top: 0; }
.qim-mt-1 { margin-top: var(--qim-space-1); }
.qim-mt-2 { margin-top: var(--qim-space-2); }
.qim-mt-3 { margin-top: var(--qim-space-4); }
.qim-mt-4 { margin-top: var(--qim-space-5); }
.qim-mt-5 { margin-top: var(--qim-space-7); }
.qim-mt-auto { margin-top: auto; }
.qim-mr-0 { margin-right: 0; }
.qim-mr-1 { margin-right: var(--qim-space-1); }
.qim-mr-2 { margin-right: var(--qim-space-2); }
.qim-mr-3 { margin-right: var(--qim-space-4); }
.qim-mr-4 { margin-right: var(--qim-space-5); }
.qim-mr-5 { margin-right: var(--qim-space-7); }
.qim-mr-auto { margin-right: auto; }
.qim-mb-0 { margin-bottom: 0; }
.qim-mb-1 { margin-bottom: var(--qim-space-1); }
.qim-mb-2 { margin-bottom: var(--qim-space-2); }
.qim-mb-3 { margin-bottom: var(--qim-space-4); }
.qim-mb-4 { margin-bottom: var(--qim-space-5); }
.qim-mb-5 { margin-bottom: var(--qim-space-7); }
.qim-mb-auto { margin-bottom: auto; }
.qim-ml-0 { margin-left: 0; }
.qim-ml-1 { margin-left: var(--qim-space-1); }
.qim-ml-2 { margin-left: var(--qim-space-2); }
.qim-ml-3 { margin-left: var(--qim-space-4); }
.qim-ml-4 { margin-left: var(--qim-space-5); }
.qim-ml-5 { margin-left: var(--qim-space-7); }
.qim-ml-auto { margin-left: auto; }
.qim-ms-0 { margin-inline-start: 0; }
.qim-ms-1 { margin-inline-start: var(--qim-space-1); }
.qim-ms-2 { margin-inline-start: var(--qim-space-2); }
.qim-ms-3 { margin-inline-start: var(--qim-space-4); }
.qim-ms-4 { margin-inline-start: var(--qim-space-5); }
.qim-ms-5 { margin-inline-start: var(--qim-space-7); }
.qim-ms-auto { margin-inline-start: auto; }
.qim-me-0 { margin-inline-end: 0; }
.qim-me-1 { margin-inline-end: var(--qim-space-1); }
.qim-me-2 { margin-inline-end: var(--qim-space-2); }
.qim-me-3 { margin-inline-end: var(--qim-space-4); }
.qim-me-4 { margin-inline-end: var(--qim-space-5); }
.qim-me-5 { margin-inline-end: var(--qim-space-7); }
.qim-me-auto { margin-inline-end: auto; }
.qim-mx-0 { margin-inline: 0; }
.qim-mx-1 { margin-inline: var(--qim-space-1); }
.qim-mx-2 { margin-inline: var(--qim-space-2); }
.qim-mx-3 { margin-inline: var(--qim-space-4); }
.qim-mx-4 { margin-inline: var(--qim-space-5); }
.qim-mx-5 { margin-inline: var(--qim-space-7); }
.qim-mx-auto { margin-inline: auto; }
.qim-my-0 { margin-block: 0; }
.qim-my-1 { margin-block: var(--qim-space-1); }
.qim-my-2 { margin-block: var(--qim-space-2); }
.qim-my-3 { margin-block: var(--qim-space-4); }
.qim-my-4 { margin-block: var(--qim-space-5); }
.qim-my-5 { margin-block: var(--qim-space-7); }
.qim-my-auto { margin-block: auto; }
.qim-p-0 { padding: 0; }
.qim-p-1 { padding: var(--qim-space-1); }
.qim-p-2 { padding: var(--qim-space-2); }
.qim-p-3 { padding: var(--qim-space-4); }
.qim-p-4 { padding: var(--qim-space-5); }
.qim-p-5 { padding: var(--qim-space-7); }
.qim-pt-0 { padding-top: 0; }
.qim-pt-1 { padding-top: var(--qim-space-1); }
.qim-pt-2 { padding-top: var(--qim-space-2); }
.qim-pt-3 { padding-top: var(--qim-space-4); }
.qim-pt-4 { padding-top: var(--qim-space-5); }
.qim-pt-5 { padding-top: var(--qim-space-7); }
.qim-pr-0 { padding-right: 0; }
.qim-pr-1 { padding-right: var(--qim-space-1); }
.qim-pr-2 { padding-right: var(--qim-space-2); }
.qim-pr-3 { padding-right: var(--qim-space-4); }
.qim-pr-4 { padding-right: var(--qim-space-5); }
.qim-pr-5 { padding-right: var(--qim-space-7); }
.qim-pb-0 { padding-bottom: 0; }
.qim-pb-1 { padding-bottom: var(--qim-space-1); }
.qim-pb-2 { padding-bottom: var(--qim-space-2); }
.qim-pb-3 { padding-bottom: var(--qim-space-4); }
.qim-pb-4 { padding-bottom: var(--qim-space-5); }
.qim-pb-5 { padding-bottom: var(--qim-space-7); }
.qim-pl-0 { padding-left: 0; }
.qim-pl-1 { padding-left: var(--qim-space-1); }
.qim-pl-2 { padding-left: var(--qim-space-2); }
.qim-pl-3 { padding-left: var(--qim-space-4); }
.qim-pl-4 { padding-left: var(--qim-space-5); }
.qim-pl-5 { padding-left: var(--qim-space-7); }
.qim-ps-0 { padding-inline-start: 0; }
.qim-ps-1 { padding-inline-start: var(--qim-space-1); }
.qim-ps-2 { padding-inline-start: var(--qim-space-2); }
.qim-ps-3 { padding-inline-start: var(--qim-space-4); }
.qim-ps-4 { padding-inline-start: var(--qim-space-5); }
.qim-ps-5 { padding-inline-start: var(--qim-space-7); }
.qim-pe-0 { padding-inline-end: 0; }
.qim-pe-1 { padding-inline-end: var(--qim-space-1); }
.qim-pe-2 { padding-inline-end: var(--qim-space-2); }
.qim-pe-3 { padding-inline-end: var(--qim-space-4); }
.qim-pe-4 { padding-inline-end: var(--qim-space-5); }
.qim-pe-5 { padding-inline-end: var(--qim-space-7); }
.qim-px-0 { padding-inline: 0; }
.qim-px-1 { padding-inline: var(--qim-space-1); }
.qim-px-2 { padding-inline: var(--qim-space-2); }
.qim-px-3 { padding-inline: var(--qim-space-4); }
.qim-px-4 { padding-inline: var(--qim-space-5); }
.qim-px-5 { padding-inline: var(--qim-space-7); }
.qim-py-0 { padding-block: 0; }
.qim-py-1 { padding-block: var(--qim-space-1); }
.qim-py-2 { padding-block: var(--qim-space-2); }
.qim-py-3 { padding-block: var(--qim-space-4); }
.qim-py-4 { padding-block: var(--qim-space-5); }
.qim-py-5 { padding-block: var(--qim-space-7); }
