/* =========================
   ROOT und Variablen
========================= */

:root {
  --color-primary: #E43117;
  --color-primarytransparent: #E43117CC; 

  /*
   HEX Transparenz
   00	0%
   33	20%
   66	40%
   80	50%
   99	60%
   CC	80%
   FF	100%
  */

  --color-secondary: #E42F16;
  --color-topline: #F8F5F0; 
  --color-accent: #ea4335;
  --color-muted: #6b7280;
  --color-bg: #ffffff;
  --color-text: #000000;    
  --color-border: #e5e5e5;
  --color-menulink: #000000;  
  --color-menubg: #ffffffcc;
  
  --color-slidetext: #ffffff; /* Die 80 am Ende ist eine Transparenz von 50%*/
  --color-slidetextbg: #E43117CC; /* Die 80 am Ende ist eine Transparenz von 50%*/

  --width-logo: 250px;
  font-size: 18px;

}

/* Menü DESKTOP */

.menuline {
  position: sticky;   /* hier wird es sticky */
  top: 0;             /* klebt ab oberen Rand */
  background-color: white; /* Hintergrund nötig, sonst sieht man Content durch */
  z-index: 1000;      /* damit es über anderem Content liegt */
}

.menu-list {
  list-style: none;
  display: flex;
  gap: 20px;
  padding: 0;
  margin: 0;
}

.menu-item {
  position: relative;
}

.menu-item > a {
  text-decoration: none;
  display: inline-block; /* wichtig */
  padding: 10px 0;       /* Abstand hier hinverlagern */
}

.submenu {
  display: none;
  position: absolute;
  top: 100%;             /* direkt unter dem Menüpunkt */
  left: 0;
  list-style: none;
  padding: 10px;
  margin: 0;
  background: #fff;
  border: 1px solid #ccc;
  min-width: 180px;
  z-index: 10;
}

.submenu li {
  margin: 10px 10px;
}

.menu-item:hover .submenu {
  display: block;
}

/* Menü Mobil */

.sidebar {
  position: fixed;
  top: 0;
  left: -250px; /* Startposition: ausgeblendet */
  width: 250px;
  height: 100%;
  background: var(--color-primarytransparent);
  color: #fff;
  transition: left 0.3s ease;
  overflow-y: auto; /* Scrollbar bei vielen Einträgen */
  z-index: 5000; 
}

/* Sichtbar */
.sidebar.active {
  left: 0;
}


a {
    text-decoration: none;    
    color: var(--color-menulink);
}

menu.active {
    text-decoration: underline;    
}

input:focus {
  outline: none;        /* Entfernt den Standard-Fokusrahmen */
  border: none;         /* Entfernt alle sichtbaren Ränder */
  box-shadow: none;     /* Entfernt evtl. Schatten bei Fokus */
}


/* =========================
   Breakpoints
   Desktop first (Allgemeine angabe)
   dt    - Desktop
   nodt   - No Desktop
========================= */


/* =========================
   WIDTH
========================= */
.w-full { width: 100%; }
.w-1\/2 { width: 50%; }
.w-1\/3 { width: 33.3333%; }
.w-2\/3 { width: 66.6667%; }
.w-1\/4 { width: 25%; }
.w-3\/4 { width: 75%; }
.w-40   { width: 40%; }
.w-30   { width: 30%; }
.w-50   { width: 50%; }
.w-auto { width: auto; }
.w-30px { width: 30px; }
.w-40px { width: 40px; }
.w-50px { width: 50px; }
.w-100px { width: 100px; }
.w-150px { width: 150px; }
.w-200px { width: 200px; }
.w-250px { width: 250px; }
.w-300px { width: 300px; }
.w-400px { width: 400px; }
.w-500px { width: 500px; }

