
.ubermenu-responsive-toggle,
.ubermenu-sticky-toggle-wrapper {
	display: block;
}

&.ubermenu-responsive{
	width:100%;
	max-height:600px;
	visibility:visible;
	overflow:visible;

	-webkit-transition:max-height 1s ease-in;
	transition:max-height .3s ease-in;
}
&.ubermenu-responsive.ubermenu-mobile-accordion:not(.ubermenu-mobile-modal):not(.ubermenu-in-transition):not(.ubermenu-responsive-collapse){
	max-height:none;
}
&.ubermenu-responsive.ubermenu-items-align-center{
  text-align:left;
}
&.ubermenu-responsive.ubermenu{
	margin:0;
}
&.ubermenu-responsive.ubermenu .ubermenu-nav{
	display:block;
}

&.ubermenu-responsive.ubermenu-responsive-nocollapse,
&.ubermenu-repsonsive.ubermenu-no-transitions{
	display:block;
	max-height:none;
}

&.ubermenu-responsive.ubermenu-responsive-collapse{
	max-height:none;
	visibility:visible;
	overflow:visible;
}
&.ubermenu-responsive.ubermenu-responsive-collapse{
	max-height:0;
	overflow:hidden !important;
	visibility:hidden;
}
&.ubermenu-responsive.ubermenu-in-transition,
&.ubermenu-responsive.ubermenu-in-transition .ubermenu-nav{
	overflow:hidden !important;
	visibility:visible;
}
&.ubermenu-responsive.ubermenu-responsive-collapse:not(.ubermenu-in-transition){
	border-top-width:0;
	border-bottom-width:0;
}
&.ubermenu-responsive.ubermenu-responsive-collapse .ubermenu-item .ubermenu-submenu{
	display:none;
}

&.ubermenu-responsive .ubermenu-item-level-0{
	width:50%;
}
&.ubermenu-responsive.ubermenu-responsive-single-column .ubermenu-item-level-0{
	float:none;
	clear:both;
	width:100%;
}
&.ubermenu-responsive .ubermenu-item.ubermenu-item-level-0 > .ubermenu-target{
	border:none;
	box-shadow:none;
}
&.ubermenu-responsive .ubermenu-item.ubermenu-has-submenu-flyout{
	position:static;
}
&.ubermenu-responsive.ubermenu-sub-indicators .ubermenu-submenu-type-flyout .ubermenu-has-submenu-drop > .ubermenu-target > .ubermenu-sub-indicator{
	transform:rotate(0);
	right:10px;
	left:auto;
}
&.ubermenu-responsive .ubermenu-nav .ubermenu-item .ubermenu-submenu.ubermenu-submenu-drop{
	width:100%;
	min-width:100%;
	max-width:100%;
	top:auto;
	left:0 !important;
}
&.ubermenu-responsive.ubermenu-has-border .ubermenu-nav .ubermenu-item .ubermenu-submenu.ubermenu-submenu-drop{
	left: -1px !important; /* For borders */
}
&.ubermenu-responsive .ubermenu-submenu.ubermenu-submenu-type-mega > .ubermenu-item.ubermenu-column{
	min-height:0;
	border-left:none;

	float:left; /* override left/center/right content alignment */
	display:block;
}
&.ubermenu-responsive .ubermenu-item.ubermenu-active > .ubermenu-submenu.ubermenu-submenu-type-mega{
    max-height:none;
    height:auto;	/*prevent overflow scrolling since android is still finicky*/
    overflow:visible;
}
&.ubermenu-responsive.ubermenu-transition-slide .ubermenu-item.ubermenu-in-transition > .ubermenu-submenu-drop{
	max-height:1000px; /* because of slide transition */
}
&.ubermenu .ubermenu-submenu-type-flyout .ubermenu-submenu-type-mega{
	min-height:0;
}
&.ubermenu.ubermenu-responsive .ubermenu-column,
&.ubermenu.ubermenu-responsive .ubermenu-column-auto{
	min-width:50%;
}
&.ubermenu.ubermenu-responsive .ubermenu-autoclear > .ubermenu-column{
	clear:none;
}
&.ubermenu.ubermenu-responsive .ubermenu-column:nth-of-type(2n+1){
	clear:both;
}
&.ubermenu.ubermenu-responsive .ubermenu-submenu-retractor-top:not(.ubermenu-submenu-retractor-top-2) .ubermenu-column:nth-of-type(2n+1){
	clear:none;
}
&.ubermenu.ubermenu-responsive .ubermenu-submenu-retractor-top:not(.ubermenu-submenu-retractor-top-2) .ubermenu-column:nth-of-type(2n+2){
	clear:both;
}

