/* ------------------------------------------------------------------------------ */
/* ****************************************************************************** */
/* --------- (C) Copyright 2025/2026 by machtWeb | Reinhard Lange --------------- */
/* ---------------------- machtWeb.de | relaXits@machtWeb.de -------------------- */
/* ------------------------------------------------------------------------------ */
/* update	->													                            6.02/00 - 09-05-26
/* layout	-> startpage														                                */
/* file 	-> design/design.css												                            */
/* colors	-> http://www.color-hex.com											                        */
/* ------------------------------------------------------------------------------ */

/* css for all screen-sizes */
/* Basis-Navigation */
/* Basis-Navigation */
nav {
  display: flex;
  justify-content: center;
  align-items: center;
  position: sticky;
  top: 0;
  height: 62px;
  padding: 0;
  font-size: 1.1rem;
  font-weight: 400;
  background: var(--nav-bgr-lar);
  border: 1px solid rgba(204,204,204,.4);
  border-width: 1px 0;
  box-shadow: var(--nav-shadow);
  z-index: 1;
}

/* Menü-Ebenen */
.nav-main-menu { text-transform: uppercase; }
.nav-sub-menu  { text-transform: none; }

nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

nav ul li {
  display: inline-block;
  margin: 0;
}

nav ul li a {
  padding: 20px 18px;
  text-decoration: none;
  color: #444;
}

nav ul li a:hover {
  background: rgb(231,51,50);
  color: #fff;
}

/* Sub-Menü (2. Ebene) */
nav ul ul {
  position: absolute;
  top: 80px;
  margin: 0 0 0 -1px;
  opacity: 0;
  visibility: hidden;
  background: rgb(231,51,50);
  color: #fff;
  border: 1px solid #ccc;
  box-shadow: var(--nav-shadow);
  transition: top .4s;
}

nav ul > li:hover > ul {
  top: 60px;              /* nur 2. Ebene */
  opacity: 1;
  visibility: visible;
}

nav ul ul li {
  position: relative;
  display: list-item;
  max-width: 340px;
  min-width: 172px;
  margin: 0;
}

nav ul ul li a {
  display: block;
  padding: 8px 16px;
  text-decoration: none;
  background: var(--nav-bgr-lar);
  color: #444;
}

nav ul ul li:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

nav ul ul li a:hover {
  color: #fff;
}

/* Farbvarianten für bestimmte Sub-Items */
.nav-sub-1:hover { background: var(--col-red); }
.nav-sub-2:hover { background: var(--col-blu); }
.nav-sub-3:hover { background: var(--col-org); }
.nav-sub-4:hover { background: var(--col-grn); }
.nav-sub-5:hover { background: var(--col-gry); }

/* Sub-Sub-Menü (3. Ebene) */
nav ul ul ul {
  position: absolute;
  top: 6px;
  left: calc(100% - 8px); /* leicht nach links */   /* rechts neben der 2. Ebene */
  opacity: 0;
  visibility: hidden;
  background: var(--nav-bgr-lar);
  border: 1px solid #ccc;
  box-shadow: var(--nav-shadow);
  z-index:999;
}

nav ul ul li:hover > ul {
  top: 6px;
  left: calc(100% - 8px);
  opacity: 1;
  visibility: visible;
}

nav ul ul ul li {
  display: block;
  min-width: 172px;
}

nav ul ul ul li a {
  padding: 8px 16px;
  text-decoration: none;
  background: var(--nav-bgr-lar);
  color: #444;
}

nav ul ul ul li a:hover {
  background: var(--nav-bgr-hov);
  color: #fff;
}

/* Hilfselemente */
.show,
.icon,
input {
  display: none;
}

.fa-plus {
  font-size: 1rem;
  margin-left: 40px;
}

/* Tablet */
@media all and (max-width: 1280px) {
  nav {
    font-size: 1rem;
    font-weight: 100;
  }
  nav ul li a {
    padding: 20px 4px;
  }
}

