/* =========================================================================
   TRANSITIONS
   ========================================================================= */

.megamenu .megamenu-item.megamenu-item--in-transition > .megamenu-submenu--drop,
.megamenu .megamenu-item.megamenu-active.megamenu-item--in-transition > .megamenu-submenu--drop {
  overflow: hidden !important;
  height: auto;
}

.megamenu .megamenu-item .megamenu-submenu--drop {
  -webkit-transition-duration: .3s;
  -ms-transition-duration: .3s;
  transition-duration: .3s;
  -webkit-transition-timing-function: ease-in;
  -ms-transition-timing-function: ease-in;
  transition-timing-function: ease-in;
}

/* No Transition
   ========================================================================= */

.megamenu--transition-none .megamenu-item .megamenu-submenu--drop {
  top: auto;
  -webkit-transition: none;
  -ms-transition: none;
  transition: none;
}

.megamenu--no-js.megamenu--transition-none .megamenu-item:hover > .megamenu-submenu--drop,
.megamenu--transition-none .megamenu-item.megamenu-active > .megamenu-submenu--drop {
  overflow-y: visible;
  height: auto;
  max-height: none;
}

/* Slide Transition
   ========================================================================= */

.megamenu--transition-slide .megamenu-item .megamenu-submenu--drop {
  top: auto;
  max-height: 0;
  -webkit-transition-property: max-height, visibility;
  -ms-transition-property: max-height, visibility;
  transition-property: max-height, visibility;
}

/* Used for animation timing */

.megamenu--no-js.megamenu--transition-slide .megamenu-item:hover > .megamenu-submenu--drop,
.megamenu--transition-slide .megamenu-item.megamenu-active > .megamenu-submenu--drop {
  max-height: 1000px;
}

/* Fade Transition
   ========================================================================= */

.megamenu--transition-fade .megamenu-item .megamenu-submenu--drop {
  top: auto;
  margin-top: 1px;
  opacity: 0;
  -webkit-transition-property: opacity, visibility;
  -ms-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
}

.megamenu--no-js.megamenu--transition-fade .megamenu-item:hover > .megamenu-submenu--drop,
.megamenu--transition-fade .megamenu-item.megamenu-active > .megamenu-submenu--drop {
  top: auto;
  opacity: 1;
}

/* Shift Up Transition
   ========================================================================= */

.megamenu--transition-shift .megamenu-item .megamenu-submenu--drop {
  top: auto;
  margin-top: 20px;
  opacity: 0;
  -webkit-transition-property: margin-top, opacity, visibility;
  -ms-transition-property: margin-top, opacity, visibility;
  transition-property: margin-top, opacity, visibility;
}

.megamenu--no-js.megamenu--transition-shift .megamenu-item:hover > .megamenu-submenu--drop,
.megamenu--transition-shift .megamenu-item.megamenu-active > .megamenu-submenu--drop {
  margin-top: 0;
  opacity: 1;
}

/* Mega
   ========================================================================= */

.megamenu.megamenu--transition-slide .megamenu-active > .megamenu-submenu.megamenu-submenu--type-mega,
.megamenu:not(.megamenu--transition-slide) .megamenu-submenu.megamenu-submenu--type-mega {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  max-height: 600px;
}

/* Used by Chrome on Windows */

.megamenu.megamenu--disable-submenu-scroll .megamenu-item > .megamenu-submenu.megamenu-submenu--type-mega {
  overflow: hidden;
}

.megamenu.megamenu--disable-submenu-scroll .megamenu-active > .megamenu-submenu.megamenu-submenu--type-mega {
  max-height: none;
}

/* =========================================================================
   FLYOUT
   ========================================================================= */

.megamenu .megamenu-submenu--type-flyout > .megamenu-item {
  clear: both;
  position: relative;
  float: none;
  display: block;
  min-width: 150px;
}

.megamenu .megamenu-submenu .megamenu-submenu--type-flyout {
  min-width: 100%;
}