/* Responsive Widths */
@media (max-width: 1024px) { /*.nodt */
  .nodt\:w-full { width: 100%; }
  .nodt\:w-1\/2 { width: 50%; }
  .nodt\:w-1\/3 { width: 33.3333%; }
  .nodt\:w-2\/3 { width: 66.6667%; }
  .nodt\:w-1\/4 { width: 25%; }
  .nodt\:w-3\/4 { width: 75%; }
  .nodt\:w-40   { width: 40%; }
  .nodt\:w-30   { width: 30%; }
  .nodt\:w-auto { width: auto; }
  .nodt\:w-30px { width: 30px; }
  .nodt\:w-40px { width: 40px; }
  .nodt\:w-50px { width: 50px; }
  .nodt\:w-100px { width: 100px; }
  .nodt\:w-150px { width: 150px; }
  .nodt\:w-200px { width: 200px; }
  .nodt\:w-250px { width: 250px; }
}

/* =========================
   HEIGHT
========================= */

.h-full { height: 100%; }
.h-screen { height: 100vh; }
.h-auto { height: auto; }
.h-20px { height: 20px; }
.h-25px { height: 25px; }
.h-30px { height: 30px; }
.h-50px { height: 50px; }
.h-75px { height: 75px; }
.h-100px { height: 100px; }
.h-120px { height: 120px; }
.h-130px { height: 130px; }
.h-140px { height: 140px; }
.h-150px { height: 150px; }
.h-200px { height: 200px; }
.h-250px { height: 250px; }


@media (max-width: 1024px) { /*.nodt */
    .nodt\:h-full { height: 100%; }
    .nodt\:h-screen { height: 100vh; }
    .nodt\:h-auto { height: auto; }
    .nodt\:h-30px { height: 30px; }
    .nodt\:h-50px { height: 50px; }
    .nodt\:h-75px { height: 75px; }
    .nodt\:h-100px { height: 100px; }
    .nodt\:h-150px { height: 150px; }
    .nodt\:h-200px { height: 200px; }
    .nodt\:h-250px { height: 250px; }
}


/* =========================
   PADDING (p, pt, pb, pl, pr)
========================= */

.p-5px {padding: 5px;}
.p-10px {padding: 10px;}
.p-15px {padding: 15px;}
.p-20px {padding: 20px;}
.p-30px {padding: 30px;}
.p-40px {padding: 40px;}
.p-50px {padding: 50px;}
.p-100px {padding: 100px;}
.p-200px {padding: 200px;}
.p-300px {padding: 300px;}

@media (max-width: 1024px) { /*.nodt */
.nodt\:p-5px {padding: 5px;}
.nodt\:p-10px {padding: 10px;}
.nodt\:p-15px {padding: 15px;}
.nodt\:p-20px {padding: 20px;}
.nodt\:p-30px {padding: 30px;}
.nodt\:p-40px {padding: 40px;}
.nodt\:p-50px {padding: 50px;}
.nodt\:p-100px {padding: 100px;}
.nodt\:p-200px {padding: 200px;}
.nodt\:p-300px {padding: 300px;}
}

/* Padding top */

.pt-5px {padding-top: 5px;}
.pt-10px {padding-top: 10px;}
.pt-15px {padding-top: 15px;}
.pt-20px {padding-top: 20px;}
.pt-30px {padding-top: 30px;}
.pt-40px {padding-top: 40px;}
.pt-50px {padding-top: 50px;}
.pt-100px {padding-top: 100px;}
.pt-200px {padding-top: 200px;}
.pt-300px {padding-top: 300px;}

@media (max-width: 1024px) { /*.nodt */
.nodt\:pt-5px {padding-top: 5px;}
.nodt\:pt-10px {padding-top: 10px;}
.nodt\:pt-15px {padding-top: 15px;}
.nodt\:pt-20px {padding-top: 20px;}
.nodt\:pt-30px {padding-top: 30px;}
.nodt\:pt-40px {padding-top: 40px;}
.nodt\:pt-50px {padding-top: 50px;}
.nodt\:pt-100px {padding-top: 100px;}
.nodt\:pt-200px {padding-top: 200px;}
.nodt\:pt-300px {padding-top: 300px;}
}


