/* Primary menu */
.main-navigation,
.main-navigation .menu-primary-menu-container,
#primary-menu {
	float: none; /* Override the older SCSS */
}

.main-navigation {
  position: relative;
  z-index: 20;
  display: flex;
  padding: 0;
}

.menu-primary-menu-container {
  display: flex;
  align-items: center;
}

.primary-menu-overflow {
  display: flex;
  height: 100%;
}

.primary-menu-overflow > li {
  display: flex !important;
  align-items: center;
  height: 100%;
}

.primary-menu-overflow:hover > li {
  color: var(--accent);
  box-shadow: inset 0 -1px 0 0 var(--accent);
}

.primary-menu-overflow button {
  padding: 0 1.5rem;
}

@media screen and (max-width: 1200px) {
  .primary-menu-overflow button {
    padding: 0 1.25rem;
  }
}

.main-navigation ul li a {
  font-family: var(--font-cond);
  font-weight: 600;
  font-size: 1rem;
  padding: 1.5rem 0.5rem;
  border: none;
  color: var(--black);
}

@media (min-width: 1200px) {
  .main-navigation ul li a {
    padding: 1.5rem 1rem;
  }
}

.main-navigation ul ul:before,
.main-navigation ul ul:after {
  display: none;
}

.main-navigation ul ul {
  box-shadow: none;
  border: none;
  border-radius: 0;
  padding: 2rem 0;
  margin: 0;
  top: 100%;
}

#primary-menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-flow: row nowrap;
  height: 100%;
}

#primary-menu > .menu-item {
	float: none;
	padding: 0;
  height: 100%;
}

@media (min-width: 992px) {
	#primary-menu > .menu-item {
		padding: 0 0.25rem;
	}
}

@media (min-width: 1280px) {
  #primary-menu > .menu-item {
    padding: 0 0.5rem;
  }
}

#primary-menu > .menu-item > .sub-menu,
#menu-overflow > li > .sub-menu {
	right: unset;
}

#primary-menu > .menu-item-has-children:hover > a {
  box-shadow: inset 0 -1px 0 0 var(--accent);
}

.main-navigation ul ul li a {
  padding: 0;
  border-radius: 0;
  font-family: var(--font-reg);
  font-size: 16px !important;
  font-weight: 400;
  background-color: transparent !important;
}

.main-navigation ul ul li a:hover {
  background-color: transparent !important;
}

.menu-item-has-children .sub-menu li a,
.primary-menu-overflow .sub-menu li a {
  display: block;
	padding: 8px 0;
}

#primary-menu .menu-item-has-children .sub-menu::after,
.primary-menu-overflow .sub-menu::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  left: -5000% !important;
  right: unset !important;
  width: 10000vw;
  height: 100%;
  background: var(--white);
}

.js-navbar-fixed.top .main-navigation ul ul {
  top: 100%;
  bottom: unset;
}

.js-navbar-fixed.top .main-navigation ul ul:after {
  top: 0;
  bottom: unset;
}

.modal-openned .main-navigation ul li:hover > ul {
  display: none !important;
}

@media (min-width: 768px) {
  #primary-menu > li > .sub-menu .menu-item-has-children > a {
    position: relative;
    z-index: 20;
    display: flex;
    align-items: center;
  }

  #primary-menu > li > .sub-menu .menu-item-has-children > a::after {
    content: "+";
    display: block;
    margin-left: 10px;
  }

  #primary-menu > li > .sub-menu .menu-item-has-children
  > .sub-menu {
    padding: 0 20px;
    padding-bottom: 32px;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 100%;
    display: block;
    visibility: hidden;
    opacity: 0;
  }

  #primary-menu > li > .sub-menu .menu-item-has-children:hover > .sub-menu {
    visibility: visible;
    opacity: 1;
  }
}

