/*! cns-global.css — generated 2026-04-21T10:41:36 Europe/Berlin — do not edit; run: npm run build:css */

/* === assets/css/base/cns_bootstrap.css === */
/**
 * @file
 * Carnival Network Social — Bootstrap-Funktionalität als cns-* (Markup nur cns-* verwenden).
 *
 * Zuordnung (Auszug, erweitern bei Bedarf):
 * .container          → .cns-c20
 * .container-sm       → .cns-c21
 * .container-fluid   → .cns-c22
 * .row                → .cns-a20
 * .d-flex             → .cns-a23
 * .flex-row           → .cns-a24
 * .flex-column        → .cns-a25
 * .flex-wrap          → .cns-a26
 * .justify-content-center → .cns-a27
 * .justify-content-between → .cns-a28
 * .align-items-center → .cns-a29
 * .w-100              → .cns-c23
 * .text-center        → .cns-d20
 * .text-start         → .cns-d21
 * .text-end           → .cns-d22
 * .mt-3 / .my-3       → .cns-b20 / .cns-b21 (Beispiel Abstand)
 * .g-3 (row gap)      → .cns-b22 auf Flex-Container
 * Spalten-Inset (wie .row > *) → .cns-a35 auf direkte Kinder von .cns-a20
 *
 * @version 1.0.0
 * @date 14.04.2026 (Europe/Berlin)
 */

/* --- Container (Bootstrap .container / .container-sm / .container-fluid) --- */

.sidebar_first{ display: none !important; }

.cns-c20 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--cns-bs-gutter-x, 0.75rem);
  padding-right: var(--cns-bs-gutter-x, 0.75rem);
}

@media (min-width: 576px) {
  .cns-c20 {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .cns-c20 {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .cns-c20 {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .cns-c20 {
    max-width: 1140px;
  }
}

@media (min-width: 1400px) {
  .cns-c20 {
    max-width: 1320px;
  }
}

/* schmaler Standard-Container (Bootstrap .container-sm) */
.cns-c21 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--cns-bs-gutter-x, 0.75rem);
  padding-right: var(--cns-bs-gutter-x, 0.75rem);
}

@media (min-width: 576px) {
  .cns-c21 {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .cns-c21 {
    max-width: 720px;
  }
}

/* volle Breite mit horizontalem Gutter */
.cns-c22 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--cns-bs-gutter-x, 0.75rem);
  padding-right: var(--cns-bs-gutter-x, 0.75rem);
}

/* volle Breite Inhalt */
.cns-c23 {
  width: 100%;
}

/* --- Flex / „Row“ (Bootstrap .row / .d-flex + Ausrichtung) --- */

.cns-a20 {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(var(--cns-bs-gutter-x, 0.75rem) * -0.5);
  margin-right: calc(var(--cns-bs-gutter-x, 0.75rem) * -0.5);
}

.cns-a23 {
  display: flex;
}

.cns-a24 {
  flex-direction: row;
}

.cns-a25 {
  flex-direction: column;
}

.cns-a26 {
  flex-wrap: wrap;
}

.cns-a27 {
  justify-content: center;
}

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

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

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

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

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

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

.cns-a34 {
  flex: 1 1 0;
  min-width: 0;
}

/* Gegenstück zu negativem Außenrand von .cns-a20 (Bootstrap-Spalten-Gutter) */
.cns-a35 {
  padding-left: calc(var(--cns-bs-gutter-x, 0.75rem) * 0.5);
  padding-right: calc(var(--cns-bs-gutter-x, 0.75rem) * 0.5);
  min-width: 0;
}

/* --- Abstand (Beispiele; Skala bei Bedarf erweitern) --- */

.cns-b20 {
  margin-top: 1rem;
}

.cns-b21 {
  margin-bottom: 1rem;
}

.cns-b22 {
  gap: 1rem;
}

.cns-b23 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* --- Typografie --- */

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

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

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

/* === assets/css/base/cns-utility-system.generated.css === */
/*!
 * cns-utility-system — generated from assets/css/src/cns_bootstrap.source.css
 * Do not edit; run: npm run build:css
 */

/* --- assets/css/dist/bootstrap/cns-display.css --- */
/**
 * @file
 * Display-Utilities (logische Map-Keys display.*, Twig cns()).
 */

/* ==========================================================================
   display
   ========================================================================== */

.cns-f0bdc54 {
  display: none;
}

.cns-98a8a87 {
  display: block;
}

.cns-939d183 {
  display: inline;
}

.cns-8c06cd2 {
  display: inline-block;
}

.cns-d680b4b {
  display: flex;
}

.cns-bc695d7 {
  display: inline-flex;
}

.cns-d02c192 {
  display: grid;
}

.cns-308c120 {
  display: inline-grid;
}

.cns-5bca786 {
  display: contents;
}

.cns-0c585ec {
  display: table;
}

.cns-d3aaa1a {
  display: table-row;
}

.cns-56e7d83 {
  display: table-cell;
}

/* --- assets/css/dist/bootstrap/cns-position.css --- */
/**
 * @file
 * Position & Inset (logische Map-Keys position.*, top.*, left.*, …; Twig cns()).
 */

/* ==========================================================================
   position
   ========================================================================== */

.cns-9540768 {
  position: static;
}

.cns-5780d54 {
  position: relative;
}

.cns-3092c86 {
  position: absolute;
}

.cns-5643380 {
  position: fixed;
}

.cns-81f3ac5 {
  position: sticky;
}

/* ==========================================================================
   top / right / bottom / left
   ========================================================================== */

.cns-5cfbc55 {
  top: 0;
}

.cns-d3137b6 {
  top: auto;
}

.cns-1992761 {
  top: 50%;
}

.cns-6114901 {
  top: 100%;
}

.cns-181111a {
  right: 0;
}

.cns-5138023 {
  right: auto;
}

.cns-4ce76b8 {
  bottom: 0;
}

.cns-ef3b3a0 {
  bottom: auto;
}

.cns-6e924f0 {
  left: 0;
}

.cns-1c23ab6 {
  left: auto;
}

.cns-ebfd9e3 {
  left: 50%;
}

.cns-e02de0f {
  left: 100%;
}

.cns-91dd99a {
  inset: 0;
}

/* --- assets/css/dist/bootstrap/cns-flex.css --- */
/**
 * @file
 * Flexbox (logische Map-Keys flex.*, justify.content.*, …; Twig cns()).
 * Abstände zwischen Items: gap.* in cns-spacing.source.css.
 */

/* ==========================================================================
   flex-direction
   ========================================================================== */

.cns-b136362 {
  flex-direction: row;
}

.cns-fe27865 {
  flex-direction: row-reverse;
}

.cns-5821d3f {
  flex-direction: column;
}

.cns-729ad95 {
  flex-direction: column-reverse;
}

/* ==========================================================================
   flex-wrap
   ========================================================================== */

.cns-3cc8c39 {
  flex-wrap: nowrap;
}

.cns-08bcdde {
  flex-wrap: wrap;
}

.cns-c9ddf91 {
  flex-wrap: wrap-reverse;
}

/* ==========================================================================
   justify-content
   ========================================================================== */

.cns-5ae40a5 {
  justify-content: flex-start;
}

.cns-74534ba {
  justify-content: flex-end;
}

.cns-2e1fcad {
  justify-content: center;
}

.cns-09412e7 {
  justify-content: space-between;
}

.cns-5ad15ab {
  justify-content: space-around;
}

.cns-079b998 {
  justify-content: space-evenly;
}

/* ==========================================================================
   align-items
   ========================================================================== */

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

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

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

.cns-7fb34df {
  align-items: stretch;
}

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

/* ==========================================================================
   align-content
   ========================================================================== */

.cns-d90ab3f {
  align-content: flex-start;
}

.cns-740257a {
  align-content: flex-end;
}

.cns-5850f66 {
  align-content: center;
}

.cns-fbc2844 {
  align-content: space-between;
}

.cns-03592b0 {
  align-content: space-around;
}

.cns-c44c027 {
  align-content: stretch;
}

/* ==========================================================================
   align-self
   ========================================================================== */

.cns-9808832 {
  align-self: auto;
}

.cns-77f318a {
  align-self: flex-start;
}

.cns-81f97b4 {
  align-self: flex-end;
}

.cns-2134b60 {
  align-self: center;
}

.cns-451ffc7 {
  align-self: stretch;
}

/* ==========================================================================
   flex grow / shrink / basis (kompakt)
   ========================================================================== */

.cns-69c97bd {
  flex-grow: 0;
}

.cns-b7f0729 {
  flex-grow: 1;
}

.cns-91cb2bd {
  flex-shrink: 0;
}

.cns-74cb1a0 {
  flex-shrink: 1;
}

.cns-b80679d {
  flex-basis: auto;
}

.cns-9148954 {
  flex-basis: 0;
}

.cns-f5da361 {
  flex: 1 1 0;
}

.cns-476cb49 {
  flex: none;
}

.cns-38f844e {
  flex: 1 1 auto;
}

/* ==========================================================================
   order (Flexbox; numerische Stufen — kein „first/last“-Semantik im Key)
   ========================================================================== */

.cns-e7b45c7 {
  order: -1;
}

.cns-cac1204 {
  order: 0;
}

.cns-c475319 {
  order: 1;
}

.cns-b490307 {
  order: 2;
}

.cns-e88f3c8 {
  order: 3;
}

.cns-f87789d {
  order: 4;
}

.cns-af90382 {
  order: 5;
}

.cns-15da9aa {
  order: 6;
}

/* --- assets/css/dist/bootstrap/cns-grid.css --- */
/**
 * @file
 * CSS Grid (logische Map-Keys grid.*; Twig cns()).
 * Abstände gap.* siehe cns-spacing.source.css.
 */

/* ==========================================================================
   grid-auto-flow
   ========================================================================== */

.cns-32a056b {
  grid-auto-flow: row;
}

.cns-73c5fa4 {
  grid-auto-flow: column;
}

.cns-d5cc2b1 {
  grid-auto-flow: dense;
}

/* ==========================================================================
   grid-template-columns (häufige Spaltenmuster, minmax gegen Overflow)
   ========================================================================== */

.cns-87320e1 {
  grid-template-columns: minmax(0, 1fr);
}

