/* added by TP */

header ul#primary-menu li.menu-item:first-child:hover ul.sub-menu {
  display: flex;
}
header ul#primary-menu li.menu-item:first-child ul.sub-menu > li {
  margin-bottom: 10px;
}
header ul#primary-menu li.menu-item:first-child ul.sub-menu > li:last-child {
  margin-bottom: 6px;
}

/**************/

#primary-menu {
	padding: 0 277px 0 0;
	position:relative;
}

#primary-menu > li {
	position: relative;
	font-weight: normal;
	margin-left: 7%;
}

#primary-menu > li:first-of-type {
	margin-left: 0;
}

#primary-menu li a {
	display: inline-block;
}

#primary-menu > li > .sub-menu {
	display: none;
	position: absolute;
	z-index: 1;
	background-color: white;
	padding: 28px;
}

#primary-menu > li > .sub-menu > li {
	display: inline-block;
}

#primary-menu > li:hover > .sub-menu {
	display: flex;
	flex-direction: column;
	grid-template-rows: auto auto auto auto auto;
	/*grid-row-gap: 5px;*/
	grid-column-gap: 35px;
	grid-template-columns: 1fr;
	white-space: nowrap;
	max-height: 510px;
	grid-auto-flow: column;
	flex-wrap: wrap;
	left: -28px;
	right: auto;
}

#primary-menu > li.right:hover > .sub-menu {
	right: -28px;
	left: auto;
}

#primary-menu li:hover .sub-menu a {
	min-width: 188px;
	font-size: 14px;
	color: var(--darkblue);
	font-weight: 300;
}

#primary-menu li:hover .sub-menu a:hover {
	font-weight: normal;
}

#primary-menu li.demo_btn a {
  color: var(--navy);
  line-height: 35px;
  background-color: var(--light-blue-too);
  padding: 0 20px;
  border-radius: 27px;
  margin: 6px 0; }
  #primary-menu li.demo_btn a:hover {
    color: var(--navy);
    background-color: white; }

header#masthead.active li.demo_btn a {
  color: white !important;
  line-height: 35px;
  background-color: var(--midblue);
  padding: 0 20px;
  border-radius: 27px;
  margin: 6px 0; }
  header#masthead.active li.demo_btn a:hover {
    color: white;
    background-color: var(--bhoverblue); }

.sub-menu {
	padding: 0;
}

.sub-menu .sub-menu {
	list-style: none;
	margin-top: 20px;
	text-transform: none;
	padding: 0;
	font-weight: 300;
}

.sub-menu .sub-menu a:hover {
	font-weight: 400;
}

.sub-menu li {
	margin-bottom: 10px;
}

.sub-menu li:last-of-type {
	margin-bottom: 0;
}

header#masthead {
	position: -webkit-sticky;
	position: sticky;
	background-color: transparent;
	z-index: 100;
	top: 0px;
	transition: background-color .2s;
}

aside.banner {
	height: 45px;
	width: 100%;
	background-color: var(--darkblue);
	color: white;
	font-size: 14px;
	font-weight: 300;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.54;
	letter-spacing: normal;
	text-align: left;
	line-height: 45px;
	position: relative;
	z-index: 2;
}

aside.banner a {
	color: white;
	font-weight: normal;
}

aside.banner .content {
	padding: 0;
}

header .header-bar {
	margin-top: 27px;
	display: flex;
	justify-content: space-between;
}

header .header-logo {
	width: 222px;
	position: relative;
	z-index: 1;
	margin-right: 55px;
}

header .header-logo img {
	max-width: 222px;
	-webkit-filter: grayscale(100%) brightness(100);
	        filter: grayscale(100%) brightness(100);
	transition: -webkit-filter .2s;
	transition: filter .2s;
	transition: filter .2s, -webkit-filter .2s;
}

