/* Hide phpBB's built-in scroll to top button */
.to-top-button {
	display: none !important;
}

:root {
	/* Scroll button appearance */
	--scroll-page-bg-color: rgba(255, 255, 255, 0.4);
	--scroll-page-arrow-color: #000000;
	--scroll-page-border-color: #dbdbdb;
	--scroll-page-border-radius: 3px;
	--scroll-page-z-index: 9999;
	--scroll-page-backdrop-blur: 4px;

	/* Scroll button arrow icons */
	--scroll-page-arrow-up: "\f106";
	--scroll-page-arrow-down: "\f107";

	/* Positioning */
	--scroll-page-position-x: 1.5625rem;
	--scroll-page-position-y: 1.5625rem;

	/* Size and spacing */
	--scroll-page-font-size: 1.125rem;
	--scroll-page-icon-width: 1.25rem;
	--scroll-page-icon-height: 1.25rem;
	--scroll-page-icon-padding: 0.375rem;
	--scroll-page-icon-margin: 0.125rem 0;
}

@media only screen and (max-width: 500px), only screen and (max-device-width: 500px) {
	:root {
		--scroll-page-position-x: 1rem;
	}
}

.scroll-page {
	font-size: var(--scroll-page-font-size);
	color: var(--scroll-page-arrow-color);
	opacity: 0;
	position: fixed;
	z-index: var(--scroll-page-z-index);
	right: var(--scroll-page-position-x);
	bottom: var(--scroll-page-position-y);
	visibility: hidden;
	cursor: pointer;
	transition:
		opacity 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55),
		visibility 0.4s ease-in-out,
		transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
	transition-delay: 0s, 0.4s, 0s;
	transform: scale(0.5);
}

.scroll-page.visible {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s;
	transform: scale(1);
}

.scroll-page i {
	font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome, sans-serif;
	font-size: inherit;
	font-weight: 900;
	font-style: normal;
	background-color: var(--scroll-page-bg-color);
	border: solid 1px var(--scroll-page-border-color);
	border-radius: var(--scroll-page-border-radius);
	color: var(--scroll-page-arrow-color);
	opacity: 0.9;
	display: flex;
	justify-content: center;
	align-items: center;
	width: var(--scroll-page-icon-width);
	height: var(--scroll-page-icon-height);
	margin: var(--scroll-page-icon-margin);
	padding: var(--scroll-page-icon-padding);
	-webkit-backdrop-filter: blur(var(--scroll-page-backdrop-blur));
	backdrop-filter: blur(var(--scroll-page-backdrop-blur));
}

.scroll-page i:before {
	padding: 0 !important;
	transition: transform 0.2s ease-out;
}

.scroll-page .scroll-up:before {
	content: var(--scroll-page-arrow-up);
}

.scroll-page .scroll-down:before {
	content: var(--scroll-page-arrow-down);
	transform: translateY(1px);
}

.scroll-page .scroll-up:hover:before {
	transform: translateY(-2px);
}

.scroll-page .scroll-down:hover:before {
	transform: translateY(3px);
}

.rtl .scroll-page {
	right: auto;
	left: var(--scroll-page-position-x);
	transform: scale(0.5);
}

.rtl .scroll-page.visible {
	transform: scale(1);
}

.rtl .scroll-page i {
	padding-inline: var(--scroll-page-icon-padding) !important;
}