&.ubermenu-responsive-single-column-subs .ubermenu-submenu .ubermenu-item {
	float: none;
	clear: both;
	width: 100%;
	min-width: 100%;
}


&.ubermenu.ubermenu-responsive .ubermenu-tabs,
&.ubermenu.ubermenu-responsive .ubermenu-tabs-group,
&.ubermenu.ubermenu-responsive .ubermenu-tab,
&.ubermenu.ubermenu-responsive .ubermenu-tab-content-panel{
	/** TABS SHOULD BE 100% && ACCORDION */
	width:100%;
	min-width:100%;
	max-width:100%;
	left:0;
}
&.ubermenu.ubermenu-responsive .ubermenu-tabs,
&.ubermenu.ubermenu-responsive .ubermenu-tab-content-panel{
	min-height:0 !important;	/* Override Inline Style from JS */
}
&.ubermenu.ubermenu-responsive .ubermenu-tabs{
	z-index:15;
}
&.ubermenu.ubermenu-responsive .ubermenu-tab-content-panel{
	z-index:20;
}
/* Tab Layering */
&.ubermenu-responsive .ubermenu-tab{
	position:relative;
}
&.ubermenu-responsive .ubermenu-tab.ubermenu-active{
	position:relative;
	z-index:20;
}
&.ubermenu-responsive .ubermenu-tab > .ubermenu-target{
	border-width:0 0 1px 0;
}
&.ubermenu-responsive.ubermenu-sub-indicators .ubermenu-tabs > .ubermenu-tabs-group > .ubermenu-tab.ubermenu-has-submenu-drop > .ubermenu-target > .ubermenu-sub-indicator{
	transform:rotate(0);
	right:10px;
	left:auto;
}

&.ubermenu-responsive .ubermenu-tabs > .ubermenu-tabs-group > .ubermenu-tab > .ubermenu-tab-content-panel{
	top:auto;
	border-width:1px;
}
&.ubermenu-responsive .ubermenu-tab-layout-bottom > .ubermenu-tabs-group{
	/*position:relative;*/
}


&.ubermenu-reponsive .ubermenu-item-level-0 > .ubermenu-submenu-type-stack{
	/* Top Level Stack Columns */
	position:relative;
}

&.ubermenu-responsive .ubermenu-submenu-type-stack .ubermenu-column,
&.ubermenu-responsive .ubermenu-submenu-type-stack .ubermenu-column-auto{
	/* Stack Columns */
	width:100%;
	max-width:100%;
}


&.ubermenu-responsive .ubermenu-item-mini{
	/* Mini items */
	min-width:0;
	width:auto;
	float:left;
	clear:none !important;
}
&.ubermenu-responsive .ubermenu-item.ubermenu-item-mini > a.ubermenu-target{
	padding-left:20px;
	padding-right:20px;
}


&.ubermenu-responsive .ubermenu-item.ubermenu-hide-mobile{
	/* Hiding items */
	display:none !important;
}