.cns-453e1d8 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cns-f2bc2a9 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cns-2f4d21e {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cns-af9444e {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

/* ==========================================================================
   grid-template-rows
   ========================================================================== */

.cns-53a197a {
  grid-template-rows: auto;
}

.cns-96a36a6 {
  grid-template-rows: minmax(0, 1fr);
}

.cns-764c26c {
  grid-template-rows: repeat(2, minmax(0, auto));
}

/* ==========================================================================
   grid-column / grid-row (Span)
   ========================================================================== */

.cns-18ca2f1 {
  grid-column: span 1 / span 1;
}

.cns-bdd79dd {
  grid-column: span 2 / span 2;
}

.cns-829f45d {
  grid-column: span 3 / span 3;
}

.cns-73c79d7 {
  grid-column: span 4 / span 4;
}

.cns-b6e4649 {
  grid-column: 1 / -1;
}

.cns-cd8b6cf {
  grid-row: span 1 / span 1;
}

.cns-239f93e {
  grid-row: span 2 / span 2;
}

.cns-480fc0d {
  grid-row: 1 / -1;
}

/* ==========================================================================
   place-items / place-content
   ========================================================================== */

.cns-4044bbf {
  place-items: start;
}

.cns-18aafb0 {
  place-items: end;
}

.cns-eaa82a5 {
  place-items: center;
}

.cns-643324b {
  place-items: stretch;
}

.cns-d11ed28 {
  place-content: start;
}

.cns-d3c6a74 {
  place-content: end;
}

.cns-b45ec00 {
  place-content: center;
}

.cns-08e4ee5 {
  place-content: space-between;
}

.cns-551ae89 {
  place-content: stretch;
}

/* ==========================================================================
   place-self (Grid/Flex; je eine Eigenschaft)
   ========================================================================== */

.cns-d9d61fd {
  place-self: auto;
}

.cns-a02e904 {
  place-self: start;
}

.cns-c556826 {
  place-self: end;
}

.cns-672df3b {
  place-self: center;
}

.cns-ea11d9a {
  place-self: stretch;
}

/* --- assets/css/dist/bootstrap/cns-spacing.css --- */
/**
 * @file
 * Margin, padding & gap (logische Map-Keys margin.*, padding.top.*, gap.*; Twig cns()).
 * Einheit: px (Zahl im Klassennamen = Pixel, außer 0).
 */

/* ==========================================================================
   gap (Flex- / Grid-Container)
   ========================================================================== */

.cns-97036ed { gap: 0; }
.cns-8b7b036 { gap: 0 !important; }
.cns-f936b95 { gap: 2px; }
.cns-2bcb8cf { gap: 2px !important; }
.cns-7389687 { gap: 4px; }
.cns-973164e { gap: 4px !important; }
.cns-bae98db { gap: 5px; }
.cns-d0a68af { gap: 5px !important; }
.cns-933c042 { gap: 8px; }
.cns-ae16df1 { gap: 8px !important; }
.cns-2960021 { gap: 10px; }
.cns-9927c78 { gap: 10px !important; }
.cns-990910b { gap: 12px; }
.cns-b42d581 { gap: 12px !important; }
.cns-e014f14 { gap: 15px; }
.cns-083a795 { gap: 15px !important; }
.cns-ca38e28 { gap: 20px; }
.cns-1334775 { gap: 20px !important; }
.cns-203a24b { gap: 25px; }
.cns-a4c3ec7 { gap: 25px !important; }
.cns-541e865 { gap: 30px; }
.cns-362c5fe { gap: 30px !important; }
.cns-2f49a20 { gap: 40px; }
.cns-18addef { gap: 40px !important; }
.cns-c2b302d { gap: 50px; }
.cns-4163585 { gap: 50px !important; }

/* ==========================================================================
   row-gap / column-gap (Grid/Flex; gleiche Rasterwerte wie gap)
   ========================================================================== */

.cns-f1d91cb { row-gap: 0; }
.cns-62e21fb { row-gap: 0 !important; }
.cns-3337ab2 { row-gap: 2px; }
.cns-287d620 { row-gap: 2px !important; }
.cns-bd568f7 { row-gap: 4px; }
.cns-3dcdf79 { row-gap: 4px !important; }
.cns-bab5856 { row-gap: 5px; }
.cns-c8fa903 { row-gap: 5px !important; }
.cns-4b75508 { row-gap: 8px; }
.cns-948b8c7 { row-gap: 8px !important; }
.cns-51f6ec2 { row-gap: 10px; }
.cns-780f3bd { row-gap: 10px !important; }
.cns-76b3c98 { row-gap: 12px; }
.cns-2191a9e { row-gap: 12px !important; }
.cns-ed333a2 { row-gap: 15px; }
.cns-e89fbb9 { row-gap: 15px !important; }
.cns-944025b { row-gap: 20px; }
.cns-67c48f3 { row-gap: 20px !important; }
.cns-2612afe { row-gap: 25px; }
.cns-f8542a0 { row-gap: 25px !important; }
.cns-89d6264 { row-gap: 30px; }
.cns-a917a6b { row-gap: 30px !important; }
.cns-44ce73f { row-gap: 40px; }
.cns-a25cced { row-gap: 40px !important; }
.cns-a76b80e { row-gap: 50px; }
.cns-8b9a947 { row-gap: 50px !important; }

.cns-c294901 { column-gap: 0; }
.cns-b675c29 { column-gap: 0 !important; }
.cns-f1702e7 { column-gap: 2px; }
.cns-60e4175 { column-gap: 2px !important; }
.cns-442cd89 { column-gap: 4px; }
.cns-d628634 { column-gap: 4px !important; }
.cns-e36dc8f { column-gap: 5px; }
.cns-f0c0812 { column-gap: 5px !important; }
.cns-f1af1d7 { column-gap: 8px; }
.cns-24aa3b6 { column-gap: 8px !important; }
.cns-b26e50c { column-gap: 10px; }
.cns-d98f520 { column-gap: 10px !important; }
.cns-2661c62 { column-gap: 12px; }
.cns-fe7f5fa { column-gap: 12px !important; }
.cns-c2bdad2 { column-gap: 15px; }
.cns-8eeb03a { column-gap: 15px !important; }
.cns-32ffcd1 { column-gap: 20px; }
.cns-39eff83 { column-gap: 20px !important; }
.cns-0ab9d2d { column-gap: 25px; }
.cns-1030715 { column-gap: 25px !important; }
.cns-31ca2f1 { column-gap: 30px; }
.cns-3dd9bb8 { column-gap: 30px !important; }
.cns-e7ecb04 { column-gap: 40px; }
.cns-27d1379 { column-gap: 40px !important; }
.cns-00df33e { column-gap: 50px; }
.cns-ab063f6 { column-gap: 50px !important; }
/* ==========================================================================
   margin (alle Seiten)
   ========================================================================== */

.cns-18d9246 { margin: 0; }
.cns-3fef7f6 { margin: 0 !important; }
.cns-298f099 { margin: 2px; }
.cns-2dac7cd { margin: 2px !important; }
.cns-820be91 { margin: 4px; }
.cns-d9bec25 { margin: 4px !important; }
.cns-93327ff { margin: 5px; }
.cns-26807f8 { margin: 5px !important; }
.cns-e5c568f { margin: 8px; }
.cns-afa4912 { margin: 8px !important; }
.cns-618625b { margin: 10px; }
.cns-fdd43c4 { margin: 10px !important; }
.cns-20b840e { margin: 12px; }
.cns-7baa736 { margin: 12px !important; }
.cns-3f0fcc6 { margin: 15px; }
.cns-8db8eee { margin: 15px !important; }
.cns-c1f8269 { margin: 20px; }
.cns-80bc0d5 { margin: 20px !important; }
.cns-adff2c2 { margin: 25px; }
.cns-a3b498a { margin: 25px !important; }
.cns-58efbee { margin: 30px; }
.cns-58fb30d { margin: 30px !important; }
.cns-565cb45 { margin: 40px; }
.cns-3918242 { margin: 40px !important; }
.cns-4904c68 { margin: 50px; }
.cns-418fb61 { margin: 50px !important; }

/* ==========================================================================
   margin — zentriert
   ========================================================================== */

.cns-d06ed95 { margin: 0 auto; }
.cns-2ec30f8 { margin: 0 auto !important; }
.cns-539b3f3 { margin-top: auto; }
.cns-34dd0bc { margin-top: auto !important; }
.cns-d99ad3f { margin-right: auto; }
.cns-c1fe830 { margin-right: auto !important; }
.cns-393c0c7 { margin-bottom: auto; }
.cns-27c7d68 { margin-bottom: auto !important; }
.cns-9de9447 { margin-left: auto; }
.cns-7d0747a { margin-left: auto !important; }
.cns-233c037 { margin-left: auto; margin-right: auto; }
.cns-066279a { margin-left: auto; margin-right: auto !important; }
.cns-86f2479 { margin-top: auto; margin-bottom: auto; }
.cns-13d461d { margin-top: auto; margin-bottom: auto !important; }

/* ==========================================================================
   margin — Seiten / Achsen
   ========================================================================== */

.cns-20626bb { margin-top: 0; }
.cns-d137725 { margin-top: 0 !important; }
.cns-342ea30 { margin-right: 0; }
.cns-bc0ee85 { margin-right: 0 !important; }
.cns-6c54576 { margin-bottom: 0; }
.cns-307d1a7 { margin-bottom: 0 !important; }
.cns-48b540f { margin-left: 0; }
.cns-cb1631e { margin-left: 0 !important; }
.cns-401f315 { margin-left: 0; margin-right: 0; }
.cns-80def22 { margin-left: 0; margin-right: 0 !important; }
.cns-300278a { margin-top: 0; margin-bottom: 0; }
.cns-ee833f5 { margin-top: 0; margin-bottom: 0 !important; }
.cns-6cb0659 { margin-top: 2px; }
.cns-426ebdc { margin-top: 2px !important; }
.cns-1b52b2b { margin-right: 2px; }
.cns-50792fd { margin-right: 2px !important; }
.cns-e881f2c { margin-bottom: 2px; }
.cns-1a293d6 { margin-bottom: 2px !important; }
.cns-8de40fd { margin-left: 2px; }
.cns-73b8c03 { margin-left: 2px !important; }
.cns-afbef21 { margin-left: 2px; margin-right: 2px; }
.cns-3f44f7f { margin-left: 2px; margin-right: 2px !important; }
.cns-b5f7071 { margin-top: 2px; margin-bottom: 2px; }
.cns-629063f { margin-top: 2px; margin-bottom: 2px !important; }
.cns-2769573 { margin-top: 4px; }
.cns-7f4b246 { margin-top: 4px !important; }
.cns-bdbc682 { margin-right: 4px; }
.cns-1c7a247 { margin-right: 4px !important; }
.cns-2c59614 { margin-bottom: 4px; }
.cns-bf85b19 { margin-bottom: 4px !important; }
.cns-b232ec7 { margin-left: 4px; }
.cns-5ee9aad { margin-left: 4px !important; }
.cns-362ef0e { margin-left: 4px; margin-right: 4px; }
.cns-66b68d4 { margin-left: 4px; margin-right: 4px !important; }
.cns-f0637d2 { margin-top: 4px; margin-bottom: 4px; }
.cns-5c5131f { margin-top: 4px; margin-bottom: 4px !important; }
.cns-b4cb67d { margin-top: 5px; }
.cns-c27e38f { margin-top: 5px !important; }
.cns-728d27f { margin-right: 5px; }
.cns-b56c698 { margin-right: 5px !important; }
.cns-25e9f01 { margin-bottom: 5px; }
.cns-26dcf5d { margin-bottom: 5px !important; }
.cns-f714476 { margin-left: 5px; }
.cns-2770dc6 { margin-left: 5px !important; }
.cns-40006dd { margin-left: 5px; margin-right: 5px; }
.cns-48948c0 { margin-left: 5px; margin-right: 5px !important; }
.cns-4e0fc92 { margin-top: 5px; margin-bottom: 5px; }
.cns-5aa8c2e { margin-top: 5px; margin-bottom: 5px !important; }
.cns-5e19a81 { margin-top: 8px; }
.cns-6643ea6 { margin-top: 8px !important; }
.cns-9a1d34c { margin-right: 8px; }
.cns-c8907df { margin-right: 8px !important; }
.cns-0c6eded { margin-bottom: 8px; }
.cns-f696157 { margin-bottom: 8px !important; }
.cns-d206465 { margin-left: 8px; }
.cns-0d54169 { margin-left: 8px !important; }
.cns-c9ee4c4 { margin-left: 8px; margin-right: 8px; }
.cns-f57ab01 { margin-left: 8px; margin-right: 8px !important; }
.cns-9e66817 { margin-top: 8px; margin-bottom: 8px; }
.cns-7a38bf8 { margin-top: 8px; margin-bottom: 8px !important; }
.cns-2cbf0c0 { margin-top: 10px; }
.cns-bcea694 { margin-top: 10px !important; }
.cns-323c92c { margin-right: 10px; }
.cns-867f99a { margin-right: 10px !important; }
.cns-4755c5a { margin-bottom: 10px; }
.cns-c28179c { margin-bottom: 10px !important; }
.cns-10946f0 { margin-left: 10px; }
.cns-55b9c4c { margin-left: 10px !important; }
.cns-1525984 { margin-left: 10px; margin-right: 10px; }
.cns-69dfe2d { margin-left: 10px !important; margin-right: 10px !important; }
.cns-d6631c0 { margin-top: 10px; margin-bottom: 10px; }
.cns-da3a81b { margin-top: 10px !important; margin-bottom: 10px !important; }
.cns-2a9d9b0 { margin-top: 12px; }
.cns-0336928 { margin-top: 12px !important; }
.cns-9a38509 { margin-right: 12px; }
.cns-65ab0de { margin-right: 12px !important; }
.cns-70e2852 { margin-bottom: 12px; }
.cns-8616b21 { margin-bottom: 12px !important; }
.cns-6e6fb61 { margin-left: 12px; }
.cns-1af7be6 { margin-left: 12px !important; }
.cns-1bad1ac { margin-left: 12px; margin-right: 12px; }
.cns-f1e739a { margin-left: 12px !important; margin-right: 12px !important; }
.cns-fdc2353 { margin-top: 12px; margin-bottom: 12px; }
.cns-0638894 { margin-top: 12px !important; margin-bottom: 12px !important; }
.cns-916f189 { margin-top: 15px; }
.cns-4569e2e { margin-top: 15px !important; }
.cns-2457009 { margin-right: 15px; }
.cns-d853889 { margin-right: 15px !important; }
.cns-c1bc888 { margin-bottom: 15px; }
.cns-8b01a76 { margin-bottom: 15px !important; }
.cns-c4ea6d1 { margin-left: 15px; }
.cns-106ac96 { margin-left: 15px !important; }
.cns-1bb9a27 { margin-left: 15px; margin-right: 15px; }
.cns-3d80b45 { margin-left: 15px !important; margin-right: 15px !important; }
.cns-e653688 { margin-top: 15px; margin-bottom: 15px; }
.cns-067c866 { margin-top: 15px !important; margin-bottom: 15px !important; }
.cns-886c4a2 { margin-top: 20px; }
.cns-c801498 { margin-top: 20px !important; }
.cns-0365f6b { margin-right: 20px; }
.cns-4ce4322 { margin-right: 20px !important; }
.cns-fd33a88 { margin-bottom: 20px; }
.cns-866cd53 { margin-bottom: 20px !important; }
.cns-015c475 { margin-left: 20px; }
.cns-900d705 { margin-left: 20px !important; }
.cns-7239791 { margin-left: 20px; margin-right: 20px; }
.cns-2f0e529 { margin-left: 20px !important; margin-right: 20px !important; }
.cns-fcd8f16 { margin-top: 20px; margin-bottom: 20px; }
.cns-10af043 { margin-top: 20px !important; margin-bottom: 20px !important; }
.cns-eb975de { margin-top: 25px; }
.cns-77b7fbe { margin-top: 25px !important; }
.cns-f58b3a0 { margin-right: 25px; }
.cns-2bdd6a1 { margin-right: 25px !important; }
.cns-9b1f3d6 { margin-bottom: 25px; }
.cns-dc320fb { margin-bottom: 25px !important; }
.cns-5d79046 { margin-left: 25px; }
.cns-ce103c7 { margin-left: 25px !important; }
.cns-f6cf8ca { margin-left: 25px; margin-right: 25px; }
.cns-ecb4fcc { margin-left: 25px !important; margin-right: 25px !important; }
.cns-f8318cc { margin-top: 25px; margin-bottom: 25px; }
.cns-612bedd { margin-top: 25px !important; margin-bottom: 25px !important; }
.cns-0904c82 { margin-top: 30px; }
.cns-13c3eb9 { margin-top: 30px !important; }
.cns-d0eba49 { margin-right: 30px; }
.cns-9e6ac93 { margin-right: 30px !important; }
.cns-0b540d8 { margin-bottom: 30px; }
.cns-e1147a9 { margin-bottom: 30px !important; }
.cns-dfc364c { margin-left: 30px; }
.cns-b8100c8 { margin-left: 30px !important; }
.cns-fa79427 { margin-left: 30px; margin-right: 30px; }
.cns-fa10bb3 { margin-left: 30px !important; margin-right: 30px !important; }
.cns-a081177 { margin-top: 30px; margin-bottom: 30px; }
.cns-3abb332 { margin-top: 30px !important; margin-bottom: 30px !important; }
.cns-654c6f8 { margin-top: 40px; }
.cns-5aa9d7d { margin-top: 40px !important; }
.cns-09738a0 { margin-right: 40px; }
.cns-27ea6d2 { margin-right: 40px !important; }
.cns-87be8dd { margin-bottom: 40px; }
.cns-e99a659 { margin-bottom: 40px !important; }
.cns-67fc1b3 { margin-left: 40px; }
.cns-7351e3d { margin-left: 40px !important; }
.cns-a5f00b4 { margin-left: 40px; margin-right: 40px; }
.cns-2a2282b { margin-left: 40px !important; margin-right: 40px !important; }
.cns-424f96f { margin-top: 40px; margin-bottom: 40px; }
.cns-9d04cfe { margin-top: 40px !important; margin-bottom: 40px !important; }
.cns-fc713be { margin-top: 50px; }
.cns-f377e0d { margin-top: 50px !important; }
.cns-8c15641 { margin-right: 50px; }
.cns-3b86be1 { margin-right: 50px !important; }
.cns-43699d2 { margin-bottom: 50px; }
.cns-3da2212 { margin-bottom: 50px !important; }
.cns-d3f1f88 { margin-left: 50px; }
.cns-7be89fe { margin-left: 50px !important; }
.cns-697db4c { margin-left: 50px; margin-right: 50px; }
.cns-93cf554 { margin-left: 50px !important; margin-right: 50px !important; }
.cns-7d4fb09 { margin-top: 50px; margin-bottom: 50px; }
.cns-e92479e { margin-top: 50px !important; margin-bottom: 50px !important; }

/* ==========================================================================
   padding (alle Seiten)
   ========================================================================== */

.cns-8401564 { padding: 0; }
.cns-ef523c9 { padding: 0 !important; }
.cns-fdcc4a1 { padding: 2px; }
.cns-adf4215 { padding: 2px !important; }
.cns-ee45512 { padding: 4px; }
.cns-410e5a2 { padding: 4px !important; }
.cns-d82b713 { padding: 5px; }
.cns-9254cdb { padding: 5px !important; }
.cns-7ae2f18 { padding: 8px; }
.cns-189df17 { padding: 8px !important; }
.cns-914b576 { padding: 10px; }
.cns-e22fd1b { padding: 10px !important; }
.cns-9ac34e7 { padding: 12px; }
.cns-de68f8d { padding: 12px !important; }
.cns-c884197 { padding: 15px; }
.cns-b6dae8a { padding: 15px !important; }
.cns-577c7b4 { padding: 20px; }
.cns-afed367 { padding: 20px !important; }
.cns-50a653b { padding: 25px; }
.cns-a3ed87f { padding: 25px !important; }
.cns-14a91ed { padding: 30px; }
.cns-f3de469 { padding: 30px !important; }
.cns-e5dbb1d { padding: 40px; }
.cns-e440f0d { padding: 40px !important; }
.cns-11f2e31 { padding: 50px; }
.cns-f073cdd { padding: 50px !important; }

/* ==========================================================================
   padding — Seiten / Achsen
   ========================================================================== */

.cns-8eff1fa { padding-top: 0; }
.cns-a9814ad { padding-top: 0 !important; }
.cns-3f40f1c { padding-right: 0; }
.cns-3f3e221 { padding-right: 0 !important; }
.cns-9043dc3 { padding-bottom: 0; }
.cns-e9cac9b { padding-bottom: 0 !important; }
.cns-2f68d0f { padding-left: 0; }
.cns-870ada4 { padding-left: 0 !important; }
.cns-f6d23e2 { padding-left: 0; padding-right: 0; }
.cns-eee5a94 { padding-left: 0; padding-right: 0 !important; }
.cns-720a95d { padding-top: 0; padding-bottom: 0; }
.cns-efebf91 { padding-top: 0; padding-bottom: 0 !important; }
.cns-d840d76 { padding-top: 2px; }
.cns-02530b0 { padding-top: 2px !important; }
.cns-585a4ee { padding-right: 2px; }
.cns-9cf1617 { padding-right: 2px !important; }
.cns-33d5f65 { padding-bottom: 2px; }
.cns-48d7c19 { padding-bottom: 2px !important; }
.cns-4dcab81 { padding-left: 2px; }
.cns-d2417f9 { padding-left: 2px !important; }
.cns-909ce16 { padding-left: 2px; padding-right: 2px; }
.cns-c86b172 { padding-left: 2px !important; padding-right: 2px !important; }
.cns-a68aa3f { padding-top: 2px; padding-bottom: 2px; }
.cns-482fb91 { padding-top: 2px !important; padding-bottom: 2px !important; }
.cns-3015079 { padding-top: 4px; }
.cns-80917a0 { padding-top: 4px !important; }
.cns-7c844a2 { padding-right: 4px; }
.cns-fc040fb { padding-right: 4px !important; }
.cns-3608fdc { padding-bottom: 4px; }
.cns-3ea9142 { padding-bottom: 4px !important; }
.cns-add7fe1 { padding-left: 4px; }
.cns-51d95ce { padding-left: 4px !important; }
.cns-ea77cd6 { padding-left: 4px; padding-right: 4px; }
.cns-640362b { padding-left: 4px !important; padding-right: 4px !important; }
.cns-638e94c { padding-top: 4px; padding-bottom: 4px; }
.cns-aa349d0 { padding-top: 4px !important; padding-bottom: 4px !important; }
.cns-9653c6f { padding-top: 5px; }
.cns-0cff9b4 { padding-top: 5px !important; }
.cns-2b80819 { padding-right: 5px; }
.cns-71513da { padding-right: 5px !important; }
.cns-073a5ad { padding-bottom: 5px; }
.cns-b4a6f49 { padding-bottom: 5px !important; }
.cns-f0afcd5 { padding-left: 5px; }
.cns-724572a { padding-left: 5px !important; }
.cns-d0f00e7 { padding-left: 5px; padding-right: 5px; }
.cns-fbb67f1 { padding-left: 5px !important; padding-right: 5px !important; }
.cns-1d85eef { padding-top: 5px; padding-bottom: 5px; }
.cns-bbd520e { padding-top: 5px !important; padding-bottom: 5px !important; }
.cns-3ee81cb { padding-top: 8px; }
.cns-18a401b { padding-top: 8px !important; }
.cns-55695ef { padding-right: 8px; }
.cns-279418b { padding-right: 8px !important; }
.cns-5cb684f { padding-bottom: 8px; }
.cns-4e23e6e { padding-bottom: 8px !important; }
.cns-9c92874 { padding-left: 8px; }
.cns-9dab7ee { padding-left: 8px !important; }
.cns-890ecc6 { padding-left: 8px; padding-right: 8px; }
.cns-8285c01 { padding-left: 8px !important; padding-right: 8px !important; }
.cns-e6c5edd { padding-top: 8px; padding-bottom: 8px; }
.cns-af20a94 { padding-top: 8px !important; padding-bottom: 8px !important; }
.cns-b199367 { padding-top: 10px; }
.cns-475b1ad { padding-top: 10px !important; }
.cns-5985c57 { padding-right: 10px; }
.cns-6a5573f { padding-right: 10px !important; }
.cns-8ac220c { padding-bottom: 10px; }
.cns-58a16a9 { padding-bottom: 10px !important; }
.cns-c106293 { padding-left: 10px; }
.cns-b3b8ac4 { padding-left: 10px !important; }
.cns-9288f16 { padding-left: 10px; padding-right: 10px; }
.cns-b03ab95 { padding-left: 10px !important; padding-right: 10px !important; }
.cns-87baa15 { padding-top: 10px; padding-bottom: 10px; }
.cns-90828e0 { padding-top: 10px !important; padding-bottom: 10px !important; }
.cns-f8b01a0 { padding-top: 12px; }
.cns-64a7389 { padding-top: 12px !important; }
.cns-e4a5a4c { padding-right: 12px; }
.cns-2f18067 { padding-right: 12px !important; }
.cns-1ab6add { padding-bottom: 12px; }
.cns-8d452a4 { padding-bottom: 12px !important; }
.cns-2128f70 { padding-left: 12px; }
.cns-ac00cda { padding-left: 12px !important; }
.cns-3411a91 { padding-left: 12px; padding-right: 12px; }
.cns-24f43a1 { padding-left: 12px !important; padding-right: 12px !important; }
.cns-611ee73 { padding-top: 12px; padding-bottom: 12px; }
.cns-bd25f7d { padding-top: 12px !important; padding-bottom: 12px !important; }
.cns-94aaa57 { padding-top: 15px; }
.cns-63cf311 { padding-top: 15px !important; }
.cns-ba86a8b { padding-right: 15px; }
.cns-7b14bde { padding-right: 15px !important; }
.cns-aee07a5 { padding-bottom: 15px; }
.cns-4097540 { padding-bottom: 15px !important; }
.cns-37b7178 { padding-left: 15px; }
.cns-c298853 { padding-left: 15px !important; }
.cns-92c1053 { padding-left: 15px; padding-right: 15px; }
.cns-1f260d7 { padding-left: 15px !important; padding-right: 15px !important; }
.cns-b6b3f00 { padding-top: 15px; padding-bottom: 15px; }
.cns-ba1022f { padding-top: 15px !important; padding-bottom: 15px !important; }
.cns-7e147f2 { padding-top: 20px; }
.cns-8a6a681 { padding-top: 20px !important; }
.cns-ffbbf82 { padding-right: 20px; }
.cns-0f0fc8c { padding-right: 20px !important; }
.cns-18268a5 { padding-bottom: 20px; }
.cns-9855c87 { padding-bottom: 20px !important; }
.cns-4f2a600 { padding-left: 20px; }
.cns-4f3c25e { padding-left: 20px !important; }
.cns-5854293 { padding-left: 20px; padding-right: 20px; }
.cns-0e76261 { padding-left: 20px !important; padding-right: 20px !important; }
.cns-99aae45 { padding-top: 20px; padding-bottom: 20px; }
.cns-69f7c8e { padding-top: 20px !important; padding-bottom: 20px !important; }
.cns-f4b0cc1 { padding-top: 25px; }
.cns-bb50251 { padding-top: 25px !important; }
.cns-61c1034 { padding-right: 25px; }
.cns-9fd9073 { padding-right: 25px !important; }
.cns-97303a0 { padding-bottom: 25px; }
.cns-99c87e4 { padding-bottom: 25px !important; }
.cns-0a99896 { padding-left: 25px; }
.cns-ea97985 { padding-left: 25px !important; }
.cns-5688349 { padding-left: 25px; padding-right: 25px; }
.cns-1c0fcf0 { padding-left: 25px !important; padding-right: 25px !important; }
.cns-5d81acc { padding-top: 25px; padding-bottom: 25px; }
.cns-7be9d87 { padding-top: 25px !important; padding-bottom: 25px !important; }
.cns-58c94b1 { padding-top: 30px; }
.cns-ab0fefa { padding-top: 30px !important; }
.cns-9d36a10 { padding-right: 30px; }
.cns-0b1f284 { padding-right: 30px !important; }
.cns-c451661 { padding-bottom: 30px; }
.cns-47eb43c { padding-bottom: 30px !important; }
.cns-b43a580 { padding-left: 30px; }
.cns-2735e02 { padding-left: 30px !important; }
.cns-1945392 { padding-left: 30px; padding-right: 30px; }
.cns-fc3bba4 { padding-left: 30px !important; padding-right: 30px !important; }
.cns-6f28c65 { padding-top: 30px; padding-bottom: 30px; }
.cns-d26fdf9 { padding-top: 30px !important; padding-bottom: 30px !important; }
.cns-a81e2ce { padding-top: 40px; }
.cns-735253c { padding-top: 40px !important; }
.cns-b1a0cf4 { padding-right: 40px; }
.cns-74929f5 { padding-right: 40px !important; }
.cns-19b87ec { padding-bottom: 40px; }
.cns-013a270 { padding-bottom: 40px !important; }
.cns-ba286b4 { padding-left: 40px; }
.cns-857791e { padding-left: 40px !important; }
.cns-521b9c6 { padding-left: 40px; padding-right: 40px; }
.cns-21ae5c9 { padding-left: 40px !important; padding-right: 40px !important; }
.cns-37bea5c { padding-top: 40px; padding-bottom: 40px; }
.cns-9f8cfd2 { padding-top: 40px !important; padding-bottom: 40px !important; }
.cns-2c0a3f2 { padding-top: 50px; }
.cns-0422d33 { padding-top: 50px !important; }
.cns-0a4a7e0 { padding-right: 50px; }
.cns-8e93692 { padding-right: 50px !important; }
.cns-6d39ad6 { padding-bottom: 50px; }
.cns-4e8ec5f { padding-bottom: 50px !important; }
.cns-900a04b { padding-left: 50px; }
.cns-811a14c { padding-left: 50px !important; }
.cns-ac07ba8 { padding-left: 50px; padding-right: 50px; }
.cns-f388752 { padding-left: 50px !important; padding-right: 50px !important; }
.cns-4376387 { padding-top: 50px; padding-bottom: 50px; }
.cns-f3cdf1e { padding-top: 50px !important; padding-bottom: 50px !important; }

.cns-6be8809 { white-space: nowrap !important; }

/* --- assets/css/dist/bootstrap/cns-sizing.css --- */
/**
 * @file
 * Breite / Höhe / min / max (logische Map-Keys width.*, height.*, …; Twig cns()).
 * Prozent & gängige Viewport-Werte ohne Projektpalette.
 * Je Utility: Basiszeile + Zeile mit Suffix -important und !important.
 */

/* ==========================================================================
   width
   ========================================================================== */

.cns-2f43ece { width: auto; }
.cns-fe4a29d { width: auto !important; }
.cns-49698ca { width: 0; }
.cns-9eb319d { width: 0 !important; }
.cns-f1ea4db { width: 32px; }
.cns-99a949a { width: 32px !important; }
.cns-86e809e { width: 24px; }
.cns-f2e17ef { width: 24px !important; }
.cns-85ed827 { width: 25%; }
.cns-d700a8e { width: 25% !important; }
.cns-8e68d28 { width: 50%; }
.cns-205d80e { width: 50% !important; }
.cns-0921e1d { width: 75%; }
.cns-bcd928a { width: 75% !important; }
.cns-549ead6 { width: 100%; }
.cns-dc47345 { width: 100% !important; }
.cns-d02577a { width: 100vw; }
.cns-a1b3d39 { width: 100vw !important; }
.cns-73a4a8c { max-width: none; }
.cns-a10f83b { max-width: none !important; }
.cns-c2a7cbd { max-width: 80%; }
.cns-1149c96 { max-width: 80% !important; }
.cns-b97e664 { max-width: 100%; }
.cns-8a757a2 { max-width: 100% !important; }
.cns-53d0a79 { max-width: 1600px; }
.cns-0b8de95 { max-width: 1600px !important; }
.cns-66af626 { min-width: 0; }
.cns-a24600c { min-width: 0 !important; }
.cns-64ffe11 { min-width: 44px; }
.cns-140b8d6 { min-width: 44px !important; }

/* ==========================================================================
   height
   ========================================================================== */

.cns-3bc57e3 { height: auto; }
.cns-2bb699f { height: auto !important; }
.cns-8b1a95e { height: 0; }
.cns-a7d7de0 { height: 0 !important; }
.cns-f02a9b7 { height: 25%; }
.cns-b698f5a { height: 25% !important; }
.cns-56055e7 { height: 50%; }
.cns-6543058 { height: 50% !important; }
.cns-e1e34da { height: 75%; }
.cns-0f4a8a8 { height: 75% !important; }
.cns-515f715 { height: 100%; }
.cns-e377a10 { height: 100% !important; }
.cns-78eb2d3 { height: 100vh; }
.cns-d9b2b22 { height: 100vh !important; }
.cns-03fda8a { min-height: 0; }
.cns-4708653 { min-height: 0 !important; }
.cns-1988c8b { min-height: 44px; }
.cns-b6764b6 { min-height: 44px !important; }
.cns-8908f8c { min-height: 100%; }
.cns-1ebe6bb { min-height: 100% !important; }
.cns-e1ae66b { min-height: 100vh; }
.cns-44a5d8f { min-height: 100vh !important; }
.cns-db3b354 { max-height: none; }
.cns-028a29f { max-height: none !important; }
.cns-638b81c { max-height: 100%; }
.cns-fb6630b { max-height: 100% !important; }
.cns-c36e19f { max-height: 100vh; }
.cns-bbfca3c { max-height: 100vh !important; }

/* --- assets/css/dist/bootstrap/cns-typography.css --- */
/**
 * @file
 * Schrift & Text (Schema: .cns-59a9ddd, .cns-11ee419, …).
 */

/* ==========================================================================
   font-family (generisch)
   ========================================================================== */

.cns-864ae8e {
  font-family: inherit;
}

.cns-f16d61f {
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.cns-fc9184c {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}

/* ==========================================================================
   font-size (rem)
   ========================================================================== */

.cns-ea95a4f {
  font-size: 0.75rem;
}

.cns-d2580be {
  font-size: 0.875rem;
}

.cns-fab7dab {
  font-size: 1rem;
}

.cns-d90fb64 {
  font-size: 1.125rem;
}

.cns-895c1ba {
  font-size: 1.25rem;
}

.cns-f5ce9ac {
  font-size: 1.5rem;
}

/* ==========================================================================
   font-weight
   ========================================================================== */

.cns-8204ac4 {
  font-weight: 400;
}

.cns-c7f7be4 {
  font-weight: 500;
}

.cns-11ee419 {
  font-weight: 600;
}

.cns-3edb519 {
  font-weight: 700;
}

/* ==========================================================================
   font-style
   ========================================================================== */

.cns-85ad1e3 {
  font-style: normal;
}

.cns-c46e8c9 {
  font-style: italic;
}

/* ==========================================================================
   line-height
   ========================================================================== */

.cns-3a4fa53 {
  line-height: 1;
}

.cns-57a3982 {
  line-height: 1.25;
}

.cns-ed1cd89 {
  line-height: 1.5;
}

.cns-f770f3d {
  line-height: 1.75;
}

/* ==========================================================================
   text-align
   ========================================================================== */

.cns-285452c {
  text-align: left;
}

.cns-3cd7172 {
  text-align: right;
}

.cns-59a9ddd {
  text-align: center;
}

.cns-2394096 {
  text-align: start;
}

.cns-371d49d {
  text-align: end;
}

/* ==========================================================================
   text-decoration / transform
   ========================================================================== */

.cns-0a47c7e {
  text-decoration: none;
}

.cns-75b78d9 {
  text-decoration: underline;
}

.cns-1924681 {
  text-transform: none;
}

.cns-ade9f5c {
  text-transform: uppercase;
}

.cns-57d22c8 {
  text-transform: lowercase;
}

.cns-b57e351 {
  text-transform: capitalize;
}

/* ==========================================================================
   overflow-wrap / word-break
   ========================================================================== */

.cns-546a553 {
  overflow-wrap: anywhere;
}

.cns-25ac72f {
  overflow-wrap: break-word;
}

.cns-9e96b51 {
  word-break: break-word;
}

.cns-6e375d1 {
  word-break: normal;
}

/* ==========================================================================
   white-space
   ========================================================================== */

.cns-d74cf96 {
  white-space: normal;
}

.cns-5a7034a {
  white-space: nowrap;
}

.cns-6f33afc {
  white-space: pre-wrap;
}

/* ==========================================================================
   vertical-align (Inline-/Tabellenkontext; je eine Eigenschaft)
   ========================================================================== */

.cns-7651142 {
  vertical-align: baseline;
}

.cns-8debab4 {
  vertical-align: top;
}

.cns-77906ea {
  vertical-align: middle;
}

.cns-589766e {
  vertical-align: bottom;
}

.cns-1899c9a {
  vertical-align: text-bottom;
}

.cns-7210ec3 {
  vertical-align: text-top;
}

/* ==========================================================================
   text-overflow
   ========================================================================== */

.cns-1dd8cca {
  text-overflow: clip;
}

.cns-1013771 {
  text-overflow: ellipsis;
}

/* ==========================================================================
   text-overflow
   ========================================================================== */

.cns-0a47c7e {
  text-decoration: none;
}

.cns-75b78d9 {
  text-decoration: underline;
}

.cns-1252879 {
  text-decoration: overline;
}

.cns-688aa16 {
  text-decoration: line-through;
}

/* --- assets/css/dist/bootstrap/cns-background.css --- */
/**
 * @file
 * Hintergrund-Basis ohne Projektfarben (logische Map-Keys background.*, Twig cns()).
 */

/* ==========================================================================
   background-color (neutral)
   ========================================================================== */

.cns-a6856dd {
  background-color: transparent;
}

.cns-9f0351a {
  background-color: inherit;
}

.cns-9ae8057 {
  background-color: currentColor;
}

/* ==========================================================================
   background-repeat / size / position (Layout-Hilfen)
   ========================================================================== */

.cns-2d7365c {
  background-repeat: no-repeat;
}

.cns-1f7a142 {
  background-repeat: repeat;
}

.cns-730418b {
  background-size: cover;
}

.cns-0b735b7 {
  background-size: contain;
}

.cns-bc8d790 {
  background-position: center;
}

/* --- assets/css/dist/bootstrap/cns-border.css --- */
/**
 * @file
 * Rahmen & Radius (Schema: .cns-56af00f, .cns-cb32f42, …).
 * Farbe: currentColor (keine Palettenwerte).
 * Je Utility: Basiszeile + Zeile mit Suffix -important und !important.
 */

/* ==========================================================================
   border-width (alle Seiten)
   ========================================================================== */

.cns-e0f6bbb { border-width: 0; }
.cns-bdeb6a1 { border-width: 0 !important; }
.cns-56af00f { border-width: 1px; }
.cns-3c80aa8 { border-width: 1px !important; }
.cns-ddaf6af { border-width: 2px; }
.cns-64f4e46 { border-width: 2px !important; }

/* ==========================================================================
   border-style
   ========================================================================== */

.cns-6cc79b6 { border-style: none; }
.cns-16f2e6d { border-style: none !important; }
.cns-07c71bd { border-style: solid; }
.cns-5cce720 { border-style: solid !important; }
.cns-8e4cc6d { border-style: dashed; }
.cns-d8dffb1 { border-style: dashed !important; }

/* ==========================================================================
   border-color
   ========================================================================== */

.cns-b946f4f { border-color: currentColor; }
.cns-891337f { border-color: currentColor !important; }
.cns-023d80c { border-color: transparent; }
.cns-8819c69 { border-color: transparent !important; }

/* ==========================================================================
   Kurzform: sichtbarer 1px-Rahmen mit currentColor
   ========================================================================== */

.cns-6f0de20 { border-width: 1px; border-style: solid; border-color: currentColor; }
.cns-2a3536c { border-width: 1px !important; border-style: solid !important; border-color: currentColor !important; }
.cns-683130b { border: 0; }
.cns-2a78c27 { border: 0 !important; }

/* ==========================================================================
   border-radius (px, Zahl = Klassenwert)
   ========================================================================== */

.cns-4af0a6f { border-radius: 0; }
.cns-2ade450 { border-radius: 0 !important; }
.cns-d5a3035 { border-radius: 2px; }
.cns-06e344f { border-radius: 2px !important; }
.cns-70bcdfa { border-radius: 4px; }
.cns-db50407 { border-radius: 4px !important; }
.cns-068bb21 { border-radius: 5px; }
.cns-d95e8b6 { border-radius: 5px !important; }
.cns-cb32f42 { border-radius: 8px; }
.cns-3ef63b9 { border-radius: 8px !important; }
.cns-2ac0df2 { border-radius: 10px; }
.cns-608e455 { border-radius: 10px !important; }
.cns-648747b { border-radius: 12px; }
.cns-413be4a { border-radius: 12px !important; }
.cns-49fe710 { border-radius: 15px; }
.cns-d5825a9 { border-radius: 15px !important; }
.cns-d1751f1 { border-radius: 20px; }
.cns-7935b9a { border-radius: 20px !important; }
.cns-55570ca { border-radius: 9999px; }
.cns-507c7f6 { border-radius: 9999px !important; }

/* --- assets/css/dist/bootstrap/cns-effects.css --- */
/**
 * @file
 * Opacity, Schatten, Transform, Transition (Schema: .cns-12e29c9, …).
 */

/* ==========================================================================
   opacity (Wert = Prozent im Namen)
   ========================================================================== */

.cns-458bf58 {
  opacity: 0;
}

.cns-f140327 {
  opacity: 0.25;
}

.cns-12e29c9 {
  opacity: 0.5;
}

.cns-5ba0280 {
  opacity: 0.75;
}

.cns-ccfb23e {
  opacity: 1;
}

/* ==========================================================================
   box-shadow (neutral, dezente UI-Hilfen)
   ========================================================================== */

.cns-b19210d {
  box-shadow: none;
}

.cns-4556207 {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.cns-e77bfa1 {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.cns-8947995 {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* ==========================================================================
   transform (häufige Fälle)
   ========================================================================== */

.cns-e33e037 {
  transform: none;
}

.cns-8a1de59 {
  transform: translateX(0);
}

.cns-c6da4ce {
  transform: translateY(0);
}

.cns-29fc079 {
  transform: translateY(-100%);
}

.cns-1bd568a {
  transform: translate(-50%, -50%);
}

.cns-e42e4ba {
  transform: scale(1);
}

.cns-4361bbe {
  transform: scale(0.95);
}

/* ==========================================================================
   transition
   ========================================================================== */

.cns-be78a5c {
  transition: none;
}

.cns-98076d4 {
  transition: opacity 0.15s ease;
}

.cns-0271967 {
  transition: transform 0.15s ease;
}

.cns-99a7755 {
  transition:
    color 0.15s ease,
    background-color 0.15s ease,
    border-color 0.15s ease;
}

.cns-f0188cf {
  transition: all 0.2s ease;
}

/* --- assets/css/dist/bootstrap/cns-overflow.css --- */
/**
 * @file
 * Overflow (Schema: .cns-09a42d1, .cns-3944941, …).
 */

/* ==========================================================================
   overflow
   ========================================================================== */

.cns-7e032e4 {
  overflow: visible;
}

.cns-09a42d1 {
  overflow: hidden;
}

.cns-e01a6ba {
  overflow: auto;
}

.cns-f130bb8 {
  overflow: scroll;
}

.cns-3944941 {
  overflow-x: auto;
}

.cns-c926274 {
  overflow-x: hidden;
}

.cns-63d4ac6 {
  overflow-y: auto;
}

.cns-0e0cfcd {
  overflow-y: hidden;
}

.cns-05560fd {
  overflow-x: visible;
}

.cns-b2533ac {
  overflow-x: scroll;
}

.cns-499979d {
  overflow-y: visible;
}

.cns-379ad43 {
  overflow-y: scroll;
}

/* --- assets/css/dist/bootstrap/cns-visibility.css --- */
/**
 * @file
 * Sichtbarkeit & Zeiger (Schema: .cns-e44ee11, …).
 */

/* ==========================================================================
   visibility
   ========================================================================== */

.cns-7ca7d5d {
  visibility: visible;
}

.cns-e44ee11 {
  visibility: hidden;
}

.cns-406b42e {
  visibility: collapse;
}

/* ==========================================================================
   pointer-events
   ========================================================================== */

.cns-a86ada5 {
  pointer-events: none;
}

.cns-7c336a7 {
  pointer-events: auto;
}

/* --- assets/css/dist/bootstrap/cns-zindex.css --- */
/**
 * @file
 * z-index-Stufen (logische Map-Keys z.index.*; Twig cns()).
 * Keine beliebig hohen Werte — nur diskrete Ebenen.
 */

.cns-ff2199a {
  z-index: 0;
}

.cns-3559681 {
  z-index: 1;
}

.cns-6bf67a8 {
  z-index: 10;
}

.cns-103b9a4 {
  z-index: 100;
}

.cns-dd06adf {
  z-index: 500;
}

.cns-3c6a186 {
  z-index: 1000;
}

.cns-1701516 {
  z-index: 5000;
}

/* --- assets/css/dist/bootstrap/cns-misc.css --- */
/**
 * @file
 * Kleine, quer-schnittliche Hilfen (kein Sammelort für Einmal-Lösungen).
 */

/* ==========================================================================
   box-sizing
   ========================================================================== */

.cns-45ead95 {
  box-sizing: border-box;
}

.cns-866fb34 {
  box-sizing: content-box;
}

/* ==========================================================================
   cursor
   ========================================================================== */

.cns-444bb21 {
  cursor: default;
}

.cns-d6d2b51 {
  cursor: pointer;
}

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

.cns-8fb1b2d {
  cursor: text;
}

/* ==========================================================================
   user-select
   ========================================================================== */

.cns-b751ac6 {
  user-select: none;
}

.cns-d31d85b {
  user-select: text;
}

.cns-c4d8381 {
  user-select: auto;
}

.cns-896e03b {
  user-select: all;
}

/* ==========================================================================
   object-fit (Medien in Box)
   ========================================================================== */

.cns-990265e {
  object-fit: cover;
}

.cns-e9c126e {
  object-fit: contain;
}

.cns-cd0d043 {
  object-fit: fill;
}

.cns-f8abe3f {
  object-fit: none;
}

.cns-088f837 {
  object-fit: scale-down;
}

.cns-aa3e5d3 {
  object-position: center;
}

/* ==========================================================================
   float (Legacy-Layout; je eine Eigenschaft)
   ========================================================================== */

.cns-cc064fa {
  float: none;
}

.cns-57a5007 {
  float: left;
}

.cns-05b1ccc {
  float: right;
}

/* ==========================================================================
   clear
   ========================================================================== */

.cns-744229b {
  clear: both;
}

.cns-c61efc2 {
  width: clamp(20rem, calc(29.974rem - 7.784vw), 28.125rem);
}

.cns-1b2d5d4{
  width: clamp(20rem, calc(29.974rem - 7.784vw), 28.125rem);
}

/**
 * Wie Drupal core .visually-hidden (stable9 hidden.module.css): clip wirkt nur
 * mit positioniertem Element — ohne position: absolute bleibt der Text sichtbar.
 *
 * .cns-e0a1178:not(:focus) — Map-Key visually.hidden.focusable;
 * bei Fokus wieder sichtbar (Tastatur / Screenreader).
 */
.cns-e652250,
.cns-e0a1178:not(:focus):not(:focus-within) {
  position: absolute !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  white-space: nowrap !important;
  border: 0 !important;
  word-wrap: normal !important;
}

.cns-e0a1178:active,
.cns-e0a1178:focus-within {
  position: static !important;
  overflow: visible !important;
  clip: auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

/* --- assets/css/dist/bootstrap/cns-layer.css --- */
/**
 * @file
 * Stacking-Layer (logische Map-Keys layer.*; Twig cns()).
 * Ergänzt z.index.* um feste Ebenen (u. a. 1020, 1030 wie Bootstrap fixed/sticky navbar).
 */

.cns-fb74213 {
  z-index: 0;
}

.cns-3877f1e {
  z-index: 1;
}

.cns-8391a5a {
  z-index: 10;
}

.cns-9f22323 {
  z-index: 100;
}

.cns-f04b653 {
  z-index: 500;
}

.cns-009f9bf {
  z-index: 1000;
}

.cns-ac08cb7 {
  z-index: 1020;
}

.cns-4423e5d {
  z-index: 1030;
}

/* --- assets/css/dist/bootstrap/cns-list.css --- */
.cns-94211d4 {
  list-style: none;
}

/* === assets/css/base/elements.css === */


/* === assets/css/colors/colors.css === */
.pagination {
  --bs-pagination-active-bg: var(--bs-primary);
  --bs-pagination-active-border-color: var(--bs-primary);
}

/* --bb-primary-text ist für Text auf hellem Grund; auf --bs-primary (#064771) gehört helle Schrift. */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bb-primary-dark);
  --bs-btn-hover-border-color: var(--bb-primary-dark);
  --bs-btn-focus-shadow-rgb: 167, 50, 62;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bb-primary-dark);
  --bs-btn-active-border-color: var(--bb-primary-dark);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bb-secondary-dark);
  --bs-btn-hover-border-color: var(--bb-secondary-dark);
  --bs-btn-focus-shadow-rgb: 167, 50, 62;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bb-secondary-dark);
  --bs-btn-active-border-color: var(--bb-secondary-dark);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--bs-secondary);
  --bs-btn-disabled-border-color: var(--bs-secondary);
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bb-primary-dark);
  --bs-btn-hover-border-color: var(--bb-primary-dark);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bb-primary-dark);
  --bs-btn-active-border-color: var(--bb-primary-dark);
  --bs-btn-disabled-color: var(--bb-primary-dark);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--bb-primary-dark);
}

