@charset "UTF-8";
/*!
 * Pico CSS ✨ v2.0.6 (https://picocss.com)
 * Copyright 2019-2024 - Licensed under MIT
 */
/**
 * Styles
 */
:root {
  --pico-font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --pico-font-family-sans-serif: system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial, "Helvetica Neue", sans-serif, var(--pico-font-family-emoji);
  --pico-font-family-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--pico-font-family-emoji);
  --pico-font-family: var(--pico-font-family-sans-serif);
  --pico-line-height: 1.5;
  --pico-font-weight: 400;
  --pico-font-size: 100%;
  --pico-text-underline-offset: 0.1rem;
  --pico-border-radius: 0.25rem;
  --pico-border-width: 0.0625rem;
  --pico-outline-width: 0.125rem;
  --pico-transition: 0.2s ease-in-out;
  --pico-spacing: 1rem;
  --pico-typography-spacing-vertical: 1rem;
  --pico-block-spacing-vertical: var(--pico-spacing);
  --pico-block-spacing-horizontal: var(--pico-spacing);
  --pico-grid-column-gap: var(--pico-spacing);
  --pico-grid-row-gap: var(--pico-spacing);
  --pico-form-element-spacing-vertical: 0.75rem;
  --pico-form-element-spacing-horizontal: 1rem;
  --pico-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
  --pico-group-box-shadow-focus-with-input: 0 0 0 0.0625rem var(--pico-form-element-border-color);
  --pico-nav-element-spacing-vertical: 1rem;
  --pico-nav-element-spacing-horizontal: 0.5rem;
  --pico-nav-link-spacing-vertical: 0.5rem;
  --pico-nav-link-spacing-horizontal: 0.5rem;
  --pico-nav-breadcrumb-divider: ">";
  --pico-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
  --pico-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}
@media (min-width: 576px) {
  :root {
    --pico-font-size: 105%;
  }
}
@media (min-width: 768px) {
  :root {
    --pico-font-size: 110%;
  }
}
@media (min-width: 1024px) {
  :root {
    --pico-font-size: 115%;
  }
}
@media (min-width: 1280px) {
  :root {
    --pico-font-size: 120%;
  }
}
@media (min-width: 1536px) {
  :root {
    --pico-font-size: 125% !important;
  }
}

a {
  --pico-text-decoration: underline;
}
a.secondary, a.contrast {
  --pico-text-decoration: underline;
}

small {
  --pico-font-size: 0.875em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  --pico-font-weight: 700;
}

h1 {
  --pico-font-size: 2rem;
  --pico-line-height: 1.125;
  --pico-typography-spacing-top: 3rem;
}

h2 {
  --pico-font-size: 1.75rem;
  --pico-line-height: 1.15;
  --pico-typography-spacing-top: 2.625rem;
}

h3 {
  --pico-font-size: 1.5rem;
  --pico-line-height: 1.175;
  --pico-typography-spacing-top: 2.25rem;
}

h4 {
  --pico-font-size: 1.25rem;
  --pico-line-height: 1.2;
  --pico-typography-spacing-top: 1.874rem;
}

h5 {
  --pico-font-size: 1.125rem;
  --pico-line-height: 1.225;
  --pico-typography-spacing-top: 1.6875rem;
}

h6 {
  --pico-font-size: 1rem;
  --pico-line-height: 1.25;
  --pico-typography-spacing-top: 1.5rem;
}

input:not([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:where(select, textarea) {
  --pico-outline-width: 0.0625rem;
}

[type=search] {
  --pico-border-radius: 5rem;
}

[type=checkbox],
[type=radio] {
  --pico-border-width: 0.125rem;
}

[type=checkbox][role=switch] {
  --pico-border-width: 0.1875rem;
}

[role=search] {
  --pico-border-radius: 5rem;
}

[role=search]:has(button.secondary:focus,
[type=submit].secondary:focus,
[type=button].secondary:focus,
[role=button].secondary:focus),
[role=group]:has(button.secondary:focus,
[type=submit].secondary:focus,
[type=button].secondary:focus,
[role=button].secondary:focus) {
  --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus);
}
[role=search]:has(button.contrast:focus,
[type=submit].contrast:focus,
[type=button].contrast:focus,
[role=button].contrast:focus),
[role=group]:has(button.contrast:focus,
[type=submit].contrast:focus,
[type=button].contrast:focus,
[role=button].contrast:focus) {
  --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-contrast-focus);
}
[role=search] button,
[role=search] [type=submit],
[role=search] [type=button],
[role=search] [role=button],
[role=group] button,
[role=group] [type=submit],
[role=group] [type=button],
[role=group] [role=button] {
  --pico-form-element-spacing-horizontal: 2rem;
}

/**
 * Color schemes
 */
[data-theme=light],
:root:not([data-theme=dark]) {
  --pico-background-color: #fff;
  --pico-color: #373c44;
  --pico-text-selection-color: rgba(71, 164, 23, 0.25);
  --pico-muted-color: #646b79;
  --pico-muted-border-color: #e7eaf0;
  --pico-primary: #33790f;
  --pico-primary-background: #398712;
  --pico-primary-border: var(--pico-primary-background);
  --pico-primary-underline: rgba(51, 121, 15, 0.5);
  --pico-primary-hover: #265e09;
  --pico-primary-hover-background: #33790f;
  --pico-primary-hover-border: var(--pico-primary-hover-background);
  --pico-primary-hover-underline: var(--pico-primary-hover);
  --pico-primary-focus: rgba(71, 164, 23, 0.5);
  --pico-primary-inverse: #fff;
  --pico-secondary: #5d6b89;
  --pico-secondary-background: #525f7a;
  --pico-secondary-border: var(--pico-secondary-background);
  --pico-secondary-underline: rgba(93, 107, 137, 0.5);
  --pico-secondary-hover: #48536b;
  --pico-secondary-hover-background: #48536b;
  --pico-secondary-hover-border: var(--pico-secondary-hover-background);
  --pico-secondary-hover-underline: var(--pico-secondary-hover);
  --pico-secondary-focus: rgba(93, 107, 137, 0.25);
  --pico-secondary-inverse: #fff;
  --pico-contrast: #181c25;
  --pico-contrast-background: #181c25;
  --pico-contrast-border: var(--pico-contrast-background);
  --pico-contrast-underline: rgba(24, 28, 37, 0.5);
  --pico-contrast-hover: #000;
  --pico-contrast-hover-background: #000;
  --pico-contrast-hover-border: var(--pico-contrast-hover-background);
  --pico-contrast-hover-underline: var(--pico-secondary-hover);
  --pico-contrast-focus: rgba(93, 107, 137, 0.25);
  --pico-contrast-inverse: #fff;
  --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024), 0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03), 0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036), 0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302), 0.5rem 1rem 6rem rgba(129, 145, 181, 0.06), 0 0 0 0.0625rem rgba(129, 145, 181, 0.015);
  --pico-h1-color: #2d3138;
  --pico-h2-color: #373c44;
  --pico-h3-color: #424751;
  --pico-h4-color: #4d535e;
  --pico-h5-color: #5c6370;
  --pico-h6-color: #646b79;
  --pico-mark-background-color: #fde7c0;
  --pico-mark-color: #0f1114;
  --pico-ins-color: #1d6a54;
  --pico-del-color: #883935;
  --pico-blockquote-border-color: var(--pico-muted-border-color);
  --pico-blockquote-footer-color: var(--pico-muted-color);
  --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-form-element-background-color: #fbfcfc;
  --pico-form-element-selected-background-color: #dfe3eb;
  --pico-form-element-border-color: #cfd5e2;
  --pico-form-element-color: #23262c;
  --pico-form-element-placeholder-color: var(--pico-muted-color);
  --pico-form-element-active-background-color: #fff;
  --pico-form-element-active-border-color: var(--pico-primary-border);
  --pico-form-element-focus-color: var(--pico-primary-border);
  --pico-form-element-disabled-opacity: 0.5;
  --pico-form-element-invalid-border-color: #b86a6b;
  --pico-form-element-invalid-active-border-color: #c84f48;
  --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
  --pico-form-element-valid-border-color: #4c9b8a;
  --pico-form-element-valid-active-border-color: #279977;
  --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
  --pico-switch-background-color: #bfc7d9;
  --pico-switch-checked-background-color: var(--pico-primary-background);
  --pico-switch-color: #fff;
  --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(76, 155, 138)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200, 79, 72)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
  color-scheme: light;
}
[data-theme=light] input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:root:not([data-theme=dark]) input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]) {
  --pico-form-element-focus-color: var(--pico-primary-focus);
}