/* Setting max height allows transitions-out to work properly */

.megamenu:not(.megamenu--transition-slide) .megamenu-submenu.megamenu-submenu--type-flyout {
  max-height: 99999px;
}

.megamenu .megamenu-submenu--type-flyout > .megamenu-item.megamenu-active {
  z-index: 50;
}

.megamenu .megamenu-submenu .megamenu-submenu--type-flyout {
  top: 0;
  left: 100%;
  clip: rect(-10px, 5000px, 5000px, 0);
  margin-top: -1px;
}

.megamenu .megamenu-submenu .megamenu-submenu--type-flyout.megamenu-submenu--align-right_edge_item {
  left: auto;
  right: 100%;
  clip: rect(-10px, 5000px, 5000px, -5000px);
}

.megamenu .megamenu-submenu .megamenu-item.megamenu-active > .megamenu-submenu--type-flyout {
  top: 0;
}

.megamenu .megamenu-submenu--type-flyout > .megamenu-item.megamenu-item--has-submenu-mega {
  position: static;
}

.megamenu .megamenu-submenu--type-flyout > .megamenu-item > .megamenu-submenu.megamenu-submenu--type-mega {
  left: 100%;
  top: 0px;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  -ms-box-sizing: content-box;
  box-sizing: content-box;
  min-height: 100%;
  clip: rect(-10px, 5000px, 5000px, -5000px);
}

.megamenu.megamenu--horizontal .megamenu-item--level-1:first-child > .megamenu-submenu--type-flyout,
.megamenu.megamenu--horizontal .megamenu-item--level-1:first-child > .megamenu-submenu--type-flyout > .megamenu-item:first-child > .megamenu-submenu--type-flyout,
.megamenu.megamenu--horizontal .megamenu-submenu--type-flyout .megamenu-submenu--type-mega {
  border-top: none;
}

/* Mega submenu in mega
   ========================================================================= */

.megamenu .megamenu-item .megamenu-submenu--type-mega .megamenu-submenu--drop {
  margin-top: 0;
  clip: rect(0, 5000px, 5000px, -5000px);
}

/* Flyout submenu in mega
   ========================================================================= */

.megamenu .megamenu-item .megamenu-submenu--type-mega .megamenu-item.megamenu-item--has-submenu-flyout {
  position: relative;
}

.megamenu .megamenu-item .megamenu-submenu--type-mega > .megamenu-item.megamenu-item--has-submenu-flyout > .megamenu-submenu--drop {
  top: auto;
  left: auto;
  box-shadow: none;
}

.megamenu .megamenu-submenu--type-mega .megamenu-item.megamenu-item--has-submenu-flyout.megamenu-active {
  z-index: 100;
}

/* =========================================================================
   ROWS
   ========================================================================= */

.megamenu .megamenu-clear-row {
  clear: both;
}

.megamenu .megamenu-row {
  clear: both;
  margin-bottom: 10px;
}

.megamenu .megamenu-row:after {
  clear: both;
  display: table;
  content: "";
}

/* =========================================================================
   GRID
   ========================================================================= */

.megamenu .megamenu-submenu .megamenu-column {
  float: left;
  display: block;
  width: auto;
}

.megamenu .megamenu-submenu--type-mega.megamenu-submenu--content-align-left {
  text-align: left;
}

.megamenu .megamenu-submenu--type-mega.megamenu-submenu--content-align-right {
  text-align: right;
}

.megamenu .megamenu-submenu--type-mega.megamenu-submenu--content-align-center {
  text-align: center;
}