.btn-outline-secondary {
  --bs-btn-color: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bb-secondary-dark);
  --bs-btn-hover-border-color: var(--bb-secondary-dark);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bb-secondary-dark);
  --bs-btn-active-border-color: var(--bb-secondary-dark);
  --bs-btn-disabled-color: var(--bb-secondary-dark);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--bb-secondary-dark);
}

h1, .h1 {
  color: var(--bb-h1-color);
}
h2, .h2 {
  color: var(--bb-h2-color);
}
h3, .h3 {
  color: var(--bb-h3-color);
}

/* === assets/css/colors/messages/messages-dark.css === */
/**
 * @file
 * Visual styles for Bootstrap's system messages.
 */

.alert-success {
  color: white;
  background-color: #007e33;
  border-color: #012911;
}

.alert-warning {
  color: white;
  background-color: #ff8800;
  border-color: #e07903;
}

.alert-danger {
  color: white;
  background-color: #cc0000;
  border-color: #7a0c0c;
}

.alert-dismissible .btn-close {
  opacity: 0.6;
}

/* === assets/css/colors/messages/messages-gray.css === */
/**
 * @file
 * Visual styles for Bootstrap's system messages.
 */

.alert-success {
  color: white;
  background-color: #333;
  border-left: #28a745 15px solid;
}
.alert-warning {
  color: white;
  background-color: #333;
  border-left: #ff8800 15px solid;
}
.alert-danger {
  color: white;
  background-color: #333;
  border-left: #cc0000 15px solid;
}
.alert-dismissible .btn-close {
  opacity: 0.6;
}

/* === assets/css/colors/messages/messages-light.css === */
/**
 * @file
 * Visual styles for Bootstrap's system messages.
 */

.alert-success {
  color: white;
  background-color: #00c851;
  border-color: #007e33;
}
.alert-warning {
  color: white;
  background-color: #ffbb33;
  border-color: #ff8800;
}
.alert-danger {
  color: white;
  background-color: #ff4444;
  border-color: #cc0000;
}
.alert-dismissible .btn-close {
  opacity: 0.6;
}

/* === assets/css/colors/messages/messages-white.css === */
/**
 * @file
 * Visual styles for Bootstrap's system messages.
 */

