/* Nav */
.nav-container {
  -ms-grid-row: 1;
  position: relative;
  z-index: 1337;
}
.nav-container ul {
  list-style: none;
}

/*
 * General
 */
.nav-fixed .fixed-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 8;
}

/*
 * Anker navigation
 *
 */
nav.anker {
  background: rgba(235, 235, 235, 0.85);
  color: inherit;
}
nav.anker a {
  display: block;
  padding: 0.25rem 0;
}

nav .hide {
  display: none;
}

/*
 * Desktop
 *
 */
nav.desktop {
  background: #00458D;
  color: #fff;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  position: relative;
  z-index: 8;
  margin-bottom: 0.222rem;
}
nav.desktop .logo a {
  display: flex;
  align-items: center;
}
nav.desktop img {
  max-width: 8rem;
  -webkit-transition: max-width 0.15s linear 0s;
  transition: max-width 0.15s linear 0s;
}
@media screen and (min-width: 62.5em) {
  body:not(.touch) nav.desktop img {
    max-width: 12rem;
  }
}
nav.desktop ul.nav-main {
  display: none;
}
nav.desktop ul.nav-main > li {
  min-width: 140px;
}
nav.desktop ul.nav-main .sub {
  display: none;
  padding: 0.222rem 0.111rem 0 0.111rem;
  position: absolute;
  margin: 0;
  right: 0;
  left: 0;
  width: 100%;
  overflow: scroll;
  height: 85vh;
}
nav.desktop ul.nav-main .sub .flex__33:last-child {
  position: relative;
}
nav.desktop ul.nav-main .sub .flex__33:last-child::after {
  content: "";
  border-left: 1px solid #cfd0d0;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}
nav.desktop ul.nav-main .sub > div {
  background: #fff;
  color: inherit;
  padding: 1rem;
  box-shadow: 5px 5px 0 0 rgba(0, 0, 0, 0.075);
  z-index: 999999999;
  position: relative;
}
nav.desktop ul.nav-main > li {
  display: inline-block;
  border-left: 0.222rem solid #fff;
  box-shadow: 0 0.222rem 0 0 transparent;
}
nav.desktop ul.nav-main > li > a {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}
nav.desktop ul.nav-main > li > a img {
  width: 54px;
  height: 54px;
  margin: 0 auto;
  padding: 0.444rem;
  transition: max-width 0.15s linear 0s;
}
nav.desktop ul.nav-main > li:last-child {
  border-right: 0.222rem solid #fff;
}
nav.desktop ul.nav-main > li:nth-child(4) > a img {
  width: 45px;
}
nav.desktop ul.nav-main li.dropdown.open > ul.sub {
  display: block;
}
nav.desktop ul.nav-main.sub li {
  text-transform: none;
  width: 100%;
}
nav.desktop ul.nav-main .sub3 {
  display: block !important;
}

.nav-fixed .fixed-nav nav.desktop img {
  max-width: 8rem;
  -webkit-transition: max-width 0.15s linear 0s;
  transition: max-width 0.15s linear 0s;
}
.nav-fixed .fixed-nav nav.desktop img.telekom {
  max-width: 40px;
}

.nav-fixed .fixed-nav nav.desktop .nav-main > li > a img {
  width: 2rem;
  transition: max-width 0.15s linear 0s;
}

/*
 * Links
 *
 */
nav.desktop .nav-main > li > a {
  text-decoration: none;
  color: #fff;
  background: inherit;
  display: block;
  line-height: 1;
}

nav.desktop .nav-main > li > a {
  padding: 0.222rem 0.8rem 1rem;
  -webkit-transition: padding 0.15s linear 0s;
  transition: padding 0.15s linear 0s;
}
nav.desktop .nav-main > li > a i {
  margin-left: 0.5rem;
}

.nav-fixed .fixed-nav nav.desktop .nav-main > li > a {
  padding: 0.222rem 0.8rem 0.578rem;
  -webkit-transition: padding 0.15s linear 0s;
  transition: padding 0.15s linear 0s;
}

nav.desktop .nav-main > li > a:hover,
nav.desktop .nav-main > li > a:active,
nav.desktop .nav-main > li > a:focus,
nav.desktop .nav-main > li:hover > a,
nav.desktop .nav-main > li:active > a,
nav.desktop .nav-main > li:focus > a,
nav.desktop .nav-main > li.active > a {
  box-shadow: 0 0.222rem 0 0 #ff1d8e;
}

nav.desktop li.active .sub a {
  border-bottom: 0;
}

/* 2nd level */
nav.desktop ul.sub li a {
  background: transparent;
  color: #00458d;
  padding: 0;
  border-bottom: 0;
  margin: 0;
  text-decoration: none;
  font-weight: 500;
}

ul.sub li + li {
  margin-top: 1rem;
}

/* 3rd level */
nav.desktop ul.sub3 {
  margin-top: 0;
  margin-left: 1rem;
}
nav.desktop ul.sub3 > li + li {
  margin-top: 0;
}

nav.desktop ul.sub3 li a {
  background: transparent;
  color: grey;
  padding: 0;
  border-bottom: 0;
  margin: 0;
  text-decoration: none;
  font-weight: 400;
}

@media screen and (min-width: 62.5em) {
  body:not(.touch) nav.desktop {
    padding-top: 0;
    padding-bottom: 0;
  }
}
/*
 * Mega-Nav
 *
 */
nav.desktop > div > div {
  position: relative;
}

nav.desktop ul.nav-mega li {
  position: static;
}

nav.desktop ul.nav-mega ul.sub {
  left: 0;
  right: 0;
  margin: 0;
  padding: 0;
  z-index: 8;
}
nav.desktop ul.nav-mega ul.sub > div {
  background: #fff;
  color: #111;
}
nav.desktop ul.nav-mega ul.sub > .container {
  margin-top: 1rem;
  padding: 2rem;
}
nav.desktop ul.nav-mega ul.sub li a {
  padding: 0;
  background: transparent;
  color: #111;
}
nav.desktop ul.nav-mega ul.sub li a:hover, nav.desktop ul.nav-mega ul.sub li a:active, nav.desktop ul.nav-mega ul.sub li a:focus {
  background: transparent;
  color: #111;
}
nav.desktop ul.nav-mega ul.sub li:hover, nav.desktop ul.nav-mega ul.sub li:hover > a, nav.desktop ul.nav-mega ul.sub li.active > a {
  background: transparent;
  color: #111;
}
nav.desktop ul.nav-mega ul.sub li.active li, nav.desktop ul.nav-mega ul.sub li.active li.active > a {
  background: transparent;
  color: #111;
}

.nav-mega__title {
  margin-top: 1rem;
}

.nav-mega__text {
  margin-top: 1rem;
  font-size: 0.889em;
  line-height: 1.563;
}

nav.desktop ul.nav-mega ul.sub li .nav-mega__button a {
  margin-top: 1rem;
  background: #0079c1;
  border: 0;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  line-height: 1;
  padding: 0.25rem 0.5rem;
  text-align: center;
  text-decoration: none;
  outline: none;
  border: 0.056rem solid #0079c1;
  position: relative;
}
nav.desktop ul.nav-mega ul.sub li .nav-mega__button a:hover, nav.desktop ul.nav-mega ul.sub li .nav-mega__button a:focus {
  background: #fff;
  color: #0079c1;
}