/* ------------------------------------------------------------------------------ */
/* ****************************************************************************** */
/* --------- (C) Copyright 2023/2024 by machtWeb | Reinhard Lange --------------- */
/* ---------------------- machtWeb.de | relaXits@machtWeb.de -------------------- */
/* ------------------------------------------------------------------------------ */
/* update	->													                            6.00/00 - 18-11-23
/* layout	-> startpage														                                */
/* file 	-> design/design.css												                            */
/* colors	-> http://www.color-hex.com											                        */
/* ------------------------------------------------------------------------------ */

/* css for all screen-sizes */
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 1px 0;
    box-shadow: var(--nav-shadow);
    z-index:999; /* self 1; */
  }
  
/* menu-items */
.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:var(--color-primary); /* rgb(231,51,50); /* self var(--nav-bgr-hov); */
    color: #fff;
  }
  
  /* sub-menu - 2nd-level */
  nav ul ul {
    position: absolute;
    top: 80px; /* max. distance from bottom of NAV */
    margin: 0 0 0 -1px;
    opacity: 0;
    visibility: hidden;
    background:var(--color-primary); /* rgb(231,51,50); /* self var(--nav-bgr-lar); /* Gleiche Hintergrundfarbe wie das Hauptmenü */
    color: #fff;
    border: 1px solid #ccc;
    box-shadow: var(--nav-shadow);
    transition: top .4s;
  }
  
  nav ul li:hover > ul {
    top: 60px; /* exact position of sub-menu */
    opacity: 1;
    visibility: visible;
  }
  
  nav ul ul li {
    position: relative;
    display: list-item;
    max-width: 340px; /* 256px; */
    min-width: 172px;
    margin: 0;
  }

/* Hintergrundfarbe des Sub-Menüs (orange) */
  nav ul ul li a {
    display: block;
    padding: 8px 16px;
    text-decoration: none;
    background: var(--nav-bgr-lar); 
    color:#444;
  }
  
  /* Border und abgerundete Ecken */
  nav ul ul li:not(:last-child) {
    border-bottom: 1px solid #ccc; /* Horizontal Trennlinie hinzufügen */
  }
  
  /* Farbwechsel beim Hover innerhalb des Sub-Menüs (von orange auf blau) */
  nav ul ul li a:hover {
    /*background:green; rgb(231,51,50); /* self var(--nav-bgr-hov); */
    color: #fff;
  }
  /* special for shk-client */
  .nav-sub-1:hover {background:var(--col-1st);}
  .nav-sub-2:hover {background:var(--col-3rd);}
  .nav-sub-3:hover {background:var(--col-2nd);}
  .nav-sub-4:hover {background:var(--col-4th);}
  .nav-sub-5:hover {background:var(--col-5th);}

  nav ul ul li a {
    /*line-height: 64px;*/
  }
  nav ul ul ul li {
    position: relative;
    top: -60px;
    left: 160px;
    border: 1px red !important;
  }
  
  .show,
  .icon,
  input {
    display: none;
  }
  
  .fa-plus {
    font-size: 1rem;
    margin-left: 40px;
  }


/* DESKTOP TO TABLET */
@media all and (max-width: 1280px) {
    nav {
      font-size: 1rem;
      font-weight: 100;
    }

    nav ul li a {
      padding: 20px 4px;
      text-decoration: none;
    }

  }


/* scree max. 1280px | 768 | 820 */
@media all and (max-width: 820px) {
    /* checkbox hidden */
    input[type="checkbox"] {display:none;}

    /* label for nav-section */
    .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 and text */
    .icon span {font-size: 32px;}
    .menu-text {font-size: 1rem; color:var(--color-primary);
    }
  
    /* mobile */
    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;
    }
  
    /* checkbox active */
    input[type="checkbox"]:checked ~ ul {display:block;}
  
    /* main-menu */
    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;text-decoration:none;color: #444;}
    nav ul li a:hover           {background:var(--nav-bgr-hov);color: #fff;}

    /* sub-menu */
    nav ul ul {
      position: absolute;
      top:0;
      left:100%;
      opacity:0;
      visibility:hidden;
      background:var(--nav-bgr-lar);
      color: red;
      border: 1px solid #ccc;
      box-shadow: var(--nav-shadow);
      transition: top 0.4s;
    }
    nav ul li:hover > ul {
      top:0;
      left:50%;
      opacity:1;
      visibility:visible;
    }
    nav ul li input[type="checkbox"]:checked + ul {
      display:block;
    } 
    /* sub-menu */
    nav ul ul li {
      display:block;
    }
    nav ul ul li a {
      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 {
      background: var(--nav-bgr-hov);
      color: #fff;
    }
  }

/* Media Query für Bildschirme kleiner als oder gleich 820px */
@media screen and (max-width: 820px) {
  /* Stil für die Buttons */
  .menu-buttons {
    display: flex;
    flex-direction: column;

    margin: 1em auto;
  }

  h3 {
    text-align: left; /* Überschrift linksbündig ausrichten */
    margin-bottom: 0.5em; /* Abstand unter der Überschrift */
  }

  .downloads-button-container {
    display: flex;
    justify-content: center;
    width: 100%; /* Buttons sollen volle Breite einnehmen */
    gap: 1em;
  }

  .downloads-button {
    flex: 1;
    padding: 10px 0; /* Anpassung der Padding-Werte */
    background: var(--color-primary);
    color: #fff;
    border: none;
    border-radius: 5px;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s;
  }

  .downloads-button:hover {
    background:hsl(0 69% 54%);;
  }
}

/* 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 */	
/* ------------------------------------------------------------------------------ */