.alert-success {
  color: #333;
  background-color: white;
  border-left: #28a745 15px solid;
}
.alert-warning {
  color: #333;
  background-color: white;
  border-left: #ff8800 15px solid;
}
.alert-danger {
  color: #333;
  background-color: white;
  border-left: #cc0000 15px solid;
}
.alert-dismissible .btn-close {
  opacity: 0.6;
}

/* === assets/css/components/affix.css === */
/**
 * @file
 * Styles for Bootstrap affix effect.
 */

.affix {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1035;
  left: 0;
}

/* === assets/css/components/alerts.css === */
/**
 * @file
 * Visual styles for comments in Bootstrap.
 */

.alert-wrapper {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  max-height: 75vh;
  z-index: 9999;
}

.alert-wrapper .alert {
  overflow-y: auto;
  margin-bottom: 0;
}

.toast-wrapper {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
}

.alert svg{
  max-width: 2rem;
}

/* === assets/css/components/book-navigation.css === */
/**
 * @file
 * Styling for the Book module.
 */

.book-navigation .menu {
  padding-bottom: 0;
  padding-top: 1em;
}
.book-navigation .book-pager {
  margin: 0;
  overflow: auto;
  padding: 0.5em 0;
}
.book-pager__item {
  display: inline-block;
  list-style-type: none;
  vertical-align: top;
}
.book-pager__item--previous {
  text-align: left; /* LTR */
  width: 45%;
}
[dir="rtl"] .book-pager__item--previous {
  float: right;
  text-align: right;
}
.book-pager__item--center {
  text-align: center;
  width: 8%;
}
.book-pager__item--next {
  float: right; /* LTR */
  text-align: right; /* LTR */
  width: 45%;
}
[dir="rtl"] .book-pager__item--next {
  float: left;
  text-align: left;
}

/* === assets/css/components/book.css === */
/**
 * @file
 * Bootstrap specific styling for the Book module.
 */

.book-navigation .menu {
  border-top: 1px solid #d6d6d6;
}
.book-navigation .book-pager {
  border-bottom: 1px solid #d6d6d6;
  border-top: 1px solid #d6d6d6;
  margin: 0;
}

/* === assets/css/components/bootstrap-icons.css === */
.user-pass .form-item-name label::before,
.user-register-form .form-item-name label::before,
.user-login-form .form-item-name label::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-person" width="1em" height="1em" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M13 14s1 0 1-1-1-4-6-4-6 3-6 4 1 1 1 1h10zm-9.995-.944v-.002.002zM3.022 13h9.956a.274.274 0 00.014-.002l.008-.002c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664a1.05 1.05 0 00.022.004zm9.974.056v-.002.002zM8 7a2 2 0 100-4 2 2 0 000 4zm3-2a3 3 0 11-6 0 3 3 0 016 0z" clip-rule="evenodd"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1.5rem 1.5rem;
  background-size: 1.5rem 1.5rem;
  background-position: 0 0.4rem;
  width: 1.75rem;
  height: 1.75rem;
}

.user-pass .form-type-password label::before,
.user-register-form .form-type-password label::before,
.user-login-form .form-type-password label::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-lock" width="1em" height="1em" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M11.5 8h-7a1 1 0 00-1 1v5a1 1 0 001 1h7a1 1 0 001-1V9a1 1 0 00-1-1zm-7-1a2 2 0 00-2 2v5a2 2 0 002 2h7a2 2 0 002-2V9a2 2 0 00-2-2h-7zm0-3a3.5 3.5 0 117 0v3h-1V4a2.5 2.5 0 00-5 0v3h-1V4z" clip-rule="evenodd"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1.5rem 1.5rem;
  background-size: 1.5rem 1.5rem;
  background-position: 0 0.25rem;
  width: 1.75rem;
  height: 1.75rem;
}

.user-pass .form-type-email label::before,
.user-register-form .form-type-email label::before,
.user-login-form .form-type-email label::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-envelope" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M14 3H2a1 1 0 00-1 1v8a1 1 0 001 1h12a1 1 0 001-1V4a1 1 0 00-1-1zM2 2a2 2 0 00-2 2v8a2 2 0 002 2h12a2 2 0 002-2V4a2 2 0 00-2-2H2z" clip-rule="evenodd"/><path fill-rule="evenodd" d="M.071 4.243a.5.5 0 01.686-.172L8 8.417l7.243-4.346a.5.5 0 01.514.858L8 9.583.243 4.93a.5.5 0 01-.172-.686z" clip-rule="evenodd"/><path d="M6.752 8.932l.432-.252-.504-.864-.432.252.504.864zm-6 3.5l6-3.5-.504-.864-6 3.5.504.864zm8.496-3.5l-.432-.252.504-.864.432.252-.504.864zm6 3.5l-6-3.5.504-.864 6 3.5-.504.864z"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1.5rem 1.5rem;
  background-size: 1.5rem 1.5rem;
  background-position: 0 0.4rem;
  width: 1.75rem;
  height: 1.75rem;
}

.user-pass .form-item-user-picture-0 label::before,
.user-register-form .form-item-user-picture-0 label::before,
.user-login-form .form-item-user-picture-0 label::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-person-square" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M14 1H2a1 1 0 00-1 1v12a1 1 0 001 1h12a1 1 0 001-1V2a1 1 0 00-1-1zM2 0a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V2a2 2 0 00-2-2H2z" clip-rule="evenodd"/><path fill-rule="evenodd" d="M2 15v-1c0-1 1-4 6-4s6 3 6 4v1H2zm6-6a3 3 0 100-6 3 3 0 000 6z" clip-rule="evenodd"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1.5rem 1.5rem;
  background-size: 1.5rem 1.5rem;
  background-position: 0 0.25rem;
  width: 1.75rem;
  height: 1.75rem;
}

.form-submit::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-check" width="1em" height="1em" viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M13.854 3.646a.5.5 0 010 .708l-7 7a.5.5 0 01-.708 0l-3.5-3.5a.5.5 0 11.708-.708L6.5 10.293l6.646-6.647a.5.5 0 01.708 0z" clip-rule="evenodd"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1rem 1rem;
  background-size: 1rem 1rem;
  background-position: 0 0.25rem;
  width: 1.5rem;
  height: 1.2rem;
}

.search-form .form-submit::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-search" width="1em" height="1em" viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10.442 10.442a1 1 0 011.415 0l3.85 3.85a1 1 0 01-1.414 1.415l-3.85-3.85a1 1 0 010-1.415z" clip-rule="evenodd"/><path fill-rule="evenodd" d="M6.5 12a5.5 5.5 0 100-11 5.5 5.5 0 000 11zM13 6.5a6.5 6.5 0 11-13 0 6.5 6.5 0 0113 0z" clip-rule="evenodd"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1rem 1rem;
  background-size: 1rem 1rem;
  background-position: 0 0.25rem;
  width: 1.5rem;
  height: 1.2rem;
}

a.nav-link--::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-house" width="1em" height="1em" viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M2 13.5V7h1v6.5a.5.5 0 00.5.5h9a.5.5 0 00.5-.5V7h1v6.5a1.5 1.5 0 01-1.5 1.5h-9A1.5 1.5 0 012 13.5zm11-11V6l-2-2V2.5a.5.5 0 01.5-.5h1a.5.5 0 01.5.5z" clip-rule="evenodd"/><path fill-rule="evenodd" d="M7.293 1.5a1 1 0 011.414 0l6.647 6.646a.5.5 0 01-.708.708L8 2.207 1.354 8.854a.5.5 0 11-.708-.708L7.293 1.5z" clip-rule="evenodd"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1rem 1rem;
  background-size: 1rem 1rem;
  background-position: 0 0.25rem;
  width: 1.5rem;
  height: 1.2rem;
}

a.nav-link--user-login::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-unlock" width="1em" height="1em" viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M9.655 8H2.333c-.264 0-.398.068-.471.121a.73.73 0 00-.224.296 1.626 1.626 0 00-.138.59V14c0 .342.076.531.14.635.064.106.151.18.256.237a1.122 1.122 0 00.436.127l.013.001h7.322c.264 0 .398-.068.471-.121a.73.73 0 00.224-.296 1.627 1.627 0 00.138-.59V9c0-.342-.076-.531-.14-.635a.658.658 0 00-.255-.237A1.122 1.122 0 009.655 8zm.012-1H2.333C.5 7 .5 9 .5 9v5c0 2 1.833 2 1.833 2h7.334c1.833 0 1.833-2 1.833-2V9c0-2-1.833-2-1.833-2zM8.5 4a3.5 3.5 0 117 0v3h-1V4a2.5 2.5 0 00-5 0v3h-1V4z" clip-rule="evenodd"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1rem 1rem;
  background-size: 1rem 1rem;
  background-position: 0 0.20rem;
  width: 1.5rem;
  height: 1.2rem;
}

a.nav-link--user-logout::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-lock" width="1em" height="1em" viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M11.5 8h-7a1 1 0 00-1 1v5a1 1 0 001 1h7a1 1 0 001-1V9a1 1 0 00-1-1zm-7-1a2 2 0 00-2 2v5a2 2 0 002 2h7a2 2 0 002-2V9a2 2 0 00-2-2h-7zm0-3a3.5 3.5 0 117 0v3h-1V4a2.5 2.5 0 00-5 0v3h-1V4z" clip-rule="evenodd"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1rem 1rem;
  background-size: 1rem 1rem;
  background-position: 0 0.20rem;
  width: 1.5rem;
  height: 1.2rem;
}

a.nav-link--user::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-person-check" width="1em" height="1em" viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M11 14s1 0 1-1-1-4-6-4-6 3-6 4 1 1 1 1h10zm-9.995-.944v-.002.002zM1.022 13h9.956a.274.274 0 00.014-.002l.008-.002c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664a1.05 1.05 0 00.022.004zm9.974.056v-.002.002zM6 7a2 2 0 100-4 2 2 0 000 4zm3-2a3 3 0 11-6 0 3 3 0 016 0zm6.854.146a.5.5 0 010 .708l-3 3a.5.5 0 01-.708 0l-1.5-1.5a.5.5 0 01.708-.708L12.5 7.793l2.646-2.647a.5.5 0 01.708 0z" clip-rule="evenodd"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1rem 1rem;
  background-size: 1rem 1rem;
  background-position: 0 0.25rem;
  width: 1.5rem;
  height: 1.2rem;
}

a.nav-link--contact::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-envelope" width="1em" height="1em" viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M14 3H2a1 1 0 00-1 1v8a1 1 0 001 1h12a1 1 0 001-1V4a1 1 0 00-1-1zM2 2a2 2 0 00-2 2v8a2 2 0 002 2h12a2 2 0 002-2V4a2 2 0 00-2-2H2z" clip-rule="evenodd"/><path fill-rule="evenodd" d="M.071 4.243a.5.5 0 01.686-.172L8 8.417l7.243-4.346a.5.5 0 01.514.858L8 9.583.243 4.93a.5.5 0 01-.172-.686z" clip-rule="evenodd"/><path d="M6.752 8.932l.432-.252-.504-.864-.432.252.504.864zm-6 3.5l6-3.5-.504-.864-6 3.5.504.864zm8.496-3.5l-.432-.252.504-.864.432.252-.504.864zm6 3.5l-6-3.5.504-.864 6 3.5-.504.864z"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1rem 1rem;
  background-size: 1rem 1rem;
  background-position: 0 0.25rem;
  width: 1.5rem;
  height: 1.2rem;
}

a.nav-link--user-register::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-person-plus" width="1em" height="1em" viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M11 14s1 0 1-1-1-4-6-4-6 3-6 4 1 1 1 1h10zm-9.995-.944v-.002.002zM1.022 13h9.956a.274.274 0 00.014-.002l.008-.002c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664a1.05 1.05 0 00.022.004zm9.974.056v-.002.002zM6 7a2 2 0 100-4 2 2 0 000 4zm3-2a3 3 0 11-6 0 3 3 0 016 0zm4.5 0a.5.5 0 01.5.5v2a.5.5 0 01-.5.5h-2a.5.5 0 010-1H13V5.5a.5.5 0 01.5-.5z" clip-rule="evenodd"/><path fill-rule="evenodd" d="M13 7.5a.5.5 0 01.5-.5h2a.5.5 0 010 1H14v1.5a.5.5 0 01-1 0v-2z" clip-rule="evenodd"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1rem 1rem;
  background-size: 1rem 1rem;
  background-position: 0 0.25rem;
  width: 1.5rem;
  height: 1.2rem;
}

a.nav-link--user-password::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-lock" width="1em" height="1em" viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M11.5 8h-7a1 1 0 00-1 1v5a1 1 0 001 1h7a1 1 0 001-1V9a1 1 0 00-1-1zm-7-1a2 2 0 00-2 2v5a2 2 0 002 2h7a2 2 0 002-2V9a2 2 0 00-2-2h-7zm0-3a3.5 3.5 0 117 0v3h-1V4a2.5 2.5 0 00-5 0v3h-1V4z" clip-rule="evenodd"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1rem 1rem;
  background-size: 1rem 1rem;
  background-position: 0 0.20rem;
  width: 1.5rem;
  height: 1.2rem;
}

.tabs a.nav-link--user-login::before {
  background-image: url('data:image/svg+xml,<svg class="bi bi-unlock" width="1em" height="1em" viewBox="0 0 16 16" fill="black" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M9.655 8H2.333c-.264 0-.398.068-.471.121a.73.73 0 00-.224.296 1.626 1.626 0 00-.138.59V14c0 .342.076.531.14.635.064.106.151.18.256.237a1.122 1.122 0 00.436.127l.013.001h7.322c.264 0 .398-.068.471-.121a.73.73 0 00.224-.296 1.627 1.627 0 00.138-.59V9c0-.342-.076-.531-.14-.635a.658.658 0 00-.255-.237A1.122 1.122 0 009.655 8zm.012-1H2.333C.5 7 .5 9 .5 9v5c0 2 1.833 2 1.833 2h7.334c1.833 0 1.833-2 1.833-2V9c0-2-1.833-2-1.833-2zM8.5 4a3.5 3.5 0 117 0v3h-1V4a2.5 2.5 0 00-5 0v3h-1V4z" clip-rule="evenodd"/></svg>');
}
.tabs a.nav-link--user-register::before {
  background-image: url('data:image/svg+xml,<svg class="bi bi-person-plus" width="1em" height="1em" viewBox="0 0 16 16" fill="black" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M11 14s1 0 1-1-1-4-6-4-6 3-6 4 1 1 1 1h10zm-9.995-.944v-.002.002zM1.022 13h9.956a.274.274 0 00.014-.002l.008-.002c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664a1.05 1.05 0 00.022.004zm9.974.056v-.002.002zM6 7a2 2 0 100-4 2 2 0 000 4zm3-2a3 3 0 11-6 0 3 3 0 016 0zm4.5 0a.5.5 0 01.5.5v2a.5.5 0 01-.5.5h-2a.5.5 0 010-1H13V5.5a.5.5 0 01.5-.5z" clip-rule="evenodd"/><path fill-rule="evenodd" d="M13 7.5a.5.5 0 01.5-.5h2a.5.5 0 010 1H14v1.5a.5.5 0 01-1 0v-2z" clip-rule="evenodd"/></svg>');
}
.tabs a.nav-link--user-password::before {
  background-image: url('data:image/svg+xml,<svg class="bi bi-lock" width="1em" height="1em" viewBox="0 0 16 16" fill="black" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M11.5 8h-7a1 1 0 00-1 1v5a1 1 0 001 1h7a1 1 0 001-1V9a1 1 0 00-1-1zm-7-1a2 2 0 00-2 2v5a2 2 0 002 2h7a2 2 0 002-2V9a2 2 0 00-2-2h-7zm0-3a3.5 3.5 0 117 0v3h-1V4a2.5 2.5 0 00-5 0v3h-1V4z" clip-rule="evenodd"/></svg>');
}


ol.breadcrumb li:first-child a::before {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml,<svg class="bi bi-house" width="1em" height="1em" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M2 13.5V7h1v6.5a.5.5 0 00.5.5h9a.5.5 0 00.5-.5V7h1v6.5a1.5 1.5 0 01-1.5 1.5h-9A1.5 1.5 0 012 13.5zm11-11V6l-2-2V2.5a.5.5 0 01.5-.5h1a.5.5 0 01.5.5z" clip-rule="evenodd"/><path fill-rule="evenodd" d="M7.293 1.5a1 1 0 011.414 0l6.647 6.646a.5.5 0 01-.708.708L8 2.207 1.354 8.854a.5.5 0 11-.708-.708L7.293 1.5z" clip-rule="evenodd"/></svg>');
  background-repeat: no-repeat;
  -webkit-background-size: 1rem 1rem;
  background-size: 1rem 1rem;
  background-position: 0 0.15rem;
  width: 1.5rem;
  height: 1.1rem;
}

/* === assets/css/components/breadcrumb.css === */
/**
 * @file
 * Styles for Bootstrap's breadcrumbs.
 */

.breadcrumb {
  font-size: 0.929em;
}

/* === assets/css/components/color-picker.css === */
/*
 * DO NOT EDIT THIS FILE.
 * See the following change record for more information,
 * https://www.drupal.org/node/3084859
 * @preserve
 */

/**
 * @file
 * Color picker styles. These appear within theme settings when selecting a custom color.
 */

[data-drupal-selector="bootstrap-color-picker"] input[type="color"] {
  margin-left: 0.8125rem;
  vertical-align: bottom;
}

/* === assets/css/components/comments.css === */
/**
 * @file
 * Visual styles for comments in Bartik.
 */

/* This is required to win over specificity of #content h2 */
.main-content .comment-wrapper .comment-form__title {
  margin-bottom: 1em;
}
.field-node--comment {
  font-size: 0.934em;
}
.comment {
  margin-bottom: 19px;
  vertical-align: top;
  display: flex;
}
[dir="rtl"] .comment {
  direction: rtl;
}

.comment__meta {
  padding: 0 30px 0 0; /* LTR */
  font-size: 1.071em;
  text-align: center;
}
[dir="rtl"] .comment__meta {
  padding: 0 0 0 30px;
}
.comment__attribution img {
  border: 1px solid #d3d7d9;
}
.field--name-user-picture {
  margin: 0 auto;
  float: none;
}
/* This is required to win over specificity of .field--type-image img */
.comment .field--name-user-picture img {
  margin: 0;
}
.comment__author .username {
  white-space: nowrap;
}
.comment__author {
  margin: 4px 0;
  line-height: 1.2;
  font-weight: bold;
  font-size: 1.25rem;
}
.comment__time,
.comment__permalink {
  margin-bottom: 4px;
  color: #68696b;
  font-size: 0.733em;
  line-height: 1.2;
  padding: 0 0.5em 0 0; /* LTR */
}
[dir="rtl"] .comment__time,
.comment__permalink {
  padding: 0 0 0 0.5em;
}
.comment__permalink {
  font-size: 0.733em;
  line-height: 1.2;
}

.comment__content:before {
  content: '';
  position: absolute;
  right: 100%; /* LTR */
  top: 20px;
  border-top: 20px solid transparent;
  border-right: 20px solid #d3d7d9; /* LTR */
  border-bottom: 20px solid transparent;
}
[dir="rtl"] .comment__content:before {
  right: auto;
  left: 100%;
  border-right: none;
  border-left: 20px solid #d3d7d9;
}
.comment__content:after {
  content: '';
  position: absolute;
  right: 100%; /* LTR */
  top: 20px;
  border-top: 20px solid transparent;
  border-right: 20px solid #fff; /* LTR */
  border-bottom: 20px solid transparent;
  margin-right: -1px; /* LTR */
}
[dir="rtl"] .comment__content:after {
  right: auto;
  left: 100%;
  border-right: none;
  border-left: 20px solid #fff;
  margin-right: 0;
  margin-left: -1px;
}
.comment__content h3 {
  margin-top: 0.94em;
  margin-bottom: 0.45em;
  font-size: 1.171em;
}
.comment__content nav {
  padding-top: 1px;
}
.indented {
  margin-left: 40px; /* LTR */
}
[dir="rtl"] .indented {
  margin-right: 40px;
  margin-left: 0;
}
.comment .links {
  padding: 0 0 0.25em 0;
}
.comment .links-inline span {
  padding: 0 0.5em 0 0; /* LTR */
  font-size: 1.08em;
}
[dir="rtl"] .comment .links-inline span {
  padding: 0 0 0 0.5em;
}
.comment--unpublished {
  margin-right: 5px; /* LTR */
  padding: 5px 2px 5px 5px; /* LTR */
  background: #fff4f4;
}
[dir="rtl"] .comment--unpublished {
  margin-left: 5px;
  margin-right: 0;
  padding: 5px 5px 5px 2px;
}

/**
 * @todo: unpublished nodes have class .node--unpublished.
 * change this to .comment--unpublished.
 */
