/*   Main-Navigation                                */
:root {
  --hnavtextcolor: #ffffff;
  --hnavhovercolor: #a5037c;

  --hunavtextcolor: #a5037c;
  --hunavhovercolor: #3c3c3c;
  --hunavbordercolor: #a5037c;

  --fnavtextcolor: #3c3c3c;
  --fnavhovercolor: #a5037c;
  --funavtextcolor: #a5037c;
  --funavhovercolor: #3c3c3c;
}


/*   Hamburger             */
nav input#hamburger {display:none;}
nav label.hamburger {display:none;}
 



@media all and (min-width: 992px) {

nav ul.mainNavGrid { 
  grid-area: navi;
  display: grid;
  background: transparent;
  grid-auto-flow: column;
  justify-items: start;
  align-items: start;
  justify-content: start;
  list-style: none;
  padding: 0px;
  margin: 0px;
  }
nav ul.mainNavGrid li { 
  font-size:1.00em;
  color: var(--hnavtextcolor);
  text-align: center;
  white-space: nowrap;
  text-transform: uppercase;
  padding:10px 18px 4px 18px;
  margin: 0px 0px 0px 0px;
  border-bottom: 6px solid #a5037c;
  overflow: hidden;
  			overflow: visible;
  cursor:pointer;
  z-index:10;
  }
nav ul.mainNavGrid li a { 
  text-decoration: none;
  font-weight: 600;
  color: var(--hnavtextcolor);
  padding: 0px 0px 0px 0px;
  }
nav ul.mainNavGrid li:hover, 
nav ul.mainNavGrid li.aktive, 
nav ul.mainNavGrid li:hover a, 
nav ul.mainNavGrid li.aktive a { 
  background-color: #ffffff;
  text-decoration: none;
  color: var(--hnavhovercolor);
  }
nav ul.mainNavGrid li ul { 
  position:absolute;
  font-size:1.0em;
  padding: 0px;
  margin-top: 11px;
  margin-left: -25px;
  list-style: none;
	max-height: 0;
	overflow: hidden;
	  background-color: rgba(255, 255, 255, 0.9);
	//-webkit-transition: max-height 0.8s;
	//-moz-transition: max-height 0.8s;
	transition: max-height 0.2s linear;
	border-radius: 8px;
	border: 2px solid transparent;
	visibility: hidden;
  }
nav ul.mainNavGrid li:hover ul,
nav ul.mainNavGrid li:focus-within ul { 
  max-height: 500px;
  cursor:pointer;
  border: 1px solid #eee;
  border-top: 1px solid transparent;
  border: 2px solid #a5037c;
  border-color:rgba(165, 3, 124, 0.4);
	background-color: rgba(255, 255, 255, 0.9);
	transition: max-height 0.5s linear;
	visibility: initial;
  }
nav ul.mainNavGrid li ul li { 
  font-size:1.0em;
  font-weight:bold;
  color: var(--hunavtextcolor);
  text-align: left;
  padding:5px 0px 5px 0px;
  margin:0px 15px 0px 15px;
  list-style: none;
  padding-left: 0px;
  border-bottom: 1px solid var(--hunavtextcolor);
  }
nav ul.mainNavGrid li ul li ul li:first-child {
    margin-top: 0px;
}
nav ul.mainNavGrid li ul li ul li:last-child {
    margin-bottom: 10px;
}
nav ul.mainNavGrid li ul li ul li a {
    color: #a5037c;
}

nav ul.mainNavGrid li ul li[unenu=true] {
  background:transparent url(/images/elemente/unav-arrow.png) no-repeat center right;
}
nav ul.mainNavGrid li ul li a {
  display:inline-block;
  width:100%;
  padding-right:35px;
}
nav ul.mainNavGrid li ul:hover, 
nav ul.mainNavGrid li ul:focus-within { 
	overflow: visible;
  }
nav ul.mainNavGrid li ul li ul { 
  display: none;
  overflow: hidden;
  margin-left: -20px;
  margin-top: -7px;
  padding-left:15px;
  background: transparent url(/images/elemente/unav-arrow.png) no-repeat 8px 12px;
 }
nav ul.mainNavGrid li ul li:hover ul, 
nav ul.mainNavGrid li ul li:focus-within ul { 
  display:inline-block;
	transition: max-height 0.5s linear;
 }

nav ul.mainNavGrid li ul li a { 
  font-size:1.0em;
  color: var(--hunavtextcolor);
  background-color: transparent !important;
  }

nav ul.mainNavGrid li ul li:hover, 
nav ul.mainNavGrid li ul li.aktive { 
  color:inherit !important;
  cursor:pointer;
  background-color: transparent;
  color: var(--hunavhovercolor) !Important;
  }
nav ul.mainNavGrid li ul li:hover a, 
nav ul.mainNavGrid li ul li.aktive a { 
  color: var(--hunavhovercolor) !Important;
  }
nav ul.mainNavGrid li ul li:hover ul li a { 
  color: var(--hunavtextcolor) !Important;
  }
nav ul.mainNavGrid li ul li:hover ul li:hover a, 
nav ul.mainNavGrid li ul li:hover ul li.aktive a { 
  color: var(--hunavhovercolor) !Important;
  }
nav ul.mainNavGrid li ul li:first-child { 
    margin-top: 10px;
  }
nav ul.mainNavGrid li ul li:last-child { 
    margin-bottom: 30px;
  }

nav ul.mainNavGrid li ul:hover, 
nav ul.mainNavGrid li:hover ul { 
	//max-height:500px;
  }
nav ul.mainNavGrid:hover { 
	//min-height:400px;
  }



}