.megamenu .megamenu-submenu--type-mega.megamenu-submenu--content-align-left > .megamenu-column,
.megamenu .megamenu-submenu--type-mega.megamenu-submenu--content-align-left > .megamenu-row > .megamenu-column,
.megamenu .megamenu-submenu--type-mega.megamenu-submenu--content-align-right > .megamenu-column,
.megamenu .megamenu-submenu--type-mega.megamenu-submenu--content-align-right > .megamenu-row > .megamenu-column,
.megamenu .megamenu-submenu--type-mega.megamenu-submenu--content-align-center > .megamenu-column,
.megamenu .megamenu-submenu--type-mega.megamenu-submenu--content-align-center > .megamenu-row > .megamenu-column {
  float: none;
  display: inline-block;
}

.megamenu .megamenu-submenu .megamenu-column--auto {
  min-width: 100px;
  width: auto;
}

.megamenu .megamenu-nav .megamenu-column--full {
  width: 100%;
}

.megamenu .megamenu-nav .megamenu-column--1-2 {
  width: 50%;
}

.megamenu .megamenu-nav .megamenu-column--1-3 {
  width: 33.33%;
}

.megamenu .megamenu-nav .megamenu-column--2-3 {
  width: 66.66%;
}

.megamenu .megamenu-nav .megamenu-column--1-4 {
  width: 25%;
}

.megamenu .megamenu-nav .megamenu-column--3-4 {
  width: 75%;
}

.megamenu .megamenu-nav .megamenu-column--1-5 {
  width: 20%;
}

.megamenu .megamenu-nav .megamenu-column--2-5 {
  width: 40%;
}

.megamenu .megamenu-nav .megamenu-column--3-5 {
  width: 60%;
}

.megamenu .megamenu-nav .megamenu-column--4-5 {
  width: 80%;
}

.megamenu .megamenu-nav .megamenu-column--1-6 {
  width: 16.66%;
}

.megamenu .megamenu-nav .megamenu-column--5-6 {
  width: 83.33%;
}

.megamenu .megamenu-nav .megamenu-column--1-7 {
  width: 14.28%;
}

.megamenu .megamenu-nav .megamenu-column--2-7 {
  width: 28.57%;
}

.megamenu .megamenu-nav .megamenu-column--3-7 {
  width: 42.85%;
}

.megamenu .megamenu-nav .megamenu-column--4-7 {
  width: 57.14%;
}

.megamenu .megamenu-nav .megamenu-column--5-7 {
  width: 71.42%;
}

.megamenu .megamenu-nav .megamenu-column--6-7 {
  width: 85.71%;
}

.megamenu .megamenu-nav .megamenu-column--1-8 {
  width: 12.5%;
}

.megamenu .megamenu-nav .megamenu-column--3-8 {
  width: 37.5%;
}

.megamenu .megamenu-nav .megamenu-column--5-8 {
  width: 62.5%;
}

.megamenu .megamenu-nav .megamenu-column--7-8 {
  width: 87.5%;
}

.megamenu .megamenu-nav .megamenu-column--1-9 {
  width: 11.11%;
}

.megamenu .megamenu-nav .megamenu-column--2-9 {
  width: 22.22%;
}

.megamenu .megamenu-nav .megamenu-column--4-9 {
  width: 44.44%;
}

.megamenu .megamenu-nav .megamenu-column--5-9 {
  width: 55.55%;
}

.megamenu .megamenu-nav .megamenu-column--7-9 {
  width: 77.77%;
}

.megamenu .megamenu-nav .megamenu-column--8-9 {
  width: 88.88%;
}

.megamenu .megamenu-nav .megamenu-column--1-10 {
  width: 10%;
}

.megamenu .megamenu-nav .megamenu-column--3-10 {
  width: 30%;
}

.megamenu .megamenu-nav .megamenu-column--7-10 {
  width: 70%;
}

.megamenu .megamenu-nav .megamenu-column--9-10 {
  width: 90%;
}

.megamenu .megamenu-nav .megamenu-column--1-11 {
  width: 9.09%;
}

.megamenu .megamenu-nav .megamenu-column--2-11 {
  width: 18.18%;
}

.megamenu .megamenu-nav .megamenu-column--3-11 {
  width: 27.27%;
}

