#menus {
	position: fixed;
	top: 20px;
	/* IE */
	right: 20px;
	/* IE */
	--menus-posx: 20px;
	--menus-posy: 20px;
	z-index: 9;
	padding: 5px;
}

#menus.top-right {
	top: var(--menus-posx);
	right: var(--menus-posy);
}

#menus.bottom-right {
	bottom: var(--menus-posx);
	right: var(--menus-posy);
}

#menus.top-left {
	top: var(--menus-posx);
	left: var(--menus-posy);
}

#menus.bottom-left {
	bottom: var(--menus-posx);
	left: var(--menus-posy);
}

#menus.top-middle {
	top: var(--menus-posx);
}

#menus.bottom-middle {
	bottom: var(--menus-posx);
}

#menus.middle-right {
	right: var(--menus-posy);
}

#menus.middle-left {
	left: var(--menus-posy);
}

#menus .header {
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	position: absolute;
	border-radius: 52px;
	/* = this.height */
	background-color: rgba(85, 85, 85, 0.64);
	-webkit-backdrop-filter: blur(20px) saturate(180%);
	backdrop-filter: blur(20px) saturate(180%);
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
	cursor: move;
}

#menus[class*="top-"] .menu,
#menus[class*="bottom-"] .menu

/*, #menus[class^="top-"] .menu, #menus[class^="bottom-"] .menu*/
	{
	display: inline-block;
}

#menus.middle-left .menu,
#menus.middle-right .menu {
	display: block;
	padding: 2px 0;
}

.menu .header {}

.button {
	position: relative;
	z-index: 20;
	width: 38px;
	border-radius: 50%;
	background-color: #2196F3;
	cursor: pointer;
	text-align: center;
	font-weight: bold;
	color: #fff;
}

@media screen and (min-width: 769px) {
	.button:hover .icon::before {
		opacity: 1;
		color: darkgray;
	}
}

.icon::before {
	line-height: 38px;
	/* set this equal to #dragheader */
	font-size: 23px;
	margin: auto;
	opacity: 0.6;
}

.menu.active .icon::before {
	opacity: 1;
	color: white;
}

.droppanel {
	height: 450px;
	/* IE */
	width: 400px;
	/* IE */
	--droppanel-posx: 51px;
	--droppanel-posy: 51px;
	--droppanel-height: 450px;
	--droppanel-width: 400px;
	display: none;
	position: absolute;
	z-index: 10;
	height: var(--droppanel-height);
	width: var(--droppanel-width);
	max-height: calc(100vh - 100px);
	max-width: calc(100vw - 100px);
	border: 1px solid #d3d3d3;
	border-radius: 4px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
	background-color: rgb(255, 255, 255);
	color: black;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@media (prefers-color-scheme: dark) {
	:root:not(.light) .droppanel {
		background-color: black;
		color: white;
	}
}

:root.dark .droppanel {
	background-color: black;
	color: white;
}

.menu.active .droppanel {
	display: block;
}

#menus.dragging .droppanel {
	display: none;
}

#menus.top-right .droppanel {
	top: 51px;
	top: var(--droppanel-posx);
	right: 0;
}

#menus.bottom-right .droppanel {
	bottom: 51px;
	bottom: var(--droppanel-posx);
	right: 0;
}

#menus.top-left .droppanel {
	top: 51px;
	top: var(--droppanel-posx);
	left: 0;
}

#menus.bottom-left .droppanel {
	bottom: 51px;
	bottom: var(--droppanel-posx);
	left: 0;
}

#menus.top-middle .droppanel {
	top: 51px;
	top: var(--droppanel-posx);
	left: calc(50% - var(--droppanel-width)/2 - 1px);
}

#menus.bottom-middle .droppanel {
	bottom: 51px;
	bottom: var(--droppanel-posx);
	left: calc(50% - var(--droppanel-width)/2 - 1px);
}

#menus.middle-right .droppanel {
	top: calc(50% - var(--droppanel-height)/2 - 1px);
	right: 51px;
	right: var(--droppanel-posy);
}