/* Padding bottom */

.pb-5px {padding-bottom: 5px;}
.pb-10px {padding-bottom: 10px;}
.pb-15px {padding-bottom: 15px;}
.pb-20px {padding-bottom: 20px;}
.pb-30px {padding-bottom: 30px;}
.pb-40px {padding-bottom: 40px;}
.pb-50px {padding-bottom: 50px;}
.pb-100px {padding-bottom: 100px;}
.pb-200px {padding-bottom: 200px;}
.pb-300px {padding-bottom: 300px;}

@media (max-width: 1024px) { /*.nodt */
.nodt\:pb-5px {padding-bottom: 5px;}
.nodt\:pb-10px {padding-bottom: 10px;}
.nodt\:pb-15px {padding-bottom: 15px;}
.nodt\:pb-20px {padding-bottom: 20px;}
.nodt\:pb-30px {padding-bottom: 30px;}
.nodt\:pb-40px {padding-bottom: 40px;}
.nodt\:pb-50px {padding-bottom: 50px;}
.nodt\:pb-100px {padding-bottom: 100px;}
.nodt\:pb-200px {padding-bottom: 200px;}
.nodt\:pb-300px {padding-bottom: 300px;}
}
/* Padding left right*/

.px-5px {padding-left: 5px; padding-right: 5px;}
.px-10px {padding-left: 10px; padding-right: 5px;}
.px-15px {padding-left: 15px; padding-right: 15px;}
.px-20px {padding-left: 20px; padding-right: 20px;}
.px-30px {padding-left: 30px; padding-right: 30px;}


@media (max-width: 1024px) { /*.nodt */
.nodt\:px-5px {padding-left: 5px; padding-right: 5px;}
.nodt\:px-10px {padding-left: 10px; padding-right: 10px;}
.nodt\:px-15px {padding-left: 15px; padding-right: 15px;}
.nodt\:px-20px {padding-left: 20px; padding-right: 20px;}
.nodt\:px-30px {padding-left: 30px; padding-right: 30px;}
}


/* Padding top bottom */

.py-5px {padding-top: 5px; padding-bottom: 5px;}
.py-10px {padding-top: 10px; padding-bottom: 10px;}
.py-15px {padding-top: 15px; padding-bottom: 15px;}
.py-20px {padding-top: 20px; padding-bottom: 20px;}
.py-30px {padding-top: 30px; padding-bottom: 30px;}


@media (max-width: 1024px) { /*.nodt */
.nodt\:py-5px {padding-top: 5px; padding-bottom: 5px;}
.nodt\:py-10px {padding-top: 10px; padding-bottom: 10px;}
.nodt\:py-15px {padding-top: 15px; padding-bottom: 15px;}
.nodt\:py-20px {padding-top: 20px; padding-bottom: 20px;}
.nodt\:py-30px {padding-top: 30px; padding-bottom: 30px;}
}


/* Padding left */

.pl-5px {padding-left: 5px;}
.pl-10px {padding-left: 10px;}
.pl-15px {padding-left: 15px;}
.pl-20px {padding-left: 20px;}
.pl-30px {padding-left: 30px;}
.pl-40px {padding-left: 40px;}
.pl-50px {padding-left: 50px;}
.pl-100px {padding-left: 100px;}
.pl-200px {padding-left: 200px;}
.pl-300px {padding-left: 300px;}

@media (max-width: 1024px) { /*.nodt */
.nodt\:pl-5px {padding-left: 5px;}
.nodt\:pl-10px {padding-left: 10px;}
.nodt\:pl-15px {padding-left: 15px;}
.nodt\:pl-20px {padding-left: 20px;}
.nodt\:pl-30px {padding-left: 30px;}
.nodt\:pl-40px {padding-left: 40px;}
.nodt\:pl-50px {padding-left: 50px;}
.nodt\:pl-100px {padding-left: 100px;}
.nodt\:pl-200px {padding-left: 200px;}
.nodt\:pl-300px {padding-left: 300px;}
}