.megamenu .megamenu-nav .megamenu-column--4-11 {
  width: 36.36%;
}

.megamenu .megamenu-nav .megamenu-column--5-11 {
  width: 45.45%;
}

.megamenu .megamenu-nav .megamenu-column--6-11 {
  width: 54.54%;
}

.megamenu .megamenu-nav .megamenu-column--7-11 {
  width: 63.63%;
}

.megamenu .megamenu-nav .megamenu-column--8-11 {
  width: 72.72%;
}

.megamenu .megamenu-nav .megamenu-column--9-11 {
  width: 81.81%;
}

.megamenu .megamenu-nav .megamenu-column--10-11 {
  width: 90.90%;
}

.megamenu .megamenu-nav .megamenu-column--1-12 {
  width: 8.33%;
}

.megamenu .megamenu-nav .megamenu-column--5-12 {
  width: 41.66%;
}

.megamenu .megamenu-nav .megamenu-column--7-12 {
  width: 58.33%;
}

.megamenu .megamenu-nav .megamenu-column--11-12 {
  width: 91.66%;
}

.megamenu .megamenu-autoclear > .megamenu-column--full,
.megamenu .megamenu-autoclear > .megamenu-column--1-2:nth-child(2n+1),
.megamenu .megamenu-autoclear > .megamenu-column--1-3:nth-child(3n+1),
.megamenu .megamenu-autoclear > .megamenu-column--1-4:nth-child(4n+1),
.megamenu .megamenu-autoclear > .megamenu-column--1-5:nth-child(5n+1),
.megamenu .megamenu-autoclear > .megamenu-column--1-6:nth-child(6n+1),
.megamenu .megamenu-autoclear > .megamenu-column--1-7:nth-child(7n+1),
.megamenu .megamenu-autoclear > .megamenu-column--1-8:nth-child(8n+1),
.megamenu .megamenu-autoclear > .megamenu-column--1-9:nth-child(9n+1),
.megamenu .megamenu-autoclear > .megamenu-column--1-10:nth-child(10n+1),
.megamenu .megamenu-autoclear > .megamenu-column--1-11:nth-child(11n+1),
.megamenu .megamenu-autoclear > .megamenu-column--1-12:nth-child(12n+1) {
  clear: both;
}

/**
 * Top retractor is present - offset everything by 1
 */

.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top > .megamenu-column {
  clear: none;
}

.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top > .megamenu-column--full,
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top > .megamenu-column--1-2:nth-child(2n+2),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top > .megamenu-column--1-3:nth-child(3n+2),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top > .megamenu-column--1-4:nth-child(4n+2),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top > .megamenu-column--1-5:nth-child(5n+2),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top > .megamenu-column--1-6:nth-child(6n+2),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top > .megamenu-column--1-7:nth-child(7n+2),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top > .megamenu-column--1-8:nth-child(8n+2),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top > .megamenu-column--1-9:nth-child(9n+2),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top > .megamenu-column--1-10:nth-child(10n+2),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top > .megamenu-column--1-11:nth-child(11n+2),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top > .megamenu-column--1-12:nth-child(12n+2) {
  clear: both;
}

/**
 * Both retractors are present - offset everything by 2
 */

.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top.megamenu-submenu--retractor-top-2 > .megamenu-column {
  clear: none;
}

.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top-2 > .megamenu-column--full,
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top-2 > .megamenu-column--1-2:nth-child(2n+3),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top-2 > .megamenu-column--1-3:nth-child(3n+3),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top-2 > .megamenu-column--1-4:nth-child(4n+3),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top-2 > .megamenu-column--1-5:nth-child(5n+3),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top-2 > .megamenu-column--1-6:nth-child(6n+3),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top-2 > .megamenu-column--1-7:nth-child(7n+3),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top-2 > .megamenu-column--1-8:nth-child(8n+3),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top-2 > .megamenu-column--1-9:nth-child(9n+3),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top-2 > .megamenu-column--1-10:nth-child(10n+3),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top-2 > .megamenu-column--1-11:nth-child(11n+3),
.megamenu .megamenu-autoclear.megamenu-submenu--retractor-top-2 > .megamenu-column--1-12:nth-child(12n+3) {
  clear: both;
}

