/* body {
    background-color: darkblue;
} */

.nav {
  -webkit-transition: left 0.5s ease;

  -moz-transition: left 0.5s ease;

  -ms-transition: left 0.5s ease;

  -o-transition: left 0.5s ease;

  transition: left 0.5s ease;

  background: var(--second-bg-color);

  color: #fff;

  cursor: pointer;

  font-size: 2.5vw;
  height: 100vh;

  left: -110%;
  padding: 6rem 2rem 2rem 6rem !important;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 5;
}

.nav.expanded {
  left: 0;
}

.nav ul {
  position: relative;
  top: 52%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  list-style: none;
  margin: 0;
  padding: 0;
  height: 75vh;
  width: 50vw;
}
.nav li {
  width: 50vw;
  height: 10%;
}
.nav a {
  text-decoration: none;
  color: var(--text-white-color);
  /* border: 1px solid red; */
}
.nav .nav-link-desktop {
  text-decoration: none;
  font-weight: 500;
  color: var(--text-white-color);
  font-family: 'MontserratBold';
  letter-spacing: -0.04em;
  width: 100% !important;
  font-size: var(--nav-title);
  font-size: var(--h2);
  /* border: 1px solid red; */
}
.nav-link-desktop:hover {
  text-decoration: none;
  font-weight: 500;
  /* color: var(--text-white-color); */
  font-family: 'MontserratBold';
  letter-spacing: -0.04em;
  width: 100% !important;
  font-size: var(--nav-title);
  padding-left: 1.2rem;
  color: var(--main-bg-color) !important;
  font-size: var(--h2);
}
.nav a:active {
  text-decoration: none;
  font-weight: 500;
  /* color: var(--text-white-color); */
  font-family: 'MontserratBold';
  letter-spacing: -0.04em;
  width: 100% !important;
  font-size: var(--nav-title);
  padding-left: 0rem;
  color: var(--text-white-color);
  font-size: var(--h2);
}

.nav-toggle {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: pointer;
  height: 2.3vw;
  left: 2rem;
  position: fixed;
  top: 2rem;
  width: 2.5vw;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--text-white-color);
}
.nav-toggle:hover .nav-toggle-bar {
  /* opacity: 0.8; */
  background-color: var(--main-bg-color);
}

.nav-toggle .nav-toggle-bar,
.nav-toggle .nav-toggle-bar::after,
.nav-toggle .nav-toggle-bar::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  background: var(--second-bg-color);
  content: '';
  height: 0.1rem;
  width: 70%;
}

.nav-toggle .nav-toggle-bar {
  margin-top: 0;
}

.nav-toggle .nav-toggle-bar::after {
  margin-top: 0.8vh;
  width: 100% !important;
}

.nav-toggle .nav-toggle-bar::before {
  margin-top: -0.8vh;
  width: 100% !important;
}

.nav-toggle.expanded .nav-toggle-bar {
  background: transparent;
}

.nav-toggle.expanded .nav-toggle-bar::after,
.nav-toggle.expanded .nav-toggle-bar::before {
  background: var(--text-white-color);
  background: var(--second-bg-color);
  margin-top: 0;
}

.nav-toggle.expanded .nav-toggle-bar::after {
  -ms-transform: rotate(45deg);

  -webkit-transform: rotate(45deg);

  transform: rotate(45deg);
}

