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

/* Size */
.max-content                                                { width: max-content !important; }
.min-content                                                { width: min-content !important; }

/* 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) !important; }
.off-black,
.focus-off-black:is(:hover, :focus, :active),
.focus-off-black:is(:hover, :focus, :active) > a	        { color: var(--wp--preset--color--off-black) !important; }
.gray,
.focus-gray:is(:hover, :focus, :active),
.focus-gray:is(:hover, :focus, :active) > a			        { color: var(--wp--preset--color--gray) !important; }
.off-gray,
.focus-off-gray:is(:hover, :focus, :active),
.focus-off-gray:is(:hover, :focus, :active) > a		        { color: var(--wp--preset--color--off-gray) !important; }
.white,
.focus-white:is(:hover, :focus, :active),
.focus-white:is(:hover, :focus, :active) > a		        { color: var(--wp--preset--color--white) !important; }
.off-white,
.focus-off-white:is(:hover, :focus, :active),
.focus-off-white:is(:hover, :focus, :active) > a	        { color: var(--wp--preset--color--off-white) !important; }
.green,
.focus-green:is(:hover, :focus, :active),
.focus-green:is(:hover, :focus, :active) > a		        { color: var(--wp--preset--color--green) !important; }
.off-green,
.focus-off-green:is(:hover, :focus, :active),
.focus-off-green:is(:hover, :focus, :active) > a	        { color: var(--wp--preset--color--off-green) !important; }
.yellow,
.focus-yellow:is(:hover, :focus, :active),
.focus-yellow:is(:hover, :focus, :active) > a		        { color: var(--wp--preset--color--yellow) !important; }
.off-yellow,
.focus-off-yellow:is(:hover, :focus, :active),
.focus-off-yellow:is(:hover, :focus, :active) > a	        { color: var(--wp--preset--color--off-yellow) !important; }

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

/* Text */
/* Replace with theme-specific fonts, sizes, etc. */
.ff-aktiv-grotesk                                           { font-family: var(--wp--preset--font-family--aktiv-grotesk) !important; }
.ff-font-awesome                                            { font-family: var(--wp--preset--font-family--fontawesome) !important; }
.fs-xs											            { font-size: var(--wp--preset--font-size--x-small) !important; }
.fs-s												        { font-size: var(--wp--preset--font-size--small) !important; }
.fs-m										                { font-size: var(--wp--preset--font-size--medium) !important; }
.fs-ml										                { font-size: var(--wp--preset--font-size--medium-large) !important; }
.fs-l												        { font-size: var(--wp--preset--font-size--large) !important; }
.fs-xl											            { font-size: var(--wp--preset--font-size--x-large) !important; }
.fs-o											            { font-size: var(--wp--preset--font-size--omega) !important; }
.lh-s										                { font-size: var(--wp--custom--line-height--small) !important; }
.lh-eq										                { font-size: var(--wp--custom--line-height--equal) !important; }
.lh-m										                { font-size: var(--wp--custom--line-height--medium) !important; }
.lh-l												        { font-size: var(--wp--custom--line-height--large) !important; }
.lh-xl												        { font-size: var(--wp--custom--line-height--x-large) !important; }
.fw-100												        { font-weight: 100 !important; }
.fw-200										                { font-weight: 200 !important; }
.fw-300												        { font-weight: 300 !important; }
.fw-400											            { font-weight: 400 !important; }
.fw-500										                { font-weight: 500 !important; }
.fw-600											            { font-weight: 600 !important; }
.fw-700												        { font-weight: 700 !important; }
.fw-800											            { font-weight: 800 !important; }
.fw-900												        { font-weight: 900 !important; }
.txt-upper											        { text-transform: uppercase !important; }
.txt-lower											        { text-transform: lowercase !important; }
.txt-deco-underline,
.txt-deco-underline a                                       { text-decoration: underline !important; }
.text-deco-none,
.text-deco-none	a									        { text-decoration: none !important; }

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

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

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

/******************************/
/* 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;
		}
	}
}