@media only screen and (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --pico-background-color: #13171f;
    --pico-color: #c2c7d0;
    --pico-text-selection-color: rgba(78, 179, 27, 0.1875);
    --pico-muted-color: #7b8495;
    --pico-muted-border-color: #202632;
    --pico-primary: #4eb31b;
    --pico-primary-background: #398712;
    --pico-primary-border: var(--pico-primary-background);
    --pico-primary-underline: rgba(78, 179, 27, 0.5);
    --pico-primary-hover: #5dd121;
    --pico-primary-hover-background: #409614;
    --pico-primary-hover-border: var(--pico-primary-hover-background);
    --pico-primary-hover-underline: var(--pico-primary-hover);
    --pico-primary-focus: rgba(78, 179, 27, 0.375);
    --pico-primary-inverse: #fff;
    --pico-secondary: #969eaf;
    --pico-secondary-background: #525f7a;
    --pico-secondary-border: var(--pico-secondary-background);
    --pico-secondary-underline: rgba(150, 158, 175, 0.5);
    --pico-secondary-hover: #b3b9c5;
    --pico-secondary-hover-background: #5d6b89;
    --pico-secondary-hover-border: var(--pico-secondary-hover-background);
    --pico-secondary-hover-underline: var(--pico-secondary-hover);
    --pico-secondary-focus: rgba(144, 158, 190, 0.25);
    --pico-secondary-inverse: #fff;
    --pico-contrast: #dfe3eb;
    --pico-contrast-background: #eff1f4;
    --pico-contrast-border: var(--pico-contrast-background);
    --pico-contrast-underline: rgba(223, 227, 235, 0.5);
    --pico-contrast-hover: #fff;
    --pico-contrast-hover-background: #fff;
    --pico-contrast-hover-border: var(--pico-contrast-hover-background);
    --pico-contrast-hover-underline: var(--pico-contrast-hover);
    --pico-contrast-focus: rgba(207, 213, 226, 0.25);
    --pico-contrast-inverse: #000;
    --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 9, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 9, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 9, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 9, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 9, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 9, 12, 0.06), 0 0 0 0.0625rem rgba(7, 9, 12, 0.015);
    --pico-h1-color: #f0f1f3;
    --pico-h2-color: #e0e3e7;
    --pico-h3-color: #c2c7d0;
    --pico-h4-color: #b3b9c5;
    --pico-h5-color: #a4acba;
    --pico-h6-color: #8891a4;
    --pico-mark-background-color: #014063;
    --pico-mark-color: #fff;
    --pico-ins-color: #62af9a;
    --pico-del-color: #ce7e7b;
    --pico-blockquote-border-color: var(--pico-muted-border-color);
    --pico-blockquote-footer-color: var(--pico-muted-color);
    --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --pico-form-element-background-color: #1c212c;
    --pico-form-element-selected-background-color: #2a3140;
    --pico-form-element-border-color: #2a3140;
    --pico-form-element-color: #e0e3e7;
    --pico-form-element-placeholder-color: #8891a4;
    --pico-form-element-active-background-color: #1a1f28;
    --pico-form-element-active-border-color: var(--pico-primary-border);
    --pico-form-element-focus-color: var(--pico-primary-border);
    --pico-form-element-disabled-opacity: 0.5;
    --pico-form-element-invalid-border-color: #964a50;
    --pico-form-element-invalid-active-border-color: #b7403b;
    --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
    --pico-form-element-valid-border-color: #2a7b6f;
    --pico-form-element-valid-active-border-color: #16896a;
    --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
    --pico-switch-background-color: #333c4e;
    --pico-switch-checked-background-color: var(--pico-primary-background);
    --pico-switch-color: #fff;
    --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(150, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
    color-scheme: dark;
  }
  :root:not([data-theme]) input:is([type=submit],
  [type=button],
  [type=reset],
  [type=checkbox],
  [type=radio],
  [type=file]) {
    --pico-form-element-focus-color: var(--pico-primary-focus);
  }
}
[data-theme=dark] {
  --pico-background-color: #13171f;
  --pico-color: #c2c7d0;
  --pico-text-selection-color: rgba(78, 179, 27, 0.1875);
  --pico-muted-color: #7b8495;
  --pico-muted-border-color: #202632;
  --pico-primary: #4eb31b;
  --pico-primary-background: #398712;
  --pico-primary-border: var(--pico-primary-background);
  --pico-primary-underline: rgba(78, 179, 27, 0.5);
  --pico-primary-hover: #5dd121;
  --pico-primary-hover-background: #409614;
  --pico-primary-hover-border: var(--pico-primary-hover-background);
  --pico-primary-hover-underline: var(--pico-primary-hover);
  --pico-primary-focus: rgba(78, 179, 27, 0.375);
  --pico-primary-inverse: #fff;
  --pico-secondary: #969eaf;
  --pico-secondary-background: #525f7a;
  --pico-secondary-border: var(--pico-secondary-background);
  --pico-secondary-underline: rgba(150, 158, 175, 0.5);
  --pico-secondary-hover: #b3b9c5;
  --pico-secondary-hover-background: #5d6b89;
  --pico-secondary-hover-border: var(--pico-secondary-hover-background);
  --pico-secondary-hover-underline: var(--pico-secondary-hover);
  --pico-secondary-focus: rgba(144, 158, 190, 0.25);
  --pico-secondary-inverse: #fff;
  --pico-contrast: #dfe3eb;
  --pico-contrast-background: #eff1f4;
  --pico-contrast-border: var(--pico-contrast-background);
  --pico-contrast-underline: rgba(223, 227, 235, 0.5);
  --pico-contrast-hover: #fff;
  --pico-contrast-hover-background: #fff;
  --pico-contrast-hover-border: var(--pico-contrast-hover-background);
  --pico-contrast-hover-underline: var(--pico-contrast-hover);
  --pico-contrast-focus: rgba(207, 213, 226, 0.25);
  --pico-contrast-inverse: #000;
  --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 9, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 9, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 9, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 9, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 9, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 9, 12, 0.06), 0 0 0 0.0625rem rgba(7, 9, 12, 0.015);
  --pico-h1-color: #f0f1f3;
  --pico-h2-color: #e0e3e7;
  --pico-h3-color: #c2c7d0;
  --pico-h4-color: #b3b9c5;
  --pico-h5-color: #a4acba;
  --pico-h6-color: #8891a4;
  --pico-mark-background-color: #014063;
  --pico-mark-color: #fff;
  --pico-ins-color: #62af9a;
  --pico-del-color: #ce7e7b;
  --pico-blockquote-border-color: var(--pico-muted-border-color);
  --pico-blockquote-footer-color: var(--pico-muted-color);
  --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-form-element-background-color: #1c212c;
  --pico-form-element-selected-background-color: #2a3140;
  --pico-form-element-border-color: #2a3140;
  --pico-form-element-color: #e0e3e7;
  --pico-form-element-placeholder-color: #8891a4;
  --pico-form-element-active-background-color: #1a1f28;
  --pico-form-element-active-border-color: var(--pico-primary-border);
  --pico-form-element-focus-color: var(--pico-primary-border);
  --pico-form-element-disabled-opacity: 0.5;
  --pico-form-element-invalid-border-color: #964a50;
  --pico-form-element-invalid-active-border-color: #b7403b;
  --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
  --pico-form-element-valid-border-color: #2a7b6f;
  --pico-form-element-valid-active-border-color: #16896a;
  --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
  --pico-switch-background-color: #333c4e;
  --pico-switch-checked-background-color: var(--pico-primary-background);
  --pico-switch-color: #fff;
  --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(150, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
  color-scheme: dark;
}
[data-theme=dark] input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]) {
  --pico-form-element-focus-color: var(--pico-primary-focus);
}

progress,
[type=checkbox],
[type=radio],
[type=range] {
  accent-color: var(--pico-primary);
}

/**
 * Document
 * Content-box & Responsive typography
 */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-repeat: no-repeat;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

:where(:root) {
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
  background-color: var(--pico-background-color);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  font-size: var(--pico-font-size);
  line-height: var(--pico-line-height);
  font-family: var(--pico-font-family);
  text-underline-offset: var(--pico-text-underline-offset);
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
  -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
}

/**
 * Landmarks
 */
body {
  width: 100%;
  margin: 0;
}

main {
  display: block;
}

body > header,
body > main,
body > footer {
  padding-block: var(--pico-block-spacing-vertical);
}

/**
 * Section
 */
section {
  margin-bottom: var(--pico-block-spacing-vertical);
}

/**
 * Container
 */
.container,
.container-fluid {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: var(--pico-spacing);
  padding-left: var(--pico-spacing);
}

@media (min-width: 576px) {
  .container {
    max-width: 510px;
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 700px;
  }
}
@media (min-width: 1024px) {
  .container {
    max-width: 800px;
  }
}
@media (min-width: 1280px) {
  .container {
    max-width: 1000px;
  }
}
@media (min-width: 1536px) {
  .container {
    max-width: 1100px;
  }
}

/**
 * Grid
 * Minimal grid system with auto-layout columns
 */
.grid {
  grid-column-gap: var(--pico-grid-column-gap);
  grid-row-gap: var(--pico-grid-row-gap);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .grid {
    grid-template-columns: repeat(auto-fit, minmax(0%, 1fr));
  }
}
.grid > * {
  min-width: 0;
}

/**
 * Typography
 */