&.ubermenu-responsive.ubermenu-hide-bkgs .ubermenu-submenu.ubermenu-submenu-bkg-img{
	/** Hide Background Images in Submenu */
	background-image:none;
}
&.ubermenu.ubermenu-responsive .ubermenu-item-level-0.ubermenu-item-mini{
	min-width:0;
	width:auto;
}
&.ubermenu-vertical .ubermenu-item.ubermenu-item-level-0{
	width:100%;
}
&.ubermenu-vertical.ubermenu-sub-indicators .ubermenu-item-level-0.ubermenu-item-has-children > .ubermenu-target > .ubermenu-sub-indicator{
	right:10px;
	left:auto;
	transform:rotate(0);
}
&.ubermenu-vertical .ubermenu-item.ubermenu-item-level-0.ubermenu-relative.ubermenu-active > .ubermenu-submenu-drop.ubermenu-submenu-align-vertical_parent_item{
    top:auto;
}


&.ubermenu.ubermenu-responsive .ubermenu-tabs{
    position:static;
}
/* Tabs on Mobile with mouse (but not click) - leave space to hover off */
&.ubermenu:not(.ubermenu-is-mobile):not(.ubermenu-submenu-indicator-closes) .ubermenu-submenu .ubermenu-tab[data-ubermenu-trigger="mouseover"] .ubermenu-tab-content-panel,
&.ubermenu:not(.ubermenu-is-mobile):not(.ubermenu-submenu-indicator-closes) .ubermenu-submenu .ubermenu-tab[data-ubermenu-trigger="hover_intent"] .ubermenu-tab-content-panel{
    margin-left:6%;
		width:94%;
		min-width:94%;
}

/* Sub indicator close visibility */
&.ubermenu.ubermenu-submenu-indicator-closes .ubermenu-active > .ubermenu-target > .ubermenu-sub-indicator-close{
	display:block;
	display: flex;
	align-items: center;
	justify-content: center;
}
&.ubermenu.ubermenu-submenu-indicator-closes .ubermenu-active > .ubermenu-target > .ubermenu-sub-indicator{
	display:none;
}

&.ubermenu .ubermenu-tabs .ubermenu-tab-content-panel{
    box-shadow: 0 5px 10px rgba(0,0,0,.075);
}

/* When submenus and items go full width, move items back to appropriate positioning */
&.ubermenu .ubermenu-submenu-rtl {
    direction: ltr;
}


