@if luiTheme(adjective, visible, enabled) {
	@at-root #{$namespace} {
		$vars: luiTheme(adjective, visible);

		#{$prefix}.shown { display: block; }
		#{$prefix}.hidden { display: none; }

		#{$prefix}.invisible {
			pointer-events: none;
			visibility: hidden;
			opacity: 0;
		}

		#{$prefix}.faded {
			opacity: 0.5;
			&.strongly { opacity: 0.25; }
			&.lightly { opacity: 0.75; }
		}

		#{$prefix}.desaturated {
			-webkit-filter: grayscale(50%);
			filter: grayscale(50%);
			&.strongly {
				-webkit-filter: grayscale(75%);
				filter: grayscale(75%);
			}
			&.lightly {
				-webkit-filter: grayscale(25%);
				filter: grayscale(25%);
			}
			&.fully {
				-webkit-filter: grayscale(100%);
				filter: grayscale(100%);
			}
		}

		// Deferred cloack
		&[deferred-cloak], &[data-deferred-cloak], &[x-deferred-cloak], &.deferred-cloak {
			display: none !important;
		}
	}
}
