:root {
  --red: #fa350e;
  --black: #000000;
  --white: #ffffff;
  --gray: #f5f5f5;
  --dark-gray: #999;
  --light-gray: #f9f9f9;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/*
@font-face {
  font-family: "FFClan";
  font-weight: 700;
  src: url("../fonts/1a9cf0ae-2575-4c77-9aa4-27882906726c.woff2") format("woff2");
}
@font-face {
  font-family: "FFClan";
  font-weight: 400;
  src: url("../fonts/594979db-53e7-4c57-9c7b-92679df6a0cc.woff2") format("woff2");
}
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  overflow-x: hidden;
  position: relative;
  font-family: "FFClan", sans-serif;
}
*/
/*----------------------------------------------------------------*/
/*-- Bugfix Sidebar menu and remove scrollbar --*/
.wrapperHeader {
   -ms-overflow-style: none;
   scrollbar-width: none;
}
.wrapperHeader::-webkit-scrollbar {
    display: none;
    /* Safari and Chrome */
}
.mainnav ul {
    margin: 10px 0 0 64px;
}
.mainnav ul li a {
    font-size: clamp(11px, 2vw, 16px);

}
.mainnav ul li {
    padding: 5px 0 1px 0;
    line-height: 1;
}
.mainnav ul li ul li a {
    font-size: clamp(11px, 2vw, 16px);
}

.mainnav ul li ul li a {
    line-height: 1 !important;
}

/*-- Bugfix Language menu --*/
.mainnav .langmenu {
    display: flex;
    margin-top: 0.75rem;
}
.mainnav .langmenu a {
    padding: 0;
}
.langmenu a .flag {
    mix-blend-mode: normal;
}

