/********************************************************/
/*
/*      Utility CSS
/*
/********************************************************/
/******************************/
/* Modifier classes
/******************************/
/* Layout */
.flex {
														display: flex;
	.direction-row										{ flex-direction: row; }
	.direction-row-reverse								{ flex-direction: row-reverse; }
	.direction-column									{ flex-direction: column; }
	.direction-column-reverse							{ flex-direction: column-reverse; }
}
.justify-content {
	&.start												{ justify-content: start; }
	&.center											{ justify-content: center; }
	&.end												{ justify-content: end; }
	&.around											{ justify-content: space-around; }
	&.between											{ justify-content: space-between; }
	&.evenly											{ justify-content: space-evenly; }
	&.stretch											{ justify-content: stretch; }
}
.justify-self {
	&.start												{ justify-self: start; }
	&.center											{ justify-self: center; }
	&.end												{ justify-self: end; }
	&.stretch											{ justify-self: stretch; }
}
.align-items {
	&.start												{ align-items: start; }
	&.baseline											{ align-items: baseline; }
	&.center											{ align-items: center; }
	&.end												{ align-items: end; }
	&.stretch											{ align-items: stretch; }
}
.align-self {
	&.start												{ align-self: start; }
	&.baseline											{ align-self: baseline; }
	&.center											{ align-self: center; }
	&.end												{ align-self: end; }
	&.stretch											{ align-self: stretch; }
}

/* Color */
/* Replace with theme-specific colors */
.black,
.focus-black:is(:hover, :focus, :active),
.focus-black:is(:hover, :focus, :active) > a		{ color: var(--wp--preset--color--black); }
.off-black,
.focus-off-black:is(:hover, :focus, :active),
.focus-off-black:is(:hover, :focus, :active) > a	{ color: var(--wp--preset--color--off-black); }
.gray,
.focus-gray:is(:hover, :focus, :active),
.focus-gray:is(:hover, :focus, :active) > a			{ color: var(--wp--preset--color--gray); }
.off-gray,
.focus-off-gray:is(:hover, :focus, :active),
.focus-off-gray:is(:hover, :focus, :active) > a		{ color: var(--wp--preset--color--off-gray); }
.white,
.focus-white:is(:hover, :focus, :active),
.focus-white:is(:hover, :focus, :active) > a		{ color: var(--wp--preset--color--white); }
.off-white,
.focus-off-white:is(:hover, :focus, :active),
.focus-off-white:is(:hover, :focus, :active) > a	{ color: var(--wp--preset--color--off-white); }
.green,
.focus-green:is(:hover, :focus, :active),
.focus-green:is(:hover, :focus, :active) > a		{ color: var(--wp--preset--color--green); }
.off-green,
.focus-off-green:is(:hover, :focus, :active),
.focus-off-green:is(:hover, :focus, :active) > a	{ color: var(--wp--preset--color--off-green); }
.yellow,
.focus-yellow:is(:hover, :focus, :active),
.focus-yellow:is(:hover, :focus, :active) > a		{ color: var(--wp--preset--color--yellow); }
.off-yellow,
.focus-off-yellow:is(:hover, :focus, :active),
.focus-off-yellow:is(:hover, :focus, :active) > a	{ color: var(--wp--preset--color--off-yellow); }

.bg-black 											{ background-color: var(--wp--preset--color--black); }
.bg-off-black 										{ background-color: var(--wp--preset--color--off-black); }
.bg-gray 											{ background-color: var(--wp--preset--color--gray); }
.bg-off-gray 										{ background-color: var(--wp--preset--color--off-gray); }
.bg-white 											{ background-color: var(--wp--preset--color--white); }
.bg-off-white 										{ background-color: var(--wp--preset--color--off-white); }
.bg-green 											{ background-color: var(--wp--preset--color--green); }
.bg-off-green 										{ background-color: var(--wp--preset--color--off-green); }
.bg-yellow 											{ background-color: var(--wp--preset--color--yellow); }
.bg-off-yellow										{ background-color: var(--wp--preset--color--off-yellow); }

/* Text */
/* Replace with theme-specific sizes */
.x-small											{ font-size: var(--wp--preset--font-size--x-small); }
.small												{ font-size: var(--wp--preset--font-size--small); }
.medium-size										{ font-size: var(--wp--preset--font-size--medium); }
.large												{ font-size: var(--wp--preset--font-size--large); }
.x-large											{ font-size: var(--wp--preset--font-size--x-large); }
.xx-large											{ font-size: var(--wp--preset--font-size--2-x-large); }
.thin												{ font-weight: 100; }
.extra-light										{ font-weight: 200; }
.light												{ font-weight: 300; }
.regular											{ font-weight: 400; }
.medium-weight										{ font-weight: 500; }
.semibold											{ font-weight: 600; }
.bold												{ font-weight: 700; }
.extra-bold											{ font-weight: 800; }
.heavy												{ font-weight: 900; }
.uppercase											{ text-transform: uppercase; }
.lowercase											{ text-transform: lowercase; }
.underline											{ text-decoration: underline; }
.text-deco-none,
.text-deco-none	a									{ text-decoration: none; }

/* Images */
.cover,
.cover img											{ object-fit: cover; }
.contain,
.contain img										{ object-fit: contain; }

/* Opacity */
.opacity-full										{ opacity: 1; }
.opacity-half										{ opacity: .5; }
.opacity-zero										{ opacity: 0; }

/* Other */
.user-select-none									{ user-select: none; }

/******************************/
/* Theme variables
/******************************/
body {
	/* TODO: Rework default spacing variables so that the following adjustments are not necessary */
	@media (width <= 1200px) {
		& {
			--wp--preset--spacing--8	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--8-5	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--9	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--9-5	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--10	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--10-5	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--11	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--11-5	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--12	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--12-5	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--13	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--13-5	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--14	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--14-5	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--15	: var(--wp--preset--spacing--7-5);
		}
	}
	
	@media (width <= 800px) {
		& {
			--wp--preset--spacing--5-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--6	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--7-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--8	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--8-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--9	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--9-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--10	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--10-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--11	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--11-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--12	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--12-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--13	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--13-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--14	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--14-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--15	: var(--wp--preset--spacing--5);
		}
		#wpadminbar { display: none !important; }
	}
	
	@media (width <= 600px) {
		& {
			--wp--preset--spacing--4-5	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--5	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--5-5	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--6	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--7-5	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--8	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--8-5	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--9	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--9-5	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--10	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--10-5	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--11	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--11-5	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--12	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--12-5	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--13	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--13-5	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--14	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--14-5	: var(--wp--preset--spacing--4);
			--wp--preset--spacing--15	: var(--wp--preset--spacing--4);
		}
	}
	
	/* Replace with theme-specific variable responsiveness */
	@media (width <= 475px) {
		& {
			--wp--custom--header-height: 7.125rem;
		}
	}
	
	@media (width <= 320px) {
		& {
			--wp--custom--header-height: 5rem;
		}
	}
}