b,
strong {
  font-weight: bolder;
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

address,
blockquote,
dl,
ol,
p,
pre,
table,
ul {
  margin-top: 0;
  margin-bottom: var(--pico-typography-spacing-vertical);
  color: var(--pico-color);
  font-style: normal;
  font-weight: var(--pico-font-weight);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: var(--pico-typography-spacing-vertical);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  font-size: var(--pico-font-size);
  line-height: var(--pico-line-height);
  font-family: var(--pico-font-family);
}

h1 {
  --pico-color: var(--pico-h1-color);
}

h2 {
  --pico-color: var(--pico-h2-color);
}

h3 {
  --pico-color: var(--pico-h3-color);
}

h4 {
  --pico-color: var(--pico-h4-color);
}

h5 {
  --pico-color: var(--pico-h5-color);
}

h6 {
  --pico-color: var(--pico-h6-color);
}

:where(article, address, blockquote, dl, figure, form, ol, p, pre, table, ul) ~ :is(h1, h2, h3, h4, h5, h6) {
  margin-top: var(--pico-typography-spacing-top);
}

p {
  margin-bottom: var(--pico-typography-spacing-vertical);
}

hgroup {
  margin-bottom: var(--pico-typography-spacing-vertical);
}
hgroup > * {
  margin-top: 0;
  margin-bottom: 0;
}
hgroup > *:not(:first-child):last-child {
  --pico-color: var(--pico-muted-color);
  --pico-font-weight: unset;
  font-size: 1rem;
}

:where(ol, ul) li {
  margin-bottom: calc(var(--pico-typography-spacing-vertical) * 0.25);
}

:where(dl, ol, ul) :where(dl, ol, ul) {
  margin: 0;
  margin-top: calc(var(--pico-typography-spacing-vertical) * 0.25);
}

ul li {
  list-style: square;
}

mark {
  padding: 0.125rem 0.25rem;
  background-color: var(--pico-mark-background-color);
  color: var(--pico-mark-color);
  vertical-align: baseline;
}

blockquote {
  display: block;
  margin: var(--pico-typography-spacing-vertical) 0;
  padding: var(--pico-spacing);
  border-right: none;
  border-left: 0.25rem solid var(--pico-blockquote-border-color);
  -webkit-border-start: 0.25rem solid var(--pico-blockquote-border-color);
          border-inline-start: 0.25rem solid var(--pico-blockquote-border-color);
  -webkit-border-end: none;
          border-inline-end: none;
}
blockquote footer {
  margin-top: calc(var(--pico-typography-spacing-vertical) * 0.5);
  color: var(--pico-blockquote-footer-color);
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none;
  cursor: help;
}

ins {
  color: var(--pico-ins-color);
  text-decoration: none;
}

del {
  color: var(--pico-del-color);
}

::-moz-selection {
  background-color: var(--pico-text-selection-color);
}

::selection {
  background-color: var(--pico-text-selection-color);
}

/**
 * Link
 */
:where(a:not([role=button])),
[role=link] {
  --pico-color: var(--pico-primary);
  --pico-background-color: transparent;
  --pico-underline: var(--pico-primary-underline);
  outline: none;
  background-color: var(--pico-background-color);
  color: var(--pico-color);
  -webkit-text-decoration: var(--pico-text-decoration);
          text-decoration: var(--pico-text-decoration);
  text-decoration-color: var(--pico-underline);
  text-underline-offset: 0.125em;
  -webkit-transition: background-color var(--pico-transition), color var(--pico-transition), -webkit-text-decoration var(--pico-transition), -webkit-box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), color var(--pico-transition), -webkit-text-decoration var(--pico-transition), -webkit-box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition), -webkit-text-decoration var(--pico-transition), -webkit-box-shadow var(--pico-transition);
}
:where(a:not([role=button])):is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-primary-hover);
  --pico-underline: var(--pico-primary-hover-underline);
  --pico-text-decoration: underline;
}
:where(a:not([role=button])):focus-visible,
[role=link]:focus-visible {
  -webkit-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
          box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
}
:where(a:not([role=button])).secondary,
[role=link].secondary {
  --pico-color: var(--pico-secondary);
  --pico-underline: var(--pico-secondary-underline);
}
:where(a:not([role=button])).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link].secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-secondary-hover);
  --pico-underline: var(--pico-secondary-hover-underline);
}
:where(a:not([role=button])).contrast,
[role=link].contrast {
  --pico-color: var(--pico-contrast);
  --pico-underline: var(--pico-contrast-underline);
}
:where(a:not([role=button])).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link].contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-contrast-hover);
  --pico-underline: var(--pico-contrast-hover-underline);
}

a[role=button] {
  display: inline-block;
}

/**
 * Button
 */
button {
  margin: 0;
  overflow: visible;
  font-family: inherit;
  text-transform: none;
}

button,
[type=submit],
[type=reset],
[type=button] {
  -webkit-appearance: button;
}

[type=file]::-webkit-file-upload-button {
  --pico-background-color: var(--pico-primary-background);
  --pico-border-color: var(--pico-primary-border);
  --pico-color: var(--pico-primary-inverse);
  --pico-box-shadow: var(--pico-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
  border: var(--pico-border-width) solid var(--pico-border-color);
  border-radius: var(--pico-border-radius);
  outline: none;
  background-color: var(--pico-background-color);
  -webkit-box-shadow: var(--pico-box-shadow);
          box-shadow: var(--pico-box-shadow);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  font-size: 1rem;
  line-height: var(--pico-line-height);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
  -webkit-transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), -webkit-box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), -webkit-box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition), -webkit-box-shadow var(--pico-transition);
}

button,
[type=submit],
[type=reset],
[type=button],
[type=file]::file-selector-button,
[role=button] {
  --pico-background-color: var(--pico-primary-background);
  --pico-border-color: var(--pico-primary-border);
  --pico-color: var(--pico-primary-inverse);
  --pico-box-shadow: var(--pico-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
  border: var(--pico-border-width) solid var(--pico-border-color);
  border-radius: var(--pico-border-radius);
  outline: none;
  background-color: var(--pico-background-color);
  -webkit-box-shadow: var(--pico-box-shadow);
          box-shadow: var(--pico-box-shadow);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  font-size: 1rem;
  line-height: var(--pico-line-height);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), -webkit-box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), -webkit-box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition), -webkit-box-shadow var(--pico-transition);
}
[type=file]::-webkit-file-upload-button:is([aria-current]:not([aria-current=false])), [type=file]::-webkit-file-upload-button:is(:hover, :active, :focus) {
  --pico-background-color: var(--pico-primary-hover-background);
  --pico-border-color: var(--pico-primary-hover-border);
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  --pico-color: var(--pico-primary-inverse);
}
button:is([aria-current]:not([aria-current=false])), button:is(:hover, :active, :focus),
[type=submit]:is([aria-current]:not([aria-current=false])),
[type=submit]:is(:hover, :active, :focus),
[type=reset]:is([aria-current]:not([aria-current=false])),
[type=reset]:is(:hover, :active, :focus),
[type=button]:is([aria-current]:not([aria-current=false])),
[type=button]:is(:hover, :active, :focus),
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])),
[type=file]::file-selector-button:is(:hover, :active, :focus),
[role=button]:is([aria-current]:not([aria-current=false])),
[role=button]:is(:hover, :active, :focus) {
  --pico-background-color: var(--pico-primary-hover-background);
  --pico-border-color: var(--pico-primary-hover-border);
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  --pico-color: var(--pico-primary-inverse);
}
[type=file]::-webkit-file-upload-button:focus, [type=file]::-webkit-file-upload-button:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
}
button:focus, button:is([aria-current]:not([aria-current=false])):focus,
[type=submit]:focus,
[type=submit]:is([aria-current]:not([aria-current=false])):focus,
[type=reset]:focus,
[type=reset]:is([aria-current]:not([aria-current=false])):focus,
[type=button]:focus,
[type=button]:is([aria-current]:not([aria-current=false])):focus,
[type=file]::file-selector-button:focus,
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus,
[role=button]:focus,
[role=button]:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
}

[type=submit],
[type=reset],
[type=button] {
  margin-bottom: var(--pico-spacing);
}

[type=file]::-webkit-file-upload-button {
  --pico-background-color: var(--pico-secondary-background);
  --pico-border-color: var(--pico-secondary-border);
  --pico-color: var(--pico-secondary-inverse);
  cursor: pointer;
}

:is(button, [type=submit], [type=button], [role=button]).secondary,
[type=reset],
[type=file]::file-selector-button {
  --pico-background-color: var(--pico-secondary-background);
  --pico-border-color: var(--pico-secondary-border);
  --pico-color: var(--pico-secondary-inverse);
  cursor: pointer;
}
[type=file]::-webkit-file-upload-button:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-background-color: var(--pico-secondary-hover-background);
  --pico-border-color: var(--pico-secondary-hover-border);
  --pico-color: var(--pico-secondary-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-background-color: var(--pico-secondary-hover-background);
  --pico-border-color: var(--pico-secondary-hover-border);
  --pico-color: var(--pico-secondary-inverse);
}
[type=file]::-webkit-file-upload-button:focus, [type=file]::-webkit-file-upload-button:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus);
}
:is(button, [type=submit], [type=button], [role=button]).secondary:focus, :is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false])):focus,
[type=reset]:focus,
[type=reset]:is([aria-current]:not([aria-current=false])):focus,
[type=file]::file-selector-button:focus,
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus);
}

:is(button, [type=submit], [type=button], [role=button]).contrast {
  --pico-background-color: var(--pico-contrast-background);
  --pico-border-color: var(--pico-contrast-border);
  --pico-color: var(--pico-contrast-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-background-color: var(--pico-contrast-hover-background);
  --pico-border-color: var(--pico-contrast-hover-border);
  --pico-color: var(--pico-contrast-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).contrast:focus, :is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-contrast-focus);
}

:is(button, [type=submit], [type=button], [role=button]).outline,
[type=reset].outline {
  --pico-background-color: transparent;
  --pico-color: var(--pico-primary);
  --pico-border-color: var(--pico-primary);
}
:is(button, [type=submit], [type=button], [role=button]).outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-background-color: transparent;
  --pico-color: var(--pico-primary-hover);
  --pico-border-color: var(--pico-primary-hover);
}

:is(button, [type=submit], [type=button], [role=button]).outline.secondary,
[type=reset].outline {
  --pico-color: var(--pico-secondary);
  --pico-border-color: var(--pico-secondary);
}
:is(button, [type=submit], [type=button], [role=button]).outline.secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-secondary-hover);
  --pico-border-color: var(--pico-secondary-hover);
}

