body:not(.wp-admin):not(.block-editor-iframe__body):not(.editor-styles-wrapper) {

	@media screen and (max-width: 1020px) {

		.hide-on-mobile {
			display: none !important;
		}

	}

	@media screen and (min-width: 1021px) {

		.hide-on-desktop {
			display: none !important;
		}

	}

}

@media screen and (max-width: 1020px) {

	.wp-block-site-logo img {
		max-width: 120px;
	}



	.wp-block-navigation__container {
		display: none;
	}


	.wp-block-navigation.items-justified-right {
		--navigation-layout-justification-setting: flex-start;
		--navigation-layout-justify: flex-start;
	}

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

	/* Open mobile overlay: fill entire viewport (works with header scroll-up/scroll-down) */
	.wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		min-width: 100vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		margin: 0 !important;
		padding: 32px 0 0 0 !important;
		z-index: 10000 !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		box-sizing: border-box !important;
		transform: none !important;
		background-color: #E9F3F4 !important;

		.wp-block-site-logo {
			margin-bottom: 26px;
		}
	}


	.admin-bar .wp-block-navigation__responsive-container.is-menu-open {
		top: 32px !important;
		height: calc(100vh - 32px) !important;
		height: calc(100dvh - 32px) !important;
	}

	.wp-block-navigation {

		/* When menu is open, remove parent constraints. */
		&:has(.wp-block-navigation__responsive-container.is-menu-open) {
			position: fixed !important;
			inset: 0 !important;
			top: 0 !important;
			left: 0 !important;
			right: 0 !important;
			bottom: 0 !important;
			padding: 0 !important;
			margin: 0 !important;
			max-width: 100vw !important;
			width: 100vw !important;
			z-index: 1000 !important;
		}

		.wp-block-navigation__responsive-container-open {
			display: flex !important;
			justify-content: center !important;
			align-items: center !important;

			svg {
				width: 28px;
				height: 28px;
				fill: var(--wp--preset--color--custom-main-600);
				margin: 2.8px 0 0 0;
			}
		}

		.wp-block-navigation__responsive-container {
			padding: 40px;

			background-color: #E9F3F4 !important;
		}

		.wp-block-navigation__responsive-container.is-menu-open {
			margin-left: 0 !important;
			margin-right: 0 !important;
			padding: 0 !important;
			width: 100vw !important;
			max-width: 100vw !important;
			min-width: 100vw !important;
			overflow-x: hidden !important;
			left: 0 !important;
			right: 0 !important;

			.wp-block-navigation__responsive-container-close {
				width: 38px;
				height: 38px;
				right: 10px;
				top: 30px;

				svg {
					width: 28px;
					height: 28px;

					fill: var(--wp--preset--color--custom-main-600) !important;

					* {
						fill: var(--wp--preset--color--custom-main-600) !important;
					}
				}
			}

			.wp-block-navigation__responsive-container-content {
				justify-content: start;
				width: 100%;
				align-items: start;
				padding: 35px 20px 40px 20px;
				box-sizing: border-box;
			}

			.wp-block-navigation__responsive-container-content {

				ul.wp-block-navigation__container {
					gap: 24px !important;
					width: 100%;

					li {
						width: 100%;

						&.wp-block-navigation-link {
							border-bottom: 1px solid #278895;

							a {
								font-weight: 400;
							}
						}

						a {
							font-size: 26px;
							color: #040F10;
						}
					}
				}

				ul.wp-block-navigation__submenu-container {
					padding-top: 0 !important;
					padding-left: 0;

					li a {
						font-size: 20.2px;
					}
				}
			}

		}
	}
}

body.admin-bar {
	@media screen and (max-width: 1020px) {
		.wp-block-navigation {
			& .wp-block-navigation__responsive-container.is-menu-open {
				.wp-block-navigation__responsive-container-content {
					padding-top: 2.5px !important;
				}

				.wp-block-navigation__responsive-container-close {
					top: -1px !important;
				}
			}
		}
	}
}


.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible,
.wp-block-navigation .wp-block-navigation-item__content[aria-current="page"],
.wp-block-navigation .current-menu-item>.wp-block-navigation-item__content,
.wp-block-navigation .current-menu-ancestor>.wp-block-navigation-item__content,
.wp-block-navigation .current_page_item>.wp-block-navigation-item__content,
.wp-block-navigation .current_page_ancestor>.wp-block-navigation-item__content {
	color: #278895;
}