/* =========================================================================
   VERTICAL
   ========================================================================= */

.megamenu--vertical .megamenu-item--level-0 {
  clear: both;
  display: block;
}

.megamenu--vertical.megamenu--items-align-right .megamenu-item--level-0 {
  text-align: right;
}

.megamenu--vertical.megamenu--items-align-center .megamenu-item--level-0 {
  text-align: center;
}

.megamenu--vertical .megamenu-item--level-0 > .megamenu-submenu--drop {
  clip: rect(-5000px, 5000px, 5000px, 0);
}

.megamenu.megamenu--vertical .megamenu-item--level-0 > .megamenu-anchor {
  box-shadow: none;
  border-left: none;
}

.megamenu--vertical.megamenu--sub-indicators .megamenu-item--level-0.megamenu-item--has-children > .megamenu-anchor:after {
  content: '\f105';
}

.megamenu--vertical .megamenu-item > .megamenu-submenu--drop {
  top: 0px;
  left: 100%;
  margin-left: 0px;
}

.megamenu--no-js.megamenu--vertical .megamenu-item--level-0:hover > .megamenu-submenu--drop,
.megamenu--vertical .megamenu-item--level-0.megamenu-active > .megamenu-submenu--drop,
.megamenu--vertical .megamenu-active .megamenu-submenu.megamenu-submenu--type-flyout .megamenu-submenu--type-mega {
  top: 0;
  min-height: 100%;
}

.megamenu--no-js.megamenu--vertical .megamenu-item--level-0:hover > .megamenu-submenu--drop.megamenu-submenu--align-vertical_parent_item,
.megamenu--vertical .megamenu-item--level-0.megamenu-active > .megamenu-submenu--drop.megamenu-submenu--align-vertical_parent_item {
  min-height: 0;
}

/* Submenus with full height
   ========================================================================= */

.megamenu--vertical .megamenu-item.megamenu-item--flyout-full-height {
  position: static;
}

.megamenu--vertical .megamenu-item.megamenu-item--flyout-full-height > .megamenu-submenu--drop {
  min-height: 100% !important;
  max-height: none;
  height: auto;
}

.megamenu--vertical .megamenu-submenu .megamenu-item.megamenu-active > .megamenu-submenu--drop {
  top: 0px;
}

.megamenu--vertical.megamenu--transition-slide .megamenu-item.megamenu-active.megamenu-item--in-transition > .megamenu-submenu--drop {
  min-height: 0;
}

.megamenu--vertical .megamenu-item > .megamenu-submenu--type-mega {
  width: 600px;
  margin: 0;
}

.megamenu--vertical .megamenu-tabs--layout-left > .megamenu-tabs__group > .megamenu-tabs__tab > .megamenu-tabs__pane,
.megamenu--vertical .megamenu-tabs--layout-right > .megamenu-tabs__group > .megamenu-tabs__tab > .megamenu-tabs__pane {
  min-height: 100%;
}

.megamenu--vertical .megamenu-item.megamenu-item--relative {
  position: relative;
}

.megamenu--vertical .megamenu-item.megamenu-item--relative.megamenu-active {
  z-index: 20;
}

.megamenu--vertical .megamenu-item.megamenu-item--level-0.megamenu-item--relative.megamenu-active > .megamenu-submenu--drop.megamenu-submenu--align-vertical_parent_item {
  top: 0px;
}

.megamenu--vertical .megamenu-item.megamenu-item--mini {
  clear: none;
  float: left;
}

.megamenu.megamenu--vertical .megamenu-item.megamenu-item--mini > .megamenu-anchor {
  box-shadow: none;
  background: none;
}