header ul.menu {
	list-style: none;
	display: flex;
	justify-content: center;
	font-size: 14px;
	text-transform: uppercase;
}
#primary-menu > li:last-child {
	position: absolute;
    top: 0;
    right: 0;
	flex-grow: 1;
    display: flex;
    justify-content: flex-end;
}

header nav {
	flex-grow: 1;
	margin-left: 22px;
}

header #primary-menu > li > a {
	line-height: 47px;
}

header #primary-menu > li > a:hover {
	color: var(--ltblue);
}

header ul.menu > li {
	display: inline-block;
}

header ul.menu li a {
	color: white;
	text-decoration: none;
	position: relative;
	z-index: 10;
}

header#masthead.active {
	background-color: white;
	color: var(--darkblue);
	box-shadow: -0.1px 1px 9px 0 rgba(0, 0, 0, 0.56);
	padding: 13px 0 0;
}

header#masthead.active ul.menu li a, body.single header#masthead.inert ul.menu li a {
	color: var(--darkblue);
}

header#masthead.active .header-logo img, body.single header#masthead.inert .header-logo img {
	color: var(--darkblue);
	-webkit-filter: none;
	        filter: none;
}

body.single header#masthead {
	padding-bottom: 20px;
}

body.single header#masthead.active {
	padding-bottom: 0px;
}

header.active .header-bar {
	margin-top: 0px;
}

body.single section.hero {
	margin-top: -98px;
}

.mobile-menu {
	display: none;
}

.current_page_item > a {
	font-weight: normal;
}

#primary-menu > li.current_page_item > a {
	font-weight: bold;
}

@media (max-width: 1080px) {
	#primary-menu > li:last-child {
		position: static;
		justify-content: flex-start;
	}
	header#masthead {
		width: 100%;
		overflow: hidden;
		background-color: white;
	}
	header#masthead.active {
		padding: 0;
	}
	header#masthead .content {
		max-width: 800px;
	}
	header .header-bar {
		margin-top: 0px;
		padding: 16px;
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-rows: 1fr auto;
		gap: 1px 1px;
		grid-template-areas: "header-logo menu-button" "navigation navigation";
	}
	header .content {
		width: 100%;
	}
	.header-bar > a {
		grid-area: header-logo;
	}
	header .header-logo {
		margin: 0;
	}
	header .header-logo img {
		-webkit-filter: brightness(1);
		        filter: brightness(1);
		width: auto;
	}
	.mobile-menu {
		display: block;
		grid-area: menu-button;
		font-size: 24px;
		line-height: 44px;
	}
	.mobile-menu:hover {
		cursor: pointer;
		color: var(--navy);
	}
	nav.main-navigation {
		grid-area: navigation;
		margin: 0;
		max-height: 0px;
		overflow: hidden;
		transition: .3s max-height;
	}
	#primary-menu > li > .sub-menu {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		color: var(--darkblue);
		position: static;
		grid-row-gap: 20px;
	}
	#primary-menu > li:hover > .sub-menu {
		display: flex;
		grid-row-gap: 20px;
	}
	#primary-menu > li > .sub-menu > li {
		display: block;
		margin: 0;
		width: 50%;
		min-width: 300px;
	}
	nav.main-navigation.open {
		max-height: 500px;
		overflow: auto;
	}
	header#masthead ul.menu {
		flex-direction: column;
	}
	header#masthead ul.menu li a {
		color: var(--darkblue);
	}
	#primary-menu > li {
		margin-left: 0px;
	}
}

@media (max-width: 800px) {
	#primary-menu > li {
		margin-left: 0px;
	}
	.header-logo {
		height: 44px;
	}
	aside.banner {
		padding: 12px 16px;
		line-height: unset;
		height: unset;
	}
	#primary-menu > li > .sub-menu {
		padding: 0px 10px 10px 37px;
	}
	header ul.menu li a {
		font-weight: 300;
	}
	header ul.menu li.un-clickable > a {
		color: var(--dkgray) !important;
	}
}