:is(button, [type=submit], [type=button], [role=button]).outline.contrast {
  --pico-color: var(--pico-contrast);
  --pico-border-color: var(--pico-contrast);
}
:is(button, [type=submit], [type=button], [role=button]).outline.contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-contrast-hover);
  --pico-border-color: var(--pico-contrast-hover);
}

:where(button, [type=submit], [type=reset], [type=button], [role=button])[disabled],
:where(fieldset[disabled]) :is(button, [type=submit], [type=button], [type=reset], [role=button]) {
  opacity: 0.5;
  pointer-events: none;
}

/**
 * Figure
 */
figure {
  display: block;
  margin: 0;
  padding: 0;
}
figure figcaption {
  padding: calc(var(--pico-spacing) * 0.5) 0;
  color: var(--pico-muted-color);
}

/**
 * Miscs
 */
hr {
  height: 0;
  margin: var(--pico-typography-spacing-vertical) 0;
  border: 0;
  border-top: 1px solid var(--pico-muted-border-color);
  color: inherit;
}

[hidden],
template {
  display: none !important;
}

canvas {
  display: inline-block;
}

/**
 * Basics form elements
 */
input,
optgroup,
select,
textarea {
  margin: 0;
  font-size: 1rem;
  line-height: var(--pico-line-height);
  font-family: inherit;
  letter-spacing: inherit;
}

input {
  overflow: visible;
}

select {
  text-transform: none;
}

legend {
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  padding: 0;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

:-moz-focusring {
  outline: none;
}

:-moz-ui-invalid {
  box-shadow: none;
}

::-ms-expand {
  display: none;
}

[type=file],
[type=range] {
  padding: 0;
  border-width: 0;
}

input:not([type=checkbox], [type=radio], [type=range]) {
  height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);
}

fieldset {
  width: 100%;
  margin: 0;
  margin-bottom: var(--pico-spacing);
  padding: 0;
  border: 0;
}

label,
fieldset legend {
  display: block;
  margin-bottom: calc(var(--pico-spacing) * 0.375);
  color: var(--pico-color);
  font-weight: var(--pico-form-label-font-weight, var(--pico-font-weight));
}

fieldset legend {
  margin-bottom: calc(var(--pico-spacing) * 0.5);
}

input:not([type=checkbox], [type=radio]),
button[type=submit],
select,
textarea {
  width: 100%;
}

input:not([type=checkbox], [type=radio], [type=range], [type=file]),
select,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
}

input,
select,
textarea {
  --pico-background-color: var(--pico-form-element-background-color);
  --pico-border-color: var(--pico-form-element-border-color);
  --pico-color: var(--pico-form-element-color);
  --pico-box-shadow: none;
  border: var(--pico-border-width) solid var(--pico-border-color);
  border-radius: var(--pico-border-radius);
  outline: none;
  background-color: var(--pico-background-color);
  -webkit-box-shadow: var(--pico-box-shadow);
          box-shadow: var(--pico-box-shadow);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  -webkit-transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), -webkit-box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), -webkit-box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition), -webkit-box-shadow var(--pico-transition);
}

input:not([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[readonly]):is(:active, :focus),
:where(select, textarea):not([readonly]):is(:active, :focus) {
  --pico-background-color: var(--pico-form-element-active-background-color);
}

input:not([type=submit], [type=button], [type=reset], [role=switch], [readonly]):is(:active, :focus),
:where(select, textarea):not([readonly]):is(:active, :focus) {
  --pico-border-color: var(--pico-form-element-active-border-color);
}

input:not([type=submit],
[type=button],
[type=reset],
[type=range],
[type=file],
[readonly]):focus,
:where(select, textarea):not([readonly]):focus {
  --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color);
}

input:not([type=submit], [type=button], [type=reset])[disabled],
select[disabled],
textarea[disabled],
label[aria-disabled=true],
:where(fieldset[disabled]) :is(input:not([type=submit], [type=button], [type=reset]), select, textarea) {
  opacity: var(--pico-form-element-disabled-opacity);
  pointer-events: none;
}

label[aria-disabled=true] input[disabled] {
  opacity: 1;
}

:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid] {
  padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important;
  padding-left: var(--pico-form-element-spacing-horizontal);
  -webkit-padding-start: var(--pico-form-element-spacing-horizontal) !important;
          padding-inline-start: var(--pico-form-element-spacing-horizontal) !important;
  -webkit-padding-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important;
          padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important;
  background-position: center right 0.75rem;
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid=false]:not(select) {
  background-image: var(--pico-icon-valid);
}
:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid=true]:not(select) {
  background-image: var(--pico-icon-invalid);
}
:where(input, select, textarea)[aria-invalid=false] {
  --pico-border-color: var(--pico-form-element-valid-border-color);
}
:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus) {
  --pico-border-color: var(--pico-form-element-valid-active-border-color) !important;
}
:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus):not([type=checkbox], [type=radio]) {
  --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-valid-focus-color) !important;
}
:where(input, select, textarea)[aria-invalid=true] {
  --pico-border-color: var(--pico-form-element-invalid-border-color);
}
:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus) {
  --pico-border-color: var(--pico-form-element-invalid-active-border-color) !important;
}
:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus):not([type=checkbox], [type=radio]) {
  --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-invalid-focus-color) !important;
}

[dir=rtl] :where(input, select, textarea):not([type=checkbox], [type=radio]):is([aria-invalid], [aria-invalid=true], [aria-invalid=false]) {
  background-position: center left 0.75rem;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: var(--pico-form-element-placeholder-color);
  opacity: 1;
}

input::placeholder,
input::-webkit-input-placeholder,
textarea::placeholder,
textarea::-webkit-input-placeholder,
select:invalid {
  color: var(--pico-form-element-placeholder-color);
  opacity: 1;
}

input:not([type=checkbox], [type=radio]),
select,
textarea {
  margin-bottom: var(--pico-spacing);
}

select::-ms-expand {
  border: 0;
  background-color: transparent;
}
select:not([multiple], [size]) {
  padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);
  padding-left: var(--pico-form-element-spacing-horizontal);
  -webkit-padding-start: var(--pico-form-element-spacing-horizontal);
          padding-inline-start: var(--pico-form-element-spacing-horizontal);
  -webkit-padding-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);
          padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);
  background-image: var(--pico-icon-chevron);
  background-position: center right 0.75rem;
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
select[multiple] option:checked {
  background: var(--pico-form-element-selected-background-color);
  color: var(--pico-form-element-color);
}

[dir=rtl] select:not([multiple], [size]) {
  background-position: center left 0.75rem;
}

textarea {
  display: block;
  resize: vertical;
}
textarea[aria-invalid] {
  --pico-icon-height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);
  background-position: top right 0.75rem !important;
  background-size: 1rem var(--pico-icon-height) !important;
}

:where(input, select, textarea, fieldset, .grid) + small {
  display: block;
  width: 100%;
  margin-top: calc(var(--pico-spacing) * -0.75);
  margin-bottom: var(--pico-spacing);
  color: var(--pico-muted-color);
}
:where(input, select, textarea, fieldset, .grid)[aria-invalid=false] + small {
  color: var(--pico-ins-color);
}
:where(input, select, textarea, fieldset, .grid)[aria-invalid=true] + small {
  color: var(--pico-del-color);
}

label > :where(input, select, textarea) {
  margin-top: calc(var(--pico-spacing) * 0.25);
}

/**
 * Checkboxes, Radios and Switches
 */
label:has([type=checkbox], [type=radio]) {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  cursor: pointer;
}

[type=checkbox],
[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 1.25em;
  height: 1.25em;
  margin-top: -0.125em;
  -webkit-margin-end: 0.5em;
          margin-inline-end: 0.5em;
  border-width: var(--pico-border-width);
  vertical-align: middle;
  cursor: pointer;
}
[type=checkbox]::-ms-check,
[type=radio]::-ms-check {
  display: none;
}
[type=checkbox]:checked, [type=checkbox]:checked:active, [type=checkbox]:checked:focus,
[type=radio]:checked,
[type=radio]:checked:active,
[type=radio]:checked:focus {
  --pico-background-color: var(--pico-primary-background);
  --pico-border-color: var(--pico-primary-border);
  background-image: var(--pico-icon-checkbox);
  background-position: center;
  background-size: 0.75em auto;
  background-repeat: no-repeat;
}
[type=checkbox] ~ label,
[type=radio] ~ label {
  display: inline-block;
  margin-bottom: 0;
  cursor: pointer;
}
[type=checkbox] ~ label:not(:last-of-type),
[type=radio] ~ label:not(:last-of-type) {
  -webkit-margin-end: 1em;
          margin-inline-end: 1em;
}

[type=checkbox]:indeterminate {
  --pico-background-color: var(--pico-primary-background);
  --pico-border-color: var(--pico-primary-border);
  background-image: var(--pico-icon-minus);
  background-position: center;
  background-size: 0.75em auto;
  background-repeat: no-repeat;
}

[type=radio] {
  border-radius: 50%;
}
[type=radio]:checked, [type=radio]:checked:active, [type=radio]:checked:focus {
  --pico-background-color: var(--pico-primary-inverse);
  border-width: 0.35em;
  background-image: none;
}

