/*****************************************************************************************************
* Menus Module: Common CSS
******************************************************************************************************/

/*
Common Nav Menus CSS
---------------------------------------------------------------------------------------------------- */

/* All Nav Menus > General
--------------------------------------------- */

  /* Set nav menu ancestors 100% height for vertical centering 
  via flexbox. The height of the outermost container (e.g. 
  site-header) needs to be defined absolutely. */

.header-widget-area,
.widget_nav_menu,
.header-widget-area .widget-wrap,
.nav-header,
.genesis-nav-menu,
.genesis-nav-menu .menu-item,
.genesis-nav-menu .menu-item a {
  height: 100%;
}

.genesis-nav-menu {
  display: flex;
  flex-flow: row nowrap;
  font-size: 16px;
  line-height: 1;
  margin: 0;
    /* Force GPU rendering to prevent menu item flickering
     in Chrome due to sub menu opacity transition. */
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; 
}

.genesis-nav-menu .menu-item {
  cursor: pointer;
  list-style: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  white-space: nowrap;
}

body:not(.bub-role-administrator) .genesis-nav-menu .menu-item.bub-role-administrator {
  display: none;
}

.genesis-nav-menu .menu-item a {
  color: #ddd;
  color: var(--cl-primary-def);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 20px 0 20px;
  width: 100%;
}

.genesis-nav-menu .menu-item a:hover,
.genesis-nav-menu .menu-item a:focus,
.genesis-nav-menu .menu-item a.clicked,
.genesis-nav-menu .current-menu-item > a {
  /*color: var(--cl-primary-acc);*/
}

.genesis-nav-menu > .menu-item:hover > a,
.genesis-nav-menu > .menu-item > a:focus,
.genesis-nav-menu > .menu-item > a.clicked,
.genesis-nav-menu > .menu-item.current-menu-item > a {
  /* text-decoration: underline; */
}

.genesis-nav-menu .menu-item.hidden {
  display: none;
}


/* All Nav Menus > Submenus
--------------------------------------------- */

/* All Nav Menus > Submenus > Show / Hide */

.genesis-nav-menu .sub-menu {
  opacity: 0;
  padding: 0;
  position: absolute;
    left: -99999px;
  transition: none;
    /* Visibility must be "hidden" for tab navigation
    to work as expected. */
    visibility: hidden; 
  z-index: 10;  
}

.genesis-nav-menu .sub-menu.show {
  /* Keep below non-showing submenus. */
  z-index: 9;
}

.genesis-nav-menu .menu-item:hover > .sub-menu,
.genesis-nav-menu .sub-menu.show /* js */ {
  opacity: 1;
  left: inherit;
  visibility: visible;
}

/* All Nav menus > Submenus > Basic Styling */

.genesis-nav-menu .sub-menu .menu-item {
  background: var(--bg-primary-def);
  height: 50px;
}

.genesis-nav-menu .sub-menu .menu-item a {
  padding: 0 15px;
}

.genesis-nav-menu .sub-menu .menu-item a:hover,
.genesis-nav-menu .sub-menu li.current-menu-item > a, 
.genesis-nav-menu .sub-menu li > a.clicked {
  background: var(--bg-primary-sh1);
}


/*
Breadcrumbs
---------------------------------------------------------------------------------------------------- */

.bub-breadcrumbs {
  padding-top: 60px;
  z-index: 1;
}

a.bub-breadcrumbs__crumb {
  background: #444;
  /*background: linear-gradient( to bottom, #444, #404040 );*/
  background: var(--bg-secondary-def);
  /*box-shadow: 0px 1px 8px #333;*/
  color: #ddd;
  display: block;
  font-size: 0.85rem;
  padding: 8px 15px 8px 0;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: all 300ms;
}

a.bub-breadcrumbs__crumb:hover {
  filter: brightness(110%);
}

.bub-breadcrumbs__crumb-arrow {
  margin: 0 3px 0 0;
}

.bub-breadcrumbs__crumb-label {
  text-decoration: none;
}

@media screen and (max-width: 1000px/*mobileMenuMaxWidth*/) {
  
  .bub-breadcrumbs {
    padding-top: 0px;
  }
}


/*
Special Effects
---------------------------------------------------------------------------------------------------- */

/* Fancy Hover Borders
--------------------------------------------- */

.genesis-nav-menu:not(.menu-secondary) > .menu-item > a::after {
  background-color: var(--cl-brand-def);
  background-color: #ddd;
  content: '';
  display: block;
  height: 1px;
  opacity: 0.9;
  position: relative;
  top: 2px;
  width: 0;
  transition: all 0.1s ease-in-out;
}

.genesis-nav-menu > .menu-item:hover > a::after,
.genesis-nav-menu > .menu-item > a:focus::after,
.genesis-nav-menu > .menu-item > a.clicked::after,
.genesis-nav-menu > .menu-item.current-menu-item > a::after {
  width: 101%;
}

/* Exceptions: Mobile Menu, Search Icon */
.genesis-nav-menu.mobile-menu > .menu-item > a::after,
.genesis-nav-menu > .menu-item.bub-search-icon > a::after,
.genesis-nav-menu > .menu-item.bub-desktop-search-trigger > a::after, 
.genesis-nav-menu > .menu-item.bub-mobile-search-trigger > a::after {
  display: none !important;
}
