.cp_basic_navigation {
  position: fixed;
  z-index: 1;
  background: #fff;
  left: 0;
  top: 0;
  width: 100%;
}

.cp_basic_navigation ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #fff;
}

.cp_basic_navigation li {
  float: left;
}

.top .cp_basic_navigation > li > a,
.cp_basic_navigation .dropbtn {
  display: inline-block;
  color: #000;
  text-align: center;
  padding: 37px 15px 36px 15px;
  text-decoration: none;
}

.cp_basic_navigation li a:hover,
.cp_basic_navigation .dropdown:hover .dropbtn {
  background-color: #000;
  color: #fff;
}

.cp_basic_navigation li.dropdown {
  display: inline-block;
}

.cp_basic_navigation .dropdown-content {
  display: none;
  position: absolute;
  background-color: #fff;
  min-width: 160px;
  border: 1px solid #000;
  z-index: 1;
}

.cp_basic_navigation .dropdown-content a {
  color: black;
  padding: 12px 15px !important;
  text-decoration: none;
  display: block;
  text-align: left;
}

.cp_basic_navigation .dropdown-content a:hover {
  background-color: #000;
}

.cp_basic_navigation .dropdown:hover .dropdown-content {
  display: block;
}

.cp_basic_navigation .dropdown-parent {
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
}

.cp_basic_navigation .dropdown-parent.bordered {
  border-left: 1px solid #000;
  border-right: 1px solid #000;
}
.cp_basic_navigation nav .search-icon img,
.cp_basic_navigation nav .search-icon img:first-child,
.cp_basic_navigation nav .search-icon img:last-child {
  display: block;
  width: 21px;
}

