/* FORUM INDEX */
.forum-wrapper {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	background-color: var(--color-forum-wrapper-background);
	border: var(--color-forum-wrapper-border);
	box-sizing: border-box;
}

.forumdisplay-wrapper {
	display: flex;
	flex-direction: column;
	padding: 1rem;
	gap: 1.5rem;
	background-color: var(--color-forum-bit-background);
	border: var(--color-forum-bit-border);
}

.forum-bit-depth-1 {
	display: flex;
	flex-direction: column;
	padding: 1rem;
	gap: 1rem;
	background-color: var(--color-forum-bit-background);
	border: var(--color-forum-bit-border);
}
	
.forum-bit-name,
a.forum-bit-name {
	padding: 1.5rem 1rem;
	font-family: var(--font-secondary);
	color: var(--color-forum-bit-name);
	font-size: 3.5rem;
	letter-spacing: 1.25rem;
	text-shadow: 0.5px 0.5px 0px currentColor;
	text-transform: lowercase;
	background: var(--forum-background-image) bottom -3rem right / 50rem no-repeat;

	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.subforum-name {
	font-size: 1.5rem;
	line-height: 1;
	color: var(--color-subforum-name);
	letter-spacing: 0.25rem;
	text-transform: lowercase;
}

@media (width < 992px) {
	.forum-bit-name,
	a.forum-bit-name {
		padding: 1rem;
		font-size: 2.5rem;
		letter-spacing: 0.75rem;
	}
	
	.subforum-name {
		font-size: 1.25rem;
	}
}

@media (width < 577px) {
	.forum-bit-name,
	a.forum-bit-name {
		padding: 0.5rem 1rem;
		font-size: 2rem;
		letter-spacing: 0.5rem;
	}
	
	.subforum-name {
		font-size: 1rem;
	}
}

.forum-bit-subforums {
	display: grid;
	grid-template-columns: min-content auto 16rem;
	grid-template-areas: "status description posts";
	gap: 2rem;

	.row {
		display: grid;
		grid-template-columns: subgrid;
		grid-column: status / posts;
	}

	.forum-status {
		grid-column: status;
	}

	.forum-description {
		grid-column: description;
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		gap: 0.25rem;

		.name {
			font-size: 1.5rem;
			line-height: 1;
			color: var(--color-subforum-name);
			letter-spacing: 0.25rem;
			text-transform: lowercase;
		}

		.description {
			text-align: justify;

			a {
				text-transform: lowercase;
			}
		}
	}

	.post-info {
		grid-column: posts;
		display: flex;
		flex-direction: column;
		justify-content: space-evenly;

		/* don't show post-info for 'regeln & informationen'*/
		&.forum-4 {
			display: none;
		}

		.last-post-wrapper {
			display: flex;
			align-items: center;
			gap: 1rem;
		}

		.post-count {
			font-size: 0.75rem;
			align-self: flex-end;
		}
	}

	@media (width < 992px) {
		grid-template-columns: unset;
		grid-template-rows: auto auto;

		.row {
			grid-template-columns: unset;
			grid-template-rows: subgrid;
			grid-row: span 2;
			row-gap: 1rem;

			.forum-description {
				grid-row: 1;
				grid-column: unset;
				display: -webkit-box;
				-webkit-box-orient: vertical;
				-webkit-line-clamp: 4;
				overflow: hidden;
			}

			.post-info {
				grid-row: 2;
				grid-column: unset;
			}
		}
	}
}

.forum-status {
	--width: 6rem;
	width: var(--width);
	aspect-ratio: 1;
	
	&.small {
		--width: 3rem;
	}
	
	&.forum_on {
		background: var(--image-forum-on) no-repeat 0 0 / var(--width);
	}
	
	&.forum_off {
		background: var(--image-forum-off) no-repeat 0 0 / var(--width);
	}
	
	&.forum_offclose {
		background: var(--image-forum-off-lock) no-repeat 0 0 / var(--width);
	}
}

.last-post {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	font-size: 0.75rem;
	
	.thread-link {
		text-transform: uppercase;
		font-weight: 500;
	}
}

.foruminfo-rules {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	
	.title {
		font-size: 1.25rem;
		font-weight: 500;
		letter-spacing: 0.125rem;
	}
}

/* FORUM VIEW - THREAD LIST */
.threadlist {
	display: grid;
	grid-template-columns: auto min-content min-content 16rem;
	grid-template-areas: "name replies views posts";
	column-gap: 1rem;
	
	.row {
		display: grid;
		grid-template-columns: subgrid;
		justify-items: center;
        align-items: center;
		grid-column: name / posts;
		padding: 0.75rem 0.5rem;
		
		&.row-header {
			color: var(--color-threadlist-header-text);
			background-color: var(--color-threadlist-header-background);
			font-weight: 500;
			padding: 0.25rem 0.5rem;
			
			div {
				display: flex;
				align-items: center;
				gap: 0.5rem;
			}
			
			a {
				color: var(--color-threadlist-header-text);
				display: flex;
                align-items: baseline;
                gap: 0.25rem;
			}
			
			i {
				font-size: 0.675rem;
			}
		}
		
		&.row-subheader {
			grid-template-columns: unset;
			color: var(--color-threadlist-subheader-text);
			background-color: var(--color-threadlist-subheader-background);
			font-weight: 600;
			letter-spacing: 0.125rem;
			justify-self: start;
		}
		
		&.row-mod {
			grid-template-columns: unset;
			text-align: center;
		}
		
		&.row-info {
			grid-template-columns: unset;
			text-align: center;
			font-style: italic;
		}
		
		&.selected {
			background-color: var(--color-threadlist-thread-selected-background);
		}
		
		&.trow_deleted {
			background-color: var(--color-threadlist-thread-deleted-background);
			opacity: 0.7;
			
			&.selected {
				opacity: 1;
			}
			
			.subject > :first-child:before {
				content: "Gelöscht:";
				font-weight: 600;
			}
		}
		
		.thread-info {
			grid-column: name;
			justify-self: start;
			display: flex;
			align-items: center;
			gap: 0.75rem;
			
			.subject {
				display: flex;
				flex-direction: column;
				gap: 0.125rem;
				
				[class*="new"] {
					font-weight: 600;
				}
			}
		}
		
		.replies {
			grid-column: replies;
		}
		
		.views {
			grid-column: views;
		}
		
		.post-info {
			grid-column: posts;
			justify-self: end;
			display: flex;
			align-items: center;
			gap: 0.75rem;
			
			.last-post {
				display: flex;
				flex-direction: column;
				align-items: flex-end;
				gap: 0.125rem;
				text-align: right;
			}
			
			span[data-moderation="1"] {
				padding-right: 1.5625rem;
			}
		}
	}
	
	@media (width < 992px) {
		grid-template-columns: unset;
		grid-template-rows: auto auto;

		.row {
			grid-template-columns: unset;
			grid-template-rows: subgrid;
			grid-row: span 2;
			row-gap: 0.5rem;
			padding: 0.75rem 0;

			.thread-info {
				grid-row: 1;
				grid-column: unset;
			}

			.post-info {
				grid-row: 2;
				grid-column: unset;
			}
		}
	}
}

.subject_new {
    font-weight: 600;
}

.forum-subscribe,
.forum-sort,
.forum-search,
.forum-modbit {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem;
	flex-wrap: wrap;
	
	@media (width < 577px) {
		input, select {
			flex: 1;
		}
	}
}

/* STATISTICS */
.panel.statistics {
	
	.headline {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.25rem;
		
		.title {
			font-family: var(--font-secondary);
			font-size: 2.5rem;
			letter-spacing: 0.75rem;
			line-height: 0.8;
			text-shadow: 0.5px 0.5px 0px currentColor;
			text-transform: lowercase;
		}
	}
	
	.statistics-grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 1rem;
	}
	
	.box,
	.border-box {
		flex: 1;
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		padding: 1rem;
		border: 1px solid transparent;
		box-sizing: border-box;

		.title,
		a.title {
			display: flex;
			gap: 0.75rem;
			font-weight: 500;
			text-transform: uppercase;
			color: var(--color-text);
		}
	}
	
	.border-box {
		border: 1px solid var(--color-panel-border);
	}
	
	.online-stats-accordion {
		background-color: transparent;
		border-top: none;
	}
	
	.inplayquote {
		grid-column: span 2;
		position: relative;
		isolation: isolate;
		
		.title {
			text-transform: none;
			
			a {
				color: var(--color-text);
			}
			
			.user {
				text-transform: uppercase;
			}
		}
		
		.quote-content {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: space-between;
			gap: 1rem;
		}
		
		.quote {
			text-align: justify;
		}
		
		.scene {
			text-align: center;
		}
		
		&:before {
			content: "\f10e";
			font-family: "Font Awesome 7 Pro";
			font-weight: 900;
			position: absolute;
			bottom: 0;
			left: 0;
			font-size: 2.5rem;
			line-height: 1;
			width: 2.5rem;
			color: var(--color-secondary);
			z-index: -1;
			opacity: 0.15;
			-webkit-font-smoothing: antialiased;
		}

		&:after {
			content: "\f10d";
			font-family: "Font Awesome 7 Pro";
			font-weight: 900;
			position: absolute;
			top: 0;
			right: 0;
			font-size: 2.5rem;
			line-height: 1;
			width: 2.5rem;
			color: var(--color-secondary);
			z-index: -1;
			opacity: 0.15;
			-webkit-font-smoothing: antialiased;
		}
	}
	
	.legend-wrapper {
		flex: 1;
		height: 100%;
		display: flex;
		align-items: center;
        justify-content: center;
		
		.legend {
			display: flex;
			align-items: flex-start;
			gap: 0.5rem;
			
			.legend-item {
				flex: 1;
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: flex-start;
				text-align: center;
				gap: 0.25rem;
			}
		}	
	}
	
	@media (width < 992px) {
		.headline .title {
			font-size: 1.5rem;
			letter-spacing: 0.5rem;	
		}
	}
	
	@media (width < 577px) {
		.box {
			grid-column: span 3;
		}
	}
}

.ingame-statistics {
	padding: 1rem 0;
	display: grid;
	grid-template-columns: min-content repeat(9, 1fr) min-content;
	justify-items: center;
	
	@media (width < 992px) {
		grid-template-columns: min-content repeat(7, 1fr) min-content;
	}
	
	@media (width < 577px) {
		grid-template-columns: min-content repeat(3, 1fr) min-content;
	}
	
	.statistic {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.5rem;
		
		i[class^="fa"] {
			font-size: 1.5rem;
		}
		
		.value {
			font-size: 0.75rem;
			text-align: center;
			white-space: nowrap;
			
			a {
				color: var(--color-text);
			}
		}
	}
}

.sisterbutton {
	display: inline-block;
	position: relative;
	height: 31px;

	&:after {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		content: "";
		background: var(--color-primary);
		mix-blend-mode: color;
		opacity: 1;
		transition: opacity 250ms ease;
	}

	&:hover:after {
		opacity: 0;
	}
}









