html {
	font-size: var(--bs-body-font-size);
}

body {
	word-wrap: break-word;
	/* word-break: break-word; */
}

.hidden {
	display: none;
}

.post-ignore .postbody {
	display: none;
}


.post h3 a.first-unread,
.post:target h3 a {
	color: var(--bs-body-color);
}


.darkenwrapper {
	position: relative;
	z-index: 44;
	display: none;
}

.loading_indicator {
	vertical-align: -0.125em;
	border: 0.25em solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	position: fixed;
	z-index: 1001;
	top: 50%;
	left: 50%;
	display: none;
	width: 50px;
	height: 50px;
	margin-top: -50px;
	margin-left: -50px;
	-webkit-animation: 0.75s linear infinite spinner-border;
	animation: 0.75s linear infinite spinner-border;
}

.nojs .dropdown:hover .dropdown-menu {
	display: block;
}

/* .navbar-nav {
	overflow: hidden;
}

.navbar-nav:has(.show) {
	overflow: initial;
} */
/***
HIDE LINKS LABELS AFTER THE DIVIDER (LINKS OF RIGHT SIDE)
.compact.navbar-expand .divider ~ .nav-item span {
    display: none;
}
HIDE LINKS LABELS BEFORE THE DIVIDER (LINKS OF LEFT SIDE)
.compact.navbar-expand li:not(.quick-links):not(.divider ~ .nav-item) span {
    display: none;
}
***/
.navbar:not(.navbar-expand) .navbar-nav .nav-item {
	padding-block: 0.25rem;
}

.compact.navbar-expand .divider~.nav-item[data-skip-responsive="true"]>a>span {
	display: none;
}


/* .compact.navbar-expand [data-skip-responsive] span{
  display: none;
} */
.navbar-expand .navbar-nav {
	align-items: center;
}


header .breadcrumbs {
	overflow-x: auto;
	overscroll-behavior-y: contain;
	scrollbar-width: none;
}

header .breadcrumbs:hover {
	overflow-x: auto;
	scrollbar-width: thin;
}

@media (min-width: 768px) {
	header .breadcrumbs::-webkit-scrollbar {
		height: 0;
	}


	header .breadcrumbs:hover::-webkit-scrollbar {
		height: 0.5rem;
	}

	header .breadcrumbs::-webkit-scrollbar-thumb {
		border-radius: 100vw;
		box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
	}
}

header .breadcrumbs .crumb,
.nav-item {
	white-space: nowrap;
}

@media (max-width: 768px) and (pointer: coarse) {


	header .breadcrumbs::-webkit-scrollbar,
	header .breadcrumbs .crumb::-webkit-scrollbar {
		display: none;
	}


	header .breadcrumbs .crumb {
		scrollbar-width: none;
	}


	header .breadcrumbs {
		scroll-snap-type: x mandatory;
	}


	header .breadcrumbs .crumb {
		overflow: auto;
		flex-shrink: 0;
		width: 100%;
		scroll-snap-align: center;
	}
}

