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

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

.nav { position: fixed; top: 0; left: 0; right: 0; padding: 0 4vw; height: 4vw; z-index: 9999; transition: top 0.4s ease-in-out; }
.nav.nav-up { top: -4vw; }
a.nav-link { display: none; }

/* Hauptnavigation Hauptebene */

nav > ul { position: relative; }
nav > ul > li { position: relative; line-height: 1em; display: inline-block; }
nav > ul > li > a { 
  color: #30383b; 
  font-size: 16px;
  font-weight: 400; 
  line-height: 14px; 
  padding: calc(2vw - 7px) 20px calc(2vw - 7px) 0; 
  border: 0;
  display: inline-block; 
  text-transform: uppercase;
}
nav > ul > li > a:visited { color: #30383b; }
nav > ul > li:hover > a { color: #8e979c; }
nav > ul > li.menu-item-has-children > a::after { font-family: 'simple-line-icons'; font-size: .8em !important; content: "\e605"; margin-left: .35em; }
nav > ul > li.menu-item-has-children:hover > a::after { content: "\e604"; }
nav > ul > li.current-menu-item > a, nav > ul > li.current-menu-parent > a { color: #8e979c; }

/* Hauptnavigation Unterebene 1 */

nav > ul ul.sub-menu {
  z-index: 9999;
  position: absolute;
  top: 100%;
  width: 17em;
  margin-top: 20px;
  left: 0;
  text-align: left; 
  visibility: hidden;
  opacity: 0;
  -webkit-transition:  visibility .25s, opacity .25s, margin-top .25s ease-out;
  -moz-transition:  visibility .25s, opacity .25s, margin-top .25s ease-out;
  -ms-transition:  visibility .25s, opacity .25s, margin-top .25s ease-out;
  transition: visibility .25s, opacity .25s, margin-top .25s ease-out;
}

nav > ul li:hover ul { visibility: visible; opacity: 1; margin-top: 0px; }
nav > ul ul.sub-menu > li > a { 
display: block; 
padding: 13px; 
color: #ffffff; 
background: #30383b; 
font-size: 1rem;
line-height: 1.2em;
text-transform: none;
border-bottom: 1px solid rgba(255,255,255,0.35); 
}
nav > ul ul.sub-menu > li > a:hover { cursor: pointer; background: #8e979c; }
nav > ul ul.sub-menu > li:last-child > a { border-bottom: none; border-radius: 0 0 7px 7px; }
nav > ul ul.sub-menu > li.current-menu-item > a { background: #626a6e; }


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

footer.text ul { margin: 0 !important; line-height: .85rem; }
footer.text ul li { position: relative; display: inline-block; margin-right: 15px; line-height: .85em; }
footer.text ul li a { color: #000000; text-decoration: none !important; font-size: .8rem; line-height: .8rem; text-transform: uppercase; }
footer.text ul li a:hover { color: #8e979c; }

/* --------------------------------  Mobile  ---------------------------------- */

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

a.nav-link, a:visited.nav-link, a.nav-link.aktiv { color: #30383b; position: relative; text-decoration: none; display: block; text-align: center; font-size: 40px; margin: 10px 0; padding: 0; line-height: 0; }
a.nav-link:hover { color: #ac2522; }
a.nav-link i { margin: 0; line-height: 1em; }
.nav.nav-up { top: 0; }

.nav { position: relative; display: block; top: auto; left: 0; right: 0; margin: 0 20px; height: auto; z-index: 9999; transition: top 0.4s ease-in-out; }
.nav.row { display: block; width: 100%; }

nav { display: block !important; height: auto; }

nav, nav > ul ul.sub-menu {
  position: relative;
  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 > li > ul.sub-menu { padding: 0px; border: none; }

nav ul.row { display: block; background: #ffffff; }
nav.aktiv, nav > ul ul.aktiv { max-height: 55em; visibility: visible; }
nav > ul { width: 100%; }
nav > ul > li { display: block; margin-right: 0; }
nav > ul > li > a { color: #30383b; font-size: 17px; line-height: 17px; border-bottom: 0; padding: 13px 0; border-top: 1px dotted rgba(48,56,59,0.5); display: block; }
nav > ul > li:hover > a { border-bottom: 0; color: #ac2522; }
nav > ul > li.current-menu-item > a, nav > ul > li.current-menu-parent > a { color: #ac2522; }
nav li.menu-item-has-children > a:after { content: "\e606"; position: absolute; top: 14px; right: 0; font-size: 1.3em; padding: 0 0 0 10px; }
nav li.menu-item-has-children > a.aktiv:after { content: "\e604"; }

nav .social { 
  width: 100%; background: #ffffff; border-top: 1px dotted rgba(48,56,59,0.5); padding: 13px 0; margin: 0 0 20px 0; 
  display: -webkit-flex; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: flex-start; flex-flow: row wrap;
}
nav .social ul.row { display: -webkit-flex; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: flex-start; flex-flow: row wrap; }

ul.social-icon_footer a { margin: 0 10px 0 0; }

/* hauptnavigationigation Unterebene 1 */

nav > ul ul.sub-menu {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  width: 100% ;
  visibility: visible;
  opacity: 1;
}

nav > ul ul.sub-menu > li > a { 
  padding: 13px;
  background: #edf0f2;
  color: #30383b;
  font-size: 1rem;
}
nav > ul ul.sub-menu > li > a { border-bottom: 1px dotted rgba(48,56,59,0.5); }
nav > ul ul.sub-menu > li:last-child a { border: 0; border-radius: 0; }

nav > ul ul.sub-menu > li.current-menu-item > a,
nav > ul ul.sub-menu > li > a:hover { background: #edf0f2; color: #ac2522; }

}

@media all and (max-width: 550px) {
  ul.footer li { margin-right: 12px; }
}