[type=checkbox][role=switch] {
  --pico-background-color: var(--pico-switch-background-color);
  --pico-color: var(--pico-switch-color);
  width: 2.25em;
  height: 1.25em;
  border: var(--pico-border-width) solid var(--pico-border-color);
  border-radius: 1.25em;
  background-color: var(--pico-background-color);
  line-height: 1.25em;
}
[type=checkbox][role=switch]:not([aria-invalid]) {
  --pico-border-color: var(--pico-switch-background-color);
}
[type=checkbox][role=switch]:before {
  display: block;
  aspect-ratio: 1;
  height: 100%;
  border-radius: 50%;
  background-color: var(--pico-color);
  -webkit-box-shadow: var(--pico-switch-thumb-box-shadow);
          box-shadow: var(--pico-switch-thumb-box-shadow);
  content: "";
  -webkit-transition: margin 0.1s ease-in-out;
  transition: margin 0.1s ease-in-out;
}
[type=checkbox][role=switch]:focus {
  --pico-background-color: var(--pico-switch-background-color);
  --pico-border-color: var(--pico-switch-background-color);
}
[type=checkbox][role=switch]:checked {
  --pico-background-color: var(--pico-switch-checked-background-color);
  --pico-border-color: var(--pico-switch-checked-background-color);
  background-image: none;
}
[type=checkbox][role=switch]:checked::before {
  -webkit-margin-start: calc(2.25em - 1.25em);
          margin-inline-start: calc(2.25em - 1.25em);
}
[type=checkbox][role=switch][disabled] {
  --pico-background-color: var(--pico-border-color);
}

[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus,
[type=checkbox][role=switch][aria-invalid=false]:checked,
[type=checkbox][role=switch][aria-invalid=false]:checked:active,
[type=checkbox][role=switch][aria-invalid=false]:checked:focus {
  --pico-background-color: var(--pico-form-element-valid-border-color);
}
[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true],
[type=checkbox][role=switch]:checked[aria-invalid=true],
[type=checkbox][role=switch]:checked:active[aria-invalid=true],
[type=checkbox][role=switch]:checked:focus[aria-invalid=true] {
  --pico-background-color: var(--pico-form-element-invalid-border-color);
}

[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus,
[type=radio][aria-invalid=false]:checked,
[type=radio][aria-invalid=false]:checked:active,
[type=radio][aria-invalid=false]:checked:focus,
[type=checkbox][role=switch][aria-invalid=false]:checked,
[type=checkbox][role=switch][aria-invalid=false]:checked:active,
[type=checkbox][role=switch][aria-invalid=false]:checked:focus {
  --pico-border-color: var(--pico-form-element-valid-border-color);
}
[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true],
[type=radio]:checked[aria-invalid=true],
[type=radio]:checked:active[aria-invalid=true],
[type=radio]:checked:focus[aria-invalid=true],
[type=checkbox][role=switch]:checked[aria-invalid=true],
[type=checkbox][role=switch]:checked:active[aria-invalid=true],
[type=checkbox][role=switch]:checked:focus[aria-invalid=true] {
  --pico-border-color: var(--pico-form-element-invalid-border-color);
}

/**
 * Group ([role="group"], [role="search"])
 */
[role=search],
[role=group] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  width: 100%;
  margin-bottom: var(--pico-spacing);
  border-radius: var(--pico-border-radius);
  -webkit-box-shadow: var(--pico-group-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
          box-shadow: var(--pico-group-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  vertical-align: middle;
  -webkit-transition: -webkit-box-shadow var(--pico-transition);
  transition: -webkit-box-shadow var(--pico-transition);
  transition: box-shadow var(--pico-transition);
  transition: box-shadow var(--pico-transition), -webkit-box-shadow var(--pico-transition);
}
[role=search] > *,
[role=search] input:not([type=checkbox], [type=radio]),
[role=search] select,
[role=group] > *,
[role=group] input:not([type=checkbox], [type=radio]),
[role=group] select {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  margin-bottom: 0;
}
[role=search] > *:not(:first-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=search] select:not(:first-child),
[role=group] > *:not(:first-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=group] select:not(:first-child) {
  margin-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
[role=search] > *:not(:last-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:last-child),
[role=search] select:not(:last-child),
[role=group] > *:not(:last-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:last-child),
[role=group] select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
[role=search] > *:focus,
[role=search] input:not([type=checkbox], [type=radio]):focus,
[role=search] select:focus,
[role=group] > *:focus,
[role=group] input:not([type=checkbox], [type=radio]):focus,
[role=group] select:focus {
  z-index: 2;
}
[role=search] button:not(:first-child),
[role=search] [type=submit]:not(:first-child),
[role=search] [type=reset]:not(:first-child),
[role=search] [type=button]:not(:first-child),
[role=search] [role=button]:not(:first-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=search] select:not(:first-child),
[role=group] button:not(:first-child),
[role=group] [type=submit]:not(:first-child),
[role=group] [type=reset]:not(:first-child),
[role=group] [type=button]:not(:first-child),
[role=group] [role=button]:not(:first-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=group] select:not(:first-child) {
  margin-left: calc(var(--pico-border-width) * -1);
}
[role=search] button,
[role=search] [type=submit],
[role=search] [type=reset],
[role=search] [type=button],
[role=search] [role=button],
[role=group] button,
[role=group] [type=submit],
[role=group] [type=reset],
[role=group] [type=button],
[role=group] [role=button] {
  width: auto;
}
@supports selector(:has(*)) {
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus),
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) {
    --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-button);
  }
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]),
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select,
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]),
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select {
    border-color: transparent;
  }
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus),
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) {
    --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-input);
  }
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) button,
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit],
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button],
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) button,
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button] {
    --pico-button-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-border);
    --pico-button-hover-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-hover-border);
  }
  [role=search] button:focus,
  [role=search] [type=submit]:focus,
  [role=search] [type=reset]:focus,
  [role=search] [type=button]:focus,
  [role=search] [role=button]:focus,
  [role=group] button:focus,
  [role=group] [type=submit]:focus,
  [role=group] [type=reset]:focus,
  [role=group] [type=button]:focus,
  [role=group] [role=button]:focus {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

[role=search] > *:first-child {
  border-top-left-radius: 5rem;
  border-bottom-left-radius: 5rem;
}
[role=search] > *:last-child {
  border-top-right-radius: 5rem;
  border-bottom-right-radius: 5rem;
}

/**
 * Nav
 */
:where(nav li)::before {
  float: left;
  content: "​";
}

nav,
nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

nav {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: visible;
}
nav ol,
nav ul {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}
nav ol:first-of-type,
nav ul:first-of-type {
  margin-left: calc(var(--pico-nav-element-spacing-horizontal) * -1);
}
nav ol:last-of-type,
nav ul:last-of-type {
  margin-right: calc(var(--pico-nav-element-spacing-horizontal) * -1);
}
nav li {
  display: inline-block;
  margin: 0;
  padding: var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal);
}
nav li :where(a, [role=link]) {
  display: inline-block;
  margin: calc(var(--pico-nav-link-spacing-vertical) * -1) calc(var(--pico-nav-link-spacing-horizontal) * -1);
  padding: var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);
  border-radius: var(--pico-border-radius);
}
nav li :where(a, [role=link]):not(:hover) {
  text-decoration: none;
}
nav li button,
nav li [role=button],
nav li [type=button],
nav li input:not([type=checkbox], [type=radio], [type=range], [type=file]),
nav li select {
  height: auto;
  margin-right: inherit;
  margin-bottom: 0;
  margin-left: inherit;
  padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal);
}
nav[aria-label=breadcrumb] {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
nav[aria-label=breadcrumb] ul li:not(:first-child) {
  -webkit-margin-start: var(--pico-nav-link-spacing-horizontal);
          margin-inline-start: var(--pico-nav-link-spacing-horizontal);
}
nav[aria-label=breadcrumb] ul li a {
  margin: calc(var(--pico-nav-link-spacing-vertical) * -1) 0;
  -webkit-margin-start: calc(var(--pico-nav-link-spacing-horizontal) * -1);
          margin-inline-start: calc(var(--pico-nav-link-spacing-horizontal) * -1);
}
nav[aria-label=breadcrumb] ul li:not(:last-child)::after {
  display: inline-block;
  position: absolute;
  width: calc(var(--pico-nav-link-spacing-horizontal) * 4);
  margin: 0 calc(var(--pico-nav-link-spacing-horizontal) * -1);
  content: var(--pico-nav-breadcrumb-divider);
  color: var(--pico-muted-color);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]) {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}

aside nav,
aside ol,
aside ul,
aside li {
  display: block;
}
aside li {
  padding: calc(var(--pico-nav-element-spacing-vertical) * 0.5) var(--pico-nav-element-spacing-horizontal);
}
aside li a {
  display: block;
}
aside li [role=button] {
  margin: inherit;
}

