@charset "UTF-8";
/* CSS Document */

/* -----------------------------  Haupt  -------------------------------- */

nav { position: fixed; top: 1.5rem; right: 3vw; z-index: 9900; -webkit-transition: top 0.5s ease-in-out; -moz-transition: top 0.5s ease-in-out; -o-transition: top 0.5s ease-in-out; transition: top 0.5s ease-in-out; border-radius: 5px; }
nav.nav-up { top: -4.5rem; }
nav.nav-down { top: 1.5rem; }
nav.visible { background: linear-gradient(-270deg, #e63312, #d7007f, #95569e, #36a9e1 ); }
a.nav-link { display: none; }

/* hauptnavigation Hauptebene */

nav > ul { position: relative; margin: 0 auto; }
nav > ul > li { position: relative; line-height: 1em; display: inline-block; }
nav > ul > li > a { color: #ffffff; text-transform: uppercase; font-weight: 500; font-size: .85rem; line-height: .95rem; margin: 0 10px; padding: 1rem 0; display: inline-block; }
nav > ul > li:first-child > a { margin-left: 20px; }
nav > ul > li:last-child > a { margin-right: 20px; }
header.small nav > ul > li > a { padding-bottom: .75rem; }
nav > ul > li > a:visited { color: #ffffff; }
nav > ul > li > a:hover { color: rgba(255,255,255,0.5); }

nav > ul > li.current-menu-item > a, nav > ul > li.current-menu-parent > a { color: #ffffff; }

nav > ul > li.menu-item-has-children > a::after { font-family: 'simple-line-icons'; font-size: .8em !important; content: "\e605"; margin-left: .3em; }
nav > ul > li.menu-item-has-children > a.active::after, nav > ul > li.menu-item-has-children:hover > a::after { content: "\e604"; }

nav.page > ul > li > a { color: #4a4a49; }
nav.page > ul > li > a:visited { color: #4a4a49; }
nav.page > ul > li > a:hover { color: #e63312; }
nav.page > ul > li.current-menu-item > a, nav.page > ul > li.current-menu-parent > a { color: #e63312; }

nav.page.visible { background: rgba(74,74,74,.9); }
nav.page.visible > ul > li > a { color: rgba(255,255,255,0.65); }
nav.page.visible > ul > li > a:visited { color: rgba(255,255,255,0.65); }
nav.page.visible > ul > li > a:hover { color: #ffffff; }
nav.page.visible > ul > li.current-menu-item > a, nav.page.visible > ul > li.current-menu-parent > a { color: #ffffff; }

/* hauptnavigation Unterebene 1 */

nav > ul ul {
  z-index: 9999;
  position: absolute;
  top: 100%;
  width: 15em;
  margin-top: 20px;
  left: 0;
  text-align: left; 
  background: #f2efef;
  visibility: hidden;
  opacity: 0;
  border-radius: 5px;
  -webkit-transition:  visibility 0.25s, opacity 0.25s, margin-top 0.25s ease-out;
  -moz-transition:  visibility 0.25s, opacity 0.25s, margin-top 0.25s ease-out;
  -ms-transition:  visibility 0.25s, opacity 0.25s, margin-top 0.25s ease-out;
  transition: visibility 0.25s, opacity 0.25s, margin-top 0.25s ease-out;
}

nav > ul li:last-child ul, nav > ul li:nth-last-child(2) ul { left: auto; right: 0; }

nav > ul li:hover ul { visibility: visible; opacity: 1; margin-top: 0px; }
nav > ul ul > li > a { display: block; font-weight: 400; padding: .9rem 15px; color: #4a4a49; text-transform: uppercase; font-weight: 500; font-size: .85rem; line-height: 1.2em; border-top: 1px dotted #4a4a49; }
nav > ul ul > li > a:visited { color: #4a4a49; }
nav > ul ul > li > a:hover { cursor: pointer;  color: #e63312; }
nav > ul ul > li:first-child > a { border-top: none; }
nav > ul ul > li:last-child > a { border-radius: 0 0 5px 5px; }
nav > ul ul > li.current-menu-item > a, nav > ul ul > li.current-menu-parent > a { color: #ffffff; background: #e63312; border-top: 1px dotted #e63312; }
nav > ul ul > li.current-menu-item:first-child > a, nav > ul ul > li.current-menu-parent:first-child > a { border-radius: 5px 5px 0 0; }
nav > ul ul > li.current-menu-item:last-child > a, nav > ul ul > li.current-menu-parent:last-child > a { border-radius: 0 0 5px 5px }

nav > ul ul > li.menu-item-has-children { padding: .9rem 0; border-top: 1px dotted #4a4a49; }
nav > ul ul > li.menu-item-has-children:first-child { border-top: 0; }
nav > ul ul > li.menu-item-has-children > a { padding: 0 15px .9rem 15px; font-size: .8rem; font-weight: 300; color: #4a4a49; cursor:default; border: 0; }
nav > ul ul > li.current-menu-parent > a { color: #4a4a49; background: transparent; border-top: 0; }

/* hauptnavigation Unterebene 2 */

nav > ul ul ul {
  position: relative;
  margin-top: 0;
}

nav > ul li:last-child ul, nav > ul li:nth-last-child(2) ul { left: auto; right: 0; }

nav > ul ul ul > li > a { display: block; font-weight: 400; padding: .5rem 15px .5rem 30px; color: #4a4a49; text-transform: uppercase; font-weight: 500; font-size: .85rem; line-height: 1.2em; border-top: 0; }
nav > ul ul ul > li > a:visited { color: #4a4a49; }
nav > ul ul ul > li > a:hover { cursor: pointer;  color: #e63312; }
nav > ul ul ul > li:first-child > a { border-top: none; }
nav > ul ul ul > li:last-child > a { border-radius: 0; }
nav > ul ul ul > li.current-menu-item > a { background: #e63312; color: #ffffff; border: 0; }
nav > ul ul ul > li.current-menu-item:first-child > a { border-radius: 0; }
nav > ul ul ul > li.current-menu-item:last-child > a { border-radius: 0; }

/* -----------------------------  Header / Footer  -------------------------------- */

.text ul.quicklinks { margin: 0; }
.text ul.quicklinks li { line-height: 1.2em; list-style-type: none; }
.text ul.quicklinks li::before {
  font-family: 'simple-line-icons';
  font-size: .65em !important;
  content: "\e606";
  margin-right: .3rem;
  color: #4a4a49;
  display: inline-block;
}
.text ul.quicklinks li a, ul.quicklinks li a:active, ul.quicklinks li a:visited { color: #4a4a49; font-size: .85rem; text-transform: uppercase; font-weight: 500; text-decoration: none; }
.text ul.quicklinks li a:hover, .text ul.quicklinks li.current-menu-item a { color: #e63312 !important; }

ul.footer li a, ul.footer li a:active, ul.footer li a:visited { margin-right: 20px; color: rgba(255,255,255,.8); line-height: 1.35em; font-size: .85rem; font-weight: 400; }
ul.footer li:last-child a { margin-right: 0;  }
ul.footer li a:hover { color: rgba(255,255,255,1); }

.text ul.wp-block-navigation__container { display: block; }
.text ul.wp-block-navigation__container li { list-style-type: none; }
.text ul.wp-block-navigation__container li::before {
  font-family: 'simple-line-icons';
  font-size: .65em !important;
  content: "\e606";
  margin-right: .3rem;
  color: #e63312;
  display: inline-block;
}
.text ul.wp-block-navigation__container li a, ul.wp-block-navigation__container li a:active, ul.wp-block-navigation__container li a:visited { color: #4a4a49; font-weight: 400; }
.text ul.wp-block-navigation__container li a:hover, .text ul.wp-block-navigation__container li.current-menu-item a { color: #e63312 !important; }

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

header section { display: -webkit-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-align-items: center; -webkit-box-align: center;	-ms-flex-align: center; align-items: center; justify-content: space-between; }

a.nav-link, a:visited.nav-link { color: #ffffff; position: absolute; top: 3vw; right: 3vw; text-decoration: none; display: inline-block; line-height: 0; font-size: 2.5rem; margin: 0 auto; text-align: right; z-index: 9999; }
a.nav-link.page, a:visited.nav-link.page { color: #4a4a49; }
header.small a.nav-link, a:visited.nav-link { font-size: 2rem; }
a.nav-link:hover, a.nav-link.active { color: #4a4a49; }
a.nav-link.page:hover, a.nav-link.active.page { color: #e63312; }
a.nav-link i { margin: 0; padding: 0; }

nav { position: relative; top: 0; right: 0; display: block; width: 100%; height: auto; background: #ffffff; border-radius: 0; }
nav.page { background: #f2efef; }
nav.nav-down, nav.nav-up { top: 0; }
nav, nav > ul > li > ul { 
  overflow: hidden; 
  max-height: 0; 
  -webkit-transition: all .35s ease-in-out; 
  -moz-transition: all .35s ease-in-out; 
  -ms-transition: all .35s ease-in-out; 
  transition: all .35s ease-in-out;
}

nav > ul > li:hover > ul { margin-top: 0px; }
  
nav > ul.row { display: block; text-align: left; margin: 1vw 0; }
nav.active, nav > ul > li > ul.active, nav.active, nav > ul > li > ul.active > li > ul.active { max-height: 55em; visibility: visible; }
nav > ul { width: 100%; }
nav > ul > li { display: block; margin: 0 calc(9vw + 2.5rem) 0 3vw; border-bottom: 0px; border-top: 1px solid #e63312; }
nav > ul > li:first-child { border-top: 0; }
nav > ul > li:hover, nav > ul > li:last-child:hover { border-bottom: 0px; }
nav > ul > li > a { display: block; padding: 15px 0; margin: 0; font-size: 1.1rem; line-height: 1em; border-left: none; color: #4a4a49; }
nav > ul > li > a:visited { color: #4a4a49; }
nav > ul > li > a.active { color: #e63312; }
nav > ul > li:first-child > a { margin-left: 0; }
nav > ul > li.menu-item-has-children > a:after { position: absolute; top: 15px; right: 0; font-size: 1.3em; }

/* hauptnavigationigation Unterebene 1 */

nav > ul ul {
  position: relative;
  display: block;
  left: 0;
  margin: 0;
  padding: 0;
  width: 100% ;
  visibility: visible;
  opacity: 1;
  background: #ffffff;
}
nav.page > ul ul { background: transparent; }
nav > ul ul > li > a { font-size: .95rem; line-height: 1em; padding: 12px 0 12px 12px; color: #4a4a49; }
nav > ul ul > li > a:hover { background: #ffffff; color: #e63312 !important; }
nav > ul ul > li:last-child > a { border-bottom: 0; }
nav > ul ul > li > a:visited { color: #4a4a49; }
nav > ul ul > li.current-menu-item > a, nav > ul ul > li.current-menu-parent > a { background: transparent; color: #e63312; }

}

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

ul.footer { margin-bottom: 10px; }
ul.footer li { margin: 4px 0; }

}

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

  a.nav-link, a:visited.nav-link { top: 20px; right: 20px; }
  nav > ul > li { margin: 0 calc(60px + 2.5rem) 0 20px; }

  ul.footer { margin-bottom: 10px; }
  ul.footer li { margin: 4px 0; }

}

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

  nav > ul > li > a { padding: 18px 0; }
  nav > ul > li.menu-item-has-children > a:after { top: 18px; }
  nav > ul ul > li > a { padding: 14px 0 14px 12px; }

}
