.SideMenuContainer{
	position: sticky;
	top: 0px;
}

.SideMenu{
	position: fixed;
	left: 0px;
	top: 49px;
	bottom: 0px;
	display: flex;
	flex-flow: column;
	/*padding: 5px;*/
	width: 350px;
	box-sizing: border-box;
	background-color: rgb(33,37,41);
	border-right: 1px solid var(--input-bordercolor);
	border-right: 1px solid #333333;
	border-right: 2px solid #666666;
	font-size: 1.2em;
}
.SearchMenuBar{
	border-bottom: 1px solid var(--input-bordercolor);
	padding: 10px 5px;
	margin-bottom: 5px;
	display: flex;
	gap: 5px;
	height: 30px;
	align-items: center;
}
.SearchMenuBar label{
	margin-left: 5px;
}
.SearchMenuBar input{
	flex: 1;
	border: 0px;
}

#menMainSide{
	flex: 1;
	overflow: auto;
	--self-height: 0px;
}

#menMainSide,
#menMainSide ul{
	list-style: none;
	margin: 0px;
	padding: 0px;
}
#menMainSide ul{
	padding-left: 25px;
}

#menMainSide li > a{
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 5px;
	min-height: 38px;
	box-sizing: border-box;
	margin: 5px 0px;
}
#menMainSide li > a > font-icon{
	font-size: 2em;
}

#menMainSide ul{
	max-height: 0px;
	overflow: hidden;

	animation-name: HeightCollapse;
	animation-duration: 0.3s;
	animation-timing-function: linear;
	animation-delay: 0s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

#menMainSide *.Active {
	background-color: #288a7a;
}

/*#menMainSide li:hover > div > ul,*/
#menMainSide li.Toggled > div > ul {
	animation-name: HeightExpand;
}

#menMainSide .MenuSeparator:not(:first-child):not(:last-child){
	border-bottom: 1px solid #f0f0f030;
}

/* #region Animazioni */
@keyframes HeightExpand {
	0%   {
		max-height: 0px;
	}
	99%  {
		max-height: var(--self-height);
	}
	100% {
		max-height: fit-content;
	}
}
@keyframes HeightCollapse {
	0%   {
		max-height: var(--self-height);
	}
	100% {
		max-height: 0px;
	}
}
      
@keyframes WidthExpand {
	0%   {
	      width: 0px;
	}
	99%  {
	      width: var(--self-width);
	}
	100% {
	      width: fit-content;
	}
}
@keyframes WidthCollapse {
	0%   {
	      width: var(--self-width);
	}
	100% {
	      width: 0px;
	}
}
/* #endregion */

/* #region EXPAND COLLAPSE SE HANNO SOTTOMENU */
/* serve per creare lo spazio in mezzo */
.SideMenu:not(.Compact) #menMainSide li > a.WithSubmenu:before{
	content: '';
	order: 100;
	flex: 1;
}
.SideMenu:not(.Compact) #menMainSide li > a.WithSubmenu:after{
	content: 'expand_more';
	font-family: var(--font-icon) !important;
	font-size: 2em;
	order: 101;
	font-variant: initial;
}
.SideMenu:not(.Compact) #menMainSide li.Toggled > a.WithSubmenu:after{
	content: 'expand_less';
}

/* width */
#menMainSide::-webkit-scrollbar {
	width: 10px;
}
/* Track */
#menMainSide::-webkit-scrollbar-track {
	background: #f1f1f1; 
}
/* Handle */
#menMainSide::-webkit-scrollbar-thumb {
	background: #888; 
}
/* Handle on hover */
#menMainSide::-webkit-scrollbar-thumb:hover {
	background: #555; 
}
/* #endregion */




.Toggler{
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 5px;

	border-top: 1px solid var(--input-bordercolor);
	margin-top: 5px;
}
.Toggler:before{
	content: 'chevron_left';
	content: "keyboard_double_arrow_left";
	font-family: var(--font-icon) !important;
	font-size: 2em;
}
.SideMenu.Compact .Toggler:before{
	content: 'chevron_right';
	content: "keyboard_double_arrow_right";
}
.Toggler:after{
	content: attr(data-collapse);
}
.SideMenu.Compact .Toggler:after{
	content: attr(data-expand);
}

@media only screen and (min-width: 501px) {
	.SideMenu.Compact{
		width: auto;
	}
	.SideMenu.Compact #menMainSide ul,
	.SideMenu.Compact #menMainSide a > text,
	.SideMenu.Compact .SearchMenuBar input{
		display: none;
	}

	.SideMenu.Compact .Toggler:after{
		content: "";
		display: none;
	}
}


@media only screen and (max-width: 500px) {
	.SideMenuContainer{
		position: fixed;
	}
	.SideMenuContainer {
		border: 0px;
	}
	.SideMenu{
		width: 100%;
		top: 100px;
	}
	#menMainSide{
		/* come lo chiudo? di solito lo fa il collapse */
	}

	.SideMenu .Toggler {
		display: none;
	}

	.SideMenu{
		top: 80px;
		top: 45px;
		left: 0px;
		transition: left 1s;
		box-sizing: border-box;
		overflow: hidden;
		max-width: 100vw;
	}
	.SideMenu.Compact {
		left: -100%;
	}
}

header ~ .MainPageContent{
	padding-left: 10px;
}
header ~ .MainPageContent .MainNav{
	margin-left: -10px;
	padding-left: 20px;
}

@media only screen and (min-width: 501px) {
	header ~ .MainPageContent{
		margin-left: 350px;
	}
	header:has(.SideMenu.Compact) ~ .MainPageContent{
		margin-left: 42px;
	}
}