/* Menu Button */
.mobile-menu-close {
    height: 77px;
    position: absolute;
    top: 0;
    right: 0;    

}
.mobile-menu-close #menu-btn  {
    padding: 24px 41px;
    height: 100%;
    background: rgb(0, 33, 89); 
    cursor: pointer;
}
@media screen and (min-width: 768px) {
    .mobile-menu-close #menu-btn  {
        padding: 22px 42px 20px 37px;
    }
}
.mobile-menu-close #menu-icon {
    height: 21px;
    margin-right: 0px;
}
@media screen and (min-width: 768px) {
    .mobile-menu-close #menu-icon {
        margin-right: 15px;
    }
}
.mobile-menu-close #menu-close {
    height: 21px;
    margin-right: 0px;
    margin-top: 0px;
    fill: #ffffff
}
@media screen and (min-width: 768px) {
    .mobile-menu-close #menu-close {
        margin-right: 15px;
    }
}
.mobile-menu-close .menu-icon-bar {
    fill: none;
    stroke: #ffffff;
}
.mobile-menu-close #mobile-menu-text {
    display: none;
    font-family: 'Marion BUF', Times, Times New Roman, serif;
    font-size: 20px;
    font-style: italic;
    color: #fff;
}
@media screen and (min-width: 768px) {
    .mobile-menu-close #mobile-menu-text {
        display: inline-block;
    }
}

/* Fullscreen Menu */
    .fullscreen-menu {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      width: 100vw;
      max-width: 1920px;
      height: 100vh;
      height: 100dvh;
      background-color: #ffffff;
      color: rgb(0, 33, 89);
      display: none;
      z-index: 100;
      overflow-y: auto;
      user-select: none;
      margin: auto;
    }

    .fullscreen-menu.active {
      display: flex;
    }

    .extra-info * {
      color: #ffffff;
    }
    .extra-info {
      padding: 4.6875%;
      background-image: linear-gradient(rgba(0, 53, 107, .3), rgba(0, 53, 107, .3)), url(../sources/img/buf-menu-image.jpg);
      background-position: left center;
      background-size: cover;
    }
    .extra-info h2 {
      font-size: clamp(3.75rem, 4.688vw + 0rem, 5.625rem);
      width: 50%;
      margin-top: 1.6em;
    }
    .extra-info p {
      font-size: clamp(1.313rem, 1.719vw - 0.063rem, 2rem);
      line-height: 1.1;
      width: 36.5ch;
      margin-bottom: 0px;;
    }

    /* Menu Layout */
    .menu-layout {
      display: flex;
      width: 100%;
      height: 100%;
    }

    /* Left Sidebar - Extra Info (visible on desktop only) */
    .extra-info {
      background-color: #002349;
      color: white;
      padding: 50px;
      width: 45vw; /* Adjusted to 45% of the viewport width */
      display: none; /* Hidden by default */
    }

.mobile-menu-wrapper {
  margin: 86px 7% 126px;
  overflow: auto;
}
@media screen and (min-width: 499px) {
    .mobile-menu-wrapper {
    margin: 96px 7%;
  }
}
.mobile-menu {
  list-style-type: none;
  padding: 0;
  line-height: unset;
}

.mobile-menu li {
  padding: 0px;
}

.mobile-menu-item {
  font-family: 'Trade Gothic BUF', Helvetica, Arial, sans-serif;
  font-size: 3.125rem;
  padding: 0px;
  text-transform: uppercase;
  cursor: pointer;
  font-style: normal;
}

.mobile-menu-item:hover, .mobile-menu-item:active  {
  filter: opacity(.7);
}

.mobile-submenu {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: none; /* Hide submenu by default */
}

.mobile-submenu li {
  font-family: 'Marion BUF', Times, Times New Roman, serif;
  font-size: clamp(1.313rem, 1.719vw - 0.063rem, 2rem);
  text-transform: uppercase;
  margin: 0 0 .7em .7em;
  line-height: 1.1;
  cursor: pointer;
  
}

.mobile-submenu li:last-of-type {
    margin-bottom: 2em;
}

.mobile-submenu li a {
  text-decoration: none;
  color: #333;
  cursor: pointer;
}

.mobile-submenu li a:hover {
  color: #000;
  text-decoration: underline;
}
    /* Main Menu and Submenu Layout */
    .menu-wrapper {
      display: flex;
      width: 100vw;
      line-height: unset;
    }
    @media screen and (min-width: 1200px) {
      .menu-wrapper {
        width: 55vw; /* Takes up the remaining 55% of the viewport width */
      }
    }

    /* Main Menu */
    .menu-wrapper .menu {
      list-style: none;
      padding: 0px 5% 0px 7%;
      margin: 0;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: flex-start;
      width: 50%;
    }
    @media screen and (min-width: 1200px) {
      .menu-wrapper .menu {
        padding: 0px 5% 0px 7%;
        width: auto;
      }
    }


    li.menu-item {
      font-size: clamp(3.125rem, 0rem + 3.9063vw, 4.6875rem);
      font-family: 'Trade Gothic BUF', Helvetica, Arial, sans-serif;
      text-transform: uppercase ;
      cursor: pointer;
      position: relative;
      transition: .3s ease-in-out;
      padding: 0;
      font-style: normal;
    }

    li.menu-item:hover, li.menu-item:active  {
      filter: opacity(.7);
    }

    /* Submenu Container */
    .submenu-container {
      display: none; /* Initially hidden */
      padding: 0 5% 0 3%;
      width: 50%; /* Submenu takes up 50% */
    }

    /* Show submenu container when active */
    .submenu-container.active {
      display: block;
    }

    /* Submenu Items */
    .submenu {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .submenu li {
      font-family: 'Marion BUF', Times, Times New Roman, serif;
      font-size: clamp(1.313rem, 1.719vw - 0.063rem, 2rem);
      text-transform: uppercase;
      margin: .7em 0;
      padding: 0;
      line-height: 1.1;
      cursor: pointer;
      transition: .3s ease-in-out;
    }

    .submenu li:hover, .submenu li:active {
      filter: opacity(.7);
    }

    .extra-info, .menu-wrapper {
      height: calc(100vh - clamp(5.375rem, 6.719vw + 0rem, 8.063rem));
    }

    .bottom-menu {
      background: #002349;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 116px;
    }
    @media screen and (min-width: 499px) {
      .bottom-menu {  
        height: clamp(5.375rem, 6.719vw + 0rem, 8.063rem);
      }
    }

    .bottom-menu li {
      list-style-type: none;
      padding: 0px;
    }

    .bottom-menu li a {
      font-family: 'Trade Gothic BUF', Helvetica, Arial, sans-serif;
      font-size: clamp(1.25rem, 1.563vw + 0rem, 1.875rem);
      color: #ffffff;
      text-transform: uppercase;
      text-decoration: none;
      margin: 0 clamp(1rem, 1.25vw + 0rem, 1.5rem);
      font-style: normal;
    }

    /* Close Button */
    .close-menu {
      position: absolute;
      top: 20px;
      right: 30px;
      font-size: 2em;
      cursor: pointer;
    }

    /* Hide the .extra-info div on smaller screens */
    .extra-info.d-none {
      display: none;
    }

    .extra-info.d-md-block {
      display: block;
    }