/* Padding right */

.pr-5px {padding-right: 5px;}
.pr-10px {padding-right: 10px;}
.pr-15px {padding-right: 15px;}
.pr-20px {padding-right: 20px;}
.pr-30px {padding-right: 30px;}
.pr-40px {padding-right: 40px;}
.pr-50px {padding-right: 50px;}
.pr-100px {padding-right: 100px;}
.pr-200px {padding-right: 200px;}
.pr-300px {padding-right: 300px;}

@media (max-width: 1024px) { /*.nodt */
.nodt\:pr-5px {padding-right: 5px;}
.nodt\:pr-10px {padding-right: 10px;}
.nodt\:pr-15px {padding-right: 15px;}
.nodt\:pr-20px {padding-right: 20px;}
.nodt\:pr-30px {padding-right: 30px;}
.nodt\:pr-40px {padding-right: 40px;}
.nodt\:pr-50px {padding-right: 50px;}
.nodt\:pr-100px {padding-right: 100px;}
.nodt\:pr-200px {padding-right: 200px;}
.nodt\:pr-300px {padding-right: 300px;}
}

/* =========================
   MARGIN (p, pt, pb, pl, pr)
========================= */

.m-5px {margin: 5px;}
.m-10px {margin: 10px;}
.m-15px {margin: 15px;}
.m-20px {margin: 20px;}
.m-30px {margin: 30px;}
.m-40px {margin: 40px;}
.m-50px {margin: 50px;}
.m-100px {margin: 100px;}
.m-200px {margin: 200px;}
.m-300px {margin: 300px;}

@media (max-width: 1024px) { /*.nodt */
.nodt\:m-5px {margin: 5px;}
.nodt\:m-10px {margin: 10px;}
.nodt\:m-15px {margin: 15px;}
.nodt\:m-20px {margin: 20px;}
.nodt\:m-30px {margin: 30px;}
.nodt\:m-40px {margin: 40px;}
.nodt\:m-50px {margin: 50px;}
.nodt\:m-100px {margin: 100px;}
.nodt\:m-200px {margin: 200px;}
.nodt\:m-300px {margin: 300px;}
}


/* margin top */

.mt-5px {margin-top: 5px;}
.mt-10px {margin-top: 10px;}
.mt-15px {margin-top: 15px;}
.mt-20px {margin-top: 20px;}
.mt-30px {margin-top: 30px;}
.mt-40px {margin-top: 40px;}
.mt-50px {margin-top: 50px;}
.mt-100px {margin-top: 100px;}
.mt-200px {margin-top: 200px;}
.mt-300px {margin-top: 300px;}

@media (max-width: 1024px) { /*.nodt */
.nodt\:mt-5px {margin-top: 5px;}
.nodt\:mt-10px {margin-top: 10px;}
.nodt\:mt-15px {margin-top: 15px;}
.nodt\:mt-20px {margin-top: 20px;}
.nodt\:mt-30px {margin-top: 30px;}
.nodt\:mt-40px {margin-top: 40px;}
.nodt\:mt-50px {margin-top: 50px;}
.nodt\:mt-100px {margin-top: 100px;}
.nodt\:mt-200px {margin-top: 200px;}
.nodt\:mt-300px {margin-top: 300px;}
}

/* margin bottom */

.mb-5px {margin-bottom: 5px;}
.mb-10px {margin-bottom: 10px;}
.mb-15px {margin-bottom: 15px;}
.mb-20px {margin-bottom: 20px;}
.mb-30px {margin-bottom: 30px;}
.mb-40px {margin-bottom: 40px;}
.mb-50px {margin-bottom: 50px;}
.mb-100px {margin-bottom: 100px;}
.mb-200px {margin-bottom: 200px;}
.mb-300px {margin-bottom: 300px;}