/* Fixed position mobile menu */
&.ubermenu.ubermenu-mobile-modal{
  position:fixed;
  z-index:9999999;
	opacity:1;
  top:0;
  left:0;
  width:100%;
  width:100vw;
  max-width:100%;
  max-width:100vw;
	height:100%;
	height:calc(100vh - calc(100vh - 100%));
	height:-webkit-fill-available;
	max-height:calc(100vh - calc(100vh - 100%));
	max-height:-webkit-fill-available;
  border:none;
	box-sizing:border-box;

  display:flex;
  flex-direction:column;
  justify-content:flex-start;
	overflow-y:auto !important; /* for non-accordion mode */
	overflow-x:hidden !important;
	overscroll-behavior: contain;
	transform:scale(1);
	transition-duration:.1s;
	transition-property: all;
}
&.ubermenu.ubermenu-mobile-modal.ubermenu-mobile-accordion.ubermenu-interaction-press{
	overflow-y:hidden !important;
}
&.ubermenu.ubermenu-mobile-modal.ubermenu-responsive-collapse{
	overflow:hidden !important;
	opacity:0;
	transform:scale(.9);
	visibility:hidden;
}
&.ubermenu.ubermenu-mobile-modal .ubermenu-nav{
  flex:1;
  overflow-y:auto !important;
	overscroll-behavior: contain;
}
&.ubermenu.ubermenu-mobile-modal .ubermenu-item-level-0{
	margin:0;
}
&.ubermenu.ubermenu-mobile-modal .ubermenu-mobile-close-button{
	border:none;
	background:none;
	border-radius:0;
	padding:1em;
	color:inherit;
	display:inline-block;
	text-align:center;
	font-size:14px;
}
&.ubermenu.ubermenu-mobile-modal .ubermenu-mobile-footer .ubermenu-mobile-close-button{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
&.ubermenu.ubermenu-mobile-modal .ubermenu-mobile-footer .ubermenu-mobile-close-button .ubermenu-icon-essential,
&.ubermenu.ubermenu-mobile-modal .ubermenu-mobile-footer .ubermenu-mobile-close-button .fas.fa-times{
	margin-right:.2em;
}

/* Header/Footer Mobile content */
&.ubermenu .ubermenu-mobile-header,
&.ubermenu .ubermenu-mobile-footer{
	display:block;
	text-align:center;
	color:inherit;
}

/* Accordion submenus mobile (single column tablet) */
&.ubermenu.ubermenu-responsive-single-column.ubermenu-mobile-accordion.ubermenu-interaction-press .ubermenu-item > .ubermenu-submenu-drop,
&.ubermenu.ubermenu-responsive-single-column.ubermenu-mobile-accordion.ubermenu-interaction-press .ubermenu-tab > .ubermenu-tab-content-panel{
	box-sizing:border-box;
	border-left:none;
	border-right:none;
	box-shadow:none;
}
&.ubermenu.ubermenu-responsive-single-column.ubermenu-mobile-accordion.ubermenu-interaction-press .ubermenu-item.ubermenu-active > .ubermenu-submenu-drop,
&.ubermenu.ubermenu-responsive-single-column.ubermenu-mobile-accordion.ubermenu-interaction-press .ubermenu-tab.ubermenu-active > .ubermenu-tab-content-panel{
  position:static;
}


/* Accordion indented - remove borders and extra spacing from headers */
&.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu.ubermenu-submenu-drop,
&.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu .ubermenu-item-header.ubermenu-has-submenu-stack > .ubermenu-target{
  border:none;
}
&.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu .ubermenu-item-header.ubermenu-has-submenu-stack > .ubermenu-submenu-type-stack{
  padding-top:0;
}
/* Accordion dropdown indentation padding */
&.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu-drop .ubermenu-submenu-drop .ubermenu-item > .ubermenu-target,
&.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu-drop .ubermenu-tab-content-panel .ubermenu-item > .ubermenu-target{
  padding-left:calc( var(--ubermenu-accordion-indent) * 2 );
}
&.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu-drop .ubermenu-submenu-drop .ubermenu-submenu-drop .ubermenu-item > .ubermenu-target,
&.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu-drop .ubermenu-tab-content-panel .ubermenu-tab-content-panel .ubermenu-item > .ubermenu-target{
  padding-left:calc( var(--ubermenu-accordion-indent) * 3 );
}
&.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu-drop .ubermenu-submenu-drop .ubermenu-submenu-drop .ubermenu-submenu-drop .ubermenu-item > .ubermenu-target,
&.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu-drop .ubermenu-tab-content-panel .ubermenu-tab-content-panel .ubermenu-tab-content-panel .ubermenu-item > .ubermenu-target{
  padding-left:calc( var(--ubermenu-accordion-indent) * 4 );
}
/* Reverse Accordion dropdown indentation padding */
.rtl &.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu-drop .ubermenu-submenu-drop .ubermenu-item > .ubermenu-target,
.rtl &.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu-drop .ubermenu-tab-content-panel .ubermenu-item > .ubermenu-target{
	padding-left:0;
  padding-right:calc( var(--ubermenu-accordion-indent) * 2 );
}
.rtl &.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu-drop .ubermenu-submenu-drop .ubermenu-submenu-drop .ubermenu-item > .ubermenu-target,
.rtl &.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu-drop .ubermenu-tab-content-panel .ubermenu-tab-content-panel .ubermenu-item > .ubermenu-target{
	padding-left:0;
	padding-right:calc( var(--ubermenu-accordion-indent) * 3 );
}
.rtl &.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu-drop .ubermenu-submenu-drop .ubermenu-submenu-drop .ubermenu-submenu-drop .ubermenu-item > .ubermenu-target,
.rtl &.ubermenu.ubermenu-mobile-accordion-indent .ubermenu-submenu-drop .ubermenu-tab-content-panel .ubermenu-tab-content-panel .ubermenu-tab-content-panel .ubermenu-item > .ubermenu-target{
	padding-left:0;
	padding-right:calc( var(--ubermenu-accordion-indent) * 4 );
}