@media all and (max-width: 1200px) {

  nav ul.mainNavGrid li { 
    //font-size:1.12em;
    //padding:10px 10px 5px 10px;
  }
  nav ul.mainNavGrid li:first-child { 
    margin-left: 0px;
  }
  nav ul.mainNavGrid li ul li:first-child { 
    margin-left: 19px;
  }


}

@media all and (max-width: 992px) {

:root {
  --hunavtextcolor: #a5037c;
  --hunavhovercolor: #3c3c3c;
  --hunavbordercolor: #a5037c;
}
  nav ul.mainNavGrid { 
    position:absolute;
    display:block;
    width:100%;
    max-height: 0px; 
    transition: max-height 0.5s linear;
    margin-top: 54px;
    padding-left: 45px;
    padding-right: 45px;
    overflow:hidden;
    font-size:1.55em;
    background-color: #fffefef0;
    z-index:20;
  }
  nav ul.mainNavGrid li::marker {
    color: transparent;
  }
  nav ul.mainNavGrid li:last-child {
    margin-bottom: 45px;
  }
  nav ul.mainNavGrid li ul li:first-child {
    margin-left: 0px;
  }
  nav ul.mainNavGrid li ul li:last-child {
    border-bottom: 0px;
  }

  nav ul.mainNavGrid li {
    color: var(--hunavtextcolor);
    padding:5px 0px 8px 0px;
    border-bottom:1px solid var(--hunavbordercolor);
  }
  nav ul.mainNavGrid li:hover,
  nav ul.mainNavGrid li.aktive {
    color: var(--hunavhovercolor);
  }
  nav ul.mainNavGrid li:last-child {
    margin-bottom: 45px;
  }

  nav ul.mainNavGrid li a {
    color: inherit;
  }
   nav ul.mainNavGrid li ul li:last-child {
    margin-bottom: 0px;
  }
 nav ul.mainNavGrid li[unenu="true"] {
    background: transparent url(/images/elemente/pfeil--right.png ) no-repeat right 16px;
  }
  nav ul.mainNavGrid li[unenu="true"]:hover,
  nav ul.mainNavGrid li[unenu="true"].aktive {
    background: transparent url(/images/elemente/pfeil--down.png ) no-repeat right 16px;
  }

  nav ul.mainNavGrid li ul {
    display:none;
    transition: display 0.2s linear;
  }
  nav ul.mainNavGrid li:hover ul,
  nav ul.mainNavGrid li.aktive ul {
    display:block;
  }
  nav ul.mainNavGrid li:hover ul li ul,
  nav ul.mainNavGrid li.aktive ul li ul {
    display:none;
  }
  nav ul.mainNavGrid li:hover ul li:hover ul,
  nav ul.mainNavGrid li.aktive ul li.aktive ul {
    display:block;
  }






  /*   Hamburger             */
  nav label.hamburger { 
    grid-area: hamburger;    
    position: relative; 
    display: block;
    background: #999999; 
    width: 56px; 
    height: 52px; 
    height: 50px; 
    border-radius: 3px; 
    margin-left: 15px; 
    margin-top: 2px; 
    margin-bottom: 2px;
    position: sticky;
    top: 2px;
    z-index: 100;
  }
  .line { 
    position: absolute; 
    left:11px;
    height: 5px; width: 35px; 
    background: #fff; border-radius: 2px;
    display: block; 
    transition: 0.5s; 
    transform-origin: center; 
  }
  .line:nth-child(1) { top: 11px; }
  .line:nth-child(2) { top: 23px; }
  .line:nth-child(3) { top: 35px; }
  #hamburger:checked + .hamburger .line:nth-child(1){
    transform: translateY(12px) rotate(-45deg);
  }
  #hamburger:checked + .hamburger .line:nth-child(2){
    opacity:0;
  }
  #hamburger:checked + .hamburger .line:nth-child(3){
    transform: translateY(-12px) rotate(45deg);
  }

  nav #hamburger:checked + .hamburger  + ul.mainNavGrid { 
    max-height: 200%; 
    border:0px solid #ababab;
    border-left: 0;
    border-right: 0;
    border-bottom: 2px solid #ababab;
    transition: max-height 0.5s linear;
  }
}