.unpublished .comment-text .comment-arrow {
  border-left: 1px solid #fff4f4;
  border-right: 1px solid #fff4f4;
}
.unpublished {
  padding: 20px 15px 0;
}
.comment-footer {
  display: table-row;
}
.comment--unpublished .comment__text:after,
.node--unpublished .comment__text:after {
  border-right-color: #fff4f4; /* LTR */
}
[dir="rtl"] .comment--unpublished .comment__content:after,
[dir="rtl"] .node--unpublished .comment__content:after {
  border-left-color: #fff4f4;
}

/* === assets/css/components/commerce.css === */
.views-field-variations > span > div {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

.views-field-variations > span > div > div {
  display: inline-block;
}

.views-field-variations {
  margin-bottom: 0;
}

.views-field-variations .field--name-price {
  display: inline-block;
  width: 70px;
  text-align: right;
  padding-bottom: 1.2rem;
}

.views-field-variations .field--type-entity-reference {
  padding-left: 1rem;
}

.views-field-variations .commerce-order-item-variation-cart-form-form {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
}

.views-field-variations .commerce-order-item-variation-cart-form-form .field--name-purchased-entity {
  padding: 0;
  margin: 0;
}

.views-field-variations .commerce-order-item-variation-cart-form-form .field--name-quantity {
  display: inline-block;
  margin-bottom: 0;
  padding: 0;
}

.views-field-variations .commerce-order-item-variation-cart-form-form .field--name-quantity label {
  display: none;
}

.views-field-variations .commerce-order-item-variation-cart-form-form .field--name-quantity input {
  width: 50px;
}

.views-field-variations .commerce-order-item-variation-cart-form-form .form-actions {
  display: inline-block;
  margin-bottom: 0;
  padding: 0;
}

#edit-shipping-information .col-auto,
#edit-payment-information-billing-information .col-auto,
#edit-payment-information-billing-information.col-auto,
#edit-order-summary .col-auto,
#edit-order-summary.col-auto {
  padding: 0;
}

#edit-shipping-information #edit-shipping-information-shipping-profile-field-ruc-wrapper {
  display: none;
}

.view-id-listado_de_productos .views-row > div {
  display: inline-block;
}