@media (max-width: 1024px) { /*.nodt */
.nodt\:mb-5px {margin-bottom: 5px;}
.nodt\:mb-10px {margin-bottom: 10px;}
.nodt\:mb-15px {margin-bottom: 15px;}
.nodt\:mb-20px {margin-bottom: 20px;}
.nodt\:mb-30px {margin-bottom: 30px;}
.nodt\:mb-40px {margin-bottom: 40px;}
.nodt\:mb-50px {margin-bottom: 50px;}
.nodt\:mb-100px {margin-bottom: 100px;}
.nodt\:mb-200px {margin-bottom: 200px;}
.nodt\:mb-300px {margin-bottom: 300px;}
}
/* margin left */

.ml-5px {margin-left: 5px;}
.ml-10px {margin-left: 10px;}
.ml-15px {margin-left: 15px;}
.ml-20px {margin-left: 20px;}
.ml-30px {margin-left: 30px;}
.ml-40px {margin-left: 40px;}
.ml-50px {margin-left: 50px;}
.ml-100px {margin-left: 100px;}
.ml-200px {margin-left: 200px;}
.ml-300px {margin-left: 300px;}

@media (max-width: 1024px) { /*.nodt */
.nodt\:ml-5px {margin-left: 5px;}
.nodt\:ml-10px {margin-left: 10px;}
.nodt\:ml-15px {margin-left: 15px;}
.nodt\:ml-20px {margin-left: 20px;}
.nodt\:ml-30px {margin-left: 30px;}
.nodt\:ml-40px {margin-left: 40px;}
.nodt\:ml-50px {margin-left: 50px;}
.nodt\:ml-100px {margin-left: 100px;}
.nodt\:ml-200px {margin-left: 200px;}
.nodt\:ml-300px {margin-left: 300px;}
}


/* margin right */

.mr-5px {margin-right: 5px;}
.mr-10px {margin-right: 10px;}
.mr-15px {margin-right: 15px;}
.mr-20px {margin-right: 20px;}
.mr-30px {margin-right: 30px;}
.mr-40px {margin-right: 40px;}
.mr-50px {margin-right: 50px;}
.mr-100px {margin-right: 100px;}
.mr-200px {margin-right: 200px;}
.mr-300px {margin-right: 300px;}

@media (max-width: 1024px) { /*.nodt */
.nodt\:mr-5px {margin-right: 5px;}
.nodt\:mr-10px {margin-right: 10px;}
.nodt\:mr-15px {margin-right: 15px;}
.nodt\:mr-20px {margin-right: 20px;}
.nodt\:mr-30px {margin-right: 30px;}
.nodt\:mr-40px {margin-right: 40px;}
.nodt\:mr-50px {margin-right: 50px;}
.nodt\:mr-100px {margin-right: 100px;}
.nodt\:mr-200px {margin-right: 200px;}
.nodt\:mr-300px {margin-right: 300px;}
}


/* margin left right*/

.mx-5px {margin-left: 5px; margin-right: 5px;}
.mx-10px {margin-left: 10px; margin-right: 5px;}
.mx-15px {margin-left: 15px; margin-right: 15px;}
.mx-20px {margin-left: 20px; margin-right: 20px;}
.mx-30px {margin-left: 30px; margin-right: 30px;}


@media (max-width: 1024px) { /*.nodt */
.nodt\:mx-5px {margin-left: 5px; margin-right: 5px;}
.nodt\:mx-10px {margin-left: 10px; margin-right: 10px;}
.nodt\:mx-15px {margin-left: 15px; margin-right: 15px;}
.nodt\:mx-20px {margin-left: 20px; margin-right: 20px;}
.nodt\:mx-30px {margin-left: 30px; margin-right: 30px;}
}


/* margin top bottom */

.my-5px {margin-top: 5px; margin-bottom: 5px;}
.my-10px {margin-top: 10px; margin-bottom: 10px;}
.my-15px {margin-top: 15px; margin-bottom: 15px;}
.my-20px {margin-top: 20px; margin-bottom: 20px;}
.my-30px {margin-top: 30px; margin-bottom: 30px;}


