@media screen and (max-width: 767px) {
	.img-fluid {
		width: 100%;
	}

	.toast-container.top-0 {
		margin-top: 60px;
	}

	@supports (-webkit-touch-callout: none) {
		.fixed-top .navbar.navbar-expand {
			padding-top: calc(env(safe-area-inset-top) + 10px)!important;
			padding-bottom: 0!important;
		}

		.fixed-bottom .navbar.navbar-expand {
			padding-top: 0!important;
			padding-bottom: calc(env(safe-area-inset-bottom) - 10px)!important;
		}

		.toast-container.top-0 {
			margin-top: calc(40px + env(safe-area-inset-top));
		}

		body {
			padding-top: env(safe-area-inset-top);
		}

		.offcanvas:not(.offcanvas-bottom) {
			padding-top: env(safe-area-inset-top);
		}

		.offcanvas-bottom {
			padding-bottom: env(safe-area-inset-bottom);
		}

		.modal-dialog[class*="modal-fullscreen"] .modal-content {
			padding-top: env(safe-area-inset-top);
		}
	}
}

#btn-back-to-top {
	position: fixed;
	bottom: 20px;
	right: 12px;
	display: none;
	z-index: 100;
}

.position-sticky-top {
	top: 60px;
}

.position-sticky-bottom {
	bottom: 0;
}

.position-fixed-top {
	top: 60px;
}

.position-fixed-bottom {
	bottom: 0;
}

@media screen and (max-width: 767px) {
	#btn-back-to-top {
		bottom: 80px;
	}

	.position-sticky-top {
		top: 105px;
	}

	.position-sticky-bottom {
		bottom: 80px;
	}

	.position-fixed-top {
		top: 105px;
	}

	.position-fixed-bottom {
		bottom: 80px;
	}

	@supports (-webkit-touch-callout: none) {
		#btn-back-to-top {
			bottom: calc(60px + env(safe-area-inset-bottom));
		}

		.position-sticky-top {
			top: calc(105px + env(safe-area-inset-top));
		}

		.position-sticky-bottom {
			bottom: calc(60px + env(safe-area-inset-bottom));
		}

		.position-fixed-top {
			top: calc(105px + env(safe-area-inset-top));
		}

		.position-fixed-bottom {
			bottom: calc(60px + env(safe-area-inset-bottom));
		}
	}
}

.ugoira {
	cursor: pointer;
}

@media screen and (max-width: 767px) {
	.artwork {
		max-width: 100%!important;
		max-height: 100%!important;
		width: 100%!important;
		height: auto!important;
		margin-left: 0;
		margin-right: 0;
	}

	#content div div:has(.ugoira) {
		max-width: 100%!important;
		max-height: 100%!important;
		width: 100%!important;
		height: auto!important;
		margin-left: 0;
		margin-right: 0;
	}

	.ugoira {
		width: 100%!important;
		height: auto!important;
	}

	.ugoira, .ugoira-load, .ugoira-frame {
		max-width: 100%!important;
		max-height: 100%!important;
		margin-left: 0;
		margin-right: 0;
	}
}

.toast-container>:not(:last-child) {
	--bs-toast-spacing: 0.5rem;
}

.form-check {
	padding-left: 2em;
}

.form-check .form-check-input {
	margin-left: -2em;
}

.form-check-input:not(.form-switch .form-check-input) {
	width: 1.5em;
	height: 1.5em;
	margin-top: 0;
}

.form-switch .form-check-input {
	width: 3.2em;
	height: 2em;
}

.btn {
	touch-action: manipulation;
}

.r18:not(.show), .r18g:not(.show) {
	cursor: pointer;
}

.thumbnail, .artwork {
	position: relative;
	overflow: hidden;
}

.bookmark-artwork {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1;
	text-shadow: -1px -1px 0 black, 1px -1px 0 black, -1px 1px 0 black, 1px 1px 0 black;
}