/*    breakpoint: 576px;                      */
@media all and (max-width: 576px) {

  nav ul.mainNavGrid { 
    padding-left: 25px;
    padding-right: 25px;
  }


}
/*    end breakpoint: 576px;                  */



/*   Main-Navigation End                              */



/*   Footer-Navigation                                */

footer ul.footerNav { 
  grid-area:footerNav;
  display: grid;
  background: transparent;
  grid-auto-flow: column;
  grid-column-gap: 10px;;
  justify-items: start;
  align-items: start;
  justify-content: start;
  padding: 0px;
  margin: 0px;
  }
footer ul.footerNav li { 
  font-size:1.05em;
  font-weight:600;
  line-height:1.00em;
  color: var(--fnavtextcolor);
  padding:5px 15px 5px 15px;
  border-bottom: 1px solid transparent;
  list-style: none;
  overflow: hidden;
  cursor:pointer;
  z-index:10;
  }

footer ul.footerNav li a { 
  color: var(--fnavtextcolor);
  text-decoration:none;
  }

footer ul.footerNav li:first-child { 
  padding-left:0px;
  }
footer ul.footerNav li:hover, 
footer ul.footerNav li.aktive, 
footer ul.footerNav li a:hover { 
  color:#a5037c;
  text-decoration: none;
  border-bottom-color: transparent;
  }
footer ul.footerNav li ul { 
  position:relative;
  font-size:1.0em;
  padding: 0px;
  //padding:10px 0px 5px 0px;
  margin-top: 5px;
	overflow: hidden;
  }
footer ul.footerNav li:hover ul { 
  }
footer ul.footerNav li ul li { 
  font-size:0.8em;
  color:var(--funavtextcolor);
  font-weight:600;
  padding:4px 0px 3px 0px;
  list-style: disc;
  list-style-type:disc;
  list-style-position: inside;
  padding-left: 0px;
  border-bottom: 0px solid transparent;
  }
footer ul.footerNav li ul li ul { 
  display: none;
  }