@media (max-width: 1024px) { /*.nodt */
.nodt\:my-5px {margin-top: 5px; margin-bottom: 5px;}
.nodt\:my-10px {margin-top: 10px; margin-bottom: 10px;}
.nodt\:my-15px {margin-top: 15px; margin-bottom: 15px;}
.nodt\:my-20px {margin-top: 20px; margin-bottom: 20px;}
.nodt\:my-30px {margin-top: 30px; margin-bottom: 30px;}
}


/* =========================
   FLEX
========================= */
.flex { display: flex; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.flex-col { flex-direction: column; }
.flex-wrap {flex-wrap: wrap;} 


@media (max-width: var(--min-with-desktop)) {
  .nodt\:flex { display: flex; }
  .nodt\:flex-col { flex-direction: column; }
  .nodt\:items-center { align-items: center; }
  .nodt\:justify-center { justify-content: center; }
}

/* =========================
   FLEX GROW
========================= */

/* Element darf wachsen */
.flex-grow { flex-grow: 1; }

/* Element darf nicht wachsen */
.flex-grow-0 { flex-grow: 0; }

/* Optional: mehr Werte für Feinsteuerung */
.flex-grow-2 { flex-grow: 2; }
.flex-grow-3 { flex-grow: 3; }

/*.nodtall screens .nodt >= 640px) */
@media (max-width: var(--min-with-desktop)) {
  .nodt\:flex-grow { flex-grow: 1; }
  .nodt\:flex-grow-0 { flex-grow: 0; }
  .nodt\:flex-grow-2 { flex-grow: 2; }
  .nodt\:flex-grow-3 { flex-grow: 3; }
}


/* =========================
   FLEX SHRINK
========================= */

/* Standard: Element darf schrumpfen */
.flex-shrink { flex-shrink: 1; }

/* Element darf nicht schrumpfen */
.flex-shrink-0 { flex-shrink: 0; }

/* Optional: Mehr Werte für Feinsteuerung */
.flex-shrink-2 { flex-shrink: 2; }
.flex-shrink-3 { flex-shrink: 3; }

/*.nodtall screens .nodt >= 640px) */
@media (max-width: var(--min-with-desktop)) {
  .nodt\:flex-shrink { flex-shrink: 1; }
  .nodt\:flex-shrink-0 { flex-shrink: 0; }
  .nodt\:flex-shrink-2 { flex-shrink: 2; }
  .nodt\:flex-shrink-3 { flex-shrink: 3; }
}


/* =========================
   GRID
========================= */
.grid { display: grid; }
.grid-cols-1 { grid-template-columns: repeat(1, 1fr); }
.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.grid-cols-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: var(--min-with-desktop)) {
  .nodt\:grid-cols-1 { grid-template-columns: repeat(1, 1fr); }
  .nodt\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .nodt\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .nodt\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
}

/* =========================
   ROUNDED
========================= */
.rounded-none { border-radius: 0; }
.rounded.nodt { border-radius: 0.125rem; }
.rounded { border-radius: 0.25rem; }
.rounded-md { border-radius: 0.375rem; }
.rounded-lg { border-radius: 0.5rem; }
.rounded-xl { border-radius: 0.75rem; }
.rounded-2xl { border-radius: 1rem; }
.rounded-3xl { border-radius: 1.5rem; }
.rounded-full { border-radius: 9999px; }

/* Rundung nur an bestimmten Ecken */
.rounded-t { border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; }
.rounded-b { border-bottom-left-radius: 0.25rem; border-bottom-right-radius: 0.25rem; }
.rounded-l { border-top-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem; }
.rounded-r { border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem; }
.rounded-tl { border-top-left-radius: 0.25rem; }
.rounded-tr { border-top-right-radius: 0.25rem; }
.rounded-bl { border-bottom-left-radius: 0.25rem; }
.rounded-br { border-bottom-right-radius: 0.25rem; }