[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after {
  content: "\\";
}

/**
 * Accessibility & User interaction
 */
[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
}

[dir=rtl] {
  direction: rtl;
}

/**
 * Reduce Motion Features
 */
@media (prefers-reduced-motion: reduce) {
  *:not([aria-busy=true]),
  :not([aria-busy=true])::before,
  :not([aria-busy=true])::after {
    background-attachment: initial !important;
    -webkit-animation-duration: 1ms !important;
            animation-duration: 1ms !important;
    -webkit-animation-delay: -1ms !important;
            animation-delay: -1ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    -webkit-transition-delay: 0s !important;
            transition-delay: 0s !important;
    -webkit-transition-duration: 0s !important;
            transition-duration: 0s !important;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(3rem);
            transform: translateY(3rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(3rem);
            transform: translateY(3rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-3rem);
            transform: translateY(-3rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-3rem);
            transform: translateY(-3rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-3rem);
            transform: translateX(-3rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-3rem);
            transform: translateX(-3rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(3rem);
            transform: translateX(3rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(3rem);
            transform: translateX(3rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
:root {
  --animations-time: 1s;
}

.animate {
  opacity: 0;
}

.animating {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: var(--animations-time);
          animation-duration: var(--animations-time);
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}
.animating.fadeIn {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}
.animating.fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
}
.animating.fadeInUp {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
}
.animating.fadeInDown {
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown;
}
.animating.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft;
}
.animating.fadeInRight {
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
}

.animated {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: calc(var(--animations-time) / 2);
          animation-duration: calc(var(--animations-time) / 2);
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
}

@media (prefers-reduced-motion: reduce) {
  .animate {
    opacity: 1;
  }
  .animating {
    -webkit-animation: none;
            animation: none;
  }
  .animated {
    -webkit-animation: none;
            animation: none;
  }
}
body.loading-animation {
  position: relative;
}
body.loading-animation > * {
  opacity: 0;
}
body.loading-animation::before {
  content: "" !important;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 555555;
  display: block;
}
body.loading-animation::after {
  content: "";
  position: fixed;
  z-index: 999999;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 2px solid #ccc;
  border-top-color: #000;
  -webkit-animation: loadingspin 1s linear infinite;
          animation: loadingspin 1s linear infinite;
}

@-webkit-keyframes loadingspin {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes loadingspin {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
div.kacheln {
  padding-block: var(--pico-spacing);
  margin-bottom: calc(var(--pico-spacing) * -1);
}
div.kacheln a {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 90%;
  color: inherit;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
div.kacheln a > img {
  max-width: none;
  max-height: none;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition: -webkit-transform 1s;
  transition: -webkit-transform 1s;
  transition: transform 1s;
  transition: transform 1s, -webkit-transform 1s;
}
div.kacheln a:hover, div.kacheln a:focus {
  color: var(--pico-primary);
}
div.kacheln a:has(img) {
  overflow: hidden;
  width: calc(100% + var(--pico-spacing));
  position: relative;
  top: calc(var(--pico-spacing) * -1 / 2);
  left: calc(var(--pico-spacing) * -1 / 2);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}
div.kacheln a:has(img):hover img, div.kacheln a:has(img):focus img {
  -webkit-transform: scale(1);
          transform: scale(1);
}
div.kacheln .svg {
  width: 1em;
}
div.kacheln .svg svg {
  width: 100%;
  height: 100%;
}
div.kacheln .svg svg * {
  stroke: currentColor;
  stroke-width: 3px;
}
div.kacheln > article {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-shadow: var(--custom-box-shadow);
          box-shadow: var(--custom-box-shadow);
  padding: calc(var(--pico-spacing) / 2);
  text-align: center;
}
div.kacheln > article p {
  font-size: 90%;
}
div.kacheln > article > *:last-child {
  margin-bottom: 0;
  margin-top: auto;
}

.c2a {
  background-color: var(--pico-secondary);
  padding: var(--pico-spacing);
  color: white;
  font-size: 120%;
  margin-bottom: 0;
}
.c2a * {
  color: white;
  font-weight: var(--custom-font-weight-bold);
}
.c2a .svg {
  border: 1px solid white;
  padding: 0.5rem;
  border-radius: 50%;
}
.c2a .contacts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 768px) {
  .c2a .contacts {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.contacts > * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.contacts img,
.contacts svg {
  width: 1.4em;
  height: 1.4em;
}
.contacts .svg {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#about_1 {
  text-align: center;
}
#about_1 article {
  padding: var(--pico-spacing);
  background-color: var(--custom-background-color);
}
#about_1 article > img {
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 1rem;
}
#about_1 article .contacts > * {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: inherit;
}
#about_1 article ul {
  list-style: none;
  padding: 0;
}
#about_1 article ul li {
  margin: 0;
  list-style: none;
}

#about_2 {
  background-color: var(--custom-background-color);
  padding: var(--pico-spacing);
}

#leistungen_liste hgroup {
  padding-top: var(--pico-spacing);
  margin: 0;
}
#leistungen_liste img {
  aspect-ratio: 16/10;
  -o-object-fit: cover;
     object-fit: cover;
}
#leistungen_liste .grid {
  grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
}

body#leistungen #leistungen_liste {
  margin-block: 0;
  padding-block: var(--pico-spacing);
}
body#leistungen #leistungen_liste article {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr var(--pico-spacing) 1fr;
  grid-template-columns: 1fr 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--pico-spacing);
}
@media (max-width: 767px) {
  body#leistungen #leistungen_liste article {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
body#leistungen #leistungen_liste article h2,
body#leistungen #leistungen_liste article h3 {
  font-weight: 600;
  text-transform: none;
}
body#leistungen #leistungen_liste article:not(:last-child) {
  margin-bottom: var(--pico-spacing);
}
body#leistungen #leistungen_liste article > div {
  background-color: white;
  padding: calc(var(--pico-spacing) / 2);
}
@media (min-width: 768px) {
  body#leistungen #leistungen_liste article:nth-child(even) img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

#leistungen_2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--pico-spacing);
}
#leistungen_2 article {
  display: -ms-grid;
  display: grid;
  gap: calc(var(--pico-spacing) / 2);
  row-gap: var(--pico-spacing);
  -ms-grid-rows: 0 var(--pico-spacing) auto var(--pico-spacing) auto var(--pico-spacing) 0;
  grid-template-rows: 0 auto auto 0;
  -ms-grid-columns: 1rem calc(var(--pico-spacing) / 2) auto calc(var(--pico-spacing) / 2) 1rem;
  grid-template-columns: 1rem auto 1rem;
  -webkit-box-shadow: var(--custom-box-shadow);
          box-shadow: var(--custom-box-shadow);
  border-radius: var(--border-radius);
}
#leistungen_2 article > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
#leistungen_2 article > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
#leistungen_2 article > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}
#leistungen_2 article > *:nth-child(4) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
#leistungen_2 article > *:nth-child(5) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}
#leistungen_2 article > *:nth-child(6) {
  -ms-grid-row: 3;
  -ms-grid-column: 5;
}
#leistungen_2 article > *:nth-child(7) {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
}
#leistungen_2 article > *:nth-child(8) {
  -ms-grid-row: 5;
  -ms-grid-column: 3;
}
#leistungen_2 article > *:nth-child(9) {
  -ms-grid-row: 5;
  -ms-grid-column: 5;
}
#leistungen_2 article > *:nth-child(10) {
  -ms-grid-row: 7;
  -ms-grid-column: 1;
}
#leistungen_2 article > *:nth-child(11) {
  -ms-grid-row: 7;
  -ms-grid-column: 3;
}
#leistungen_2 article > *:nth-child(12) {
  -ms-grid-row: 7;
  -ms-grid-column: 5;
}
@media (min-width: 768px) {
  #leistungen_2 article {
    -ms-grid-columns: 0 1fr 1fr 0;
    grid-template-columns: 0 1fr 1fr 0;
    -ms-grid-rows: 0 auto 0;
    grid-template-rows: 0 auto 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #leistungen_2 article > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  #leistungen_2 article > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  #leistungen_2 article > *:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  #leistungen_2 article > *:nth-child(4) {
    -ms-grid-row: 1;
    -ms-grid-column: 4;
  }
  #leistungen_2 article > *:nth-child(5) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  #leistungen_2 article > *:nth-child(6) {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  #leistungen_2 article > *:nth-child(7) {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  #leistungen_2 article > *:nth-child(8) {
    -ms-grid-row: 2;
    -ms-grid-column: 4;
  }
  #leistungen_2 article > *:nth-child(9) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  #leistungen_2 article > *:nth-child(10) {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
  }
  #leistungen_2 article > *:nth-child(11) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  #leistungen_2 article > *:nth-child(12) {
    -ms-grid-row: 3;
    -ms-grid-column: 4;
  }
}
@media (min-width: 1280px) {
  #leistungen_2 article {
    -ms-grid-columns: 0 1fr 2fr 0;
    grid-template-columns: 0 1fr 2fr 0;
  }
}
#leistungen_2 article img {
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-column: 1/span 3;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1/span 2;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 768px) {
  #leistungen_2 article img {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/span 2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    grid-row: 1/span 3;
  }
}
#leistungen_2 article > * {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 3;
  grid-row: 3;
}
@media (min-width: 768px) {
  #leistungen_2 article > * {
    -ms-grid-column: 3;
    grid-column: 3;
    -ms-grid-row: 2;
    grid-row: 2;
  }
}

.boxed {
  border-radius: var(--border-radius);
  background-color: white;
  padding: calc(var(--pico-spacing) / 2);
}
.boxed > hgroup {
  text-align: left !important;
}
.boxed > hgroup::after {
  content: none !important;
}
.boxed.secondary {
  background-color: var(--custom-background-color);
}
.boxed + .boxed {
  margin-top: var(--pico-spacing);
}

#usps {
  margin-top: calc(var(--pico-spacing) * -1);
  background-color: var(--pico-secondary);
  padding: 1rem 0;
}
#usps ul {
  color: white;
  margin: 0 auto;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
}
@media (max-width: 767px) {
  #usps ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#usps ul li {
  list-style: none;
  font-weight: var(--custom-font-weight-bold);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3em;
}
#usps ul li svg * {
  stroke-width: 2.2px;
}

