.navbar-collapse, .navbar-collapse.collapsing, .navbar-collapse.collapse.show{
	overflow: auto;
	position: fixed;
	z-index: 1000;
	top: 0;
	right: 0;
	width: auto;
	height: auto !important;
	max-height: 100vh !important;
	max-height: 100svh !important;
	transition: opacity .3s ease;

	@media (max-width: 575px){
		width: 100%;
	}
}
.navbar-collapse::before{
	--icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" fill="none" viewBox="0 0 48 48"><path stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M36 12 12 36m0-24 24 24"/></svg>');
	content: '';
	width: 48px;
	aspect-ratio: 1;
	-webkit-mask: var(--icon) no-repeat center/contain;
	mask: var(--icon) no-repeat center/contain;
	background: currentColor;
	transition: background-color .3s ease;
	position: absolute;
	top: 26px;
	right: 40px;
	cursor: pointer;

	@media (max-width: 575px){
		top: 16px;
		right: calc( var(--bs-offset) - 12px );
	}
}
.navbar-collapse.collapse:not(.show){
	display: none;
	opacity: 0;
}
.menu-open .navbar-collapse{
	display: block;
	opacity: 1;
	animation: fadeInFromNone 300ms ease;
}
.menu-open.menu-closing .navbar-collapse{
	opacity: 0;
}

@keyframes fadeInFromNone {
	0% {
		display: none;
		opacity: 0;
	}
	1% {
		display: block;
		opacity: 0;
	}
	100% {
		display: block;
		opacity: 1;
	}
}

[data-type="acf/navbarcollapse"] .navbar-collapse,
[data-type="acf/navbarcollapse"] .collapse:not(.show){
	position: static;
	display: block;
	height: auto !important;
	transform: none;
	opacity: 1;
}
[data-type="acf/navbarcollapse"] a{
	pointer-events: none;
}