/* GP Pro Kit — Menu Plus: sticky navigation, branding, mobile header (flexbox structure). */

/* Sticky ------------------------------------------------------------------ */
.sticky-enabled .main-navigation.is_stuck,
.mobile-header-navigation.is_stuck {
	box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.2);
}

.navigation-stick:not(.gen-sidebar-nav) {
	left: 0;
	right: 0;
	width: 100% !important;
}

.both-sticky-menu .main-navigation:not(#mobile-header).toggled .main-nav,
.mobile-sticky-menu .main-navigation:not(#mobile-header).toggled .main-nav {
	clear: both;
}

.both-sticky-menu .main-navigation.navigation-stick:not(#mobile-header).toggled .main-nav > ul,
.mobile-sticky-menu .main-navigation.navigation-stick:not(#mobile-header).toggled .main-nav > ul,
.mobile-header-sticky #mobile-header.navigation-stick.toggled .main-nav > ul {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 999;
	max-height: calc(100vh - 100px);
	overflow-y: auto;
}

#sticky-placeholder .navigation-branding,
#sticky-placeholder.mobile-header-navigation .mobile-header-logo {
	display: none;
}

.sticky-enabled .gen-sidebar-nav.gppk-sidebar-sticky {
	position: sticky;
	top: 0;
	z-index: 500;
}

.admin-bar.sticky-enabled .gen-sidebar-nav.gppk-sidebar-sticky {
	top: 32px;
}

.nav-float-right .navigation-stick {
	width: 100% !important;
	left: 0;
}

.nav-float-right .navigation-stick .navigation-branding {
	margin-right: auto;
}

.main-navigation.has-sticky-branding:not(.grid-container) .inside-navigation:not(.grid-container) .navigation-branding {
	margin-left: 10px;
}

/* Branding ---------------------------------------------------------------- */
.navigation-branding,
.site-logo.mobile-header-logo {
	display: flex;
	align-items: center;
	order: 0;
	margin-right: 10px;
}

.navigation-branding img,
.site-logo.mobile-header-logo img {
	position: relative;
	padding: 10px 0;
	display: block;
	transition: height 0.3s ease;
}

.navigation-branding > div + .main-title {
	margin-left: 10px;
}

.navigation-branding .main-title {
	transition: line-height 0.3s ease;
	margin: 0;
}

.navigation-branding .main-title a {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	text-transform: unset;
}

.main-navigation.mobile-header-navigation {
	display: none;
	float: none;
	margin-bottom: 0;
}

.main-navigation .menu-toggle {
	flex-grow: 1;
	width: auto;
}

.main-navigation.has-branding .menu-toggle,
.main-navigation.has-sticky-branding.navigation-stick .menu-toggle {
	flex-grow: 0;
	padding-right: 20px;
	order: 2;
}

.main-navigation:not(.slideout-navigation) .mobile-bar-items + .menu-toggle {
	text-align: left;
}

.main-navigation.has-sticky-branding:not(.has-branding):not(.navigation-stick) .navigation-branding {
	display: none;
}

.nav-align-right .navigation-branding {
	margin-right: auto;
}

.main-navigation.has-branding:not([class*="nav-align-"]):not(.mobile-header-navigation) .inside-navigation,
.main-navigation.has-sticky-branding.navigation-stick:not([class*="nav-align-"]):not(.mobile-header-navigation) .inside-navigation {
	justify-content: flex-start;
}

.main-navigation.has-branding:not([class*="nav-align-"]):not(.mobile-header-navigation) .menu-bar-items,
.main-navigation.has-sticky-branding.navigation-stick:not([class*="nav-align-"]):not(.mobile-header-navigation) .menu-bar-items {
	margin-left: auto;
}

.nav-float-right .main-navigation.has-branding:not(.mobile-header-navigation) .menu-bar-items,
.nav-float-right .main-navigation.has-sticky-branding.navigation-stick:not(.mobile-header-navigation) .menu-bar-items {
	margin-left: 0;
}

.mobile-header-navigation.has-menu-bar-items .mobile-header-logo {
	margin-right: auto;
}

/* Legacy navigation logo (sticky_menu_logo) */
.main-navigation .navigation-logo {
	display: none;
}

.sticky-menu-logo .navigation-stick .navigation-logo,
.menu-logo .main-navigation .navigation-logo,
.regular-menu-logo .main-navigation:not(.navigation-stick) .navigation-logo {
	display: block;
	margin-right: 1.5em;
}

.main-navigation .navigation-logo img {
	position: relative;
	vertical-align: middle;
	padding: 10px 0;
	display: block;
	box-sizing: border-box;
	transition: height 0.3s ease;
}

/* RTL */
.rtl .navigation-branding > div + .main-title { margin-right: 10px; margin-left: 0; }
.rtl .main-navigation.nav-align-right:not(.mobile-header-navigation) .navigation-branding { order: -10; }
.rtl .nav-align-right .navigation-branding { margin-right: 10px; }

.rtl .navigation-branding,
.rtl .site-logo.mobile-header-logo {
	margin-left: auto;
	margin-right: 0;
}

.rtl .nav-align-right .menu-bar-items { margin-right: auto; }
.rtl .mobile-header-navigation.has-menu-bar-items .site-logo { margin-left: auto; }