#hero {
  margin-top: calc(var(--pico-spacing) * -1);
  background-size: cover;
  background-position: center;
}
#hero *:not(button) {
  color: white;
}
#hero hgroup {
  margin-bottom: calc(var(--custom-heading-spacing) * 2);
}
#hero .grid {
  gap: calc(var(--pico-spacing) * 2);
}
@media (min-width: 768px) {
  #hero .grid {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--pico-spacing);
  }
}
#hero > :not(.splide) {
  position: relative;
  text-align: center;
  min-height: 300px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#hero > :not(.splide) hgroup {
  margin-bottom: 0;
}
#hero > :not(.splide)::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(10, 24, 40, 0.7);
}
#hero > :not(.splide) > * {
  position: relative;
  z-index: 1;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
#hero .splide {
  height: 100%;
}
#hero .splide .splide__list,
#hero .splide .splide__track,
#hero .splide .splide__slide {
  height: 100%;
}
#hero .splide .splide__arrow svg {
  fill: white;
}
#hero .splide .splide__slide {
  background-size: cover;
  background-position: center;
  text-align: center;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-block: var(--pico-spacing);
}
#hero .splide .splide__slide:not(.is-visible) * {
  -webkit-animation: none;
          animation: none;
}
#hero .splide .splide__slide::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(10, 24, 40, 0.7);
}
#hero .splide .splide__slide > * {
  position: relative;
  z-index: 1;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}

.formulare {
  margin-bottom: 0;
  padding-block: var(--pico-spacing);
  background-color: var(--custom-background-color);
  background-position: center;
  background-size: cover;
  position: relative;
}
.formulare[style]::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(10, 24, 40, 0.7);
  z-index: 0;
}
.formulare[style] > * {
  z-index: 1;
  position: relative;
}
.formulare[style] h2,
.formulare[style] h3,
.formulare[style] p {
  color: white;
}
.formulare[style] a {
  color: white;
  text-decoration: underline;
}
.formulare hgroup {
  text-align: left;
}
.formulare hgroup * {
  text-align: left;
}
.formulare hgroup::after {
  content: none !important;
}
.formulare form button {
  display: block;
  width: 100%;
}
.formulare .contacts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 1.5rem;
}
.formulare .contacts .svg {
  font-size: 1.5rem;
  background-color: var(--pico-primary);
  padding: 0.5em;
}
.formulare .contacts .svg svg * {
  stroke: white;
}
.formulare .contacts > div {
  gap: 1.5rem;
}
.formulare .contacts > div > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.formulare .contacts > div > div * {
  margin: 0;
  line-height: 1.3em;
}
.formulare#kontaktformular .errors {
  padding: 1rem;
  background-color: #f8d7da;
}
.formulare#kontaktformular .success {
  padding: 1rem;
  background-color: #d4edda;
}

@media (min-width: 768px) {
  #mainheader:not(.mobilefirst) + .hamburger {
    display: none;
  }
}

button.hamburger {
  position: fixed;
  z-index: 1000;
  right: 1rem;
  top: 1rem;
  display: block;
  width: 5rem;
  height: 5rem;
  padding: 1.2rem;
  border: none;
  margin: auto;
  opacity: 1;
  background: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
button.hamburger.hide {
  opacity: 0;
  pointer-events: none;
}
button.hamburger:focus, button.hamburger:hover, button.hamburger:active {
  outline: none;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
button.hamburger .hamburger_menu,
button.hamburger .hamburger_menu::before,
button.hamburger .hamburger_menu::after {
  content: "";
  position: relative;
  left: 0;
  display: block;
  width: 80%;
  height: 4px;
  background-color: var(--pico-primary);
  border-radius: 5px;
  pointer-events: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
button.hamburger .hamburger_menu::before {
  position: absolute;
  top: -400%;
  width: 125%;
}
button.hamburger .hamburger_menu::after {
  position: absolute;
  top: 400%;
  width: 75%;
}

.hamburger[aria-expanded=true] .hamburger_menu {
  background: transparent;
  left: 100px;
  width: 100%;
}
.hamburger[aria-expanded=true] .hamburger_menu::before, .hamburger[aria-expanded=true] .hamburger_menu::after {
  top: 0;
  width: 100%;
  left: -100px;
}
.hamburger[aria-expanded=true] .hamburger_menu::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.hamburger[aria-expanded=true] .hamburger_menu::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media (min-width: 768px) {
  .topbar {
    height: var(--topbar-height);
  }
}
@media (max-width: 767px) {
  body:has(#mainheader.normalheader) header {
    padding-bottom: var(--nav-height);
  }
}
body > header {
  background-color: var(--pico-background-color);
  -webkit-box-shadow: var(--custom-box-shadow);
          box-shadow: var(--custom-box-shadow);
  position: absolute;
  z-index: 100;
  bottom: 0;
  width: 100%;
  padding-block: 0;
}
@media (min-width: 768px) {
  body > header {
    top: 0;
    bottom: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
body > header .brand {
  color: black;
  font-weight: 700;
  padding-block: 1rem;
  margin: 0;
}
body > header .brand a, body > header .brand a:hover, body > header .brand a:focus {
  text-decoration: none;
  color: hsl(203, 78%, 44%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 1rem;
  font-style: italic;
}
body > header .brand a span, body > header .brand a:hover span, body > header .brand a:focus span {
  font-size: 90%;
}
@media (max-width: 767px) {
  body > header .brand a span, body > header .brand a:hover span, body > header .brand a:focus span {
    display: none;
  }
}
body > header .brand img {
  width: 150px;
}
@media (max-width: 767px) {
  body > header .brand {
    padding-block: 0;
  }
}

nav {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2fr var(--pico-spacing) 1fr var(--pico-spacing) auto;
  grid-template-columns: 2fr 1fr auto;
  gap: var(--pico-spacing);
}
@media (max-width: 767px) {
  nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
nav ul {
  margin: 0;
  padding: 0;
}
nav ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav ul li * {
  letter-spacing: -0.02em;
}
nav ul:not(.brand) {
  color: var(--pico-color);
  gap: clamp(0.5rem, 4vw, 2rem);
}
nav ul:not(.brand).icons {
  gap: 0.5rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media (max-width: 767px) {
  nav ul:not(.brand) {
    margin: 0 !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 1rem;
  }
}
nav ul:not(.brand) * {
  color: inherit;
}
nav ul:not(.brand) li {
  position: relative;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: inherit;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-family: var(--custom-font-family-headings);
}
@media (max-width: 767px) {
  nav ul:not(.brand) li {
    padding: 0;
    font-size: 140%;
  }
}
nav ul:not(.brand) li a {
  white-space: nowrap;
  color: #666;
}
nav ul:not(.brand) li a:hover, nav ul:not(.brand) li a:focus {
  text-decoration: none;
}
nav ul:not(.brand) li::before {
  content: "";
  width: 0;
  height: 3px;
  background-color: var(--pico-primary);
  display: block;
  opacity: 1;
  -webkit-transition: width 0.3s, height 0.3s;
  transition: width 0.3s, height 0.3s;
  position: absolute;
  top: 0;
}
@media (max-width: 767px) {
  nav ul:not(.brand) li::before {
    width: 3px;
    height: 0;
    top: 5%;
    left: -1rem;
  }
}
@media (min-width: 768px) {
  nav ul:not(.brand) li.active::before, nav ul:not(.brand) li:hover::before {
    width: 100%;
  }
}
@media (max-width: 767px) {
  nav ul:not(.brand) li.active::before, nav ul:not(.brand) li:hover::before {
    height: 90%;
  }
}

:root {
  --nav-height: 120px;
  --topbar-height: 0px;
}

#mainheader {
  --pico-block-spacing-vertical: 0;
  position: relative;
}
#mainheader .nav-wrapper {
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#mainheader .nav-wrapper .contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  opacity: 0.7;
}
#mainheader .nav-wrapper .contact:hover {
  opacity: 1;
}
#mainheader.fixedheader {
  position: sticky;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  left: 0;
  top: calc(var(--topbar-height) * -1);
  -webkit-transform: none;
          transform: none;
}
@media (min-width: 768px) {
  #mainheader.fixedheader .nav-wrapper {
    height: var(--nav-height);
  }
}
@media (max-width: 767px) {
  #mainheader.fixedheader:not(.nav-show) nav > *:not(.brand) {
    display: none;
  }
}
#mainheader.mobilefirst {
  position: absolute;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  font-size: 120%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#mainheader.mobilefirst #mainnav ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
#mainheader.mobilefirst .nav-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
#mainheader.mobilefirst.nav-show {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: fixed !important;
  top: 0 !important;
  right: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}
#mainheader.mobilefirst.nav-show .nav-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  background-color: white;
}
#mainheader.mobilefirst.nav-show #mainnav ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
#mainheader.normalheader {
  position: relative;
}
@media (max-width: 767px) {
  #mainheader.normalheader {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #mainheader.normalheader .nav-wrapper {
    position: absolute;
    width: 100%;
  }
  #mainheader.normalheader:not(.nav-show) nav > *:not(.brand) {
    display: none;
  }
  #mainheader.normalheader:not(.nav-show) .nav-wrapper {
    left: 0;
  }
}
@media (max-width: 767px) {
  #mainheader.nav-show {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: fixed !important;
    top: 0 !important;
    right: 0;
    z-index: 999;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
  }
  #mainheader.nav-show .nav-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    background-color: white;
  }
  #mainheader.nav-show #mainnav ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
  }
}
#mainheader .icons svg {
  width: 1.5em;
  height: 1.5em;
}
#mainheader .icons svg * {
  fill: hsl(203, 78%, 44%);
}

