/* ----- BEGIN Lots of navigation styles ----- */


@media (min-width: 600px) and (max-width: 959px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: block !important;
	}

	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none !important;
	}
}


/* long menu items */
.wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container {
	min-width: 260px;
}

/* reset parent theme mobile nav */
@media (max-width: 390px) {
	.wp-block-site-logo {
		max-width: 180px;
	}
}

html:not(.has-modal-open) .open-menu-dont-hide {
	display: none;
}

.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--style--root--padding-top,2rem) var(--wp--style--root--padding-right,2rem) var(--wp--style--root--padding-bottom,2rem) var(--wp--style--root--padding-left,2rem) !important;
}

@media (max-width: 781px) {
	.has-modal-open .wp-block-navigation__responsive-container-open {
		position: absolute;
		top: 34px;
		right: 15px;
	}
	html:not(.has-modal-open) .nav-main {
		position: absolute;
		right: 15px;
	}
}

/*@media (max-width: 781px) {*/
@media (max-width: 959px) {

	/* Safari double-click zoom fix */
	button { touch-action: manipulation; }

	.desktop-center-next-item + .wp-block-navigation-item {
		order: -1;
	}

	.custom-logo-link:focus {
		outline: none;
	}

	.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog {
		margin-top: 0;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		padding-top: 0;
	}

	/* How mobile wp block nav should work */
	.has-modal-open .wp-block-navigation__responsive-container-close {
		top: 0;
	}
	.has-modal-open .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		display: block; /* override block css */
		position: absolute;
		right: 0;
		color: #000;
		width: 20px;
		height: 15px;
	}
	.has-modal-open .wp-block-navigation .wp-block-navigation-item {
		min-width: 260px;
		max-width: 260px;
	}
	.has-modal-open .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item {
		min-width: 220px;
		max-width: 220px;
		padding: 5px 0;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
		align-items: normal;
		background-color: inherit;
		color: inherit;
		display: flex;
		flex-direction: column;
		height: 0;
		left: -1px;
		opacity: 0;
		overflow: hidden;
		position: absolute;
		top: 100%;
		transition: opacity .1s linear;
		visibility: hidden;
		width: 0;
		z-index: 2;
	}
	.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true] + .wp-block-navigation__submenu-container {
		border: none;
		height: auto;
		min-width: 200px;
		opacity: 1;
		overflow: initial;
		padding-left: 2rem;
		padding-right: 2rem;
		position: static;
		visibility: visible;
		width: auto;
	}

}

@media (min-width: 960px) {

	.desktop-margin-left-auto {
		margin-left: auto;
	}
	/* classes on site logo in navigation are applied not on <li> but the child of that. */
	.desktop-center-next-item + .wp-block-navigation-item {
		position: absolute;
		margin-left: 50%;
		transform: translateX(-50%);
	}
}


.nav-button a {
	border: 1px solid #000;
	min-width: 140px;
	padding: 10px 12px !important;
	text-align: center;
}


/* WP 6.3 Lacking: Can't set nav link hover color */
.wp-block-navigation-item:not(.menu-button) a:hover {
	color: var(--wp--preset--color--dark-gray);
}

.wp-block-navigation__responsive-container-close {
	right: -20px;
	top: 20px;
}

/*--- Chris --- */
.main-menu .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container  {
	background-color: #17346E;
}
.main-menu .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation-item__content  {
	color: var(--wp--preset--color--navy) !important;
}

.main-menu .wp-block-navigation__responsive-container-content {
	justify-content: flex-end;
}
.main-menu .wp-block-navigation__responsive-container-open {
	margin-left: auto;
}
.main-menu .wp-block-navigation__responsive-container-close svg {
	fill: #17346E !important;
}
/*--- END Main menu / navigation customization --- */

/* Site Logo Custom */
.site-logo{
	position: relative;
	height: 5em;
}

.site-logo > div.wp-block-site-logo {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -20%);
	height: 110%;
	aspect-ratio: 1 / 1;
}

.site-logo > div.wp-block-group{
	position: absolute;
	top: 100%;
	left: 50%;
	width: calc(135% + 2rem);
	transform: translate(-50%, 0);
	background-color: #fff;
	padding: 0 .5em!important;
	z-index: 1;
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
	overflow: hidden;
}

/* Search */
.product-search{
	width: 40%;
  }
  .product-search div {
	position: relative;
	width: 100%;
	max-width: unset;
  }
  .product-search button[type=submit],
  .product-search input{
	background-color: transparent;
	border: 0;
	top: 50%;
	left: 0;
	position: absolute;
	transform: translateY(-50%);
  }
  
  .product-search button[type=submit]{
	margin: 0;
	margin-left: 5px;
	padding: .5em;
  }
  
  .product-search input{
	width: 100%;
	border-radius: 50px;
	padding-left: 3em;
  }
  
  .product-search input:active,
  .product-search input:focus,
  .product-search input:hover{
	border: 0;
	outline: 0;
	background-color: var(--wp--preset--color--sage-green);
  }