/* =======================================================================
   UNIVERSAL RESET
========================================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* =======================================================================
   DESKTOP STYLES
========================================================================== */

/* Main nav container */
#main_nav {
  width: 100%;
  font-family: "Open Sans";
}

/* Top-level nav: horizontal flex layout */
#main_nav > ul {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  gap: 20px;
}


/* Top-level list items */
#main_nav > ul > li {
  position: relative; /* for dropdowns */
  font-size: 13pt;
  letter-spacing: 1px;
  padding: 16px 0 17px;
  line-height: 125%;
  flex: 0 0 auto;
}

/* All nav links */
#main_nav ul a {
  display: block;
  text-decoration: none;
  color: #FFFFFF;
}

/* Dropdown container (desktop) */
#main_nav ul ul {
  position: absolute;
  left: 0;       /* align to parent’s left */
  top: 100%;     /* directly below parent li */
  visibility: hidden;
  opacity: 0;
  border: 1px solid #C8C8C8;
  background-color: inherit;
  transition: opacity 0.2s ease;
  margin-left:0 ;
}

/* Third-level dropdown menus */
#main_nav ul ul ul {
  left: 100%;
  margin-top: -1px;
  margin-left: 0px;
  top: 0;
}

/* Right-aligned dropdowns */
#main_nav ul.left {
  left: auto;
  right: 0;
  margin-right: 0;
  z-index: 1;
}
#main_nav ul > li > ul > li > ul.left {
  left: auto;
  right: 100%;
  margin-right: 0;
  z-index: 1;
}

/* Hover effects (desktop) */
#main_nav li:hover ul,
#main_nav li:hover li {
  color: #F5D447;
}
#main_nav li:hover > a {
  color: #F5D447;
}
#main_nav li:hover > ul {
  visibility: visible;
  opacity: 1;
}

/* Dropdown list item styling (desktop) */
#main_nav li ul li {
  width: 250px;
  font-size: 11pt;
  font-weight: 300;
  letter-spacing: 1px;
  background-color: #8FA5C9;
  border-bottom: 1px solid #C8C8C8;
  display: flex;
  align-items: center;
  padding: 10px 20px 10px 10px;
  margin-top: -1px;
  margin-right: -10px;
}

/* Utility classes */
.menuitem {
  margin: 0;
  padding: 0;
}
.menugrp {
  background-image: url('../layout/bgr/menugrp.png');
  background-repeat: no-repeat;
  background-position: right top;
}

/* Hamburger (desktop hidden) */
#hamburger {
  padding: 10px 0 5px;
  display: none;
  margin-right: 10px;
}
#hamburger div {
  background-color: #FFFFFF;
  width: 35px;
  height: 5px;
  margin: 0 0 5px;
}
.float_hamburger {
  display: none;
}
#hamburger_floating {
  position: fixed;
  right: 20px;
  top: 2px;
  opacity: 0.99;
  padding: 5px 0;
  margin-right: 5px;
  z-index: 10;
}
#hamburger_floating div {
  background-color: #0C2045;
  width: 25px;
  height: 3px;
  margin: 2px 0;
  border: 1px solid #FFFFFF;
}

/* Marking styles (hidden by default) */
.menuznamky1,
.menuznamky2 {
  display: none;
  background-image: none;
}

/* Force sub-menu items to use block layout (desktop) */
#main_nav li ul li {
  margin: 0 !important;
  padding: 10px 15px !important;
  display: block !important;
  align-items: unset !important;
  background-color: #8FA5C9 !important;
  border-bottom: 1px solid #C8C8C8 !important;
  line-height: 1.6 !important;
  color: #FFFFFF !important;
}
#main_nav li ul li:hover {
  background-color: #4A699B !important;
  color: #F5D447 !important;
}

/* =======================================================================
   MOBILE STYLES
========================================================================== */
@media only screen and (max-width: 1024px) {
  /* Show the hamburger */
  #hamburger {
    display: block;
    float: right;
    width: 45px;
    margin: 10px;
  }
  
  /* Mobile nav container is hidden by default (JS toggles its visibility) */
  #main_nav {
    display: none;
    width: 100%;
    margin: 0;
    padding: 0;
    background: none;
  }
  
  /* When shown via JS, use vertical layout */
  #main_nav > ul {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #243042;
  }
  
  /* Top-level mobile menu items: stack vertically */
  #main_nav > ul > li {
    display: block;
    width: 100%;
    border-bottom: 1px solid #C8C8C8;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  
  /* Mobile top-level links: compact padding, left-aligned */
  #main_nav > ul > li > a {
    display: block;
    padding: 10px 12px;
    color: #FFFFFF;
    text-decoration: none;
    font-size: 15px;
    text-align: left;
  }
  
  /* Mobile submenus: remove absolute positioning; hide by default */
  #main_nav ul ul {
    display: none;
    position: static;
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background-color: #8FA5C9;
  }
  
  /* Reveal mobile submenu on hover (or use JS/accordion if preferred) */
  .active {
    display: block !important;
  }
  
  /* Mobile submenu items: full width and compact */
  #main_nav ul ul li {
    display: block;
    width: 100%;
    border-bottom: 1px solid #C8C8C8;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  
  /* Mobile submenu links */
  #main_nav ul ul li a {
    display: block;
    padding: 6px 12px;
    font-size: 15px;
    color: #FFFFFF;
    text-decoration: none;
    text-align: left;
    line-height: 1.4;
  }
  
  /* Hover effect on mobile submenu items */
  #main_nav ul ul li:hover {
    background-color: #4A699B;
    color: #F5D447;
  }
  
  #flags-mobile-entry {
	padding: 10px 12px !important;
  }

}
