@charset "UTF-8";
/*
	Author:
*/
/*
	ply 0.7.^
	CSS Framework: ply :: https://github.com/thatgibbyguy/ply
	Framework Author: @thatgibbyguy
*/
:root {
  --ply-bg-body: #ffffff;
  --ply-bg-surface: #ffffff;
  --ply-bg-surface-alt: #f4f4f4;
  --ply-bg-muted: #e0e0e0;
  --ply-bg-inverse: var(--ply-color-body);
  --ply-layer-inverse-0: var(--ply-color-body);
  --ply-layer-inverse-1: var(--ply-color-secondary);
  --ply-color-black: #000000;
  --ply-color-body: #161616;
  --ply-color-headings: #161616;
  --ply-color-secondary: #525252;
  --ply-color-muted: #767676;
  --ply-color-placeholder: #a8a8a8;
  --ply-color-text-inverse: #ffffff;
  --ply-border-color: #e0e0e0;
  --ply-border-strong: #8d8d8d;
  --ply-color-link: var(--ply-btn-default-bg);
  --ply-color-link-hover: #0347c6;
  --ply-color-link-hover: color-mix(in oklch, var(--ply-btn-default-bg), black 15%);
  --ply-color-focus: #0f62fe;
  --ply-color-field-bg: var(--ply-bg-surface-alt);
  --ply-color-input-border: var(--ply-border-strong);
  --ply-color-input-bg: var(--ply-bg-surface-alt);
  --ply-color-error: var(--ply-red-1);
  --ply-color-success: var(--ply-green-1);
  --ply-color-code-bg: var(--ply-bg-surface-alt);
  --ply-color-code-border: var(--ply-border-color);
  --ply-color-table-border: var(--ply-border-color);
  --ply-color-table-striped: #f4f4f4;
  --ply-color-table-stripped: var(--ply-color-table-striped);
  --ply-color-table-hovered: #e8e8e8;
  --ply-color-accent: #0353e9;
  --ply-btn-default-bg: #0353e9;
  --ply-btn-default-bg-hover: #0347c6;
  --ply-btn-default-bg-hover: color-mix(in oklch, var(--ply-btn-default-bg), black 15%);
  --ply-btn-default-bg-active: #023eaf;
  --ply-btn-default-bg-active: color-mix(in oklch, var(--ply-btn-default-bg), black 25%);
  --ply-btn-secondary-bg: #393939;
  --ply-btn-secondary-bg-hover: #303030;
  --ply-btn-secondary-bg-hover: color-mix(in oklch, var(--ply-btn-secondary-bg), black 15%);
  --ply-btn-secondary-bg-active: #2b2b2b;
  --ply-btn-secondary-bg-active: color-mix(in oklch, var(--ply-btn-secondary-bg), black 25%);
  --ply-radius-none: 0;
  --ply-radius-xs: 0.125rem;
  --ply-radius-sm: 0.25rem;
  --ply-radius-md: 0.5rem;
  --ply-radius-lg: 0.75rem;
  --ply-radius-xl: 1rem;
  --ply-radius-full: 9999px;
  --ply-border-radius: var(--ply-radius-sm);
  --ply-btn-border-radius: var(--ply-radius-full);
  --ply-label-radius: var(--ply-radius-sm);
  --ply-badge-radius: var(--ply-radius-full);
  --ply-control-font-lg: 1.125rem;
  --ply-control-font: 1rem;
  --ply-control-font-sm: 0.875rem;
  --ply-control-font-xs: 0.75rem;
  --ply-control-py-lg: 0.875rem;
  --ply-control-py: 0.625rem;
  --ply-control-py-sm: 0.375rem;
  --ply-control-py-xs: 0.25rem;
  --ply-control-px-lg: 2rem;
  --ply-control-px: 1.5rem;
  --ply-control-px-sm: 1rem;
  --ply-control-px-xs: 0.75rem;
  --ply-control-lh-lg: 1.75rem;
  --ply-control-lh: 1.5rem;
  --ply-control-lh-sm: 1.25rem;
  --ply-control-lh-xs: 1rem;
  --ply-input-radius: var(--ply-radius-sm);
  --ply-nav-bg: var(--ply-bg-body);
  --ply-nav-color: var(--ply-color-body);
  --ply-nav-border: var(--ply-color-body);
  --ply-nav-hover: #e8e8e8;
  --ply-nav-active-color: #525252;
  --ply-layer-0: var(--ply-bg-body);
  --ply-layer-1: var(--ply-bg-surface-alt);
  --ply-layer-2: var(--ply-bg-muted);
  --ply-layer-3: #c6c6c6;
  --ply-shadow-1: 0 1px 3px rgba(0, 0, 0, 0.08);
  --ply-shadow-2: 0 2px 8px rgba(0, 0, 0, 0.1);
  --ply-shadow-3: 0 4px 24px rgba(0, 0, 0, 0.12);
  --ply-bg-glass: rgba(255, 255, 255, 0.15);
  --ply-bg-blue: #0f62fe;
  --ply-bg-blue-hover: #0043ce;
  --ply-bg-blue-active: #002d9c;
  --ply-bg-red: #da1e28;
  --ply-bg-red-hover: #a2191f;
  --ply-bg-red-active: #750e13;
  --ply-bg-green: #198038;
  --ply-bg-green-hover: #0e6027;
  --ply-bg-green-active: #044317;
  --ply-bg-yellow: #f1c21b;
  --ply-bg-yellow-hover: #d2a106;
  --ply-bg-yellow-active: #b28600;
  --ply-blue-surface: #d3e3fb;
  --ply-red-surface: #f8d5d8;
  --ply-green-surface: #d5ecd9;
  --ply-yellow-surface: #fff4cc;
  --ply-indigo-surface: #e0e7ff;
  --ply-purple-surface: #ede9fe;
  --ply-pink-surface: #fce7f3;
  --ply-orange-surface: #ffedd5;
  --ply-teal-surface: #ccfbf1;
  --ply-cyan-surface: #cffafe;
  --ply-blue-border: #92baf6;
  --ply-red-border: #ef969d;
  --ply-green-border: #96cfa1;
  --ply-yellow-border: #ffe480;
  --ply-indigo-border: #a5b4fc;
  --ply-purple-border: #c4b5fd;
  --ply-pink-border: #f9a8d4;
  --ply-orange-border: #fdba74;
  --ply-teal-border: #5eead4;
  --ply-cyan-border: #67e8f9;
  --ply-blue-1: #0f62fe;
  --ply-blue-2: #0043ce;
  --ply-blue-3: #002d9c;
  --ply-red-1: #da1e28;
  --ply-red-2: #a2191f;
  --ply-red-3: #750e13;
  --ply-green-1: #198038;
  --ply-green-2: #0e6027;
  --ply-green-3: #044317;
  --ply-yellow-1: #f1c21b;
  --ply-yellow-2: #d2a106;
  --ply-yellow-3: #b28600;
  --ply-indigo-1: #4f46e5;
  --ply-indigo-2: #3730a3;
  --ply-indigo-3: #312e81;
  --ply-purple-1: #7c3aed;
  --ply-purple-2: #6d28d9;
  --ply-purple-3: #5b21b6;
  --ply-pink-1: #be185d;
  --ply-pink-2: #9d174d;
  --ply-pink-3: #831843;
  --ply-orange-1: #c2410c;
  --ply-orange-2: #9a3412;
  --ply-orange-3: #7c2d12;
  --ply-teal-1: #0f766e;
  --ply-teal-2: #115e59;
  --ply-teal-3: #134e4a;
  --ply-cyan-1: #0e7490;
  --ply-cyan-2: #155e75;
  --ply-cyan-3: #164e63;
  --ply-font-body: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji;
  --ply-font-heading: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji;
  --ply-font-mono: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  --ply-space-xs: 0.25rem;
  --ply-space-sm: 0.5rem;
  --ply-space-md: 0.75rem;
  --ply-space: 1rem;
  --ply-space-lg: 1.5rem;
  --ply-space-xl: 2rem;
  --ply-space-xxl: 3rem;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --ply-bg-body: #161616;
    --ply-bg-surface: #262626;
    --ply-bg-surface-alt: #262626;
    --ply-bg-muted: #393939;
    --ply-color-body: #f4f4f4;
    --ply-color-headings: #f4f4f4;
    --ply-color-secondary: #c6c6c6;
    --ply-color-muted: #8d8d8d;
    --ply-color-placeholder: #6f6f6f;
    --ply-color-text-inverse: #161616;
    --ply-border-color: #393939;
    --ply-border-strong: #6f6f6f;
    --ply-color-link: #4589ff;
    --ply-color-link-hover: #619bff;
    --ply-color-link-hover: color-mix(in oklch, #4589ff, white 15%);
    --ply-color-focus: #0f62fe;
    --ply-color-table-striped: #1c1c1c;
    --ply-color-table-stripped: var(--ply-color-table-striped);
    --ply-color-table-hovered: #353535;
    --ply-color-accent: #4589ff;
    --ply-btn-default-bg: #0f62fe;
    --ply-btn-default-bg-hover: #619bff;
    --ply-btn-default-bg-hover: color-mix(in oklch, var(--ply-btn-default-bg), white 15%);
    --ply-btn-default-bg-active: #73a6ff;
    --ply-btn-default-bg-active: color-mix(in oklch, var(--ply-btn-default-bg), white 25%);
    --ply-btn-secondary-bg: #a8a8a8;
    --ply-btn-secondary-bg-hover: #b5b5b5;
    --ply-btn-secondary-bg-hover: color-mix(in oklch, var(--ply-btn-secondary-bg), white 15%);
    --ply-btn-secondary-bg-active: #bebebe;
    --ply-btn-secondary-bg-active: color-mix(in oklch, var(--ply-btn-secondary-bg), white 25%);
    --ply-btn-default-color: #fff;
    --ply-btn-secondary-color: #161616;
    --ply-btn-ghost-color: #4589ff;
    --ply-nav-hover: #353535;
    --ply-nav-active-color: #a8a8a8;
    --ply-layer-3: #525252;
    --ply-shadow-1: 0 1px 3px rgba(0, 0, 0, 0.2);
    --ply-shadow-2: 0 2px 8px rgba(0, 0, 0, 0.3);
    --ply-shadow-3: 0 4px 24px rgba(0, 0, 0, 0.4);
    --ply-bg-glass: rgba(38, 38, 38, 0.25);
    --ply-blue-surface: #1a2744;
    --ply-red-surface: #3b1c1e;
    --ply-green-surface: #1a2e1e;
    --ply-yellow-surface: #332b10;
    --ply-indigo-surface: #1e1b4b;
    --ply-purple-surface: #2e1065;
    --ply-pink-surface: #3b0a2a;
    --ply-orange-surface: #331a08;
    --ply-teal-surface: #132f2e;
    --ply-cyan-surface: #133040;
    --ply-blue-border: #1a52a5;
    --ply-red-border: #b2232f;
    --ply-green-border: #237f35;
    --ply-yellow-border: #cca000;
    --ply-indigo-border: #3730a3;
    --ply-purple-border: #5b21b6;
    --ply-pink-border: #9d174d;
    --ply-orange-border: #c2410c;
    --ply-teal-border: #0f766e;
    --ply-cyan-border: #0e7490;
    --ply-bg-blue: #0f62fe;
    --ply-bg-blue-hover: #0043ce;
    --ply-bg-blue-active: #002d9c;
    --ply-bg-red: #da1e28;
    --ply-bg-red-hover: #a2191f;
    --ply-bg-red-active: #750e13;
    --ply-bg-green: #198038;
    --ply-bg-green-hover: #0e6027;
    --ply-bg-green-active: #044317;
    --ply-bg-yellow: #f1c21b;
    --ply-bg-yellow-hover: #d2a106;
    --ply-bg-yellow-active: #b28600;
    --ply-blue-1: #4589ff;
    --ply-blue-2: #78a9ff;
    --ply-blue-3: #a6c8ff;
    --ply-red-1: #ff8389;
    --ply-red-2: #fa4d56;
    --ply-red-3: #da1e28;
    --ply-green-1: #42be65;
    --ply-green-2: #6fdc8c;
    --ply-green-3: #a7f0ba;
    --ply-yellow-1: #f1c21b;
    --ply-yellow-2: #d2a106;
    --ply-yellow-3: #b28600;
    --ply-indigo-1: #818cf8;
    --ply-indigo-2: #a5b4fc;
    --ply-indigo-3: #c7d2fe;
    --ply-purple-1: #a78bfa;
    --ply-purple-2: #c4b5fd;
    --ply-purple-3: #ddd6fe;
    --ply-pink-1: #f472b6;
    --ply-pink-2: #f9a8d4;
    --ply-pink-3: #fbcfe8;
    --ply-orange-1: #fb923c;
    --ply-orange-2: #fdba74;
    --ply-orange-3: #fed7aa;
    --ply-teal-1: #2dd4bf;
    --ply-teal-2: #5eead4;
    --ply-teal-3: #99f6e4;
    --ply-cyan-1: #22d3ee;
    --ply-cyan-2: #67e8f9;
    --ply-cyan-3: #a5f3fc;
  }
}
[data-theme=dark] {
  --ply-bg-body: #161616;
  --ply-bg-surface: #262626;
  --ply-bg-surface-alt: #262626;
  --ply-bg-muted: #393939;
  --ply-color-body: #f4f4f4;
  --ply-color-headings: #f4f4f4;
  --ply-color-secondary: #c6c6c6;
  --ply-color-muted: #8d8d8d;
  --ply-color-placeholder: #6f6f6f;
  --ply-color-text-inverse: #161616;
  --ply-border-color: #393939;
  --ply-border-strong: #6f6f6f;
  --ply-color-link: #4589ff;
  --ply-color-link-hover: #619bff;
  --ply-color-link-hover: color-mix(in oklch, #4589ff, white 15%);
  --ply-color-focus: #0f62fe;
  --ply-color-table-striped: #1c1c1c;
  --ply-color-table-stripped: var(--ply-color-table-striped);
  --ply-color-table-hovered: #353535;
  --ply-color-accent: #4589ff;
  --ply-btn-default-bg: #0f62fe;
  --ply-btn-default-bg-hover: #619bff;
  --ply-btn-default-bg-hover: color-mix(in oklch, var(--ply-btn-default-bg), white 15%);
  --ply-btn-default-bg-active: #73a6ff;
  --ply-btn-default-bg-active: color-mix(in oklch, var(--ply-btn-default-bg), white 25%);
  --ply-btn-secondary-bg: #a8a8a8;
  --ply-btn-secondary-bg-hover: #b5b5b5;
  --ply-btn-secondary-bg-hover: color-mix(in oklch, var(--ply-btn-secondary-bg), white 15%);
  --ply-btn-secondary-bg-active: #bebebe;
  --ply-btn-secondary-bg-active: color-mix(in oklch, var(--ply-btn-secondary-bg), white 25%);
  --ply-btn-default-color: #fff;
  --ply-btn-secondary-color: #161616;
  --ply-btn-ghost-color: #4589ff;
  --ply-nav-hover: #353535;
  --ply-nav-active-color: #a8a8a8;
  --ply-layer-3: #525252;
  --ply-shadow-1: 0 1px 3px rgba(0, 0, 0, 0.2);
  --ply-shadow-2: 0 2px 8px rgba(0, 0, 0, 0.3);
  --ply-shadow-3: 0 4px 24px rgba(0, 0, 0, 0.4);
  --ply-bg-glass: rgba(38, 38, 38, 0.25);
  --ply-blue-surface: #1a2744;
  --ply-red-surface: #3b1c1e;
  --ply-green-surface: #1a2e1e;
  --ply-yellow-surface: #332b10;
  --ply-indigo-surface: #1e1b4b;
  --ply-purple-surface: #2e1065;
  --ply-pink-surface: #3b0a2a;
  --ply-orange-surface: #331a08;
  --ply-teal-surface: #132f2e;
  --ply-cyan-surface: #133040;
  --ply-blue-border: #1a52a5;
  --ply-red-border: #b2232f;
  --ply-green-border: #237f35;
  --ply-yellow-border: #cca000;
  --ply-indigo-border: #3730a3;
  --ply-purple-border: #5b21b6;
  --ply-pink-border: #9d174d;
  --ply-orange-border: #c2410c;
  --ply-teal-border: #0f766e;
  --ply-cyan-border: #0e7490;
  --ply-bg-blue: #0f62fe;
  --ply-bg-blue-hover: #0043ce;
  --ply-bg-blue-active: #002d9c;
  --ply-bg-red: #da1e28;
  --ply-bg-red-hover: #a2191f;
  --ply-bg-red-active: #750e13;
  --ply-bg-green: #198038;
  --ply-bg-green-hover: #0e6027;
  --ply-bg-green-active: #044317;
  --ply-bg-yellow: #f1c21b;
  --ply-bg-yellow-hover: #d2a106;
  --ply-bg-yellow-active: #b28600;
  --ply-blue-1: #4589ff;
  --ply-blue-2: #78a9ff;
  --ply-blue-3: #a6c8ff;
  --ply-red-1: #ff8389;
  --ply-red-2: #fa4d56;
  --ply-red-3: #da1e28;
  --ply-green-1: #42be65;
  --ply-green-2: #6fdc8c;
  --ply-green-3: #a7f0ba;
  --ply-yellow-1: #f1c21b;
  --ply-yellow-2: #d2a106;
  --ply-yellow-3: #b28600;
  --ply-indigo-1: #818cf8;
  --ply-indigo-2: #a5b4fc;
  --ply-indigo-3: #c7d2fe;
  --ply-purple-1: #a78bfa;
  --ply-purple-2: #c4b5fd;
  --ply-purple-3: #ddd6fe;
  --ply-pink-1: #f472b6;
  --ply-pink-2: #f9a8d4;
  --ply-pink-3: #fbcfe8;
  --ply-orange-1: #fb923c;
  --ply-orange-2: #fdba74;
  --ply-orange-3: #fed7aa;
  --ply-teal-1: #2dd4bf;
  --ply-teal-2: #5eead4;
  --ply-teal-3: #99f6e4;
  --ply-cyan-1: #22d3ee;
  --ply-cyan-2: #67e8f9;
  --ply-cyan-3: #a5f3fc;
}

@media (prefers-contrast: more) {
  :root {
    --ply-color-body: #000000;
    --ply-color-headings: #000000;
    --ply-color-secondary: #1a1a1a;
    --ply-color-muted: #333333;
    --ply-border-color: #000000;
    --ply-border-strong: #000000;
    --ply-color-link: #0000ee;
    --ply-color-link-hover: #0000cc;
    --ply-color-code-bg: #ffffff;
    --ply-color-code-border: #000000;
    --ply-color-focus: #000000;
    --ply-shadow-1: none;
    --ply-shadow-2: none;
    --ply-shadow-3: none;
    --ply-layer-1: #ffffff;
    --ply-layer-2: #ffffff;
    --ply-layer-3: #ffffff;
  }
}
@media (prefers-contrast: more) and (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --ply-color-body: #ffffff;
    --ply-color-headings: #ffffff;
    --ply-color-secondary: #e5e5e5;
    --ply-color-muted: #cccccc;
    --ply-border-color: #ffffff;
    --ply-border-strong: #ffffff;
    --ply-color-link: #6eb5ff;
    --ply-color-link-hover: #a6d0ff;
    --ply-color-code-bg: #000000;
    --ply-color-code-border: #ffffff;
    --ply-color-focus: #ffffff;
    --ply-shadow-1: none;
    --ply-shadow-2: none;
    --ply-shadow-3: none;
    --ply-layer-1: #161616;
    --ply-layer-2: #161616;
    --ply-layer-3: #161616;
  }
}
@media (prefers-contrast: more) {
  [data-theme=dark] {
    --ply-color-body: #ffffff;
    --ply-color-headings: #ffffff;
    --ply-color-secondary: #e5e5e5;
    --ply-color-muted: #cccccc;
    --ply-border-color: #ffffff;
    --ply-border-strong: #ffffff;
    --ply-color-link: #6eb5ff;
    --ply-color-link-hover: #a6d0ff;
    --ply-color-code-bg: #000000;
    --ply-color-code-border: #ffffff;
    --ply-color-focus: #ffffff;
    --ply-shadow-1: none;
    --ply-shadow-2: none;
    --ply-shadow-3: none;
    --ply-layer-1: #161616;
    --ply-layer-2: #161616;
    --ply-layer-3: #161616;
  }
}
@keyframes spinning {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* =Reset
-----------------------------------------------------------------------------*/
*,
*:before,
*:after {
  box-sizing: border-box;
}

html {
  font-family: var(--ply-font-body, sans-serif);
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
}

html,
body,
div,
span,
object,
iframe,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

a:active,
a:hover {
  outline: 0;
}

/* Visible focus for keyboard navigation */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--ply-color-focus, #0f62fe);
  outline-offset: 2px;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
embed,
object,
iframe,
audio,
video,
canvas,
progress,
meter,
output,
textarea {
  display: block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

/* To prevent some browsers from inserting quotes on q and p */
blockquote,
q {
  quotes: none;
}

blockquote p:before,
blockquote p:after,
q:before,
q:after {
  content: "";
  content: none;
}

/* Table reset */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th,
td {
  text-align: left;
  vertical-align: top;
}

thead th,
thead td {
  font-weight: bold;
  vertical-align: bottom;
}

/* Image inside */
a img,
th img,
td img {
  vertical-align: top;
}

button,
input,
select,
textarea {
  margin: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}

/* Normalize buttons in IE */
button {
  width: auto;
  overflow: visible;
}

/* Hand cursor on clickable controls */
input[type=reset],
input[type=submit],
input[type=file],
input[type=radio],
input[type=checkbox],
select,
button {
  cursor: pointer;
}

/* Trick with vertical align for radio and checkbox  */
input[type=radio],
input[type=checkbox] {
  font-size: 110%;
  position: relative;
  top: -1px;
  margin-right: 3px;
}

/* Normalize search fields */
input[type=search] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
          appearance: none;
}

/* Normalize horizontal line */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid var(--ply-border-color, #ddd);
}

/* Responsive media */
img,
video,
audio,
embed,
object {
  max-width: 100%;
}

img,
video,
embed,
object {
  height: auto;
}

embed,
object {
  height: 100%;
}

img {
  vertical-align: middle;
}

/* Native <details>/<summary> — Swiss/Modernist accordion */
details {
  border: 1px solid var(--ply-border-color, #e0e0e0);
  border-radius: var(--ply-border-radius);
  padding: 0.75rem 1rem;
  margin-bottom: 1.5rem;
}

summary {
  cursor: pointer;
  font-weight: 600;
  padding: 0.25rem 0;
  list-style: none;
  display: flex;
  align-items: center;
}
summary::marker, summary::-webkit-details-marker {
  display: none;
}
summary::after {
  content: "";
  flex: none;
  margin-left: auto;
  width: 0;
  height: 0;
  border-left: 0.3em solid transparent;
  border-right: 0.3em solid transparent;
  border-top: 0.35em solid var(--ply-color-secondary);
  transition: transform 0.15s ease;
}

details[open] > summary::after {
  transform: rotate(180deg);
}

details[open] > summary {
  margin-bottom: 0.75rem;
  border-bottom: 1px solid var(--ply-border-color, #e0e0e0);
  padding-bottom: 0.75rem;
}

/* Native <dialog> — modal styling */
dialog {
  border: none;
  border-radius: var(--ply-border-radius);
  padding: 1.5rem;
  max-width: 32rem;
  width: 90%;
  box-shadow: var(--ply-shadow-3, 0 4px 24px rgba(0, 0, 0, 0.15));
  background: var(--ply-bg-surface, #ffffff);
  color: var(--ply-color-body, #161616);
}
dialog::backdrop {
  background: rgba(0, 0, 0, 0.5);
}

/* Native <progress> and <meter> */
progress {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 0.5rem;
  border: none;
  border-radius: var(--ply-border-radius);
  background: var(--ply-bg-muted, #e0e0e0);
  margin-bottom: 1.5rem;
}
progress::-webkit-progress-bar {
  background: var(--ply-bg-muted, #e0e0e0);
  border-radius: var(--ply-border-radius);
}
progress::-webkit-progress-value {
  background: var(--ply-color-link, #0f62fe);
  border-radius: var(--ply-border-radius);
}
progress::-moz-progress-bar {
  background: var(--ply-color-link, #0f62fe);
  border-radius: var(--ply-border-radius);
}

meter {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 0.5rem;
  border: none;
  border-radius: var(--ply-border-radius);
  background: var(--ply-bg-muted, #e0e0e0);
  margin-bottom: 1.5rem;
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* =Cursor Helpers
-----------------------------------------------------------------------------*/
.cursor-pointer {
  cursor: pointer;
}

.cursor-finger {
  cursor: pointer;
}

.cursor-arrow {
  cursor: default;
}

.cursor-default {
  cursor: default;
}

.cursor-none {
  cursor: none;
}

.cursor-progress {
  cursor: progress;
}

.cursor-help {
  cursor: help;
}

.cursor-question-mark {
  cursor: help;
}

.cursor-text {
  cursor: text;
}

.cursor-cell {
  cursor: cell;
}

.cursor-plus {
  cursor: cell;
}

.cursor-crosshair {
  cursor: crosshair;
}

.cursor-alias {
  cursor: alias;
}

.cursor-shortcut {
  cursor: alias;
}

.cursor-context-menu {
  cursor: context-menu;
}

.cursor-copy {
  cursor: copy;
}

.cursor-move {
  cursor: move;
}

.cursor-no-drop {
  cursor: no-drop;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.cursor-all-scroll {
  cursor: all-scroll;
}

.cursor-ew-resize {
  cursor: ew-resize;
}

.cursor-col-resize {
  cursor: col-resize;
}

.cursor-ns-resize {
  cursor: ns-resize;
}

.cursor-row-resize {
  cursor: row-resize;
}

.cursor-nesw-resize {
  cursor: nesw-resize;
}

.cursor-n-resize {
  cursor: n-resize;
}

.cursor-e-resize {
  cursor: e-resize;
}

.cursor-s-resize {
  cursor: s-resize;
}

.cursor-w-resize {
  cursor: w-resize;
}

.cursor-ne-resize {
  cursor: ne-resize;
}

.cursor-nw-resize {
  cursor: nw-resize;
}

.cursor-sw-resize {
  cursor: sw-resize;
}

.cursor-se-resize {
  cursor: se-resize;
}

/* =Helpers (Core)
-----------------------------------------------------------------------------*/
.full-screen {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.static {
  position: static;
}

.sticky {
  position: sticky;
}

.display-flex {
  display: flex;
}

.display-block {
  display: block;
}

.display-inline-block {
  display: inline-block;
}

.display-grid {
  display: grid;
}

.display-none {
  display: none;
}

.last {
  margin-right: 0 !important;
}

.pause {
  margin-bottom: 0.75rem !important;
}

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

.margin {
  margin: var(--ply-space-md, 0.75rem);
}

.margin-top {
  margin-top: var(--ply-space-md, 0.75rem);
}

.margin-top-extra {
  margin-top: var(--ply-space-lg, 1.5rem);
}

.margin-right {
  margin-right: var(--ply-space-md, 0.75rem);
}

.margin-bottom {
  margin-bottom: var(--ply-space-md, 0.75rem);
}

.margin-bottom-extra {
  margin-bottom: var(--ply-space-lg, 1.5rem);
}

.margin-left {
  margin-left: var(--ply-space-md, 0.75rem);
}

.margin-xs {
  margin: var(--ply-space-xs, 0.25rem);
}

.margin-sm {
  margin: var(--ply-space-sm, 0.5rem);
}

.margin-lg {
  margin: var(--ply-space-lg, 1.5rem);
}

.margin-xl {
  margin: var(--ply-space-xl, 2rem);
}

.margin-xxl {
  margin: var(--ply-space-xxl, 3rem);
}

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

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

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

.no-spacing {
  margin: 0 !important;
  padding: 0 !important;
}

.no-padding {
  padding: 0 !important;
}

.padding {
  padding: var(--ply-space-md, 0.75rem);
}

.padding-top {
  padding-top: var(--ply-space-md, 0.75rem);
}

.padding-right {
  padding-right: var(--ply-space-md, 0.75rem);
}

.padding-bottom {
  padding-bottom: var(--ply-space-md, 0.75rem);
}

.padding-left {
  padding-left: var(--ply-space-md, 0.75rem);
}

.padding-xs {
  padding: var(--ply-space-xs, 0.25rem);
}

.padding-sm {
  padding: var(--ply-space-sm, 0.5rem);
}

.padding-lg {
  padding: var(--ply-space-lg, 1.5rem);
}

.padding-xl {
  padding: var(--ply-space-xl, 2rem);
}

.padding-xxl {
  padding: var(--ply-space-xxl, 3rem);
}

.border-top {
  border-top: 1px solid var(--ply-border-color, #ccc);
}

.border-bottom {
  border-bottom: 1px solid var(--ply-border-color, #ccc);
}

.border {
  border: 1px solid var(--ply-border-color, #ccc);
}

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

.width-100 {
  width: 100%;
}

.width-90 {
  width: 90%;
}

.width-80 {
  width: 80%;
}

.width-75 {
  width: 75%;
}

.width-70 {
  width: 70%;
}

.width-66 {
  width: 66.6%;
}

.width-65 {
  width: 65%;
}

.width-60 {
  width: 60%;
}

.width-50 {
  width: 50%;
}

.width-40 {
  width: 40%;
}

.width-35 {
  width: 35%;
}

.width-33 {
  width: 33.3%;
}

.width-30 {
  width: 30%;
}

.width-25 {
  width: 25%;
}

.width-20 {
  width: 20%;
}

.width-10 {
  width: 10%;
}

.group:after,
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

.hide {
  display: none;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hide-on-desktop {
  display: none;
}

.flat-list {
  margin-left: 0;
  list-style: none;
}

.border-radius {
  border-radius: var(--ply-border-radius);
}

.req,
.required {
  font-weight: normal;
  color: var(--ply-color-error);
}

.error {
  color: var(--ply-color-error);
}

.success {
  color: var(--ply-color-success);
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-2xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-3xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

.text-4xl {
  font-size: 3rem;
  line-height: 1;
}

.text-5xl {
  font-size: 3.75rem;
  line-height: 1;
}

.font-normal {
  font-weight: 400;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.font-bold {
  font-weight: 700;
}

.leading-tight {
  line-height: 1.25;
}

.leading-snug {
  line-height: 1.375;
}

.leading-normal {
  line-height: 1.5;
}

.leading-relaxed {
  line-height: 1.625;
}

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

.italic {
  font-style: italic;
}

.uppercase {
  text-transform: uppercase;
}

.nowrap,
.nowrap td {
  white-space: nowrap;
}

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

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.bg-white,
.bg-surface {
  background-color: var(--ply-bg-surface);
}

.bg-black {
  background-color: #0f0f0f;
}

.color-black {
  color: #0f0f0f;
}

.color-white {
  color: #fff;
}

/* =Responsive
-----------------------------------------------------------------------------*/
@media only screen and (max-width: 767px) {
  .left,
  .right {
    float: none;
  }
  .hide-on-mobile {
    display: none;
  }
  .hide-on-desktop {
    display: block;
  }
}
/* =Helpers (Extended)
-----------------------------------------------------------------------------*/
.flex-wrap {
  flex-wrap: wrap;
}

.display-table {
  display: table;
}

.display-inline-table {
  display: inline-table;
}

.display-table-cell {
  display: table-cell;
}

.display-list-item {
  display: list-item;
}

.display-inline-grid {
  display: inline-grid;
}

.display-subgrid {
  display: subgrid;
}

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

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

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

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

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

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

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

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

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

.margin-right-extra {
  margin-right: var(--ply-space-lg, 1.5rem);
}

.margin-left-auto {
  margin-left: auto;
}

.margin-left-extra {
  margin-left: var(--ply-space-lg, 1.5rem);
}

.margin-top-xs {
  margin-top: var(--ply-space-xs, 0.25rem);
}

.margin-top-sm {
  margin-top: var(--ply-space-sm, 0.5rem);
}

.margin-top-lg {
  margin-top: var(--ply-space-lg, 1.5rem);
}

.margin-top-xl {
  margin-top: var(--ply-space-xl, 2rem);
}

.margin-top-xxl {
  margin-top: var(--ply-space-xxl, 3rem);
}

.margin-right-xs {
  margin-right: var(--ply-space-xs, 0.25rem);
}

.margin-right-sm {
  margin-right: var(--ply-space-sm, 0.5rem);
}

.margin-right-lg {
  margin-right: var(--ply-space-lg, 1.5rem);
}

.margin-right-xl {
  margin-right: var(--ply-space-xl, 2rem);
}

.margin-right-xxl {
  margin-right: var(--ply-space-xxl, 3rem);
}

.margin-bottom-xs {
  margin-bottom: var(--ply-space-xs, 0.25rem);
}

.margin-bottom-sm {
  margin-bottom: var(--ply-space-sm, 0.5rem);
}

.margin-bottom-lg {
  margin-bottom: var(--ply-space-lg, 1.5rem);
}

.margin-bottom-xl {
  margin-bottom: var(--ply-space-xl, 2rem);
}

.margin-bottom-xxl {
  margin-bottom: var(--ply-space-xxl, 3rem);
}

.margin-left-xs {
  margin-left: var(--ply-space-xs, 0.25rem);
}

.margin-left-sm {
  margin-left: var(--ply-space-sm, 0.5rem);
}

.margin-left-lg {
  margin-left: var(--ply-space-lg, 1.5rem);
}

.margin-left-xl {
  margin-left: var(--ply-space-xl, 2rem);
}

.margin-left-xxl {
  margin-left: var(--ply-space-xxl, 3rem);
}

.no-right-margin {
  margin-right: 0 !important;
}

.no-left-margin {
  margin-left: 0 !important;
}

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

.no-right-padding {
  padding-right: 0 !important;
}

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

.no-left-padding {
  padding-left: 0 !important;
}

.padding-top-extra {
  padding-top: var(--ply-space-lg, 1.5rem);
}

.padding-right-extra {
  padding-right: var(--ply-space-lg, 1.5rem);
}

.padding-bottom-extra {
  padding-bottom: var(--ply-space-lg, 1.5rem);
}

.padding-left-extra {
  padding-left: var(--ply-space-lg, 1.5rem);
}

.padding-top-xs {
  padding-top: var(--ply-space-xs, 0.25rem);
}

.padding-top-sm {
  padding-top: var(--ply-space-sm, 0.5rem);
}

.padding-top-lg {
  padding-top: var(--ply-space-lg, 1.5rem);
}

.padding-top-xl {
  padding-top: var(--ply-space-xl, 2rem);
}

.padding-top-xxl {
  padding-top: var(--ply-space-xxl, 3rem);
}

.padding-right-xs {
  padding-right: var(--ply-space-xs, 0.25rem);
}

.padding-right-sm {
  padding-right: var(--ply-space-sm, 0.5rem);
}

.padding-right-lg {
  padding-right: var(--ply-space-lg, 1.5rem);
}

.padding-right-xl {
  padding-right: var(--ply-space-xl, 2rem);
}

.padding-right-xxl {
  padding-right: var(--ply-space-xxl, 3rem);
}

.padding-bottom-xs {
  padding-bottom: var(--ply-space-xs, 0.25rem);
}

.padding-bottom-sm {
  padding-bottom: var(--ply-space-sm, 0.5rem);
}

.padding-bottom-lg {
  padding-bottom: var(--ply-space-lg, 1.5rem);
}

.padding-bottom-xl {
  padding-bottom: var(--ply-space-xl, 2rem);
}

.padding-bottom-xxl {
  padding-bottom: var(--ply-space-xxl, 3rem);
}

.padding-left-xs {
  padding-left: var(--ply-space-xs, 0.25rem);
}

.padding-left-sm {
  padding-left: var(--ply-space-sm, 0.5rem);
}

.padding-left-lg {
  padding-left: var(--ply-space-lg, 1.5rem);
}

.padding-left-xl {
  padding-left: var(--ply-space-xl, 2rem);
}

.padding-left-xxl {
  padding-left: var(--ply-space-xxl, 3rem);
}

.border-right {
  border-right: 1px solid var(--ply-border-color, #ccc);
}

.border-left {
  border-left: 1px solid var(--ply-border-color, #ccc);
}

.border-top-thick {
  border-top: 3px solid var(--ply-border-color, #ccc);
}

.border-right-thick {
  border-right: 3px solid var(--ply-border-color, #ccc);
}

.border-bottom-thick {
  border-bottom: 3px solid var(--ply-border-color, #ccc);
}

.border-left-thick {
  border-left: 3px solid var(--ply-border-color, #ccc);
}

.border-thick {
  border: 3px solid var(--ply-border-color, #ccc);
}

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

.no-border-right {
  border-right: 0 none !important;
}

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

.no-border-left {
  border-left: 0 none !important;
}

@media (max-width: 1024px) {
  .small-desktop-width-100 {
    width: 100%;
  }
  .small-desktop-width-90 {
    width: 90%;
  }
  .small-desktop-width-80 {
    width: 80%;
  }
  .small-desktop-width-75 {
    width: 75%;
  }
  .small-desktop-width-70 {
    width: 70%;
  }
  .small-desktop-width-66 {
    width: 66.6%;
  }
  .small-desktop-width-65 {
    width: 65%;
  }
  .small-desktop-width-60 {
    width: 60%;
  }
  .small-desktop-width-50 {
    width: 50%;
  }
  .small-desktop-width-40 {
    width: 40%;
  }
  .small-desktop-width-35 {
    width: 35%;
  }
  .small-desktop-width-33 {
    width: 33.3%;
  }
  .small-desktop-width-30 {
    width: 30%;
  }
  .small-desktop-width-25 {
    width: 25%;
  }
  .small-desktop-width-20 {
    width: 20%;
  }
  .small-desktop-width-10 {
    width: 10%;
  }
}
@media (max-width: 767px) {
  .tablet-width-100 {
    width: 100%;
  }
  .tablet-width-90 {
    width: 90%;
  }
  .tablet-width-80 {
    width: 80%;
  }
  .tablet-width-75 {
    width: 75%;
  }
  .tablet-width-70 {
    width: 70%;
  }
  .tablet-width-66 {
    width: 66.6%;
  }
  .tablet-width-65 {
    width: 65%;
  }
  .tablet-width-60 {
    width: 60%;
  }
  .tablet-width-50 {
    width: 50%;
  }
  .tablet-width-40 {
    width: 40%;
  }
  .tablet-width-35 {
    width: 35%;
  }
  .tablet-width-33 {
    width: 33.3%;
  }
  .tablet-width-30 {
    width: 30%;
  }
  .tablet-width-25 {
    width: 25%;
  }
  .tablet-width-20 {
    width: 20%;
  }
  .tablet-width-10 {
    width: 10%;
  }
}
@media (max-width: 650px) {
  .large-phone-width-100 {
    width: 100%;
  }
  .large-phone-width-90 {
    width: 90%;
  }
  .large-phone-width-80 {
    width: 80%;
  }
  .large-phone-width-75 {
    width: 75%;
  }
  .large-phone-width-70 {
    width: 70%;
  }
  .large-phone-width-66 {
    width: 66.6%;
  }
  .large-phone-width-65 {
    width: 65%;
  }
  .large-phone-width-60 {
    width: 60%;
  }
  .large-phone-width-50 {
    width: 50%;
  }
  .large-phone-width-40 {
    width: 40%;
  }
  .large-phone-width-35 {
    width: 35%;
  }
  .large-phone-width-33 {
    width: 33.3%;
  }
  .large-phone-width-30 {
    width: 30%;
  }
  .large-phone-width-25 {
    width: 25%;
  }
  .large-phone-width-20 {
    width: 20%;
  }
  .large-phone-width-10 {
    width: 10%;
  }
}
@media (max-width: 480px) {
  .phone-width-100 {
    width: 100%;
  }
  .phone-width-90 {
    width: 90%;
  }
  .phone-width-80 {
    width: 80%;
  }
  .phone-width-75 {
    width: 75%;
  }
  .phone-width-70 {
    width: 70%;
  }
  .phone-width-66 {
    width: 66.6%;
  }
  .phone-width-65 {
    width: 65%;
  }
  .phone-width-60 {
    width: 60%;
  }
  .phone-width-50 {
    width: 50%;
  }
  .phone-width-40 {
    width: 40%;
  }
  .phone-width-35 {
    width: 35%;
  }
  .phone-width-33 {
    width: 33.3%;
  }
  .phone-width-30 {
    width: 30%;
  }
  .phone-width-25 {
    width: 25%;
  }
  .phone-width-20 {
    width: 20%;
  }
  .phone-width-10 {
    width: 10%;
  }
}
.height-100 {
  height: 100%;
}

.height-90 {
  height: 90%;
}

.height-80 {
  height: 80%;
}

.height-75 {
  height: 75%;
}

.height-70 {
  height: 70%;
}

.height-66 {
  height: 66.6%;
}

.height-65 {
  height: 65%;
}

.height-60 {
  height: 60%;
}

.height-50 {
  height: 50%;
}

.height-40 {
  height: 40%;
}

.height-35 {
  height: 35%;
}

.height-33 {
  height: 33.3%;
}

.height-30 {
  height: 30%;
}

.height-25 {
  height: 25%;
}

.height-20 {
  height: 20%;
}

.height-10 {
  height: 10%;
}

.border-box {
  box-sizing: border-box;
}

.skip-link {
  position: absolute;
  top: -100%;
  left: 0;
  z-index: 1000;
  padding: 0.75rem 1.5rem;
  background: var(--ply-bg-body);
  color: var(--ply-color-link);
  text-decoration: underline;
  font-weight: 600;
}
.skip-link:focus {
  top: 0;
}

.circle {
  border-radius: 100%;
}

.border-radius-lg {
  border-radius: calc(var(--ply-border-radius) * 3);
}

.border-radius-xl {
  border-radius: calc(var(--ply-border-radius) * 6);
}

.text-primary {
  color: var(--ply-color-body);
}

.text-secondary {
  color: var(--ply-color-secondary);
}

.text-tertiary,
.text-muted {
  color: var(--ply-color-muted);
}

.text-inverse {
  color: var(--ply-color-text-inverse);
}

.text-on-color {
  color: #fff;
}

.no-orphan {
  text-wrap: pretty;
}

.text-balance {
  text-wrap: balance;
}

.bg-glass {
  background: var(--ply-bg-glass, rgba(255, 255, 255, 0.15));
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.color-accent {
  color: var(--ply-color-accent);
}

.bg-accent {
  background-color: var(--ply-color-accent);
}

.bg-blue {
  background-color: var(--ply-bg-blue);
}

.bg-red {
  background-color: var(--ply-bg-red);
}

.bg-green {
  background-color: var(--ply-bg-green);
}

.bg-yellow {
  background-color: var(--ply-bg-yellow);
}

.gap-xs {
  --units-gap: var(--ply-space-xs, 0.25rem);
  gap: var(--units-gap);
}

.gap-sm {
  --units-gap: var(--ply-space-sm, 0.5rem);
  gap: var(--units-gap);
}

.gap {
  --units-gap: var(--ply-space-md, 0.75rem);
  gap: var(--units-gap);
}

.gap-lg {
  --units-gap: var(--ply-space-lg, 1.5rem);
  gap: var(--units-gap);
}

.gap-xl {
  --units-gap: var(--ply-space-xl, 2rem);
  gap: var(--units-gap);
}

.gap-xxl {
  --units-gap: var(--ply-space-xxl, 3rem);
  gap: var(--units-gap);
}

.no-link-style a {
  color: inherit;
  text-decoration: none;
}
.no-link-style a:hover {
  color: inherit;
  text-decoration: none;
}

.spinning {
  animation-duration: 0.75s;
  animation-name: spinning;
  animation-iteration-count: infinite;
  display: inline-block;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fade-in {
  animation-duration: 0.25s;
  animation-name: fadeIn;
  animation-iteration-count: 1;
}

.code {
  border: 1px solid #f0f1f2;
  border-radius: var(--ply-border-radius);
  display: inline-block;
  font-size: 0.8rem;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  padding: 0.05rem 0.35rem;
}

.big {
  font-size: 1.125rem;
}

.small {
  font-size: 0.875rem;
}

.smaller {
  font-size: 0.75rem;
}

.highlight {
  background-color: #fff4cc;
}

.sans {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
}

.serif {
  font-family: "Georgia", serif;
}

.mono {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}

.hide-text {
  text-indent: -5000px;
  font-size: 0;
}

.normal {
  font-weight: normal;
}

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

.medium {
  font-weight: 400 !important;
}

.layer-0 {
  background-color: var(--ply-layer-0);
}

.layer-1 {
  background-color: var(--ply-layer-1);
  box-shadow: var(--ply-shadow-1);
}

.layer-2 {
  background-color: var(--ply-layer-2);
  box-shadow: var(--ply-shadow-2);
}

.layer-3 {
  background-color: var(--ply-layer-3);
  box-shadow: var(--ply-shadow-3);
}

.shadow-1 {
  box-shadow: var(--ply-shadow-1);
}

.shadow-2 {
  box-shadow: var(--ply-shadow-2);
}

.shadow-3 {
  box-shadow: var(--ply-shadow-3);
}

.color-gray-10 {
  color: rgba(0, 0, 0, 0.1);
}

.color-white-10 {
  color: rgba(255, 255, 255, 0.1);
}

.color-gray-20 {
  color: rgba(0, 0, 0, 0.2);
}

.color-white-20 {
  color: rgba(255, 255, 255, 0.2);
}

.color-gray-30 {
  color: rgba(0, 0, 0, 0.3);
}

.color-white-30 {
  color: rgba(255, 255, 255, 0.3);
}

.color-gray-40 {
  color: rgba(0, 0, 0, 0.4);
}

.color-white-40 {
  color: rgba(255, 255, 255, 0.4);
}

.color-gray-50 {
  color: rgba(0, 0, 0, 0.5);
}

.color-white-50 {
  color: rgba(255, 255, 255, 0.5);
}

.color-gray-60 {
  color: rgba(0, 0, 0, 0.6);
}

.color-white-60 {
  color: rgba(255, 255, 255, 0.6);
}

.color-gray-70 {
  color: rgba(0, 0, 0, 0.7);
}

.color-white-70 {
  color: rgba(255, 255, 255, 0.7);
}

.color-gray-80 {
  color: rgba(0, 0, 0, 0.8);
}

.color-white-80 {
  color: rgba(255, 255, 255, 0.8);
}

.color-gray-90 {
  color: rgba(0, 0, 0, 0.9);
}

.color-white-90 {
  color: rgba(255, 255, 255, 0.9);
}

.color-blue {
  color: var(--ply-blue-1);
}

.color-red {
  color: var(--ply-red-1);
}

.color-green {
  color: var(--ply-green-1);
}

.color-yellow {
  color: var(--ply-yellow-1);
}

body {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  background: var(--ply-bg-body, #f7f8f8);
  color: var(--ply-color-body, #222);
  font-family: var(--ply-font-body, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji);
  font-size: 1rem;
  line-height: 1.5rem;
  overflow: auto;
  transition: background 0.2s ease, color 0.2s ease;
}

a {
  transition: all linear 0.2s;
  color: var(--ply-color-link, #134da5);
}
a:focus, a:hover {
  color: var(--ply-color-link-hover, #de2c3b);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  color: var(--ply-color-headings, #000);
  font-family: var(--ply-font-heading, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji);
  font-weight: 600;
  margin: 0 0 0.5rem;
  text-rendering: optimizeLegibility;
}

h1,
.h1,
h2,
.h2 {
  line-height: 1.25;
}

h3,
.h3,
h4,
.h4 {
  line-height: 1.375;
}

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

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

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

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

h5,
.h5 {
  font-size: 1.5rem;
  font-weight: normal;
}

h6,
.h6 {
  font-size: 0.875rem;
  font-weight: bold;
  text-transform: uppercase;
}

.lead-subhead,
.lead {
  font-size: 1.5rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}

p,
ul,
ol,
dl,
dd,
dt,
blockquote,
td,
th {
  line-height: 1.5rem;
}

ul,
ol,
ul ul,
ol ol,
ul ol,
ol ul {
  margin: 0 0 0 2rem;
}

ul li,
ol li {
  text-align: left;
}

ol ol li {
  list-style-type: lower-alpha;
}

ol ol ol li {
  list-style-type: lower-roman;
}

dl dt {
  font-weight: bold;
}

dd {
  margin-left: 1.5rem;
}

p,
ul,
ol,
dl,
blockquote,
hr,
pre,
table,
form,
fieldset,
figure,
address {
  margin-bottom: 1.5rem;
}

blockquote {
  position: relative;
  font-style: italic;
  font-size: 1.125rem;
  margin-left: 2.25rem;
  padding-left: 1.5rem;
  border-left: 2px solid var(--ply-border-color, #ddd);
}
blockquote p {
  margin-bottom: 0.5rem;
}

small,
blockquote small,
blockquote p.small,
blockquote p.citation cite,
blockquote cite {
  color: var(--ply-color-muted);
  font-style: italic;
  font-size: 0.875rem;
  line-height: 1;
}
small a,
blockquote small a,
blockquote p.small a,
blockquote p.citation cite a,
blockquote cite a {
  text-decoration: none;
}

address {
  font-style: normal;
}

s,
del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted var(--ply-color-body, #0f0f0f);
  cursor: help;
}

strong,
b {
  font-weight: bold;
}

em,
i {
  font-style: italic;
}

sub,
sup {
  font-size: 0.75rem;
  line-height: 0;
  position: relative;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

figcaption {
  margin: 0.3em 0;
  font-size: 0.875rem;
  font-style: italic;
}

ins,
u {
  text-decoration: underline;
}

mark {
  background-color: var(--ply-color-mark-bg, #ffc800);
  color: var(--ply-color-mark, #0f0f0f);
  text-decoration: none;
}

pre,
code,
kbd,
samp,
var,
output {
  font-size: 90%;
  font-style: normal;
  font-family: var(--ply-font-mono, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);
}

pre {
  margin-top: 1.5rem;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--ply-color-body, #222);
  background: var(--ply-color-code-bg, #f4f4f4);
  border: 1px solid var(--ply-color-code-border, #d4d4d4);
  border-radius: var(--ply-border-radius);
  padding: 1rem;
  overflow: auto;
}

code,
samp,
kbd {
  padding: 3px 6px 2px 6px;
  display: inline-block;
  line-height: 1;
  border-radius: 2px;
}

code {
  background: var(--ply-color-code-bg, #f4f4f4);
  border: 1px solid var(--ply-color-code-border, #d4d4d4);
}

pre code {
  font-size: 100%;
  border: none;
  padding: 0;
  background: none;
  line-height: 1.5rem;
}

var {
  color: var(--ply-color-muted);
}

samp {
  background: var(--ply-color-code-bg, #d3e3fb);
  border: 1px solid var(--ply-color-code-border, rgb(178.275, 206.175, 248.025));
}

kbd {
  background: var(--ply-color-body, #0f0f0f);
  color: var(--ply-bg-body, rgba(255, 255, 255, 0.85));
  white-space: nowrap;
}

button:active {
  outline: none;
}

textarea,
select {
  font-family: var(--ply-font-body, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji);
  font-size: 1em;
  box-shadow: none;
}

textarea,
select[multiple],
select[multiple=multiple] {
  padding: 0.5rem 0.35rem;
  line-height: 1.35em;
  width: 100%;
}

input[type=text],
input[type=password],
input[type=email],
input[type=url],
input[type=phone],
input[type=tel],
input[type=number],
input[type=datetime],
input[type=date],
input[type=month],
input[type=color],
input[type=time],
input[type=search],
input[type=datetime-local] {
  font-family: var(--ply-font-body, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji);
  font-size: 1em;
  box-shadow: none;
  padding: 0.5rem 0.35rem;
  line-height: 1.5rem;
  border-radius: 0;
  outline: none;
}

select[multiple],
select[multiple=multiple],
textarea,
input[type=text],
input[type=password],
input[type=email],
input[type=url],
input[type=phone],
input[type=tel],
input[type=number],
input[type=datetime],
input[type=date],
input[type=month],
input[type=color],
input[type=time],
input[type=search],
input[type=datetime-local] {
  background: var(--ply-color-input-bg, #fff);
  border: 1px solid var(--ply-color-input-border, #ccc);
  color: var(--ply-color-body, #222);
  position: relative;
  z-index: 2;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

textarea[disabled],
input[type=text][disabled],
input[type=password][disabled],
input[type=email][disabled],
input[type=url][disabled],
input[type=phone][disabled],
input[type=tel][disabled],
input[type=number][disabled],
input[type=datetime][disabled],
input[type=date][disabled],
input[type=month][disabled],
input[type=color][disabled],
input[type=time][disabled],
input[type=search][disabled],
input[type=datetime-local][disabled] {
  resize: none;
  color: var(--ply-color-muted);
}

select[disabled],
input[type=checkbox][disabled],
input[type=radio][disabled] {
  cursor: default;
}

input::-moz-focus-inner,
button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input[type=range] {
  position: relative;
  top: 3px;
}

select {
  margin-bottom: 0 !important;
}

fieldset {
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  border: 1px solid var(--ply-border-color, #ccc);
}
fieldset *:last-child {
  margin-bottom: 0 !important;
}

legend {
  font-weight: bold;
  padding: 0 1em;
  margin-left: -1em;
}

table {
  max-width: 100%;
  width: 100%;
  empty-cells: show;
}
table caption {
  text-transform: uppercase;
  padding: 0 1rem;
  color: var(--ply-color-muted);
  font-size: 0.875rem;
}
table th,
table td {
  border-bottom: 1px solid var(--ply-color-table-border, #ccc);
  padding: 0.75rem 1rem;
}
table tfoot th,
table tfoot td {
  color: var(--ply-color-muted);
}

@media (min-width: 768px) and (max-width: 979px) {
  h1 {
    font-size: 3rem;
    line-height: 1.25;
  }
  h2 {
    font-size: 2.25rem;
    line-height: 1.25;
  }
  h3 {
    font-size: 1.875rem;
    line-height: 1.375;
  }
  h4 {
    font-size: 1.5rem;
    line-height: 1.375;
  }
  h5 {
    font-size: 1.125rem;
  }
  h6 {
    font-size: 0.875rem;
  }
}
@media (max-width: 767px) {
  h1 {
    font-size: 2.25rem;
    line-height: 1.25;
  }
  h2 {
    font-size: 1.875rem;
    line-height: 1.25;
  }
  h3 {
    font-size: 1.5rem;
    line-height: 1.375;
  }
  h4 {
    font-size: 1.125rem;
    line-height: 1.375;
  }
  h5 {
    font-size: 1rem;
  }
  h6 {
    font-size: 0.875rem;
  }
  .lead,
  .lead-subhead {
    font-size: 1.125rem;
  }
  ul,
  ol,
  ul ul,
  ol ol,
  ul ol,
  ol ul {
    margin-left: 1.5rem;
  }
  blockquote {
    margin-left: 0;
  }
}
/* =Grid
-----------------------------------------------------------------------------*/
.units-container {
  margin: auto;
  max-width: 1200px;
  overflow-x: clip;
  padding: 0.75rem;
  position: relative;
  width: 100%;
}
.units-container.fill-width {
  max-width: 100%;
}

.units-row {
  box-sizing: border-box;
  display: flex;
  flex: 0 1 auto;
  flex-flow: row wrap;
  gap: var(--units-gap, 1rem);
  margin: 0 0 1.5rem;
}
.units-row.reverse-direction, .units-row.right-to-left {
  flex-direction: row-reverse;
}
.units-row.joined, .units-row.split {
  --units-gap: 0px;
  gap: 0;
}
.units-row.centered-content {
  justify-content: center;
  text-align: center;
}
.units-row.stacked {
  margin-bottom: 0;
}
.units-row.equal-height [class*=unit-] {
  display: flex;
}
.units-row.equal-height [class*=unit-] > * {
  width: 100%;
}
.units-row.unit-role-right {
  float: right;
  margin-left: 0.0004166667rem;
}
.units-row.unit-role-left {
  margin-left: 0;
}
.units-row:last-child {
  margin-bottom: 0;
}

[class*=unit-] {
  box-sizing: border-box;
}
[class*=unit-].fill-height {
  display: flex;
}

.unit-auto {
  flex-basis: 0;
  flex-grow: 1;
}

.unit-100 {
  flex-basis: 100%;
}

.unit-90 {
  flex-basis: calc(90% - var(--units-gap, 1rem) * 0.1);
}

.unit-88 {
  flex-basis: calc(87.5% - var(--units-gap, 1rem) * 0.12);
}

.unit-80 {
  flex-basis: calc(80% - var(--units-gap, 1rem) * 0.2);
}

.unit-75 {
  flex-basis: calc(75% - var(--units-gap, 1rem) * 0.25);
}

.unit-70 {
  flex-basis: calc(70% - var(--units-gap, 1rem) * 0.3);
}

.unit-66 {
  flex-basis: calc(66.6% - var(--units-gap, 1rem) * 0.34);
}

.unit-65 {
  flex-basis: calc(65% - var(--units-gap, 1rem) * 0.35);
}

.unit-62 {
  flex-basis: calc(62.5% - var(--units-gap, 1rem) * 0.38);
}

.unit-60 {
  flex-basis: calc(60% - var(--units-gap, 1rem) * 0.4);
}

.unit-50 {
  flex-basis: calc(50% - var(--units-gap, 1rem) * 0.5);
}

.unit-40 {
  flex-basis: calc(40% - var(--units-gap, 1rem) * 0.6);
}

.unit-38 {
  flex-basis: calc(37.5% - var(--units-gap, 1rem) * 0.62);
}

.unit-35 {
  flex-basis: calc(35% - var(--units-gap, 1rem) * 0.65);
}

.unit-33 {
  flex-basis: calc(33.3% - var(--units-gap, 1rem) * 0.67);
}

.unit-30 {
  flex-basis: calc(30% - var(--units-gap, 1rem) * 0.7);
}

.unit-25 {
  flex-basis: calc(25% - var(--units-gap, 1rem) * 0.75);
}

.unit-20 {
  flex-basis: calc(20% - var(--units-gap, 1rem) * 0.8);
}

.unit-12 {
  flex-basis: calc(12.5% - var(--units-gap, 1rem) * 0.88);
}

.unit-10 {
  flex-basis: calc(10% - var(--units-gap, 1rem) * 0.9);
}

.forever-unit-auto {
  flex-basis: 0;
  flex-grow: 1;
}

.forever-unit-100 {
  flex-basis: 100%;
}

.forever-unit-90 {
  flex-basis: calc(90% - var(--units-gap, 1rem) * 0.1);
}

.forever-unit-88 {
  flex-basis: calc(87.5% - var(--units-gap, 1rem) * 0.12);
}

.forever-unit-80 {
  flex-basis: calc(80% - var(--units-gap, 1rem) * 0.2);
}

.forever-unit-75 {
  flex-basis: calc(75% - var(--units-gap, 1rem) * 0.25);
}

.forever-unit-70 {
  flex-basis: calc(70% - var(--units-gap, 1rem) * 0.3);
}

.forever-unit-66 {
  flex-basis: calc(66.6% - var(--units-gap, 1rem) * 0.34);
}

.forever-unit-65 {
  flex-basis: calc(65% - var(--units-gap, 1rem) * 0.35);
}

.forever-unit-62 {
  flex-basis: calc(62.5% - var(--units-gap, 1rem) * 0.38);
}

.forever-unit-60 {
  flex-basis: calc(60% - var(--units-gap, 1rem) * 0.4);
}

.forever-unit-50 {
  flex-basis: calc(50% - var(--units-gap, 1rem) * 0.5);
}

.forever-unit-40 {
  flex-basis: calc(40% - var(--units-gap, 1rem) * 0.6);
}

.forever-unit-38 {
  flex-basis: calc(37.5% - var(--units-gap, 1rem) * 0.62);
}

.forever-unit-35 {
  flex-basis: calc(35% - var(--units-gap, 1rem) * 0.65);
}

.forever-unit-33 {
  flex-basis: calc(33.3% - var(--units-gap, 1rem) * 0.67);
}

.forever-unit-30 {
  flex-basis: calc(30% - var(--units-gap, 1rem) * 0.7);
}

.forever-unit-25 {
  flex-basis: calc(25% - var(--units-gap, 1rem) * 0.75);
}

.forever-unit-20 {
  flex-basis: calc(20% - var(--units-gap, 1rem) * 0.8);
}

.forever-unit-12 {
  flex-basis: calc(12.5% - var(--units-gap, 1rem) * 0.88);
}

.forever-unit-10 {
  flex-basis: calc(10% - var(--units-gap, 1rem) * 0.9);
}

@media (min-width: 1400px) {
  .large-screen-unit-90 {
    flex-basis: calc(90% - var(--units-gap, 1rem) * 0.1);
  }
  .large-screen-unit-80 {
    flex-basis: calc(80% - var(--units-gap, 1rem) * 0.2);
  }
  .large-screen-unit-75 {
    flex-basis: calc(75% - var(--units-gap, 1rem) * 0.25);
  }
  .large-screen-unit-70 {
    flex-basis: calc(70% - var(--units-gap, 1rem) * 0.3);
  }
  .large-screen-unit-66 {
    flex-basis: calc(66.6% - var(--units-gap, 1rem) * 0.34);
  }
  .large-screen-unit-65 {
    flex-basis: calc(65% - var(--units-gap, 1rem) * 0.35);
  }
  .large-screen-unit-60 {
    flex-basis: calc(60% - var(--units-gap, 1rem) * 0.4);
  }
  .large-screen-unit-50 {
    flex-basis: calc(50% - var(--units-gap, 1rem) * 0.5);
  }
  .large-screen-unit-40 {
    flex-basis: calc(40% - var(--units-gap, 1rem) * 0.6);
  }
  .large-screen-unit-35 {
    flex-basis: calc(35% - var(--units-gap, 1rem) * 0.65);
  }
  .large-screen-unit-33 {
    flex-basis: calc(33.3% - var(--units-gap, 1rem) * 0.67);
  }
  .large-screen-unit-30 {
    flex-basis: calc(30% - var(--units-gap, 1rem) * 0.7);
  }
  .large-screen-unit-25 {
    flex-basis: calc(25% - var(--units-gap, 1rem) * 0.75);
  }
  .large-screen-unit-20 {
    flex-basis: calc(20% - var(--units-gap, 1rem) * 0.8);
  }
  .large-screen-unit-10 {
    flex-basis: calc(10% - var(--units-gap, 1rem) * 0.9);
  }
}
@media (min-width: 1800px) {
  .x-large-screen-unit-90 {
    flex-basis: calc(90% - var(--units-gap, 1rem) * 0.1);
  }
  .x-large-screen-unit-80 {
    flex-basis: calc(80% - var(--units-gap, 1rem) * 0.2);
  }
  .x-large-screen-unit-75 {
    flex-basis: calc(75% - var(--units-gap, 1rem) * 0.25);
  }
  .x-large-screen-unit-70 {
    flex-basis: calc(70% - var(--units-gap, 1rem) * 0.3);
  }
  .x-large-screen-unit-66 {
    flex-basis: calc(66.6% - var(--units-gap, 1rem) * 0.34);
  }
  .x-large-screen-unit-65 {
    flex-basis: calc(65% - var(--units-gap, 1rem) * 0.35);
  }
  .x-large-screen-unit-60 {
    flex-basis: calc(60% - var(--units-gap, 1rem) * 0.4);
  }
  .x-large-screen-unit-50 {
    flex-basis: calc(50% - var(--units-gap, 1rem) * 0.5);
  }
  .x-large-screen-unit-40 {
    flex-basis: calc(40% - var(--units-gap, 1rem) * 0.6);
  }
  .x-large-screen-unit-35 {
    flex-basis: calc(35% - var(--units-gap, 1rem) * 0.65);
  }
  .x-large-screen-unit-33 {
    flex-basis: calc(33.3% - var(--units-gap, 1rem) * 0.67);
  }
  .x-large-screen-unit-30 {
    flex-basis: calc(30% - var(--units-gap, 1rem) * 0.7);
  }
  .x-large-screen-unit-25 {
    flex-basis: calc(25% - var(--units-gap, 1rem) * 0.75);
  }
  .x-large-screen-unit-20 {
    flex-basis: calc(20% - var(--units-gap, 1rem) * 0.8);
  }
  .x-large-screen-unit-10 {
    flex-basis: calc(10% - var(--units-gap, 1rem) * 0.9);
  }
}
@media (max-width: 1024px) {
  .small-desktop-unit-100 {
    flex-basis: 100%;
  }
  .small-desktop-unit-90 {
    flex-basis: calc(90% - var(--units-gap, 1rem) * 0.1);
  }
  .small-desktop-unit-80 {
    flex-basis: calc(80% - var(--units-gap, 1rem) * 0.2);
  }
  .small-desktop-unit-75 {
    flex-basis: calc(75% - var(--units-gap, 1rem) * 0.25);
  }
  .small-desktop-unit-70 {
    flex-basis: calc(70% - var(--units-gap, 1rem) * 0.3);
  }
  .small-desktop-unit-66 {
    flex-basis: calc(66.6% - var(--units-gap, 1rem) * 0.34);
  }
  .small-desktop-unit-65 {
    flex-basis: calc(65% - var(--units-gap, 1rem) * 0.35);
  }
  .small-desktop-unit-60 {
    flex-basis: calc(60% - var(--units-gap, 1rem) * 0.4);
  }
  .small-desktop-unit-50 {
    flex-basis: calc(50% - var(--units-gap, 1rem) * 0.5);
  }
  .small-desktop-unit-40 {
    flex-basis: calc(40% - var(--units-gap, 1rem) * 0.6);
  }
  .small-desktop-unit-35 {
    flex-basis: calc(35% - var(--units-gap, 1rem) * 0.65);
  }
  .small-desktop-unit-33 {
    flex-basis: calc(33.3% - var(--units-gap, 1rem) * 0.67);
  }
  .small-desktop-unit-30 {
    flex-basis: calc(30% - var(--units-gap, 1rem) * 0.7);
  }
  .small-desktop-unit-25 {
    flex-basis: calc(25% - var(--units-gap, 1rem) * 0.75);
  }
  .small-desktop-unit-20 {
    flex-basis: calc(20% - var(--units-gap, 1rem) * 0.8);
  }
  .small-desktop-unit-10 {
    flex-basis: calc(10% - var(--units-gap, 1rem) * 0.9);
  }
}
@media (max-width: 767px) {
  .unit-auto,
  .unit-100,
  .unit-90,
  .unit-80,
  .unit-75,
  .unit-70,
  .unit-66,
  .unit-65,
  .unit-60,
  .unit-50,
  .unit-40,
  .unit-35,
  .unit-33,
  .unit-30,
  .unit-25,
  .unit-20,
  .unit-10 {
    flex-basis: 100%;
  }
  .tablet-unit-100 {
    flex-basis: 100%;
  }
  .tablet-unit-90 {
    flex-basis: calc(90% - var(--units-gap, 1rem) * 0.1);
  }
  .tablet-unit-80 {
    flex-basis: calc(80% - var(--units-gap, 1rem) * 0.2);
  }
  .tablet-unit-75 {
    flex-basis: calc(75% - var(--units-gap, 1rem) * 0.25);
  }
  .tablet-unit-70 {
    flex-basis: calc(70% - var(--units-gap, 1rem) * 0.3);
  }
  .tablet-unit-66 {
    flex-basis: calc(66.6% - var(--units-gap, 1rem) * 0.34);
  }
  .tablet-unit-65 {
    flex-basis: calc(65% - var(--units-gap, 1rem) * 0.35);
  }
  .tablet-unit-60 {
    flex-basis: calc(60% - var(--units-gap, 1rem) * 0.4);
  }
  .tablet-unit-50 {
    flex-basis: calc(50% - var(--units-gap, 1rem) * 0.5);
  }
  .tablet-unit-40 {
    flex-basis: calc(40% - var(--units-gap, 1rem) * 0.6);
  }
  .tablet-unit-35 {
    flex-basis: calc(35% - var(--units-gap, 1rem) * 0.65);
  }
  .tablet-unit-33 {
    flex-basis: calc(33.3% - var(--units-gap, 1rem) * 0.67);
  }
  .tablet-unit-30 {
    flex-basis: calc(30% - var(--units-gap, 1rem) * 0.7);
  }
  .tablet-unit-25 {
    flex-basis: calc(25% - var(--units-gap, 1rem) * 0.75);
  }
  .tablet-unit-20 {
    flex-basis: calc(20% - var(--units-gap, 1rem) * 0.8);
  }
  .tablet-unit-10 {
    flex-basis: calc(10% - var(--units-gap, 1rem) * 0.9);
  }
}
@media (max-width: 650px) {
  .large-phone-unit-100 {
    flex-basis: 100%;
  }
  .large-phone-unit-90 {
    flex-basis: calc(90% - var(--units-gap, 1rem) * 0.1);
  }
  .large-phone-unit-80 {
    flex-basis: calc(80% - var(--units-gap, 1rem) * 0.2);
  }
  .large-phone-unit-75 {
    flex-basis: calc(75% - var(--units-gap, 1rem) * 0.25);
  }
  .large-phone-unit-70 {
    flex-basis: calc(70% - var(--units-gap, 1rem) * 0.3);
  }
  .large-phone-unit-66 {
    flex-basis: calc(66.6% - var(--units-gap, 1rem) * 0.34);
  }
  .large-phone-unit-65 {
    flex-basis: calc(65% - var(--units-gap, 1rem) * 0.35);
  }
  .large-phone-unit-60 {
    flex-basis: calc(60% - var(--units-gap, 1rem) * 0.4);
  }
  .large-phone-unit-50 {
    flex-basis: calc(50% - var(--units-gap, 1rem) * 0.5);
  }
  .large-phone-unit-40 {
    flex-basis: calc(40% - var(--units-gap, 1rem) * 0.6);
  }
  .large-phone-unit-35 {
    flex-basis: calc(35% - var(--units-gap, 1rem) * 0.65);
  }
  .large-phone-unit-33 {
    flex-basis: calc(33.3% - var(--units-gap, 1rem) * 0.67);
  }
  .large-phone-unit-30 {
    flex-basis: calc(30% - var(--units-gap, 1rem) * 0.7);
  }
  .large-phone-unit-25 {
    flex-basis: calc(25% - var(--units-gap, 1rem) * 0.75);
  }
  .large-phone-unit-20 {
    flex-basis: calc(20% - var(--units-gap, 1rem) * 0.8);
  }
  .large-phone-unit-10 {
    flex-basis: calc(10% - var(--units-gap, 1rem) * 0.9);
  }
}
@media (max-width: 480px) {
  .phone-unit-100 {
    flex-basis: 100%;
  }
  .phone-unit-90 {
    flex-basis: calc(90% - var(--units-gap, 1rem) * 0.1);
  }
  .phone-unit-80 {
    flex-basis: calc(80% - var(--units-gap, 1rem) * 0.2);
  }
  .phone-unit-75 {
    flex-basis: calc(75% - var(--units-gap, 1rem) * 0.25);
  }
  .phone-unit-70 {
    flex-basis: calc(70% - var(--units-gap, 1rem) * 0.3);
  }
  .phone-unit-66 {
    flex-basis: calc(66.6% - var(--units-gap, 1rem) * 0.34);
  }
  .phone-unit-65 {
    flex-basis: calc(65% - var(--units-gap, 1rem) * 0.35);
  }
  .phone-unit-60 {
    flex-basis: calc(60% - var(--units-gap, 1rem) * 0.4);
  }
  .phone-unit-50 {
    flex-basis: calc(50% - var(--units-gap, 1rem) * 0.5);
  }
  .phone-unit-40 {
    flex-basis: calc(40% - var(--units-gap, 1rem) * 0.6);
  }
  .phone-unit-35 {
    flex-basis: calc(35% - var(--units-gap, 1rem) * 0.65);
  }
  .phone-unit-33 {
    flex-basis: calc(33.3% - var(--units-gap, 1rem) * 0.67);
  }
  .phone-unit-30 {
    flex-basis: calc(30% - var(--units-gap, 1rem) * 0.7);
  }
  .phone-unit-25 {
    flex-basis: calc(25% - var(--units-gap, 1rem) * 0.75);
  }
  .phone-unit-20 {
    flex-basis: calc(20% - var(--units-gap, 1rem) * 0.8);
  }
  .phone-unit-10 {
    flex-basis: calc(10% - var(--units-gap, 1rem) * 0.9);
  }
}
.unit-push-90 {
  margin-left: 90%;
}

.unit-push-80 {
  margin-left: 80%;
}

.unit-push-75 {
  margin-left: 75%;
}

.unit-push-70 {
  margin-left: 70%;
}

.unit-push-66 {
  margin-left: 66.6%;
}

.unit-push-65 {
  margin-left: 65%;
}

.unit-push-60 {
  margin-left: 60%;
}

.unit-push-50 {
  margin-left: 50%;
}

.unit-push-40 {
  margin-left: 40%;
}

.unit-push-35 {
  margin-left: 35%;
}

.unit-push-33 {
  margin-left: 33.3%;
}

.unit-push-30 {
  margin-left: 30%;
}

.unit-push-25 {
  margin-left: 25%;
}

.unit-push-20 {
  margin-left: 20%;
}

.unit-push-10 {
  margin-left: 10%;
}

.centered,
.unit-centered {
  float: none !important;
  margin: 0 auto 1.5rem;
}

/* =Alignments
-----------------------------------------------------------------------------*/
.fully-centered {
  align-items: center;
  justify-content: center;
  text-align: center;
}

.vertically-centered-space-between {
  align-items: center;
  justify-content: space-between;
}

.justify-center,
.horizontally-centered {
  justify-content: center;
  text-align: center;
}

.justify-flex-end,
.align-end {
  justify-content: flex-end;
}

.justify-flex-start,
.align-beginning {
  justify-content: flex-start;
}

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

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

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

.align-center {
  align-items: center;
  text-align: center;
}

.align-middle {
  align-items: center;
}

.align-flex-end,
.vertical-bottom {
  align-items: flex-end;
}

.align-flex-start,
.vertical-top {
  align-items: flex-start;
}

.align-stretch,
.fill-height {
  align-items: stretch;
}

/* =Blocks
-----------------------------------------------------------------------------*/
.blocks-2,
.blocks-3,
.blocks-4,
.blocks-5,
.blocks-6 {
  padding-left: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 0.5rem;
}
.blocks-2 > li,
.blocks-3 > li,
.blocks-4 > li,
.blocks-5 > li,
.blocks-6 > li {
  height: auto;
}
.blocks-2 > li ul,
.blocks-3 > li ul,
.blocks-4 > li ul,
.blocks-5 > li ul,
.blocks-6 > li ul {
  list-style-type: disc;
}
.blocks-2 > li ul ul,
.blocks-3 > li ul ul,
.blocks-4 > li ul ul,
.blocks-5 > li ul ul,
.blocks-6 > li ul ul {
  list-style-type: circle;
}
.blocks-2 > li li,
.blocks-3 > li li,
.blocks-4 > li li,
.blocks-5 > li li,
.blocks-6 > li li {
  margin: 0;
}

.blocks-2 > li {
  flex: 0 0 calc(50% - 0.25rem);
}

.blocks-3 > li {
  flex: 0 0 calc(33.333% - 0.3333333333rem);
}

.blocks-4 > li {
  flex: 0 0 calc(25% - 0.375rem);
}

.blocks-5 > li {
  flex: 0 0 calc(20% - 0.4rem);
}

.blocks-6 > li {
  flex: 0 0 calc(16.666% - 0.4166666667rem);
}

table.table-bordered td,
table.table-bordered th {
  border: 1px solid var(--ply-color-table-border, #ccc);
}

table.table-simple td,
table.table-simple th,
table.table-simple caption {
  border: none;
  padding-left: 0;
}

table.table-flat td,
table.table-flat th,
table.table-flat caption {
  border: none;
  padding: 0;
}

table.table-stroked td,
table.table-stroked th {
  border-bottom: 1px solid var(--ply-color-table-border, #ccc);
}

table.table-striped tbody tr:nth-child(odd) td,
table.table-stripped tbody tr:nth-child(odd) td {
  background: var(--ply-color-table-striped, var(--ply-color-table-stripped, #f8f8f8));
}

table.table-hovered tbody tr:hover td {
  background-color: var(--ply-color-table-hovered, #f4f4f4);
}

/* Responsive Tables */
.table-container {
  width: 100%;
  overflow: auto;
  margin-bottom: 1.5rem;
}
.table-container table {
  margin-bottom: 0;
}
.table-container::-webkit-scrollbar {
  -webkit-appearance: none;
          appearance: none;
  width: 14px;
  height: 14px;
}
.table-container::-webkit-scrollbar-thumb {
  border-radius: 8px;
  border: 3px solid var(--ply-bg-body);
  background-color: var(--ply-color-muted);
}

/* =Forms
-----------------------------------------------------------------------------*/
.form .btn,
.form input[type=submit].btn,
.form button,
.form input[type=submit],
.form input[type=reset] {
  padding: 0.5625rem 1rem;
}
.form .btn.btn-outline,
.form input[type=submit].btn.btn-outline,
.form button.btn-outline,
.form input[type=submit].btn-outline,
.form input[type=reset].btn-outline {
  padding: 0.5rem 1rem;
}
.form .btn.btn-outline.bold,
.form input[type=submit].btn.btn-outline.bold,
.form button.btn-outline.bold,
.form input[type=submit].btn-outline.bold,
.form input[type=reset].btn-outline.bold {
  padding: 0.4375rem 1rem;
}
.form label {
  cursor: pointer;
  display: block;
  margin-bottom: 0.25rem;
}
.form label input[type=text],
.form label input[type=password],
.form label input[type=email],
.form label input[type=url],
.form label input[type=phone],
.form label input[type=tel],
.form label input[type=number],
.form label input[type=datetime],
.form label input[type=date],
.form label input[type=month],
.form label input[type=color],
.form label input[type=time],
.form label input[type=search],
.form label input[type=range],
.form label input[type=file],
.form label input[type=datetime-local],
.form label textarea,
.form label select {
  margin-top: 0.75rem;
  width: 100%;
}
.form input[type=text],
.form input[type=password],
.form input[type=email],
.form input[type=url],
.form input[type=phone],
.form input[type=tel],
.form input[type=number],
.form input[type=datetime],
.form input[type=date],
.form input[type=month],
.form input[type=color],
.form input[type=time],
.form input[type=search],
.form input[type=range],
.form input[type=file],
.form input[type=datetime-local],
.form textarea,
.form select {
  border-radius: var(--ply-border-radius);
  display: block;
  width: 100%;
  font-size: var(--ply-control-font);
  line-height: var(--ply-control-lh);
  padding: var(--ply-control-py) var(--ply-control-px);
}

.form-inline input[type=text],
.form-inline input[type=password],
.form-inline input[type=email],
.form-inline input[type=url],
.form-inline input[type=phone],
.form-inline input[type=tel],
.form-inline input[type=number],
.form-inline input[type=datetime],
.form-inline input[type=date],
.form-inline input[type=month],
.form-inline input[type=color],
.form-inline input[type=time],
.form-inline input[type=search],
.form-inline input[type=range],
.form-inline input[type=file],
.form-inline input[type=datetime-local],
.form-inline textarea,
.form-inline select,
.form-inline-list input[type=text],
.form-inline-list input[type=password],
.form-inline-list input[type=email],
.form-inline-list input[type=url],
.form-inline-list input[type=phone],
.form-inline-list input[type=tel],
.form-inline-list input[type=number],
.form-inline-list input[type=datetime],
.form-inline-list input[type=date],
.form-inline-list input[type=month],
.form-inline-list input[type=color],
.form-inline-list input[type=time],
.form-inline-list input[type=search],
.form-inline-list input[type=range],
.form-inline-list input[type=file],
.form-inline-list input[type=datetime-local],
.form-inline-list textarea,
.form-inline-list select {
  display: inline-block;
}

.form-list,
.form-inline,
.form-inline-list {
  margin: 0;
  padding: 0;
  margin-bottom: 1rem;
  list-style: none;
}
.form-list label,
.form-list li,
.form-list li label,
.form-inline label,
.form-inline li,
.form-inline li label,
.form-inline-list label,
.form-inline-list li,
.form-inline-list li label {
  display: inline-block;
  margin-bottom: 0;
}

.form-inline-list li {
  margin-bottom: 3px;
}
.form-inline-list li label {
  margin-right: 0.75rem;
}

.form-list li {
  margin-bottom: 6px;
}

.form-desc {
  margin-top: 4px;
  color: var(--ply-color-muted, rgba(0, 0, 0, 0.4));
  font-size: 0.875rem;
  line-height: 1.4em;
}

input[type=text],
input[type=password],
input[type=email],
input[type=url],
input[type=phone],
input[type=tel],
input[type=number],
input[type=datetime],
input[type=date],
input[type=month],
input[type=color],
input[type=time],
input[type=search],
input[type=datetime-local],
textarea {
  transition: border ease 0.5s;
}

fieldset {
  border-radius: var(--ply-border-radius);
  background-color: var(--ply-bg-surface);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  border: 1px solid var(--ply-border-color);
}
fieldset *:last-child {
  margin-bottom: 0;
}

/* States */
.error,
.success {
  font-weight: bold;
  font-size: 0.875rem;
}

input.input-error,
textarea.input-error,
select.input-error,
.input-error {
  border-color: var(--ply-color-error);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--ply-color-error) 30%, transparent), 0 1px 2px rgba(0, 0, 0, 0.2) inset;
}

input.input-success,
textarea.input-success,
select.input-success,
.input-success {
  border-color: var(--ply-color-success);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--ply-color-success) 30%, transparent), 0 1px 2px rgba(0, 0, 0, 0.2) inset;
}

input.input-gray,
textarea.input-gray,
select.input-gray,
.input-gray {
  border-color: #b3b6b7;
  box-shadow: 0 0 0 2px rgba(179, 182, 183, 0.4), 0 1px 2px rgba(0, 0, 0, 0.2) inset;
}

input[type=text]:focus-visible,
input[type=password]:focus-visible,
input[type=email]:focus-visible,
input[type=url]:focus-visible,
input[type=phone]:focus-visible,
input[type=tel]:focus-visible,
input[type=number]:focus-visible,
input[type=datetime]:focus-visible,
input[type=date]:focus-visible,
input[type=month]:focus-visible,
input[type=color]:focus-visible,
input[type=time]:focus-visible,
input[type=search]:focus-visible,
input[type=datetime-local]:focus-visible,
textarea:focus-visible {
  outline: none;
  border-color: #2575ed;
  box-shadow: 0 0 0 2px rgba(37, 117, 237, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset;
}

/*
  Search
*/
input.input-search,
input[type=search] {
  padding-right: 0.5em;
  padding-left: 0.5em;
  margin-bottom: 0;
  border-radius: 15px;
}

input.input-on-black {
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.35);
}
input.input-on-black::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.6);
}
input.input-on-black::-moz-placeholder {
  color: rgba(255, 255, 255, 0.6);
}
input.input-on-black:focus, input.input-on-black.active {
  border: 1px solid #fff;
  background: #fff;
  box-shadow: none;
}
input.input-on-black:focus::-webkit-input-placeholder, input.input-on-black.active::-webkit-input-placeholder {
  color: #aaa;
}
input.input-on-black:focus::-moz-placeholder, input.input-on-black.active::-moz-placeholder {
  color: #aaa;
}

/* Sizes — share the control sizing scale with buttons so a given size is the
   same height across inputs, buttons, selects and textareas */
.form .input-lg,
input.input-lg[type],
textarea.input-lg,
select.input-lg {
  font-size: var(--ply-control-font-lg);
  line-height: var(--ply-control-lh-lg);
  padding: var(--ply-control-py-lg) var(--ply-control-px-lg);
}

.form .input-sm,
input.input-sm[type],
textarea.input-sm,
select.input-sm {
  font-size: var(--ply-control-font-sm);
  line-height: var(--ply-control-lh-sm);
  padding: var(--ply-control-py-sm) var(--ply-control-px-sm);
}

.form .input-xs,
input.input-xs[type],
textarea.input-xs,
select.input-xs {
  font-size: var(--ply-control-font-xs);
  line-height: var(--ply-control-lh-xs);
  padding: var(--ply-control-py-xs) var(--ply-control-px-xs);
}

/* Append & Prepend */
.input-groups {
  display: flex !important;
  align-items: stretch;
  margin-bottom: 1.5rem;
}
.input-groups .btn:hover, .input-groups .btn:active {
  transform: none;
}
.input-groups input,
.input-groups textarea,
.input-groups select {
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  display: block !important;
  margin-bottom: 0;
  border-radius: var(--ply-border-radius);
}
.input-groups input:not(:last-child),
.input-groups textarea:not(:last-child),
.input-groups select:not(:last-child) {
  border-right: none;
  border-radius: var(--ply-border-radius) 0 0 var(--ply-border-radius);
}
.input-groups input:not(:first-child),
.input-groups textarea:not(:first-child),
.input-groups select:not(:first-child) {
  border-radius: 0 var(--ply-border-radius) var(--ply-border-radius) 0;
}
.input-groups input:not(:first-child, :last-child),
.input-groups textarea:not(:first-child, :last-child),
.input-groups select:not(:first-child, :last-child) {
  border-radius: 0;
}
.input-groups .input-append,
.input-groups .input-prepend {
  display: flex;
  align-items: center;
  background-color: var(--ply-bg-surface-alt);
  border: 1px solid var(--ply-color-input-border);
  margin: 0;
  padding: 0 0.75rem;
  color: var(--ply-color-secondary, rgba(0, 0, 0, 0.6));
  line-height: 1.5rem;
  font-size: 0.875rem;
  white-space: nowrap;
}
.input-groups .input-prepend {
  border-right: none;
  border-radius: var(--ply-border-radius) 0 0 var(--ply-border-radius);
}
.input-groups .input-append {
  border-left: none;
  border-radius: 0 var(--ply-border-radius) var(--ply-border-radius) 0;
}
.input-groups .input-append:has(.btn) {
  padding: 0;
  border: none;
}
.input-groups .input-append .btn {
  display: flex;
  align-items: center;
  border-radius: 0 var(--ply-border-radius) var(--ply-border-radius) 0;
  margin: 0;
  border-left: none;
  white-space: nowrap;
}
.input-groups .input-append .btn[class*=outline] {
  border: 1px solid var(--ply-color-input-border);
  border-left: none;
}
.input-groups .btn-append {
  display: flex;
  align-items: stretch;
  margin: 0;
}
.input-groups .btn-append .btn {
  display: flex;
  align-items: center;
  border-radius: 0 var(--ply-border-radius) var(--ply-border-radius) 0;
  margin: 0;
  white-space: nowrap;
}
.input-groups .btn-append .btn[class*=outline] {
  border: 1px solid var(--ply-color-input-border);
  border-left: none;
}

.form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--ply-color-input-bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23525252' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75em center;
  background-size: 0.75em;
  padding: 0.5em 2.5em 0.5em 0.75em;
  font-size: 1em;
  line-height: 1.5rem;
  border: 1px solid var(--ply-color-input-border);
  color: var(--ply-color-body);
  cursor: pointer;
}
.form select:focus-visible {
  outline: none;
  border-color: var(--ply-color-focus, #2575ed);
  box-shadow: 0 0 0 2px rgba(15, 98, 254, 0.3);
}

/* Select — outlined */
.form select.select-outlined,
select.select-outlined {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23525252' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75em center;
  background-size: 0.75em;
  padding: 0.5em 2.5em 0.5em 0.75em;
  border: 1px solid var(--ply-border-strong, #d4d4d4);
  border-radius: var(--ply-border-radius);
  color: var(--ply-color-body);
  font-size: 1em;
  line-height: 1.5rem;
  cursor: pointer;
  width: 100%;
  display: block;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.form select.select-outlined:hover,
select.select-outlined:hover {
  border-color: var(--ply-color-body);
}
.form select.select-outlined:focus-visible,
select.select-outlined:focus-visible {
  outline: none;
  border-color: var(--ply-color-focus, #2575ed);
  box-shadow: 0 0 0 1px var(--ply-color-focus, #2575ed);
}

/* =Navs
-----------------------------------------------------------------------------*/
nav ul {
  list-style: none;
  margin: 0;
}

/* NavBar */
.navbar {
  background: var(--ply-nav-bg);
  border-bottom: 1px solid var(--ply-border-color);
  box-sizing: border-box;
}
.navbar > ul {
  list-style: none;
  margin: 0;
  display: flex;
  flex: 0 1 auto;
  flex-flow: row nowrap;
  align-items: stretch;
  gap: 0;
}
.navbar a,
.navbar > span {
  box-sizing: border-box;
  color: var(--ply-nav-color);
  display: block;
  font-weight: 500;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  white-space: nowrap;
}
.navbar a:focus-visible,
.navbar > span:focus-visible {
  outline: 2px solid var(--ply-color-focus, #0f62fe);
  outline-offset: -2px;
}
.navbar li {
  box-sizing: border-box;
  margin-right: 0;
}
.navbar li:hover a {
  background: var(--ply-nav-hover);
  color: var(--ply-nav-color);
  text-decoration: none;
}
.navbar li.on a, .navbar li.on span, .navbar li.active a, .navbar li.active span {
  border-bottom-color: var(--ply-nav-border);
  background: var(--ply-nav-active-bg, transparent);
  text-decoration: none;
  cursor: default;
  color: var(--ply-nav-color);
}
.navbar.navbar-centered > ul {
  justify-content: center;
}
.navbar.navbar-left > ul {
  justify-content: flex-start;
}
.navbar.navbar-right > ul {
  justify-content: flex-end;
}
.navbar.navbar-thick {
  border-bottom-width: 2px;
}
.navbar.navbar-thick a, .navbar.navbar-thick > span {
  margin-bottom: -2px;
}
.navbar.navbar-borderless {
  border-bottom: none;
}
.navbar.navbar-borderless a, .navbar.navbar-borderless > span {
  margin-bottom: 0;
  border-bottom: none;
}
.navbar.navbar-borderless li.on a, .navbar.navbar-borderless li.on span, .navbar.navbar-borderless li.active a, .navbar.navbar-borderless li.active span {
  background: var(--ply-nav-hover);
  border-bottom: none;
}
.navbar.navbar-border-blue {
  border-bottom-color: var(--ply-color-link, #0f62fe);
}
.navbar.navbar-border-green {
  border-bottom-color: #198038;
}
.navbar.navbar-border-red {
  border-bottom-color: #da1e28;
}
.navbar.navbar-border-yellow {
  border-bottom-color: #f1c21b;
}
.navbar.navbar-vertical {
  border-bottom: none;
  border-left: 1px solid var(--ply-border-color);
}
.navbar.navbar-vertical > ul {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  width: 100%;
}
.navbar.navbar-vertical a, .navbar.navbar-vertical > span {
  border-bottom: none;
  margin-bottom: 0;
  border-left: 2px solid transparent;
  margin-left: -1px;
}
.navbar.navbar-vertical li {
  margin-right: 0;
}
.navbar.navbar-vertical li.on a, .navbar.navbar-vertical li.active a, .navbar.navbar-vertical li.on span, .navbar.navbar-vertical li.active span {
  background: var(--ply-nav-hover);
  border-bottom: none;
  border-left-color: var(--ply-nav-border);
  text-decoration: none;
  cursor: default;
}
.navbar.navbar-vertical.navbar-thick {
  border-left-width: 2px;
}
.navbar.navbar-vertical.navbar-thick a, .navbar.navbar-vertical.navbar-thick > span {
  margin-left: -2px;
}

.navigation-toggle {
  box-sizing: border-box;
  background-color: var(--ply-nav-bg);
  border: 1px solid var(--ply-border-color);
  color: var(--ply-nav-color);
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.875rem;
  position: relative;
  transition: background 0.15s ease;
}
.navigation-toggle:hover {
  background-color: var(--ply-nav-hover);
}
.navigation-toggle:after {
  position: absolute;
  z-index: 1;
  top: 50%;
  margin-top: -12px;
  left: 10px;
  content: "☰";
  font-size: 24px;
  line-height: 1;
}
.navigation-toggle.navbar-thick {
  border-width: 2px;
}
.navigation-toggle.navbar-borderless {
  border: none;
}
.navigation-toggle.navbar-border-blue {
  border-color: var(--ply-color-link, #0f62fe);
}
.navigation-toggle.navbar-border-green {
  border-color: #198038;
}
.navigation-toggle.navbar-border-red {
  border-color: #da1e28;
}
.navigation-toggle.navbar-border-yellow {
  border-color: #f1c21b;
}
.navigation-toggle.navigation-toggle-solid {
  background-color: var(--ply-nav-border);
  border: 1px solid var(--ply-nav-border);
  color: var(--ply-nav-bg);
}
.navigation-toggle.navigation-toggle-solid:hover {
  opacity: 0.85;
}
.navigation-toggle.navigation-toggle-show {
  margin-bottom: 0;
}
.navigation-toggle span {
  position: relative;
  z-index: 2;
  cursor: pointer;
  display: block;
  padding: 10px 20px 10px 40px;
}

.navigation-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
}

/* Pills — Swiss/Modernist */
.navbar-pills ul {
  display: flex;
  flex-flow: row wrap;
  list-style: none;
  margin: 0;
  gap: 2px;
}
.navbar-pills a,
.navbar-pills span {
  display: block;
  padding: 0.625rem 1rem;
  text-decoration: none;
  font-size: 0.875rem;
  color: var(--ply-nav-color);
  transition: background 0.15s ease;
}
.navbar-pills a:hover {
  color: var(--ply-nav-color);
  background: var(--ply-nav-hover);
}
.navbar-pills a:focus-visible {
  outline: 2px solid var(--ply-color-focus, #0f62fe);
  outline-offset: 2px;
}
.navbar-pills li.active a,
.navbar-pills li.active span {
  text-decoration: none;
  cursor: default;
  color: var(--ply-nav-active-color);
  background: var(--ply-bg-muted);
}

/* Stacked — Swiss/Modernist */
.nav-stacked ul {
  list-style: none;
  margin: 0;
}
.nav-stacked li {
  margin-bottom: 0;
}
.nav-stacked a,
.nav-stacked span {
  display: block;
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  border-radius: var(--ply-nav-stacked-radius, var(--ply-border-radius));
}
.nav-stacked a {
  color: var(--ply-nav-color);
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.nav-stacked a:hover {
  color: var(--ply-nav-color);
  background: var(--ply-bg-muted);
}
.nav-stacked a:focus-visible {
  outline: 2px solid var(--ply-color-focus, #0f62fe);
  outline-offset: 2px;
}
.nav-stacked li.active a,
.nav-stacked li.active span {
  border-left: 2px solid var(--ply-btn-default-bg, #0353e9);
  padding-left: calc(0.75rem - 2px);
  text-decoration: none;
  color: var(--ply-nav-active-color);
}

/* Stacked blocked — background fills with bottom borders */
.nav-stacked-blocked a, .nav-stacked-blocked span {
  padding: 0.6rem 0.75rem;
}
.nav-stacked-blocked a {
  background: var(--ply-bg-surface-alt);
  border-bottom: 1px solid var(--ply-border-color);
}
.nav-stacked-blocked li.active a,
.nav-stacked-blocked li.active span {
  background: var(--ply-bg-surface);
  border-left: none;
  padding-left: 0.75rem;
}

/* Stats */
.nav-stats li {
  position: relative;
}
.nav-stats a,
.nav-stats span {
  padding-right: 50px;
}
.nav-stats sup,
.nav-stats .badge {
  position: absolute;
  top: 50%;
  right: 0;
}
.nav-stats sup {
  color: var(--ply-color-muted);
}
.nav-stats .badge {
  margin-top: -8px;
}

/* =Tabs — Swiss/Modernist
-----------------------------------------------------------------------------*/
.nav-tabs {
  border-bottom: 2px solid var(--ply-nav-border);
  margin-bottom: 1.5rem;
}
.nav-tabs:after {
  content: "";
  display: table;
  clear: both;
}
.nav-tabs ul {
  list-style: none;
  margin: 0;
}
.nav-tabs li {
  float: left;
  margin-right: 0;
}
.nav-tabs a, .nav-tabs span {
  display: block;
  line-height: 1;
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
  border: none;
}
.nav-tabs a {
  color: var(--ply-color-muted);
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.nav-tabs a:focus, .nav-tabs a:hover {
  color: var(--ply-nav-color);
  text-decoration: none;
  background-color: var(--ply-nav-hover);
}
.nav-tabs a:focus-visible {
  outline: 2px solid var(--ply-color-focus, #0f62fe);
  outline-offset: 2px;
}
.nav-tabs li.active a, .nav-tabs span {
  color: var(--ply-nav-color);
  background: var(--ply-bg-surface);
  position: relative;
  border-bottom: 2px solid var(--ply-nav-border);
  bottom: -2px;
  cursor: default;
  text-decoration: none;
}

/* =Breadcrumbs — Swiss/Modernist
-----------------------------------------------------------------------------*/
.breadcrumbs {
  margin-bottom: 1.5rem;
}
.breadcrumbs:after {
  content: "";
  display: table;
  clear: both;
}
.breadcrumbs ul {
  font-size: 0.875rem;
  color: var(--ply-color-muted);
  list-style: none;
  margin: 0;
}
.breadcrumbs ul:after {
  content: "";
  display: table;
  clear: both;
}
.breadcrumbs li {
  float: left;
  margin-right: 5px;
}
.breadcrumbs li + li:before {
  content: "/";
  color: var(--ply-color-muted);
  font-size: 12px;
  margin: 0 7px 0 5px;
  position: relative;
  top: -1px;
}
.breadcrumbs.breadcrumbs-path li + li:before {
  content: " / ";
  top: 0;
}
.breadcrumbs a {
  color: var(--ply-nav-color);
  text-decoration: none;
}
.breadcrumbs a:hover {
  color: var(--ply-nav-color);
  text-decoration: underline;
}
.breadcrumbs a:focus-visible {
  outline: 2px solid var(--ply-color-focus, #0f62fe);
  outline-offset: 2px;
}
.breadcrumbs li.active a, .breadcrumbs span, .breadcrumbs li.active a:hover {
  text-decoration: none;
  cursor: default;
  color: var(--ply-color-muted);
}

/* =Pagination — Outlined (default) with solid variant
-----------------------------------------------------------------------------*/
.pagination {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pagination li {
  margin: 0;
}
.pagination a, .pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0.25rem 0.75rem;
  border: 1px solid var(--ply-border-color);
  border-radius: var(--ply-border-radius);
  background: var(--ply-bg-surface, #fff);
  color: var(--ply-color-body);
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.03em;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.pagination a:hover {
  background-color: var(--ply-bg-surface-alt);
  border-color: var(--ply-color-secondary);
  text-decoration: none;
}
.pagination a:focus-visible {
  outline: 2px solid var(--ply-color-focus, #0f62fe);
  outline-offset: 2px;
}
.pagination li.active a, .pagination li.active a:hover, .pagination li.active span {
  background-color: var(--ply-nav-color);
  border-color: var(--ply-nav-color);
  color: var(--ply-bg-surface);
  cursor: default;
}
.pagination li.disabled a, .pagination li.disabled span {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}
.pagination li:first-child a, .pagination li:first-child span, .pagination li:last-child a, .pagination li:last-child span {
  border-color: transparent;
  background: transparent;
}
.pagination li:first-child a:hover, .pagination li:last-child a:hover {
  background-color: var(--ply-bg-surface-alt);
  border-color: transparent;
}
.pagination li.disabled:first-child span, .pagination li.disabled:last-child span, .pagination li.disabled:first-child a, .pagination li.disabled:last-child a {
  color: var(--ply-color-muted);
  opacity: 1;
}

/* Solid variant — filled background like the original Swiss style */
.pagination-solid a, .pagination-solid span {
  border-color: transparent;
  background: transparent;
}
.pagination-solid a:hover {
  background-color: var(--ply-nav-color);
  border-color: transparent;
  color: var(--ply-bg-surface);
}
.pagination-solid li.active a, .pagination-solid li.active a:hover, .pagination-solid li.active span {
  background-color: var(--ply-nav-color);
  border-color: transparent;
  color: var(--ply-bg-surface);
}

/* =Buttons
-----------------------------------------------------------------------------*/
.btn,
input[type=submit].btn,
input[type=button].btn,
input[type=reset].btn,
button.btn {
  transition: all 150ms ease-in-out, transform 50ms ease, background 150ms ease-in-out;
  display: inline-flex;
  vertical-align: top;
  align-items: center;
  justify-content: center;
  gap: var(--ply-btn-gap, 0.5em);
  font-family: var(--ply-font-body, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji);
  font-size: var(--ply-btn-font-size, var(--ply-control-font));
  font-weight: 400;
  line-height: var(--ply-control-lh);
  text-decoration: none;
  color: var(--ply-btn-secondary-color, var(--ply-color-text-inverse, #fff));
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  margin: 0;
  border: none;
  border-radius: var(--ply-btn-border-radius, 2rem);
  box-shadow: none;
  cursor: pointer;
  background: var(--ply-btn-secondary-bg, #393939);
  padding: var(--ply-control-py) var(--ply-control-px);
}
.btn:hover, .btn:active, .btn:focus-visible,
input[type=submit].btn:hover,
input[type=submit].btn:active,
input[type=submit].btn:focus-visible,
input[type=button].btn:hover,
input[type=button].btn:active,
input[type=button].btn:focus-visible,
input[type=reset].btn:hover,
input[type=reset].btn:active,
input[type=reset].btn:focus-visible,
button.btn:hover,
button.btn:active,
button.btn:focus-visible {
  color: var(--ply-btn-secondary-color, var(--ply-color-text-inverse, #fff));
  background: var(--ply-btn-secondary-bg-hover, #303030);
}
.btn:active,
input[type=submit].btn:active,
input[type=button].btn:active,
input[type=reset].btn:active,
button.btn:active {
  background: var(--ply-btn-secondary-bg-active, #2b2b2b);
}
.btn:hover,
input[type=submit].btn:hover,
input[type=button].btn:hover,
input[type=reset].btn:hover,
button.btn:hover {
  transform: translateY(0) scale(1.05, 1.05);
}
.btn:focus-visible,
input[type=submit].btn:focus-visible,
input[type=button].btn:focus-visible,
input[type=reset].btn:focus-visible,
button.btn:focus-visible {
  outline: 2px solid var(--ply-color-accent, #2575ed);
  outline-offset: 2px;
}
.btn:active,
input[type=submit].btn:active,
input[type=button].btn:active,
input[type=reset].btn:active,
button.btn:active {
  transform: translateY(0) scale(0.95, 0.95);
}
.btn[class*=unit-],
input[type=submit].btn[class*=unit-],
input[type=button].btn[class*=unit-],
input[type=reset].btn[class*=unit-],
button.btn[class*=unit-] {
  margin: auto 0.5rem;
}

.btn::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.btn-lg,
input[type=submit].btn-lg,
input[type=button].btn-lg,
input[type=reset].btn-lg,
button.btn-lg {
  font-size: var(--ply-control-font-lg);
  line-height: var(--ply-control-lh-lg);
  padding: var(--ply-control-py-lg) var(--ply-control-px-lg);
}

.btn-sm,
input[type=submit].btn-sm,
input[type=button].btn-sm,
input[type=reset].btn-sm,
button.btn-sm {
  font-size: var(--ply-control-font-sm);
  line-height: var(--ply-control-lh-sm);
  padding: var(--ply-control-py-sm) var(--ply-control-px-sm);
}

.btn-xs,
input[type=submit].btn-xs,
input[type=button].btn-xs,
input[type=reset].btn-xs,
button.btn-xs {
  font-size: var(--ply-control-font-xs);
  line-height: var(--ply-control-lh-xs);
  padding: var(--ply-control-py-xs) var(--ply-control-px-xs);
  vertical-align: baseline;
}

.btn-primary,
input[type=submit].btn-primary,
input[type=button].btn-primary,
input[type=reset].btn-primary,
button.btn-primary {
  background: var(--ply-btn-default-bg);
  color: var(--ply-btn-default-color, var(--ply-color-text-inverse, #fff));
}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus-visible,
input[type=submit].btn-primary:hover,
input[type=submit].btn-primary:active,
input[type=submit].btn-primary:focus-visible,
input[type=button].btn-primary:hover,
input[type=button].btn-primary:active,
input[type=button].btn-primary:focus-visible,
input[type=reset].btn-primary:hover,
input[type=reset].btn-primary:active,
input[type=reset].btn-primary:focus-visible,
button.btn-primary:hover,
button.btn-primary:active,
button.btn-primary:focus-visible {
  color: var(--ply-btn-default-color, var(--ply-color-text-inverse, #fff));
}
.btn-primary:hover,
input[type=submit].btn-primary:hover,
input[type=button].btn-primary:hover,
input[type=reset].btn-primary:hover,
button.btn-primary:hover {
  background: var(--ply-btn-default-bg-hover);
}
.btn-primary:active,
input[type=submit].btn-primary:active,
input[type=button].btn-primary:active,
input[type=reset].btn-primary:active,
button.btn-primary:active {
  background: var(--ply-btn-default-bg-active);
}

.btn-secondary,
input[type=submit].btn-secondary,
input[type=button].btn-secondary,
input[type=reset].btn-secondary,
button.btn-secondary {
  background: var(--ply-btn-secondary-bg, #393939);
  color: var(--ply-btn-secondary-color, var(--ply-color-text-inverse, #fff));
}
.btn-secondary:hover, .btn-secondary:active, .btn-secondary:focus-visible,
input[type=submit].btn-secondary:hover,
input[type=submit].btn-secondary:active,
input[type=submit].btn-secondary:focus-visible,
input[type=button].btn-secondary:hover,
input[type=button].btn-secondary:active,
input[type=button].btn-secondary:focus-visible,
input[type=reset].btn-secondary:hover,
input[type=reset].btn-secondary:active,
input[type=reset].btn-secondary:focus-visible,
button.btn-secondary:hover,
button.btn-secondary:active,
button.btn-secondary:focus-visible {
  color: var(--ply-btn-secondary-color, var(--ply-color-text-inverse, #fff));
}
.btn-secondary:hover,
input[type=submit].btn-secondary:hover,
input[type=button].btn-secondary:hover,
input[type=reset].btn-secondary:hover,
button.btn-secondary:hover {
  background: var(--ply-btn-secondary-bg-hover, #303030);
}
.btn-secondary:active,
input[type=submit].btn-secondary:active,
input[type=button].btn-secondary:active,
input[type=reset].btn-secondary:active,
button.btn-secondary:active {
  background: var(--ply-btn-secondary-bg-active, #2b2b2b);
}

.btn-outline,
input[type=submit].btn-outline,
input[type=button].btn-outline,
input[type=reset].btn-outline,
button.btn-outline {
  background: none;
  padding: 0.5625rem 1.5rem;
  border: 1px solid var(--ply-color-body, #0f0f0f);
  color: var(--ply-color-body, #0f0f0f);
}
.btn-outline:hover, .btn-outline:active, .btn-outline:focus-visible,
input[type=submit].btn-outline:hover,
input[type=submit].btn-outline:active,
input[type=submit].btn-outline:focus-visible,
input[type=button].btn-outline:hover,
input[type=button].btn-outline:active,
input[type=button].btn-outline:focus-visible,
input[type=reset].btn-outline:hover,
input[type=reset].btn-outline:active,
input[type=reset].btn-outline:focus-visible,
button.btn-outline:hover,
button.btn-outline:active,
button.btn-outline:focus-visible {
  background: var(--ply-color-body, #0f0f0f);
  border-color: var(--ply-color-body, #0f0f0f);
  color: var(--ply-color-text-inverse, #fff);
}
.btn-outline:focus-visible,
input[type=submit].btn-outline:focus-visible,
input[type=button].btn-outline:focus-visible,
input[type=reset].btn-outline:focus-visible,
button.btn-outline:focus-visible {
  outline: 2px solid var(--ply-color-accent, #2575ed);
  outline-offset: 2px;
}

.btn-outline.btn-active {
  padding: 0.625rem 1.5rem;
}

.btn-outline.bold {
  border-width: 2px;
  padding: 0.5rem 1.5rem;
}

.btn-ghost,
input[type=submit].btn-ghost,
input[type=button].btn-ghost,
input[type=reset].btn-ghost,
button.btn-ghost {
  background: transparent;
  color: var(--ply-btn-ghost-color, var(--ply-btn-default-bg));
  border: none;
}
.btn-ghost:hover, .btn-ghost:active, .btn-ghost:focus-visible,
input[type=submit].btn-ghost:hover,
input[type=submit].btn-ghost:active,
input[type=submit].btn-ghost:focus-visible,
input[type=button].btn-ghost:hover,
input[type=button].btn-ghost:active,
input[type=button].btn-ghost:focus-visible,
input[type=reset].btn-ghost:hover,
input[type=reset].btn-ghost:active,
input[type=reset].btn-ghost:focus-visible,
button.btn-ghost:hover,
button.btn-ghost:active,
button.btn-ghost:focus-visible {
  background: var(--ply-bg-muted, rgba(128, 128, 128, 0.1));
  color: var(--ply-btn-ghost-color, var(--ply-btn-default-bg));
}
.btn-ghost:focus-visible,
input[type=submit].btn-ghost:focus-visible,
input[type=button].btn-ghost:focus-visible,
input[type=reset].btn-ghost:focus-visible,
button.btn-ghost:focus-visible {
  outline: 2px solid var(--ply-color-accent, #2575ed);
  outline-offset: 2px;
}

.btn-primary-outline,
input[type=submit].btn-primary-outline,
input[type=button].btn-primary-outline,
input[type=reset].btn-primary-outline,
button.btn-primary-outline {
  background: transparent;
  padding: 0.5625rem 1.5rem;
  border: 1px solid var(--ply-btn-ghost-color, var(--ply-btn-default-bg));
  color: var(--ply-btn-ghost-color, var(--ply-btn-default-bg));
}
.btn-primary-outline:hover, .btn-primary-outline:active, .btn-primary-outline:focus-visible,
input[type=submit].btn-primary-outline:hover,
input[type=submit].btn-primary-outline:active,
input[type=submit].btn-primary-outline:focus-visible,
input[type=button].btn-primary-outline:hover,
input[type=button].btn-primary-outline:active,
input[type=button].btn-primary-outline:focus-visible,
input[type=reset].btn-primary-outline:hover,
input[type=reset].btn-primary-outline:active,
input[type=reset].btn-primary-outline:focus-visible,
button.btn-primary-outline:hover,
button.btn-primary-outline:active,
button.btn-primary-outline:focus-visible {
  background: var(--ply-btn-default-bg);
  border-color: var(--ply-btn-default-bg);
  color: var(--ply-btn-default-color, var(--ply-color-text-inverse, #fff));
}
.btn-primary-outline:focus-visible,
input[type=submit].btn-primary-outline:focus-visible,
input[type=button].btn-primary-outline:focus-visible,
input[type=reset].btn-primary-outline:focus-visible,
button.btn-primary-outline:focus-visible {
  outline: 2px solid var(--ply-color-accent, #2575ed);
  outline-offset: 2px;
}

.btn-secondary-outline,
input[type=submit].btn-secondary-outline,
input[type=button].btn-secondary-outline,
input[type=reset].btn-secondary-outline,
button.btn-secondary-outline {
  background: transparent;
  padding: 0.5625rem 1.5rem;
  border: 1px solid var(--ply-color-muted, #767676);
  color: var(--ply-color-muted, #767676);
}
.btn-secondary-outline:hover, .btn-secondary-outline:active, .btn-secondary-outline:focus-visible,
input[type=submit].btn-secondary-outline:hover,
input[type=submit].btn-secondary-outline:active,
input[type=submit].btn-secondary-outline:focus-visible,
input[type=button].btn-secondary-outline:hover,
input[type=button].btn-secondary-outline:active,
input[type=button].btn-secondary-outline:focus-visible,
input[type=reset].btn-secondary-outline:hover,
input[type=reset].btn-secondary-outline:active,
input[type=reset].btn-secondary-outline:focus-visible,
button.btn-secondary-outline:hover,
button.btn-secondary-outline:active,
button.btn-secondary-outline:focus-visible {
  background: var(--ply-btn-secondary-bg, #393939);
  border-color: var(--ply-btn-secondary-bg, #393939);
  color: var(--ply-btn-secondary-color, var(--ply-color-text-inverse, #fff));
}
.btn-secondary-outline:focus-visible,
input[type=submit].btn-secondary-outline:focus-visible,
input[type=button].btn-secondary-outline:focus-visible,
input[type=reset].btn-secondary-outline:focus-visible,
button.btn-secondary-outline:focus-visible {
  outline: 2px solid var(--ply-color-accent, #2575ed);
  outline-offset: 2px;
}

.btn-icon,
input[type=submit].btn-icon,
input[type=button].btn-icon,
input[type=reset].btn-icon,
button.btn-icon {
  padding: 0.375rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-active,
.btn[disabled],
.btn-disabled {
  background: var(--ply-bg-muted, #b3b6b7);
  color: var(--ply-color-muted, #6f6f6f);
  cursor: default;
}
.btn-active:hover,
.btn[disabled]:hover,
.btn-disabled:hover {
  color: var(--ply-color-muted, #6f6f6f);
  background: var(--ply-bg-muted, #b3b6b7);
  transform: none;
}

.btn-active {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) inset;
}

.btn-outline.btn[disabled],
.btn-outline.btn-disabled {
  background: none;
  box-shadow: none;
  color: var(--ply-color-muted, #6f6f6f);
  border: 1px solid var(--ply-border-color, #e0e0e0);
}

.btn-outline.btn-active {
  background: none;
  color: var(--ply-color-secondary, #525252);
  border: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) inset;
}

.btn[disabled],
.btn-disabled {
  cursor: default;
  box-shadow: none;
}

.btn-straight,
.btn-square,
input[type=submit].btn-straight,
input[type=button].btn-straight,
input[type=reset].btn-straight,
button.btn-straight,
input[type=submit].btn-square,
input[type=button].btn-square,
input[type=reset].btn-square,
button.btn-square {
  border-radius: 0;
}

.btn-blue,
input[type=submit].btn-blue,
input[type=button].btn-blue,
input[type=reset].btn-blue,
button.btn-blue {
  background: #0f62fe;
  color: #fff;
}
.btn-blue:hover, .btn-blue:active, .btn-blue:focus-visible,
input[type=submit].btn-blue:hover,
input[type=submit].btn-blue:active,
input[type=submit].btn-blue:focus-visible,
input[type=button].btn-blue:hover,
input[type=button].btn-blue:active,
input[type=button].btn-blue:focus-visible,
input[type=reset].btn-blue:hover,
input[type=reset].btn-blue:active,
input[type=reset].btn-blue:focus-visible,
button.btn-blue:hover,
button.btn-blue:active,
button.btn-blue:focus-visible {
  color: #fff;
}
.btn-blue:hover,
input[type=submit].btn-blue:hover,
input[type=button].btn-blue:hover,
input[type=reset].btn-blue:hover,
button.btn-blue:hover {
  background: #0043ce;
}
.btn-blue:active,
input[type=submit].btn-blue:active,
input[type=button].btn-blue:active,
input[type=reset].btn-blue:active,
button.btn-blue:active {
  background: #002d9c;
}

.btn-red,
input[type=submit].btn-red,
input[type=button].btn-red,
input[type=reset].btn-red,
button.btn-red {
  background: #da1e28;
  color: #fff;
}
.btn-red:hover, .btn-red:active, .btn-red:focus-visible,
input[type=submit].btn-red:hover,
input[type=submit].btn-red:active,
input[type=submit].btn-red:focus-visible,
input[type=button].btn-red:hover,
input[type=button].btn-red:active,
input[type=button].btn-red:focus-visible,
input[type=reset].btn-red:hover,
input[type=reset].btn-red:active,
input[type=reset].btn-red:focus-visible,
button.btn-red:hover,
button.btn-red:active,
button.btn-red:focus-visible {
  color: #fff;
}
.btn-red:hover,
input[type=submit].btn-red:hover,
input[type=button].btn-red:hover,
input[type=reset].btn-red:hover,
button.btn-red:hover {
  background: #ba1b23;
}
.btn-red:active,
input[type=submit].btn-red:active,
input[type=button].btn-red:active,
input[type=reset].btn-red:active,
button.btn-red:active {
  background: #750e13;
}

.btn-green,
input[type=submit].btn-green,
input[type=button].btn-green,
input[type=reset].btn-green,
button.btn-green {
  background: #198038;
  color: #fff;
}
.btn-green:hover, .btn-green:active, .btn-green:focus-visible,
input[type=submit].btn-green:hover,
input[type=submit].btn-green:active,
input[type=submit].btn-green:focus-visible,
input[type=button].btn-green:hover,
input[type=button].btn-green:active,
input[type=button].btn-green:focus-visible,
input[type=reset].btn-green:hover,
input[type=reset].btn-green:active,
input[type=reset].btn-green:focus-visible,
button.btn-green:hover,
button.btn-green:active,
button.btn-green:focus-visible {
  color: #fff;
}
.btn-green:hover,
input[type=submit].btn-green:hover,
input[type=button].btn-green:hover,
input[type=reset].btn-green:hover,
button.btn-green:hover {
  background: #0e6027;
}
.btn-green:active,
input[type=submit].btn-green:active,
input[type=button].btn-green:active,
input[type=reset].btn-green:active,
button.btn-green:active {
  background: #044317;
}

.btn-yellow,
input[type=submit].btn-yellow,
input[type=button].btn-yellow,
input[type=reset].btn-yellow,
button.btn-yellow {
  background: #f1c21b;
  color: #000;
}
.btn-yellow:hover, .btn-yellow:active, .btn-yellow:focus-visible,
input[type=submit].btn-yellow:hover,
input[type=submit].btn-yellow:active,
input[type=submit].btn-yellow:focus-visible,
input[type=button].btn-yellow:hover,
input[type=button].btn-yellow:active,
input[type=button].btn-yellow:focus-visible,
input[type=reset].btn-yellow:hover,
input[type=reset].btn-yellow:active,
input[type=reset].btn-yellow:focus-visible,
button.btn-yellow:hover,
button.btn-yellow:active,
button.btn-yellow:focus-visible {
  color: #000;
}
.btn-yellow:hover,
input[type=submit].btn-yellow:hover,
input[type=button].btn-yellow:hover,
input[type=reset].btn-yellow:hover,
button.btn-yellow:hover {
  background: #d2a106;
}
.btn-yellow:active,
input[type=submit].btn-yellow:active,
input[type=button].btn-yellow:active,
input[type=reset].btn-yellow:active,
button.btn-yellow:active {
  background: #b28600;
}

.btn-black,
input[type=submit].btn-black,
input[type=button].btn-black,
input[type=reset].btn-black,
button.btn-black {
  color: rgb(255, 255, 255);
  background: #0f0f0f;
}
.btn-black:hover, .btn-black:active, .btn-black:focus,
input[type=submit].btn-black:hover,
input[type=submit].btn-black:active,
input[type=submit].btn-black:focus,
input[type=button].btn-black:hover,
input[type=button].btn-black:active,
input[type=button].btn-black:focus,
input[type=reset].btn-black:hover,
input[type=reset].btn-black:active,
input[type=reset].btn-black:focus,
button.btn-black:hover,
button.btn-black:active,
button.btn-black:focus {
  color: rgb(255, 255, 255);
  background: #363738;
}
.btn-black:hover,
input[type=submit].btn-black:hover,
input[type=button].btn-black:hover,
input[type=reset].btn-black:hover,
button.btn-black:hover {
  transform: translateY(0) scale(1.05, 1.05);
}
.btn-black:focus, .btn-black:active,
input[type=submit].btn-black:focus,
input[type=submit].btn-black:active,
input[type=button].btn-black:focus,
input[type=button].btn-black:active,
input[type=reset].btn-black:focus,
input[type=reset].btn-black:active,
button.btn-black:focus,
button.btn-black:active {
  transform: translateY(0) scale(0.95, 0.95);
  background: rgb(41.4818181818, 42.25, 43.0181818182);
  box-shadow: 0 0 10px rgb(16.4454545455, 16.75, 17.0545454545) inset;
}
.btn-black.btn-active,
input[type=submit].btn-black.btn-active,
input[type=button].btn-black.btn-active,
input[type=reset].btn-black.btn-active,
button.btn-black.btn-active {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.7) inset;
}
.btn-black.btn-active, .btn-black.btn-disabled, .btn-black.btn[disabled],
input[type=submit].btn-black.btn-active,
input[type=submit].btn-black.btn-disabled,
input[type=submit].btn-black.btn[disabled],
input[type=button].btn-black.btn-active,
input[type=button].btn-black.btn-disabled,
input[type=button].btn-black.btn[disabled],
input[type=reset].btn-black.btn-active,
input[type=reset].btn-black.btn-disabled,
input[type=reset].btn-black.btn[disabled],
button.btn-black.btn-active,
button.btn-black.btn-disabled,
button.btn-black.btn[disabled] {
  cursor: not-allowed;
  color: rgba(255, 255, 255, 0.5);
  background: #363738;
}
.btn-black.btn-active:hover, .btn-black.btn-disabled:hover, .btn-black.btn[disabled]:hover,
input[type=submit].btn-black.btn-active:hover,
input[type=submit].btn-black.btn-disabled:hover,
input[type=submit].btn-black.btn[disabled]:hover,
input[type=button].btn-black.btn-active:hover,
input[type=button].btn-black.btn-disabled:hover,
input[type=button].btn-black.btn[disabled]:hover,
input[type=reset].btn-black.btn-active:hover,
input[type=reset].btn-black.btn-disabled:hover,
input[type=reset].btn-black.btn[disabled]:hover,
button.btn-black.btn-active:hover,
button.btn-black.btn-disabled:hover,
button.btn-black.btn[disabled]:hover {
  color: rgba(255, 255, 255, 0.5);
  transform: scale(1, 1);
}
.btn-black.btn-active:active, .btn-black.btn-active:focus, .btn-black.btn-disabled:active, .btn-black.btn-disabled:focus, .btn-black.btn[disabled]:active, .btn-black.btn[disabled]:focus,
input[type=submit].btn-black.btn-active:active,
input[type=submit].btn-black.btn-active:focus,
input[type=submit].btn-black.btn-disabled:active,
input[type=submit].btn-black.btn-disabled:focus,
input[type=submit].btn-black.btn[disabled]:active,
input[type=submit].btn-black.btn[disabled]:focus,
input[type=button].btn-black.btn-active:active,
input[type=button].btn-black.btn-active:focus,
input[type=button].btn-black.btn-disabled:active,
input[type=button].btn-black.btn-disabled:focus,
input[type=button].btn-black.btn[disabled]:active,
input[type=button].btn-black.btn[disabled]:focus,
input[type=reset].btn-black.btn-active:active,
input[type=reset].btn-black.btn-active:focus,
input[type=reset].btn-black.btn-disabled:active,
input[type=reset].btn-black.btn-disabled:focus,
input[type=reset].btn-black.btn[disabled]:active,
input[type=reset].btn-black.btn[disabled]:focus,
button.btn-black.btn-active:active,
button.btn-black.btn-active:focus,
button.btn-black.btn-disabled:active,
button.btn-black.btn-disabled:focus,
button.btn-black.btn[disabled]:active,
button.btn-black.btn[disabled]:focus {
  transform: scale(1, 1);
  box-shadow: 0 0 0;
}
.btn-black.btn-disabled, .btn-black.btn[disabled],
input[type=submit].btn-black.btn-disabled,
input[type=submit].btn-black.btn[disabled],
input[type=button].btn-black.btn-disabled,
input[type=button].btn-black.btn[disabled],
input[type=reset].btn-black.btn-disabled,
input[type=reset].btn-black.btn[disabled],
button.btn-black.btn-disabled,
button.btn-black.btn[disabled] {
  background: #373737;
}
.btn-black.btn-outline,
input[type=submit].btn-black.btn-outline,
input[type=button].btn-black.btn-outline,
input[type=reset].btn-black.btn-outline,
button.btn-black.btn-outline {
  background: none;
  border-color: #0f0f0f;
  color: #0f0f0f;
}
.btn-black.btn-outline:hover,
input[type=submit].btn-black.btn-outline:hover,
input[type=button].btn-black.btn-outline:hover,
input[type=reset].btn-black.btn-outline:hover,
button.btn-black.btn-outline:hover {
  color: rgb(255, 255, 255);
  background: #0f0f0f;
}
.btn-black.btn-outline.btn[disabled], .btn-black.btn-outline.btn-disabled,
input[type=submit].btn-black.btn-outline.btn[disabled],
input[type=submit].btn-black.btn-outline.btn-disabled,
input[type=button].btn-black.btn-outline.btn[disabled],
input[type=button].btn-black.btn-outline.btn-disabled,
input[type=reset].btn-black.btn-outline.btn[disabled],
input[type=reset].btn-black.btn-outline.btn-disabled,
button.btn-black.btn-outline.btn[disabled],
button.btn-black.btn-outline.btn-disabled {
  background: none;
  box-shadow: none;
  color: rgba(15, 15, 15, 0.5);
  border: 1px solid rgba(15, 15, 15, 0.3);
}
.btn-black.btn-outline.btn-active,
input[type=submit].btn-black.btn-outline.btn-active,
input[type=button].btn-black.btn-outline.btn-active,
input[type=reset].btn-black.btn-outline.btn-active,
button.btn-black.btn-outline.btn-active {
  background: none;
  color: rgb(15, 15, 15);
  border: none;
  box-shadow: 0 1px 3px rgba(54, 55, 56, 0.6) inset;
}

.btn-white,
input[type=submit].btn-white,
input[type=button].btn-white,
input[type=reset].btn-white,
button.btn-white {
  color: rgb(0, 0, 0);
  background: #fff;
}
.btn-white:hover, .btn-white:active, .btn-white:focus,
input[type=submit].btn-white:hover,
input[type=submit].btn-white:active,
input[type=submit].btn-white:focus,
input[type=button].btn-white:hover,
input[type=button].btn-white:active,
input[type=button].btn-white:focus,
input[type=reset].btn-white:hover,
input[type=reset].btn-white:active,
input[type=reset].btn-white:focus,
button.btn-white:hover,
button.btn-white:active,
button.btn-white:focus {
  color: rgb(0, 0, 0);
  background: rgb(237.15, 237.15, 237.15);
}
.btn-white:hover,
input[type=submit].btn-white:hover,
input[type=button].btn-white:hover,
input[type=reset].btn-white:hover,
button.btn-white:hover {
  transform: translateY(0) scale(1.05, 1.05);
}
.btn-white:focus, .btn-white:active,
input[type=submit].btn-white:focus,
input[type=submit].btn-white:active,
input[type=button].btn-white:focus,
input[type=button].btn-white:active,
input[type=reset].btn-white:focus,
input[type=reset].btn-white:active,
button.btn-white:focus,
button.btn-white:active {
  transform: translateY(0) scale(0.95, 0.95);
  background: rgb(224.4, 224.4, 224.4);
  box-shadow: 0 0 10px rgb(198.9, 198.9, 198.9) inset;
}
.btn-white.btn-active,
input[type=submit].btn-white.btn-active,
input[type=button].btn-white.btn-active,
input[type=reset].btn-white.btn-active,
button.btn-white.btn-active {
  box-shadow: 0 1px 4px rgb(0, 0, 0) inset;
}
.btn-white.btn-active, .btn-white.btn-disabled, .btn-white.btn[disabled],
input[type=submit].btn-white.btn-active,
input[type=submit].btn-white.btn-disabled,
input[type=submit].btn-white.btn[disabled],
input[type=button].btn-white.btn-active,
input[type=button].btn-white.btn-disabled,
input[type=button].btn-white.btn[disabled],
input[type=reset].btn-white.btn-active,
input[type=reset].btn-white.btn-disabled,
input[type=reset].btn-white.btn[disabled],
button.btn-white.btn-active,
button.btn-white.btn-disabled,
button.btn-white.btn[disabled] {
  cursor: not-allowed;
  color: rgba(0, 0, 0, 0.5);
  background: rgb(237.15, 237.15, 237.15);
}
.btn-white.btn-active:hover, .btn-white.btn-disabled:hover, .btn-white.btn[disabled]:hover,
input[type=submit].btn-white.btn-active:hover,
input[type=submit].btn-white.btn-disabled:hover,
input[type=submit].btn-white.btn[disabled]:hover,
input[type=button].btn-white.btn-active:hover,
input[type=button].btn-white.btn-disabled:hover,
input[type=button].btn-white.btn[disabled]:hover,
input[type=reset].btn-white.btn-active:hover,
input[type=reset].btn-white.btn-disabled:hover,
input[type=reset].btn-white.btn[disabled]:hover,
button.btn-white.btn-active:hover,
button.btn-white.btn-disabled:hover,
button.btn-white.btn[disabled]:hover {
  color: rgba(0, 0, 0, 0.5);
  transform: scale(1, 1);
}
.btn-white.btn-active:active, .btn-white.btn-active:focus, .btn-white.btn-disabled:active, .btn-white.btn-disabled:focus, .btn-white.btn[disabled]:active, .btn-white.btn[disabled]:focus,
input[type=submit].btn-white.btn-active:active,
input[type=submit].btn-white.btn-active:focus,
input[type=submit].btn-white.btn-disabled:active,
input[type=submit].btn-white.btn-disabled:focus,
input[type=submit].btn-white.btn[disabled]:active,
input[type=submit].btn-white.btn[disabled]:focus,
input[type=button].btn-white.btn-active:active,
input[type=button].btn-white.btn-active:focus,
input[type=button].btn-white.btn-disabled:active,
input[type=button].btn-white.btn-disabled:focus,
input[type=button].btn-white.btn[disabled]:active,
input[type=button].btn-white.btn[disabled]:focus,
input[type=reset].btn-white.btn-active:active,
input[type=reset].btn-white.btn-active:focus,
input[type=reset].btn-white.btn-disabled:active,
input[type=reset].btn-white.btn-disabled:focus,
input[type=reset].btn-white.btn[disabled]:active,
input[type=reset].btn-white.btn[disabled]:focus,
button.btn-white.btn-active:active,
button.btn-white.btn-active:focus,
button.btn-white.btn-disabled:active,
button.btn-white.btn-disabled:focus,
button.btn-white.btn[disabled]:active,
button.btn-white.btn[disabled]:focus {
  transform: scale(1, 1);
  box-shadow: 0 0 0;
}
.btn-white.btn-disabled, .btn-white.btn[disabled],
input[type=submit].btn-white.btn-disabled,
input[type=submit].btn-white.btn[disabled],
input[type=button].btn-white.btn-disabled,
input[type=button].btn-white.btn[disabled],
input[type=reset].btn-white.btn-disabled,
input[type=reset].btn-white.btn[disabled],
button.btn-white.btn-disabled,
button.btn-white.btn[disabled] {
  background: rgb(237.15, 237.15, 237.15);
}
.btn-white.btn-outline,
input[type=submit].btn-white.btn-outline,
input[type=button].btn-white.btn-outline,
input[type=reset].btn-white.btn-outline,
button.btn-white.btn-outline {
  background: none;
  border-color: #fff;
  color: #fff;
}
.btn-white.btn-outline:hover,
input[type=submit].btn-white.btn-outline:hover,
input[type=button].btn-white.btn-outline:hover,
input[type=reset].btn-white.btn-outline:hover,
button.btn-white.btn-outline:hover {
  color: rgb(0, 0, 0);
  background: #fff;
}
.btn-white.btn-outline.btn[disabled], .btn-white.btn-outline.btn-disabled,
input[type=submit].btn-white.btn-outline.btn[disabled],
input[type=submit].btn-white.btn-outline.btn-disabled,
input[type=button].btn-white.btn-outline.btn[disabled],
input[type=button].btn-white.btn-outline.btn-disabled,
input[type=reset].btn-white.btn-outline.btn[disabled],
input[type=reset].btn-white.btn-outline.btn-disabled,
button.btn-white.btn-outline.btn[disabled],
button.btn-white.btn-outline.btn-disabled {
  background: none;
  box-shadow: none;
  color: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.btn-white.btn-outline.btn-active,
input[type=submit].btn-white.btn-outline.btn-active,
input[type=button].btn-white.btn-outline.btn-active,
input[type=reset].btn-white.btn-outline.btn-active,
button.btn-white.btn-outline.btn-active {
  background: none;
  color: rgb(255, 255, 255);
  border: none;
  box-shadow: 0 1px 3px rgba(237.15, 237.15, 237.15, 0.6) inset;
}

.btn-white.btn-outline,
input[type=submit].btn-white.btn-outline,
input[type=button].btn-white.btn-outline,
input[type=reset].btn-white.btn-outline,
button.btn-white.btn-outline {
  border: 1px solid var(--ply-color-body, #0f0f0f);
  color: var(--ply-color-body, #0f0f0f);
}
.btn-white.btn-outline.btn-active,
input[type=submit].btn-white.btn-outline.btn-active,
input[type=button].btn-white.btn-outline.btn-active,
input[type=reset].btn-white.btn-outline.btn-active,
button.btn-white.btn-outline.btn-active {
  box-shadow: none;
  border: 1px solid rgba(0, 0, 0, 0.3);
  padding: 0.5625rem 1.5rem;
}

/*
  Buttons Group
*/
.btn-single,
.btn-group {
  display: flex;
  flex-flow: row wrap;
  gap: 0.5rem;
}
.btn-single.align-right,
.btn-group.align-right {
  justify-content: flex-end;
}
.btn-single.align-left,
.btn-group.align-left {
  justify-content: flex-start;
}
.btn-single.align-center,
.btn-group.align-center {
  justify-content: center;
}
.btn-single.fill-width .btn,
.btn-group.fill-width .btn {
  flex: 1;
}
.btn-single .btn.btn-outline:not(:last-child),
.btn-group .btn.btn-outline:not(:last-child) {
  margin-right: -1px;
}
.btn-single .btn,
.btn-single input,
.btn-group .btn,
.btn-group input {
  margin-left: 0;
  margin-right: 1px;
}
.btn-single .btn:last-child,
.btn-single input:last-child,
.btn-group .btn:last-child,
.btn-group input:last-child {
  margin-right: 0;
}
.btn-single .btn,
.btn-group .btn {
  border-radius: 0;
}
.btn-single .btn:first-child,
.btn-group .btn:first-child {
  border-radius: calc(var(--ply-border-radius) * 0.5) 0 0 calc(var(--ply-border-radius) * 0.5);
}
.btn-single .btn:last-child,
.btn-group .btn:last-child {
  border-radius: 0 calc(var(--ply-border-radius) * 0.5) calc(var(--ply-border-radius) * 0.5) 0;
}
.btn-single.joined,
.btn-group.joined {
  gap: 0;
}
.btn-single.rounded .btn:first-child,
.btn-single.rounded .input-search:first-child,
.btn-group.rounded .btn:first-child,
.btn-group.rounded .input-search:first-child {
  border-radius: calc(var(--ply-border-radius) * 2) 0 0 calc(var(--ply-border-radius) * 2);
}
.btn-single.rounded .btn:last-child,
.btn-single.rounded .input-search:last-child,
.btn-group.rounded .btn:last-child,
.btn-group.rounded .input-search:last-child {
  border-radius: 0 calc(var(--ply-border-radius) * 2) calc(var(--ply-border-radius) * 2) 0;
}

/* =Notifications
-----------------------------------------------------------------------------*/
.tools-alert,
.alert {
  padding: 0.75rem 1rem;
  background: var(--ply-bg-surface-alt, #f7f8f8);
  color: var(--ply-color-body, #0f0f0f);
  margin-bottom: 1.5rem;
  border-radius: var(--ply-border-radius);
  border-left: 4px solid #b3b6b7;
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
}
.tools-alert.tools-alert-stack, .tools-alert.alert-stack,
.alert.tools-alert-stack,
.alert.alert-stack {
  flex-direction: column;
}
.tools-alert .tools-alert-icon,
.tools-alert .alert-icon,
.alert .tools-alert-icon,
.alert .alert-icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.125rem;
}
.tools-alert .tools-alert-content,
.tools-alert .alert-content,
.alert .tools-alert-content,
.alert .alert-content {
  flex: 1;
  min-width: 0;
}
.tools-alert .tools-alert-dismiss,
.tools-alert .alert-dismiss,
.alert .tools-alert-dismiss,
.alert .alert-dismiss {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  color: inherit;
  opacity: 0.5;
  transition: opacity 0.15s ease;
  line-height: 1;
  font-size: 1.25rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: -0.5rem -0.375rem -0.5rem 0;
  border-radius: var(--ply-border-radius);
}
.tools-alert .tools-alert-dismiss:hover,
.tools-alert .alert-dismiss:hover,
.alert .tools-alert-dismiss:hover,
.alert .alert-dismiss:hover {
  opacity: 1;
}
.tools-alert .tools-alert-dismiss:focus-visible,
.tools-alert .alert-dismiss:focus-visible,
.alert .tools-alert-dismiss:focus-visible,
.alert .alert-dismiss:focus-visible {
  opacity: 1;
  outline: 2px solid var(--ply-color-focus, #0f62fe);
  outline-offset: -2px;
}
.tools-alert .tools-alert-dismiss::before,
.tools-alert .alert-dismiss::before,
.alert .tools-alert-dismiss::before,
.alert .alert-dismiss::before {
  content: "×";
}

.tools-alert-blue,
.alert-blue {
  background: #edf5ff;
  border-left-color: #0043ce;
}

.tools-alert-red,
.alert-red {
  background: #fff1f1;
  border-left-color: #da1e28;
}

.tools-alert-yellow,
.alert-yellow {
  background: #fdf6dd;
  border-left-color: #f1c21b;
}

.tools-alert-green,
.alert-green {
  background: #defbe6;
  border-left-color: #198038;
}

.tools-alert-black,
.alert-black {
  background: #e0e0e0;
  border-left-color: #161616;
}

.tools-alert-outline,
.alert-outline {
  border: 1px solid #b3b6b7;
  border-left-width: 4px;
}

.tools-alert-outline.tools-alert-blue,
.alert-outline.alert-blue {
  border-color: #0043ce;
}

.tools-alert-outline.tools-alert-red,
.alert-outline.alert-red {
  border-color: #da1e28;
}

.tools-alert-outline.tools-alert-yellow,
.alert-outline.alert-yellow {
  border-color: #f1c21b;
}

.tools-alert-outline.tools-alert-green,
.alert-outline.alert-green {
  border-color: #198038;
}

.tools-alert-outline.tools-alert-black,
.alert-outline.alert-black {
  border-color: #161616;
}

.tools-alert-ghost,
.alert-ghost {
  background: transparent;
  border: 1px solid #b3b6b7;
  border-left-width: 4px;
}

.tools-alert-ghost.tools-alert-blue,
.alert-ghost.alert-blue {
  background: transparent;
  border-color: #0043ce;
}

.tools-alert-ghost.tools-alert-red,
.alert-ghost.alert-red {
  background: transparent;
  border-color: #da1e28;
}

.tools-alert-ghost.tools-alert-yellow,
.alert-ghost.alert-yellow {
  background: transparent;
  border-color: #f1c21b;
}

.tools-alert-ghost.tools-alert-green,
.alert-ghost.alert-green {
  background: transparent;
  border-color: #198038;
}

.tools-alert-ghost.tools-alert-black,
.alert-ghost.alert-black {
  background: transparent;
  border-color: #161616;
}

.tools-message,
.message {
  position: fixed;
  z-index: 110;
  top: 10px;
  right: 10px;
  max-width: 350px;
  border-left: none;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .tools-alert,
  :root:not([data-theme]) .alert {
    background: var(--ply-bg-surface-alt);
    color: var(--ply-color-body);
    border-left-color: #6f6f6f;
  }
  :root:not([data-theme]) .tools-alert-blue,
  :root:not([data-theme]) .alert-blue {
    background: #001d6c;
    border-left-color: #4589ff;
  }
  :root:not([data-theme]) .tools-alert-outline.tools-alert-blue,
  :root:not([data-theme]) .alert-outline.alert-blue {
    border-color: #4589ff;
  }
  :root:not([data-theme]) .tools-alert-ghost.tools-alert-blue,
  :root:not([data-theme]) .alert-ghost.alert-blue {
    border-color: #4589ff;
  }
  :root:not([data-theme]) .tools-alert-red,
  :root:not([data-theme]) .alert-red {
    background: #2d0709;
    border-left-color: #ff8389;
  }
  :root:not([data-theme]) .tools-alert-outline.tools-alert-red,
  :root:not([data-theme]) .alert-outline.alert-red {
    border-color: #ff8389;
  }
  :root:not([data-theme]) .tools-alert-ghost.tools-alert-red,
  :root:not([data-theme]) .alert-ghost.alert-red {
    border-color: #ff8389;
  }
  :root:not([data-theme]) .tools-alert-yellow,
  :root:not([data-theme]) .alert-yellow {
    background: #302400;
    border-left-color: #f1c21b;
  }
  :root:not([data-theme]) .tools-alert-outline.tools-alert-yellow,
  :root:not([data-theme]) .alert-outline.alert-yellow {
    border-color: #f1c21b;
  }
  :root:not([data-theme]) .tools-alert-ghost.tools-alert-yellow,
  :root:not([data-theme]) .alert-ghost.alert-yellow {
    border-color: #f1c21b;
  }
  :root:not([data-theme]) .tools-alert-green,
  :root:not([data-theme]) .alert-green {
    background: #071908;
    border-left-color: #42be65;
  }
  :root:not([data-theme]) .tools-alert-outline.tools-alert-green,
  :root:not([data-theme]) .alert-outline.alert-green {
    border-color: #42be65;
  }
  :root:not([data-theme]) .tools-alert-ghost.tools-alert-green,
  :root:not([data-theme]) .alert-ghost.alert-green {
    border-color: #42be65;
  }
  :root:not([data-theme]) .tools-alert-black,
  :root:not([data-theme]) .alert-black {
    background: #262626;
    border-left-color: #8d8d8d;
  }
  :root:not([data-theme]) .tools-alert-outline.tools-alert-black,
  :root:not([data-theme]) .alert-outline.alert-black {
    border-color: #8d8d8d;
  }
  :root:not([data-theme]) .tools-alert-ghost.tools-alert-black,
  :root:not([data-theme]) .alert-ghost.alert-black {
    border-color: #8d8d8d;
  }
  :root:not([data-theme]) .tools-alert-ghost,
  :root:not([data-theme]) .alert-ghost {
    background: transparent;
  }
}
[data-theme=dark] .tools-alert,
[data-theme=dark] .alert {
  background: var(--ply-bg-surface-alt);
  color: var(--ply-color-body);
  border-left-color: #6f6f6f;
}
[data-theme=dark] .tools-alert-blue,
[data-theme=dark] .alert-blue {
  background: #001d6c;
  border-left-color: #4589ff;
}
[data-theme=dark] .tools-alert-outline.tools-alert-blue,
[data-theme=dark] .alert-outline.alert-blue {
  border-color: #4589ff;
}
[data-theme=dark] .tools-alert-ghost.tools-alert-blue,
[data-theme=dark] .alert-ghost.alert-blue {
  border-color: #4589ff;
}
[data-theme=dark] .tools-alert-red,
[data-theme=dark] .alert-red {
  background: #2d0709;
  border-left-color: #ff8389;
}
[data-theme=dark] .tools-alert-outline.tools-alert-red,
[data-theme=dark] .alert-outline.alert-red {
  border-color: #ff8389;
}
[data-theme=dark] .tools-alert-ghost.tools-alert-red,
[data-theme=dark] .alert-ghost.alert-red {
  border-color: #ff8389;
}
[data-theme=dark] .tools-alert-yellow,
[data-theme=dark] .alert-yellow {
  background: #302400;
  border-left-color: #f1c21b;
}
[data-theme=dark] .tools-alert-outline.tools-alert-yellow,
[data-theme=dark] .alert-outline.alert-yellow {
  border-color: #f1c21b;
}
[data-theme=dark] .tools-alert-ghost.tools-alert-yellow,
[data-theme=dark] .alert-ghost.alert-yellow {
  border-color: #f1c21b;
}
[data-theme=dark] .tools-alert-green,
[data-theme=dark] .alert-green {
  background: #071908;
  border-left-color: #42be65;
}
[data-theme=dark] .tools-alert-outline.tools-alert-green,
[data-theme=dark] .alert-outline.alert-green {
  border-color: #42be65;
}
[data-theme=dark] .tools-alert-ghost.tools-alert-green,
[data-theme=dark] .alert-ghost.alert-green {
  border-color: #42be65;
}
[data-theme=dark] .tools-alert-black,
[data-theme=dark] .alert-black {
  background: #262626;
  border-left-color: #8d8d8d;
}
[data-theme=dark] .tools-alert-outline.tools-alert-black,
[data-theme=dark] .alert-outline.alert-black {
  border-color: #8d8d8d;
}
[data-theme=dark] .tools-alert-ghost.tools-alert-black,
[data-theme=dark] .alert-ghost.alert-black {
  border-color: #8d8d8d;
}
[data-theme=dark] .tools-alert-ghost,
[data-theme=dark] .alert-ghost {
  background: transparent;
}

/* =Labels
-----------------------------------------------------------------------------*/
.label,
.badge {
  background: var(--ply-bg-muted, #e0e3e5);
  font-size: 0.875rem;
  display: inline-block;
  line-height: 1;
  padding: 4px 7px 3px 7px;
  color: var(--ply-color-body, #0f0f0f);
  text-align: center;
  font-weight: normal;
  text-transform: uppercase;
}

.label {
  border-radius: var(--ply-label-radius);
}

.label-outline {
  background: none;
  border: 1px solid var(--ply-color-body, #0f0f0f);
  padding: 3px 6px 2px 6px;
}

.badge {
  border-radius: var(--ply-badge-radius);
}

.badge-small {
  font-size: 0.75rem;
  padding: 3px 5px;
}

.label-black,
.label-blue,
.label-red,
.label-green,
.badge-black,
.badge-blue,
.badge-red,
.badge-green {
  color: #fff;
}

.label-black,
.badge-black {
  background: #0f0f0f;
}

.label-blue,
.badge-blue {
  background: #2575ed;
}

.label-red,
.badge-red {
  background: #de2c3b;
}

.label-green,
.badge-green {
  background: #1a7a32;
}

.label-yellow,
.badge-yellow {
  background: #ffc800;
}

.label-white,
.badge-white {
  background: #fff;
  color: var(--ply-color-text-inverse, #161616);
}

.label-black.label-outline,
.label-blue.label-outline,
.label-red.label-outline,
.label-green.label-outline,
.label-yellow.label-outline,
.label-white.label-outline {
  background: none;
  color: var(--ply-color-body, #0f0f0f);
}

.label-blue.label-outline {
  border-color: #2575ed;
  color: #2575ed;
}

.label-red.label-outline {
  border-color: #de2c3b;
  color: #de2c3b;
}

.label-green.label-outline {
  border-color: #1a7a32;
  color: #1a7a32;
}

.label-yellow.label-outline {
  border-color: #ffc800;
  color: #ffc800;
}

.label-white.label-outline {
  border-color: #fff;
  color: #fff;
}

/* =Typeahead / Autocomplete
-----------------------------------------------------------------------------*/
.typeahead,
.livesearch-container {
  position: relative;
  width: 100%;
}
.typeahead input,
.livesearch-container input {
  width: 100%;
  position: relative;
  z-index: 2;
}
.typeahead.active input,
.livesearch-container.active input {
  border-radius: var(--ply-border-radius) var(--ply-border-radius) 0 0;
  border-bottom-color: var(--ply-border-color, #e0e3e5);
}

.typeahead-results,
.livesearch-results {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 101;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--ply-bg-surface, #fff);
  border: 1px solid var(--ply-color-input-border, #ccc);
  border-top: none;
  border-radius: 0 0 var(--ply-border-radius) var(--ply-border-radius);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  max-height: 240px;
  overflow-y: auto;
}
.typeahead.active .typeahead-results,
.typeahead.active .livesearch-results {
  display: block;
}
.typeahead-results li,
.livesearch-results li {
  margin: 0;
}
.typeahead-results .typeahead-item,
.livesearch-results .typeahead-item {
  display: block;
  padding: 0.5rem 0.75rem;
  color: var(--ply-color-body, #222);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.1s ease;
}
.typeahead-results .typeahead-item:hover, .typeahead-results .typeahead-item[aria-selected=true],
.livesearch-results .typeahead-item:hover,
.livesearch-results .typeahead-item[aria-selected=true] {
  background: var(--ply-bg-muted, #f0f1f2);
}
.typeahead-results .typeahead-item.disabled,
.livesearch-results .typeahead-item.disabled {
  opacity: 0.4;
  cursor: default;
}
.typeahead-results .typeahead-item.disabled:hover,
.livesearch-results .typeahead-item.disabled:hover {
  background: none;
}
.typeahead-results li + li,
.livesearch-results li + li {
  border-top: 1px solid var(--ply-border-color, #f0f1f2);
}

.typeahead-empty {
  padding: 0.5rem 0.75rem;
  color: var(--ply-color-muted);
  font-size: 0.875rem;
}

/* =Multi-select
-----------------------------------------------------------------------------*/
.multiselect {
  position: relative;
  width: 100%;
}

.multiselect-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  padding: 0.375rem;
  min-height: 2.5rem;
  background: var(--ply-color-input-bg, #fff);
  border: 1px solid var(--ply-color-input-border, #ccc);
  border-radius: var(--ply-border-radius);
  cursor: text;
  transition: border-color 0.15s ease;
  align-items: center;
}
.multiselect-tags:focus-within {
  border-color: var(--ply-color-focus, #2575ed);
  box-shadow: 0 0 0 2px rgba(15, 98, 254, 0.3);
}
.multiselect.active .multiselect-tags {
  border-radius: var(--ply-border-radius) var(--ply-border-radius) 0 0;
  border-bottom-color: var(--ply-border-color, #e0e3e5);
}
.multiselect-tags input {
  flex: 1;
  min-width: 80px;
  border: none;
  outline: none;
  padding: 0.25rem 0.375rem;
  background: transparent;
  color: var(--ply-color-body, #222);
  font-size: inherit;
  font-family: inherit;
  line-height: 1.5rem;
}
.multiselect-tags input::-moz-placeholder {
  color: var(--ply-color-placeholder, #a3a3a3);
}
.multiselect-tags input::placeholder {
  color: var(--ply-color-placeholder, #a3a3a3);
}

.multiselect-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.375rem;
  background: var(--ply-bg-muted, #e0e3e5);
  color: var(--ply-color-body, #222);
  border-radius: var(--ply-border-radius);
  font-size: 0.875rem;
  line-height: 1.5;
  white-space: nowrap;
  max-width: 100%;
}
.multiselect-tag .multiselect-tag-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  opacity: 0.5;
  font-size: 1rem;
  line-height: 1;
  transition: opacity 0.1s ease;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}
.multiselect-tag .multiselect-tag-remove:hover, .multiselect-tag .multiselect-tag-remove:focus {
  opacity: 1;
}
.multiselect-tag .multiselect-tag-remove:focus {
  outline: 2px solid var(--ply-color-focus, #2575ed);
  outline-offset: 1px;
  border-radius: 2px;
}
.multiselect-tag .multiselect-tag-remove::before {
  content: "×";
}

.multiselect-results {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 101;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--ply-bg-surface, #fff);
  border: 1px solid var(--ply-color-input-border, #ccc);
  border-top: none;
  border-radius: 0 0 var(--ply-border-radius) var(--ply-border-radius);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  max-height: 240px;
  overflow-y: auto;
}
.multiselect.active .multiselect-results {
  display: block;
}
.multiselect-results li {
  margin: 0;
}
.multiselect-results .multiselect-item {
  display: block;
  padding: 0.5rem 0.75rem;
  color: var(--ply-color-body, #222);
  cursor: pointer;
  transition: background 0.1s ease;
}
.multiselect-results .multiselect-item:hover, .multiselect-results .multiselect-item[aria-selected=true] {
  background: var(--ply-bg-muted, #f0f1f2);
}
.multiselect-results .multiselect-item.disabled {
  opacity: 0.4;
  cursor: default;
}
.multiselect-results .multiselect-item.disabled:hover {
  background: none;
}
.multiselect-results li + li {
  border-top: 1px solid var(--ply-border-color, #f0f1f2);
}

/* =Loader
-----------------------------------------------------------------------------*/
.loader,
.loader::after {
  box-sizing: border-box;
  display: block;
  width: 5em;
  height: 5em;
  border-radius: 100%;
}

.loader {
  animation-duration: 1s;
  animation-name: spinning;
  animation-iteration-count: infinite;
  margin: 5em auto;
  font-size: 0.8em;
  position: relative;
  text-indent: -9999em;
  border: 1.1em solid rgba(255, 255, 255, 0.2);
  border-left: 1.1em solid #fff;
  transform: translateZ(0);
}

/* =Flexible Embed
-----------------------------------------------------------------------------*/
.flexible-embed {
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
  margin-bottom: 1.5rem;
}
.flexible-embed iframe, .flexible-embed object, .flexible-embed embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* string content */
.str {
  color: #dd1144;
}

/* a keyword */
.kwd {
  color: #333333;
}

/* a comment */
.com {
  color: #999988;
}

/* a type name */
.typ {
  color: #445588;
}

/* a literal value */
.lit {
  color: #445588;
}

/* punctuation */
.pun {
  color: #888;
}

/* lisp open bracket */
.opn {
  color: #333333;
}

/* lisp close bracket */
.clo {
  color: #333333;
}

/* a markup tag name */
.tag {
  color: #367ac3;
}

/* a markup attribute name */
.atn {
  color: #51a7c9;
}

/* a markup attribute value */
.atv {
  color: #709c1a;
}

/* a declaration */
.dec {
  color: #666;
}

/* a variable name */
.var {
  color: teal;
}

/* a function name */
.fun {
  color: #990000;
}

.linenums ol li {
  list-style-type: none;
  counter-increment: list;
  position: relative;
}

.linenums ol li:after {
  content: counter(list);
  position: absolute;
  left: -3.3em;
  border-right: 1px solid #e5e5e5;
  padding-right: 9px;
  width: 2.45em;
  text-align: right;
  color: rgba(0, 0, 0, 0.3);
  font-size: 12px;
}

/* =Blocks Responsive
-----------------------------------------------------------------------------*/
@media only screen and (max-width: 767px) {
  .blocks-2,
  .blocks-3,
  .blocks-4,
  .blocks-5,
  .blocks-6 {
    margin-bottom: 1.5rem;
  }
  .blocks-2 > li,
  .blocks-3 > li,
  .blocks-4 > li,
  .blocks-5 > li,
  .blocks-6 > li {
    flex: 0 0 100%;
  }
  .blocks-mobile-50 > li {
    flex: 0 0 calc(50% - 0.25rem);
  }
  .blocks-mobile-33 > li {
    flex: 0 0 calc(33.333% - 0.3333333333rem);
  }
}
/* =Navigation Responsive
-----------------------------------------------------------------------------*/
@media only screen and (max-width: 767px) {
  .navbar {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .navbar::-webkit-scrollbar {
    display: none;
  }
  .navbar.navbar-left, .navbar.navbar-right, .navbar li, .navbar.navbar-left li, .navbar.navbar-right li {
    float: none;
    text-align: left;
    width: auto;
  }
  .navbar li {
    margin-left: 0;
    margin-right: 0;
  }
  .navbar.navbar-vertical, .navbar.navbar--vertical {
    overflow-x: visible;
    overflow-y: visible;
  }
  .navbar.navbar-stack, .navbar.navbar--stack {
    overflow-x: visible;
  }
  .navbar.navbar-stack > ul, .navbar.navbar--stack > ul {
    flex-wrap: wrap;
  }
  .navbar.navbar-stack a, .navbar.navbar-stack > span, .navbar.navbar--stack a, .navbar.navbar--stack > span {
    white-space: normal;
  }
  .fullwidth ul, .fullwidth li {
    width: auto;
  }
  .fullwidth li {
    display: block;
  }
}
/* =Table Interactive — Sort indicators, pagination, filter wrappers
-----------------------------------------------------------------------------*/
/* Sort Indicators */
th.sortable {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  padding-right: 1.5rem;
  transition: background-color 0.15s ease;
}
th.sortable:hover {
  background-color: var(--ply-bg-surface-alt, #f4f4f4);
}
th.sortable:focus-visible {
  outline: 2px solid var(--ply-color-focus, #2575ed);
  outline-offset: -2px;
}
th.sortable::after {
  content: "";
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid var(--ply-color-muted);
  margin-top: -4px;
}
th.sortable::before {
  content: "";
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid var(--ply-color-muted);
  margin-top: 4px;
}
th.sortable.sort-asc::after {
  border-bottom-color: var(--ply-color-body);
}
th.sortable.sort-asc::before {
  border-top-color: var(--ply-color-muted);
}
th.sortable.sort-desc::before {
  border-top-color: var(--ply-color-body);
}
th.sortable.sort-desc::after {
  border-bottom-color: var(--ply-color-muted);
}

/* Table Filter — input-group style connected filter bar */
.table-filter.input-groups select {
  flex: 0 0 auto;
  width: auto;
}

/* Table Actions — right-aligned icon button bar */
.table-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.25rem;
  margin-bottom: 1.5rem;
}

/* Pagination sizes */
.pagination.pagination-sm a,
.pagination.pagination-sm span {
  min-width: 1.755rem;
  height: 1.755rem;
  padding: 0.125rem 0.375rem;
  font-size: 0.75rem;
}

.pagination.pagination-lg a,
.pagination.pagination-lg span {
  min-width: 2.745rem;
  height: 2.745rem;
  padding: 0.375rem 0.8775rem;
  font-size: 1rem;
}

/* Pagination info text — sits beside .pagination */
.pagination-info {
  font-size: 0.875rem;
  color: var(--ply-color-secondary);
}

/* =Multi-Step Form — Step indicators, progress states
-----------------------------------------------------------------------------*/
/* Step Indicator */
.steps {
  display: flex;
  align-items: flex-start;
  list-style: none;
  margin: 0 0 2.25rem;
  padding: 0;
  counter-reset: step;
}

.step {
  flex: 1;
  position: relative;
  text-align: center;
  counter-increment: step;
}
.step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 1rem;
  left: calc(50% + 1.25rem);
  right: calc(-50% + 1.25rem);
  height: 2px;
  background: var(--ply-border-color);
  z-index: 0;
}
.step::before {
  content: counter(step);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin: 0 auto 0.5rem;
  border-radius: 50%;
  border: 1px solid var(--ply-border-color);
  background: var(--ply-bg-surface, #fff);
  color: var(--ply-color-muted);
  font-size: 0.875rem;
  font-weight: 600;
  position: relative;
  z-index: 1;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.step .step-label {
  font-size: 0.875rem;
  color: var(--ply-color-muted);
  transition: color 0.2s ease;
}
.step .step-desc {
  font-size: 0.75rem;
  color: var(--ply-color-muted);
  margin-top: 0.125rem;
}
.step.active::before {
  border-color: var(--ply-color-body);
  background: var(--ply-bg-surface, #fff);
  color: var(--ply-color-body);
}
.step.active .step-label {
  color: var(--ply-color-body);
  font-weight: 600;
}
.step.completed::before {
  border-color: var(--ply-border-color);
  background: color-mix(in srgb, var(--ply-color-success) 13%, var(--ply-bg-surface, #fff));
  color: var(--ply-color-success);
  content: "✓";
}
.step.completed:not(:last-child)::after {
  background: var(--ply-border-color);
}
.step.completed .step-label {
  color: var(--ply-color-secondary);
}
.step.step-error::before {
  border-color: var(--ply-color-error);
  background: transparent;
  color: var(--ply-color-error);
  content: "!";
}
.step.step-error .step-label {
  color: var(--ply-color-error);
  font-weight: 600;
}

/* Vertical Steps */
.steps-vertical {
  flex-direction: column;
  align-items: flex-start;
}
.steps-vertical .step {
  display: flex;
  align-items: flex-start;
  text-align: left;
  padding-bottom: 1.5rem;
  padding-left: 0;
}
.steps-vertical .step::before {
  margin: 0 0.75rem 0 0;
  flex-shrink: 0;
}
.steps-vertical .step:not(:last-child)::after {
  top: 2rem;
  left: calc(1rem - 1px);
  right: auto;
  width: 2px;
  height: calc(100% - 2rem);
}
.steps-vertical .step .step-content {
  padding-top: 0.25rem;
}

/* Steps sizes */
.steps-sm .step::before {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 0.75rem;
}
.steps-sm .step:not(:last-child)::after {
  top: 0.75rem;
  left: calc(50% + 1rem);
  right: calc(-50% + 1rem);
}
.steps-sm .step .step-label {
  font-size: 0.75rem;
}

/* Form Step Content Panels */
.step-panel {
  display: none;
}
.step-panel.active {
  display: block;
}

/* Form Step Navigation */
.step-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--ply-border-color);
}

@media (prefers-reduced-motion: reduce) {
  .step::before,
  .step .step-label {
    transition: none;
  }
}
/* =Dialog Patterns — Nested/stacked dialog styling
-----------------------------------------------------------------------------*/
/* Dialog Sizes */
dialog.dialog-sm {
  max-width: 24rem;
}

dialog.dialog-lg {
  max-width: 48rem;
}

dialog.dialog-full {
  max-width: calc(100vw - 2rem);
  max-height: calc(100vh - 2rem);
  width: 100%;
  height: 100%;
}

/* Dialog Layout Sections */
dialog .dialog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.9975rem 1.5rem;
  border-bottom: 1px solid var(--ply-border-color);
}
dialog .dialog-header h1, dialog .dialog-header h2, dialog .dialog-header h3, dialog .dialog-header h4, dialog .dialog-header h5, dialog .dialog-header h6 {
  margin: 0;
  font-size: 1.125rem;
}
dialog .dialog-body {
  padding: 1.5rem;
  overflow-y: auto;
}
dialog .dialog-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.9975rem 1.5rem;
  border-top: 1px solid var(--ply-border-color);
}
dialog .dialog-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: none;
  background: none;
  color: var(--ply-color-secondary);
  font-size: 1.5rem;
  cursor: pointer;
  border-radius: var(--ply-border-radius);
  transition: background-color 0.15s ease;
}
dialog .dialog-close:hover {
  background-color: var(--ply-bg-surface-alt);
  color: var(--ply-color-body);
}
dialog .dialog-close:focus-visible {
  outline: 2px solid var(--ply-color-focus, #2575ed);
  outline-offset: 2px;
}

/* Stacked Dialogs — z-index layering */
dialog[open].dialog-layer-1 {
  z-index: 100;
}
dialog[open].dialog-layer-2 {
  z-index: 110;
}
dialog[open].dialog-layer-3 {
  z-index: 120;
}

dialog::backdrop {
  background: var(--ply-backdrop, rgba(0, 0, 0, 0.5));
}

dialog.dialog-layer-2::backdrop {
  background: var(--ply-backdrop-nested, rgba(0, 0, 0, 0.35));
}

dialog.dialog-layer-3::backdrop {
  background: var(--ply-backdrop-nested, rgba(0, 0, 0, 0.25));
}

/* Confirmation Dialog — compact variant */
dialog.dialog-confirm {
  max-width: 28rem;
  text-align: center;
}
dialog.dialog-confirm .dialog-body {
  padding: 1.995rem 1.5rem 0.9975rem;
}
dialog.dialog-confirm .dialog-footer {
  justify-content: center;
  border-top: none;
  padding-top: 0;
}

/* Dialog with scrollable body */
dialog.dialog-scroll[open] {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 4rem);
}
dialog.dialog-scroll[open] .dialog-body {
  flex: 1 1 auto;
  overflow-y: auto;
  min-height: 0;
}
dialog.dialog-scroll[open] .dialog-header,
dialog.dialog-scroll[open] .dialog-footer {
  flex-shrink: 0;
}

/* Dialog animation */
dialog[open] {
  animation: dialog-fade-in 0.15s ease;
}

dialog[open]::backdrop {
  animation: dialog-backdrop-in 0.15s ease;
}

@keyframes dialog-fade-in {
  from {
    opacity: 0;
    transform: translateY(-0.5rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes dialog-backdrop-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  dialog[open],
  dialog[open]::backdrop {
    animation: none;
  }
}
/* =Container Queries
-----------------------------------------------------------------------------*/
.container-query {
  container-type: inline-size;
}

@container (max-width: 480px) {
  .container-phone-unit-100 {
    flex-basis: 100%;
  }
  .container-phone-unit-90 {
    flex-basis: calc(90% - var(--units-gap, 1rem) * 0.1);
  }
  .container-phone-unit-88 {
    flex-basis: calc(87.5% - var(--units-gap, 1rem) * 0.12);
  }
  .container-phone-unit-80 {
    flex-basis: calc(80% - var(--units-gap, 1rem) * 0.2);
  }
  .container-phone-unit-75 {
    flex-basis: calc(75% - var(--units-gap, 1rem) * 0.25);
  }
  .container-phone-unit-70 {
    flex-basis: calc(70% - var(--units-gap, 1rem) * 0.3);
  }
  .container-phone-unit-66 {
    flex-basis: calc(66.6% - var(--units-gap, 1rem) * 0.34);
  }
  .container-phone-unit-65 {
    flex-basis: calc(65% - var(--units-gap, 1rem) * 0.35);
  }
  .container-phone-unit-62 {
    flex-basis: calc(62.5% - var(--units-gap, 1rem) * 0.38);
  }
  .container-phone-unit-60 {
    flex-basis: calc(60% - var(--units-gap, 1rem) * 0.4);
  }
  .container-phone-unit-50 {
    flex-basis: calc(50% - var(--units-gap, 1rem) * 0.5);
  }
  .container-phone-unit-40 {
    flex-basis: calc(40% - var(--units-gap, 1rem) * 0.6);
  }
  .container-phone-unit-38 {
    flex-basis: calc(37.5% - var(--units-gap, 1rem) * 0.62);
  }
  .container-phone-unit-35 {
    flex-basis: calc(35% - var(--units-gap, 1rem) * 0.65);
  }
  .container-phone-unit-33 {
    flex-basis: calc(33.3% - var(--units-gap, 1rem) * 0.67);
  }
  .container-phone-unit-30 {
    flex-basis: calc(30% - var(--units-gap, 1rem) * 0.7);
  }
  .container-phone-unit-25 {
    flex-basis: calc(25% - var(--units-gap, 1rem) * 0.75);
  }
  .container-phone-unit-20 {
    flex-basis: calc(20% - var(--units-gap, 1rem) * 0.8);
  }
  .container-phone-unit-12 {
    flex-basis: calc(12.5% - var(--units-gap, 1rem) * 0.88);
  }
  .container-phone-unit-10 {
    flex-basis: calc(10% - var(--units-gap, 1rem) * 0.9);
  }
  .container-phone-unit-auto {
    flex-basis: 0;
    flex-grow: 1;
  }
}
@container (max-width: 650px) {
  .container-large-phone-unit-100 {
    flex-basis: 100%;
  }
  .container-large-phone-unit-90 {
    flex-basis: calc(90% - var(--units-gap, 1rem) * 0.1);
  }
  .container-large-phone-unit-88 {
    flex-basis: calc(87.5% - var(--units-gap, 1rem) * 0.12);
  }
  .container-large-phone-unit-80 {
    flex-basis: calc(80% - var(--units-gap, 1rem) * 0.2);
  }
  .container-large-phone-unit-75 {
    flex-basis: calc(75% - var(--units-gap, 1rem) * 0.25);
  }
  .container-large-phone-unit-70 {
    flex-basis: calc(70% - var(--units-gap, 1rem) * 0.3);
  }
  .container-large-phone-unit-66 {
    flex-basis: calc(66.6% - var(--units-gap, 1rem) * 0.34);
  }
  .container-large-phone-unit-65 {
    flex-basis: calc(65% - var(--units-gap, 1rem) * 0.35);
  }
  .container-large-phone-unit-62 {
    flex-basis: calc(62.5% - var(--units-gap, 1rem) * 0.38);
  }
  .container-large-phone-unit-60 {
    flex-basis: calc(60% - var(--units-gap, 1rem) * 0.4);
  }
  .container-large-phone-unit-50 {
    flex-basis: calc(50% - var(--units-gap, 1rem) * 0.5);
  }
  .container-large-phone-unit-40 {
    flex-basis: calc(40% - var(--units-gap, 1rem) * 0.6);
  }
  .container-large-phone-unit-38 {
    flex-basis: calc(37.5% - var(--units-gap, 1rem) * 0.62);
  }
  .container-large-phone-unit-35 {
    flex-basis: calc(35% - var(--units-gap, 1rem) * 0.65);
  }
  .container-large-phone-unit-33 {
    flex-basis: calc(33.3% - var(--units-gap, 1rem) * 0.67);
  }
  .container-large-phone-unit-30 {
    flex-basis: calc(30% - var(--units-gap, 1rem) * 0.7);
  }
  .container-large-phone-unit-25 {
    flex-basis: calc(25% - var(--units-gap, 1rem) * 0.75);
  }
  .container-large-phone-unit-20 {
    flex-basis: calc(20% - var(--units-gap, 1rem) * 0.8);
  }
  .container-large-phone-unit-12 {
    flex-basis: calc(12.5% - var(--units-gap, 1rem) * 0.88);
  }
  .container-large-phone-unit-10 {
    flex-basis: calc(10% - var(--units-gap, 1rem) * 0.9);
  }
  .container-large-phone-unit-auto {
    flex-basis: 0;
    flex-grow: 1;
  }
}
@container (max-width: 767px) {
  .container-tablet-unit-100 {
    flex-basis: 100%;
  }
  .container-tablet-unit-90 {
    flex-basis: calc(90% - var(--units-gap, 1rem) * 0.1);
  }
  .container-tablet-unit-88 {
    flex-basis: calc(87.5% - var(--units-gap, 1rem) * 0.12);
  }
  .container-tablet-unit-80 {
    flex-basis: calc(80% - var(--units-gap, 1rem) * 0.2);
  }
  .container-tablet-unit-75 {
    flex-basis: calc(75% - var(--units-gap, 1rem) * 0.25);
  }
  .container-tablet-unit-70 {
    flex-basis: calc(70% - var(--units-gap, 1rem) * 0.3);
  }
  .container-tablet-unit-66 {
    flex-basis: calc(66.6% - var(--units-gap, 1rem) * 0.34);
  }
  .container-tablet-unit-65 {
    flex-basis: calc(65% - var(--units-gap, 1rem) * 0.35);
  }
  .container-tablet-unit-62 {
    flex-basis: calc(62.5% - var(--units-gap, 1rem) * 0.38);
  }
  .container-tablet-unit-60 {
    flex-basis: calc(60% - var(--units-gap, 1rem) * 0.4);
  }
  .container-tablet-unit-50 {
    flex-basis: calc(50% - var(--units-gap, 1rem) * 0.5);
  }
  .container-tablet-unit-40 {
    flex-basis: calc(40% - var(--units-gap, 1rem) * 0.6);
  }
  .container-tablet-unit-38 {
    flex-basis: calc(37.5% - var(--units-gap, 1rem) * 0.62);
  }
  .container-tablet-unit-35 {
    flex-basis: calc(35% - var(--units-gap, 1rem) * 0.65);
  }
  .container-tablet-unit-33 {
    flex-basis: calc(33.3% - var(--units-gap, 1rem) * 0.67);
  }
  .container-tablet-unit-30 {
    flex-basis: calc(30% - var(--units-gap, 1rem) * 0.7);
  }
  .container-tablet-unit-25 {
    flex-basis: calc(25% - var(--units-gap, 1rem) * 0.75);
  }
  .container-tablet-unit-20 {
    flex-basis: calc(20% - var(--units-gap, 1rem) * 0.8);
  }
  .container-tablet-unit-12 {
    flex-basis: calc(12.5% - var(--units-gap, 1rem) * 0.88);
  }
  .container-tablet-unit-10 {
    flex-basis: calc(10% - var(--units-gap, 1rem) * 0.9);
  }
  .container-tablet-unit-auto {
    flex-basis: 0;
    flex-grow: 1;
  }
}
@container (max-width: 1024px) {
  .container-small-desktop-unit-100 {
    flex-basis: 100%;
  }
  .container-small-desktop-unit-90 {
    flex-basis: calc(90% - var(--units-gap, 1rem) * 0.1);
  }
  .container-small-desktop-unit-88 {
    flex-basis: calc(87.5% - var(--units-gap, 1rem) * 0.12);
  }
  .container-small-desktop-unit-80 {
    flex-basis: calc(80% - var(--units-gap, 1rem) * 0.2);
  }
  .container-small-desktop-unit-75 {
    flex-basis: calc(75% - var(--units-gap, 1rem) * 0.25);
  }
  .container-small-desktop-unit-70 {
    flex-basis: calc(70% - var(--units-gap, 1rem) * 0.3);
  }
  .container-small-desktop-unit-66 {
    flex-basis: calc(66.6% - var(--units-gap, 1rem) * 0.34);
  }
  .container-small-desktop-unit-65 {
    flex-basis: calc(65% - var(--units-gap, 1rem) * 0.35);
  }
  .container-small-desktop-unit-62 {
    flex-basis: calc(62.5% - var(--units-gap, 1rem) * 0.38);
  }
  .container-small-desktop-unit-60 {
    flex-basis: calc(60% - var(--units-gap, 1rem) * 0.4);
  }
  .container-small-desktop-unit-50 {
    flex-basis: calc(50% - var(--units-gap, 1rem) * 0.5);
  }
  .container-small-desktop-unit-40 {
    flex-basis: calc(40% - var(--units-gap, 1rem) * 0.6);
  }
  .container-small-desktop-unit-38 {
    flex-basis: calc(37.5% - var(--units-gap, 1rem) * 0.62);
  }
  .container-small-desktop-unit-35 {
    flex-basis: calc(35% - var(--units-gap, 1rem) * 0.65);
  }
  .container-small-desktop-unit-33 {
    flex-basis: calc(33.3% - var(--units-gap, 1rem) * 0.67);
  }
  .container-small-desktop-unit-30 {
    flex-basis: calc(30% - var(--units-gap, 1rem) * 0.7);
  }
  .container-small-desktop-unit-25 {
    flex-basis: calc(25% - var(--units-gap, 1rem) * 0.75);
  }
  .container-small-desktop-unit-20 {
    flex-basis: calc(20% - var(--units-gap, 1rem) * 0.8);
  }
  .container-small-desktop-unit-12 {
    flex-basis: calc(12.5% - var(--units-gap, 1rem) * 0.88);
  }
  .container-small-desktop-unit-10 {
    flex-basis: calc(10% - var(--units-gap, 1rem) * 0.9);
  }
  .container-small-desktop-unit-auto {
    flex-basis: 0;
    flex-grow: 1;
  }
}
/* =RTL Support — Layout mirroring for right-to-left languages
-----------------------------------------------------------------------------*/
/* RTL base — apply dir="rtl" on <html> or any container */
[dir=rtl] {
  direction: rtl;
  text-align: right;
}
[dir=rtl] [class*=unit-] {
  float: right;
}
[dir=rtl] .text-left {
  text-align: right;
}
[dir=rtl] .text-right {
  text-align: left;
}
[dir=rtl] .margin-left,
[dir=rtl] .margin-left-extra {
  margin-left: 0;
  margin-right: 0.75rem;
}
[dir=rtl] .margin-left-extra {
  margin-right: 1.5rem;
}
[dir=rtl] .margin-right,
[dir=rtl] .margin-right-extra {
  margin-right: 0;
  margin-left: 0.75rem;
}
[dir=rtl] .margin-right-extra {
  margin-left: 1.5rem;
}
[dir=rtl] .margin-left-auto {
  margin-left: unset;
  margin-right: auto;
}
[dir=rtl] .margin-right-auto {
  margin-right: unset;
  margin-left: auto;
}
[dir=rtl] .padding-left {
  padding-left: 0;
  padding-right: 0.75rem;
}
[dir=rtl] .padding-right {
  padding-right: 0;
  padding-left: 0.75rem;
}
[dir=rtl] .navbar ul {
  padding-right: 0;
}
[dir=rtl] .nav-stacked ul {
  padding-right: 0;
}
[dir=rtl] .form select {
  background-position: left 0.75em center;
  padding-left: 2.4975rem;
  padding-right: 0.75rem;
}
[dir=rtl] select.select-outlined {
  background-position: left 0.75em center;
  padding-left: 2.4975rem;
  padding-right: 0.75rem;
}
[dir=rtl] .input-groups input:not(:last-child),
[dir=rtl] .input-groups textarea:not(:last-child),
[dir=rtl] .input-groups select:not(:last-child) {
  border-right: initial;
  border-left: none;
  border-radius: 0 var(--ply-border-radius) var(--ply-border-radius) 0;
}
[dir=rtl] .input-groups input:not(:first-child),
[dir=rtl] .input-groups textarea:not(:first-child),
[dir=rtl] .input-groups select:not(:first-child) {
  border-radius: var(--ply-border-radius) 0 0 var(--ply-border-radius);
}
[dir=rtl] .input-groups .input-prepend {
  border-right: initial;
  border-left: none;
  border-radius: 0 var(--ply-border-radius) var(--ply-border-radius) 0;
}
[dir=rtl] .input-groups .input-append {
  border-left: initial;
  border-right: none;
  border-radius: var(--ply-border-radius) 0 0 var(--ply-border-radius);
}
[dir=rtl] th.sortable {
  padding-right: inherit;
  padding-left: 1.5rem;
}
[dir=rtl] th.sortable::after, [dir=rtl] th.sortable::before {
  right: auto;
  left: 0.5rem;
}
[dir=rtl] .steps .step:not(:last-child)::after {
  right: calc(50% + 1.25rem);
  left: calc(-50% + 1.25rem);
}
[dir=rtl] .modal-close {
  right: auto;
  left: 0.75rem;
}
[dir=rtl] .skip-link {
  left: auto;
  right: 0;
}
[dir=rtl] .reverse-direction {
  flex-direction: row;
}
[dir=rtl] ol,
[dir=rtl] ul {
  padding-inline-start: 2rem;
}
[dir=rtl] .float-left {
  float: right;
}
[dir=rtl] .float-right {
  float: left;
}

/* Bidirectional utility — opt out of mirroring for specific elements */
[dir=rtl] .no-rtl {
  direction: ltr;
  text-align: left;
}

/* Logical property helpers — work in both LTR and RTL automatically */
.margin-inline-start {
  margin-inline-start: 0.75rem;
}

.margin-inline-end {
  margin-inline-end: 0.75rem;
}

.padding-inline-start {
  padding-inline-start: 0.75rem;
}

.padding-inline-end {
  padding-inline-end: 0.75rem;
}

.border-inline-start {
  border-inline-start: 1px solid var(--ply-border-color);
}

.border-inline-end {
  border-inline-end: 1px solid var(--ply-border-color);
}

@media print {
  * {
    text-shadow: none !important;
    color: #000 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 12pt;
  }
  .h1,
  h1 {
    font-size: 36pt;
  }
  .h2,
  h2 {
    font-size: 24pt;
  }
  .h3,
  h3 {
    font-size: 18pt;
  }
  .h4,
  h4 {
    font-size: 14pt;
  }
  .h5,
  h5 {
    font-size: 12pt;
  }
  .h6,
  h6 {
    font-size: 12pt;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    page-break-inside: avoid;
  }
  blockquote {
    border: none;
    font-style: italic;
  }
  img {
    max-width: 100% !important;
  }
  select {
    background: #fff !important;
  }
}