/* =========================
   TEXT / FONT
========================= */
.text.nodt { font-size: 0.875rem; }
.text-base { font-size: 1rem; }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }

@media (max-width: 1024px) {
  .nodt\:text.nodt { font-size: 0.875rem; }
  .nodt\:text-base { font-size: 1rem; }
  .nodt\:text-lg { font-size: 1.125rem; }
  .nodt\:text-xl { font-size: 1.25rem; }
}



/* =========================
   FARBEN
========================= */

.align-left {text-align: left;}
.align-right {text-align: right;}
.align-center {text-align: center;}

/* =========================
   FARBEN
========================= */

.gray-100 { color: #f5f5f5; }
.gray-200 { color: #e5e5e5; }
.gray-300 { color: #d4d4d4; }
.gray-400 { color: #a3a3a3; }
.gray-500 { color: #6b7280; }

/* =========================
   HINTERGRUND-FARBEN
========================= */
.bg-white { background-color: #ffffff; }
.bg-black { background-color: #000000; }
.bg-gray-100 { background-color: #f5f5f5; }
.bg-gray-200 { background-color: #e5e5e5; }
.bg-gray-300 { background-color: #d4d4d4; }
.bg-gray-400 { background-color: #a3a3a3; }
.bg-gray-500 { background-color: #6b7280; }

.bg-primary { background-color: var(--color-primary); }
.bg-secondary { background-color: var(--color-secondary); }
.bg-topline { background-color: var(--color-topline); }
.bg-accent { background-color: var(--color-accent); }
.bg-muted { background-color: var(--color-muted); }

/* =========================
   BORDER-FARBEN
========================= */
.border-none { border: none; }
.border { border-width: 1px; border-style: solid; }
.border-gray-100 { border-color: #f5f5f5; }
.border-gray-200 { border-color: #e5e5e5; }
.border-gray-300 { border-color: #d4d4d4; }
.border-gray-400 { border-color: #a3a3a3; }
.border-gray-500 { border-color: #6b7280; }
.border-primary { border-color: var(--color-primary); }
.border-accent { border-color: var(--color-accent); }
.border-muted { border-color: var(--color-muted); }
.border-black { border-color: #000000; }
.border-white { border-color: #ffffff; }

/* =========================
   FARBEN
========================= */
.text-black { color: #000000; }
.text-white { color: #ffffff; }
.text-gray-500 { color: #6b7280; }
.text-muted { color: var(--color-muted); }
.text-primary { color: var(--color-primary); }
.text-accent { color: var(--color-accent); }
.bg-menu { color: var(--color-menubg); }


/* =========================
   BORDERS
========================= */

.b-1px {border: 1px var(--color-border) solid; }
.b-2px {border: 2px var(--color-border) solid; }
.bt-1px {border-top: 1px var(--color-border) solid; }
.bt-2px {border-top: 2px var(--color-border) solid; }
.bb-1px {border-bottom: 1px var(--color-border) solid; }
.bb-2px {border-bottom: 2px var(--color-border) solid; }
.bl-1px {border-left: 1px var(--color-border) solid; }
.bl-2px {border-left: 2px var(--color-border) solid; }
.br-1px {border-right: 1px var(--color-border) solid; }
.br-2px {border-right: 2px var(--color-border) solid; }


/* =========================
   HOVER
========================= */

/* Hover-Unterstreichung */
.hover\:underline:hover {
  text-decoration: underline;
}

.hover\:bb-1px:hover {
  border-bottom: 1px var(--color-border) solid; 
}

.hover\:bb-2px:hover {
  border-bottom: 2px var(--color-border) solid; 
}


/* =========================
   Visible
========================= */


.visible-on {display:block;}
.visible-off {display: none;}

@media (max-width: 1024px) {
  .nodt\:visible-on {display:block;}
  .nodt\:visible-off {display:none;}  
}

@media (min-width: 1024px) {
  .dt\:visible-on {display:block;}
  .dt\:visible-off {display:none;}  
}