button, button:focus, button:hover:focus, button:active:focus {
	outline: 0 !important;
}

.us-0 {
	-webkit-touch-callout: none !important;
	-webkit-user-select: none !important;
	user-select: none !important;
}

.us {
	user-select: text !important;
}

:root, body {
	--font-family-sans-serif: Source Sans Pro, sans-serif;
	font-family: Source Sans Pro, sans-serif;
	overflow: hidden;
	/* transition: background-image 2s linear; */
	--taskbar-height: 50px;
	--taskbar-hided: 50px;
}

:root {
	--darker: rgb(37, 37, 37);
}

body.simple {
	background: linear-gradient(135deg, #c5deea, #8abbd7) !important;
}

body.noAnim, body.noAnim * {
	transition: none !important;
	animation-duration: 0s !important;
    box-shadow: none !important;
}

body.blur .modal:not(.noBlur) {
	--blur-radius: 5px;
	backdrop-filter: blur(var(--blur-radius));
	width: calc(100% + calc(2 * var(--blur-radius)));
	height: calc(100% + calc(2 * var(--blur-radius)));
}

@keyframes pulsate {
	from {
		box-shadow: 0 0 0 0 var(--warning);
	}

	to {
		box-shadow: 0 0 5px 5px var(--warning);
	}
}

.lh-18 {
	line-height: 18px !important;
}

.lh-21 {
	line-height: 21px !important;
}

.mdi-21px.mdi-set, .mdi-21px.mdi {
	font-size: 21px !important;
}

.lh-24 {
	line-height: 24px !important;
}

.lh-36 {
	line-height: 36px !important;
}

.lh-48 {
	line-height: 48px !important;
}

.text-decoration-none {
	text-decoration: none !important;
}

.lh-r1 {
	line-height: 1rem;
}

.very-rounded {
	border-radius: .5rem !important;
}

.very-rounded-bottom {
	border-radius: 0 0 .5rem .5rem !important;
}

.very-rounded-top {
	border-radius: .5rem .5rem 0 0 !important;
}

.very-rounded-left {
	border-radius: .5rem 0 0 .5rem !important;
}

.very-rounded-right {
	border-radius: 0 .5rem .5rem 0 !important;
}

.rounded-max {
	border-radius: 10000px !important;
}

.scrollable {
	overflow: auto;
}

.scrollable-x {
	overflow-x: auto;
}

.scrollable-y {
	overflow-y: auto;
}

.scrollable-0 {
	overflow: hidden;
}

.scrollable-x-0 {
	overflow-x: hidden;
}

.scrollable-y-0 {
	overflow-y: hidden;
}

.smaller {
	font-size: 90%
}

.bg-semiwhite {
	background: rgb(230, 230, 230);
}

.bg-semiwhite.shadow, .bg-semiwhite.active {
	background: rgba(224, 224, 224, 0.85);
}

.bg-semidark {
	background: rgb(45, 45, 45);
}

.bg-semidark.shadow, .bg-semidark.active {
	background: rgba(5, 5, 5, 0.8);
}

.font-weight-bolder {
	font-weight: 600 !important;
}

::-webkit-scrollbar {
	width: 5px;
	transition: all .5s linear;
}

/* Handle */
:hover::-webkit-scrollbar-thumb {
	background: #96969678;
	transition: all .5s linear;
}

::-webkit-scrollbar-thumb:hover {
	background: #aaa;
}

body > footer#taskbar {
	/* box-shadow: inset 0 -90px 40px -80px rgba(191, 191, 191, 0.75), inset 0 -40px 30px -30px rgba(0, 0, 0, 0.7); */
	z-index: 990;
	transition: all .25s ease;
	/* bottom: 0; */
}

body.simple > footer#taskbar {
	box-shadow: none !important;
	transition: none !important;
}

body.dark > footer#taskbar {
	/* background: rgba(37, 37, 37, 0.57); */
}

body > footer#taskbar.autoHide,
body > footer#taskbar.maximized {
	clip-path: inset(calc(var(--taskbar-height) - 4px) 0 0 0);
	bottom: 0;
}

body > footer#taskbar::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 5px;
	background: black;
	z-index: -1;
	backdrop-filter: blur(5px);
}

body > footer#taskbar.autoHide:hover,
body > footer#taskbar.autoHide.show,
body > footer#taskbar.maximized:hover,
body > footer#taskbar.maximized.show,
body > footer#taskbar:not(.autoHide):not(.maximized) {
	clip-path: none;
	/* backdrop-filter: blur(3px); */
}