.cp_basic_navigation > div {
  border-bottom: 1pt solid #000;
  /*box-sizing: content-box;*/
  text-transform: uppercase;
  line-height: 1;
  left: 0;
  top: 0;
  width: 100%;
}
.cp_basic_navigation .print {
  display: none;
}
.cp_basic_navigation nav {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cp_basic_navigation a {
  text-decoration: none;
  color: #000;
}

.nav-header a {
  text-decoration: none;
  color: #000;
}

.nav-header a:hover {
  text-decoration: none;
}

.logout {
  margin-right: 30px;
}

/* ---------- Black-Theme of the media library ---------- */
.medialib-layout .cp_basic_navigation {
  background: #000;
  z-index: 2000;
}
.medialib-layout .cp_basic_navigation > div {
  border-bottom: 1pt solid #fff;
}
.medialib-layout .cp_basic_navigation a {
  color: #fff;
}
.medialib-layout .nav-header a {
  color: #fff;
}

@media print, (min-width: 768px) {
  body {
    --header-height: 45px;
  }
  body.top {
    --header-height: 90px;
  }
  main > div > div {
    margin-top: 90px;
  }
  .cp_basic_navigation > div {
    height: 45px;
    transition: height 0.5s ease-in-out;
  }
  .cp_basic_navigation li a,
  .dropbtn {
    padding: 13px 15px;
    transition: padding 0.5s ease-in-out;
  }
  .cp_basic_navigation nav img {
    position: absolute;
    width: auto;
    transform: translate(0, -50%);
    will-change: opacity, transform;
    transition: opacity 0.5s;
  }
  .cp_basic_navigation nav img:first-child {
    height: 14px;
    transition-delay: 0.5s;
  }
  .cp_basic_navigation nav img:last-child {
    height: 31px;
    opacity: 0;
    transition-delay: 0s;
  }
  .top .cp_basic_navigation nav img:first-child {
    height: 14px;
    transition-delay: 0s;
  }
  .top .cp_basic_navigation nav img:last-child {
    height: 31px;
    opacity: 0;
    transition-delay: 0.5s;
  }
  .cp_basic_navigation nav > a:first-child {
    flex-grow: 1;
    margin-left: 0;
  }
  .cp_basic_navigation nav > div {
    display: flex;
    height: 100%;
    align-items: center;
  }
  .cp_basic_navigation nav > div > a {
    padding: 0 15px;
    height: 100%;
    display: flex;
    align-items: center;
  }
  .cp_basic_navigation nav > div > a:hover {
    color: #fff;
    background: #000;
  }
  .cp_basic_navigation a {
    display: inline-block;
    vertical-align: middle;
  }
  .top .cp_basic_navigation > div {
    height: 90px;
    box-sizing: content-box;
  }
  .top .cp_basic_navigation nav img:first-child {
    opacity: 0;
  }
  .top .cp_basic_navigation nav img:last-child {
    opacity: 1;
  }
  .first .cp_basic_navigation nav img {
    transition-delay: 0s !important;
    transition-duration: 0s !important;
  }
  .first .cp_basic_navigation > div {
    transition-delay: 0s !important;
    transition-duration: 0s !important;
  }
  .cp_basic_navigation .search-icon {
    margin-left: 1ch;
  }
}
@media screen and (max-width: 767px) {
  body {
    --header-height: 55px;
  }
  main > div > div {
    margin-top: 55px;
  }
  .cp_basic_navigation nav > a:first-child {
    flex-grow: 0;
  }
  .cp_basic_navigation,
  .cp_basic_navigation > div {
    height: 55px;
  }
  .cp_basic_navigation > div {
    /*border-bottom: none;*/
  }
  .cp_basic_navigation nav img:first-child {
    width: 67vw;
    height: auto;
  }
  .cp_basic_navigation nav img:last-child {
    display: none;
  }
  .cp_basic_navigation nav > div {
    align-self: flex-start;
    margin-top: 8.6vw;
    flex-grow: 1;
    width: 100%;
    position: absolute;
    background: #fff;
    left: 0;
    top: 0;
    min-height: 2px;
    z-index: 5;
    border-bottom: 1pt solid black;
  }
  .cp_basic_navigation nav > div > a {
    min-width: 50vw;
    margin: 0 0 0 7.8%;
    display: block;
    overflow: hidden;
    height: 0;
    opacity: 0;
    transition: opacity 0.5s cubic-bezier(0.77, 0, 0.175, 1),
      margin 0.5s cubic-bezier(0.77, 0, 0.175, 1),
      height 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  }
  .cp_basic_navigation nav > div > a > span {
    font-size: 4.25vw;
  }
  .cp_basic_navigation nav > div::after {
    content: " ";
    position: absolute;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' version='1.1'  viewBox='0 0 14 9'%3e%3cpath stroke-linecap='round' stroke-width='1' stroke='%23000' fill='none' d='M0.5,0.5 h13 m-13,4 h13 m-13,4 h13' /%3e%3c/svg%3e")
      50% 50% / 4.5vw auto no-repeat;
    width: 4.5vw;
    height: 8.6vw;
    right: 7.6vw;
    top: 1px;
    transform: translate(0, -100%);
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
    cursor: pointer;
  }
  .cp_basic_navigation nav > div::before {
    content: " ";
    position: absolute;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 14 9'%3e%3cpath stroke-linecap='round' stroke-width='1' stroke='%23000' fill='none' d='M3,0.5 l8,8 m-8,0 l8,-8' /%3e%3c/svg%3e")
      50% 50% / 4.5vw auto no-repeat;
    width: 4.5vw;
    height: 8.7vw;
    right: 7.6vw;
    top: 1px;
    transform: translate(0, -100%);
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    cursor: pointer;
  }
  .cp_basic_navigation nav > div.open {
    border-bottom: 1pt solid #000;
    transition: border 0.01s;
  }
  .cp_basic_navigation nav > div.open::after {
    opacity: 0;
  }
  .cp_basic_navigation nav > div.open::before {
    opacity: 1;
  }
  .cp_basic_navigation nav > div.open > a {
    margin: 2.4% 0 2.4% 7.8%;
    height: 4.25vw;
    opacity: 1;
  }
  .cp_basic_navigation ul {
    /* height: 0; */
    transition: height 0.5s;
  }
  .cp_basic_navigation .open ul {
    height: 42vw;
    transition: height 0.5s;
  }
  .cp_basic_navigation li {
    float: none;
    display: block;
    /*width: 100%;*/
  }
  .top .cp_basic_navigation li a {
    padding: 0;
    margin: 1% 0 1% 7.8%;
  }
  .cp_basic_navigation li a {
    padding: 0;
    margin: 1% 0 1% 7.8%;
    display: inline-block;
  }
  .cp_basic_navigation li a:hover {
    background-color: transparent;
    color: #000;
  }
  .cp_basic_navigation .dropdown-content {
    display: block;
    position: relative;
    background-color: #fff;
    min-width: inherit;
    border: none;
    z-index: 1;
  }
  .cp_basic_navigation .dropdown-content a {
    padding: 0 !important;
    text-align: left !important;
    margin: 1% 0 1% 7.8%;
  }
  .cp_basic_navigation .dropdown-content a:hover {
    background-color: transparent;
  }
  .cp_basic_navigation .dropdown-parent.bordered {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
  }

  .nav-grid-cell > .items a:first-child {
    margin-top: 10px;
  }
}
@media (min-width: 768px) and (max-width: 1539px) {
  .cp_basic_navigation {
    width: auto;
  }
  .cp_basic_navigation > div {
    border-bottom: solid 1px #000000;
    height: 100%;
    width: 1540px;
  }
}

@media print {
  .cp_basic_navigation {
    width: 100%;
    position: static;
    transform: none !important;
    margin-bottom: 0 !important;
    margin-right: 0 !important;
  }
  .cp_basic_navigation > div {
    width: auto;
    display: none;
  }
  .top .cp_basic_navigation > div {
    height: auto;
  }
  .cp_basic_navigation .print {
    display: block;
    border-bottom: 1pt solid black;
  }
  .cp_basic_navigation .print img {
    height: 3mm;
    margin: 2mm 0;
    width: auto;
  }
}

.langswitch span,
.langswitch a{
  color: lightgray;
  display: inline-block;
  vertical-align: middle;
}
.langswitch span.active,
.langswitch a.active{
  color: black;
}
.only-desktop .langswitch {
  width: 150px;
  text-align: right;
}
.only-mobile .langswitch{
  float: right;
  margin: 10px 0 15px;
}
.only-mobile .langswitch span.active,
.only-mobile .langswitch a.active{
  color: white;
}
.only-mobile {
  display: none;
}
@media only screen and (max-width: 767px) {
  .only-mobile {
    display: block;
  }
}

@import "nav-grid.css";