#menus.middle-left .droppanel {
	top: calc(50% - var(--droppanel-height)/2 - 1px);
	left: 51px;
	left: var(--droppanel-posy);
}

.bubble-arrow {
	position: absolute;
	--arrow-indent: 23px;
	--increment: 42px;
}

#menus.top-right .bubble-arrow {
	top: 0;
	right: calc(23px);
	/*IE*/
	right: calc(var(--arrow-indent) + (var(--nth-last-menu) - 1) * var(--increment));
	/*24 = 48/2, 42 = 38+2+2 */
}

#menus.top-left .bubble-arrow {
	top: 0;
	left: calc(23px);
	/*IE*/
	left: calc(var(--arrow-indent) + (var(--nth-menu) - 1) * var(--increment));
}

#menus.top-middle .bubble-arrow {
	top: 0;
	left: calc(50% - 21px);
	/*IE*/
	left: calc(50% + ((var(--nth-menu) - var(--nth-last-menu)) * var(--increment) / 2));
}

#menus.bottom-right .bubble-arrow {
	bottom: 0;
	right: calc(23px);
	/*IE*/
	right: calc(var(--arrow-indent) + (var(--nth-last-menu) - 1) * var(--increment));
}

#menus.bottom-left .bubble-arrow {
	bottom: 0;
	left: calc(23px);
	/*IE*/
	left: calc(var(--arrow-indent) + (var(--nth-menu) - 1) * var(--increment));
}

#menus.bottom-middle .bubble-arrow {
	bottom: 0;
	left: calc(50% - 21px);
	/*IE*/
	left: calc(50% + ((var(--nth-menu) - var(--nth-last-menu)) * var(--increment) / 2));
}

#menus.middle-right .bubble-arrow {
	top: calc(50% - 21px);
	/*IE*/
	top: calc(50% + ((var(--nth-menu) - var(--nth-last-menu)) * var(--increment) / 2));
	right: 0;
}

#menus.middle-left .bubble-arrow {
	top: calc(50% - 21px);
	/*IE*/
	top: calc(50% + ((var(--nth-menu) - var(--nth-last-menu)) * var(--increment) / 2));
	left: 0;
}

.bba-inner {
	--bba-inner-width: 8px;
	position: absolute;
	border-style: solid;
	border-width: 8px;
	border-radius: 0;
}

#menus[class*="top-"] .bba-inner {
	top: -8px;
	left: -8px;
	border-top-color: transparent;
	border-right-color: transparent;
	border-bottom-color: rgb(255, 255, 255);
	border-left-color: transparent;
	border-top-width: 0;
}

#menus[class*="bottom-"] .bba-inner {
	bottom: -8px;
	left: -8px;
	border-top-color: rgb(255, 255, 255);
	border-right-color: transparent;
	border-bottom-color: transparent;
	border-left-color: transparent;
	border-bottom-width: 0;
}

#menus.middle-right .bba-inner {
	top: -8px;
	right: -8px;
	border-top-color: transparent;
	border-right-color: transparent;
	border-bottom-color: transparent;
	border-left-color: rgb(255, 255, 255);
	border-right-width: 0;
}

#menus.middle-left .bba-inner {
	top: -8px;
	left: -8px;
	border-top-color: transparent;
	border-right-color: rgb(255, 255, 255);
	border-bottom-color: transparent;
	border-left-color: transparent;
	border-left-width: 0;
}

.bba-outer {
	position: absolute;
	border-style: solid;
	border-width: 9px;
	border-radius: 0;
}

#menus[class*="top-"] .bba-outer {
	top: -9px;
	left: -9px;
	border-top-color: transparent;
	border-right-color: transparent;
	border-bottom-color: #d3d3d3;
	border-left-color: transparent;
	border-top-width: 0;
}

#menus[class*="bottom-"] .bba-outer {
	bottom: -9px;
	left: -9px;
	border-top-color: #d3d3d3;
	border-right-color: transparent;
	border-bottom-color: transparent;
	border-left-color: transparent;
	border-bottom-width: 0;
}