.flag {
    display: inline-flex;
    width: 24px;
    height: 18px;
    vertical-align: middle;
    margin-right: 1rem;
    mix-blend-mode: luminosity;
}
.icon-de {
    background-image: url('../Images/flag-de.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.icon-en {
    background-image: url('../Images/flag-gb.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}


/*----------------------------------------------------------------*/


.wrapperContentFullpage {}

@media only screen and (max-width: 640px) {
    .wrapperContentFullpage {
        margin-left: 0;
    }
}
@media only screen and (min-width: 656px) and (max-width: 1024px) {
    .wrapperContentFullpage {
        margin-left: 99px;
    }
}
@media only screen and (min-width: 1200px) {
    .wrapperContentFullpage {
        margin-left: 255px;
    }
}
.spacer {
  height: 100vh;
}

video {
  width: 100%;
  object-fit: cover;
}

.nheader {
  position: relative;
  overflow-x: clip;
}
.nheader .nvideo-wrapper {
  position: relative;
  width: 100%;
}
.nheader .nvideo-wrapper video {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  object-position: center;
  display: block;
}
.nheader .nheader-slogan {
  position: absolute;
  top: 15%;
  line-height: 1;
  left: 10%;
  color: #fff;
  font-size: 5vw;
  text-transform: uppercase;
  font-weight: 700;
}
@media (max-width: 768px) {
    .nheader .nheader-slogan {
        top: 35%;
        left: 20%;
    }
}
.nheader .w {
  width: 105vw;
  position: absolute;
  right: -21%;
  bottom: -5%;
  z-index: 55;
  isolation: isolate;
}
@media (min-width: 768px) {
  .nheader .w {
    width: 80vw;
    right: -15%;
    bottom: -15%;
  }
}
@media (min-width: 992px) {
  .nheader .w {
    width: 60vw;
    right: -11%;
    bottom: -24%;
  }
}
@media (max-height: 500px) {
  .nheader .w {
    width: 55vw;
    right: -11%;
    bottom: -13%;
  }
}
.nheader .w svg {
  width: 100%;
  height: 100%;
}
.nheader .w svg #bigw {
  fill: rgba(255, 255, 255, 0);
  stroke: #fff;
  stroke-width: 0.2;
  transition: fill 0.6s;
}

.fake-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: fit-content;
  z-index: 555;
}
@media (max-width: 992px) {
  .fake-menu {
    display: none;
  }
}

.bigcard {
  position: relative;
  height: 80vh;
  overflow-x: hidden;
  overflow: hidden;
  perspective: 3000px;
}
.bigcard img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
.bigcard .bigcard-block {
  position: absolute;
  bottom: 5%;
  left: 0;
  width: 130%;
  display: flex;
  z-index: 9;
}
@media (min-width: 1500px) {
  .bigcard .bigcard-block {
    height: 23vw;
  }
}
.bigcard .bigcard-block .bigcard-content {
  flex: 0 0 63%;
  right: 20%;
  background-color: #fff;
  width: 63vw;
  height: 100%;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  opacity: 0;
}
@media (min-width: 992px) {
  .bigcard .bigcard-block .bigcard-content {
    flex: 0 0 23vw;
    width: 23vw;
    padding: 1.75rem;
  }
}
.bigcard .bigcard-block .bigcard-content h2, .bigcard .bigcard-block .bigcard-content h1 {
  margin-top: 1rem;
  font-size: clamp(2rem, 2.5vw, 5rem);
  font-weight: 700;
  line-height: 1;
  color: var(--black);
  margin-bottom: 1rem;
    padding: 0;
}
.bigcard .bigcard-block .bigcard-content .bottomContent {
  margin-top: auto;
}
.bigcard .bigcard-block .bigcard-content .bottomContent p {
    line-height: 1.2;
    margin-bottom: 0;
}
.bigcard .bigcard-block .bigcard-content a {
  display: inline-block;
  margin-top: 1rem;
  text-decoration: none;
  color: #000;
  font-weight: 700;
}
.bigcard .bigcard-block .bigcard-before {
  width: 8%;
  stroke-width: 2px;
  stroke: #fff;
  z-index: 5;
}
@media (min-width: 992px) {
  .bigcard .bigcard-block .bigcard-before {
    width: 45%;
  }
}
.bigcard .bigcard-block .bigcard-before svg {
  width: 100%;
  height: 100%;
}
.bigcard .bigcard-block .bigcard-before svg line {
  vector-effect: non-scaling-stroke;
}
.bigcard .bigcard-block .bigcard-after {
  flex: 1 0;
  width: 8%;
  stroke-width: 2px;
  stroke: #fff;
  z-index: 5;
}
@media (min-width: 992px) {
  .bigcard .bigcard-block .bigcard-after {
    width: 58%;
  }
}
.bigcard .bigcard-block .bigcard-after svg {
  width: 100%;
  height: 100%;
}
.bigcard .bigcard-block .bigcard-after svg line {
  vector-effect: non-scaling-stroke;
}

.logos-wrapper {
  padding-top: 5rem;
  padding-bottom: 5rem;
  text-align: center;
  overflow: hidden;
    background: #ffffff;
}
.logos-wrapper h2 {
  margin-bottom: 1rem;
}
.logos-wrapper .logos {
  position: relative;
  left: -20%;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 2rem 0;
  width: 300vw;
}
@media (min-width: 992px) {
  .logos-wrapper .logos {
    left: -10%;
    width: 120%;
  }
}
.logos-wrapper .logos .logos-item {
  width: 17vw;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 992px) {
  .logos-wrapper .logos .logos-item {
    width: 5vw;
  }
}
.logos-wrapper .logos .logos-item h4 {
  font-size: 0.65rem;
}
@media (min-width: 992px) {
  .logos-wrapper .logos .logos-item h4 {
    font-size: 0.85rem;
  }
}
.logos-wrapper .logos img {
  width: 100%;
  height: auto;
}

.nfooter-wrapper {
  background-color: #000;
  color: #fff;
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.nfooter-wrapper .nfooter {
  width: 70%;
  display: flex;
  align-items: flex-start;
  justify-content: space-around;
  flex-direction: column;
  margin: 0 auto 0 12%;
}
@media (min-width: 992px) {
  .nfooter-wrapper .nfooter {
    width: 40%;
    margin: 0 auto 0 42%;
    flex-direction: row;
  }
}
.nfooter-wrapper ul {
  display: block;
  flex: 1;
  list-style: none;
  font-size: 0.85rem;
}
.nfooter-wrapper ul li:first-child {
  font-weight: 700;
  margin-bottom: 1em;
}
.nfooter-wrapper .copy {
  text-align: right;
  font-size: 11px;
  margin-top: 2rem;
  margin-left: auto;
  margin-right: 2%;
  width: fit-content;
}
.nfooter-wrapper .copy .nfooter-logo {
  width: 32px;
}
.nfooter-wrapper .copy .nfooter-logo img {
  width: 100%;
}

.wrapperHeader {
  -ms-overflow-style: none;
  /* Internet Explorer 10+ */
  scrollbar-width: none;
  /* Firefox */
}

.wrapperHeader::-webkit-scrollbar {
  display: none;
  /* Safari and Chrome */
}

.mainnav ul {
  margin: 10px 0 0 64px;
}

.mainnav ul li a {
  font-size: clamp(11px, 2vw, 16px);
}

.mainnav ul li {
  padding: 5px 0 1px 0;
  line-height: 1;
}

.mainnav ul li ul li a {
  font-size: clamp(11px, 2vw, 16px);
}

.wrapperContentFullpage .wrapperFooter {
    margin-top: 0;
}