plugin[id="official/tasker"] > button:not(.bgTasks).active::after {
	background-color: white;
}

.dropdown-item .custom-control-label::before, .dropdown-item .custom-control-label::after {
	left: -.45rem;
}

.dropdown-item .custom-control-label {
	padding-left: 0.9rem;
}

.dropdown-item:hover:not(.active):not(:active):not(:disabled):not(.disabled),
.dropdown-item:focus:not(.active):not(:active):not(:disabled):not(.disabled) {
	background-color: rgba(177, 177, 177, 0.3)
}

plugin[id="official/tasker"] > button:not(.bgTasks)::after {
	content: "";
	border-radius: 10px;
	padding: 1px;
	width: 100%;
	height: 0;
	position: absolute;
	bottom: -.75rem;
	margin-bottom: -1px;
	border: 1px solid black;
	left: 0;
	background-color: rgba(255, 255, 255, 0.3);
	background-image: linear-gradient(to right, var(--progress-color) 0%, var(--progress-color) var(--progress-value), transparent var(--progress-color), transparent 100%);
	transition: background .25s ease;
}

plugin[id="official/tasker"] > button:not(.active, .bgTasks) {
	opacity: 0.85;
}

.flash {
	box-shadow: 0 0 30px 5px var(--warning);
	animation: pulsate .5s ease-out infinite alternate !important;
}

plugin[id="official/tasker"] > button:not(.bgTasks), plugin[id="official/start"] > button {
	transition: filter .25s ease, opacity .25s ease;
	--progress-color: var(--primary);
	--progress-value: 0%;
}

plugin[id="official/tasker"] > button:not(.active, .bgTasks):hover, plugin[id="official/start"] > button:hover {
	filter: brightness(120%);
}

plugin[id="official/tasker"] > button:not(.active, .bgTasks):active, plugin[id="official/start"] > button:active {
	filter: brightness(90%);
}

body.blur window {
	backdrop-filter: blur(10px);
}
window.maximized {
	border-radius: 0 !important;
}

window > overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0.25;
	border-radius: .5rem;
}

window.noBlur {
	/* backdrop-filter: none !important; */
}

window.maximized.bg-semiwhite {
	background: rgb(230, 230, 230)
}

window.maximized.bg-semidark {
	background: rgb(45, 45, 45)
}

window.maximized window-ui > div[style*=cursor] {
	pointer-events: none;
}

body.showWindowButtonGlyphs window window-buttons .btn-danger:hover::before {
	content: "\F156";
	font-family: 'Material Design Icons', serif;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 12px;
	font-size: 12px;
}

body.showWindowButtonGlyphs window window-buttons .btn-success:hover::before {
	content: "\F143";
	font-family: 'Material Design Icons', serif;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 12px;
	font-size: 12px;
}

body.showWindowButtonGlyphs window window-buttons .btn-warning:hover::before {
	content: "\F140";
	font-family: 'Material Design Icons', serif;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 12px;
	font-size: 12px;
}

body.showWindowButtonGlyphs window .btn-info:hover::before {
	content: "\F12F";
	font-family: 'Material Design Icons', serif;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	line-height: 8px;
	font-size: 8px;
	margin: auto;
	width: 8px;
	height: 8px;
}

notification.type-image .toast-body div.smaller::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(transparent, var(--light));
}

notification.type-image.dark .toast-body div.smaller::after {
	background: linear-gradient(transparent, var(--dark));
}

notification header *, notification notification-actions button, .clip-text {
	-webkit-background-clip: text !important;
	background-clip: text !important;
}

.notification-showing {
	display: none !important;
}

.toast {
	backdrop-filter: none;
}

.fly {
	animation-fill-mode: forwards;
	animation-duration: .2s;
	animation-timing-function: linear;
}

.fly.up.show {
	animation-name: fly-up-in
}

.fly.up.hide {
	animation-name: fly-up-out
}

.fly.down.show {
	animation-name: fly-down-in
}

.fly.down.hide {
	animation-name: fly-down-out
}
.fly.left.show {
	animation-name: fly-left-in
}

.fly.left.hide {
	animation-name: fly-left-out
}

.fly.toast.hide {
	display: inline-block;
}

.toast {
	font-size: 1rem;
}

.tooltip {
	pointer-events: none;
	/*transition-delay: .5s;*/
	font-family: inherit !important;
}