.breadcrumbs-animation {
	--anim-distance: 20px;
	background-image: url("./images/touch.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	width: calc(100% - (2 * var(--anim-distance)));
	height: 20px;
	animation: pointerAnimation ease 1s 1 forwards;
	margin-inline: auto;
}

[data-bs-theme="dark"] .breadcrumbs-animation {
	filter: invert(1);
}

.fadeOut {
	animation: fadeOut 250ms ease-out forwards;
}

@media (pointer: fine) {
	.breadcrumbs-animation {
		background-image: url("./images/mouse.svg");
	}
}

@keyframes pointerAnimation {
	0% {
		height: 20px;
		transform: translateX(0);
	}
	15%{
		height: 20px;
		transform: translateX(var(--anim-distance));
	}
	35% {
		height: 20px;
		transform: translateX(calc(var(--anim-distance) * -1));
	}
	50%{
		height: 20px;
		transform: translateX(var(--anim-distance));
	}

	75% {
		height: 20px;
		transform: translateX(calc(var(--anim-distance) * -1));
	}
	90%{
		height: 20px;
		transform: translateX(0);		
	}
	91%{
		height: 20px;
	}
	100%{
		height: 0;
	}
}

.branding h1,
.branding p {
	margin: 0;
}

.site_logo {
	background-image: url(./images/site_logo.svg);
	background-repeat: no-repeat;
	display: inline-block;
	width: 149px;
	height: 52px;
}

.header-avatar img {
	vertical-align: bottom;
	max-width: 25px;
	max-height: 25px;
}

nav li:not(#username_logged_in) .dropdown-toggle::after {
	display: none;
}

.notifications-list ul {
	overflow: auto;
	max-height: 360px;
}

.crumb+.crumb::before {
	font-weight: bold;
	padding: 0 0.5em;
	content: "\2039";
}

#MainNavigation,
#FooterNavigationList,
.post,
.flex-row-reverse {
	reading-flow: flex-visual;
}

@media (max-width: 768px) and (pointer: coarse) {
	#nav-breadcrumbs .crumb+.crumb::before {
		display: inline-block;
		animation: slide ease 750ms 5;
	}


	@keyframes slide {
		0% {
			translate: 0;
		}


		100% {
			translate: -0.25em;
		}
	}
}


.icon-mark {
	background-color: var(--bs-tertiary-bg);
	opacity: 0;
	position: absolute;
	top: 30%;
	right: 0;
	transition: opacity 250ms ease-in;
	pointer-events: none;
}


@media (pointer: coarse) {
	.icon-mark {
		opacity: 1;
		pointer-events: all;
	}
}


.notification-item:hover .icon-mark,
.icon-mark:focus-visible {
	opacity: 1;
	pointer-events: all;
}

.notification-list img {
	max-width: 50px;
	max-height: 50px;
}

.notifications~.dropdown-menu {
	width: min(340px, 90vw);
}

.username {
	text-decoration: none;
}

.username-coloured {
	font-weight: bold;
	text-decoration: none;
	display: inline !important;
	padding: 0 !important;
}

.postlink,
.attachment-filename {
	word-wrap: break-word;
	word-break: break-word;
}

.posthilit {
	background-color: var(--bs-warning);
	background-color: hsl(from var(--bs-warning) h s l / .5);
	padding: 0 2px 1px 2px;
}

.forum-icon {
	font-size: calc(var(--bs-body-font-size) * 2);
	color: var(--bs-light);
	display: flex;
	grid-column: 1 / -1;
	grid-row: 1 / -1;
}

.forum-icon-svg {
	display: flex;
	width: calc(var(--bs-body-font-size) * 2);
	height: calc(var(--bs-body-font-size) * 2);
	fill: var(--bs-light);
	grid-column: 1 / -1;
	grid-row: 1 / -1;
}

.unread-icon-link {
	grid-column: 1 / -1;
	grid-row: 1 / -1;
}