.view-id-listado_de_productos .views-row {
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.view-id-listado_de_productos .views-row .views-field-title {
  width: 320px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

.cart-block--contents {
  font-size: 0.75rem;
  width: auto;
}

.cart-block--contents .cart-block--contents__items {
  max-height: inherit;
  overflow-y: hidden;
  overflow-x: hidden;
}

.cart--cart-offcanvas {
  font-size: 0.75rem;
}

.cart--cart-offcanvas .cart-block--offcanvas-contents__links {
  padding: 0.5rem 1rem;
}

.cart--cart-offcanvas .cart-block--offcanvas-contents__links a {
  text-decoration: none;
}

.cart--cart-offcanvas .btn-close {
  padding: 0.25rem;
}

.cart--cart-offcanvas table td.cart-block--offcanvas-cart-table__title,
.cart--cart-offcanvas table td.cart-block--offcanvas-cart-table__price {
  padding: 0.5rem 0.25rem !important;
}

.cart--cart-offcanvas table td.cart-block--offcanvas-cart-table__quantity {
  padding: 0.25rem !important;
}

.cart--cart-offcanvas table .btn {
  font-size: 0.75rem;
}
.cart--cart-offcanvas table tfoot .btn {
  font-size: 0.75rem;
  margin-top: 0.5rem;
}

/* === assets/css/components/contextual.css === */
/**
 * @file
 * Contextual links styles for Bootstrap.
 */

.contextual-links a {
  border-bottom: none;
  text-shadow: 0 0 0;
}

/* === assets/css/components/details.css === */
/**
 * @file
 * Collapsible details.
 *
 * @see collapse.js
 * @see http://nicolasgallagher.com/css-background-image-hacks/
 */

details {
  border: var(--bs-border-style) var(--bs-border-width) var(--bs-border-color);
  margin-top: 1rem;
  margin-bottom: 1rem;
}

details summary {
  cursor: pointer;
  padding: 1rem;
  font-weight: bold;
}

details summary:hover {
  background-color: var(--bs-secondary-bg);
}

details>.details-wrapper {
  margin: 1rem;
}

/* === assets/css/components/dropbutton.component.css === */
/**
 * @file
 * Visual styles for Bartik's dropbutton component.
 */

.js .dropbutton-wrapper .dropbutton-widget {
  /* This is required to win over specifity of .js td .dropbutton-widget */
  position: relative;
}

.js .dropbutton-widget {
  border: 1px solid;
  border-color: #e4e4e4 #d2d2d2 #b4b4b4 #d2d2d2;
  background-color: #fff;
  background-image: -webkit-linear-gradient(top, #f3f3f3, #e8e8e8);
  background-image: linear-gradient(to bottom, #f3f3f3, #e8e8e8);
  color: #3a3a3a;
  cursor: pointer;
  text-align: center;
  margin: 0.125em 0;
  border-radius: 1em;
  overflow: hidden;
}

.js .dropbutton-widget:hover {
  border-color: #e4e4e4 #d2d2d2 #b4b4b4 #d2d2d2;
}

.js .dropbutton-widget .button {
  border: none;
  margin: 0;
  padding: 0.32em 1em;
  background: transparent none;
  color: inherit;
}

.js .dropbutton-multiple .dropbutton-widget .dropbutton-action a {
  margin-right: 0;
  /* LTR */
}

[dir="rtl"].js .dropbutton-multiple .dropbutton-widget .dropbutton-action a {
  margin-left: 0;
}

.js .dropbutton .secondary-action {
  border-top-color: #ccc;
}

.js .dropbutton-toggle button {
  background-color: #e8e8e8;
  background-image: -webkit-linear-gradient(top, #e8e8e8, #d2d2d2);
  background-image: linear-gradient(to bottom, #e8e8e8, #d2d2d2);
}

.js .dropbutton-toggle .dropbutton-arrow:hover {
  background: #ccc;
}

.js .dropbutton a {
  color: #3a3a3a;
  border-bottom: 0 none;
}

.js .dropbutton .dropbutton-action:hover,
.js .dropbutton a:hover {
  background: #dedede;
  border-bottom: 0 none;
}

/* === assets/css/components/dropbutton.css === */
/**
 * @file
 * General styles for dropbuttons.
 */
.js .dropbutton-widget {
  background-color: white;
  border: 1px solid #cccccc;
}
.js .dropbutton-widget:hover {
  border-color: #b8b8b8;
}
.dropbutton .dropbutton-action>* {
  padding: 0.1em 0.5em;
  white-space: nowrap;
}
.dropbutton .secondary-action {
  border-top: 1px solid #e8e8e8;
}
.dropbutton-multiple .dropbutton {
  border-right: 1px solid #e8e8e8;
  /* LTR */
}
[dir="rtl"] .dropbutton-multiple .dropbutton {
  border-left: 1px solid #e8e8e8;
  border-right: 0 none;
}
.dropbutton-multiple .dropbutton .dropbutton-action>* {
  margin-right: 0.25em;
  /* LTR */
}
[dir="rtl"] .dropbutton-multiple .dropbutton .dropbutton-action>* {
  margin-left: 0.25em;
  margin-right: 0;
}
.js td .dropbutton-multiple {
  padding-right: 10em;
  margin-right: 2em;
  max-width: 100%;
}
.js td .dropbutton-wrapper {
  min-height: 2em;
}
.js .dropbutton-wrapper,
.js .dropbutton-widget {
  display: block;
  position: relative;
}
.js td .dropbutton-widget {
  position: absolute;
}

/* === assets/css/components/feed-icon.css === */
/**
 * @file
 * Feed icon styles for Bootstrap.
 */

.feed-icon {
  border-bottom: none;
  display: inline-block;
  padding: 15px 0 0 0;
}

/* === assets/css/components/field.css === */
/**
 * @file
 * Visual styles for Bootstrap's field components.
 */

.field--type-entity-reference {
  margin: 0 0 1.2em;
}
.field--type-entity-reference .field__label {
  font-weight: normal;
  margin: 0;
  padding-right: 5px; /* LTR */
}
[dir="rtl"] .field--type-entity-reference .field__label {
  padding-left: 5px;
  padding-right: 0;
}
.field--type-entity-reference ul.links {
  padding: 0;
  margin: 0;
  list-style: none;
}
.field--type-entity-reference ul.links li {
  float: left; /* LTR */
  padding: 0 1em 0 0; /* LTR */
  white-space: nowrap;
}
[dir="rtl"] .field--type-entity-reference ul.links li {
  padding: 0 0 0 1em;
  float: right;
}
@media all and (min-width: 560px) {
  .node .field--type-image {
    float: left; /* LTR */
    margin: 0 1em 0 0; /* LTR */
  }
  [dir="rtl"] .node .field--type-image {
    float: right;
    margin: 0 0 0 1em;
  }
  .node .field--type-image + .field--type-image {
    clear: both;
  }
}
.field--type-image img,
.field--name-field-user-picture img {
  margin: 0 0 1em;
}
.field--type-image a {
  border-bottom: none;
}
.field--name-field-tags {
  margin: 0 0 1.2em;
}
.field--name-field-tags .field__label {
  font-weight: normal;
  margin: 0;
  padding-right: 5px; /* LTR */
}
[dir="rtl"] .field--name-field-tags .field__label {
  padding-left: 5px;
  padding-right: 0;
}
.field--name-field-tags .field__label,
.field--name-field-tags ul.links {
  font-size: 0.8em;
}
.node--view-mode-teaser .field--name-field-tags .field__label,
.node--view-mode-teaser .field--name-field-tags ul.links {
  font-size: 0.821em;
}
.field--name-field-tags ul.links {
  padding: 0;
  margin: 0;
}
.field--name-field-tags ul.links li {
  float: left; /* LTR */
  padding: 0 1em 0 0; /* LTR */
  white-space: nowrap;
}
[dir="rtl"] .field--name-field-tags ul.links li {
  padding: 0 0 0 1em;
  float: right;
}
.field--label-inline .field__label,
.field--label-inline .field__items,
.field--label-inline .field__item {
  display: inline-block;
}

/* === assets/css/components/file.css === */
/**
 * @file
 * Default style for file module.
 */

/* File icons.*/

.file {
  padding-left: 20px; /* LTR */
  display: inline-block;
  min-height: 16px;
  background-repeat: no-repeat;
  background-position: left center; /* LTR */
}
[dir="rtl"] .file {
  padding-left: inherit;
  padding-right: 20px;
  background-position: right center;
}
.file--general,
.file--application-octet-stream {
  background-image: url(/themes/contrib/bootstrap/images/icons/application-octet-stream.png);
}
.file--package-x-generic {
  background-image: url(/themes/contrib/bootstrap/images/icons/package-x-generic.png);
}
.file--x-office-spreadsheet {
  background-image: url(/themes/contrib/bootstrap/images/icons/x-office-spreadsheet.png);
}
.file--x-office-document {
  background-image: url(/themes/contrib/bootstrap/images/icons/x-office-document.png);
}
.file--x-office-presentation {
  background-image: url(/themes/contrib/bootstrap/images/icons/x-office-presentation.png);
}
.file--text-x-script {
  background-image: url(/themes/contrib/bootstrap/images/icons/text-x-script.png);
}
.file--text-html {
  background-image: url(/themes/contrib/bootstrap/images/icons/text-html.png);
}
.file--text-plain {
  background-image: url(/themes/contrib/bootstrap/images/icons/text-plain.png);
}
.file--application-pdf {
  background-image: url(/themes/contrib/bootstrap/images/icons/application-pdf.png);
}
.file--application-x-executable {
  background-image: url(/themes/contrib/bootstrap/images/icons/application-x-executable.png);
}
.file--audio {
  background-image: url(/themes/contrib/bootstrap/images/icons/audio-x-generic.png);
}
.file--video {
  background-image: url(/themes/contrib/bootstrap/images/icons/video-x-generic.png);
}
.file--text {
  background-image: url(/themes/contrib/bootstrap/images/icons/text-x-generic.png);
}
.file--image {
  background-image: url(/themes/contrib/bootstrap/images/icons/image-x-generic.png);
}

/* === assets/css/components/form.css === */
/**
 * @file
 * Visual styles for Bootstrap's form components.
 */

.form-required::after {
  content: '';
  vertical-align: super;
  display: inline-block;
  background-image: url(../../images/required.svg);
  background-repeat: no-repeat;
  background-size: 7px 7px;
  width: 7px;
  height: 7px;
  margin: 0 0.3em;
}

form .form-actions {
  align-self: flex-end;
}

form .filter-wrapper {
  padding-left: 0;
  padding-right: 0;
  margin-left: 1rem;
  margin-right: 1rem;
}

form .form-type-textarea {
  margin-bottom: 0;
}

/* link-edit-summary css */
.link-edit-summary {
  border: 0;
  background: none;
  text-decoration: underline;
  color: var(--bs-link-color);
}

.image-button.form-control {
  border:none;
}

/* === assets/css/components/forum.css === */
/**
 * @file
 * Styling for the Forum module.
 */

.forum__description {
  margin: 0.5em;
  font-size: 0.9em;
}
.forum__icon {
  float: left; /* LTR */
  width: 24px;
  height: 24px;
  margin: 0 9px 0 0; /* LTR */
  background-image: url(/themes/contrib/bootstrap/images/icons/forum-icons.png);
  background-repeat: no-repeat;
}
[dir="rtl"] .forum__icon {
  float: right;
  margin: 0 0 0 9px;
}
.forum__title {
  overflow: hidden;
}
.forum .indented {
  margin-left: 20px; /* LTR */
}
[dir="rtl"] .forum .indented {
  margin-right: 20px;
  margin-left: 0;
}
.forum__topic-status--new {
  background-position: -24px 0;
}
.forum__topic-status--hot {
  background-position: -48px 0;
}
.forum__topic-status--hot-new {
  background-position: -72px 0;
}
.forum__topic-status--sticky {
  background-position: -96px 0;
}
.forum__topic-status--closed {
  background-position: -120px 0;
}

/* === assets/css/components/header.css === */
/* ------------------ Header ------------------ */

.navbar-dark .nav-link:hover,
.navbar-dark .nav-link:focus {
  color: rgba(255, 255, 255, 0.75);
}

.navbar-dark .nav-link {
  color: rgba(255, 255, 255, 0.5);
}

.navbar-light .nav-link:hover,
.navbar-light .nav-link:focus {
  color: rgba(0, 0, 0, 0.7);
}

.navbar-light .nav-link {
  color: rgba(0, 0, 0, 0.5);
}

.navbar-brand .site-logo {
  margin-right: 1rem;
}

@media (max-width: 33.9em) {
  .navbar-toggleable-xs .navbar-nav .nav-item+.nav-item,
  .navbar-toggleable-xs.collapse.in .navbar-nav .nav-item {
    margin-left: 0;
    float: none;
  }
}

@media (max-width: 47.9em) {
  .navbar-toggleable-sm .navbar-nav .nav-item+.nav-item,
  .navbar-toggleable-xs.collapse.in .navbar-nav .nav-item {
    margin-left: 0;
    float: none;
  }
}
.navbar-brand img {
	max-height: 60px;
}

/* === assets/css/components/help.css === */
/**
 * @file
 * Styles for help messages.
 */

.block-help {
  margin-bottom: 1em;
  padding: 1.26em;
  word-wrap: break-word;
  color: inherit;
  border: 1px solid var(--bs-secondary);
  background-color: var(--bs-secondary-bg);
  overflow-wrap: break-word;
}

.block-help__container {
  padding-left: 24px;
  /* LTR */
  background-image: url(/themes/contrib/bootstrap/images/help.png);
  background-repeat: no-repeat;
  background-position: left 4px;
  /* LTR */
}

[dir="rtl"] .block-help__container {
  padding-right: 24px;
  padding-left: 0;
  background-position: right 4px;
}

.block-help__container>*:last-child {
  margin-bottom: 0;
}

/* === assets/css/components/icons.css === */
/**
 * @file
 * Visual styles for icons.
 */

.icon-help {
  background: url(/themes/contrib/bootstrap/images/help.png) 0 50% no-repeat;
  /* LTR */
  padding: 1px 0 1px 20px;
  /* LTR */
}

[dir="rtl"] .icon-help {
  background-position: 100% 50%;
  padding: 1px 20px 1px 0;
}

.feed-icon {
  background: url(/themes/contrib/bootstrap/images/feed.svg) no-repeat;
  overflow: hidden;
  text-indent: -9999px;
  display: block;
  width: 16px;
  direction: ltr;
  height: 16px;
}

/* Menu toggler fall back icon */
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* === assets/css/components/image-button.css === */
/**
 * @file
 * Styles for Bootstrap's image buttons.
 */

.image-button.is-disabled:hover,
.image-button.is-disabled:active,
.image-button.is-disabled:focus,
.image-button.is-disabled {
  background: transparent;
  opacity: 0.5;
  cursor: default;
}

/* === assets/css/components/image-widget.css === */
.image-preview {
  float: left; /* LTR */
  padding: 0 10px 10px 0; /* LTR */
}
[dir="rtl"] .image-preview {
  float: right;
  padding: 0 0 10px 10px;
}
.image-widget-data {
  float: left; /* LTR */
}
[dir="rtl"] .image-widget-data {
  float: right;
}
.image-widget-data .text-field {
  width: auto;
}

/* === assets/css/components/img-fluid.css === */
.content img {
  max-width: 100%;
  height: auto;
}

/* === assets/css/components/indented.css === */
/**
 * @file
 * Basic styling for comment module.
 */

/**
 * Indent threaded comments.
 */
.indented {
  margin-left: 25px; /* LTR */
}
[dir="rtl"] .indented {
  margin-left: 0;
  margin-right: 25px;
}

/* === assets/css/components/item-list.css === */
/**
 * @file
 * Visual styles for Bootstrap's item list.
 */

.item-list ul {
  list-style: none;
  margin: 0 0 0.25em 0;
  padding: 0; /* LTR */
}
[dir="rtl"] .item-list ul {
  padding: 0;
}
.item-list ul li {
  /* This is needed to reset styles in item-list.theme.css */
  margin: 0;
  padding: 0.2em 0.5em 0 0; /* LTR */
}
[dir="rtl"] .item-list ul li {
  /* This is needed to reset [dir="rtl"] styles in item-list.theme.css */
  margin: 0;
  padding: 0.2em 0 0 0.5em;
}
.item-list .item-list__comma-list,
.item-list .item-list__comma-list li,
[dir="rtl"] .item-list .item-list__comma-list,
[dir="rtl"] .item-list .item-list__comma-list li {
  padding: 0;
}

/* === assets/css/components/list-group.css === */
/**
 * @file
 * List group.
 * A list of links, grouped together.
 */

.list-group__link {
  border-top: 1px solid #ccc;
  padding: 7px 0 0;
}
.list-group__description {
  margin: 0 0 10px;
}

/* === assets/css/components/media.css === */
/**
 * @file
 * Media related  specific CSS.
 */

/* Media Image */
.field--name-field-media-image img {
  max-width: 100%;
  height: auto;
}


/* Node Dialog Add/Select Overlay */

/* Two Column Layout */
.media-library-wrapper {
  display: flex;
  flex-wrap: wrap;
}



/* Left Menu Layout */
.media-library-menu {
  margin: 5px 5px 5px 0;
  padding: 20px 15px;
  border: 1px solid #dddddd;
  border-radius: 3px;
  background: #e9e9e9;
  height: 100%;
}

.media-library-menu li {
  margin: 5px;
  white-space: nowrap;
  height: 45px;
}

.media-library-menu li::marker {
  color: #e9e9e9;
}

.media-library-menu__link {
  margin: 5px 5px 5px 0;
  padding: 10px 15px;
  border: 1px solid #dddddd;
  border-radius: 3px;
  background: #e9e9e9;
}

.active.media-library-menu__link {
  background: #fff;
}



/* Form Eliments Layout  */
.media-library-content {
  flex: 2;
}

.media-library-wrapper .form--inline {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}

.media-library-widget-modal .js-form-item {
  margin: 5px;
}

.media-library-wrapper .form-type-textfield {
  flex: 2;
}



/* Fix Form Insert Button to Bottom of Popup */
.media-library-widget-modal .form-actions {
  position: sticky;
  bottom: 0;
  background: #fff;
  padding: 5px;
}

.media-library-widget-modal .ui-dialog-content {
  padding-bottom: 0;
}

/* Grid Layout */
.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.media-library-widget-modal.ui-dialog--narrow {
  width: 80% !important;
  left: 10% !important;
}

.media-library-views-form__rows {
  display: flex;
  flex-wrap: wrap;
}

.media-library-item--grid {
  margin: 10px;
  width: 220px;
}

.media-library-item--grid .js-form-type-checkbox, .media-library-item--grid .form-check-label {
  padding-left: 0;
}


/* Add or Select Media */
.media-library-add-form__media::marker {
  color: #fff;
}

/* === assets/css/components/navigation.css === */
/**
 * @file
 * Enables Bootstrap 5 multi-level flyout
 */

/* Only for mobile */
@media (max-width: 767px) {

  nav.menu--main {
    margin-left: 16px;
    width: 100%;
    padding-bottom: 12px;
  }

  /* Enables first level dropdown from main nav links */
  a.nav-link .dropdown>.dropdown-menu.show {
      display: block;
      border: 0;
      margin-top: 5px !important;
  }

  ul.dropdown-menu {
    border: 0;
  }

  .dropdown-menu .menu-item--expanded>a:after {
    visibility: hidden;
  }

  ul.dropdown-menu.show li.menu-item--expanded>ul.dropdown-menu {
    display: block;
    border: 0;
  }

}

/* Only for non-mobile */
@media (min-width: 768px) {

  /* Enables first level dropdown from main nav links */
  .dropdown:hover>.dropdown-menu {
    display: block;
  }

}

/* Force manu items with no link to still use pointer */
span.nav-link {
  cursor: pointer;
}

.dropdown-menu .menu-item--expanded:hover>a:after {
  visibility: hidden;
}

.dropdown-menu .menu-item--expanded:hover {
  border-right: 1px solid #fff;
}

/* Enables next level dropdowns to go horizontal */
.dropdown-menu .menu-item--expanded>.dropdown-menu {
  top: 0px;
  left: 100%;
  margin-top: -1px;
  margin-left: 0px;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}

/* Creates right arrow which vanishes on rollover/expansion */
.dropdown-menu .menu-item--expanded>a:after {
  display: block;
  content: " ";
  float: right;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-left-color: #ccc;
  margin-top: 7px;
  margin-right: -5px;
}

.dropdown-item {
  padding: 5px 15px;
}
/* Remove margin and padding around each flyout's containing UL, so that there is no "gap" where hover does not function, and flyouts vanish as you roll over the gap */
ul.dropdown-menu {
  padding: 0;
  margin: 0;
}

/* Make sure links in the active trail reverse out to white so that they do not diappear when the LIs highlight */
.dropdown-menu li.active>a {
  color: #fff;
}

/* === assets/css/components/node-preview.css === */
.node-preview-container {
  background: #d1e8f5;
  background-image: -webkit-linear-gradient(top, #d1e8f5, #d3e8f4);
  background-image: linear-gradient(to bottom, #d1e8f5, #d3e8f4);
  font-family: Arial, sans-serif;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.3333);
  position: fixed;
  z-index: 499;
  width: 100%;
  padding: 10px;
}
.node-preview-backlink {
  background-color: #419ff1;
  background: url(/core/misc/icons/000000/chevron-left.svg) left no-repeat, -webkit-linear-gradient(top, #419ff1, #1076d5);
  background: url(/core/misc/icons/000000/chevron-left.svg) left no-repeat, linear-gradient(to bottom, #419ff1, #1076d5); /* LTR */
  border: 1px solid #0048c8;
  border-radius: .4em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4);
  color: #fff;
  font-size: 0.9em;
  line-height: normal;
  margin: 0;
  padding: 4px 1em 4px 0.6em; /* LTR */
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
}
[dir="rtl"] .node-preview-backlink {
  background: url(/core/misc/icons/000000/chevron-right.svg) right no-repeat, -webkit-linear-gradient(top, #419ff1, #1076d5);
  background: url(/core/misc/icons/000000/chevron-right.svg) right no-repeat, linear-gradient(to bottom, #419ff1, #1076d5);
  padding: 4px 0.6em 4px 1em;
  float: right;
}
.node-preview-backlink:focus,
.node-preview-backlink:hover {
  background-color: #419cf1;
  background: url(/core/misc/icons/000000/chevron-left.svg) left no-repeat, -webkit-linear-gradient(top, #59abf3, #2a90ef);
  background: url(/core/misc/icons/000000/chevron-left.svg) left no-repeat, linear-gradient(to bottom, #59abf3, #2a90ef); /* LTR */
  border: 1px solid #0048c8;
  text-decoration: none;
  color: #fff;
}
[dir="rtl"] .node-preview-backlink:focus,
[dir="rtl"] .node-preview-backlink:hover {
  background: url(/core/misc/icons/000000/chevron-right.svg) right no-repeat, -webkit-linear-gradient(top, #59abf3, #2a90ef);
  background: url(/core/misc/icons/000000/chevron-right.svg) right no-repeat, linear-gradient(to bottom, #59abf3, #2a90ef);
}
.node-preview-backlink:active {
  background-color: #0e69be;
  background: url(/core/misc/icons/000000/chevron-left.svg) left no-repeat, -webkit-linear-gradient(top, #0e69be, #2a93ef);
  background: url(/core/misc/icons/000000/chevron-left.svg) left no-repeat, linear-gradient(to bottom, #0e69be, #2a93ef); /* LTR */
  border: 1px solid #0048c8;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .25);
}
[dir="rtl"] .node-preview-backlink:active {
  background: url(/core/misc/icons/000000/chevron-right.svg) right no-repeat, -webkit-linear-gradient(top, #0e69be, #2a93ef);
  background: url(/core/misc/icons/000000/chevron-right.svg) right no-repeat, linear-gradient(to bottom, #0e69be, #2a93ef);
}
.node-preview-backlink::before {
  content: '';
  width: 10px;
  display: inline-block;
}

/* === assets/css/components/node.css === */
/**
 * @file
 * Visual styles for Bootstrap's node component.
 */

.node__content {
  font-size: 1.071em;
  margin-top: 10px;
}

/* View mode teaser styles. */
.node--view-mode-teaser {
  border-bottom: 1px solid #d3d7d9;
  margin-bottom: 30px;
  padding-bottom: 15px;
}
.node--view-mode-teaser h2 {
  margin-top: 0;
  padding-top: 0.5em;
}
.node--view-mode-teaser h2 a {
  color: #181818;
}
.node--view-mode-teaser.node--sticky {
  background: #f9f9f9;
  background: rgba(0, 0, 0, 0.024);
  border: 1px solid #d3d7d9;
  padding: 0 15px 15px;
}
.node--view-mode-teaser .node__content {
  clear: none;
  font-size: 1em;
  line-height: 1.6;
}

/* Node metadata styles. */
.node__meta {
  font-size: 0.857em;
  color: #68696b;
  margin-bottom: -5px;
}
.node__meta .field--name-field-user-picture img {
  float: left; /* LTR */
  margin: 1px 20px 0 0; /* LTR */
}
[dir="rtl"] .node__meta .field--name-field-user-picture img {
  float: right;
  margin-left: 20px;
  margin-right: 0;
}

/* Node links styles. */
.node__links {
  text-align: right; /* LTR */
  font-size: 0.93em;
}
[dir="rtl"] .node__links {
  text-align: left;
}

/* Unpublished node styles. */
.node--unpublished {
  padding: 20px 15px 0;
}
.node--unpublished .comment-text .comment-arrow {
  border-left: 1px solid #fff4f4;
  border-right: 1px solid #fff4f4;
}

/* === assets/css/components/page.css === */
/**
 * @file
 * Styles for Bootstrap page.
 */

/* Hack for .placeholder issue https://www.drupal.org/project/drupal/issues/3233533 */
em.placeholder {
  vertical-align: unset!important;
  cursor: unset!important;
  background-color: unset!important;
  opacity: unset!important;
}
section.full-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

/* === assets/css/components/progress.css === */
/**
 * Visual styles for progress bar.
 */

/* === assets/css/components/search-form.css === */
/**
 * @file
 * The visual styles for Bootstrap's search form(s).
 */

input[type="search"] {
  box-sizing: border-box;
}

header #search-block-form {
  padding: 5px 15px;
  flex-flow: row wrap;
}

#search-block-form {
  display: flex;
}

/* === assets/css/components/shortcut.css === */
/**
 * @file
 * Visual styles for the Shortcut action link in Bootstrap.
 */

.shortcut-wrapper {
  margin: 2.2em 0 1.1em 0; /* Same as usual .page-title margin. */
}
.shortcut-wrapper .page-title {
  float: left; /* LTR */
  margin: 0;
}
[dir="rtl"] .shortcut-wrapper .page-title {
  float: right;
}
.shortcut-action {
  border-bottom: none;
  margin-left: 0.5em; /* LTR */
  padding-top: 0.35em;
}
[dir="rtl"] .shortcut-action {
  margin-left: 0;
  margin-right: 0.5em;
}
.shortcut-action:hover,
.shortcut-action:active,
.shortcut-action:focus {
  border-bottom: none;
}

/* === assets/css/components/sidebar.css === */
/* ------------------ Sidebar ----------------- */

.sidebar .block {
  border-style: solid;
  border-width: 1px;
  padding: 15px 15px;
  margin: 0 0 20px;
}

.sidebar h2 {
  margin: 0 0 0.5em;
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 5px;
  text-shadow: 0 1px 0 #fff;
  font-size: 1.071em;
  line-height: 1.2;
}

.sidebar .block .content {
  font-size: 0.914em;
  line-height: 1.4;
}

.sidebar tbody {
  border: none;
}

.sidebar .even,
.sidebar .odd {
  background: none;
  border-bottom: 1px solid #d6d6d6;
}

.sidebar nav .nav {
  margin: 0 -1rem;
}

/* === assets/css/components/skip-link.css === */
/**
 * @file
 * Styles for the skip link.
 */

.skip-link {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 50;
  background: #444;
  background: rgba(0, 0, 0, 0.6);
  font-size: 0.94em;
  line-height: 1.7em;
  padding: 1px 10px 2px;
  border-radius: 0 0 10px 10px;
  border-bottom-width: 0;
  outline: 0;
}
.skip-link.visually-hidden.focusable:focus {
  position: absolute !important;
  color: #fff;
}

/* === assets/css/components/slide-nav.css === */
@media (max-width: 767px) {
  .navbar-collapse {
    border-top: 0;
  }
  .navbar-collapse .navbar-nav {
    margin-right: 0;
    margin-left: 0;
  }
  .navbar-collapse [class*="container"] {
    background-color: inherit;
    border-color: inherit;
  }
  .navbar-collapse .navigation {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
    width: 240px;
    height: 100%;
    margin: 0;
    overflow: auto;
    background-color: white;
    border-right: 1px solid;
    border-right-color: inherit;
    padding-left: 0.25rem;
  }
  .bg-dark .navbar-collapse .navigation {
    background-color: #17141f !important;
  }
  .navbar-collapse .navigation .navbar-nav .dropdown-menu li a {
    width: 100%;
    white-space: normal;
  }
  .navbar-collapse .navbar-form {
    width: 100%;
    margin: 8px 0;
    overflow: hidden;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .navigation {
    display: block;
    width: auto !important;
    padding-right: 15px;
    padding-left: 15px;
  }
}

.navbar-dark .navbar-toggler-icon {
  opacity: 0.6;
  background-size: 60%;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e");
}

.navbar-dark .collapsed .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-light .navbar-toggler-icon {
  opacity: 0.6;
  background-size: 60%;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e");
}

.navbar-light .collapsed .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.4%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* === assets/css/components/table.css === */
/**
 * @file
 * Styles for Bootstrap's tables.
 */

table {
  border: 0;
  border-spacing: 0;
  font-size: 0.857em;
  margin: 10px 0;
  width: 100%;
}
table table {
  font-size: 1em;
}
tr {
  border-bottom: 1px solid #ccc;
  padding: 0.1em 0.6em;
  background: #efefef;
  background: rgba(0, 0, 0, 0.063);
}
thead > tr {
  border-bottom: 1px solid #000;
}
tr.odd {
  background: #e4e4e4;
  background: rgba(0, 0, 0, 0.105);
}
table tr th {
  background: #757575;
  background: rgba(0, 0, 0, 0.51);
  border-bottom-style: none;
}
table tr th,
table tr th a,
table tr th a:hover,
table tr th a:focus {
  color: #fff;
  font-weight: bold;
}
table tbody tr th {
  vertical-align: top;
}
tr td,
tr th {
  padding: 4px 9px;
  border: 1px solid #fff;
  text-align: left; /* LTR */
}
[dir="rtl"] tr td,
[dir="rtl"] tr th {
  text-align: right;
}

/**
 * Responsive tables.
 */
@media screen and (max-width: 37.5em) { /* 600px */
  th.priority-low,
  td.priority-low,
  th.priority-medium,
  td.priority-medium {
    display: none;
  }
}
@media screen and (max-width: 60em) { /* 920px */
  th.priority-low,
  td.priority-low {
    display: none;
  }
}

/* === assets/css/components/tabledrag.css === */
/**
 * @file
 * Visual styles for table drag.
 */

tr.drag {
  background-color: #fffff0;
}
tr.drag-previous {
  background-color: #ffd;
}
.tabledrag-changed.warning {
  margin-bottom: 0.5rem;
  color: var(--bs-warning);
}
a.tabledrag-handle .handle {
  width: 25px;
  height: 25px;
}
.tabledrag-cell-content>* {
  display: table-cell;
  vertical-align: middle;
}

/* === assets/css/components/tableselect.css === */
/**
 * @file
 * Table select behavior.
 *
 * @see tableselect.js
 */

tr.selected td {
  background: #ffc;
}
td.checkbox,
th.checkbox {
  text-align: center;
}
[dir="rtl"] td.checkbox,
[dir="rtl"] th.checkbox {
  /* This is required to win over specificity of [dir="rtl"] td */
  text-align: center;
}

/* === assets/css/components/tablesort-indicator.css === */
/**
 * @file
 * Tablesort indicator styles.
 */

.tablesort {
  width: 14px;
  height: 14px;
  vertical-align: top;
  margin: 1px 0 0 5px;
}

.tablesort--asc {
  background-image: url(/core/misc/icons/ffffff/twistie-down.svg);
}

.tablesort--desc {
  background-image: url(/core/misc/icons/ffffff/twistie-up.svg);
}

/* === assets/css/components/tablesort.css === */
/**
 * @file
 * Table sort indicator.
 */

th.is-active img {
  display: inline;
}
td.is-active {
  background-color: #ddd;
}

/* === assets/css/components/tabs-full.css === */
/**
 * @file
 * Theme styling for tabs.
 */

nav.tabs {
  margin-bottom: 1rem;
}

nav.tabs ul {
  background: #e9ecef;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; 
}
nav.tabs ul .nav-item {
  flex-grow: 1; 
}
nav.tabs ul .nav-item a {
  color: #303030;
  text-align: center;
}
nav.tabs ul .nav-item.active a {
  background: #303030;
  color: #e9ecef;
}

/* === assets/css/components/tabs.css === */
/**
 * @file
 * Theme styling for tabs.
 */

nav.tabs {
  margin-bottom: 1rem;
}

/* === assets/css/components/textarea.css === */
/**
 * @file
 * Visual styles for a resizable textarea.
 */

.form-textarea-wrapper textarea {
  display: block;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}

/* === assets/css/components/toolbar.css === */
/* Navbar fixed-top + Toolbar: assets/css/dist/components/toolbar-bootstrap-affix.css (CNS #CNS-layout-page-navbar-*). */
body.toolbar-fixed .toolbar-oriented .toolbar-bar {
  z-index: 1040;
}

/* === assets/css/components/ui-dialog.css === */
/**
 * @file
 * Styles for Bartik's modal windows
 */

.ui-widget-overlay {
  background: #000;
  opacity: 0.7;
}
.ui-dialog {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  border-radius: 0;
}
.ui-dialog input,
.ui-dialog select,
.ui-dialog textarea {
  font-size: 0.9em;
}
.ui-dialog .button {
  background-color: #fff;
  background-image: -webkit-linear-gradient(top,#f3f3f3,#e8e8e8);
  background-image: linear-gradient(to bottom,#f3f3f3,#e8e8e8);
  border: 1px solid #e4e4e4;
  border-bottom-color: #b4b4b4;
  border-left-color: #d2d2d2;
  border-right-color: #d2d2d2;
  color: #3a3a3a;
  cursor: pointer;
  font-size: 0.929em;
  font-weight: normal;
  text-align: center;
  padding: 0.250em 1.063em;
  border-radius: 1em;
}

/* === assets/css/components/ui.widget.css === */
/**
 * @file
 * Visual styles for Bartik's ui-widget component.
 */

#page .ui-widget {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* === assets/css/components/user.css === */
/**
 * @file
 * Theme styling for user module.
 */

/* Visual styling for the Password strength indicator */
.password-strength__meter {
  margin-top: 0.5em;
  background-color: #ebeae4;
}
.password-strength__indicator {
  background-color: #77b259;
  -webkit-transition: width 0.5s ease-out;
  transition: width 0.5s ease-out;
}
.password-strength__indicator.is-weak {
  background-color: #e62600;
}
.password-strength__indicator.is-fair {
  background-color: #e09600;
}
.password-strength__indicator.is-good {
  background-color: #0074bd;
}
.password-strength__indicator.is-strong {
  background-color: #77b259;
}

.password-confirm,
.password-field,
.password-strength,
.password-confirm-match {
  width: 55%;
}

.password-suggestions {
  padding: 0.2em 0.5em;
  margin: 0.7em 0;
  max-width: 34.7em;
  border: 1px solid #b4b4b4;
}
.password-suggestions ul {
  margin-bottom: 0;
}

.confirm-parent,
.password-parent {
  clear: left; /* LTR */
  margin: 0;
  max-width: 33em;
  overflow: hidden;
}
[dir="rtl"] .confirm-parent,
[dir="rtl"] .password-parent {
  clear: right;
}

/* Styling for the status indicator of the passwords match test.  */
.password-confirm .ok {
  color: #325e1c;
  font-weight: bold;
}
.password-confirm .error {
  color: #a51b00;
  font-weight: bold;
}

/* Login: schmales Content-Panel (Passwort-Seite nutzt user-auth-layout-Karte). */
.page-user-login main .region-content {
  max-width: 400px;
  background: white;
  padding: 15px 25px;
  margin: 0 auto;
  border-radius: 5px;
}

/* User account page */
body.path-user .field--label-inline .field__label {
  width: 100px;
}

body.path-user .field--label-inline .field__item {
  padding: 0.25rem 1rem;
  border-radius: 1rem;
  background: #e9ecef;
  min-width: 250px;
  margin: 0.25rem 0;
}

body.path-user .field--label-above .field__item {
  padding: 0.25rem 1rem;
  border-radius: 1rem;
  background: #e9ecef;
  width: 100%;
  margin: 0.25rem 0;
}

/* === assets/css/components/variables.css === */
/**
 * @file
 * Nur Farbwerte und Schatten (Body, Login/Registrierung, Top-Leiste, Theme-Toggle).
 * Top-Leisten-Layout: ../layout/top-leiste.css · Auth-Seiten: ../layout/user-auth-layout.css
 *
 * Hell/Dunkel: Standard immer hell (`:root`). Dunkel nur bei expliziter Wahl:
 * `data-theme="dark"` (localStorage + Umschalter). Kein prefers-color-scheme.
 *
 * Carnivalnetwork: Light-Hintergrund warmes Off-White (Alternative kühler: #f2f4f7).
 * Dark: mittleres Blaugrau als Seitenfläche, Karten/Flächen dunkler (#1e2633).
 * Letzte Farbanpassung: 2026-04-06 (Europe/Berlin).
 */

/* --- Hell (Standard + erzwungen) --- */
:root {
  /* Top-Leiste */
  --cns-top-bg: #2f3847;
  --cns-top-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);

  /* Seitenhintergrund */
  --cns-body-bg: #f6f4f0;

  /* Formular-Karten / Container */
  --cns-card-bg: #ffffff;
  --cns-card-shadow-inset: #1f87ff;
  --cns-card-shadow-mid: #0b325e;
  --cns-card-shadow-outer: #000000;

  /* Text */
  --cns-text: #000000;

  /* Text-Schatten (z. B. auf Hero) */
  --cns-hero-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);

  /* Trennlinien (z. B. Login-CTA) */
  --cns-separator: rgba(128, 128, 128, 0.35);

  /* Hilfe-Icon neben Fieldset (ohne opacity am Element) */
  --cns-help-icon: color-mix(in srgb, var(--cns-text) 65%, transparent);
  --cns-help-icon-hover: var(--cns-text);

  /* Theme-Umschalter (Top-Leiste) */
  --cns-theme-toggle-color: #ffffff;
  --cns-theme-toggle-bg: rgba(0, 0, 0, 0.12);
  --cns-theme-toggle-bg-hover: rgba(0, 0, 0, 0.22);
  --cns-theme-toggle-border: rgba(255, 255, 255, 0.4);
  --cns-theme-toggle-focus-ring: rgba(255, 255, 255, 0.85);

  /* Formularfelder (Rahmen) */
  --cns-input-border: rgba(0, 0, 0, 0.2);
  --cns-input-border-focus: rgba(0, 0, 0, 0.45);
}

/* Erzwungen hell (z. B. bei OS-Dunkelmodus) */
:root[data-theme="light"] {
  --cns-top-bg: #2f3847;
  --cns-top-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  --cns-body-bg: #f6f4f0;
  --cns-card-bg: #ffffff;
  --cns-card-shadow-inset: #1f87ff;
  --cns-card-shadow-mid: #0b325e;
  --cns-card-shadow-outer: #000000;
  --cns-text: #000000;
  --cns-hero-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  --cns-separator: rgba(128, 128, 128, 0.35);
  --cns-help-icon: color-mix(in srgb, var(--cns-text) 65%, transparent);
  --cns-help-icon-hover: var(--cns-text);
  --cns-theme-toggle-color: #ffffff;
  --cns-theme-toggle-bg: rgba(0, 0, 0, 0.12);
  --cns-theme-toggle-bg-hover: rgba(0, 0, 0, 0.22);
  --cns-theme-toggle-border: rgba(255, 255, 255, 0.4);
  --cns-theme-toggle-focus-ring: rgba(255, 255, 255, 0.85);
  --cns-input-border: rgba(0, 0, 0, 0.2);
  --cns-input-border-focus: rgba(0, 0, 0, 0.45);
}

/* Erzwungen dunkel (Nutzerwahl, z. B. bei hellem OS) */
:root[data-theme="dark"] {
  --cns-top-bg: #232c38;
  --cns-top-shadow: 0 5px 10px rgba(0, 0, 0, 0.35);
  --cns-body-bg: #2a3342;
  --cns-card-bg: #1e2633;
  --cns-card-shadow-inset: rgba(120, 160, 220, 0.12);
  --cns-card-shadow-mid: rgba(0, 0, 0, 0.45);
  --cns-card-shadow-outer: rgba(0, 0, 0, 0.65);
  --cns-text: #ffffff;
  --cns-hero-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
  --cns-separator: rgba(255, 255, 255, 0.22);
  --cns-help-icon: color-mix(in srgb, var(--cns-text) 65%, transparent);
  --cns-help-icon-hover: var(--cns-text);
  --cns-theme-toggle-color: #f5f5f5;
  --cns-theme-toggle-bg: rgba(255, 255, 255, 0.1);
  --cns-theme-toggle-bg-hover: rgba(255, 255, 255, 0.18);
  --cns-theme-toggle-border: rgba(255, 255, 255, 0.28);
  --cns-theme-toggle-focus-ring: rgba(255, 255, 255, 0.65);
  --cns-input-border: rgba(255, 255, 255, 0.45);
  --cns-input-border-focus: rgba(255, 255, 255, 0.75);
}

/* Bootstrap-Dunkel: gleiche Eingabe-Ränder (falls data-theme fehlt, data-bs-theme aber dark) */
:root[data-bs-theme="dark"] {
  --cns-input-border: rgba(255, 255, 255, 0.5);
  --cns-input-border-focus: rgba(255, 255, 255, 0.88);
}

/**
 * Seitenfläche: Carnivalnetwork-Palette (Hell/Dunkel per :root / data-theme).
 * Bootstrap setzt --bs-body-bg nur mit data-bs-theme=dark, nicht per OS-Präferenz —
 * ohne diese Zeilen wäre der Body „hell“, Karten/Page aber dunkel.
 */
body {
  background-color: var(--cns-body-bg);
  color: var(--cns-text);
}

#page-wrapper,
#page {
  background-color: transparent;
}

/* === assets/css/components/views.css === */
/**
 * @file
 * Styling for Views in Bartik.
 */

/* Tab styles */
.views-displays .tabs .open > a {
  border-radius: 7px 7px 0 0;
}
.views-displays .tabs .open > a:hover,
.views-displays .tabs .open > a:focus {
  color: #0071b3;
}
.views-displays .secondary .form-submit {
  font-size: 0.846em;
}

/* Tabs action list styles */
.views-displays .tabs .action-list {
  padding: 0;
}

/* Contextual filter options styles */
.views-filterable-options .filterable-option:nth-of-type(even) .form-type-checkbox {
  background-color: #f9f9f9;
}

/* Views action dropbutton styles */
.views-ui-display-tab-actions .dropbutton .form-submit {
  color: #0071b3;
}
.views-ui-display-tab-actions .dropbutton .form-submit:hover,
.views-ui-display-tab-actions .dropbutton .form-submit:focus {
  color: #018fe2;
}

/* === assets/css/components/webform.css === */
/**
 * @file
 * Visual styles for weform's form components.
 */

/* Add require asterisk to nessesary fields */

.form-required::after {
  content: '';
  vertical-align: super;
  display: inline-block;
  background-image: url(../../images/required.svg);
  background-repeat: no-repeat;
  background-size: 7px 7px;
  width: 7px;
  height: 7px;
  margin: 0 0.3em;
}

 /* Button styles for radios and checkboxes when set under "Options Display" */

.webform-options-display-buttons-horizontal .webform-options-display-buttons-wrapper {
  flex: auto;
}
.webform-options-display-buttons .form-check-label {
    margin: 0 5px 10px 5px;
    border: 3px solid #ccc;
    border-radius: 3px;
    background-color: #fff;
    padding: 10px;
    width: 100%;
}
.webform-options-display-buttons .form-check-label:hover {
  border-color: #999;
  color: #333;
}
.webform-options-display-buttons .form-check-input:checked ~ .form-check-label {
  border-color: #0074bd;
  color: #000;
}
.webform-options-display-buttons .webform-options-display-buttons-wrapper .form-check-label {
  text-align: center;
  margin: 0 5px 10px 0;
}
.webform-options-display-buttons .webform-options-display-buttons-wrapper .radio,
.webform-options-display-buttons .webform-options-display-buttons-wrapper .form-check {
  padding: 0;
}

/* === assets/css/layout/footer-legal-stack.css === */
/**
 * @file
 * Regeln nach: assets/css/src/components/site-footer.source.css (Abschnitt footer-legal-stack).
 * Diese Datei bleibt als Stub, damit Verweise auf den Dateinamen erhalten bleiben; nicht mehr im Bundle.
 *
 * @version 2026-04-15 Europe/Berlin
 */

/* === assets/css/layout/layout.css === */
.container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 100%;
}

/**
 * Breitenraster (Theme): Desktop breiter Außenrahmen, engerer Hauptblock.
 * Tablet & Handy: keine zusätzlichen Max-Werte hier (volle Viewport-Breite wie bisher).
 *
 * Spezifischere Seiten (Login, body.cns-page--constrained) überschreiben bei Bedarf.
 */
#main {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (min-width: 992px) {
  #page-wrapper {
    max-width: 1920px;
    margin-inline: auto;
    width: 100%;
    box-sizing: border-box;
  }

  #main-wrapper {
    max-width: 1600px;
    margin-inline: auto;
    width: 100%;
    box-sizing: border-box;
  }
}

/* === assets/css/layout/sidebar-first-legal-stack.css === */
/**
 * @file
 * Fußzeilen-Menü / Copyright — ohne CNS-data-* (Marker: theme-sidebar-markers.source.css → dist).
 *
 * @version 2026-04-15 Europe/Berlin
 */

[id*="fusszeile"] {
  text-align: center;
  --bs-nav-link-font-size: 12px;
  --bs-nav-link-padding-y: 5px;
  --bs-nav-link-padding-x: 5px;
}

[id*="fusszeile"] ul.menu,
[id*="fusszeile"] ul.nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

[id*="fusszeile"] ul.menu > li,
[id*="fusszeile"] ul.nav > li {
  margin: 0;
}

[id*="fusszeile"] .menu a,
[id*="fusszeile"] a.nav-link {
  font-size: 12px;
  padding: 5px;
  display: inline-block;
}

/* === assets/css/maintenance-page.css === */
body.maintenance-page {
  background-color: #fff;
  color: #000;
}
.maintenance-page #page-wrapper {
  background: #fff;
  margin-left: auto;
  margin-right: auto;
  min-width: 0;
  min-height: 0;
  border: 1px solid #ddd;
  margin-top: 40px;
}
.maintenance-page #page {
  margin: 10px;
}
.maintenance-page #main-wrapper {
  min-height: inherit;
}
.maintenance-page #header {
  width: auto;
}
.maintenance-page #main {
  margin: 0;
}
.maintenance-page .content .section {
  padding: 0 0 0 10px; /* LTR */
}
[dir="rtl"] .maintenance-page .content .section {
  padding-left: 0;
  padding-right: 10px;
}
.maintenance-page #header {
  background-color: #fff;
  background-image: none;
}
.maintenance-page .site-branding-text {
  margin-bottom: 50px;
  margin-left: 0; /* LTR */
  padding-top: 20px;
  font-size: 90%;
}
[dir="rtl"] .maintenance-page .site-branding-text {
  margin-right: 0;
}
.maintenance-page .site-branding-text,
.maintenance-page .site-branding-text a,
.maintenance-page .site-branding-text a:hover,
.maintenance-page .site-branding-text a:focus {
  color: #777;
}
.maintenance-page  .page-title {
  line-height: 1em;
  margin-top: 0;
}
@media all and (min-width: 800px) {
  .maintenance-page #page-wrapper {
    width: 800px;
  }
  .maintenance-page #header div.section,
  .maintenance-page #main {
    width: 700px;
  }
}
@media all and (min-width: 600px) { /* @TODO find the proper breakpoint */
  .maintenance-page #page {
    margin: 20px 40px 40px;
  }
}

/* === assets/css/src/layout/logged-in-constrained-layout.source.css === */
/**
 * @file
 * Eingeloggte Seiten: max. Breite (früher #page-wrapper / #main-wrapper).
 * Keys: layout.page.shell, layout.page.main.wrapper → .CNS-* (Twig auf den Wrappern).
 *
 * @version 1.0.0
 * @date 15.04.2026 (Europe/Berlin)
 */

body.cns-page--constrained:not([DATA-CNS-cns-page-node-legal]) .CNS-layout-page-shell {
  max-width: 1200px;
  margin-inline: auto;
  width: 100%;
  box-sizing: border-box;
  padding-inline: clamp(5px, calc(5px + (100vw - 320px) * 15 / 448), 20px);
}

@media (min-width: 992px) {
  body.cns-page--constrained:not([DATA-CNS-cns-page-node-legal]) .CNS-layout-page-shell {
    max-width: 1920px;
  }

  body.cns-page--constrained:not([DATA-CNS-cns-page-node-legal]) .CNS-layout-page-main-wrapper,
  body.cns-page--constrained:not([DATA-CNS-cns-page-node-legal]) .CNS-user-profile-main-wrapper {
    max-width: 1600px;
    margin-inline: auto;
    width: 100%;
    box-sizing: border-box;
  }
}

/* === assets/css/src/layout/page-html.source.css === */
/**
 * @file
 * CNS-Layout für themes/cns_community/templates/layout/page.html.twig.
 * Platzhalter .CNS-* → dist (CnsCssBuilder). Nutzt wo möglich Bootstrap-CSS-Variablen.
 *
 * Key-Katalog:
 * - layout.page.banner                 → .CNS-layout-page-banner
 * - layout.page.nav                    → .CNS-layout-page-nav (Haupt-<nav>, ersetzt BS-.navbar)
 * - layout.page.navbar.toggler         → .CNS-layout-page-navbar-toggler
 * - layout.page.navbar.toggler.icon    → .CNS-layout-page-navbar-toggler-icon
 * - layout.page.navbar.collapse        → .CNS-layout-page-navbar-collapse (Zusatz zu BS-Klassenstring)
 * - layout.page.offcanvas.header       → .CNS-layout-page-offcanvas-header
 * - layout.page.offcanvas.close        → .CNS-layout-page-offcanvas-close
 * - layout.page.offcanvas.body         → .CNS-layout-page-offcanvas-body
 * - layout.page.navbar.form            → .CNS-layout-page-navbar-form
 * - layout.page.navbar.toggler.sidebar → .CNS-layout-page-navbar-toggler-sidebar
 * - layout.page.highlighted.wrap       → .CNS-layout-page-highlighted-wrap
 * - layout.page.container              → .CNS-layout-page-container
 * - layout.page.container.fluid        → .CNS-layout-page-container-fluid
 * - layout.page.section                → .CNS-layout-page-section
 * - layout.page.clearfix               → .CNS-layout-page-clearfix
 * - layout.page.featured.top           → .CNS-layout-page-featured-top
 * - layout.page.featured.top.inner     → .CNS-layout-page-featured-top-inner
 * - layout.page.main.wrapper           → .CNS-layout-page-main-wrapper
 * - layout.page.main.row               → .CNS-layout-page-main-row
 * - layout.page.featured.bottom        → .CNS-layout-page-featured-bottom
 * - layout.page.footer                 → .CNS-layout-page-footer
 * - layout.page.footer.top             → .CNS-layout-page-footer-top
 * - layout.page.footer.bottom          → .CNS-layout-page-footer-bottom
 * - layout.page.shell                  → .CNS-layout-page-shell (äußerer Seiten-Wrapper, Auth + max-width)
 *
 * @version 1.0.1
 * @date 15.04.2026 (Europe/Berlin)
 */

/* --- Site-Banner (#header): Block-Layout = Standard für div (D-10). --- */

/* Hauptnavigation: Shell-Key; Flex/Zentrierung über Twig-Utilities (D-10/D-11). */
.CNS-layout-page-banner .CNS-layout-page-nav {
  box-sizing: border-box;
}

/* --- Navbar: Toggle (BS-Variablen) --- */
.CNS-layout-page-navbar-toggler,
.CNS-layout-page-navbar-toggler-sidebar {
  padding: var(--bs-navbar-toggler-padding-y, 0.25rem) var(--bs-navbar-toggler-padding-x, 0.75rem);
  font-size: var(--bs-navbar-toggler-font-size, 1.25rem);
  line-height: 1;
  color: var(--bs-navbar-color, rgba(0, 0, 0, 0.55));
  background-color: transparent;
  border: var(--bs-border-width, 1px) solid var(--bs-navbar-toggler-border-color, rgba(0, 0, 0, 0.1));
  border-radius: var(--bs-navbar-toggler-border-radius, 0.375rem);
  transition: var(--bs-navbar-toggler-transition, box-shadow 0.15s ease-in-out);
}

.CNS-layout-page-navbar-toggler:hover,
.CNS-layout-page-navbar-toggler-sidebar:hover {
  text-decoration: none;
}

.CNS-layout-page-navbar-toggler:focus,
.CNS-layout-page-navbar-toggler-sidebar:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width, 0.25rem);
}

.CNS-layout-page-navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--bs-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.CNS-layout-page-navbar-toggler-sidebar {
  margin-inline-end: 0.5rem;
}

/* --- Navbar: Collapse-Hülle — flex-grow: 1 → Twig-Utility flex.grow.1 (D-10). --- */

/* --- Offcanvas-Innen (optisch an BS offcanvas-* angelehnt); Flex-Achse → Twig (D-10). --- */
.CNS-layout-page-offcanvas-header {
  padding: var(--bs-offcanvas-padding-y, 1rem) var(--bs-offcanvas-padding-x, 1rem);
}

.CNS-layout-page-offcanvas-close {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em;
  border: 0;
  border-radius: 0.25rem;
  background: transparent var(--bs-btn-close-bg) center / 1em auto no-repeat;
  opacity: 0.5;
  cursor: pointer;
}

.CNS-layout-page-offcanvas-close:hover {
  opacity: 1;
}

.CNS-layout-page-offcanvas-body {
  padding: var(--bs-offcanvas-padding-y, 1rem) var(--bs-offcanvas-padding-x, 1rem);
}

/* --- Header-Formularzeile: Flex/Alignment/Gap → page.html.twig (D-10). --- */

/* --- Highlighted / Featured / Main --- */
.CNS-layout-page-container {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: clamp(0.75rem, 2vw, 1rem);
  box-sizing: border-box;
}

.CNS-layout-page-container-fluid {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  padding-inline: 0;
  box-sizing: border-box;
}

.CNS-layout-page-clearfix::after {
  display: table;
  clear: both;
  content: "";
}

.CNS-layout-page-main-row {
  /* BS-Gutter negativ; Flex-Zeile → page.html.twig (D-10). */
  margin-inline: calc(-0.5 * var(--bs-gutter-x, 1.5rem));
}

/* --- Footer: Block-Layout = div-Standard (D-10). --- */
/* layout.page.shell: kein eigenes Regelwerk — nur Map-Key am #page-wrapper (Twig). */

/* === assets/css/src/layout/top-leiste.source.css === */
/**
 * @file
 * CNS Top-Leiste + Theme-Toggle. Platzhalter .CNS-* → dist (CnsCssBuilder).
 *
 * Key-Katalog:
 * - layout.top.shell              → .CNS-layout-top-shell
 * - layout.top.nav               → .CNS-layout-top-nav
 * - layout.top.inner             → .CNS-layout-top-inner
 * - layout.top.regions           → .CNS-layout-top-regions
 * - layout.top.tools             → .CNS-layout-top-tools
 * - layout.top.theme.toggle      → .CNS-layout-top-theme-toggle
 * - layout.top.theme.toggle.icon → .CNS-layout-top-theme-toggle-icon
 * - layout.top.theme.toggle.icon.sun  → .CNS-layout-top-theme-toggle-icon-sun
 * - layout.top.theme.toggle.icon.moon → .CNS-layout-top-theme-toggle-icon-moon
 * - layout.top.navbar.container → .CNS-layout-top-navbar-container (Breitenbegrenzung wie Seiten-„container“)
 * - layout.top.navbar.form      → .CNS-layout-top-navbar-form (Such-/Header-Formularzeile in der Leiste)
 * Stacking: layer.1030 auf dem Shell-Wrapper via Twig (cns-layer.source.css), nicht in dieser Datei.
 */

/**
 * @file
 * Community-Top-Leiste + Hell/Dunkel-Umschalter (alle Seiten mit page.html.twig).
 * Farben: components/variables.css (--rosselanos-top-*, --rosselanos-theme-toggle-*).
 * Letzte Anpassung: 2026-04-14 (Europe/Berlin) — region-top-header.row: BS .row>* width:100% überschrieben.
 */

/* --- Top-Leiste (sticky): D-10 — Position/Abmessungen/Box/Stacking via Twig (layer.1030); Rest hier. --- */
.CNS-layout-top-shell {
  background-color: var(--rosselanos-top-bg);
  box-shadow: var(--rosselanos-top-shadow);
}

.CNS-layout-top-shell .CNS-layout-top-nav {
  background-color: transparent !important;
  padding-block: 0;
}

.CNS-layout-top-navbar-container {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: clamp(0.75rem, 2vw, 1rem);
  box-sizing: border-box;
}

/* layout.top.navbar.form: Flex/Alignment/Gap → Twig (D-10). */

.CNS-layout-top-inner {
  /* Zweiteiliger Zeilen-/Spaltenabstand: kein passendes gap.*-Utility. */
  gap: 0.5rem 1rem;
}

/* layout.top.regions: Flex/Gap/flex-basis → Twig (D-10). */

/* Nur .region-top-header in der Top-Leiste — kein globaler Zugriff auf #search-block-form */
.CNS-layout-top-shell .region.region-top-header {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  min-width: 0;
}

/*
 * Theme-Einstellung bootstrap_region_class_top_header: row → Bootstrap .row > * (make-col-ready)
 * setzt width:100% auf jedes Kind — wirkt wie „untereinander“. Zurücksetzen nur hier.
 */
.CNS-layout-top-shell .region.region-top-header.row {
  margin-left: 0;
  margin-right: 0;
}

.CNS-layout-top-shell .region.region-top-header > * {
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
  min-width: 0;
}

.CNS-layout-top-shell .region.region-top-header [id*="suchformular"] {
  flex: 1 1 10rem;
  min-width: 0;
}

.CNS-layout-top-shell .region.region-top-header .navbar-brand {
  margin: 0;
  padding: 0;
}

.CNS-layout-top-shell .region.region-top-header [id*="suchformular"] .content {
  min-width: 0;
}

.CNS-layout-top-shell .region.region-top-header #search-block-form {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.CNS-layout-top-tools {
  /* margin-inline-start: auto — kein logischer margin.*.auto-Key (D-10-Rest). */
  margin-inline-start: auto;
}

