From 2e91576a0801b14c16b82071f185e5b7d6040a94 Mon Sep 17 00:00:00 2001 From: eclipse Date: Thu, 24 Apr 2025 19:05:05 +0200 Subject: [PATCH] switched to non-classless CSS --- the_works/static/pico.azure.css | 4634 +++++++++++++++++++++++++++++++ the_works/templates/base.html | 23 +- 2 files changed, 4647 insertions(+), 10 deletions(-) create mode 100644 the_works/static/pico.azure.css diff --git a/the_works/static/pico.azure.css b/the_works/static/pico.azure.css new file mode 100644 index 0000000..bf1632f --- /dev/null +++ b/the_works/static/pico.azure.css @@ -0,0 +1,4634 @@ +@charset "UTF-8"; +/*! + * Pico CSS ✨ v2.2.10 (https://github.com/Yohn/PicoCSS) + * Copyright 2019-2025 - Licensed under MIT + */ +/** + * Styles + */ +:root, +:host { + --pico-font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --pico-font-family-sans-serif: system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial, "Helvetica Neue", sans-serif, var(--pico-font-family-emoji); + --pico-font-family-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--pico-font-family-emoji); + --pico-font-family: var(--pico-font-family-sans-serif); + --pico-line-height: 1.5; + --pico-font-weight: 400; + --pico-font-size: 100%; + --pico-text-underline-offset: 0.1rem; + --pico-border-radius: 0.25rem; + --pico-border-width: 0.0625rem; + --pico-outline-width: 0.125rem; + --pico-transition: 0.2s ease-in-out; + --pico-spacing: 1rem; + --pico-icon-red-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(183.25, 63.5, 59)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E"); + --pico-typography-spacing-vertical: 1rem; + --pico-block-spacing-vertical: var(--pico-spacing); + --pico-block-spacing-horizontal: var(--pico-spacing); + --pico-grid-column-gap: var(--pico-spacing); + --pico-grid-row-gap: var(--pico-spacing); + --pico-form-element-spacing-vertical: calc(var(--pico-spacing) * 0.5); + --pico-form-element-spacing-horizontal: calc(var(--pico-spacing) * 0.75); + --pico-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus); + --pico-group-box-shadow-focus-with-input: 0 0 0 0.0625rem var(--pico-form-element-border-color); + --pico-modal-overlay-backdrop-filter: blur(0.375rem); + --pico-nav-element-spacing-vertical: 1rem; + --pico-nav-element-spacing-horizontal: 0.5rem; + --pico-nav-link-spacing-vertical: 0.5rem; + --pico-nav-link-spacing-horizontal: 0.5rem; + --pico-nav-breadcrumb-divider: ">"; + --pico-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); + --pico-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E"); + --pico-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); + --pico-icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E"); + --pico-icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E"); + --pico-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); + --pico-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E"); + --pico-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E"); +} +@media (min-width: 576px) { + :root, + :host { + --pico-font-size: 106.25%; + } +} +@media (min-width: 768px) { + :root, + :host { + --pico-font-size: 112.5%; + } +} +@media (min-width: 1024px) { + :root, + :host { + --pico-font-size: 118.75%; + } +} +@media (min-width: 1280px) { + :root, + :host { + --pico-font-size: 125%; + } +} +@media (min-width: 1536px) { + :root, + :host { + --pico-font-size: 131.25%; + } +} + +a { + --pico-text-decoration: underline; +} +a.secondary, a.contrast { + --pico-text-decoration: underline; +} + +small { + --pico-font-size: 0.875em; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + --pico-font-weight: 700; +} + +h1 { + --pico-font-size: 2rem; + --pico-line-height: 1.125; + --pico-typography-spacing-top: 3rem; +} + +h2 { + --pico-font-size: 1.75rem; + --pico-line-height: 1.15; + --pico-typography-spacing-top: 2.625rem; +} + +h3 { + --pico-font-size: 1.5rem; + --pico-line-height: 1.175; + --pico-typography-spacing-top: 2.25rem; +} + +h4 { + --pico-font-size: 1.25rem; + --pico-line-height: 1.2; + --pico-typography-spacing-top: 1.874rem; +} + +h5 { + --pico-font-size: 1.125rem; + --pico-line-height: 1.225; + --pico-typography-spacing-top: 1.6875rem; +} + +h6 { + --pico-font-size: 1rem; + --pico-line-height: 1.25; + --pico-typography-spacing-top: 1.5rem; +} + +table > caption { + --pico-font-weight: 600; +} + +thead th, +thead td, +tfoot th, +tfoot td { + --pico-font-weight: 600; + --pico-border-width: 0.1875rem; +} + +pre, +code, +kbd, +samp { + --pico-font-family: var(--pico-font-family-monospace); +} + +kbd { + --pico-font-weight: bolder; +} + +input:not([type=submit], +[type=button], +[type=reset], +[type=checkbox], +[type=radio], +[type=file]), +:where(select, textarea) { + --pico-outline-width: 0.0625rem; +} + +[type=search] { + --pico-border-radius: 5rem; +} + +[type=checkbox], +[type=radio] { + --pico-border-width: 0.125rem; +} + +[type=checkbox][role=switch] { + --pico-border-width: 0.1875rem; +} + +details.dropdown summary:not([role=button]) { + --pico-outline-width: 0.0625rem; +} + +nav details.dropdown summary:focus-visible { + --pico-outline-width: 0.125rem; +} + +[role=search] { + --pico-border-radius: 5rem; +} + +[role=search]:has(button.secondary:focus, +[type=submit].secondary:focus, +[type=button].secondary:focus, +[role=button].secondary:focus), +[role=group]:has(button.secondary:focus, +[type=submit].secondary:focus, +[type=button].secondary:focus, +[role=button].secondary:focus) { + --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus); +} +[role=search]:has(button.contrast:focus, +[type=submit].contrast:focus, +[type=button].contrast:focus, +[role=button].contrast:focus), +[role=group]:has(button.contrast:focus, +[type=submit].contrast:focus, +[type=button].contrast:focus, +[role=button].contrast:focus) { + --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-contrast-focus); +} +[role=search] button, +[role=search] [type=submit], +[role=search] [type=button], +[role=search] [role=button], +[role=group] button, +[role=group] [type=submit], +[role=group] [type=button], +[role=group] [role=button] { + --pico-form-element-spacing-horizontal: 2rem; +} + +[role=tablist] { + --pico-tab-animation: showTab; +} + +/** + * Color schemes + */ +[data-theme=light], +:root:not([data-theme=dark]), +:host(:not([data-theme=dark])) { + color-scheme: light; + --pico-background-color: #fff; + --pico-color: #373c44; + --pico-text-selection-color: rgba(2, 154, 232, 0.25); + --pico-muted-color: #646b79; + --pico-muted-border-color: rgb(231, 234, 239.5); + --pico-primary: #0172ad; + --pico-primary-background: #0172ad; + --pico-primary-border: var(--pico-primary-background); + --pico-primary-underline: rgba(1, 114, 173, 0.5); + --pico-primary-hover: #015887; + --pico-primary-hover-background: #02659a; + --pico-primary-hover-border: var(--pico-primary-hover-background); + --pico-primary-hover-underline: var(--pico-primary-hover); + --pico-primary-focus: rgba(2, 154, 232, 0.5); + --pico-primary-inverse: #fff; + --pico-secondary: #5d6b89; + --pico-secondary-background: #525f7a; + --pico-secondary-border: var(--pico-secondary-background); + --pico-secondary-underline: rgba(93, 107, 137, 0.5); + --pico-secondary-hover: #48536b; + --pico-secondary-hover-background: #48536b; + --pico-secondary-hover-border: var(--pico-secondary-hover-background); + --pico-secondary-hover-underline: var(--pico-secondary-hover); + --pico-secondary-focus: rgba(93, 107, 137, 0.25); + --pico-secondary-inverse: #fff; + --pico-contrast: #181c25; + --pico-contrast-background: #181c25; + --pico-contrast-border: var(--pico-contrast-background); + --pico-contrast-underline: rgba(24, 28, 37, 0.5); + --pico-contrast-hover: #000; + --pico-contrast-hover-background: #000; + --pico-contrast-hover-border: var(--pico-contrast-hover-background); + --pico-contrast-hover-underline: var(--pico-secondary-hover); + --pico-contrast-focus: rgba(93, 107, 137, 0.25); + --pico-contrast-inverse: #fff; + --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024), 0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03), 0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036), 0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302), 0.5rem 1rem 6rem rgba(129, 145, 181, 0.06), 0 0 0 0.0625rem rgba(129, 145, 181, 0.015); + --pico-accent-bg-color: var(--pico-background-color); + --pico-accent-section-bg-color: rgb(251, 251.5, 252.25); + --pico-accent-border-color: var(--pico-muted-border-color); + --pico-accent-box-shadow: var(--pico-box-shadow); + --pico-h1-color: #2d3138; + --pico-h2-color: #373c44; + --pico-h3-color: #424751; + --pico-h4-color: #4d535e; + --pico-h5-color: #5c6370; + --pico-h6-color: #646b79; + --pico-mark-background-color: rgb(252.5, 230.5, 191.5); + --pico-mark-color: #0f1114; + --pico-ins-color: rgb(28.5, 105.5, 84); + --pico-del-color: rgb(136, 56.5, 53); + --pico-blockquote-border-color: var(--pico-muted-border-color); + --pico-blockquote-footer-color: var(--pico-muted-color); + --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-table-border-color: var(--pico-muted-border-color); + --pico-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375); + --pico-code-background-color: rgb(243, 244.5, 246.75); + --pico-code-color: #646b79; + --pico-code-kbd-background-color: var(--pico-color); + --pico-code-kbd-color: var(--pico-background-color); + --pico-form-element-background-color: rgb(251, 251.5, 252.25); + --pico-form-element-selected-background-color: #dfe3eb; + --pico-form-element-border-color: #cfd5e2; + --pico-form-element-color: #23262c; + --pico-form-element-placeholder-color: var(--pico-muted-color); + --pico-form-element-active-background-color: #fff; + --pico-form-element-active-border-color: var(--pico-primary-border); + --pico-form-element-focus-color: var(--pico-primary-border); + --pico-form-element-disabled-opacity: 0.5; + --pico-form-element-invalid-border-color: rgb(183.5, 105.5, 106.5); + --pico-form-element-invalid-active-border-color: rgb(200.25, 79.25, 72.25); + --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color); + --pico-form-element-valid-border-color: rgb(76, 154.5, 137.5); + --pico-form-element-valid-active-border-color: rgb(39, 152.75, 118.75); + --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color); + --pico-switch-background-color: #bfc7d9; + --pico-switch-checked-background-color: var(--pico-primary-background); + --pico-switch-color: #fff; + --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-range-border-color: #dfe3eb; + --pico-range-active-border-color: #bfc7d9; + --pico-range-thumb-border-color: var(--pico-background-color); + --pico-range-thumb-color: var(--pico-secondary-background); + --pico-range-thumb-active-color: var(--pico-primary-background); + --pico-accordion-border-color: var(--pico-muted-border-color); + --pico-accordion-active-summary-color: var(--pico-primary-hover); + --pico-accordion-close-summary-color: var(--pico-color); + --pico-accordion-open-summary-color: var(--pico-muted-color); + --pico-card-background-color: var(--pico-background-color); + --pico-card-border-color: var(--pico-muted-border-color); + --pico-card-box-shadow: var(--pico-box-shadow); + --pico-card-sectioning-background-color: rgb(251, 251.5, 252.25); + --pico-dropdown-background-color: #fff; + --pico-dropdown-border-color: #eff1f4; + --pico-dropdown-box-shadow: var(--pico-box-shadow); + --pico-dropdown-color: var(--pico-color); + --pico-dropdown-hover-background-color: #eff1f4; + --pico-loading-spinner-opacity: 0.5; + --pico-modal-overlay-background-color: rgba(232, 234, 237, 0.75); + --pico-progress-background-color: #dfe3eb; + --pico-progress-color: var(--pico-primary-background); + --pico-tooltip-background-color: var(--pico-contrast-background); + --pico-tooltip-color: var(--pico-contrast-inverse); + --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(76, 154.5, 137.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); + --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200.25, 79.25, 72.25)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); + --pico-timeline-line-color: var(--pico-primary-background); + --pico-timeline-dot-background-color: var(--pico-primary-inverse); + --pico-timeline-dot-border-color: var(--pico-primary-background); + --pico-timeline-arrow-color: var(--pico-card-sectioning-background-color); +} +[data-theme=light] details summary[role=button]:not(.outline, .contrast, .secondary)::after, +:root:not([data-theme=dark]) details summary[role=button]:not(.outline, .contrast, .secondary)::after, +:host(:not([data-theme=dark])) details summary[role=button]:not(.outline, .contrast, .secondary)::after { + filter: brightness(100) invert(0); +} +[data-theme=light] details summary.secondary[role=button]::after, +:root:not([data-theme=dark]) details summary.secondary[role=button]::after, +:host(:not([data-theme=dark])) details summary.secondary[role=button]::after { + filter: brightness(100) invert(1); +} +[data-theme=light] details summary.contrast[role=button]::after, +:root:not([data-theme=dark]) details summary.contrast[role=button]::after, +:host(:not([data-theme=dark])) details summary.contrast[role=button]::after { + filter: brightness(100) invert(0); +} +[data-theme=light] [aria-busy=true]:not(input, select, textarea, html, form):is(button, [type=submit], [type=button], [type=reset], [role=button]):not(.outline)::before, +:root:not([data-theme=dark]) [aria-busy=true]:not(input, select, textarea, html, form):is(button, [type=submit], [type=button], [type=reset], [role=button]):not(.outline)::before, +:host(:not([data-theme=dark])) [aria-busy=true]:not(input, select, textarea, html, form):is(button, [type=submit], [type=button], [type=reset], [role=button]):not(.outline)::before { + filter: brightness(100) invert(0); +} +[data-theme=light] input:is([type=submit], +[type=button], +[type=reset], +[type=checkbox], +[type=radio], +[type=file]), +:root:not([data-theme=dark]) input:is([type=submit], +[type=button], +[type=reset], +[type=checkbox], +[type=radio], +[type=file]), +:host(:not([data-theme=dark])) input:is([type=submit], +[type=button], +[type=reset], +[type=checkbox], +[type=radio], +[type=file]) { + --pico-form-element-focus-color: var(--pico-primary-focus); +} + +@media only screen and (prefers-color-scheme: dark) { + :root:not([data-theme]), + :host(:not([data-theme])) { + color-scheme: dark; + --pico-background-color: rgb(19, 22.5, 30.5); + --pico-color: #c2c7d0; + --pico-text-selection-color: rgba(1, 170, 255, 0.1875); + --pico-muted-color: #7b8495; + --pico-muted-border-color: #202632; + --pico-primary: #01aaff; + --pico-primary-background: #0172ad; + --pico-primary-border: var(--pico-primary-background); + --pico-primary-underline: rgba(1, 170, 255, 0.5); + --pico-primary-hover: #79c0ff; + --pico-primary-hover-background: #017fc0; + --pico-primary-hover-border: var(--pico-primary-hover-background); + --pico-primary-hover-underline: var(--pico-primary-hover); + --pico-primary-focus: rgba(1, 170, 255, 0.375); + --pico-primary-inverse: #fff; + --pico-secondary: #969eaf; + --pico-secondary-background: #525f7a; + --pico-secondary-border: var(--pico-secondary-background); + --pico-secondary-underline: rgba(150, 158, 175, 0.5); + --pico-secondary-hover: #b3b9c5; + --pico-secondary-hover-background: #5d6b89; + --pico-secondary-hover-border: var(--pico-secondary-hover-background); + --pico-secondary-hover-underline: var(--pico-secondary-hover); + --pico-secondary-focus: rgba(144, 158, 190, 0.25); + --pico-secondary-inverse: #fff; + --pico-contrast: #dfe3eb; + --pico-contrast-background: #eff1f4; + --pico-contrast-border: var(--pico-contrast-background); + --pico-contrast-underline: rgba(223, 227, 235, 0.5); + --pico-contrast-hover: #fff; + --pico-contrast-hover-background: #fff; + --pico-contrast-hover-border: var(--pico-contrast-hover-background); + --pico-contrast-hover-underline: var(--pico-contrast-hover); + --pico-contrast-focus: rgba(207, 213, 226, 0.25); + --pico-contrast-inverse: #000; + --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015); + --pico-accent-bg-color: #181c25; + --pico-accent-section-bg-color: rgb(26, 30.5, 40.25); + --pico-accent-border-color: var(--pico-muted-border-color); + --pico-accent-box-shadow: var(--pico-box-shadow); + --pico-h1-color: #f0f1f3; + --pico-h2-color: #e0e3e7; + --pico-h3-color: #c2c7d0; + --pico-h4-color: #b3b9c5; + --pico-h5-color: #a4acba; + --pico-h6-color: #8891a4; + --pico-mark-background-color: #014063; + --pico-mark-color: #fff; + --pico-ins-color: #62af9a; + --pico-del-color: rgb(205.5, 126, 123); + --pico-blockquote-border-color: var(--pico-muted-border-color); + --pico-blockquote-footer-color: var(--pico-muted-color); + --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-table-border-color: var(--pico-muted-border-color); + --pico-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375); + --pico-code-background-color: rgb(26, 30.5, 40.25); + --pico-code-color: #8891a4; + --pico-code-kbd-background-color: var(--pico-color); + --pico-code-kbd-color: var(--pico-background-color); + --pico-form-element-background-color: rgb(28, 33, 43.5); + --pico-form-element-selected-background-color: #2a3140; + --pico-form-element-border-color: #2a3140; + --pico-form-element-color: #e0e3e7; + --pico-form-element-placeholder-color: #8891a4; + --pico-form-element-active-background-color: rgb(26, 30.5, 40.25); + --pico-form-element-active-border-color: var(--pico-primary-border); + --pico-form-element-focus-color: var(--pico-primary-border); + --pico-form-element-disabled-opacity: 0.5; + --pico-form-element-invalid-border-color: rgb(149.5, 74, 80); + --pico-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59); + --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color); + --pico-form-element-valid-border-color: #2a7b6f; + --pico-form-element-valid-active-border-color: rgb(22, 137, 105.5); + --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color); + --pico-switch-background-color: #333c4e; + --pico-switch-checked-background-color: var(--pico-primary-background); + --pico-switch-color: #fff; + --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-range-border-color: #202632; + --pico-range-active-border-color: #2a3140; + --pico-range-thumb-border-color: var(--pico-background-color); + --pico-range-thumb-color: var(--pico-secondary-background); + --pico-range-thumb-active-color: var(--pico-primary-background); + --pico-accordion-border-color: var(--pico-muted-border-color); + --pico-accordion-active-summary-color: var(--pico-primary-hover); + --pico-accordion-close-summary-color: var(--pico-color); + --pico-accordion-open-summary-color: var(--pico-muted-color); + --pico-card-background-color: #181c25; + --pico-card-border-color: var(--pico-muted-border-color); + --pico-card-box-shadow: var(--pico-box-shadow); + --pico-card-sectioning-background-color: rgb(26, 30.5, 40.25); + --pico-dropdown-background-color: #181c25; + --pico-dropdown-border-color: #202632; + --pico-dropdown-box-shadow: var(--pico-box-shadow); + --pico-dropdown-color: var(--pico-color); + --pico-dropdown-hover-background-color: #202632; + --pico-loading-spinner-opacity: 0.5; + --pico-modal-overlay-background-color: rgba(7.5, 8.5, 10, 0.75); + --pico-progress-background-color: #202632; + --pico-progress-color: var(--pico-primary-background); + --pico-tooltip-background-color: var(--pico-contrast-inverse); + --pico-tooltip-color: var(--pico-contrast-background); + --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); + --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); + --pico-timeline-line-color: var(--pico-primary-background); + --pico-timeline-dot-background-color: var(--pico-primary-inverse); + --pico-timeline-dot-border-color: var(--pico-primary-background); + --pico-timeline-arrow-color: var(--pico-card-sectioning-background-color); + } + :root:not([data-theme]) [aria-busy=true]:not(input, select, textarea).contrast:is(button, + [type=submit], + [type=button], + [type=reset], + [role=button]):not(.outline)::before, + :host(:not([data-theme])) [aria-busy=true]:not(input, select, textarea).contrast:is(button, + [type=submit], + [type=button], + [type=reset], + [role=button]):not(.outline)::before { + filter: brightness(0); + } + :root:not([data-theme]) input:is([type=submit], + [type=button], + [type=reset], + [type=checkbox], + [type=radio], + [type=file]), + :host(:not([data-theme])) input:is([type=submit], + [type=button], + [type=reset], + [type=checkbox], + [type=radio], + [type=file]) { + --pico-form-element-focus-color: var(--pico-primary-focus); + } + :root:not([data-theme]) details summary[role=button]:not(.outline, .contrast, .secondary)::after, + :host(:not([data-theme])) details summary[role=button]:not(.outline, .contrast, .secondary)::after { + filter: brightness(100) invert(0); + } + :root:not([data-theme]) details summary.secondary[role=button]::after, + :host(:not([data-theme])) details summary.secondary[role=button]::after { + filter: brightness(100) invert(0); + } + :root:not([data-theme]) details summary.contrast[role=button]::after, + :host(:not([data-theme])) details summary.contrast[role=button]::after { + filter: brightness(100) invert(1); + } + :root:not([data-theme]) [aria-busy=true]:not(input, select, textarea, html, form):is(button, [type=submit], [type=button], [type=reset], [role=button]):not(.outline)::before, + :host(:not([data-theme])) [aria-busy=true]:not(input, select, textarea, html, form):is(button, [type=submit], [type=button], [type=reset], [role=button]):not(.outline)::before { + filter: brightness(100) invert(1); + } +} +[data-theme=dark] { + color-scheme: dark; + --pico-background-color: rgb(19, 22.5, 30.5); + --pico-color: #c2c7d0; + --pico-text-selection-color: rgba(1, 170, 255, 0.1875); + --pico-muted-color: #7b8495; + --pico-muted-border-color: #202632; + --pico-primary: #01aaff; + --pico-primary-background: #0172ad; + --pico-primary-border: var(--pico-primary-background); + --pico-primary-underline: rgba(1, 170, 255, 0.5); + --pico-primary-hover: #79c0ff; + --pico-primary-hover-background: #017fc0; + --pico-primary-hover-border: var(--pico-primary-hover-background); + --pico-primary-hover-underline: var(--pico-primary-hover); + --pico-primary-focus: rgba(1, 170, 255, 0.375); + --pico-primary-inverse: #fff; + --pico-secondary: #969eaf; + --pico-secondary-background: #525f7a; + --pico-secondary-border: var(--pico-secondary-background); + --pico-secondary-underline: rgba(150, 158, 175, 0.5); + --pico-secondary-hover: #b3b9c5; + --pico-secondary-hover-background: #5d6b89; + --pico-secondary-hover-border: var(--pico-secondary-hover-background); + --pico-secondary-hover-underline: var(--pico-secondary-hover); + --pico-secondary-focus: rgba(144, 158, 190, 0.25); + --pico-secondary-inverse: #fff; + --pico-contrast: #dfe3eb; + --pico-contrast-background: #eff1f4; + --pico-contrast-border: var(--pico-contrast-background); + --pico-contrast-underline: rgba(223, 227, 235, 0.5); + --pico-contrast-hover: #fff; + --pico-contrast-hover-background: #fff; + --pico-contrast-hover-border: var(--pico-contrast-hover-background); + --pico-contrast-hover-underline: var(--pico-contrast-hover); + --pico-contrast-focus: rgba(207, 213, 226, 0.25); + --pico-contrast-inverse: #000; + --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015); + --pico-accent-bg-color: #181c25; + --pico-accent-section-bg-color: rgb(26, 30.5, 40.25); + --pico-accent-border-color: var(--pico-muted-border-color); + --pico-accent-box-shadow: var(--pico-box-shadow); + --pico-h1-color: #f0f1f3; + --pico-h2-color: #e0e3e7; + --pico-h3-color: #c2c7d0; + --pico-h4-color: #b3b9c5; + --pico-h5-color: #a4acba; + --pico-h6-color: #8891a4; + --pico-mark-background-color: #014063; + --pico-mark-color: #fff; + --pico-ins-color: #62af9a; + --pico-del-color: rgb(205.5, 126, 123); + --pico-blockquote-border-color: var(--pico-muted-border-color); + --pico-blockquote-footer-color: var(--pico-muted-color); + --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-table-border-color: var(--pico-muted-border-color); + --pico-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375); + --pico-code-background-color: rgb(26, 30.5, 40.25); + --pico-code-color: #8891a4; + --pico-code-kbd-background-color: var(--pico-color); + --pico-code-kbd-color: var(--pico-background-color); + --pico-form-element-background-color: rgb(28, 33, 43.5); + --pico-form-element-selected-background-color: #2a3140; + --pico-form-element-border-color: #2a3140; + --pico-form-element-color: #e0e3e7; + --pico-form-element-placeholder-color: #8891a4; + --pico-form-element-active-background-color: rgb(26, 30.5, 40.25); + --pico-form-element-active-border-color: var(--pico-primary-border); + --pico-form-element-focus-color: var(--pico-primary-border); + --pico-form-element-disabled-opacity: 0.5; + --pico-form-element-invalid-border-color: rgb(149.5, 74, 80); + --pico-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59); + --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color); + --pico-form-element-valid-border-color: #2a7b6f; + --pico-form-element-valid-active-border-color: rgb(22, 137, 105.5); + --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color); + --pico-switch-background-color: #333c4e; + --pico-switch-checked-background-color: var(--pico-primary-background); + --pico-switch-color: #fff; + --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-range-border-color: #202632; + --pico-range-active-border-color: #2a3140; + --pico-range-thumb-border-color: var(--pico-background-color); + --pico-range-thumb-color: var(--pico-secondary-background); + --pico-range-thumb-active-color: var(--pico-primary-background); + --pico-accordion-border-color: var(--pico-muted-border-color); + --pico-accordion-active-summary-color: var(--pico-primary-hover); + --pico-accordion-close-summary-color: var(--pico-color); + --pico-accordion-open-summary-color: var(--pico-muted-color); + --pico-card-background-color: #181c25; + --pico-card-border-color: var(--pico-muted-border-color); + --pico-card-box-shadow: var(--pico-box-shadow); + --pico-card-sectioning-background-color: rgb(26, 30.5, 40.25); + --pico-dropdown-background-color: #181c25; + --pico-dropdown-border-color: #202632; + --pico-dropdown-box-shadow: var(--pico-box-shadow); + --pico-dropdown-color: var(--pico-color); + --pico-dropdown-hover-background-color: #202632; + --pico-loading-spinner-opacity: 0.5; + --pico-modal-overlay-background-color: rgba(7.5, 8.5, 10, 0.75); + --pico-progress-background-color: #202632; + --pico-progress-color: var(--pico-primary-background); + --pico-tooltip-background-color: var(--pico-contrast-inverse); + --pico-tooltip-color: var(--pico-contrast-background); + --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); + --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); + --pico-timeline-line-color: var(--pico-primary-background); + --pico-timeline-dot-background-color: var(--pico-primary-inverse); + --pico-timeline-dot-border-color: var(--pico-primary-background); + --pico-timeline-arrow-color: var(--pico-card-sectioning-background-color); +} +[data-theme=dark] [aria-busy=true]:not(input, select, textarea).contrast:is(button, +[type=submit], +[type=button], +[type=reset], +[role=button]):not(.outline)::before { + filter: brightness(0); +} +[data-theme=dark] input:is([type=submit], +[type=button], +[type=reset], +[type=checkbox], +[type=radio], +[type=file]) { + --pico-form-element-focus-color: var(--pico-primary-focus); +} +[data-theme=dark] details summary[role=button]:not(.outline, .contrast, .secondary)::after { + filter: brightness(100) invert(0); +} +[data-theme=dark] details summary.secondary[role=button]::after { + filter: brightness(100) invert(0); +} +[data-theme=dark] details summary.contrast[role=button]::after { + filter: brightness(100) invert(1); +} +[data-theme=dark] [aria-busy=true]:not(input, select, textarea, html, form):is(button, [type=submit], [type=button], [type=reset], [role=button]):not(.outline)::before { + filter: brightness(100) invert(1); +} + +progress, +[type=checkbox], +[type=radio], +[type=range] { + accent-color: var(--pico-primary); +} + +/** + * Document + * Content-box & Responsive typography + */ +*, +*::before, +*::after { + box-sizing: border-box; + background-repeat: no-repeat; +} + +::before, +::after { + text-decoration: inherit; + vertical-align: inherit; +} + +:where(:root), +:where(:host) { + -webkit-tap-highlight-color: transparent; + -webkit-text-size-adjust: 100%; + -moz-text-size-adjust: 100%; + text-size-adjust: 100%; + background-color: var(--pico-background-color); + color: var(--pico-color); + font-weight: var(--pico-font-weight); + font-size: var(--pico-font-size); + line-height: var(--pico-line-height); + font-family: var(--pico-font-family); + text-underline-offset: var(--pico-text-underline-offset); + text-rendering: optimizeLegibility; + overflow-wrap: break-word; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} + +/** + * Landmarks + */ +html { + scroll-behavior: smooth; +} + +body { + width: 100%; + margin: 0; +} + +main { + display: block; +} + +body > header, +body > main, +body > footer { + padding-block: var(--pico-block-spacing-vertical); +} + +/** + * Section + */ +section { + margin-bottom: var(--pico-block-spacing-vertical); +} + +/** + * Container + */ +.container, +.container-fluid { + width: 100%; + margin-inline: auto; + padding-inline: var(--pico-block-spacing-horizontal); +} + +@media (min-width: 576px) { + .container { + max-width: 510px; + padding-inline: 0; + } +} +@media (min-width: 768px) { + .container { + max-width: 700px; + } +} +@media (min-width: 1024px) { + .container { + max-width: 950px; + } +} +@media (min-width: 1280px) { + .container { + max-width: 1200px; + } +} +@media (min-width: 1536px) { + .container { + max-width: 1450px; + } +} + +/** + * Grid + * Minimal grid system with auto-layout columns + */ +.grid { + grid-column-gap: var(--pico-grid-column-gap); + grid-row-gap: var(--pico-grid-row-gap); + display: grid; + grid-template-columns: 1fr; +} +@media (min-width: 768px) { + .grid { + grid-template-columns: repeat(auto-fit, minmax(0%, 1fr)); + } +} +.grid > * { + min-width: 0; +} + +/* Source inspired by https://github.com/sophie-thomas/CSS-Grid/blob/main/assets/scss/grid.scss */ +/*--- CSS Grid ---*/ +.row-fluid, +.row { + display: grid; + grid-template-columns: repeat(12, 1fr); + gap: var(--pico-grid-row-gap) var(--pico-grid-column-gap); +} +.row-fluid.align-center, +.row.align-center { + align-items: center; +} +.row-fluid.align-start, +.row.align-start { + align-items: start; +} +.row-fluid.align-end, +.row.align-end { + align-items: end; +} +.row-fluid > [class*=col] > *, +.row-fluid > [class|=col] > *, +.row-fluid > [class~=col] > *, +.row > [class*=col] > *, +.row > [class|=col] > *, +.row > [class~=col] > * { + margin: var(--pico-block-spacing-vertical) auto; +} + +.row { + max-width: 1200px; + margin: 0 auto; +} + +/* Defining columns spans and offsets */ +.col-1 { + grid-column-end: span 1; +} + +.col-2 { + grid-column-end: span 2; +} + +.col-3 { + grid-column-end: span 3; +} + +.col-4 { + grid-column-end: span 4; +} + +.col-5 { + grid-column-end: span 5; +} + +.col-6 { + grid-column-end: span 6; +} + +.col-7 { + grid-column-end: span 7; +} + +.col-8 { + grid-column-end: span 8; +} + +.col-9 { + grid-column-end: span 9; +} + +.col-10 { + grid-column-end: span 10; +} + +.col-11 { + grid-column-end: span 11; +} + +.col-12 { + grid-column-end: span 12; +} + +.offset-0 { + grid-column-start: 1; +} + +.offset-1 { + grid-column-start: 2; +} + +.offset-2 { + grid-column-start: 3; +} + +.offset-3 { + grid-column-start: 4; +} + +.offset-4 { + grid-column-start: 5; +} + +.offset-5 { + grid-column-start: 6; +} + +.offset-6 { + grid-column-start: 7; +} + +.offset-7 { + grid-column-start: 8; +} + +.offset-8 { + grid-column-start: 9; +} + +.offset-9 { + grid-column-start: 10; +} + +.offset-10 { + grid-column-start: 11; +} + +.offset-11 { + grid-column-start: 12; +} + +@media (min-width: 510px) { + .col-sm-1 { + grid-column-end: span 1; + } + .col-sm-2 { + grid-column-end: span 2; + } + .col-sm-3 { + grid-column-end: span 3; + } + .col-sm-4 { + grid-column-end: span 4; + } + .col-sm-5 { + grid-column-end: span 5; + } + .col-sm-6 { + grid-column-end: span 6; + } + .col-sm-7 { + grid-column-end: span 7; + } + .col-sm-8 { + grid-column-end: span 8; + } + .col-sm-9 { + grid-column-end: span 9; + } + .col-sm-10 { + grid-column-end: span 10; + } + .col-sm-11 { + grid-column-end: span 11; + } + .col-sm-12 { + grid-column-end: span 12; + } + .offset-sm-0 { + grid-column-start: 1; + } + .offset-sm-1 { + grid-column-start: 2; + } + .offset-sm-2 { + grid-column-start: 3; + } + .offset-sm-3 { + grid-column-start: 4; + } + .offset-sm-4 { + grid-column-start: 5; + } + .offset-sm-5 { + grid-column-start: 6; + } + .offset-sm-6 { + grid-column-start: 7; + } + .offset-sm-7 { + grid-column-start: 8; + } + .offset-sm-8 { + grid-column-start: 9; + } + .offset-sm-9 { + grid-column-start: 10; + } + .offset-sm-10 { + grid-column-start: 11; + } + .offset-sm-11 { + grid-column-start: 12; + } +} +@media (min-width: 700px) { + .col-md-1 { + grid-column-end: span 1; + } + .col-md-2 { + grid-column-end: span 2; + } + .col-md-3 { + grid-column-end: span 3; + } + .col-md-4 { + grid-column-end: span 4; + } + .col-md-5 { + grid-column-end: span 5; + } + .col-md-6 { + grid-column-end: span 6; + } + .col-md-7 { + grid-column-end: span 7; + } + .col-md-8 { + grid-column-end: span 8; + } + .col-md-9 { + grid-column-end: span 9; + } + .col-md-10 { + grid-column-end: span 10; + } + .col-md-11 { + grid-column-end: span 11; + } + .col-md-12 { + grid-column-end: span 12; + } + .offset-md-0 { + grid-column-start: 1; + } + .offset-md-1 { + grid-column-start: 2; + } + .offset-md-2 { + grid-column-start: 3; + } + .offset-md-3 { + grid-column-start: 4; + } + .offset-md-4 { + grid-column-start: 5; + } + .offset-md-5 { + grid-column-start: 6; + } + .offset-md-6 { + grid-column-start: 7; + } + .offset-md-7 { + grid-column-start: 8; + } + .offset-md-8 { + grid-column-start: 9; + } + .offset-md-9 { + grid-column-start: 10; + } + .offset-md-10 { + grid-column-start: 11; + } + .offset-md-11 { + grid-column-start: 12; + } +} +@media (min-width: 950px) { + .col-lg-1 { + grid-column-end: span 1; + } + .col-lg-2 { + grid-column-end: span 2; + } + .col-lg-3 { + grid-column-end: span 3; + } + .col-lg-4 { + grid-column-end: span 4; + } + .col-lg-5 { + grid-column-end: span 5; + } + .col-lg-6 { + grid-column-end: span 6; + } + .col-lg-7 { + grid-column-end: span 7; + } + .col-lg-8 { + grid-column-end: span 8; + } + .col-lg-9 { + grid-column-end: span 9; + } + .col-lg-10 { + grid-column-end: span 10; + } + .col-lg-11 { + grid-column-end: span 11; + } + .col-lg-12 { + grid-column-end: span 12; + } + .offset-lg-0 { + grid-column-start: 1; + } + .offset-lg-1 { + grid-column-start: 2; + } + .offset-lg-2 { + grid-column-start: 3; + } + .offset-lg-3 { + grid-column-start: 4; + } + .offset-lg-4 { + grid-column-start: 5; + } + .offset-lg-5 { + grid-column-start: 6; + } + .offset-lg-6 { + grid-column-start: 7; + } + .offset-lg-7 { + grid-column-start: 8; + } + .offset-lg-8 { + grid-column-start: 9; + } + .offset-lg-9 { + grid-column-start: 10; + } + .offset-lg-10 { + grid-column-start: 11; + } + .offset-lg-11 { + grid-column-start: 12; + } +} +@media (min-width: 1200px) { + .col-xl-1 { + grid-column-end: span 1; + } + .col-xl-2 { + grid-column-end: span 2; + } + .col-xl-3 { + grid-column-end: span 3; + } + .col-xl-4 { + grid-column-end: span 4; + } + .col-xl-5 { + grid-column-end: span 5; + } + .col-xl-6 { + grid-column-end: span 6; + } + .col-xl-7 { + grid-column-end: span 7; + } + .col-xl-8 { + grid-column-end: span 8; + } + .col-xl-9 { + grid-column-end: span 9; + } + .col-xl-10 { + grid-column-end: span 10; + } + .col-xl-11 { + grid-column-end: span 11; + } + .col-xl-12 { + grid-column-end: span 12; + } + .offset-xl-0 { + grid-column-start: 1; + } + .offset-xl-1 { + grid-column-start: 2; + } + .offset-xl-2 { + grid-column-start: 3; + } + .offset-xl-3 { + grid-column-start: 4; + } + .offset-xl-4 { + grid-column-start: 5; + } + .offset-xl-5 { + grid-column-start: 6; + } + .offset-xl-6 { + grid-column-start: 7; + } + .offset-xl-7 { + grid-column-start: 8; + } + .offset-xl-8 { + grid-column-start: 9; + } + .offset-xl-9 { + grid-column-start: 10; + } + .offset-xl-10 { + grid-column-start: 11; + } + .offset-xl-11 { + grid-column-start: 12; + } +} +@media (min-width: 1450px) { + .col-xxl-1 { + grid-column-end: span 1; + } + .col-xxl-2 { + grid-column-end: span 2; + } + .col-xxl-3 { + grid-column-end: span 3; + } + .col-xxl-4 { + grid-column-end: span 4; + } + .col-xxl-5 { + grid-column-end: span 5; + } + .col-xxl-6 { + grid-column-end: span 6; + } + .col-xxl-7 { + grid-column-end: span 7; + } + .col-xxl-8 { + grid-column-end: span 8; + } + .col-xxl-9 { + grid-column-end: span 9; + } + .col-xxl-10 { + grid-column-end: span 10; + } + .col-xxl-11 { + grid-column-end: span 11; + } + .col-xxl-12 { + grid-column-end: span 12; + } + .offset-xxl-0 { + grid-column-start: 1; + } + .offset-xxl-1 { + grid-column-start: 2; + } + .offset-xxl-2 { + grid-column-start: 3; + } + .offset-xxl-3 { + grid-column-start: 4; + } + .offset-xxl-4 { + grid-column-start: 5; + } + .offset-xxl-5 { + grid-column-start: 6; + } + .offset-xxl-6 { + grid-column-start: 7; + } + .offset-xxl-7 { + grid-column-start: 8; + } + .offset-xxl-8 { + grid-column-start: 9; + } + .offset-xxl-9 { + grid-column-start: 10; + } + .offset-xxl-10 { + grid-column-start: 11; + } + .offset-xxl-11 { + grid-column-start: 12; + } +} +/* CSS Grid Media Queries */ +@media (max-width: 510px) { + .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xxl-1, .col-xxl-2, .col-xxl-3, .col-xxl-4, .col-xxl-5, .col-xxl-6, .col-xxl-7, .col-xxl-8, .col-xxl-9, .col-xxl-10, .col-xxl-11, .col-xxl-12 { + grid-column-end: span 12; + } + .offset-0, .offset-1, .offset-2, .offset-3, .offset-4, .offset-5, .offset-6, .offset-7, .offset-8, .offset-9, .offset-10, .offset-11, .offset-md-0, .offset-md-1, .offset-md-2, .offset-md-3, .offset-md-4, .offset-md-5, .offset-md-6, .offset-md-7, .offset-md-8, .offset-md-9, .offset-md-10, .offset-md-11, .offset-lg-0, .offset-lg-1, .offset-lg-2, .offset-lg-3, .offset-lg-4, .offset-lg-5, .offset-lg-6, .offset-lg-7, .offset-lg-8, .offset-lg-9, .offset-lg-10, .offset-lg-11, .offset-xl-0, .offset-xl-1, .offset-xl-2, .offset-xl-3, .offset-xl-4, .offset-xl-5, .offset-xl-6, .offset-xl-7, .offset-xl-8, .offset-xl-9, .offset-xl-10, .offset-xl-11, .offset-xxl-0, .offset-xxl-1, .offset-xxl-2, .offset-xxl-3, .offset-xxl-4, .offset-xxl-5, .offset-xxl-6, .offset-xxl-7, .offset-xxl-8, .offset-xxl-9, .offset-xxl-10, .offset-xxl-11 { + grid-column-start: 1; + } +} +/** + * Overflow auto + */ +.overflow-auto { + overflow: auto; +} + +/** + * Typography + */ +b, +strong { + font-weight: bolder; +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +address, +blockquote, +dl, +ol, +p, +pre, +table, +ul { + margin-top: 0; + margin-bottom: var(--pico-typography-spacing-vertical); + color: var(--pico-color); + font-style: normal; + font-weight: var(--pico-font-weight); +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: var(--pico-typography-spacing-vertical); + color: var(--pico-color); + font-weight: var(--pico-font-weight); + font-size: var(--pico-font-size); + line-height: var(--pico-line-height); + font-family: var(--pico-font-family); +} + +h1 { + --pico-color: var(--pico-h1-color); +} + +h2 { + --pico-color: var(--pico-h2-color); +} + +h3 { + --pico-color: var(--pico-h3-color); +} + +h4 { + --pico-color: var(--pico-h4-color); +} + +h5 { + --pico-color: var(--pico-h5-color); +} + +h6 { + --pico-color: var(--pico-h6-color); +} + +:where(article, address, blockquote, dl, figure, form, ol, p, pre, table, ul) ~ :is(h1, h2, h3, h4, h5, h6) { + margin-top: var(--pico-typography-spacing-top); +} + +p { + margin-bottom: var(--pico-typography-spacing-vertical); +} + +hgroup { + margin-bottom: var(--pico-typography-spacing-vertical); +} +hgroup > * { + margin-top: 0; + margin-bottom: 0; +} +hgroup > *:not(:first-child):last-child { + --pico-color: var(--pico-muted-color); + --pico-font-weight: unset; + font-size: 1rem; +} + +:where(ol, ul) li { + margin-bottom: calc(var(--pico-typography-spacing-vertical) * 0.25); +} + +:where(dl, ol, ul) :where(dl, ol, ul) { + margin: 0; + margin-top: calc(var(--pico-typography-spacing-vertical) * 0.25); +} + +ul li { + list-style: square; +} + +mark { + padding: 0.125rem 0.25rem; + background-color: var(--pico-mark-background-color); + color: var(--pico-mark-color); + vertical-align: baseline; +} + +blockquote { + display: block; + margin: var(--pico-typography-spacing-vertical) 0; + padding: var(--pico-spacing); + border-right: none; + border-left: 0.25rem solid var(--pico-blockquote-border-color); + border-inline-start: 0.25rem solid var(--pico-blockquote-border-color); + border-inline-end: none; +} +blockquote footer { + margin-top: calc(var(--pico-typography-spacing-vertical) * 0.5); + color: var(--pico-blockquote-footer-color); +} + +abbr[title] { + border-bottom: 1px dotted; + text-decoration: none; + cursor: help; +} + +ins { + color: var(--pico-ins-color); + text-decoration: none; +} + +del { + color: var(--pico-del-color); +} + +::-moz-selection { + background-color: var(--pico-text-selection-color); +} + +::selection { + background-color: var(--pico-text-selection-color); +} + +/** + * Link + */ +:where(a:not([role=button])), +[role=link] { + --pico-color: var(--pico-primary); + --pico-background-color: transparent; + --pico-underline: var(--pico-primary-underline); + outline: none; + background-color: var(--pico-background-color); + color: var(--pico-color); + -webkit-text-decoration: var(--pico-text-decoration); + text-decoration: var(--pico-text-decoration); + text-decoration-color: var(--pico-underline); + text-underline-offset: 0.125em; + transition: background-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition), -webkit-text-decoration var(--pico-transition); + transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition); + transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition), -webkit-text-decoration var(--pico-transition); +} +:where(a:not([role=button])):is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[role=link]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-color: var(--pico-primary-hover); + --pico-underline: var(--pico-primary-hover-underline); + --pico-text-decoration: underline; +} +:where(a:not([role=button])):focus-visible, +[role=link]:focus-visible { + box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus); +} +:where(a:not([role=button])).secondary, +[role=link].secondary { + --pico-color: var(--pico-secondary); + --pico-underline: var(--pico-secondary-underline); +} +:where(a:not([role=button])).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[role=link].secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-color: var(--pico-secondary-hover); + --pico-underline: var(--pico-secondary-hover-underline); +} +:where(a:not([role=button])).contrast, +[role=link].contrast { + --pico-color: var(--pico-contrast); + --pico-underline: var(--pico-contrast-underline); +} +:where(a:not([role=button])).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[role=link].contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-color: var(--pico-contrast-hover); + --pico-underline: var(--pico-contrast-hover-underline); +} + +a[role=button] { + display: inline-block; +} + +/** + * Button + */ +button { + margin: 0; + overflow: visible; + font-family: inherit; + text-transform: none; +} + +button, +[type=submit], +[type=reset], +[type=button] { + -webkit-appearance: button; +} + +button, +[type=submit], +[type=reset], +[type=button], +[type=file]::file-selector-button, +[role=button] { + --pico-background-color: var(--pico-primary-background); + --pico-border-color: var(--pico-primary-border); + --pico-color: var(--pico-primary-inverse); + --pico-box-shadow: var(--pico-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0)); + padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal); + border: var(--pico-border-width) solid var(--pico-border-color); + border-radius: var(--pico-border-radius); + outline: none; + background-color: var(--pico-background-color); + box-shadow: var(--pico-box-shadow); + color: var(--pico-color); + font-weight: var(--pico-font-weight); + font-size: 1rem; + line-height: var(--pico-line-height); + text-align: center; + text-decoration: none; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition); +} +button:is([aria-current]:not([aria-current=false])), button:is(:hover, :active, :focus), +[type=submit]:is([aria-current]:not([aria-current=false])), +[type=submit]:is(:hover, :active, :focus), +[type=reset]:is([aria-current]:not([aria-current=false])), +[type=reset]:is(:hover, :active, :focus), +[type=button]:is([aria-current]:not([aria-current=false])), +[type=button]:is(:hover, :active, :focus), +[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])), +[type=file]::file-selector-button:is(:hover, :active, :focus), +[role=button]:is([aria-current]:not([aria-current=false])), +[role=button]:is(:hover, :active, :focus) { + --pico-background-color: var(--pico-primary-hover-background); + --pico-border-color: var(--pico-primary-hover-border); + --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)); + --pico-color: var(--pico-primary-inverse); +} +button:focus, button:is([aria-current]:not([aria-current=false])):focus, +[type=submit]:focus, +[type=submit]:is([aria-current]:not([aria-current=false])):focus, +[type=reset]:focus, +[type=reset]:is([aria-current]:not([aria-current=false])):focus, +[type=button]:focus, +[type=button]:is([aria-current]:not([aria-current=false])):focus, +[type=file]::file-selector-button:focus, +[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus, +[role=button]:focus, +[role=button]:is([aria-current]:not([aria-current=false])):focus { + --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-primary-focus); +} + +[type=submit], +[type=reset], +[type=button] { + margin-bottom: var(--pico-spacing); +} + +:is(button, [type=submit], [type=button], [role=button]).secondary, +[type=reset], +[type=file]::file-selector-button { + --pico-background-color: var(--pico-secondary-background); + --pico-border-color: var(--pico-secondary-border); + --pico-color: var(--pico-secondary-inverse); + cursor: pointer; +} +:is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[type=reset]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[type=file]::file-selector-button:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-background-color: var(--pico-secondary-hover-background); + --pico-border-color: var(--pico-secondary-hover-border); + --pico-color: var(--pico-secondary-inverse); +} +:is(button, [type=submit], [type=button], [role=button]).secondary:focus, :is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false])):focus, +[type=reset]:focus, +[type=reset]:is([aria-current]:not([aria-current=false])):focus, +[type=file]::file-selector-button:focus, +[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus { + --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus); +} + +:is(button, [type=submit], [type=button], [role=button]).contrast { + --pico-background-color: var(--pico-contrast-background); + --pico-border-color: var(--pico-contrast-border); + --pico-color: var(--pico-contrast-inverse); +} +:is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-background-color: var(--pico-contrast-hover-background); + --pico-border-color: var(--pico-contrast-hover-border); + --pico-color: var(--pico-contrast-inverse); +} +:is(button, [type=submit], [type=button], [role=button]).contrast:focus, :is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false])):focus { + --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-contrast-focus); +} + +:is(button, [type=submit], [type=button], [role=button]).outline, +[type=reset].outline { + --pico-background-color: transparent; + --pico-color: var(--pico-primary); + --pico-border-color: var(--pico-primary); +} +:is(button, [type=submit], [type=button], [role=button]).outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-background-color: transparent; + --pico-color: var(--pico-primary-hover); + --pico-border-color: var(--pico-primary-hover); +} + +:is(button, [type=submit], [type=button], [role=button]).outline.secondary, +[type=reset].outline { + --pico-color: var(--pico-secondary); + --pico-border-color: var(--pico-secondary); +} +:is(button, [type=submit], [type=button], [role=button]).outline.secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-color: var(--pico-secondary-hover); + --pico-border-color: var(--pico-secondary-hover); +} + +:is(button, [type=submit], [type=button], [role=button]).outline.contrast { + --pico-color: var(--pico-contrast); + --pico-border-color: var(--pico-contrast); +} +:is(button, [type=submit], [type=button], [role=button]).outline.contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-color: var(--pico-contrast-hover); + --pico-border-color: var(--pico-contrast-hover); +} + +:where(button, [type=submit], [type=reset], [type=button], [role=button])[disabled], +:where(fieldset[disabled]) :is(button, [type=submit], [type=button], [type=reset], [role=button]) { + opacity: 0.5; + pointer-events: none; +} + +/* Base ghost button style */ +:is(button, [type=button], [type=submit], [type=reset], [role=button]).ghost { + --pico-background-color: transparent; + --pico-border-color: transparent; + --pico-color: var(--pico-primary); +} +:is(button, [type=button], [type=submit], [type=reset], [role=button]).ghost:is(:hover, :focus, :active, [aria-current]:not([aria-current=false])) { + --pico-background-color: transparent; + --pico-border-color: transparent; + --pico-color: var(--pico-primary-hover); +} + +/* Secondary ghost button */ +:is(button, [type=button], [type=submit], [type=reset], [role=button]).ghost.secondary { + --pico-color: var(--pico-secondary); +} +:is(button, [type=button], [type=submit], [type=reset], [role=button]).ghost.secondary:is(:hover, :focus, :active, [aria-current]:not([aria-current=false])) { + --pico-color: var(--pico-secondary-hover); +} + +/* Contrast ghost button */ +:is(button, [type=button], [type=submit], [type=reset], [role=button]).ghost.contrast { + --pico-color: var(--pico-contrast); +} +:is(button, [type=button], [type=submit], [type=reset], [role=button]).ghost.contrast:is(:hover, :focus, :active, [aria-current]:not([aria-current=false])) { + --pico-color: var(--pico-contrast-hover); +} + +/** + * Table + */ +:where(table) { + width: 100%; + border-collapse: collapse; + border-spacing: 0; + text-indent: 0; +} + +table th, +table td { + padding: calc(var(--pico-spacing) / 2) var(--pico-spacing); + border-bottom: var(--pico-border-width) solid var(--pico-table-border-color); + background-color: var(--pico-background-color); + color: var(--pico-color); + font-weight: var(--pico-font-weight); + text-align: left; + text-align: start; +} + +table > caption { + margin-block: calc(var(--pico-block-spacing-vertical) * 0.5); + padding: calc(var(--pico-spacing) / 2) var(--pico-spacing); + background-color: var(--pico-table-row-stripped-background-color); + color: var(--pico-h3-color); + font-weight: var(--pico-font-weight); + font-size: 1.25rem; + text-align: center; +} + +table > tfoot th, +table > tfoot td { + border-top: var(--pico-border-width) solid var(--pico-table-border-color); + border-bottom: 0; +} + +table > caption { + margin-block: calc(var(--pico-block-spacing-vertical) * 0.5); + background-color: var(--pico-table-row-stripped-background-color); + color: var(--pico-h3-color); + font-weight: var(--pico-font-weight); + font-size: 1.25rem; + text-align: center; +} + +/* clean-css ignore:start */ +table.striped tbody tr:nth-child(odd of :not([hidden])) th, +table.striped tbody tr:nth-child(odd of :not([hidden])) td { + background-color: var(--pico-table-row-stripped-background-color); +} + +/* clean-css ignore:end */ +/** + * Embedded content + */ +:where(audio, canvas, iframe, img, svg, video) { + vertical-align: middle; +} + +audio, +video { + display: inline-block; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +:where(iframe) { + border-style: none; +} + +img { + max-width: 100%; + height: auto; + border-style: none; +} + +:where(svg:not([fill])) { + fill: currentColor; +} + +svg:not(:root), +svg:not(:host) { + overflow: hidden; +} + +/** + * Code + */ +pre, +code, +kbd, +samp { + font-size: 0.875em; + font-family: var(--pico-font-family); +} + +pre code { + font-size: inherit; + font-family: inherit; +} + +pre { + -ms-overflow-style: scrollbar; + overflow: auto; +} + +pre, +code, +kbd { + border-radius: var(--pico-border-radius); + background: var(--pico-code-background-color); + color: var(--pico-code-color); + font-weight: var(--pico-font-weight); + line-height: initial; +} + +code, +kbd { + display: inline-block; + padding: 0.125rem 0.375rem; + vertical-align: middle; +} + +pre { + display: block; + margin-bottom: var(--pico-spacing); +} +pre > code { + display: block; + padding: var(--pico-spacing); + overflow-x: auto; + background: none; + line-height: var(--pico-line-height); +} + +kbd { + background-color: var(--pico-code-kbd-background-color); + color: var(--pico-code-kbd-color); + vertical-align: baseline; +} + +/** + * Figure + */ +figure { + display: block; + margin: 0; + padding: 0; +} +figure figcaption { + padding: calc(var(--pico-spacing) * 0.5) 0; + color: var(--pico-muted-color); +} + +/** + * Misc + */ +hr { + height: 0; + margin: var(--pico-typography-spacing-vertical) 0; + border: 0; + border-top: 1px solid var(--pico-muted-border-color); + color: inherit; +} + +[hidden], +template { + display: none !important; +} + +canvas { + display: inline-block; +} + +/** + * Basics form elements + */ +input, +optgroup, +select, +textarea, +[role=group] > label, +[role=group] > legend { + margin: 0; + font-size: 1rem; + line-height: var(--pico-line-height); + font-family: inherit; + letter-spacing: inherit; +} + +input { + overflow: visible; +} + +select { + text-transform: none; +} + +*:not([role=group]) legend { + max-width: 100%; + padding: 0; + color: inherit; + white-space: normal; +} + +textarea { + overflow: auto; +} + +[type=checkbox], +[type=radio] { + padding: 0; +} + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +[type=search] { + -webkit-appearance: textfield; + outline-offset: -2px; +} + +[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +:-moz-focusring { + outline: none; +} + +:-moz-ui-invalid { + box-shadow: none; +} + +::-ms-expand { + display: none; +} + +[type=file], +[type=range] { + padding: 0; + border-width: 0; +} + +input:not([type=checkbox], [type=radio], [type=range], [type=date]) { + height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2); +} + +fieldset { + width: 100%; + margin: 0; + margin-bottom: var(--pico-spacing); + padding: 0; + border: 0; +} + +*:not([role=group]) > label, +fieldset:not([role=group]) > legend { + display: block; + margin-bottom: calc(var(--pico-spacing) * 0.375); + color: var(--pico-color); + font-weight: var(--pico-form-label-font-weight, var(--pico-font-weight)); +} + +fieldset:not([role=group]) > legend { + margin-bottom: calc(var(--pico-spacing) * 0.5); +} + +input:not([type=checkbox], [type=radio]), +button[type=submit], +select, +textarea { + width: 100%; +} + +input:not([type=checkbox], [type=radio], [type=range], [type=file]), +select, +textarea, +[role=group] > label, +[role=group] > legend { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal); +} + +input, +select, +textarea, +[role=group] > label, +[role=group] > legend { + --pico-background-color: var(--pico-form-element-background-color); + --pico-border-color: var(--pico-form-element-border-color); + --pico-color: var(--pico-form-element-color); + --pico-box-shadow: none; + border: var(--pico-border-width) solid var(--pico-border-color); + border-radius: var(--pico-border-radius); + outline: none; + background-color: var(--pico-background-color); + box-shadow: var(--pico-box-shadow); + color: var(--pico-color); + font-weight: var(--pico-font-weight); + transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition); +} + +input:not([type=submit], +[type=button], +[type=reset], +[type=checkbox], +[type=radio], +[readonly]):is(:active, :focus), +:where(select, textarea):not([readonly]):is(:active, :focus) { + --pico-background-color: var(--pico-form-element-active-background-color); +} + +input:not([type=submit], [type=button], [type=reset], [role=switch], [readonly]):is(:active, :focus), +:where(select, textarea):not([readonly]):is(:active, :focus) { + --pico-border-color: var(--pico-form-element-active-border-color); +} + +input:not([type=submit], +[type=button], +[type=reset], +[type=range], +[type=file], +[readonly]):focus, +:where(select, textarea):not([readonly]):focus { + --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color); +} + +input:not([type=submit], [type=button], [type=reset])[disabled], +select[disabled], +textarea[disabled], +label[aria-disabled=true], +[role=group] > label[aria-disabled=true], +[role=group] > legend[aria-disabled=true], +:where(fieldset[disabled]) :is(input:not([type=submit], [type=button], [type=reset]), select, textarea) { + opacity: var(--pico-form-element-disabled-opacity); + pointer-events: none; +} + +label[aria-disabled=true] input[disabled] { + opacity: 1; +} + +:not([novalidate]) :where(input, select, textarea):not([type=checkbox], +[type=radio], +[type=date], +[type=datetime-local], +[type=month], +[type=time], +[type=week], +[type=range])[aria-invalid] { + padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important; + padding-left: var(--pico-form-element-spacing-horizontal); + padding-inline-start: var(--pico-form-element-spacing-horizontal) !important; + padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important; + background-position: center right 0.75rem; + background-size: 1rem auto; + background-repeat: no-repeat; +} +:not([novalidate]) :where(input, select, textarea):not([type=checkbox], +[type=radio], +[type=date], +[type=datetime-local], +[type=month], +[type=time], +[type=week], +[type=range])[aria-invalid=false]:not(select) { + background-image: var(--pico-icon-valid); +} +:not([novalidate]) :where(input, select, textarea):not([type=checkbox], +[type=radio], +[type=date], +[type=datetime-local], +[type=month], +[type=time], +[type=week], +[type=range])[aria-invalid=true]:not(select) { + background-image: var(--pico-icon-invalid); +} +:not([novalidate]) :where(input, select, textarea)[aria-invalid=false] { + --pico-border-color: var(--pico-form-element-valid-border-color); +} +:not([novalidate]) :where(input, select, textarea)[aria-invalid=false]:is(:active, :focus) { + --pico-border-color: var(--pico-form-element-valid-active-border-color) !important; +} +:not([novalidate]) :where(input, select, textarea)[aria-invalid=false]:is(:active, :focus):not([type=checkbox], [type=radio]) { + --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-valid-focus-color) !important; +} +:not([novalidate]) :where(input, select, textarea)[aria-invalid=true] { + --pico-border-color: var(--pico-form-element-invalid-border-color); +} +:not([novalidate]) :where(input, select, textarea)[aria-invalid=true]:is(:active, :focus) { + --pico-border-color: var(--pico-form-element-invalid-active-border-color) !important; +} +:not([novalidate]) :where(input, select, textarea)[aria-invalid=true]:is(:active, :focus):not([type=checkbox], [type=radio]) { + --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-invalid-focus-color) !important; +} + +[dir=rtl] :where(input, select, textarea):not([type=checkbox], [type=radio]):is([aria-invalid], [aria-invalid=true], [aria-invalid=false]) { + background-position: center left 0.75rem; +} + +input::placeholder, +input::-webkit-input-placeholder, +textarea::placeholder, +textarea::-webkit-input-placeholder, +select:invalid, +[role=group] > label, +[role=group] > legend { + color: var(--pico-form-element-placeholder-color); + opacity: 1; +} + +input:not([type=checkbox], [type=radio]), +select, +textarea, +[role=group] > label, +[role=group] > legend { + margin-bottom: var(--pico-spacing); +} + +select::-ms-expand { + border: 0; + background-color: transparent; +} +select:not([multiple], [size]) { + padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem); + padding-left: var(--pico-form-element-spacing-horizontal); + padding-inline-start: var(--pico-form-element-spacing-horizontal); + padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem); + background-image: var(--pico-icon-chevron); + background-position: center right 0.75rem; + background-size: 1rem auto; + background-repeat: no-repeat; +} +select[multiple] option:checked { + background: var(--pico-form-element-selected-background-color); + color: var(--pico-form-element-color); +} + +[dir=rtl] select:not([multiple], [size]) { + background-position: center left 0.75rem; +} + +textarea { + display: block; + resize: vertical; +} +textarea[aria-invalid] { + --pico-icon-height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2); + background-position: top right 0.75rem !important; + background-size: 1rem var(--pico-icon-height) !important; +} + +:where(input, select, textarea, fieldset, .grid, .dropdown) + small { + display: block; + width: 100%; + margin-top: calc(var(--pico-spacing) * -0.75); + margin-bottom: var(--pico-spacing); + color: var(--pico-muted-color); +} +:where(input, select, textarea, fieldset, .grid, .dropdown)[aria-invalid=false] + small { + color: var(--pico-ins-color); +} +:where(input, select, textarea, fieldset, .grid, .dropdown)[aria-invalid=true] + small { + color: var(--pico-del-color); +} + +label > :where(input, select, textarea) { + margin-top: calc(var(--pico-spacing) * 0.25); +} + +/** + * Checkboxes, Radios and Switches + */ +label:has([type=checkbox], [type=radio]) { + width: -moz-fit-content; + width: fit-content; + cursor: pointer; +} + +[type=checkbox], +[type=radio] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + width: 1.25em; + height: 1.25em; + margin-top: -0.125em; + margin-inline-end: 0.5em; + border-width: var(--pico-border-width); + vertical-align: middle; + cursor: pointer; +} +[type=checkbox]::-ms-check, +[type=radio]::-ms-check { + display: none; +} +[type=checkbox]:checked, [type=checkbox]:checked:active, [type=checkbox]:checked:focus, +[type=radio]:checked, +[type=radio]:checked:active, +[type=radio]:checked:focus { + --pico-background-color: var(--pico-primary-background); + --pico-border-color: var(--pico-primary-border); + background-image: var(--pico-icon-checkbox); + background-position: center; + background-size: 0.75em auto; + background-repeat: no-repeat; +} +[type=checkbox] ~ label, +[type=radio] ~ label { + display: inline-block; + margin-bottom: 0; + cursor: pointer; +} +[type=checkbox] ~ label:not(:last-of-type), +[type=radio] ~ label:not(:last-of-type) { + margin-inline-end: 1em; +} + +[type=checkbox]:indeterminate { + --pico-background-color: var(--pico-primary-background); + --pico-border-color: var(--pico-primary-border); + background-image: var(--pico-icon-minus); + background-position: center; + background-size: 0.75em auto; + background-repeat: no-repeat; +} + +[type=radio] { + border-radius: 50%; +} +[type=radio]:checked, [type=radio]:checked:active, [type=radio]:checked:focus { + --pico-background-color: var(--pico-primary-inverse); + border-width: 0.35em; + background-image: none; +} + +[type=checkbox][role=switch] { + --pico-background-color: var(--pico-switch-background-color); + --pico-color: var(--pico-switch-color); + width: 2.25em; + height: 1.25em; + border: var(--pico-border-width) solid var(--pico-border-color); + border-radius: 1.25em; + background-color: var(--pico-background-color); + line-height: 1.25em; +} +[type=checkbox][role=switch]:not([aria-invalid]) { + --pico-border-color: var(--pico-switch-background-color); +} +[type=checkbox][role=switch]:before { + display: block; + aspect-ratio: 1; + height: 100%; + border-radius: 50%; + background-color: var(--pico-color); + box-shadow: var(--pico-switch-thumb-box-shadow); + content: ""; + transition: margin 0.1s ease-in-out; +} +[type=checkbox][role=switch]:focus { + --pico-background-color: var(--pico-switch-background-color); + --pico-border-color: var(--pico-switch-background-color); +} +[type=checkbox][role=switch]:checked { + --pico-background-color: var(--pico-switch-checked-background-color); + --pico-border-color: var(--pico-switch-checked-background-color); + background-image: none; +} +[type=checkbox][role=switch]:checked::before { + margin-inline-start: calc(2.25em - 1.25em); +} +[type=checkbox][role=switch][disabled] { + --pico-background-color: var(--pico-border-color); +} +[type=checkbox][role=switch][name=color-mode-toggle]:before { + mask-position: center; + mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-size: contain; /* For WebKit browsers */ + -webkit-mask-repeat: no-repeat; + -webkit-mask-position: center; + transition: margin 0.1s ease-in-out, background-color 0.1s ease-in-out; +} +[type=checkbox][role=switch][name=color-mode-toggle]:checked::before { + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M6 .278a.77.77 0 0 1 .08.858 7.2 7.2 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277q.792-.001 1.533-.16a.79.79 0 0 1 .81.316.73.73 0 0 1-.031.893A8.35 8.35 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.75.75 0 0 1 6 .278'/%3E%3Cpath d='M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.73 1.73 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.73 1.73 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.73 1.73 0 0 0 1.097-1.097zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.16 1.16 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.16 1.16 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732z'/%3E%3C/svg%3E"); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M6 .278a.77.77 0 0 1 .08.858 7.2 7.2 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277q.792-.001 1.533-.16a.79.79 0 0 1 .81.316.73.73 0 0 1-.031.893A8.35 8.35 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.75.75 0 0 1 6 .278'/%3E%3Cpath d='M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.73 1.73 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.73 1.73 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.73 1.73 0 0 0 1.097-1.097zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.16 1.16 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.16 1.16 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732z'/%3E%3C/svg%3E"); + background-color: var(--pico-primary-inverse); +} +[type=checkbox][role=switch][name=color-mode-toggle]:not(:checked)::before { + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0m9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708'/%3E%3C/svg%3E"); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0m9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708'/%3E%3C/svg%3E"); + background-color: var(--pico-primary-inverse); +} + +:not([novalidate]) [type=checkbox][aria-invalid=false]:checked, :not([novalidate]) [type=checkbox][aria-invalid=false]:checked:active, :not([novalidate]) [type=checkbox][aria-invalid=false]:checked:focus, +:not([novalidate]) [type=checkbox][role=switch][aria-invalid=false]:checked, +:not([novalidate]) [type=checkbox][role=switch][aria-invalid=false]:checked:active, +:not([novalidate]) [type=checkbox][role=switch][aria-invalid=false]:checked:focus { + --pico-background-color: var(--pico-form-element-valid-border-color); +} +:not([novalidate]) [type=checkbox]:checked[aria-invalid=true], :not([novalidate]) [type=checkbox]:checked:active[aria-invalid=true], :not([novalidate]) [type=checkbox]:checked:focus[aria-invalid=true], +:not([novalidate]) [type=checkbox][role=switch]:checked[aria-invalid=true], +:not([novalidate]) [type=checkbox][role=switch]:checked:active[aria-invalid=true], +:not([novalidate]) [type=checkbox][role=switch]:checked:focus[aria-invalid=true] { + --pico-background-color: var(--pico-form-element-invalid-border-color); +} + +:not([novalidate]) [type=checkbox][aria-invalid=false]:checked, :not([novalidate]) [type=checkbox][aria-invalid=false]:checked:active, :not([novalidate]) [type=checkbox][aria-invalid=false]:checked:focus, +:not([novalidate]) [type=radio][aria-invalid=false]:checked, +:not([novalidate]) [type=radio][aria-invalid=false]:checked:active, +:not([novalidate]) [type=radio][aria-invalid=false]:checked:focus, +:not([novalidate]) [type=checkbox][role=switch][aria-invalid=false]:checked, +:not([novalidate]) [type=checkbox][role=switch][aria-invalid=false]:checked:active, +:not([novalidate]) [type=checkbox][role=switch][aria-invalid=false]:checked:focus { + --pico-border-color: var(--pico-form-element-valid-border-color); +} +:not([novalidate]) [type=checkbox]:checked[aria-invalid=true], :not([novalidate]) [type=checkbox]:checked:active[aria-invalid=true], :not([novalidate]) [type=checkbox]:checked:focus[aria-invalid=true], +:not([novalidate]) [type=radio]:checked[aria-invalid=true], +:not([novalidate]) [type=radio]:checked:active[aria-invalid=true], +:not([novalidate]) [type=radio]:checked:focus[aria-invalid=true], +:not([novalidate]) [type=checkbox][role=switch]:checked[aria-invalid=true], +:not([novalidate]) [type=checkbox][role=switch]:checked:active[aria-invalid=true], +:not([novalidate]) [type=checkbox][role=switch]:checked:focus[aria-invalid=true] { + --pico-border-color: var(--pico-form-element-invalid-border-color); +} + +/** + * Input type color + */ +[type=color]::-webkit-color-swatch-wrapper { + padding: 0; +} +[type=color]::-moz-focus-inner { + padding: 0; +} +[type=color]::-webkit-color-swatch { + border: 0; + border-radius: calc(var(--pico-border-radius) * 0.5); +} +[type=color]::-moz-color-swatch { + border: 0; + border-radius: calc(var(--pico-border-radius) * 0.5); +} + +/** + * Input type datetime + */ +input:not([type=checkbox], [type=radio], [type=range], [type=file]):is([type=date], [type=datetime-local], [type=month], [type=time], [type=week]) { + --pico-icon-position: 0.75rem; + --pico-icon-width: 1rem; + padding-right: calc(var(--pico-icon-width) + var(--pico-icon-position)); + background-image: var(--pico-icon-date); + background-position: center right var(--pico-icon-position); + background-size: var(--pico-icon-width) auto; + background-repeat: no-repeat; +} +input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=time] { + background-image: var(--pico-icon-time); +} + +[type=date]::-webkit-calendar-picker-indicator, +[type=datetime-local]::-webkit-calendar-picker-indicator, +[type=month]::-webkit-calendar-picker-indicator, +[type=time]::-webkit-calendar-picker-indicator, +[type=week]::-webkit-calendar-picker-indicator { + width: var(--pico-icon-width); + margin-right: calc(var(--pico-icon-width) * -1); + margin-left: var(--pico-icon-position); + opacity: 0; +} + +@-moz-document url-prefix() { + [type=date], + [type=datetime-local], + [type=month], + [type=time], + [type=week] { + padding-right: var(--pico-form-element-spacing-horizontal) !important; + background-image: none !important; + } +} +[dir=rtl] :is([type=date], [type=datetime-local], [type=month], [type=time], [type=week]) { + text-align: right; +} + +/** + * Input type file + */ +[type=file] { + --pico-color: var(--pico-muted-color); + margin-left: calc(var(--pico-outline-width) * -1); + padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) 0; + padding-left: var(--pico-outline-width); + border: 0; + border-radius: 0; + background: none; +} +[type=file]::file-selector-button { + margin-right: calc(var(--pico-spacing) / 2); + padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) var(--pico-form-element-spacing-horizontal); +} +[type=file]:is(:hover, :active, :focus)::file-selector-button { + --pico-background-color: var(--pico-secondary-hover-background); + --pico-border-color: var(--pico-secondary-hover-border); +} +[type=file]:focus::file-selector-button { + --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus); +} + +/** + * Input type range + */ +[type=range] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + width: 100%; + height: 1.25rem; + background: none; +} +[type=range]::-webkit-slider-runnable-track { + width: 100%; + height: 0.375rem; + border-radius: var(--pico-border-radius); + background-color: var(--pico-range-border-color); + -webkit-transition: background-color var(--pico-transition), box-shadow var(--pico-transition); + transition: background-color var(--pico-transition), box-shadow var(--pico-transition); +} +[type=range]::-moz-range-track { + width: 100%; + height: 0.375rem; + border-radius: var(--pico-border-radius); + background-color: var(--pico-range-border-color); + -moz-transition: background-color var(--pico-transition), box-shadow var(--pico-transition); + transition: background-color var(--pico-transition), box-shadow var(--pico-transition); +} +[type=range]::-ms-track { + width: 100%; + height: 0.375rem; + border-radius: var(--pico-border-radius); + background-color: var(--pico-range-border-color); + -ms-transition: background-color var(--pico-transition), box-shadow var(--pico-transition); + transition: background-color var(--pico-transition), box-shadow var(--pico-transition); +} +[type=range]::-webkit-slider-thumb { + -webkit-appearance: none; + width: 1.25rem; + height: 1.25rem; + margin-top: -0.4375rem; + border: 2px solid var(--pico-range-thumb-border-color); + border-radius: 50%; + background-color: var(--pico-range-thumb-color); + cursor: pointer; + -webkit-transition: background-color var(--pico-transition), transform var(--pico-transition); + transition: background-color var(--pico-transition), transform var(--pico-transition); +} +[type=range]::-moz-range-thumb { + -webkit-appearance: none; + width: 1.25rem; + height: 1.25rem; + margin-top: -0.4375rem; + border: 2px solid var(--pico-range-thumb-border-color); + border-radius: 50%; + background-color: var(--pico-range-thumb-color); + cursor: pointer; + -moz-transition: background-color var(--pico-transition), transform var(--pico-transition); + transition: background-color var(--pico-transition), transform var(--pico-transition); +} +[type=range]::-ms-thumb { + -webkit-appearance: none; + width: 1.25rem; + height: 1.25rem; + margin-top: -0.4375rem; + border: 2px solid var(--pico-range-thumb-border-color); + border-radius: 50%; + background-color: var(--pico-range-thumb-color); + cursor: pointer; + -ms-transition: background-color var(--pico-transition), transform var(--pico-transition); + transition: background-color var(--pico-transition), transform var(--pico-transition); +} +[type=range]:active, [type=range]:focus-within { + --pico-range-border-color: var(--pico-range-active-border-color); + --pico-range-thumb-color: var(--pico-range-thumb-active-color); +} +[type=range]:active::-webkit-slider-thumb { + transform: scale(1.25); +} +[type=range]:active::-moz-range-thumb { + transform: scale(1.25); +} +[type=range]:active::-ms-thumb { + transform: scale(1.25); +} + +/** + * Input type search + */ +input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] { + padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem); + background-image: var(--pico-icon-search); + background-position: center left calc(var(--pico-form-element-spacing-horizontal) + 0.125rem); + background-size: 1rem auto; + background-repeat: no-repeat; +} +input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] { + padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem) !important; + background-position: center left 1.125rem, center right 0.75rem; +} +input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=false] { + background-image: var(--pico-icon-search), var(--pico-icon-valid); +} +input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=true] { + background-image: var(--pico-icon-search), var(--pico-icon-invalid); +} + +[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] { + background-position: center right 1.125rem; +} +[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] { + background-position: center right 1.125rem, center left 0.75rem; +} + +form:not([novalidate]) { + /* File list when selected from the file input */ +} +form:not([novalidate]) input:user-valid:not(:-moz-placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]), form:not([novalidate]) input:user-invalid:not(:-moz-placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]) { + padding-right: calc(1.5em + 0.75rem); + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); + background-repeat: no-repeat; +} +form:not([novalidate]) input:user-valid:not(:placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]), +form:not([novalidate]) input:user-invalid:not(:placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]) { + padding-right: calc(1.5em + 0.75rem); + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); + background-repeat: no-repeat; +} +form:not([novalidate]) select:user-valid:not([multiple], [size]), +form:not([novalidate]) select:user-invalid:not([multiple], [size]) { + padding-right: calc(1.5em + 0.75rem); + padding-right: 4.2rem; + background-position: right 0.75rem center, center right 2.25rem; + background-repeat: no-repeat; +} +form:not([novalidate]) select:user-invalid:not([multiple], [size]) { + background-image: var(--pico-icon-chevron), var(--pico-icon-invalid); +} +form:not([novalidate]) select:user-valid:not([multiple], [size]) { + background-image: var(--pico-icon-chevron), var(--pico-icon-valid); +} +form:not([novalidate]) textarea:user-valid:not(:-moz-placeholder-shown), form:not([novalidate]) textarea:user-invalid:not(:-moz-placeholder-shown) { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); + background-repeat: no-repeat; +} +form:not([novalidate]) textarea:user-valid:not(:placeholder-shown), +form:not([novalidate]) textarea:user-invalid:not(:placeholder-shown) { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); + background-repeat: no-repeat; +} +form:not([novalidate]) input:user-invalid:not(:-moz-placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]), form:not([novalidate]) textarea:user-invalid:not(:-moz-placeholder-shown) { + border-color: var(--pico-form-element-invalid-border-color); + background-image: var(--pico-icon-invalid); +} +form:not([novalidate]) input:user-invalid:not(:placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]), +form:not([novalidate]) select:user-invalid:not([multiple], [size]), +form:not([novalidate]) textarea:user-invalid:not(:placeholder-shown) { + border-color: var(--pico-form-element-invalid-border-color); + background-image: var(--pico-icon-invalid); +} +form:not([novalidate]) input:user-invalid:not(:-moz-placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]):focus, form:not([novalidate]) textarea:user-invalid:not(:-moz-placeholder-shown):focus { + border-color: var(--pico-form-element-invalid-active-border-color); +} +form:not([novalidate]) input:user-invalid:not(:placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]):focus, +form:not([novalidate]) select:user-invalid:not([multiple], [size]):focus, +form:not([novalidate]) textarea:user-invalid:not(:placeholder-shown):focus { + border-color: var(--pico-form-element-invalid-active-border-color); +} +form:not([novalidate]) input:user-valid:not(:-moz-placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]), form:not([novalidate]) textarea:user-valid:not(:-moz-placeholder-shown) { + border-color: var(--pico-form-element-valid-border-color); + background-image: var(--pico-icon-valid); +} +form:not([novalidate]) input:user-valid:not(:placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]), +form:not([novalidate]) select:user-valid:not([multiple], [size]), +form:not([novalidate]) textarea:user-valid:not(:placeholder-shown) { + border-color: var(--pico-form-element-valid-border-color); + background-image: var(--pico-icon-valid); +} +form:not([novalidate]) input:user-valid:not(:-moz-placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]):focus, form:not([novalidate]) textarea:user-valid:not(:-moz-placeholder-shown):focus { + border-color: var(--pico-form-element-valid-active-border-color); +} +form:not([novalidate]) input:user-valid:not(:placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]):focus, +form:not([novalidate]) select:user-valid:not([multiple], [size]):focus, +form:not([novalidate]) textarea:user-valid:not(:placeholder-shown):focus { + border-color: var(--pico-form-element-valid-active-border-color); +} +form:not([novalidate]) input:required:user-invalid:is([type=checkbox]) { + border-color: var(--pico-form-element-invalid-border-color); +} +form:not([novalidate]) input:user-valid:not(:-moz-placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]) + small[data-valid]::after, form:not([novalidate]) textarea:user-valid:not(:-moz-placeholder-shown) + small[data-valid]::after { + content: attr(data-valid); + color: var(--pico-form-element-valid-border-color); +} +form:not([novalidate]) input:user-valid:not(:placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]) + small[data-valid]::after, +form:not([novalidate]) select:user-valid:not([multiple], [size]) + small[data-valid]::after, +form:not([novalidate]) textarea:user-valid:not(:placeholder-shown) + small[data-valid]::after { + content: attr(data-valid); + color: var(--pico-form-element-valid-border-color); +} +form:not([novalidate]) textarea:user-invalid:not(:-moz-placeholder-shown) + small[data-invalid]::after, form:not([novalidate]) input:user-invalid:not(:-moz-placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]) + [data-invalid]::after { + content: attr(data-invalid); + color: var(--pico-form-element-invalid-border-color); +} +form:not([novalidate]) textarea:user-invalid:not(:placeholder-shown) + small[data-invalid]::after, +form:not([novalidate]) select:user-invalid:not([multiple], [size]) + small[data-invalid]::after, +form:not([novalidate]) input:user-invalid:not(:placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]) + [data-invalid]::after, +form:not([novalidate]) input[type=file]:user-invalid + ul + [data-invalid]::after { + content: attr(data-invalid); + color: var(--pico-form-element-invalid-border-color); +} +form:not([novalidate]) input:user-valid:not(:-moz-placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]) + [data-valid]::after, form:not([novalidate]) input:user-invalid:not(:-moz-placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]) + [data-invalid]::after, form:not([novalidate]) textarea:user-valid:not(:-moz-placeholder-shown) + [data-valid]::after { + display: block; +} +form:not([novalidate]) input:user-valid:not(:placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]) + [data-valid]::after, +form:not([novalidate]) input:user-invalid:not(:placeholder-shown, [type=button], [type=reset], [type=image], [type=submit], [type=checkbox], [type=radio]) + [data-invalid]::after, +form:not([novalidate]) textarea:user-valid:not(:placeholder-shown) + [data-valid]::after, +form:not([novalidate]) input[type=file]:user-invalid + [data-invalid]::after, +form:not([novalidate]) input[type=file]:user-invalid + ul + [data-invalid]::after { + display: block; +} +form:not([novalidate]) input[type=file]:user-invalid + ul + [data-invalid]::after { + position: relative; + top: -2rem; +} +form:not([novalidate]) input[type=file]:user-invalid::file-selector-button { + border-color: var(--pico-form-element-invalid-border-color); + background-color: var(--pico-form-element-invalid-border-color); +} +form:not([novalidate]) .file-list { + padding-left: 0; +} +form:not([novalidate]) .file-list li { + display: flex; + align-items: center; + justify-content: space-between; + list-style-type: none; + text-align: center; +} +form:not([novalidate]) .file-list li:nth-child(2n) { + background-color: #1b1b1b; +} +form:not([novalidate]) .file-list li:hover { + background-color: var(--pico-muted-border-color); +} +form:not([novalidate]) .file-list li .btn-file-rm { + display: inline-block; + width: 1rem; + height: 1rem; + margin-right: 10px; + padding: 0; + padding-top: calc(var(--pico-spacing) * 0.25); + border: none; + background-image: var(--pico-icon-red-close); + background-position: center; + background-size: 1rem; + background-repeat: no-repeat; + background-color: transparent; + color: var(--pico-element-invalid-border-color); + opacity: 0.5; + transition: opacity var(--pico-transition); +} +form:not([novalidate]) .file-list li .btn-file-rm:hover { + opacity: 1; +} + +section[role=form] { + position: relative; + margin-bottom: 0; +} +section[role=form] > input::-moz-placeholder, section[role=form] > textarea::-moz-placeholder { + color: rgba(0, 0, 0, 0); + -moz-transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1); + transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1); +} +section[role=form] > input::placeholder, +section[role=form] > textarea::placeholder { + color: rgba(0, 0, 0, 0); + transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1); +} +section[role=form] > input:focus::-moz-placeholder, section[role=form] > textarea:focus::-moz-placeholder { + color: var(--pico-form-element-placeholder-color); +} +section[role=form] > input:focus::placeholder, +section[role=form] > textarea:focus::placeholder { + color: var(--pico-form-element-placeholder-color); +} +section[role=form] > input + label, +section[role=form] > textarea + label, +section[role=form] > select + label { + position: absolute; + top: 0.55rem; + left: 0.8rem; + transform: translateY(0%); + background: var(--pico-form-element-background-color); + color: var(--pico-form-element-placeholder-color); + cursor: text; + transition: 0.3s ease; +} +section[role=form] > input:not(:-moz-placeholder-shown) + label, section[role=form] > textarea:not(:-moz-placeholder-shown) + label { + top: 0; + padding: calc(var(--pico-spacing) * 0.15) calc(var(--pico-spacing) * 0.5); + transform: translateY(-50%) scale(0.8); + color: var(--pico-form-element-active-border-color); + font-size: var(--pico-font-size); + line-height: 1.15; + -moz-transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1); + transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1); +} +section[role=form] > input:not(:placeholder-shown) + label, +section[role=form] > input:focus + label, +section[role=form] > textarea:not(:placeholder-shown) + label, +section[role=form] > textarea:focus + label, +section[role=form] > select:focus + label, +section[role=form] > select:has(option:checked:not([disabled])) + label { + top: 0; + padding: calc(var(--pico-spacing) * 0.15) calc(var(--pico-spacing) * 0.5); + transform: translateY(-50%) scale(0.8); + color: var(--pico-form-element-active-border-color); + font-size: var(--pico-font-size); + line-height: 1.15; + transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1); +} +section[role=form] > input:user-invalid:not(:-moz-placeholder-shown) + label, section[role=form] > textarea:user-invalid:not(:-moz-placeholder-shown) + label { + color: var(--pico-form-element-invalid-border-color); +} +section[role=form] > input:user-invalid:not(:placeholder-shown) + label, +section[role=form] > textarea:user-invalid:not(:placeholder-shown) + label { + color: var(--pico-form-element-invalid-border-color); +} +section[role=form] > input:user-valid:not(:-moz-placeholder-shown) + label, section[role=form] > textarea:user-valid:not(:-moz-placeholder-shown) + label { + color: var(--pico-form-element-valid-border-color); +} +section[role=form] > input:user-valid:not(:placeholder-shown) + label, +section[role=form] > textarea:user-valid:not(:placeholder-shown) + label { + color: var(--pico-form-element-valid-border-color); +} + +/** + * Accordion (
) + */ +details { + display: block; + margin-block-end: var(--pico-spacing); +} +details.hide-arrow > summary::after { + display: none; + content: none; +} +details:not(.hide-arrow) > summary { + padding-inline-end: calc(var(--pico-nav-link-spacing-horizontal) * 3.25); +} +details summary { + position: relative; + line-height: 1rem; + list-style-type: none; + cursor: pointer; +} +details summary:not([role]) { + color: var(--pico-accordion-close-summary-color); +} +details summary::-webkit-details-marker { + display: none; +} +details summary::marker { + display: none; +} +details summary::-moz-list-bullet { + list-style-type: none; +} +details summary::after { + display: block; + position: absolute; + top: calc(var(--pico-block-spacing-vertical) * 0.5); + right: calc(var(--pico-block-spacing-horizontal) * 0.5); + width: 1rem; + height: 1rem; + margin-inline-start: calc(var(--pico-spacing, 1rem) * 0.5); + transform: rotate(-90deg); + background-image: var(--pico-icon-chevron); + background-position: right center; + background-size: 1rem auto; + background-repeat: no-repeat; + content: ""; + transition: transform var(--pico-transition); +} +details summary:focus { + outline: none; +} +details summary:focus:not([role]) { + color: var(--pico-accordion-active-summary-color); +} +details summary:focus-visible:not([role]) { + outline: var(--pico-outline-width) solid var(--pico-primary-focus); + outline-offset: calc(var(--pico-spacing, 1rem) * 0.5); + color: var(--pico-primary); +} +details summary[role=button] { + width: 100%; + text-align: left; +} +details summary[role=button]::after { + height: calc(1rem * var(--pico-line-height, 1.5)); +} +details[open] > summary { + margin-block-end: var(--pico-spacing); +} +details[open] > summary:not([role]):not(:focus) { + color: var(--pico-accordion-open-summary-color); +} +details[open] > summary::after { + transform: rotate(0); +} + +[dir=rtl] details summary { + text-align: right; +} +[dir=rtl] details summary::after { + float: left; + transform: rotate(90deg); + background-position: left center; +} +[dir=rtl] details[open] > summary::after { + transform: rotate(0); +} + +/** + * Card (
, role="article") + */ +article:not(:has(> form:first-child)), +[role=article]:not(:has(> form:first-child)), +article > form, +[role=article] > form { + margin-bottom: var(--pico-block-spacing-vertical); + padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal); + border-radius: var(--pico-border-radius); + background: var(--pico-card-background-color); + box-shadow: var(--pico-card-box-shadow); +} +article:not(:has(> form:first-child)) > header, +article:not(:has(> form:first-child)) > footer, +[role=article]:not(:has(> form:first-child)) > header, +[role=article]:not(:has(> form:first-child)) > footer, +article > form > header, +article > form > footer, +[role=article] > form > header, +[role=article] > form > footer { + margin-right: calc(var(--pico-block-spacing-horizontal) * -1); + margin-left: calc(var(--pico-block-spacing-horizontal) * -1); + padding: calc(var(--pico-block-spacing-vertical) * 0.66) var(--pico-block-spacing-horizontal); + background-color: var(--pico-card-sectioning-background-color); +} +article:not(:has(> form:first-child)) > header, +[role=article]:not(:has(> form:first-child)) > header, +article > form > header, +[role=article] > form > header { + margin-top: calc(var(--pico-block-spacing-vertical) * -1); + margin-bottom: var(--pico-block-spacing-vertical); + border-bottom: var(--pico-border-width) solid var(--pico-card-border-color); + border-top-right-radius: var(--pico-border-radius); + border-top-left-radius: var(--pico-border-radius); +} +article:not(:has(> form:first-child)) > header > h1, +article:not(:has(> form:first-child)) > header > h2, +article:not(:has(> form:first-child)) > header > h3, +article:not(:has(> form:first-child)) > header > h4, +article:not(:has(> form:first-child)) > header > h5, +article:not(:has(> form:first-child)) > header > h6, +[role=article]:not(:has(> form:first-child)) > header > h1, +[role=article]:not(:has(> form:first-child)) > header > h2, +[role=article]:not(:has(> form:first-child)) > header > h3, +[role=article]:not(:has(> form:first-child)) > header > h4, +[role=article]:not(:has(> form:first-child)) > header > h5, +[role=article]:not(:has(> form:first-child)) > header > h6, +article > form > header > h1, +article > form > header > h2, +article > form > header > h3, +article > form > header > h4, +article > form > header > h5, +article > form > header > h6, +[role=article] > form > header > h1, +[role=article] > form > header > h2, +[role=article] > form > header > h3, +[role=article] > form > header > h4, +[role=article] > form > header > h5, +[role=article] > form > header > h6 { + margin-bottom: 0; +} +article:not(:has(> form:first-child)) > header > hgroup > h1, +article:not(:has(> form:first-child)) > header > hgroup > h2, +article:not(:has(> form:first-child)) > header > hgroup > h3, +article:not(:has(> form:first-child)) > header > hgroup > h4, +article:not(:has(> form:first-child)) > header > hgroup > h5, +article:not(:has(> form:first-child)) > header > hgroup > h6, +[role=article]:not(:has(> form:first-child)) > header > hgroup > h1, +[role=article]:not(:has(> form:first-child)) > header > hgroup > h2, +[role=article]:not(:has(> form:first-child)) > header > hgroup > h3, +[role=article]:not(:has(> form:first-child)) > header > hgroup > h4, +[role=article]:not(:has(> form:first-child)) > header > hgroup > h5, +[role=article]:not(:has(> form:first-child)) > header > hgroup > h6, +article > form > header > hgroup > h1, +article > form > header > hgroup > h2, +article > form > header > hgroup > h3, +article > form > header > hgroup > h4, +article > form > header > hgroup > h5, +article > form > header > hgroup > h6, +[role=article] > form > header > hgroup > h1, +[role=article] > form > header > hgroup > h2, +[role=article] > form > header > hgroup > h3, +[role=article] > form > header > hgroup > h4, +[role=article] > form > header > hgroup > h5, +[role=article] > form > header > hgroup > h6 { + margin-bottom: 0; +} +article:not(:has(> form:first-child)) > footer, +[role=article]:not(:has(> form:first-child)) > footer, +article > form > footer, +[role=article] > form > footer { + margin-top: var(--pico-block-spacing-vertical); + margin-bottom: calc(var(--pico-block-spacing-vertical) * -1); + border-top: var(--pico-border-width) solid var(--pico-card-border-color); + border-bottom-right-radius: var(--pico-border-radius); + border-bottom-left-radius: var(--pico-border-radius); +} +article:not(:has(> form:first-child)) > footer [type=submit], +article:not(:has(> form:first-child)) > footer [type=reset], +article:not(:has(> form:first-child)) > footer [type=button], +article:not(:has(> form:first-child)) > footer [role=group], +article:not(:has(> form:first-child)) > footer p, +article:not(:has(> form:first-child)) > footer nav, +article:not(:has(> form:first-child)) > footer ul, +article:not(:has(> form:first-child)) > footer ol, +[role=article]:not(:has(> form:first-child)) > footer [type=submit], +[role=article]:not(:has(> form:first-child)) > footer [type=reset], +[role=article]:not(:has(> form:first-child)) > footer [type=button], +[role=article]:not(:has(> form:first-child)) > footer [role=group], +[role=article]:not(:has(> form:first-child)) > footer p, +[role=article]:not(:has(> form:first-child)) > footer nav, +[role=article]:not(:has(> form:first-child)) > footer ul, +[role=article]:not(:has(> form:first-child)) > footer ol, +article > form > footer [type=submit], +article > form > footer [type=reset], +article > form > footer [type=button], +article > form > footer [role=group], +article > form > footer p, +article > form > footer nav, +article > form > footer ul, +article > form > footer ol, +[role=article] > form > footer [type=submit], +[role=article] > form > footer [type=reset], +[role=article] > form > footer [type=button], +[role=article] > form > footer [role=group], +[role=article] > form > footer p, +[role=article] > form > footer nav, +[role=article] > form > footer ul, +[role=article] > form > footer ol { + margin-bottom: 0px; + /* Also remove if next input after button is a hidden input */ +} +article:not(:has(> form:first-child)) > footer [type=submit]:last-child, +article:not(:has(> form:first-child)) > footer [type=reset]:last-child, +article:not(:has(> form:first-child)) > footer [type=button]:last-child, +article:not(:has(> form:first-child)) > footer [role=group]:last-child, +article:not(:has(> form:first-child)) > footer p:last-child, +article:not(:has(> form:first-child)) > footer nav:last-child, +article:not(:has(> form:first-child)) > footer ul:last-child, +article:not(:has(> form:first-child)) > footer ol:last-child, +[role=article]:not(:has(> form:first-child)) > footer [type=submit]:last-child, +[role=article]:not(:has(> form:first-child)) > footer [type=reset]:last-child, +[role=article]:not(:has(> form:first-child)) > footer [type=button]:last-child, +[role=article]:not(:has(> form:first-child)) > footer [role=group]:last-child, +[role=article]:not(:has(> form:first-child)) > footer p:last-child, +[role=article]:not(:has(> form:first-child)) > footer nav:last-child, +[role=article]:not(:has(> form:first-child)) > footer ul:last-child, +[role=article]:not(:has(> form:first-child)) > footer ol:last-child, +article > form > footer [type=submit]:last-child, +article > form > footer [type=reset]:last-child, +article > form > footer [type=button]:last-child, +article > form > footer [role=group]:last-child, +article > form > footer p:last-child, +article > form > footer nav:last-child, +article > form > footer ul:last-child, +article > form > footer ol:last-child, +[role=article] > form > footer [type=submit]:last-child, +[role=article] > form > footer [type=reset]:last-child, +[role=article] > form > footer [type=button]:last-child, +[role=article] > form > footer [role=group]:last-child, +[role=article] > form > footer p:last-child, +[role=article] > form > footer nav:last-child, +[role=article] > form > footer ul:last-child, +[role=article] > form > footer ol:last-child { + margin-bottom: 0px; +} +article:not(:has(> form:first-child)) > footer [type=submit]:has(+ [type=hidden]), +article:not(:has(> form:first-child)) > footer [type=reset]:has(+ [type=hidden]), +article:not(:has(> form:first-child)) > footer [type=button]:has(+ [type=hidden]), +article:not(:has(> form:first-child)) > footer [role=group]:has(+ [type=hidden]), +article:not(:has(> form:first-child)) > footer p:has(+ [type=hidden]), +article:not(:has(> form:first-child)) > footer nav:has(+ [type=hidden]), +article:not(:has(> form:first-child)) > footer ul:has(+ [type=hidden]), +article:not(:has(> form:first-child)) > footer ol:has(+ [type=hidden]), +[role=article]:not(:has(> form:first-child)) > footer [type=submit]:has(+ [type=hidden]), +[role=article]:not(:has(> form:first-child)) > footer [type=reset]:has(+ [type=hidden]), +[role=article]:not(:has(> form:first-child)) > footer [type=button]:has(+ [type=hidden]), +[role=article]:not(:has(> form:first-child)) > footer [role=group]:has(+ [type=hidden]), +[role=article]:not(:has(> form:first-child)) > footer p:has(+ [type=hidden]), +[role=article]:not(:has(> form:first-child)) > footer nav:has(+ [type=hidden]), +[role=article]:not(:has(> form:first-child)) > footer ul:has(+ [type=hidden]), +[role=article]:not(:has(> form:first-child)) > footer ol:has(+ [type=hidden]), +article > form > footer [type=submit]:has(+ [type=hidden]), +article > form > footer [type=reset]:has(+ [type=hidden]), +article > form > footer [type=button]:has(+ [type=hidden]), +article > form > footer [role=group]:has(+ [type=hidden]), +article > form > footer p:has(+ [type=hidden]), +article > form > footer nav:has(+ [type=hidden]), +article > form > footer ul:has(+ [type=hidden]), +article > form > footer ol:has(+ [type=hidden]), +[role=article] > form > footer [type=submit]:has(+ [type=hidden]), +[role=article] > form > footer [type=reset]:has(+ [type=hidden]), +[role=article] > form > footer [type=button]:has(+ [type=hidden]), +[role=article] > form > footer [role=group]:has(+ [type=hidden]), +[role=article] > form > footer p:has(+ [type=hidden]), +[role=article] > form > footer nav:has(+ [type=hidden]), +[role=article] > form > footer ul:has(+ [type=hidden]), +[role=article] > form > footer ol:has(+ [type=hidden]) { + margin-bottom: 0px; +} + +/** + * Dropdown (details.dropdown) + */ +details.dropdown { + position: relative; + border-bottom: none; +} +details.dropdown[open] > summary::after, +details.dropdown[open] > button::after, +details.dropdown[open] > a::after { + transform: rotate(0deg); +} +details.dropdown > summary::after, +details.dropdown > button::after, +details.dropdown > a::after { + display: block; + width: 1rem; + height: calc(1rem * var(--pico-line-height, 1.5)); + margin-inline-start: 0.25rem; + float: right; + transform: rotate(-90deg); + background-image: var(--pico-icon-chevron); + background-position: right center; + background-size: 1rem auto; + background-repeat: no-repeat; + content: ""; +} +details.dropdown > summary:not([role]) { + height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2); + padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal); + border: var(--pico-border-width) solid var(--pico-form-element-border-color); + border-radius: var(--pico-border-radius); + background-color: var(--pico-form-element-background-color); + color: var(--pico-form-element-placeholder-color); + line-height: inherit; + text-align: inherit; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition); +} +details.dropdown > summary:not([role]):active, details.dropdown > summary:not([role]):focus { + border-color: var(--pico-form-element-active-border-color); + background-color: var(--pico-form-element-active-background-color); +} +details.dropdown > summary:not([role]):focus { + box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color); +} +details.dropdown > summary:not([role]):focus-visible { + outline: none; +} +details.dropdown > summary:not([role])[aria-invalid=false] { + --pico-form-element-border-color: var(--pico-form-element-valid-border-color); + --pico-form-element-active-border-color: var(--pico-form-element-valid-focus-color); + --pico-form-element-focus-color: var(--pico-form-element-valid-focus-color); +} +details.dropdown > summary:not([role])[aria-invalid=true] { + --pico-form-element-border-color: var(--pico-form-element-invalid-border-color); + --pico-form-element-active-border-color: var(--pico-form-element-invalid-focus-color); + --pico-form-element-focus-color: var(--pico-form-element-invalid-focus-color); +} +details.dropdown > summary + ul { + display: flex; + z-index: 99; + position: absolute; + left: 0; + flex-direction: column; + width: 100%; + min-width: 200px; + min-width: -moz-fit-content; + min-width: fit-content; + margin: 0; + margin-block-start: var(--pico-outline-width); + padding: 0; + border: var(--pico-border-width) solid var(--pico-dropdown-border-color); + border-radius: var(--pico-border-radius); + background-color: var(--pico-dropdown-background-color); + box-shadow: var(--pico-dropdown-box-shadow); + color: var(--pico-dropdown-color); + white-space: nowrap; + opacity: 0; + transition: opacity var(--pico-transition), transform 0s ease-in-out 1s; +} +details.dropdown > summary + ul[dir=rtl] { + right: 0; + left: auto; +} +details.dropdown > summary + ul li { + width: 100%; + margin-block-end: 0; + padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) var(--pico-form-element-spacing-horizontal); + list-style: none; +} +details.dropdown > summary + ul li:first-of-type { + margin-block-start: calc(var(--pico-form-element-spacing-vertical) * 0.5); +} +details.dropdown > summary + ul li:last-of-type { + margin-block-end: calc(var(--pico-form-element-spacing-vertical) * 0.5); +} +details.dropdown > summary + ul li details { + width: 100%; + margin-block-end: 0; +} +details.dropdown > summary + ul li details > summary { + line-height: var(--pico-line-height); +} +details.dropdown > summary + ul li a { + display: block; + margin: calc(var(--pico-form-element-spacing-vertical) * -0.5) calc(var(--pico-form-element-spacing-horizontal) * -1); + padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) var(--pico-form-element-spacing-horizontal); + overflow: hidden; + border-radius: 0; + color: var(--pico-dropdown-color); + text-decoration: none; + text-overflow: ellipsis; +} +details.dropdown > summary + ul li a:hover, details.dropdown > summary + ul li a:focus, details.dropdown > summary + ul li a:active, details.dropdown > summary + ul li a:focus-visible, details.dropdown > summary + ul li a[aria-current]:not([aria-current=false]) { + background-color: var(--pico-dropdown-hover-background-color); +} +details.dropdown > summary + ul li label { + width: 100%; +} +details.dropdown > summary + ul li:has(label):hover { + background-color: var(--pico-dropdown-hover-background-color); +} +details.dropdown[open] > summary { + margin-block-end: 0; +} +details.dropdown[open] > summary::before { + display: block; + z-index: 1; + position: fixed; + width: 100vw; + height: 100vh; + inset: 0; + background: none; + content: ""; + cursor: default; +} +details.dropdown[open] > summary + ul { + transform: scaleY(1); + opacity: 1; + transition: opacity var(--pico-transition), transform 0s ease-in-out 0s; +} + +nav details.dropdown { + display: inline; + margin: calc(var(--pico-nav-element-spacing-vertical) * -1) 0; + margin-block-end: 0; +} +nav details.dropdown.hide-arrow > summary::after { + display: none; + content: none; +} +nav details.dropdown > summary:not([role]) { + height: calc(1rem * var(--pico-line-height) + var(--pico-nav-link-spacing-vertical) * 2); + padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal); +} +nav details.dropdown > summary:not([role]):focus-visible { + box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus); +} +nav details.dropdown:not(.hide-arrow) > summary { + padding-inline-end: calc(var(--pico-nav-link-spacing-horizontal) * 3.25); +} + +label > details.dropdown { + margin-block-start: calc(var(--pico-spacing) * 0.25); +} + +/** + * Group ([role="group"], [role="search"]) + */ +/* V3 Remove, modifing the placement is disabled + * in chrome.*/ +fieldset[role=group] > legend { + float: left; +} + +[role=search], +[role=group] { + display: inline-flex; + position: relative; + width: 100%; + margin-bottom: var(--pico-spacing); + border-radius: var(--pico-border-radius); + box-shadow: var(--pico-group-box-shadow, 0 0 0 rgba(0, 0, 0, 0)); + vertical-align: middle; + transition: box-shadow var(--pico-transition); +} +[role=search] > label, +[role=search] > legend, +[role=group] > label, +[role=group] > legend { + border-color: var(--pico-secondary-background); + background-color: var(--pico-secondary-background); + color: var(--pico-secondary-inverse); +} +[role=search] > *, +[role=search] input:not([type=checkbox], [type=radio]), +[role=search] select, +[role=search] > label, +[role=search] > legend, +[role=search] > details, +[role=group] > *, +[role=group] input:not([type=checkbox], [type=radio]), +[role=group] select, +[role=group] > label, +[role=group] > legend, +[role=group] > details { + position: relative; + flex: 1 1 auto; + margin-bottom: 0; +} +[role=search] > *:not(:first-child), +[role=search] input:not([type=checkbox], [type=radio]):not(:first-child), +[role=search] select:not(:first-child), +[role=search] > label:not(:first-child), +[role=search] > legend:not(:first-child), +[role=search] > details:not(:first-child), +[role=group] > *:not(:first-child), +[role=group] input:not([type=checkbox], [type=radio]):not(:first-child), +[role=group] select:not(:first-child), +[role=group] > label:not(:first-child), +[role=group] > legend:not(:first-child), +[role=group] > details:not(:first-child) { + margin-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +[role=search] > *:not(:last-child), +[role=search] input:not([type=checkbox], [type=radio]):not(:last-child), +[role=search] select:not(:last-child), +[role=search] > label:not(:last-child), +[role=search] > legend:not(:last-child), +[role=search] > details:not(:last-child), +[role=group] > *:not(:last-child), +[role=group] input:not([type=checkbox], [type=radio]):not(:last-child), +[role=group] select:not(:last-child), +[role=group] > label:not(:last-child), +[role=group] > legend:not(:last-child), +[role=group] > details:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +[role=search] > *:focus, +[role=search] input:not([type=checkbox], [type=radio]):focus, +[role=search] select:focus, +[role=search] > label:focus, +[role=search] > legend:focus, +[role=search] > details:focus, +[role=group] > *:focus, +[role=group] input:not([type=checkbox], [type=radio]):focus, +[role=group] select:focus, +[role=group] > label:focus, +[role=group] > legend:focus, +[role=group] > details:focus { + z-index: 2; +} +[role=search] > details:not(:first-child) > summary, +[role=group] > details:not(:first-child) > summary { + margin-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +[role=search] > details:not(:last-child) > summary, +[role=group] > details:not(:last-child) > summary { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +[role=search] > details > summary, +[role=search] > details > summary:not([role]), +[role=group] > details > summary, +[role=group] > details > summary:not([role]) { + height: 100% !important; +} +[role=search] button:not(:first-child), +[role=search] [type=submit]:not(:first-child), +[role=search] [type=reset]:not(:first-child), +[role=search] [type=button]:not(:first-child), +[role=search] [role=button]:not(:first-child), +[role=search] input:not([type=checkbox], [type=radio]):not(:first-child), +[role=search] select:not(:first-child), +[role=search] > label:not(:first-child), +[role=search] > legend:not(:first-child), +[role=search] > details > summary:not(:first-child), +[role=group] button:not(:first-child), +[role=group] [type=submit]:not(:first-child), +[role=group] [type=reset]:not(:first-child), +[role=group] [type=button]:not(:first-child), +[role=group] [role=button]:not(:first-child), +[role=group] input:not([type=checkbox], [type=radio]):not(:first-child), +[role=group] select:not(:first-child), +[role=group] > label:not(:first-child), +[role=group] > legend:not(:first-child), +[role=group] > details > summary:not(:first-child) { + margin-left: calc(var(--pico-border-width) * -1); +} +[role=search] button, +[role=search] [type=submit], +[role=search] [type=reset], +[role=search] [type=button], +[role=search] [role=button], +[role=search] > label, +[role=search] > legend, +[role=search] > details > summary, +[role=group] button, +[role=group] [type=submit], +[role=group] [type=reset], +[role=group] [type=button], +[role=group] [role=button], +[role=group] > label, +[role=group] > legend, +[role=group] > details > summary { + width: auto; +} +@supports selector(:has(*)) { + [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus), + [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) { + --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-button); + } + [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]), + [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select, + [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) > label, + [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) > legend, + [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) > details > summary, + [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]), + [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select, + [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) > label, + [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) > legend, + [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) > details > summary { + border-color: transparent; + } + [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus), + [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) { + --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-input); + } + [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) button, + [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit], + [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button], + [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button], + [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) label, + [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) > legend, + [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) > details > summary, + [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) button, + [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit], + [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button], + [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button], + [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) label, + [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) > legend, + [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) > details > summary { + --pico-button-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-border); + --pico-button-hover-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-hover-border); + } + [role=search] button:focus, + [role=search] [type=submit]:focus, + [role=search] [type=reset]:focus, + [role=search] [type=button]:focus, + [role=search] [role=button]:focus, + [role=search] label:focus, + [role=search] > legend:focus, + [role=search] > details > summary:focus, + [role=group] button:focus, + [role=group] [type=submit]:focus, + [role=group] [type=reset]:focus, + [role=group] [type=button]:focus, + [role=group] [role=button]:focus, + [role=group] label:focus, + [role=group] > legend:focus, + [role=group] > details > summary:focus { + box-shadow: none; + } +} + +[role=search] > *:first-child { + border-top-left-radius: 5rem; + border-bottom-left-radius: 5rem; +} +[role=search] > *:last-child { + border-top-right-radius: 5rem; + border-bottom-right-radius: 5rem; +} + +[dir=rtl] [role=search] > *:not(:first-child), +[dir=rtl] [role=search] input:not([type=checkbox], [type=radio]):not(:first-child), +[dir=rtl] [role=search] select:not(:first-child), +[dir=rtl] [role=search] label:not(:first-child), +[dir=rtl] [role=search] > legend:not(:first-child), +[dir=rtl] [role=search] > details > summary:not(:first-child), +[dir=rtl] [role=group] > *:not(:first-child), +[dir=rtl] [role=group] input:not([type=checkbox], [type=radio]):not(:first-child), +[dir=rtl] [role=group] select:not(:first-child), +[dir=rtl] [role=group] label:not(:first-child), +[dir=rtl] [role=group] > legend:not(:first-child), +[dir=rtl] [role=group] > details > summary:not(:first-child) { + margin-right: 0; + margin-left: auto; + border-top-right-radius: 0; + border-top-left-radius: var(--pico-border-radius); + border-bottom-right-radius: 0; + border-bottom-left-radius: var(--pico-border-radius); +} +[dir=rtl] [role=search] > *:not(:last-child), +[dir=rtl] [role=search] input:not([type=checkbox], [type=radio]):not(:last-child), +[dir=rtl] [role=search] select:not(:last-child), +[dir=rtl] [role=search] label:not(:last-child), +[dir=rtl] [role=search] > legend:not(:last-child), +[dir=rtl] [role=search] > details > summary:not(:last-child), +[dir=rtl] [role=group] > *:not(:last-child), +[dir=rtl] [role=group] input:not([type=checkbox], [type=radio]):not(:last-child), +[dir=rtl] [role=group] select:not(:last-child), +[dir=rtl] [role=group] label:not(:last-child), +[dir=rtl] [role=group] > legend:not(:last-child), +[dir=rtl] [role=group] > details > summary:not(:last-child) { + border-top-right-radius: var(--pico-border-radius); + border-top-left-radius: 0; + border-bottom-right-radius: var(--pico-border-radius); + border-bottom-left-radius: 0; +} +[dir=rtl] [role=search] button:not(:first-child), +[dir=rtl] [role=search] [type=submit]:not(:first-child), +[dir=rtl] [role=search] [type=reset]:not(:first-child), +[dir=rtl] [role=search] [type=button]:not(:first-child), +[dir=rtl] [role=search] [role=button]:not(:first-child), +[dir=rtl] [role=search] input:not([type=checkbox], [type=radio]):not(:first-child), +[dir=rtl] [role=search] select:not(:first-child), +[dir=rtl] [role=search] label:not(:first-child), +[dir=rtl] [role=search] > legend:not(:first-child), +[dir=rtl] [role=search] > details > summary:not(:first-child), +[dir=rtl] [role=group] button:not(:first-child), +[dir=rtl] [role=group] [type=submit]:not(:first-child), +[dir=rtl] [role=group] [type=reset]:not(:first-child), +[dir=rtl] [role=group] [type=button]:not(:first-child), +[dir=rtl] [role=group] [role=button]:not(:first-child), +[dir=rtl] [role=group] input:not([type=checkbox], [type=radio]):not(:first-child), +[dir=rtl] [role=group] select:not(:first-child), +[dir=rtl] [role=group] label:not(:first-child), +[dir=rtl] [role=group] > legend:not(:first-child), +[dir=rtl] [role=group] > details > summary:not(:first-child) { + margin-right: calc(var(--pico-border-width) * -1); + margin-left: auto; +} + +[role=group] > section[role=form] { + flex: 1; +} +[role=group] > section[role=form] > *:focus, +[role=group] > section[role=form] > input:not([type=checkbox], [type=radio]):focus, +[role=group] > section[role=form] > select:focus, +[role=group] > section[role=form] > label:focus, +[role=group] > section[role=form] > legend:focus, +[role=group] > section[role=form] > details:focus { + z-index: 4; +} +[role=group] > section[role=form] > input:not([type=checkbox], [type=radio]):focus, +[role=group] > section[role=form] > select:focus { + z-index: 10; +} +[role=group] > section[role=form] > input:not([type=checkbox], [type=radio]) + label, +[role=group] > section[role=form] > select + label { + z-index: 10; + margin-top: 5px; +} +[role=group] > section[role=form]:not(:first-child) > *, +[role=group] > section[role=form]:not(:first-child) > input:not([type=checkbox], [type=radio]), +[role=group] > section[role=form]:not(:first-child) > select, +[role=group] > section[role=form]:not(:first-child) > label, +[role=group] > section[role=form]:not(:first-child) > legend, +[role=group] > section[role=form]:not(:first-child) > details > summary { + margin-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +[role=group] > section[role=form]:not(:last-child) > *, +[role=group] > section[role=form]:not(:last-child) > input:not([type=checkbox], [type=radio]), +[role=group] > section[role=form]:not(:last-child) > select, +[role=group] > section[role=form]:not(:last-child) > label, +[role=group] > section[role=form]:not(:last-child) > legend, +[role=group] > section[role=form]:not(:last-child) > details > summary { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/** + * Loading ([aria-busy=true]) + */ +[aria-busy=true]:not(input, select, textarea, html, form) { + white-space: nowrap; +} +[aria-busy=true]:not(input, select, textarea, html, form)::before { + display: inline-block; + width: 1em; + height: 1em; + background-image: var(--pico-icon-loading); + background-size: 1em auto; + background-repeat: no-repeat; + content: ""; + vertical-align: -0.125em; +} +[aria-busy=true]:not(input, select, textarea, html, form):not(:empty)::before { + margin-inline-end: calc(var(--pico-spacing) * 0.5); +} +[aria-busy=true]:not(input, select, textarea, html, form):empty { + text-align: center; +} + +button[aria-busy=true], +[type=submit][aria-busy=true], +[type=button][aria-busy=true], +[type=reset][aria-busy=true], +[role=button][aria-busy=true], +a[aria-busy=true] { + pointer-events: none; +} + +/** + * Modal () + */ +:root, +:host { + --pico-scrollbar-width: 0px; +} + +dialog:not(.modal-fs, .modal-xlg, .modal-lg, .modal-md, .modal-sm) > article:not(:has(> form:first-child)), +dialog:not(.modal-fs, .modal-xlg, .modal-lg, .modal-md, .modal-sm) > article > form:first-child { + width: 100%; +} +@media (min-width: 576px) { + dialog:not(.modal-fs, .modal-xlg, .modal-lg, .modal-md, .modal-sm) > article:not(:has(> form:first-child)), + dialog:not(.modal-fs, .modal-xlg, .modal-lg, .modal-md, .modal-sm) > article > form:first-child { + max-width: 510px; + } +} +@media (min-width: 768px) { + dialog:not(.modal-fs, .modal-xlg, .modal-lg, .modal-md, .modal-sm) > article:not(:has(> form:first-child)), + dialog:not(.modal-fs, .modal-xlg, .modal-lg, .modal-md, .modal-sm) > article > form:first-child { + max-width: 700px; + } +} + +dialog { + display: grid; + z-index: 999; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + align-items: center; + justify-content: center; + width: inherit; + min-width: 100%; + height: inherit; + min-height: 100%; + padding: var(--pico-spacing); + border: 0; + -webkit-backdrop-filter: var(--pico-modal-overlay-backdrop-filter); + backdrop-filter: var(--pico-modal-overlay-backdrop-filter); + background-color: var(--pico-modal-overlay-background-color); + color: var(--pico-color); + transform: scale(1); + transition: transform var(--pico-transition); +} +dialog > article:not(:has(> form:first-child)) > header > *, +dialog > article > form:first-child > header > * { + margin-bottom: 0; +} +dialog > article:not(:has(> form:first-child)) > header .close, dialog > article:not(:has(> form:first-child)) > header :is(a, button)[rel=prev], +dialog > article > form:first-child > header .close, +dialog > article > form:first-child > header :is(a, button)[rel=prev] { + margin: 0; + margin-left: var(--pico-spacing); + padding: 0; + float: right; +} +dialog > article:not(:has(> form:first-child)) > footer, +dialog > article > form:first-child > footer { + text-align: right; +} +dialog > article:not(:has(> form:first-child)) > footer button, +dialog > article:not(:has(> form:first-child)) > footer [role=button], +dialog > article > form:first-child > footer button, +dialog > article > form:first-child > footer [role=button] { + margin-bottom: 0; +} +dialog > article:not(:has(> form:first-child)) > footer button:not(:first-of-type), +dialog > article:not(:has(> form:first-child)) > footer [role=button]:not(:first-of-type), +dialog > article > form:first-child > footer button:not(:first-of-type), +dialog > article > form:first-child > footer [role=button]:not(:first-of-type) { + margin-left: calc(var(--pico-spacing) * 0.5); +} +dialog > article:not(:has(> form:first-child)) .close, dialog > article:not(:has(> form:first-child)) :is(a, button)[rel=prev], +dialog > article > form:first-child .close, +dialog > article > form:first-child :is(a, button)[rel=prev] { + display: block; + width: 1rem; + height: 1rem; + margin-top: calc(var(--pico-spacing) * -1); + margin-bottom: var(--pico-spacing); + margin-left: auto; + border: none; + background-image: var(--pico-icon-close); + background-position: center; + background-size: auto 1rem; + background-repeat: no-repeat; + background-color: transparent; + opacity: 0.5; + transition: opacity var(--pico-transition); +} +dialog > article:not(:has(> form:first-child)) .close:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), dialog > article:not(:has(> form:first-child)) :is(a, button)[rel=prev]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +dialog > article > form:first-child .close:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +dialog > article > form:first-child :is(a, button)[rel=prev]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + opacity: 1; +} +dialog:not([open]), dialog[open=false] { + visibility: hidden; + opacity: 0; +} +dialog:not([open]) article, dialog[open=false] article { + transform: scale(0.7); +} + +.modal-is-open { + padding-right: var(--pico-scrollbar-width, 0px); + overflow: hidden; + pointer-events: none; + touch-action: none; +} +.modal-is-open dialog { + pointer-events: auto; + touch-action: auto; +} + +dialog.modal-sm > article { + width: 90vw; + max-width: 400px; +} +dialog.modal-md > article { + width: 90vw; + max-width: 600px; +} +dialog.modal-lg > article { + width: 90vw; + max-width: 800px; +} +dialog.modal-xlg > article { + width: 95vw; + max-width: 1000px; +} +dialog.modal-fs { + padding: 0; +} +dialog.modal-fs > article { + display: flex; + flex-direction: column; + justify-content: space-between; + width: 100vw; + max-width: 100vw; + height: 100vh; + max-height: 100vh; + margin: 0; + overflow-y: auto; +} +dialog.modal-fs > article > footer { + display: flex; + justify-content: flex-end; + margin-top: auto; +} +@media (max-width: 576px) { + dialog:not(.modal-fs) > article { + width: 95vw; + } +} + +body:has(dialog[open]) { + overflow: hidden; +} + +:where(.modal-is-opening, .modal-is-closing) dialog, +:where(.modal-is-opening, .modal-is-closing) dialog > article { + animation-duration: 0.2s; + animation-timing-function: ease-in-out; + animation-fill-mode: both; +} +:where(.modal-is-opening, .modal-is-closing) dialog { + animation-duration: 0.8s; + animation-name: modal-overlay; +} +:where(.modal-is-opening, .modal-is-closing) dialog > article { + animation-delay: 0.2s; + animation-name: modal; +} + +.modal-is-closing dialog, +.modal-is-closing dialog > article { + animation-delay: 0s; + animation-direction: reverse; +} + +@keyframes modal-overlay { + from { + -webkit-backdrop-filter: none; + backdrop-filter: none; + background-color: transparent; + } +} +@keyframes modal { + from { + transform: translateY(-100%); + opacity: 0; + } +} +/** + * Nav + */ +:where(nav li)::before { + float: none; + content: " "; +} + +nav, +nav ul { + display: flex; +} + +nav { + justify-content: space-between; + overflow: visible; +} +nav ol, +nav ul { + align-items: center; + margin-bottom: 0; + padding: 0; + list-style: none; +} +nav ol:first-of-type, +nav ul:first-of-type { + margin-left: calc(var(--pico-nav-element-spacing-horizontal) * -1); +} +nav ol:last-of-type, +nav ul:last-of-type { + margin-right: calc(var(--pico-nav-element-spacing-horizontal) * -1); +} +nav li { + display: inline-block; + margin: 0; + padding: var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal); +} +nav li :where(a, [role=link]) { + display: inline-block; + margin: calc(var(--pico-nav-link-spacing-vertical) * -1) calc(var(--pico-nav-link-spacing-horizontal) * -1); + padding: var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal); + border-radius: var(--pico-border-radius); +} +nav li :where(a, [role=link]):not(:hover) { + text-decoration: none; +} +nav li button, +nav li [role=button], +nav li [type=button], +nav li input:not([type=checkbox], [type=radio], [type=range], [type=file]), +nav li select { + height: auto; + margin-right: inherit; + margin-bottom: 0; + margin-left: inherit; + padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal); +} +nav[aria-label=breadcrumb] { + align-items: center; + justify-content: start; +} +nav[aria-label=breadcrumb] ul li:not(:first-child) { + margin-inline-start: var(--pico-nav-link-spacing-horizontal); +} +nav[aria-label=breadcrumb] ul li a { + margin: calc(var(--pico-nav-link-spacing-vertical) * -1) 0; + margin-inline-start: calc(var(--pico-nav-link-spacing-horizontal) * -1); +} +nav[aria-label=breadcrumb] ul li:not(:last-child)::after { + display: inline-block; + position: absolute; + width: calc(var(--pico-nav-link-spacing-horizontal) * 4); + margin: 0 calc(var(--pico-nav-link-spacing-horizontal) * -1); + content: var(--pico-nav-breadcrumb-divider); + color: var(--pico-muted-color); + text-align: center; + text-decoration: none; + white-space: nowrap; +} +nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]) { + background-color: transparent; + color: inherit; + text-decoration: none; + pointer-events: none; +} + +aside nav, +aside ol, +aside ul, +aside li { + display: block; +} +aside li { + padding: calc(var(--pico-nav-element-spacing-vertical) * 0.5) var(--pico-nav-element-spacing-horizontal); +} +aside li a { + display: block; +} +aside li [role=button] { + margin: inherit; +} + +[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after { + content: "\\"; +} + +/** + * Nav hamburger menu + * modified from https: //codepen.io/brentarias/pen/gOQybod + */ +nav[role=navigation] { + z-index: 1; + width: 100%; + overflow: visible; +} +nav[role=navigation][data-position=start] { + /* remove the 'flex-direction' to move menu to the right */ + flex-direction: row-reverse; +} +nav[role=navigation] > input[type=checkbox] { + display: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +nav[role=navigation] > label { + display: none; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +nav[role=navigation] > ul > li > [role=search], +nav[role=navigation] > ol > li > [role=search] { + margin-block-end: 0; +} + +@media (max-width: 510px) { + nav[role=navigation] { + flex-wrap: wrap; + overflow: hidden; + } + nav[role=navigation]:has(input[type=checkbox]:checked) { + overflow: visible; + } + nav[role=navigation] label { + display: block; + } + nav[role=navigation] > [role=list] { + display: none; + flex-direction: column; + align-items: flex-start; + width: 90vw; + max-height: 0; + margin: 0 auto; + background-color: var(--pico-muted-border-color); + box-shadow: var(--pico-box-shadow); + opacity: 0; + transition: max-height var(--pico-transition), opacity var(--pico-transition); + } + nav[role=navigation] > [role=list] li { + width: calc(100% - var(--pico-nav-link-spacing-vertical) * 2); + margin: calc(var(--pico-nav-link-spacing-vertical) * 0.5) var(--pico-nav-link-spacing-vertical); + padding: 0; + } + nav[role=navigation] > [role=list] li > details.dropdown { + width: 100%; + } + nav[role=navigation] > [role=list] li > form[role=search] { + margin-block-end: 0; + } + nav[role=navigation] > [role=list] a { + display: block; + margin: 0; + border-radius: 0; + border-block-end: 1px solid transparent; + transition: border-color var(--pico-transition), color var(--pico-transition); + } + nav[role=navigation] > [role=list] a:hover { + border-bottom-color: var(--pico-underline); + text-decoration: none; + } + nav[role=navigation] input[type=checkbox]:checked ~ [role=list] { + display: block; + max-height: 100vh; + opacity: 1; + } +} +@media (max-width: 700px) { + nav[role=navigation][data-breakpoint=md] { + flex-wrap: wrap; + overflow: hidden; + } + nav[role=navigation][data-breakpoint=md]:has(input[type=checkbox]:checked) { + overflow: visible; + } + nav[role=navigation][data-breakpoint=md] label { + display: block; + } + nav[role=navigation][data-breakpoint=md] > [role=list] { + display: none; + flex-direction: column; + align-items: flex-start; + width: 90vw; + max-height: 0; + margin: 0 auto; + background-color: var(--pico-muted-border-color); + box-shadow: var(--pico-box-shadow); + opacity: 0; + transition: max-height var(--pico-transition), opacity var(--pico-transition); + } + nav[role=navigation][data-breakpoint=md] > [role=list] li { + width: calc(100% - var(--pico-nav-link-spacing-vertical) * 2); + margin: calc(var(--pico-nav-link-spacing-vertical) * 0.5) var(--pico-nav-link-spacing-vertical); + padding: 0; + } + nav[role=navigation][data-breakpoint=md] > [role=list] li > details.dropdown { + width: 100%; + } + nav[role=navigation][data-breakpoint=md] > [role=list] li > form[role=search] { + margin-block-end: 0; + } + nav[role=navigation][data-breakpoint=md] > [role=list] a { + display: block; + margin: 0; + border-radius: 0; + border-block-end: 1px solid transparent; + transition: border-color var(--pico-transition), color var(--pico-transition); + } + nav[role=navigation][data-breakpoint=md] > [role=list] a:hover { + border-bottom-color: var(--pico-underline); + text-decoration: none; + } + nav[role=navigation][data-breakpoint=md] input[type=checkbox]:checked ~ [role=list] { + display: block; + max-height: 100vh; + opacity: 1; + } +} +@media (max-width: 950px) { + nav[role=navigation][data-breakpoint=lg] { + flex-wrap: wrap; + overflow: hidden; + } + nav[role=navigation][data-breakpoint=lg]:has(input[type=checkbox]:checked) { + overflow: visible; + } + nav[role=navigation][data-breakpoint=lg] label { + display: block; + } + nav[role=navigation][data-breakpoint=lg] > [role=list] { + display: none; + flex-direction: column; + align-items: flex-start; + width: 90vw; + max-height: 0; + margin: 0 auto; + background-color: var(--pico-muted-border-color); + box-shadow: var(--pico-box-shadow); + opacity: 0; + transition: max-height var(--pico-transition), opacity var(--pico-transition); + } + nav[role=navigation][data-breakpoint=lg] > [role=list] li { + width: calc(100% - var(--pico-nav-link-spacing-vertical) * 2); + margin: calc(var(--pico-nav-link-spacing-vertical) * 0.5) var(--pico-nav-link-spacing-vertical); + padding: 0; + } + nav[role=navigation][data-breakpoint=lg] > [role=list] li > details.dropdown { + width: 100%; + } + nav[role=navigation][data-breakpoint=lg] > [role=list] li > form[role=search] { + margin-block-end: 0; + } + nav[role=navigation][data-breakpoint=lg] > [role=list] a { + display: block; + margin: 0; + border-radius: 0; + border-block-end: 1px solid transparent; + transition: border-color var(--pico-transition), color var(--pico-transition); + } + nav[role=navigation][data-breakpoint=lg] > [role=list] a:hover { + border-bottom-color: var(--pico-underline); + text-decoration: none; + } + nav[role=navigation][data-breakpoint=lg] input[type=checkbox]:checked ~ [role=list] { + display: block; + max-height: 100vh; + opacity: 1; + } +} +@media (max-width: 1200px) { + nav[role=navigation][data-breakpoint=xl] { + flex-wrap: wrap; + overflow: hidden; + } + nav[role=navigation][data-breakpoint=xl]:has(input[type=checkbox]:checked) { + overflow: visible; + } + nav[role=navigation][data-breakpoint=xl] label { + display: block; + } + nav[role=navigation][data-breakpoint=xl] > [role=list] { + display: none; + flex-direction: column; + align-items: flex-start; + width: 90vw; + max-height: 0; + margin: 0 auto; + background-color: var(--pico-muted-border-color); + box-shadow: var(--pico-box-shadow); + opacity: 0; + transition: max-height var(--pico-transition), opacity var(--pico-transition); + } + nav[role=navigation][data-breakpoint=xl] > [role=list] li { + width: calc(100% - var(--pico-nav-link-spacing-vertical) * 2); + margin: calc(var(--pico-nav-link-spacing-vertical) * 0.5) var(--pico-nav-link-spacing-vertical); + padding: 0; + } + nav[role=navigation][data-breakpoint=xl] > [role=list] li > details.dropdown { + width: 100%; + } + nav[role=navigation][data-breakpoint=xl] > [role=list] li > form[role=search] { + margin-block-end: 0; + } + nav[role=navigation][data-breakpoint=xl] > [role=list] a { + display: block; + margin: 0; + border-radius: 0; + border-block-end: 1px solid transparent; + transition: border-color var(--pico-transition), color var(--pico-transition); + } + nav[role=navigation][data-breakpoint=xl] > [role=list] a:hover { + border-bottom-color: var(--pico-underline); + text-decoration: none; + } + nav[role=navigation][data-breakpoint=xl] input[type=checkbox]:checked ~ [role=list] { + display: block; + max-height: 100vh; + opacity: 1; + } +} +@media (max-width: 1450px) { + nav[role=navigation][data-breakpoint=xxl] { + flex-wrap: wrap; + overflow: hidden; + } + nav[role=navigation][data-breakpoint=xxl]:has(input[type=checkbox]:checked) { + overflow: visible; + } + nav[role=navigation][data-breakpoint=xxl] label { + display: block; + } + nav[role=navigation][data-breakpoint=xxl] > [role=list] { + display: none; + flex-direction: column; + align-items: flex-start; + width: 90vw; + max-height: 0; + margin: 0 auto; + background-color: var(--pico-muted-border-color); + box-shadow: var(--pico-box-shadow); + opacity: 0; + transition: max-height var(--pico-transition), opacity var(--pico-transition); + } + nav[role=navigation][data-breakpoint=xxl] > [role=list] li { + width: calc(100% - var(--pico-nav-link-spacing-vertical) * 2); + margin: calc(var(--pico-nav-link-spacing-vertical) * 0.5) var(--pico-nav-link-spacing-vertical); + padding: 0; + } + nav[role=navigation][data-breakpoint=xxl] > [role=list] li > details.dropdown { + width: 100%; + } + nav[role=navigation][data-breakpoint=xxl] > [role=list] li > form[role=search] { + margin-block-end: 0; + } + nav[role=navigation][data-breakpoint=xxl] > [role=list] a { + display: block; + margin: 0; + border-radius: 0; + border-block-end: 1px solid transparent; + transition: border-color var(--pico-transition), color var(--pico-transition); + } + nav[role=navigation][data-breakpoint=xxl] > [role=list] a:hover { + border-bottom-color: var(--pico-underline); + text-decoration: none; + } + nav[role=navigation][data-breakpoint=xxl] input[type=checkbox]:checked ~ [role=list] { + display: block; + max-height: 100vh; + opacity: 1; + } +} +/** + * Progress + */ +progress { + display: inline-block; + vertical-align: baseline; +} + +progress { + -webkit-appearance: none; + -moz-appearance: none; + display: inline-block; + appearance: none; + width: 100%; + height: 0.5rem; + margin-bottom: calc(var(--pico-spacing) * 0.5); + overflow: hidden; + border: 0; + border-radius: var(--pico-border-radius); + background-color: var(--pico-progress-background-color); + color: var(--pico-progress-color); +} +progress::-webkit-progress-bar { + border-radius: var(--pico-border-radius); + background: none; +} +progress[value]::-webkit-progress-value { + background-color: var(--pico-progress-color); + -webkit-transition: inline-size var(--pico-transition); + transition: inline-size var(--pico-transition); +} +progress::-moz-progress-bar { + background-color: var(--pico-progress-color); +} +@media (prefers-reduced-motion: no-preference) { + progress:indeterminate { + background: var(--pico-progress-background-color) linear-gradient(to right, var(--pico-progress-color) 30%, var(--pico-progress-background-color) 30%) top left/150% 150% no-repeat; + animation: progress-indeterminate 1s linear infinite; + } + progress:indeterminate[value]::-webkit-progress-value { + background-color: transparent; + } + progress:indeterminate::-moz-progress-bar { + background-color: transparent; + } +} + +@media (prefers-reduced-motion: no-preference) { + [dir=rtl] progress:indeterminate { + animation-direction: reverse; + } +} + +@keyframes progress-indeterminate { + 0% { + background-position: 200% 0; + } + 100% { + background-position: -200% 0; + } +} +/** + * Tooltip ([data-tooltip]) + */ +[data-tooltip] { + position: relative; +} +[data-tooltip]:not(:has(a, button, input, [role=button])):not(a, button, input, [role=button]) { + border-bottom: 1px dotted; + text-decoration: none; + cursor: help; +} +[data-tooltip][data-placement=top]::before, [data-tooltip][data-placement=top]::after, [data-tooltip]::before, [data-tooltip]::after { + display: inline-block; + z-index: 99; + position: absolute; + bottom: 100%; + left: 50%; + width: -moz-max-content; + width: max-content; + max-width: 250px; + padding: 0.25rem 0.5rem; + overflow: hidden; + transform: translate(-50%, -0.25rem); + border-radius: var(--pico-border-radius); + background: var(--pico-tooltip-background-color); + content: attr(data-tooltip); + color: var(--pico-tooltip-color); + font-style: normal; + font-weight: var(--pico-font-weight); + font-size: 0.875rem; + text-align: center; + text-decoration: none; + text-overflow: ellipsis; + white-space: normal; + opacity: 0; + pointer-events: none; +} +[data-tooltip][data-placement=top]::after, [data-tooltip]::after { + width: 0; + padding: 0; + transform: translate(-50%, 0rem); + border-top: 0.3rem solid; + border-right: 0.3rem solid transparent; + border-left: 0.3rem solid transparent; + border-radius: 0; + background-color: transparent; + content: ""; + color: var(--pico-tooltip-background-color); +} +[data-tooltip][data-placement=bottom]::before, [data-tooltip][data-placement=bottom]::after { + top: 100%; + bottom: auto; + transform: translate(-50%, 0.25rem); +} +[data-tooltip][data-placement=bottom]:after { + transform: translate(-50%, -0.3rem); + border: 0.3rem solid transparent; + border-bottom: 0.3rem solid; +} +[data-tooltip][data-placement=left]::before, [data-tooltip][data-placement=left]::after { + top: 50%; + right: 100%; + bottom: auto; + left: auto; + transform: translate(-0.25rem, -50%); +} +[data-tooltip][data-placement=left]:after { + transform: translate(0.3rem, -50%); + border: 0.3rem solid transparent; + border-left: 0.3rem solid; +} +[data-tooltip][data-placement=right]::before, [data-tooltip][data-placement=right]::after { + top: 50%; + right: auto; + bottom: auto; + left: 100%; + transform: translate(0.25rem, -50%); +} +[data-tooltip][data-placement=right]:after { + transform: translate(-0.3rem, -50%); + border: 0.3rem solid transparent; + border-right: 0.3rem solid; +} +[data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after { + opacity: 1; +} +@media (hover: hover) and (pointer: fine) { + [data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after { + --pico-tooltip-slide-to: translate(-50%, -0.25rem); + transform: translate(-50%, 0.75rem); + animation-duration: 0.2s; + animation-fill-mode: forwards; + animation-name: tooltip-slide; + opacity: 0; + } + [data-tooltip]:focus::after, [data-tooltip]:hover::after { + --pico-tooltip-caret-slide-to: translate(-50%, 0rem); + transform: translate(-50%, -0.25rem); + animation-name: tooltip-caret-slide; + } + [data-tooltip][data-placement=bottom]:focus::before, [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:hover::before, [data-tooltip][data-placement=bottom]:hover::after { + --pico-tooltip-slide-to: translate(-50%, 0.25rem); + transform: translate(-50%, -0.75rem); + animation-name: tooltip-slide; + } + [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:hover::after { + --pico-tooltip-caret-slide-to: translate(-50%, -0.3rem); + transform: translate(-50%, -0.5rem); + animation-name: tooltip-caret-slide; + } + [data-tooltip][data-placement=left]:focus::before, [data-tooltip][data-placement=left]:focus::after, [data-tooltip][data-placement=left]:hover::before, [data-tooltip][data-placement=left]:hover::after { + --pico-tooltip-slide-to: translate(-0.25rem, -50%); + transform: translate(0.75rem, -50%); + animation-name: tooltip-slide; + } + [data-tooltip][data-placement=left]:focus::after, [data-tooltip][data-placement=left]:hover::after { + --pico-tooltip-caret-slide-to: translate(0.3rem, -50%); + transform: translate(0.05rem, -50%); + animation-name: tooltip-caret-slide; + } + [data-tooltip][data-placement=right]:focus::before, [data-tooltip][data-placement=right]:focus::after, [data-tooltip][data-placement=right]:hover::before, [data-tooltip][data-placement=right]:hover::after { + --pico-tooltip-slide-to: translate(0.25rem, -50%); + transform: translate(-0.75rem, -50%); + animation-name: tooltip-slide; + } + [data-tooltip][data-placement=right]:focus::after, [data-tooltip][data-placement=right]:hover::after { + --pico-tooltip-caret-slide-to: translate(-0.3rem, -50%); + transform: translate(-0.05rem, -50%); + animation-name: tooltip-caret-slide; + } +} +@keyframes tooltip-slide { + to { + transform: var(--pico-tooltip-slide-to); + opacity: 1; + } +} +@keyframes tooltip-caret-slide { + 50% { + opacity: 0; + } + to { + transform: var(--pico-tooltip-caret-slide-to); + opacity: 1; + } +} + +/** + * Tabs + * styling help from: https://codepen.io/mikestreety/pen/yVNNNm + */ +@keyframes showTab { + from { + scale: 0.75; + opacity: 0; + } + to { + scale: 1; + opacity: 1; + } +} +[role=tablist] { + display: flex; + flex-wrap: wrap; + padding-bottom: 0; +} +[role=tablist] > button[role=tab] { + flex-grow: 1; + order: 1; + padding: calc(var(--pico-spacing) * 0.625); + border: 0; + border-bottom: 1px solid var(--pico-primary-background); + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + background: transparent; + color: var(--pico-contrast); + font-weight: bold; + cursor: pointer; + transition: background-color var(--pico-transition); +} +[role=tablist] > button[role=tab][aria-selected=true] { + background: var(--pico-primary-background); + color: var(--pico-primary-inverse); +} +[role=tablist] > button[role=tab]:hover { + background: var(--pico-primary-hover-background); + color: var(--pico-primary-inverse); +} +[role=tablist] [role=tabpanel] { + flex-grow: 1; + order: 99; + width: 100%; + padding: var(--pico-spacing) calc(var(--pico-spacing) * 0.75); + background: var(--pico-accent-section-bg-color); + animation: var(--pico-tab-animation) var(--pico-transition); +} +[role=tablist] [role=tabpanel]:not([hidden]) { + display: block; +} +[role=tablist] [role=tabpanel][hidden] { + display: none; +} +[role=tablist] [role=tabpanel] > *:last-of-type { + margin-bottom: 0; +} + +@media (max-width: 45em) { + [role=tablist] [role=tabpanel], + [role=tablist] button, + [role=tablist] label { + order: initial; + } + [role=tablist] label, + [role=tablist] [role=tabpanel], + [role=tablist] button { + width: 100%; + margin-top: 0.2rem; + margin-right: 0; + } +} +[popover] { + border-color: var(--pico-primary); +} +[popover]:popover-open { + margin: auto auto; +} +[popover]::backdrop { + -webkit-backdrop-filter: blur(3px); + backdrop-filter: blur(3px); + background: rgba(0, 0, 0, 0.7); +} +[popover] button { + margin-top: -10px; + padding: 0; + border: 0 none; + background: transparent; + color: var(--pico-primary); + font-size: 1.5em; + opacity: 0.8; +} + +.timeline { + position: relative; + max-width: 100%; + margin: 0 auto; +} +.timeline::after { + position: absolute; + top: 0; + bottom: 0; + left: 50%; + width: 6px; + margin-left: -3px; + background-color: var(--pico-timeline-line-color); + content: ""; +} +.timeline > .point { + position: relative; + width: 50%; + padding: 10px 25px; + background-color: inherit; +} +.timeline > .point::after { + z-index: 1; + position: absolute; + top: 13px; + right: -13px; + width: 25px; + height: 25px; + border: 4px solid var(--pico-timeline-dot-border-color); + border-radius: 50%; + background-color: var(--pico-timeline-dot-background-color); + content: ""; +} +.timeline > .point.left { + left: 0; +} +.timeline > .point.left::before { + z-index: 1; + position: absolute; + top: 15px; + right: 15px; + width: 0; + height: 0; + border: medium solid var(--pico-timeline-arrow-color); + border-width: 10px 0 10px 10px; + border-color: transparent transparent transparent var(--pico-timeline-arrow-color); + content: " "; +} +.timeline > .point.right { + left: 50%; +} +.timeline > .point.right::before { + z-index: 1; + position: absolute; + top: 15px; + left: 15px; + width: 0; + height: 0; + border: medium solid var(--pico-timeline-arrow-color); + border-width: 10px 10px 10px 0; + border-color: transparent var(--pico-timeline-arrow-color) transparent transparent; + content: " "; +} +.timeline > .point.right::after { + left: -13px; +} + +@media screen and (max-width: 600px) { + .timeline::after { + left: 13px; + } + .timeline > .point { + width: 100%; + padding-right: 25px; + padding-left: 40px; + } + .timeline > .point.right { + left: 0; + } + .timeline > .point::after, .timeline > .point.left::after, .timeline > .point.right::after { + left: 0; + } + .timeline > .point.left::before, .timeline > .point.right::before { + top: 16px; + left: 30px; + border-width: 10px 10px 10px 0; + border-color: transparent var(--pico-timeline-arrow-color) transparent transparent; + } +} +/** + * Accessibility & User interaction + */ +[aria-controls] { + cursor: pointer; +} + +[aria-disabled=true], +[disabled] { + cursor: not-allowed; +} + +[aria-hidden=false][hidden] { + display: initial; +} + +[aria-hidden=false][hidden]:not(:focus) { + clip: rect(0, 0, 0, 0); + position: absolute; +} + +a, +area, +button, +input, +label, +select, +summary, +textarea, +[tabindex] { + -ms-touch-action: manipulation; +} + +[dir=rtl] { + direction: rtl; +} + +/** + * Reduce Motion Features + */ +@media (prefers-reduced-motion: reduce) { + *:not([aria-busy=true]), + :not([aria-busy=true])::before, + :not([aria-busy=true])::after { + background-attachment: initial !important; + animation-duration: 1ms !important; + animation-delay: -1ms !important; + animation-iteration-count: 1 !important; + scroll-behavior: auto !important; + transition-delay: 0s !important; + transition-duration: 0s !important; + } +} \ No newline at end of file diff --git a/the_works/templates/base.html b/the_works/templates/base.html index f58c337..79cfa2a 100644 --- a/the_works/templates/base.html +++ b/the_works/templates/base.html @@ -1,5 +1,5 @@ - + @@ -8,7 +8,7 @@ - +