.skip-to-content {
  position: absolute;
  bottom: 100%;
  left: 0;
  background: #000;
  color: #fff;
  padding: 8px;
  z-index: 100;
}

.skip-to-content:focus, .skip-to-content:hover {
  top: 0;
  bottom: auto;
}

#back-to-top {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 1000;
  background-color: var(--pico-primary);
  color: white;
  padding: 0.2rem;
  font-size: 1.5rem;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  width: 2.4rem;
  height: auto;
  aspect-ratio: 1/1;
  display: none;
  place-items: center;
  place-content: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid var(--pico-primary);
}
#back-to-top * {
  color: inherit;
  display: block;
}
#back-to-top:hover {
  margin-bottom: 0.5rem;
  background-color: transparent;
}
#back-to-top:hover .svg svg * {
  stroke: var(--pico-primary);
}
#back-to-top:hover::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 0.5rem);
}
#back-to-top .svg {
  width: 100%;
  height: 100%;
}
#back-to-top .svg svg {
  width: 100%;
  height: 100%;
}
#back-to-top .svg svg * {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  stroke: white;
}

body footer {
  background-size: cover;
  width: 100%;
  font-size: 90%;
  position: relative;
}
body footer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(9, 18, 39, 0.7);
  z-index: 0;
}
body footer * {
  color: white;
}
body footer em {
  color: hsl(138, 59%, 36%);
  font-style: normal;
  font-weight: bold;
}
body footer > .container {
  padding-top: 2rem;
  z-index: 1;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--pico-spacing);
}
@media (min-width: 768px) {
  body footer > .container {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media (max-width: 767px) {
  body footer > .container img {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
body footer .logo {
  display: block;
  margin-bottom: 1.5rem;
}
body footer .logo svg {
  width: 150px;
}
body footer .logo svg #Gebäudereinigung *,
body footer .logo svg #Nemitz * {
  fill: white !important;
}
body footer nav {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  padding: 0;
}
body footer nav .svg {
  height: 1em;
  width: 1em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
body footer nav .svg * {
  stroke-width: 2.2px;
  stroke: white;
}

form {
  --pico-spacing: 1rem;
}
form [tabindex="-1"] {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0;
  border: 0;
  height: 1px;
  width: 1px;
  overflow: hidden;
  white-space: nowrap;
}
form .error {
  border: 2px solid rgb(210, 11, 11);
}
form input,
form select,
form textarea {
  border-radius: 0;
}
form label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
form label > :where(input, select, textarea) {
  margin-top: 0;
}
form label:has([type=checkbox], [type=radio]) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: var(--pico-spacing);
}
form textarea {
  display: inline-block;
}
form [type=submit] {
  margin-top: 0;
  font-size: 1rem;
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
}

.errors {
  color: rgb(210, 11, 11);
  font-size: 0.8rem;
  margin-bottom: var(--pico-spacing);
}

.success {
  color: rgb(0, 100, 0);
  font-size: 0.8rem;
  margin-bottom: var(--pico-spacing);
}

[data-theme=light],
:root:not([data-theme=dark]) {
  --pico-border-radius: 3px;
  --pico-spacing: clamp(1.5rem, 4vw, 4rem);
  --pico-grid-column-gap: clamp(1rem, 2vw, 2rem);
  font-size: 100%;
  --pico-color: #666;
  --pico-primary: hsl(203, 78%, 44%);
  --pico-primary-inverse: white;
  --pico-primary-background: hsl(203, 78%, 44%);
  --pico-primary-underline: hsl(211, 71%, 20%);
  --pico-primary-hover-background: white;
  --pico-secondary: hsl(142, 59%, 30%);
  --pico-secondary-background: hsl(142, 59%, 25%);
  --pico-secondary-underline: hsl(142, 59%, 25%);
  --pico-secondary-hover-background: hsl(142, 59%, 10%);
  --pico-background-color: white;
  --custom-background-color: #f6f6f6;
  --pico-h1-color: #444;
  --pico-h2-color: #444;
  --pico-h3-color: #444;
  --pico-h4-color: #444;
  --pico-h5-color: #444;
  --pico-font-family-sans-serif: "Open Sans", system-ui, "Segoe UI", Oxygen,
  	Ubuntu, Cantarell, Helvetica, Arial, "Helvetica Neue", sans-serif,
  	var(--pico-font-family-emoji);
  --custom-font-family-headings: "Montserrat", Arial, serif;
  --custom-font-weight-bold: 700;
  --custom-heading-spacing: 1rem;
  --custom-box-shadow: 0 0 1.2rem rgba(0, 0, 0, 0.09);
}

html {
  scroll-behavior: smooth;
}

body.modal-open {
  overflow: hidden;
}

a {
  text-decoration: none;
}
a:has(.svg) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3em;
}
a:hover, a:focus {
  text-decoration: underline;
}

button,
[type=submit],
[type=reset],
[type=button],
[type=file] [role=button] {
  --pico-color: white;
  --pico-border-radius: 0;
  padding: 0.5rem 1rem;
  font-size: 90%;
  border-radius: var(--pico-border-radius);
  font-weight: var(--custom-font-weight-bold);
  letter-spacing: -0.02em;
  text-transform: uppercase;
}
button:hover, button:focus,
[type=submit]:hover,
[type=submit]:focus,
[type=reset]:hover,
[type=reset]:focus,
[type=button]:hover,
[type=button]:focus,
[type=file] [role=button]:hover,
[type=file] [role=button]:focus {
  color: var(--pico-primary);
}
button:focus,
[type=submit]:focus,
[type=reset]:focus,
[type=button]:focus,
[type=file] [role=button]:focus {
  --pico-box-shadow: none;
}
button.secondary,
[type=submit].secondary,
[type=reset].secondary,
[type=button].secondary,
[type=file] [role=button].secondary {
  background: white;
  color: var(--pico-primary);
  border-color: white;
}
button.secondary:hover, button.secondary:focus,
[type=submit].secondary:hover,
[type=submit].secondary:focus,
[type=reset].secondary:hover,
[type=reset].secondary:focus,
[type=button].secondary:hover,
[type=button].secondary:focus,
[type=file] [role=button].secondary:hover,
[type=file] [role=button].secondary:focus {
  background-color: var(--pico-primary);
  color: white;
  border-color: var(--pico-primary);
}
button.tertiary,
[type=submit].tertiary,
[type=reset].tertiary,
[type=button].tertiary,
[type=file] [role=button].tertiary {
  background: white;
  color: var(--pico-secondary);
  border-color: white;
}
button.tertiary:hover, button.tertiary:focus,
[type=submit].tertiary:hover,
[type=submit].tertiary:focus,
[type=reset].tertiary:hover,
[type=reset].tertiary:focus,
[type=button].tertiary:hover,
[type=button].tertiary:focus,
[type=file] [role=button].tertiary:hover,
[type=file] [role=button].tertiary:focus {
  background-color: var(--pico-secondary);
  color: white;
  border-color: white;
}

body :where(nav li)::before {
  height: 0;
}
body > main {
  padding-bottom: 0;
}
body > footer {
  padding-top: 0;
}
body h1 {
  font-size: 1.9rem;
}
body h2 {
  font-size: 1.5rem;
}
body h3 {
  font-size: 1.2rem;
}
body h4 {
  font-size: 1.1rem;
}
body h5 {
  font-size: 1rem;
}
body h1,
body h2,
body h3 {
  text-transform: uppercase;
}
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  letter-spacing: -0.02em;
  --pico-font-family: var(--custom-font-family-headings);
}
body h1 > strong,
body h1 > a,
body h2 > strong,
body h2 > a,
body h3 > strong,
body h3 > a,
body h4 > strong,
body h4 > a,
body h5 > strong,
body h5 > a,
body h6 > strong,
body h6 > a {
  font-weight: 900 !important;
  color: var(--pico-primary);
}
body a:has(> button) {
  margin-right: 1rem;
}
body hgroup > h1,
body hgroup > h2,
body hgroup > h3,
body hgroup > h4,
body hgroup > h5,
body hgroup > h6 {
  margin-bottom: var(--custom-heading-spacing);
}
body hgroup > *:not(:first-child):last-child {
  --pico-color: var(--pico-color);
}
body img {
  max-width: 100%;
}
body dialog {
  overflow: hidden;
  border-radius: var(--pico-border-radius);
  height: auto;
}
body dialog > div.container {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  max-height: 100%;
  overflow: auto;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  padding: var(--pico-spacing);
}
body dialog > div.container header button {
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 0 0 0 var(--pico-border-radius);
}
body section:not(#hero) hgroup:first-child {
  text-align: center;
}
body section:not(#hero) hgroup:first-child::after {
  content: "";
  display: block;
  width: 3rem;
  height: 2px;
  background-color: var(--pico-primary);
  margin: calc(var(--pico-spacing) / 2) auto 0 auto;
}
body img {
  border-radius: var(--pico-border-radius);
}
body p:last-child {
  margin-bottom: 0;
}

.svg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.svg svg * {
  stroke-width: 1.5px;
}

.grid {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.grid--2-1 > *:first-child {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/span 2;
}
.grid--1-2 > *:last-child {
  -ms-grid-column: 2;
  -ms-grid-column-span: 2;
  grid-column: 2/span 2;
}

.centered {
  place-content: center;
  place-items: center;
}

a[target=_blank][rel="noopener noreferrer"]::after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-image: url("/images/icons/external-link.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 0.2em;
}