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

a.nav-link { display: none; }

nav .logo { 
  position: absolute; left: 30px; top: 10px; opacity: 0; visibility: hidden; 
  -webkit-transition: top 0.3s ease, opacity 0.3s ease; -moz-transition: top 0.3s ease, opacity 0.3s ease; -ms-transition: top 0.3s ease, opacity 0.3s ease; transition: top 0.3s ease, opacity 0.3s ease;
}
nav .logo, .logo a { line-height: 0; }
nav .logo img { height: 40px; width: auto; -webkit-transition: height 0.3s ease; -moz-transition: height 0.3s ease; -ms-transition: height 0.3s ease; transition: height 0.3s ease;  }

nav.nav-up .logo { position: absolute; left: 30px; top: 5px; }
nav.nav-up .logo img { height: 30px; width: auto; }

nav .logo.visible { opacity: 1; visibility: visible; }

nav { position: fixed; top: 0; left: 0; width: 100%; z-index: 9999; background: #ffffff; }
nav .nav { display: flex; justify-content: center; flex-wrap: nowrap; height: 60px; margin: 0 auto; }
nav .nav > ul { margin: 0; padding: 0; list-style: none; }
nav .nav > ul > li { display: inline-block; padding: 0 15px; }
nav .nav > ul > li > a {
  display: flex; 
  align-items: center; 
  text-decoration: none;
  font-size: 1.2rem;
  text-transform: uppercase;
  color: #000; 
  padding-top: 15px;
  border-top: 5px solid transparent;
  letter-spacing: .075em;
}
nav .nav > ul > li > a:hover { color: #e50051; border-top: 5px solid #e50051; cursor: pointer; }
nav .nav > ul > li > a.active { color: #e50051; border-top: 5px solid #e50051; }
nav .nav > ul > li.menu-item-has-children > a::before { font-family: "Font Awesome 5 Free" !important; font-weight: 900 !important; font-size: 1em !important; line-height: 0; font-style: normal; content: "\f0da"; margin-right: .4em; color: #e50051; }
nav .nav > ul > li.menu-item-has-children > a.active::before { content: "\f0d7"; }
nav .nav > ul > li.current-menu-item > a, nav .nav > ul > li.current-menu-parent > a { color: #e50051; }
nav .nav > ul > li .sub_menu_wrapper {
  display: none;
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  z-index: 999;
  overflow: hidden;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  background: transparent;
  -webkit-transition: top 0.3s ease; -moz-transition: top 0.3s ease; -ms-transition: top 0.3s ease; transition: top 0.3s ease; 
}
nav .nav > ul > li .sub_menu_wrapper.active { display: block; }
nav .nav > ul > li .sub_menu_wrapper .sub_menu { height: 100%; position: relative; width: 100%; padding: 5vw 11.5vw; display: block; background: #ffffff; border-bottom: 1px solid #e0e5e9; }
nav .nav > ul > li a .arrow { position: absolute; left: 40px; right: 0; bottom: 10px; padding-bottom: 8px; text-align: right; border-bottom: 1px solid #e50051; }
nav .nav > ul > li a .arrow .fa-arrow-right-long { font-size: 1rem; margin-right: 10px; color: #000000; -webkit-transition: margin 0.2s ease; -moz-transition: margin 0.2s ease; -ms-transition: margin 0.2s ease; transition: margin 0.2s ease; }
nav .nav > ul > li a:hover .arrow .fa-arrow-right-long { margin-right: 0px; color: #e50051; }
nav .nav > ul ul { width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4vw 0; margin: 0 auto; }
nav .nav > ul ul li { width: calc(1/3*100% - (1 - 1/3)*4vw); position: relative; }
nav .nav > ul ul li a { font-size: 1.55rem; color: #000000; }
nav .nav > ul ul li a:hover { color: #e50051;; }
nav .nav > ul ul li a::before { font-family: "Font Awesome 5 Free" !important; font-weight: 900 !important; font-size: .95em !important; font-style: normal; content: "\f0a4"; margin-right: .5em; color: #e50051; }

nav .nav > ul li:nth-child(1) ul li:nth-child(1) a::before { content: "\f275"; } /* Company - Unternehmen */
nav .nav > ul li:nth-child(1) ul li:nth-child(2) a::before { content: "\e52f"; } /* Mountain - Region */
nav .nav > ul li:nth-child(1) ul li:nth-child(3) a::before { content: "\f57d"; } /* Globe - Das Forum*/
nav .nav > ul li:nth-child(2) ul li:nth-child(1) a::before { content: "\f4c6"; } /* Handshake - Konsortialpartner */
nav .nav > ul li:nth-child(2) ul li:nth-child(2) a::before { content: "\e533"; } /* Group – Netzwerkpartner */
nav .nav > ul li:nth-child(2) ul li:nth-child(3) a::before { content: "\f0c0"; } /* People – Team */

nav .nav > ul ul li a .menu-item-description { 
  font-size: 1.1rem;
  line-height: 1.4em;
  padding-top: 1.5rem;
  color: #000000;
  padding-bottom: 40px;
  margin-left: 40px;
  border: 0;
  border-radius: 0;
}

nav .nav { -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; transition: all 0.3s ease; }
nav.nav-up .nav { height: 40px; }
nav.nav-up .nav > ul > li > a { padding-top: 7px; font-size: 1rem; }
nav.nav-up .nav > ul > li .sub_menu_wrapper { top: 40px; }

#nav_nextprev { width: 100%; border-top: 1px solid #647a84; padding-top: 20px; margin-top: 4vw; }
#nav_nextprev a { color: #000000; font-size: 1rem; display: block; text-decoration: none; text-transform: uppercase; letter-spacing: .15em; display: inline-block; }
#nav_nextprev .right a::after,
#nav_nextprev .right a::before {
  font-family: "Font Awesome 5 Free" !important; font-weight: 900 !important; font-size: .9em !important; font-style: normal; content: "\f0da"; color: #e50051;
  -webkit-transition:all 0.3s ease; -moz-transition:all 0.3s ease; -o-transition:all 0.3s ease; transition:all 0.3s ease; }
#nav_nextprev .right a::after { margin-left: 12px; }
#nav_nextprev .right a:hover::after { opacity: 0; margin-left: 0; }
#nav_nextprev .right a::before { margin-left: -7px; margin-right: 0; opacity: 0; }
#nav_nextprev .right a:hover::before { margin-left: 2px; margin-right: 10px; opacity: 1; 
  font-family: "Font Awesome 5 Free" !important; font-weight: 900 !important; font-size: .9em !important; font-style: normal; content: "\f0da"; color: #e50051;
}

#nav_nextprev .left a::after,
#nav_nextprev .left a::before {
  font-family: "Font Awesome 5 Free" !important; font-weight: 900 !important; font-size: .9em !important; font-style: normal; content: "\f0d9"; color: #e50051;
  -webkit-transition:all 0.3s ease; -moz-transition:all 0.3s ease; -o-transition:all 0.3s ease; transition:all 0.3s ease; }
#nav_nextprev .left a::after { margin-left: -5px; opacity: 0; }
#nav_nextprev .left a:hover::after { opacity: 1; margin-left: 11px; }
#nav_nextprev .left a::before { margin-left: 0; margin-right: 10px; opacity: 1; }
#nav_nextprev .left a:hover::before { margin-right: -7px; margin-left: 0; opacity: 0; 
  font-family: "Font Awesome 5 Free" !important; font-weight: 900 !important; font-size: .9em !important; font-style: normal; content: "\f0d9"; color: #e50051;
}

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

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

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

@media all and (max-width: 1440px) {
  nav .nav > ul > li .sub_menu_wrapper .sub_menu { padding: 5vw 6vw; }
  nav .nav > ul ul li { width: calc(1/3*100% - (1 - 1/3)*20px); position: relative; }
}
@media all and (max-width: 1024px) {
  nav .nav > ul ul li { width: 100%; }
  nav .nav > ul ul { gap: 3vw 0; }
  nav .nav > ul ul li a .menu-item-description { padding-top: .5rem; padding-bottom: 25px; margin-left: 40px; }
}
@media all and (max-width: 850px) {

  a.nav-link, a:visited.nav-link { position: absolute; top: calc(4vw - 7px); right: calc(4vw - 7px); color: #3d4b52; text-decoration: none; display: inline-block; cursor: pointer; text-align: center; font-size: 40px; margin: 0; z-index: 9999; }
  a.nav-link i { padding: 5px 7px 4px 7px; background: #ffffff; margin: 0; line-height: .9em; }
  a.nav-link:hover, a.nav-link.aktiv { color: #e50051; }

  nav { position: relative; top: 0; left: 0; width: 100%; z-index: 9000; background: #edf0f2; }

  nav .nav { right: 0; height: auto; z-index: 9000; display: block; width: 100%; height: auto; transition: top 0.4s ease-in-out; }
  nav .nav.row { display: block; width: 100%; }
  nav .nav, nav .nav > ul ul.sub-menu { 
    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 .nav > li > ul.sub-menu { padding: 0px; border: none; }
  nav.active .nav, nav.active .nav > ul ul.sub-menu { max-height: 55em; visibility: visible; }
  nav .nav > ul { width: 100%; padding: 0; }
  nav .nav > ul > li { display: block; margin-right: 0; padding: 0; }
  nav .nav > ul > li > a { color: #3f4e55; font-size: 20px; line-height: 20px; padding: 13px 4vw; border-top: 0; border-bottom: 1px solid #ffffff; border-left: 8px solid transparent; display: block; }
  nav .nav > ul > li > a:hover { border-top: 0; border-bottom: 1px solid #ffffff; border-left: 8px solid #e50051; }
  nav .nav > ul > li > a.active { border-top: 0; border-bottom: 1px solid #ffffff; border-left: 8px solid #e50051; }

  /* hauptnavigationigation Unterebene 1 */

  nav .nav > ul ul { width: 100%; gap: 20px 0; display: block; }
  nav .nav > ul ul li { width: 100%; }
  nav .nav > ul > li .sub_menu_wrapper { position: relative; top: 0; }
  nav .nav > ul > li .sub_menu_wrapper .sub_menu { height: 100%; position: relative; width: 100%; padding: 20px 4vw 0; display: block; background: #ffffff; }
  nav .nav > ul > li a .arrow { display: none; }
  nav .nav > ul ul li a { font-size: 1.45rem; color: #000000; }
  nav .nav > ul ul li a .menu-item-description { border: 0; }
}

@media all and (max-width: 500px) {
  a.nav-link, a:visited.nav-link { top: 15px; right: 18px; }
  footer .text ul { margin: 0 0 10px 0 !important; }
  footer .text ul li { margin-right: 15px; }
  footer .text ul li:last-child { margin-right: 0; }
  footer .text ul li a { font-size: 1rem; letter-spacing: 0; line-height: 1rem; }
}