footer ul.footerNav li:hover ul, 
footer ul.footerNav li.aktive ul { 
  max-height: 300px;
  color:var(--funavhovercolor);
  cursor:pointer;
  }

footer ul.footerNav li ul li:hover, 
footer ul.footerNav li ul li.aktive { 
  color:var(--funavhovercolor);
  cursor:pointer;
  }

footer ul.footerNav li ul:hover, 
footer ul.footerNav li:hover ul { 
	max-height:300px;
  }
footer .serviceNav { 
  grid-area:serviceNav;
  display: block;
  padding: 30px 110px 30px 0px;;
  font-weight: 600;
  color:var(--fnavtextcolor);
  font-size: 1.10em;
  border-top: 1px solid #ddd;
  }
footer .serviceNav a { 
  float: right;
  padding: 0 30px;
  font-weight: 600;
  color:var(--fnavtextcolor);
  } 
footer .serviceNav a:hover { 
  color:var(--fnavhovercolor);
  text-decoration:none;
  } 
footer .serviceNav a.faceblink { 
  background: transparent url( /images/elemente/icon-facebook.png) no-repeat center center;  
  color:var(--fnavhovercolor);
  text-decoration:none;
  font-size: 0;
  line-height: 50px;
  margin-top: -10px;
  margin-right: 10px;
  grid-area:faceblink;
  } 
footer .serviceNav a.instalink { 
  background: transparent url( /images/elemente/icon-instagram.png) no-repeat center center;  
  color:var(--fnavhovercolor);
  text-decoration:none;
  font-size: 0;
  line-height: 50px;
  margin-top: -10px;
  margin-right: 20px;
  grid-area:instalink;
  } 
footer .serviceNav .implink { grid-area:implink; } 
footer .serviceNav .datlink { grid-area:datlink; } 
footer .serviceNav .kontlink { grid-area:kontlink; } 
footer .serviceNav .copyr { grid-area:copyr; } 


@media all and (max-width: 1200px) {
}


@media all and (max-width: 1024px) {

  footer .serviceNav { 
    display: grid;
    grid-template-areas:
      "implink datlink kontlink faceblink instalink "
      "copyr copyr copyr copyr copyr";
    justify-items: start;
    align-items: center;
    padding: 15px 15px 0px 15px;
  }
  footer .serviceNav a.faceblink { 
    margin-top: 0px;
  } 
  footer .serviceNav a.instalink { 
    margin-top: 0px;
  } 
  footer .serviceNav .implink { 
    padding: 0px 0px; 
  } 
  footer .serviceNav .datlink { 
    padding: 0px 0px; 
	} 
  footer .serviceNav .kontlink { 
    padding: 0px 0px; 
	} 
  footer .serviceNav .copyr { 
    margin-top: 20px;
	} 

}



@media all and (max-width: 992px) {

  footer ul.footerNav { 
    display: block;
    max-height:auto;
    overflow:hidden;
  }

  footer ul.footerNav { 
    position:relative;
    display:block;
    max-height: auto; 
    padding:0px 0px 0px 0px;
    overflow: hidden; 
    transition: all 0.5s linear;
    border:0px solid #ababab;
  }
  footer ul.footerNav li { 
    display:block;
    margin-bottom:10px
  }
  footer ul.footerNav li:first-child {
    padding-left: 15px;
  }
  footer ul.footerNav li ul {
    //position:relative;
    //max-height:initial;
    display:none
  }
  footer ul.footerNav li ul li {
    padding-left:15px;
    display:inline-block;

  }
}



@media all and (max-width: 860px) {

  footer .serviceNav { 
    grid-template-areas:
      "implink datlink kontlink"
      "faceblink instalink ."
      "copyr copyr copyr";
    justify-items: start;
    align-items: start;
  }

  footer .serviceNav a.faceblink { 
    margin-top: 25px;
  } 
  footer .serviceNav a.instalink { 
    margin-top: 25px;
  } 

}


/*   Footer-Navigation End                            */




/*   Kategorien                                       */