/* Mobile */
@media all and (max-width: 820px) {
  input[type="checkbox"] { display: none; }

  .icon {
    position: sticky;
    display: flex;
    top: 0;
    left: 0;
    width: 100%;
    padding: 12px 24px;
    align-items: center;
    justify-content: space-between;
    font-size: 24px;
    background: transparent;
    color: var(--color-primary);
    cursor: pointer;
    z-index: 1001;
  }

  .icon span { font-size: 32px; }
  .menu-text { font-size: 1rem; color: var(--color-primary); }

  nav ul {
    display: none;
    position: absolute;
    top: 8px;
    left: 25%;
    width: 50%;
    text-align: center;
    background: rgba(255,255,255,0.95);
    border: 1px solid #ccc;
    box-shadow: var(--nav-shadow);
    z-index: 99999;
  }

  input[type="checkbox"]:checked ~ ul { display: block; }

  nav ul li { display: block; position: relative; }
  nav ul li:not(:last-child) { border-bottom: 1px solid #ccc; }
  nav ul li a { display: block; padding: 12px; color: #444; }
  nav ul li a:hover { background: var(--nav-bgr-hov); color: #fff; }

  /* Sub-Menü mobil */
  nav ul ul {
    position: absolute;
    top: 0;
    left: 100%;
    opacity: 0;
    visibility: hidden;
    background: var(--nav-bgr-lar);
    border: 1px solid #ccc;
    box-shadow: var(--nav-shadow);
  }

  nav ul li:hover > ul {
    opacity: 1;
    visibility: visible;
  }

  nav ul li input[type="checkbox"]:checked + ul {
    display: block;
  }

  nav ul ul li { display: block; }
  nav ul ul li a {
    padding: 8px 16px;
    background: var(--nav-bgr-lar);
    color: #444;
  }
  nav ul ul li:not(:last-child) { border-bottom: 1px solid #ccc; }
  nav ul ul li a:hover { background: var(--nav-bgr-hov); color: #fff; }
}



/* Media Query für Bildschirme größer als 820px */
@media screen and (min-width: 821px) {
  .menu-buttons {
    display: none; /* Die Buttons werden bei Bildschirmen größer als 820px nicht angezeigt */
  }
}
  
/* ------------------------------------------------------------------------------ */
/* ASIDE                                                       6.00/00 - 24-10-23 */
/* https://codepen.io/johannpino/pen/ZOrbJG                                       */
/* ------------------------------------------------------------------------------ */
/* FOR SUB-ITEMS ONLY ! */

.sub-nav {
  position:sticky;
  top: 4em;
  max-width: 100%;
  margin:1em 0;
  padding:0;
  line-height:42px;
  list-style:none;
}
.sub-nav ul {
  padding: 0;
  margin: 0;
}
.sub-nav li {
  margin-bottom: 6px;
  padding: 0 0 0 .8em;
  box-shadow: 4px 0 var(--color-primary) inset;
  transition: all 0.5s;
}
.sub-nav li:first-child {
  margin-top: 16px;
}
.sub-nav li:last-child {
  margin-bottom: 6px;  
  border: 1px solid var(--color-primary);
  border-width: 0 0 4px 0;
}
.sub-nav li:hover {
  box-shadow: 14em 0 rgb(0,0,0,.06) inset;
  border-radius: 0 6px 6px 0;
}
.sub-nav a {
  display: block;
  text-decoration: none;
  text-transform: none;
  color: #000;
  transition: all 0.5s;
}
.sub-nav a:hover {
  margin-left: .4em;
  transition: all 0.6s;
}

/* aside - sub-navi - smaller font-size and line-height for smaller screens */ 
@media (max-width: 1279px) {
  .sub-nav {
    line-height:38px;
    font-size: 1rem;
  }
}

/* ------------------------------------------------------------------------------ */
/* CONTEXT-MENU */
/* link -> https://codepen.io/dsr/pen/WNvKVGp */
/* ------------------------------------------------------------------------------ */

body {
  margin:0px;
  font-family:"Open Sans",sans-serif;
}
#context-menu {
  position:fixed;
  z-index:10000;
  width:172px;
  background:#f2f2f2;
  border: 1px solid #ccc;
  border-radius:var(--box-radius);
  box-shadow:var(--box-shadow);
  transform:scale(0);
  transform-origin:top left;
}
#context-menu.active {
  transform:scale(1);
  transition:transform 200ms ease-in-out;
}
#context-menu .item {
  padding:8px 10px;
  font-size:1rem;
  color:#2f2f2f;
}
#context-menu .item:hover {
  background:#ccc;
}
#context-menu .item i {
  display:inline-block;
  margin-right:5px;
}
#context-menu hr {
  margin:2px 0;
  border-color:var(--color-primary);
}

/* ------------------------------------------------------------------------------ */
/* END */	
/* ------------------------------------------------------------------------------ */