#menus.middle-right .bba-outer {
	top: -9px;
	right: -9px;
	border-top-color: transparent;
	border-right-color: transparent;
	border-bottom-color: transparent;
	border-left-color: #d3d3d3;
	border-right-width: 0;
}

#menus.middle-left .bba-outer {
	top: -9px;
	left: -9px;
	border-top-color: transparent;
	border-right-color: #d3d3d3;
	border-bottom-color: transparent;
	border-left-color: transparent;
	border-left-width: 0;
}

.dropcontent {
	height: 100%;
	width: 100%;
	padding: 7px;
	overflow: auto;
	-webkit-overscroll-behavior: contain contain;
	overscroll-behavior: contain contain;
	-webkit-overflow-scrolling: touch;
	/* Support: Safari iOS */
}

#noti .notification-item {
	border-bottom: 1px solid #dddfe2;
	animation: animatezoom 0.5s;
	transition: all 0.4s ease-in-out;
}

#noti .notification-item>a {
	display: block;
}

#noti .notification-item>a>.notification-item-header {
	font-weight: bold;
}

#noti .notification-item .notification-item-content iframe {
	width: auto;
	height: auto;
}

#noti .notification-item:hover {
	background-color: #edf2fa;
}

#noti .noti-footer {
	text-align: right;
}

#noti .notification-item abbr {
	color: #90949c;
	text-decoration: none;
}

#menus .menu:nth-child(2) .bubble-arrow {
	/* change '.bubble-arrow' to '*' */
	--nth-menu: 1;
}

#menus .menu:nth-child(3) .bubble-arrow {
	/* change '.bubble-arrow' to '*' */
	--nth-menu: 2;
}

#menus .menu:nth-child(4) .bubble-arrow {
	/* change '.bubble-arrow' to '*' */
	--nth-menu: 3;
}

#menus .menu:nth-last-child(1) .bubble-arrow {
	--nth-last-menu: 1;
}

#menus .menu:nth-last-child(2) .bubble-arrow {
	--nth-last-menu: 2;
}

#menus .menu:nth-last-child(3) .bubble-arrow {
	--nth-last-menu: 3;
}

.setting-item {
	padding: 5px 0;
	border-bottom: 1px solid rgba(0, 0, 0, .10);
}

.setting-name {
	line-height: 30px;
	padding: 0px 7px 0 0;
	overflow: hidden;
}

#push-info {
	font-style: italic;
}

@media screen and (max-width: 400px) {
	#menuBar {
		position: fixed;
		/*IE + Edge */
		position: sticky;
		position: -webkit-sticky;
		/* Safari */
		top: 8px;
		left: 8px;
		width: 100%;
		/* For IE */
		z-index: 8;
	}

	#menuBar.active {
		position: absolute;
		/* Important! --> if menuBar is active and positioned sticky, 
        this make the text cursor in inner-Input not position right on mobile */
		top: 0;
		left: 0;
		width: 100%;
	}

	#menuBar.active~* {
		display: none;
	}

	#menus {
		position: static;
		top: 0;
		/* IE */
		right: 0;
		/* IE */
		--menus-posx: 0;
		--menus-posy: 0;
		float: right;
	}

	#menus .header {
		border-radius: 0;
		cursor: default;
	}

	.menu {
		display: inline-block !important;
	}

	.button {
		width: 32px;
	}

	.icon::before {
		line-height: 32px;
	}

	.droppanel {
		height: calc(100vh - 45px - 16px);
		/* IE */
		height: calc(var(--mobile-innerheight) - 45px - 16px);
		width: calc(100vw - 16px);
		max-height: none;
		/* IE: 'none'; all other browser: 'unset' */
		max-width: none;
		/* IE: 'none'; all other browser: 'unset' */
		top: 45px !important;
		left: 0 !important;
	}

	.bubble-arrow {
		--arrow-indent: 21px;
		--increment: 34px;
	}
}