/* Mobile menu media query */
@media (max-width: 1024px) {
  #primary-menu {
		display: block;
	}

	.toggled .primary-menu-overflow {
    border-top: none !important;
  }

  .primary-menu-overflow:hover > li {
    box-shadow: none;
  }

  .main-navigation {
    position: static;
		z-index: 100;
  }

	.main-navigation .menu-primary-menu-container {
		display: none; /* override navigation.scss with a lower size media query */
		position: absolute;
		right: 0;
		top: 4em;
		width: 100%;
		z-index: 1;
	}

	.main-navigation .menu-primary-menu-container.toggled {
		display: block; /* override navigation.scss with a lower size media query */
		position: absolute;
	}

  .main-navigation .menu-primary-menu-container {
    top: 100% !important;
    background-color: var(--bg-blue) !important;
    color: var(--white) !important;
    min-height: 100vh !important;
  }

  #primary-menu > li.menu-item-has-children,
  #primary-menu .sub-menu > li.menu-item-has-children,
  #menu-overflow > li > ul > li.menu-item-has-children,
  #menu-overflow > li > ul .sub-menu > li.menu-item-has-children {
    padding: 0 !important;
  }

  #primary-menu > li.menu-item-has-children > a,
  #primary-menu .sub-menu > li.menu-item-has-children > a,
  #menu-overflow > li > ul > li.menu-item-has-children > a,
  #menu-overflow > li > ul .sub-menu > li.menu-item-has-children > a {
    width: calc(100% - 40px) !important;
    padding: 18px 20px !important;
    color: var(--white) !important;
    font-family: var(--font-cond) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
  }

  #primary-menu > li.menu-item-has-children:hover > a,
  #primary-menu .sub-menu > li.menu-item-has-children,
  #menu-overflow > li > ul > li.menu-item-has-children:hover > a,
  #menu-overflow > li > ul .sub-menu > li.menu-item-has-children {
    color: var(--white) !important;
    box-shadow: none !important;
    text-decoration: none;
  }

  .toggled #primary-menu > li.menu-item-has-children,
  .toggled #primary-menu .sub-menu > li.menu-item-has-children,
  .toggled #menu-overflow > li > ul > li.menu-item-has-children,
  .toggled #menu-overflow > li > ul .sub-menu > li.menu-item-has-children {
    border-top: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5) !important;
  }

  #primary-menu .sub-menu,
  #menu-overflow > li > ul .sub-menu {
    padding: 0 !important;
  }

  #primary-menu .sub-menu > li,
  #primary-menu .sub-menu > li:last-child,
  #menu-overflow > li > ul .sub-menu > li,
  #menu-overflow > li > ul .sub-menu > li:last-child {
    border: none !important;
    text-transform: initial !important;
    margin-bottom: 14px !important;
  }

  #primary-menu .sub-menu > li.menu-item-has-children,
  #primary-menu .sub-menu > li.menu-item-has-children:last-child,
  #menu-overflow > li > ul .sub-menu > li.menu-item-has-children,
  #menu-overflow > li > ul .sub-menu > li.menu-item-has-children:last-child {
    margin-bottom: 0 !important;
  }

  #menu-overflow > li > ul > li.menu-item-has-children > a {
    text-transform: uppercase !important;
  }

  #primary-menu > li,
  #menu-overflow > li > ul > li,
  #menu-overflow > li > ul > li a,
  #menu-overflow > li > ul > .sub-menu > li a {
    border: none !important;
    text-transform: initial !important;
    margin-bottom: 0 !important;
    padding-bottom: 14px;
  }

  #primary-menu .sub-menu > li,
  #menu-overflow > li > ul .sub-menu > li,
  #menu-overflow > li > ul > li {
    margin-top: 14px !important;
    padding: 0;
  }

  #primary-menu .sub-menu > li.menu-item-has-children,
  #primary-menu .sub-menu > li:first-child,
  #menu-overflow > li > ul .sub-menu > li.menu-item-has-children,
  #menu-overflow > li > ul > li.menu-item-has-children,
  #menu-overflow > li > ul .sub-menu > li:first-child,
  #menu-overflow > li > ul > li:first-child {
    margin-top: 0 !important;
  }

  #primary-menu > li:last-child,
  #menu-overflow > li > ul > li:last-child {
    padding-bottom: 0 !important;
  }

  #primary-menu .sub-menu > li > a,
  #primary-menu li > a,
  #menu-overflow > li > ul .sub-menu > li > a,
  #menu-overflow > li > ul li > a {
    padding: 0 !important;
    color: var(--light-grey) !important;
    font-weight: 400 !important;
    font-family: var(--font-red) !important;
  }

  #primary-menu .sub-menu > li > a,
  #menu-overflow > li > ul .sub-menu > li > a {
    padding-left: 28px !important;
  }

  #primary-menu .sub-menu > li:hover > a,
  #primary-menu > li:hover > a,
  #menu-overflow > li > ul .sub-menu > li:hover > a,
  #menu-overflow > li > ul > li:hover > a {
    text-decoration: underline !important;
  }

  #primary-menu .sub-menu > li.menu-item-has-children:hover > a,
  #primary-menu > li.menu-item-has-children:hover > a,
  #menu-overflow > li > ul .sub-menu > l.menu-item-has-childreni:hover > a,
  #menu-overflow > li > ul > li.menu-item-has-children:hover > a {
    text-decoration: none !important;
  }

  #menu-overflow > li > ul > li > a {
    padding-left: 16px !important;
  }
}

.main-navigation .current-menu-ancestor>a, .main-navigation .current-menu-ancestor>a:visited, .main-navigation .current-menu-parent>a, .main-navigation .current-menu-parent>a:visited, .main-navigation .current-menu-item>a, .main-navigation .current-menu-item>a:visited {
    color: #0044b5;
}
