.acs-toggler {
	position: fixed;
	bottom: 1em;
	left: 1em;
	padding: 0.75em;
	background-color: var(--acs-background-color);
	color: var(--acs-foreground-color);
	border-radius: 20%;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
	z-index: 9998;
	border: 3px solid #fff;
	cursor: pointer;
}
.acs-toggler svg {
	display: block;
}
.acs-panel {
	font-family: Arial, Helvetica, sans-serif;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: var(--acs-background-color);
	color: var(--acs-text-color);
	display: none;
	padding: 1em;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
	z-index: 9999;
	gap: 1em;
	justify-content: space-between;
	align-items: center;
	font-size: 1.8em;
}
@media screen and (max-width: 768px) {
	.acs-panel {
		flex-direction: column;
		padding: 2em 0;
	}
}
.acs-left {
	display: flex;
	align-items: center;
	justify-content: start;
}
.acs-center {
	display: flex;
	justify-content: center;
}
@media only screen and (max-width: 768px) {
	.acs-center {
		flex-direction: column;
		gap: 0.5em;
	}
}
.acs-right {
	display: flex;
	justify-content: end;
}
.acs-close {
	padding: 1em;
	color: #fff;
	background-color: transparent;
	border: none;
	cursor: pointer;
}
.acs-close svg {
	display: block;
}
.acs-label {
	font-size: 9px;
	color: var(--acs-text-color);
	text-transform: uppercase;
	display: block;
	text-align: center;
	margin-bottom: 0.5em;
}
.acs-button {
	display: inline-flex;
	padding: 1em;
	border: 2px solid var(--acs-text-color);
	background-color: var(--acs-text-color);
	color: var(--acs-background-color);
	cursor: pointer;
	border-radius: 0.5em;
	margin: 0 0.5em;
	font-size: 16px;
	align-items: center;
	gap: 5px;
}
@media only screen and (max-width: 768px) {
	.acs-button {
		text-align: center;
	}
}
.acs-button.active {
	background-color: var(--acs-background-color-active);
	color: var(--acs-text-color);
}
.acs-button:hover {
	background-color: var(--acs-background-color);
	color: var(--acs-text-color);
}
.acs-font-size-wrapper {
	position: relative;
}
.acs-button-font-size-wrapper {
	display: flex;
	gap: 0.1em;
	justify-content: center;
	margin: 0 0.5em;
}
.acs-font-size-wrapper .acs-label {
	position: absolute;
	top: -1.7em;
	width: 100%;
	left: 50%;
	transform: translateX(-50%);
}
.acs-font-size-wrapper .acs-button {
	margin: 0;
}
@media screen and (max-width: 768px) {
	.acs-font-size-wrapper .acs-label {
		position: relative;
		margin-top: 2em;
		margin-bottom: 0;
		padding: 0;
		font-size: 12px;
	}
	.acs-button-font-size-wrapper {
		transform: translatey(-0.5em);
	}

	#enlarge-cursor-button {
		display: none;
	}
}

.acs-stop-animation,
.acs-disable-transition *,
.acs-disable-transition *::before,
.acs-disable-transition *::after {
	transition: none !important;
	animation: none !important;
}

.acs-line-height {
	line-height: 1.5em;
	letter-spacing: 2px;
}
.acs-enlarge-cursor,
.acs-enlarge-cursor * {
	cursor: url('./cursor.svg'), auto !important;
}

#contrast-button:before {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16px' height='16px' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M17 3.34A10 10 0 1 1 2 12l.005-.324A10 10 0 0 1 17 3.34M8 5.072A8 8 0 0 0 12.001 20L12 4a8 8 0 0 0-4 1.072'/%3E%3C/svg%3E");
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
}
#line-height-button:before {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16px' height='16px' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 12V6.5a2.5 2.5 0 0 1 5 0V12m0-4H5m8-4l3 8l3-8M5 18h14m-2 2l2-2l-2-2M7 16l-2 2l2 2'/%3E%3C/svg%3E");
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
}
#stop-transition-button:before {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16px' height='16px' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4 2a2 2 0 0 0-2 2v10h2V4h10V2zm4 4a2 2 0 0 0-2 2v10h2V8h10V6zm12 6v8h-8v-8zm0-2h-8a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2'/%3E%3C/svg%3E");
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
}
#enlarge-cursor-button:before {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16px' height='16px' viewBox='0 0 24 24'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z'/%3E%3Cpath fill='%23000' d='M8.559 5.387L7.992 14.3l1.627-1.406a1.088 1.088 0 0 1 1.713.4l2.714 6.415l.869-.37l-2.587-6.181c-.29-.69.19-1.46.936-1.506l2.206-.136l-6.911-6.13Zm-1.877-1.99a1.088 1.088 0 0 1 1.807-.746l9.951 8.827c.724.642.312 1.84-.655 1.9l-3.117.191l2.092 4.999a2 2 0 0 1-1.062 2.612l-.868.37a2 2 0 0 1-2.626-1.061l-2.226-5.262l-2.323 2.007c-.73.63-1.858.07-1.797-.892z'/%3E%3C/g%3E%3C/svg%3E");
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
}
#text-to-speech-button:before {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16px' height='16px' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4 22q-.825 0-1.412-.587T2 20V4q0-.825.588-1.412T4 2h6q.425 0 .713.288T11 3t-.288.713T10 4H4v16h11v-1q0-.425.288-.712T16 18t.713.288T17 19v1q0 .825-.587 1.413T15 22zm3-4q-.425 0-.712-.288T6 17t.288-.712T7 16h5q.425 0 .713.288T13 17t-.288.713T12 18zm0-3q-.425 0-.712-.288T6 14t.288-.712T7 13h3q.425 0 .713.288T11 14t-.288.713T10 15zm2.5-4q-.625 0-1.062-.437T8 9.5v-2q0-.625.438-1.062T9.5 6H11l2.3-2.3q.125-.125.313-.213T14 3.4q.425 0 .713.3t.287.725v8.15q0 .425-.288.725t-.712.3q-.2 0-.387-.087T13.3 13.3L11 11zM19 8.5q0 .825-.325 1.575T17.75 11.4q-.2.2-.475.075t-.275-.45v-5.05q0-.3.275-.437t.475.062q.6.575.925 1.325T19 8.5m2 0q0-1.65-.837-3.05t-2.288-2.2q-.375-.2-.525-.587t0-.763q.15-.4.538-.562t.737.037q2.025 1.05 3.2 2.95T23 8.5t-1.175 4.175t-3.2 2.95q-.35.2-.737.038t-.538-.563q-.15-.375 0-.762t.525-.588q1.45-.8 2.288-2.2T21 8.5'/%3E%3C/svg%3E");
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
}

body.acs-contrast * {
	filter: contrast(1.3);
}