/* Icon styles
---------------------------------------- */
.fa.icon-blue,
a:hover .fa.icon-blue {
	color: var(--bs-blue, #196db5);
}

.fa.icon-green,
a:hover .fa.icon-green {
	color: var(--bs-green, #1b9a1b);
}

.fa.icon-red,
a:hover .fa.icon-red {
	color: var(--bs-pink, #bc2a4d);
}

.fa.icon-orange,
a:hover .fa.icon-orange {
	color: var(--bs-orange, #ff6600);
}

.fa.icon-bluegray,
a:hover .fa.icon-bluegray {
	color: var(--bs-gray-700, #536482);
}

.fa.icon-gray,
a:hover .fa.icon-gray {
	color: var(--bs-gray-600, #777777);
}

.fa.icon-lightgray,
a:hover .fa.icon-lightgray {
	color: rgba(var(--bs-secondary-rgb), 0.6);
}

.fa.icon-black,
a:hover .fa.icon-black {
	color: var(--bs-gray-dark, #333333);
}
[data-bs-theme="dark"]{
	.fa.icon-black,
	a:hover .fa.icon-black {
	color: var(--bs-body-color, #333333);
}
}
/* Post poll styles
----------------------------------------*/

fieldset.polls ul {
	min-height: 20px;
}

.vote-submitted {
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
}

/* Post poll styles
----------------------------------------*/

fieldset.polls dl {
	border-top-color: #dcdee2;
	border-top-color: var(--bs-gray-300);
	color: rgba(var(--bs-secondary-rgb), 0.9);
}

fieldset.polls dl.voted {
	color: rgb(var(--bs-black-rgb, #000000));
}

fieldset.polls .resultbar div {
	min-width: 20px;
}

/* BB Code styles
----------------------------------------*/
/* Quote block */
blockquote {
	font-size: 0.95em;
	background-color: rgba(var(--bs-secondary-rgb), 0.2);
	overflow: hidden;
	margin: 1em 1px 1em 10px;
	padding: 5px;
	border-inline-start: 3px solid var(--bs-primary);
}

blockquote blockquote {
	/* Nested quotes */
	font-size: 1em;
	background-color: rgba(var(--bs-secondary-rgb), 0.1);
	margin: 2em 1px 2em 15px;
}

blockquote blockquote blockquote {
	/* Nested quotes */
	background-color: rgba(var(--bs-secondary-rgb), 0.2);
}

blockquote cite {
	font-size: 0.9em;
	font-weight: bold;
	/* Username/source of quoter */
	font-style: normal;
	display: block;
}

blockquote cite cite {
	font-size: 1em;
}

blockquote cite:before,
.uncited:before {
	padding-right: 5px;
}

blockquote cite>span {
	font-weight: normal;
	float: right;
}

blockquote cite:before,
.uncited:before {
	content: "\f10d";
}

blockquote cite:before,
.uncited:before {
	font-family: FontAwesome;
	font-size: 14px;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 1;
	display: inline-block;
	text-rendering: auto;
}

blockquote cite:before,
.uncited:before {
	padding-right: 5px;
}

.postbody .content li blockquote {
	overflow: inherit;
	margin-left: 0;
}

/* Code block */
.codebox {
	font-size: 1em;
	word-wrap: normal;
	background-color: var(--bs-tertiary-bg);
	border: 1px solid var(--bs-border-color);
	margin: 1em 0 1.2em 0;
}

.codebox p {
	font-size: 0.8em !important;
	font-weight: bold;
	text-transform: uppercase;
	border-bottom: 1px px solid var(--bs-border-color);
	display: block;
	margin-bottom: 0;
	padding: 3px;
}

blockquote .codebox {
	margin-left: 0;
}

.codebox code {
	font: 0.9em Monaco, "Andale Mono", "Courier New", Courier, monospace;
	line-height: 1.3em;
	color: var(--bs-green);
	display: block;
	overflow: auto;
	height: auto;
	max-height: 200px;
	padding: 5px 3px;
}

/* Attachments
----------------------------------------*/
.attachbox {
	font-size: 0.8rem;
	border: 1px dashed transparent;
	width: max-content;
}

.attachbox dd {
	overflow-x: auto;
	overflow-y: hidden;
}

.attachbox p {
	font-weight: normal;
	line-height: 110%;
	color: rgba(var(--bs-secondary-rgb), 0.9);
}

.attachbox p.stats {
	font-weight: normal;
	line-height: 110%;
	color: rgba(var(--bs-secondary-rgb), 0.9);
}

.attach-image {
	max-width: 100%;
	margin: 3px 0;
}

.attach-image img {
	border: 1px solid rgba(var(--bs-secondary-rgb), 0.6);
	cursor: default;
}

/* Inline image thumbnails */

dl.thumbnail dd {
	font-style: italic;
	color: rgba(var(--bs-secondary-rgb), 0.9);
}

.attachbox dl.thumbnail dd {
	font-size: 100%;
}

dl.thumbnail dt a:hover img {
	border: 1px solid rgba(var(--bs-primary-rgb), 0.5);
}

.pm-message .attachbox {
	background-color: var(--bs-tertiary-bg);
}

dl.thumbnail dt a:hover {
	background-color: var(--bs-tertiary-bg);
}

/* Tables
----------------------------------------*/
.postprofile {
	display: grid;
	align-items: center;
	grid-template-areas:
		"img ."
		"img rank";
	grid-template-columns: minmax(0px, max-content) auto;
}

.postprofile li:first-child {
	grid-area: img;
}

.postprofile .profile-rank {
	grid-area: rank;
}


.no-avatar-img-sm {
	width: 1.125rem;
	height: 1.125rem;
}


.no-avatar-img-mid {
	width: 3.125rem;
	height: 3.125rem;
}

.no-avatar-img {
	width: 5.625rem;
	height: 5.625rem;
}

.postprofile .profile-contact .btn:focus-visible {
	outline: 2px solid var(--bs-emphasis-color);
}

@media (max-width: 768px) {


	.postprofile .avatar-container img,
	.postprofile svg {
		max-width: 40px;
		height: auto;
	}


	.postprofile {
		border-bottom: 1px solid var(--bs-border-color);
	}


	.no-avatar-icon {
		font-size: 2.5rem;
		display: none !important;
	}
}

@media (min-width: 768px) {
	.avatar-container img {
		max-width: 100%;
		height: auto;
	}


	.postprofile {
		border-inline-start: 1px solid var(--bs-border-color);
	}


	.no-avatar-icon {
		font-size: 5.625rem;
		display: none !important;
	}
}

.contact-icon {
	background-repeat: no-repeat;
	display: block;
	width: 32px;
	height: 32px;
}

/* Icon images
---------------------------------------- */

.contact-icon {
	background-image: url("./images/icons_contact.svg");
}

/* Profile & navigation icons */
.pm-icon {
	background-position: 2px 0;
}


.email-icon {
	background-position: -30px 0;
}


.jabber-icon {
	background-position: -80px 0;
}


.phpbb_icq-icon {
	background-position: -97px 0;
}


.phpbb_website-icon {
	background-position: -63px 0;
}


.phpbb_youtube-icon {
	background-position: -126px 0;
}


.phpbb_facebook-icon {
	background-position: -156px 0;
}


.phpbb_skype-icon {
	background-position: -188px 0;
}


.phpbb_twitter-icon {
	background-position: -221px 0;
}


.phpbb_yahoo-icon {
	background-position: -258px 0;
}

.contact-icons {
	font-size: 0;
	min-width: 0;
	padding: 0;
}

.column1 ul>li>*:not(:first-child),
.column2 ul>li>*:not(:first-child) {
	justify-self: start;
}

.notification_list img {
	max-width: 50px;
	max-height: 50px;
}

.notifications_avatar>*:first-child {
	align-self: center;
}

/* PM Styles
----------------------------------------*/
/* PM Message history */
.current {
	color: var(--bs-body-color);
}


.pmlist .bg1 {
	--bs-border-color: transparent;
}


/* PM marking colours */
.pmlist li.pm_message_reported_colour,
.pm_message_reported_colour {
	--bs-border-color: var(--bs-pink);
}

.pmlist li.pm_marked_colour,
.pm_marked_colour {
	--bs-border-color: var(--bs-orange);
}

.pmlist li.pm_replied_colour,
.pm_replied_colour {
	--bs-border-color: var(--bs-gray-600);
}

.pmlist li.pm_friend_colour,
.pm_friend_colour {
	--bs-border-color: var(--bs-primary);
}

.pmlist li.pm_foe_colour,
.pm_foe_colour {
	--bs-border-color: rgb(var(--bs-black-rgb));
}

.active {
	--bs-bg-opacity: 0.1;
	background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity));
}

.active:hover {
	color: var(--bs-white);
}

#minitabs .end-0 {
	right: auto !important;
}

.smilies {
	vertical-align: text-bottom;
}

.emoji {
	width: 1em;
	min-width: 18px;
	height: 1em;
	min-height: 18px;
}
.faq-entry :target{
	scroll-margin-block-start: 3.75rem;
}