.CNS-layout-top-theme-toggle {
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--rosselanos-theme-toggle-border);
  border-radius: 50%;
  background-color: var(--rosselanos-theme-toggle-bg);
  color: var(--rosselanos-theme-toggle-color);
  line-height: 0;
  cursor: pointer;
  box-sizing: border-box;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.CNS-layout-top-theme-toggle:hover {
  background-color: var(--rosselanos-theme-toggle-bg-hover);
}

.CNS-layout-top-theme-toggle:focus {
  outline: none;
}

.CNS-layout-top-theme-toggle:focus-visible {
  outline: 2px solid var(--rosselanos-theme-toggle-focus-ring);
  outline-offset: 2px;
}

.CNS-layout-top-theme-toggle-icon {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
}

.CNS-layout-top-theme-toggle-icon-sun {
  display: block;
}

.CNS-layout-top-theme-toggle-icon-moon {
  display: none;
}

.CNS-layout-top-theme-toggle[data-rosselanos-effective="dark"] .CNS-layout-top-theme-toggle-icon-sun {
  display: none;
}

.CNS-layout-top-theme-toggle[data-rosselanos-effective="dark"] .CNS-layout-top-theme-toggle-icon-moon {
  display: block;
}

/* Sprachblock: Shell/Region hier; Lead + Nav (Utilities) → links--language-block.html.twig cns() (OMEGA D-10). */
.CNS-layout-top-shell .CNS-footer-lang-block-shell {
  margin: 0;
  padding: 0;
  border: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.65rem;
  font-size: 0.875rem;
  color: var(--rosselanos-help-icon, rgba(0, 0, 0, 0.65));
  width: auto;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.CNS-layout-top-shell .region.region-top-header .CNS-footer-lang-block-shell {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.CNS-layout-top-shell .CNS-footer-lang-block-item {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.CNS-layout-top-shell .CNS-footer-lang-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0.35rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  border: 2px solid transparent;
  border-radius: 8px;
  background: var(--rosselanos-card-bg, #ffffff);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
  white-space: nowrap;
}

.CNS-layout-top-shell a.CNS-footer-lang-link:hover {
  border-color: var(--rosselanos-input-border-focus, rgba(0, 0, 0, 0.45));
}

.CNS-layout-top-shell a.CNS-footer-lang-link:focus-visible {
  outline: 2px solid var(--rosselanos-input-border-focus, rgba(0, 0, 0, 0.45));
  outline-offset: 2px;
}

.CNS-layout-top-shell a.CNS-footer-lang-link.is-active,
.CNS-layout-top-shell .CNS-footer-lang-link[aria-current="page"] {
  border-color: var(--rosselanos-input-border-focus, rgba(0, 0, 0, 0.45));
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);
}

.CNS-layout-top-shell .CNS-footer-lang-link img,
.CNS-layout-top-shell .CNS-footer-lang-link .language-icon {
  display: block;
  flex-shrink: 0;
  width: 2rem;
  height: auto;
  max-height: 1.4rem;
  object-fit: contain;
  object-position: center;
  border-radius: 2px;
  pointer-events: none;
}

/* === assets/css/src/layout/user-auth-login.page.source.css === */
/**
 * @file
 * CNS Login-Layout (nur page--user--login). Platzhalter .CNS-* → dist via CnsCssBuilder.
 *
 * Key-Katalog (logisch → Platzhalter):
 * - auth.login.page              → .CNS-auth-login-page
 * - auth.login.split             → .CNS-auth-login-split
 * - auth.login.split.left        → .CNS-auth-login-split-left
 * - auth.login.split.right       → .CNS-auth-login-split-right
 * - auth.login.hero              → .CNS-auth-login-hero
 * - auth.login.hero.media        → .CNS-auth-login-hero-media
 * - auth.login.hero.crop         → .CNS-auth-login-hero-crop
 * - auth.login.hero.crop.variant → .CNS-auth-login-hero-crop-variant
 * - auth.login.hero.logo         → .CNS-auth-login-hero-logo
 * - auth.login.hero.title.wrap   → .CNS-auth-login-hero-title-wrap
 * - auth.login.hero.title        → .CNS-auth-login-hero-title
 * - auth.login.hero.text         → .CNS-auth-login-hero-text
 * - auth.login.form.card         → .CNS-auth-login-form-card
 * - auth.login.forgot            → .CNS-auth-login-forgot
 * - auth.login.forgot.link       → .CNS-auth-login-forgot-link
 * - auth.login.register.cta      → .CNS-auth-login-register-cta
 * - auth.login.register.cta.hint → .CNS-auth-login-register-cta-hint
 * - auth.login.register.cta.button → .CNS-auth-login-register-cta-button
 * - user.auth.main              → <main> (Login/Register/PW; Twig content_attributes, kein eigenes Regelwerk nötig)
 */

body.page-user-login .CNS-auth-login-page {
  min-height: min(100vh, 920px);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

body.page-user-login .CNS-auth-login-split {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  flex: 1 1 auto;
  min-height: min(70vh, 720px);
}

body.page-user-login .CNS-auth-login-split-left {
  flex: 1 1 50%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.5rem 15px;
  box-sizing: border-box;
}

body.page-user-login .CNS-auth-login-hero {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body.page-user-login .CNS-auth-login-hero-media {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
}

body.page-user-login .CNS-auth-login-hero-media .CNS-auth-login-hero-crop.CNS-auth-login-hero-crop-variant {
  width: min(100%, 65rem);
  height: auto;
  aspect-ratio: 1100 / 668;
  max-height: min(720px, 88vh);
  margin-inline: auto;
  overflow: hidden;
  flex-shrink: 0;
  min-width: 0;
  box-sizing: border-box;
}

body.page-user-login .CNS-auth-login-hero-media .CNS-auth-login-hero-crop.CNS-auth-login-hero-crop-variant .CNS-auth-login-hero-logo {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(720px, 88vh);
}

@media (max-width: 48rem) {
  body.page-user-login .CNS-auth-login-hero-media .CNS-auth-login-hero-crop.CNS-auth-login-hero-crop-variant {
    width: 100%;
    max-height: min(520px, 75vh);
  }

  body.page-user-login .CNS-auth-login-hero-media .CNS-auth-login-hero-crop.CNS-auth-login-hero-crop-variant .CNS-auth-login-hero-logo {
    min-width: 0;
    max-height: min(520px, 75vh);
  }
}

body.page-user-login .CNS-auth-login-hero-title-wrap {
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(0.75rem, 4vw, 1.5rem);
  box-sizing: border-box;
  overflow: hidden;
  min-width: 0;
}

body.page-user-login .CNS-auth-login-hero-title {
  margin: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  text-align: center;
  font-size: clamp(0.75rem, 0.5793rem + 0.7186vw, 1.5rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--rosselanos-text);
  text-shadow: var(--rosselanos-hero-text-shadow);
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
}

body.page-user-login .CNS-auth-login-hero-text {
  margin: 20px auto 0;
  width: 100%;
  max-width: 42rem;
  box-sizing: border-box;
  padding-inline: 0;
  text-align: center;
  text-wrap: balance;
  font-size: clamp(0.75rem, 0.6362rem + 0.479vw, 1.25rem);
  line-height: 1.5;
  color: var(--rosselanos-text);
  text-shadow: var(--rosselanos-hero-text-shadow);
}

body.page-user-login .CNS-auth-login-split-right {
  flex: 1 1 50%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1.5rem 1.25rem;
  box-sizing: border-box;
  background-color: var(--rosselanos-body-bg);
}

body.page-user-login .CNS-auth-login-form-card {
  width: 100%;
  max-width: 340px;
  margin-inline: auto;
  padding: 1.5rem 1.25rem 2rem;
  border-radius: 15px;
  background-color: var(--rosselanos-card-bg);
  color: var(--rosselanos-text);
  box-sizing: border-box;
  -webkit-box-shadow:
    inset -1px 3px 8px 5px var(--rosselanos-card-shadow-inset),
    2px 5px 16px 0 var(--rosselanos-card-shadow-mid),
    0 0 15px 2px var(--rosselanos-card-shadow-outer);
  box-shadow:
    inset -1px 3px 8px 5px var(--rosselanos-card-shadow-inset),
    2px 5px 16px 0 var(--rosselanos-card-shadow-mid),
    0 0 15px 2px var(--rosselanos-card-shadow-outer);
}

@media (max-width: 767.98px) {
  body.page-user-login .CNS-auth-login-split {
    flex-direction: column;
    flex-wrap: wrap;
  }

  body.page-user-login .CNS-auth-login-split-left,
  body.page-user-login .CNS-auth-login-split-right {
    flex: 1 1 100%;
    padding: 15px;
  }
}

body.page-user-login .CNS-auth-login-form-card .CNS-form-element-wrapper {
  margin-bottom: 1rem;
}

body.page-user-login .CNS-auth-login-form-card .CNS-form-element-wrapper:last-of-type,
body.page-user-login .CNS-auth-login-form-card .form-actions {
  margin-bottom: 0;
}

body.page-user-login .CNS-auth-login-form-card .form-control,
body.page-user-login .CNS-auth-login-form-card .form-select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--rosselanos-input-border, rgba(0, 0, 0, 0.25)) !important;
}

body.page-user-login .CNS-auth-login-form-card .form-control:focus,
body.page-user-login .CNS-auth-login-form-card .form-control:focus-visible,
body.page-user-login .CNS-auth-login-form-card .form-select:focus,
body.page-user-login .CNS-auth-login-form-card .form-select:focus-visible {
  border-color: var(--rosselanos-input-border-focus, rgba(0, 0, 0, 0.45)) !important;
}

body.page-user-login .CNS-auth-login-form-card .form-actions {
  margin-top: 1.25rem;
}

body.page-user-login .CNS-auth-login-forgot {
  margin: 1rem 0 0;
  text-align: center;
  font-size: 0.9375rem;
}

body.page-user-login .CNS-auth-login-forgot-link {
  color: var(--rosselanos-text);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

body.page-user-login .CNS-auth-login-forgot-link:hover,
body.page-user-login .CNS-auth-login-forgot-link:focus-visible {
  text-decoration-thickness: 2px;
  outline: none;
}

body.page-user-login .CNS-auth-login-form-card .block-page-title-block h1,
body.page-user-login .CNS-auth-login-form-card h1.title {
  margin: 0 0 1rem;
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  font-weight: 700;
  text-align: center;
  color: var(--rosselanos-text);
}

body.page-user-login .CNS-auth-login-form-card .btn-primary {
  width: 100%;
  font-weight: 600;
}

body.page-user-login .CNS-auth-login-register-cta {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--rosselanos-separator);
  text-align: center;
}

body.page-user-login .CNS-auth-login-register-cta-hint {
  margin: 0 0 0.75rem;
  font-size: 0.9375rem;
}

body.page-user-login .CNS-auth-login-register-cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  border: 1px solid transparent;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}

body.page-user-login .CNS-auth-login-register-cta-button:hover,
body.page-user-login .CNS-auth-login-register-cta-button:focus-visible {
  color: #fff;
  background-color: #0b5ed7;
  border-color: #0a58ca;
  text-decoration: none;
}

body.page-user-login .CNS-auth-login-register-cta-button:focus-visible {
  outline: 2px solid rgba(13, 110, 253, 0.45);
  outline-offset: 2px;
}

/* Registrierung: „Bereits registriert?“ — dieselben Keys wie Login-CTA (auth.login.register.cta.*). */
body.page-user-register .CNS-auth-login-register-cta {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--rosselanos-separator);
  text-align: center;
}