.tooltip .mdi {
	font-size: 12px;
	line-height: 12px;
	vertical-align: middle;
	display: inline-block;
	/* margin-top: -1px; */
}

.mdi-spin-faster:before {
	-webkit-animation: mdi-spin 1s infinite linear;
	animation: mdi-spin 1s infinite linear;
}

.tooltip * {
	pointer-events: initial;
}

.tooltip.show {
	opacity: 1;
}

.tooltip .arrow {
	display: none;
}


@keyframes fly-up-in {
	0% {
		transform: translateY(30px);
		visibility: hidden;
		opacity: 0;
	}

	100% {
		opacity: 1;
		transform: translateY(0px);
	}
}

@keyframes fly-up-out {
	100% {
		transform: translateY(30px);
		visibility: hidden;
		opacity: 0;
	}

	0% {
		opacity: 1;
		transform: translateY(0px);
	}
}

@keyframes fly-down-in {
	0% {
		transform: translateY(-30px);
		visibility: hidden;
		opacity: 0;
	}

	100% {
		opacity: 1;
		transform: translateY(0px);
	}
}

@keyframes fly-down-out {
	100% {
		transform: translateY(-30px);
		visibility: hidden;
		opacity: 0;
	}

	0% {
		opacity: 1;
		transform: translateY(0px);
	}
}
@keyframes fly-left-in {
	0% {
		transform: translateX(30px);
		visibility: hidden;
		opacity: 0;
	}

	100% {
		opacity: 1;
		transform: translateX(0px);
	}
}

@keyframes fly-left-out {
	100% {
		transform: translateX(30px);
		visibility: hidden;
		opacity: 0;
	}

	0% {
		opacity: 1;
		transform: translateX(0px);
	}
}

.btn-white {
	color: var(--dark);
	/* background-color: transparent; */
	border-color: transparent;
}

.btn-white:hover {
	color: var(--dark);
	background-color: rgba(0, 0, 0, 0.1);
	border-color: rgba(0, 0, 0, 0.02);
}

.btn-white:focus, .btn-white.focus {
	box-shadow: 0 0 0 0.2rem rgba(74, 144, 216, 0.18);
}

.btn-white.disabled, .btn-white:disabled {
	color: var(--gray);
	background-color: transparent;
	border-color: transparent;
}

.tooltip .tooltip-inner {
	background: var(--secondary) !important;
	box-shadow: 0 0.2rem 5px #0000004d;
}

.btn-white:not(:disabled):not(.disabled):active, .btn-white:not(:disabled):not(.disabled).active, .show > .btn-white.dropdown-toggle {
	color: var(--dark);
	background-color: rgba(0, 0, 0, 0.15);
	border-color: rgba(0, 0, 0, 0.03);
}

.btn-white:not(:disabled):not(.disabled):active:focus, .btn-white:not(:disabled):not(.disabled).active:focus, .show > .btn-white.dropdown-toggle:focus {
	box-shadow: 0 0 0 0.2rem rgba(74, 144, 216, 0.18);
}

aside[id="official/tray"] label.btn.custom-checkbox .custom-control-label::before,
aside[id="official/tray"] label.btn.custom-checkbox .custom-control-label::after {
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	left: auto;
}

menu.dropdown-menu {
	z-index: 1090;
}

.btn {
	border-width: 2px !important;
	/* margin-bottom: .25rem; */
}

.btn.btn-outline-primary:hover {
	background: rgba(0, 123, 255, 0.65);
}

.btn.btn-outline-info:hover {
	background: rgba(23, 162, 184, 0.65);
}

.btn.btn-outline-warning:hover {
	background: rgba(255, 193, 7, 0.65);
}

.btn.btn-outline-danger:hover {
	background: rgba(220, 53, 69, 0.65);
}

.btn.btn-outline-secondary:hover {
	background: rgba(108, 117, 125, 0.65);
}

.btn.btn-outline-light:hover {
	background: rgba(248, 249, 250, 0.8);
}

.btn.btn-outline-dark:hover {
	background: rgba(52, 58, 64, 0.8);
}

.rounded-right-pill {
	border-bottom-right-radius: 50rem !important;
	border-top-right-radius: 50rem !important;
}

.rounded-left-pill {
	border-bottom-left-radius: 50rem !important;
	border-top-left-radius: 50rem !important;
}

.toast {
	flex: 0;
}