.nav-toggle.expanded .nav-toggle-bar::before {
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.nav-toggle:hover {
  /* opacity: 0.8; */
  background-color: var(--second-bg-color);
}

.nav-toggle:hover .nav-toggle-bar::after {
  /* opacity: 0.8; */
  background-color: var(--main-bg-color);
}
.nav-toggle:hover .nav-toggle-bar::before {
  /* opacity: 0.8; */
  background-color: var(--main-bg-color);
}
/* ============= dropdown :hover ============================= */
.dropdown-index {
  position: relative;
  display: inline-block;
}
.dropdown-index-content {
  display: none;
  position: absolute;
  top: 0;
  left: 32vw;
  height: auto;
  width: 30vw;

  font-size: var(--h6) !important;
  text-decoration: none;
}
.dropdown-index-content a {
  font-size: var(--h6) !important;
  text-decoration: none;
  width: 100%;
}

.dropdown-index:hover .dropdown-index-content {
  display: block;
  border-radius: 0.5vw;
}
.dropdown-index-link {
  position: relative;
  height: 100% !important;
  width: 100%;
}
.nav-icon {
  color: var(--main-bg-color) !important;
}
.overlay {
  z-index: 4;
}
.nav-contact {
  position: relative;
  font-size: var(--h5) !important;
}
.nav-contact {
  position: relative;
  font-size: var(--h5) !important;
}
.nav-contact:hover {
  position: relative;
  font-size: var(--h5) !important;
}
.nav-mobile {
  display: none !important;
}
.nav-decktop {
  display: block !important;
}

/* // `xxl` applies to x-large devices (large desktops, less than 1400px) */
@media (max-width: 1399.98px) {
  .nav-mobile {
    display: none;
  }
  .nav-decktop {
    display: block;
  }
  .dropdown-index-content {
    display: none;
    position: absolute;
    top: 0;
    left: 32vw;
    height: 20vh;
    width: 50vw;
    z-index: 1;
    font-size: var(--h6) !important;
    text-decoration: none;
  }
}

/* Querformat für iPad Pro 12.9 */
/* @media only screen 
and (min-width:1024px) 
and (max-width:1366px) 
and (orientation: landscape) 
and (-webkit-min-device-pixel-ratio: 2)
{

 

   .a-mobile {
    font-size: var(--h6) !important;
  }
  .btn-mobile {
    background-color: transparent ;
    border: none;
  }
  .nav a {
    text-decoration: none;
    font-weight: 500;
    color: var(--text-white-color);
    font-family: 'MontserratBold';
    letter-spacing: -0.04em;
    width: 100%;
    font-size: var(--nav-title);
    font-size: var(--h2);
  
  }

  .nav a:hover {
    text-decoration: none;
    font-weight: 500;

    font-family: 'MontserratBold';
    letter-spacing: -0.04em;
    width: 100% !important;
    font-size: var(--nav-title);
    padding-left: 0rem;
    color: var(--text-white-color);
    font-size: var(--h2);
  }
  .nav a:active {
    text-decoration: none;
    font-weight: 500;

    font-family: 'MontserratBold';
    letter-spacing: -0.04em;
    width: 100% !important;
    font-size: var(--nav-title);
    padding-left: 0rem;
    color: var(--text-white-color);
    font-size: var(--h2);
  }
  .nav ul {
    position: absolute;
    top: 60% !important;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    list-style: none;
    margin: 0;
    padding: 0;
    height: auto;
    width: 100%;
      border: 1px solid red;
  }

  .dropdown-index-content-mobile {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease;
  }

  .dropdown-index-content-mobile.expanded {
    max-height: 300px;
    opacity: 1;
  }
  .nav-mobile {
    display: block !important;
  }
  .nav-decktop {
    display: none !important;
  }
  .nav-toggle .nav-toggle-bar {
    margin-top: 0;
  }

  .nav-toggle .nav-toggle-bar::after {
    margin-top: 0.5vh;
    width: 100% !important;
  }

  .nav-toggle .nav-toggle-bar::before {
    margin-top: -0.5vh;
    width: 100% !important;
  }
} */

/* Hochformat für iPad Pro 12.9 */
@media only screen and (min-width: 1024px) and (max-width: 1366px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2) {
  /* CSS-Regeln für Hochformat */
  .nav-mobile {
    display: block !important;
  }
  .nav-decktop {
    display: none !important;
  }
  .a-mobile {
    font-size: var(--h6) !important;
  }
  .btn-mobile {
    background-color: transparent;
    border: none;
  }
  .nav a {
    text-decoration: none;
    font-weight: 500;
    color: var(--text-white-color);
    font-family: 'MontserratBold';
    letter-spacing: -0.04em;
    width: 100%;
    font-size: var(--nav-title);
    font-size: var(--h2);
  }

  .nav a:hover {
    text-decoration: none;
    font-weight: 500;

    font-family: 'MontserratBold';
    letter-spacing: -0.04em;
    width: 100% !important;
    font-size: var(--nav-title);
    padding-left: 0rem;
    color: var(--text-white-color);
    font-size: var(--h2);
  }
  .nav a:active {
    text-decoration: none;
    font-weight: 500;

    font-family: 'MontserratBold';
    letter-spacing: -0.04em;
    width: 100% !important;
    font-size: var(--nav-title);
    padding-left: 0rem;
    color: var(--text-white-color);
    font-size: var(--h2);
  }
  .nav ul {
    position: absolute;
    top: 40% !important;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    list-style: none;
    margin: 0;
    padding: 0;
    height: auto;
    width: 100%;
  }
  .nav-decktop {
    display: none !important;
  }
  .nav-mobile {
    display: block !important;
  }

  .dropdown-index-content-mobile {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease;
  }

  .dropdown-index-content-mobile.expanded {
    max-height: 300px;
    opacity: 1;
  }
  .nav-mobile {
    display: block !important;
  }
  .nav-decktop {
    display: none !important;
  }
  .nav-toggle .nav-toggle-bar {
    margin-top: 0;
  }

  .nav-toggle .nav-toggle-bar::after {
    margin-top: 0.3vh;
    width: 100% !important;
  }

  .nav-toggle .nav-toggle-bar::before {
    margin-top: -0.3vh;
    width: 100% !important;
  }
}

/* Hochformat für iPad Pro 11 Zoll */
@media only screen and (min-width: 834px) and (max-width: 1194px) and (orientation: portrait) {
  .nav-mobile {
    display: block !important;
  }
  .nav-decktop {
    display: none !important;
  }
  .nav-toggle .nav-toggle-bar {
    margin-top: 0;
  }

  .nav-toggle .nav-toggle-bar::after {
    margin-top: 0.4vh;
    width: 100% !important;
  }

  .nav-toggle .nav-toggle-bar::before {
    margin-top: -0.4vh;
    width: 100% !important;
  }
}

/* Querformat für iPad Pro 11 Zoll */
@media only screen and (min-height: 832px) and (max-width: 1194.98px) and (orientation: landscape){
  .nav a {
    text-decoration: none;
    font-weight: 500;
    color: var(--text-white-color);
    font-family: 'MontserratBold';
    letter-spacing: -0.04em;
    width: 100%;
    font-size: var(--nav-title);
    font-size: var(--h2);
 
  }

  .nav-mobile {
    display: block !important ;
  }
  .nav-decktop {
    display: none !important;
  }
  .dropdown-index-content-mobile {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease;
  }

  .dropdown-index-content-mobile.expanded {
    max-height: 300px;
    opacity: 1;
  }
  .btn-mobile {
    background-color: transparent;
    border: none;
  }
}

/* // `xl` applies to large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
  .nav-mobile {
    display: none ;
  }
  .nav-decktop {
    display: block;
  }
  .nav ul {
    position: absolute;
    top: 45%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    list-style: none;
    margin: 0;
    padding: 0;
    height: auto;
    width: 100%;
  }
  .dropdown-index {
    position: relative;
    display: inline-block;
  }
  .dropdown-index-content {
    display: none;
    position: absolute;
    top: 0;
    left: 32vw;
    height: 20vh;
    width: 50vw;
    z-index: 1;
    font-size: var(--h6) !important;
    text-decoration: none;
  }
  .dropdown-index-content a {
    font-size: var(--h6) !important;
    text-decoration: none;
    width: 100%;
  }

  .dropdown-index:hover .dropdown-index-content {
    display: block;
    border-radius: 0.5vw;
  }
  .dropdown-index-content a {
    font-size: var(--h6) !important;
    text-decoration: none;
    width: 100%;
  }
}
/* // `lg` applies to medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
  .nav-mobile {
    display: block !important;
  }
  .nav-decktop {
    display: none !important;
  }
  .nav {
    -webkit-transition: left 0.5s ease;
    -moz-transition: left 0.5s ease;
    -ms-transition: left 0.5s ease;
    -o-transition: left 0.5s ease;
    transition: left 0.5s ease;
    background: var(--second-bg-color);
    color: #fff;
    /* cursor: pointer; */
    font-size: 2.5vw;
    height: 100vh;
    /* left: -110%; */
    padding: 6rem 2rem 2rem 2rem;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 5;
  }
  .nav a {
    text-decoration: none;
    font-weight: 500;
    color: var(--text-white-color);
    font-family: 'MontserratBold';
    letter-spacing: -0.04em;
    width: 100% !important;
    font-size: var(--nav-title);
    font-size: var(--h2);
  }

  .nav a:hover {
    text-decoration: none;
    font-weight: 500;
    /* color: var(--text-white-color); */
    font-family: 'MontserratBold';
    letter-spacing: -0.04em;
    width: 100% !important;
    font-size: var(--nav-title);
    padding-left: 0rem;
    color: var(--text-white-color);
    font-size: var(--h2);
  }
  .nav a:active {
    text-decoration: none;
    font-weight: 500;
    /* color: var(--text-white-color); */
    font-family: 'MontserratBold';
    letter-spacing: -0.04em;
    width: 100% !important;
    font-size: var(--nav-title);
    padding-left: 0rem;
    color: var(--text-white-color);
    font-size: var(--h2);
  }
  /* Standardmäßig Dropdown verstecken */
  .dropdown-index-content-mobile {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease;
  }

  /* Dropdown anzeigen, wenn die Klasse "expanded" vorhanden ist */
  .dropdown-index-content-mobile.expanded {
    /* transition: 0.5s ease; */
    max-height: 300px; /* Passe dies an die maximale Höhe deines Menüs an */
    opacity: 1;
  }

  .nav-toggle {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    cursor: pointer;
    height: 4.3vw;
    position: fixed;
    left: 90vw;
    top: 2rem;
    width: 4.5vw;
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--text-white-color);
  }
  .nav {
    -webkit-transition: left 0.5s ease;
    -moz-transition: left 0.5s ease;
    -ms-transition: left 0.5s ease;
    -o-transition: left 0.5s ease;
    transition: left 0.5s ease;
    background: var(--second-bg-color);
    color: #fff;
    /* cursor: pointer; */
    font-size: 2.5vw;
    height: 100vh;
    /* left: -110%; */
    padding: 6rem 2rem 2rem 1.6rem !important;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 5;
  }
  .nav ul {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    list-style: none;
    margin: 0;
    padding: 0;
    height: auto;
    width: 100%;
  }
  .a-mobile {
    font-size: var(--h6) !important;
  }
  .btn-mobile {
    background-color: transparent;
    border: none;
  }
  .dropdown-index-content-mobile {
    width: 100vw;
  }
  .nav-toggle .nav-toggle-bar {
    margin-top: 0;
  }

  .nav-toggle .nav-toggle-bar::after {
    margin-top: 0.9vh;
    width: 100% !important;
  }

  .nav-toggle .nav-toggle-bar::before {
    margin-top: -0.9vh;
    width: 100% !important;
  }
}
/* // `md` applies to small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
  /* .nav-mobile {
    display: block !important;
  }
  .nav-decktop {
    display: none !important;
  } */
  .nav {
    -webkit-transition: left 0.5s ease;
    -moz-transition: left 0.5s ease;
    -ms-transition: left 0.5s ease;
    -o-transition: left 0.5s ease;
    transition: left 0.5s ease;
    background: var(--second-bg-color);
    color: #fff;
    /* cursor: pointer; */
    font-size: 2.5vw;
    height: 100vh;
    /* left: -110%; */
    padding: 6rem 2rem 2rem 2rem;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 5;
  }
  .nav-toggle {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    cursor: pointer;
    height: 5.3vw;
    position: fixed;

    left: 84vw;
    top: 2rem;
    width: 5.5vw;
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--text-white-color);
  }
  .nav-toggle .nav-toggle-bar {
    margin-top: 0;
  }

  .nav-toggle .nav-toggle-bar::after {
    margin-top: 0.7vh;
    width: 100% !important;
  }

  .nav-toggle .nav-toggle-bar::before {
    margin-top: -0.7vh;
    width: 100% !important;
  }
}
/* // `sm` applies to x-small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
  /* .nav-mobile {
    display: block !important;
  }
  .nav-decktop {
    display: none !important;
  } */
  .nav-toggle {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    cursor: pointer;
    height: 8.3vw;
    height: 8.3vw;
    position: fixed;
    top: 2rem;
    width: 8.5vw;
    left: 84vw;
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--text-white-color);
  }
}