body.page-user-register .CNS-auth-login-register-cta-hint {
  margin: 0 0 0.75rem;
  font-size: 0.9375rem;
}

body.page-user-register .CNS-auth-login-register-cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  border: 1px solid transparent;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  color: #fff;
  background-color: #0d6efd;
  border-color: #0d6efd;
}

body.page-user-register .CNS-auth-login-register-cta-button:hover,
body.page-user-register .CNS-auth-login-register-cta-button:focus-visible {
  color: #fff;
  background-color: #0b5ed7;
  border-color: #0a58ca;
  text-decoration: none;
}

body.page-user-register .CNS-auth-login-register-cta-button:focus-visible {
  outline: 2px solid rgba(13, 110, 253, 0.45);
  outline-offset: 2px;
}

/* === assets/css/src/layout/user-auth-page-shell.source.css === */
/**
 * @file
 * Auth-Routen: Shell um den Seiteninhalt (früher #page-wrapper).
 * Key: layout.page.shell → .CNS-layout-page-shell (Twig auf dem äußeren Wrapper).
 *
 * @version 1.0.0
 * @date 15.04.2026 (Europe/Berlin)
 */

body.page-user-login .CNS-layout-page-shell {
  max-width: 1600px;
  margin-inline: auto;
  width: 100%;
  box-sizing: border-box;
  padding-inline: clamp(0.75rem, 2vw, 1.25rem);
  background-color: var(--cns-body-bg);
  color: var(--cns-text);
}

body.page-user-login .CNS-layout-page-shell .tabs,
body.page-user-login .CNS-layout-page-shell nav.tabs {
  display: none;
}

body.page-user-register .CNS-layout-page-shell,
body.page-user-password .CNS-layout-page-shell {
  max-width: 1600px;
  margin-inline: auto;
  width: 100%;
  box-sizing: border-box;
  padding-inline: clamp(0.75rem, 2vw, 1.25rem);
  background-color: var(--cns-body-bg);
  color: var(--cns-text);
}

body.page-user-register .CNS-layout-page-shell .tabs,
body.page-user-register .CNS-layout-page-shell nav.tabs,
body.page-user-password .CNS-layout-page-shell .tabs,
body.page-user-password .CNS-layout-page-shell nav.tabs {
  display: none;
}

/* === assets/css/src/layout/user-auth-register-password.page.source.css === */
/**
 * @file
 * CNS Auth: Registrierung + Passwort zurücksetzen (zentrierte Shell-Karte, Legal, Zurück-Link).
 * Platzhalter .CNS-* → dist via CnsCssBuilder.
 *
 * Key-Katalog:
 * - auth.register.shell.page   → .CNS-auth-register-shell-page
 * - auth.register.shell.card   → .CNS-auth-register-shell-card
 * - auth.register.legal        → .CNS-auth-register-legal
 * - auth.password.back         → .CNS-auth-password-back
 * - auth.password.back.link     → .CNS-auth-password-back-link
 */

body.page-user-register .CNS-auth-register-shell-page,
body.page-user-password .CNS-auth-register-shell-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  min-height: min(100vh, 920px);
  padding: 30px 0 2rem;
  box-sizing: border-box;
}

body.page-user-register .CNS-auth-register-shell-card,
body.page-user-password .CNS-auth-register-shell-card {
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
  padding: 1.5rem 1.25rem 2rem;
  border-radius: 15px;
  background-color: var(--cns-card-bg);
  color: var(--cns-text);
  box-sizing: border-box;
  -webkit-box-shadow:
    inset -1px 3px 8px 5px var(--cns-card-shadow-inset),
    2px 5px 16px 0 var(--cns-card-shadow-mid),
    0 0 15px 2px var(--cns-card-shadow-outer);
  box-shadow:
    inset -1px 3px 8px 5px var(--cns-card-shadow-inset),
    2px 5px 16px 0 var(--cns-card-shadow-mid),
    0 0 15px 2px var(--cns-card-shadow-outer);
}

@media (max-width: 767.98px) {
  body.page-user-register .CNS-auth-register-shell-card,
  body.page-user-password .CNS-auth-register-shell-card {
    max-width: min(100%, calc(100vw - 30px));
  }
}

body.page-user-register .CNS-auth-register-shell-card .block-page-title-block h1,
body.page-user-register .CNS-auth-register-shell-card h1.title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  font-weight: 700;
  text-align: center;
  color: var(--cns-text);
}

body.page-user-register .CNS-auth-register-legal {
  margin-top: 1.75rem;
  text-align: center;
  max-width: 42rem;
  margin-inline: auto;
}

body.page-user-register .CNS-auth-register-legal p {
  margin: 0 0 0.75rem;
  font-size: clamp(0.75rem, 0.6362rem + 0.479vw, 1.25rem);
  line-height: 1.45;
}

body.page-user-register .CNS-auth-register-legal p:last-child {
  margin-bottom: 0;
}

body.page-user-password .CNS-auth-password-back {
  margin: 1.25rem 0 0;
  text-align: center;
  font-size: 0.9375rem;
}

body.page-user-password .CNS-auth-password-back-link {
  color: var(--cns-text);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

body.page-user-password .CNS-auth-password-back-link:hover,
body.page-user-password .CNS-auth-password-back-link:focus-visible {
  text-decoration-thickness: 2px;
  outline: none;
}

/* Formular / Eingaben innerhalb der Shell-Karte (auth.register.shell.card) — kein data-cns-* (PRIO C-1). */

body.page-user-register .CNS-auth-register-shell-card .field__label {
  display: none;
}

body.page-user-register .CNS-auth-register-shell-card .form-control,
body.page-user-register .CNS-auth-register-shell-card .form-select,
body.page-user-register .CNS-auth-register-shell-card textarea.form-control,
body.page-user-password .CNS-auth-register-shell-card form .form-control,
body.page-user-password .CNS-auth-register-shell-card form .form-select {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--cns-input-border, rgba(0, 0, 0, 0.25)) !important;
}

body.page-user-register .CNS-auth-register-shell-card .form-control:focus,
body.page-user-register .CNS-auth-register-shell-card .form-control:focus-visible,
body.page-user-register .CNS-auth-register-shell-card .form-select:focus,
body.page-user-register .CNS-auth-register-shell-card .form-select:focus-visible,
body.page-user-register .CNS-auth-register-shell-card textarea.form-control:focus,
body.page-user-register .CNS-auth-register-shell-card textarea.form-control:focus-visible,
body.page-user-password .CNS-auth-register-shell-card form .form-control:focus,
body.page-user-password .CNS-auth-register-shell-card form .form-control:focus-visible,
body.page-user-password .CNS-auth-register-shell-card form .form-select:focus,
body.page-user-password .CNS-auth-register-shell-card form .form-select:focus-visible {
  border-color: var(--cns-input-border-focus, rgba(0, 0, 0, 0.45)) !important;
}

body.page-user-register .CNS-auth-register-shell-card .btn-primary {
  width: 100%;
  font-weight: 600;
}

body.page-user-password .CNS-auth-register-shell-card .block-page-title-block h1,
body.page-user-password .CNS-auth-register-shell-card h1.title {
  margin: 0 0 1rem;
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  font-weight: 700;
  text-align: center;
  color: var(--cns-text);
}

body.page-user-password .CNS-auth-register-shell-card form .CNS-form-element-wrapper {
  margin-bottom: 1rem;
}

body.page-user-password .CNS-auth-register-shell-card form .form-control,
body.page-user-password .CNS-auth-register-shell-card form .form-select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body.page-user-password .CNS-auth-register-shell-card form > p {
  margin: 0 0 1rem;
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--cns-text);
}

body.page-user-password .CNS-auth-register-shell-card form .form-actions {
  margin-top: 1.25rem;
  margin-bottom: 0;
}

body.page-user-password .CNS-auth-register-shell-card form .form-actions .btn-primary {
  width: 100%;
  font-weight: 600;
}

/* === assets/css/src/willkommen-document-map-utilities.source.css === */
/**
 * @file
 * Map-gebundene CNS-Utilities für /willkommen (Twig: {{ cns('display.flex') }} → .CNS-* → dist).
 *
 * Generische Literale liegen in cns_bootstrap.source.css → dist/cns_bootstrap.css (Theme-Library
 * „global“); dort sind Klassen noch .cns-* (npm-Flatten, ohne Map). Diese Datei ist die
 * Twig-kompatible Ergänzung, bis Bootstrap-Quellen auf CNS-Platzhalter umgestellt sind.
 *
 * @version 1.0.0
 * @date 15.04.2026 (Europe/Berlin)
 */

.CNS-display-flex {
  display: flex;
}

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

.CNS-display-flex-inline {
  display: inline-flex;
}

.CNS-flex-direction-column {
  flex-direction: column;
}

.CNS-flex-wrap-wrap {
  flex-wrap: wrap;
}

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

.CNS-justify-content-center {
  justify-content: center;
}

.CNS-min-height-100vh {
  min-height: 100vh;
}

.CNS-min-height-100dvh {
  min-height: 100dvh;
}

.CNS-min-height-webkit-fill-available {
  min-height: -webkit-fill-available;
}

.CNS-overflow-hidden {
  overflow: hidden;
}

.CNS-flex-shrink-0 {
  flex-shrink: 0;
}

.CNS-min-height-0 {
  min-height: 0;
}

.CNS-min-width-0 {
  min-width: 0;
}

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

.CNS-width-100 {
  width: 100%;
}

.CNS-height-100 {
  height: 100%;
}

.CNS-height-auto {
  height: auto;
}

.CNS-margin-0 {
  margin: 0;
}

.CNS-margin-x-auto {
  margin-left: auto;
  margin-right: auto;
}

.CNS-max-width-100 {
  max-width: 100%;
}

.CNS-border-radius-0 {
  border-radius: 0;
}

.CNS-flex-1-1-auto {
  flex: 1 1 auto;
}

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

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

.CNS-text-decoration-none {
  text-decoration: none;
}

.CNS-object-fit-cover {
  object-fit: cover;
}

.CNS-object-fit-contain {
  object-fit: contain;
}

.CNS-object-position-center {
  object-position: center;
}

.CNS-object-position-center-top {
  object-position: center top;
}

.CNS-pointer-events-none {
  pointer-events: none;
}
