body.stop-scrolling {
  height: 100% !important;
  overflow: hidden !important;
}

/* MENU CSS */
#schedule-menu.schedule-menu{
	--bg-color: rgba(255,255,255,.75);
	--txt-color: rgba(0,0,0,.9);
	--border-color: rgba(0,0,0,.1);
	--selected-color: SelectedItem;
	--selected-text-color: SelectedItemText;
}


@media (prefers-color-scheme: dark) {
	#schedule-menu.schedule-menu{
		--bg-color: rgba(0,0,0,.75);
		--txt-color: rgba(255,255,255,.9);
		--border-color: rgba(255,255,255,.1);
	}
}


#schedule-menu.schedule-menu{
	
	position: fixed;
	display: none;
	grid-gap:.5em; 
	grid-auto-flow: dense;
	grid-template-columns: repeat(2, auto);
	grid-template-rows: repeat(3, auto);

	list-style: none;
	overflow: auto;
	padding: .5em;
	margin: 0;
	z-index: 9999999999999;
	box-sizing: content-box;
	border-radius: 5px;
	font-size: small;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	text-align: center;
	backdrop-filter: blur(5px);
	cursor: pointer;
	box-shadow: 0 0 5px 0 rgba(0,0,0,.75);

	border: 1px solid rgba(0,0,0,.5);
	background-color: var(--bg-color);
	color: var(--txt-color);
	width: min-content;

	user-select: none;
	
}


#schedule-menu.schedule-menu.visible, #schedule-menu.schedule-menu:hover, #schedule-menu.schedule-menu:focus-within{
	display: grid !important;
	position: fixed !important;
}



#schedule-menu.schedule-menu>li{
	font-size: inherit;
	padding: 0;
	border: 1px solid rgba(0,0,0,.5);
	box-shadow: 0 0 1px 0 rgba(255,255,255,.25) inset;
	border-radius: .5em;
	min-width: 20em;
}


#schedule-menu.schedule-menu>li.schedule-input-description{
	grid-column: 2 span;
	grid-row: 4;
	font-size: small;

	max-width: 100%;
	white-space: pre-wrap;
	word-wrap: normal;

	border: 0;
	box-shadow: 0;
	padding: 1em;
}

#schedule-menu.schedule-menu>li.schedule-input-description sup{
	font-size: 0.5em;
	line-height: 1em;
	vertical-align: super;
	color: var(--txt-color);
}



#schedule-menu.schedule-menu h4{
	margin: 0;
	padding: .25em;
	font-weight: normal;
	text-transform: uppercase;
	min-width: 1em;
	line-height: 1.5em;
	font-size: .65em;
	border-top: .5px solid var(--bg-color);;
	cursor: auto;
	border-bottom: .5px solid var(--border-color);
	background-color: rgba(125,125,125,.2);
	border-radius: 5px 5px 0 0;
}

#schedule-menu.schedule-menu ul li:first-child h4{
	border-top: 0;
}




#schedule-menu.schedule-menu fieldset{
	display: grid;
	grid-auto-flow: dense;
	padding: 0;
	margin: 0;
	border: 0;
	grid-gap: 0;
	grid-template-rows: 1fr;
	min-height: 1em;
	min-width: 50px;
	
}


#schedule-menu.schedule-menu label{
	border-width: 0;
	border-color: var(--border-color);
	border-style: solid;
	padding: .5em .25em;
	position: relative;
	cursor: pointer;
	display: block;
	font-size: smaller;
	
}





#schedule-menu.schedule-menu label:hover{
	background-color: var(--selected-color);
	color: var(--selected-text-color);
	border-color: var(--selected-color);
	opacity: 1 !important;
	filter: invert(1) sepia(1);
	
}

#schedule-menu.schedule-menu label:has(:checked){
	background-color: var(--selected-color);
	color: var(--selected-text-color);
	border-color: var(--selected-color);
	opacity: 1 !important;
	display: block;
	filter: invert(0) sepia(0) !important;
}



#schedule-menu.schedule-menu fieldset:has(:checked)>label{
	opacity: .5;
}


#schedule-menu.schedule-menu input{
	font-size: 1px;
	height: 0;
	margin: 0;
	position: absolute;
	appearance: none;
}


#schedule-menu .months fieldset{
	grid-template-columns: repeat(6, 1fr);
	grid-template-rows: repeat(2, 1fr);
}

#schedule-menu .weekdays fieldset{
	grid-template-columns: repeat(7, 1fr);
}

#schedule-menu .days fieldset{
	grid-template-columns: repeat(10, 1fr);
	grid-template-rows: repeat(3, 1fr);
}

#schedule-menu .hours fieldset{
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: repeat(2, 1fr);
}

#schedule-menu .minutes fieldset{
	grid-template-columns: repeat(6, 1fr);
	grid-template-rows: repeat(2, 1fr);
}

#schedule-menu .days label:last-child{
	grid-column: 4 / 4 span;
}

#schedule-menu .months{
	grid-column: 2;
	grid-row: 1;
}
#schedule-menu .days{
	grid-column: 2 ;
	grid-row: 2 / 2 span;
}

#schedule-menu .weekdays{
	grid-column: 1;
	grid-row: 3;
}

#schedule-menu .hours{
	grid-column: 1;
	grid-row: 2;
}

#schedule-menu .minutes{
	grid-column: 1;
	grid-row: 1;
}



/* Responsesive styles */
@media only screen and (max-width: 500px)  {
	#schedule-menu.schedule-menu{
		grid-template-columns: 1fr !important;
		grid-template-rows: repeat(5, auto) !important;
		overflow: auto !important;
	}

	#schedule-menu.schedule-menu>li{
		grid-column: 1 span !important;
		grid-row: auto !important;
		
	}

	
}