:root {
	--text-color-dark: white;
	--text-color-light: black;
	--text-color: var(--text-color-dark);
	--text-color-alt: var(--text-color-light);
	
	--text-color-second-light: hsl(0, 0%, 30%);
	--text-color-second-dark: hsl(0, 0%, 70%);
	--text-color-second: var(--text-color-second-dark);
	
	--bg-color-light: hsl(0, 0%, 95%);
	--bg-color-dark: hsl(0, 0%, 5%);
	--bg-color: var(--bg-color-dark);
	
	--page-color-light: hsl(0, 0%, 100%);
	--page-color-dark: hsl(0, 0%, 10%);
	--page-color: var(--page-color-dark);
	
	--header-soft-text-light: hsl(0, 0, 20%);
	--header-soft-text-dark: hsl(0, 0%, 80%);
	--header-soft-text: var(--header-soft-text-dark);
	
	--header-color-light: hsl(0, 0%, 100%);
	--header-color-dark: hsl(0, 0%, 15%);
	--header-color: var(--header-color-dark);
	
	--header-border-light: rgba(0,0,0,0);
	--header-border-dark: hsl(0, 0%, 50%);
	--header-border: var(--header-border-dark);
	
	--bright-filter-light: 70%;
	--bright-filter-dark: 70%;
	--bright-filter: var(--bright-filter-dark);
	
	--color-filter-light: invert(44%) sepia(91%) saturate(2374%) hue-rotate(89deg) brightness(99%) contrast(103%);
	--color-filter-dark: invert(87%) sepia(35%) saturate(6704%) hue-rotate(239deg) brightness(105%) contrast(98%);
	--color-filter: var(--color-filter-dark);
	
	--color-light: hsl(120, 100%, 45%);
	--color-dark: hsl(290, 90%, 60%);
	--color: var(--color-dark);

	/* og colors 80% brightness */
	--color-darkened-light: hsl(120, 100%, 28%);
	--color-darkened-dark: hsl(290, 90%, 48%);
	--color-darkened: var(--color-darkened-dark);
	
	--shadow-light: 0 0 5px rgba(0,0,0,0.2);
	--shadow-dark: 0 0 5px rgba(0,0,0,0.3);
	--shadow: var(--shadow-dark);
	
	--header: var(--x-bg-color-A);
	
	--bw-filter-light: ;
	--bw-filter-dark: invert();
	--bw-filter: var(--bw-filter-dark);
	
	--geo-land-color-light: hsl(0, 0%, 70%);
	--geo-land-color-dark: hsl(0, 0%, 30%);
	--geo-land-color: var(--geo-land-color-dark);

	--color-a-dark-purple: hsl(270, 15%, 30%);
	--color-a-light: hsl(0, 0%, 85%);
	--color-a-dark: hsl(0, 0%, 25%);
	--color-a: var(--color-a-dark);

	--color-b-dark-purple: hsl(270, 25%, 17%);
	--color-b-light: hsl(0, 0%, 100%);
	--color-b-dark: hsl(0, 0%, 15%);
	--color-b: var(--color-b-dark);

	--color-c-dark-purple: hsl(270, 25%, 13.6%);
	--color-c-light: hsl(0, 0%, 95%);
	--color-c-dark: hsl(0, 0%, 12%);
	--color-c: var(--color-c-dark);

	--box-border-light: 1px dashed grey;
	--box-border-dark: 1px solid grey;
	--box-border: var(--box-border-dark);

	--notify-green-dark: lightgreen;
	--notify-green: var(--notify-green-dark);

	--notify-red-dark: red;
	--notify-red: var(--notify-red-dark);

	--body-filter-light: invert() brightness(110%);
	--body-filter-dark: ;
	--body-filter: var(--body-filter-dark);
}
@font-face {
	font-family: 'index';
	src: url('/assets/font/index.ttf');
}
@font-face {
	font-family: 'golos';
	src: url('/assets/font/golos.ttf');
}
.center {
	display: flex;
	flex-direction: row;
	justify-content: center;
}
.lone-center {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
}
body {
	color: var(--text-color);
	font-family: index;
	background-color: var(--bg-color);
	background-image: url("/assets/img/background.png");
	background-size: cover;
	backdrop-filter: var(--body-filter);
	height: 100vh;
	display: flex;
	gap: 30px;
	box-sizing: border-box;
	margin: 0;
	padding-bottom: 30px;
	padding-right: 30px;
	padding-left: 30px;
	padding-top: 90px; /* 60px (header) + 30px */
	border-radius: 10px;
	overflow: hidden;
	overflow-x: hidden;
}
nav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	height: 60px;
	display: flex;
	flex-direction: row;
	align-items: center;
	border-bottom: 1px solid var(--header-border);
	box-shadow: var(--shadow);
}
.nav {
	height: 60px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
.nav-background {
	width: 100%;
	height: 60px;
	background-color: var(--header-color);
	position: fixed;
	z-index: -1;
}
.nav-placehold {
	height: 60px;
}
.nav-text {
	color: var(--header-soft-text);
	height: 100%;
	padding-right: 12px;
	padding-left: 12px;
	line-height: 60px;
	cursor: pointer;
}
.nav-text:hover {
	backdrop-filter: brightness(80%);
}

.nav-search {
	border: 1px solid var(--header-border);
	border-radius: 15px;
	width: 100%;
	max-width: 600px;
	height: 35px;
	padding-left: 10px;
	padding-right: 10px;
	margin-left: 12px;
	margin-right: 100px;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 5px;
	filter: var(--bw-filter);
}
.nav-search-img {
	height: 20px;
	filter: brightness(var(--bright-filter));
	cursor: pointer;
}
.nav-search-input {
	color: var(--text-color);
	background: var(--x-bg-color-A);
	border: 0px;
	width: 100%;
	font-size: 15px;
	outline: none;
}

#nav-right {
	display: flex;
	align-items: center;
	width: fit-content;
	height: 100%;
	position: absolute;
	right: 24px;
}
.nav-user-icon {
	height: 40px;
	aspect-ratio: 1;
	border-radius: 40px;
	z-index: 1002;
	cursor: pointer;
}

#nav-user-darken {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 998;
	background-color: rgba(0, 0, 0, 50%);
}
#nav-user-icon-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: calc(100% + 1px);
	z-index: 1001;
	background-color: var(--color-c);
	border-left: var(--box-border);
	border-right: var(--box-border);
}

#nav-user-dropdown {
	position: absolute;
	right: -2px;
	top: 100%;
	border-radius: 10px;
	border-top-right-radius: 0;
	border: var(--box-border);
	background-color: var(--color-c);
	padding: 10px;
	white-space: nowrap;
	cursor: auto;
	z-index: 999;
}

.nav-user-dropdown-row {
	display: flex;
	gap: 10px;
	padding: 15px;
	cursor: pointer;
	border-radius: 10px;
	user-select: none;
}
.nav-user-dropdown-row:hover {
	backdrop-filter: brightness(80%);
}

#nav-user-dropdown img {
	width: 18px;
	height: 18px;
	filter: var(--bw-filter);
	border-radius: 0;
}
#nav-user-dropdown div {
	height: 18px;
	line-height: 18px;
	font-size: 18px;
}

.nav-icon-container {
	height: 100%;
	display: flex;
	align-items: center;
	padding-left: 10px;
	padding-right: 10px;
	cursor: pointer;
	position: relative;
}
.nav-icon-container:hover {
	backdrop-filter: brightness(80%);
}

#nav-color-mode-icon {
	height: calc(100% - 20px);
	filter: var(--bw-filter);
	cursor: pointer;
}

@media (min-width: 800px) {
	.logo-text-img {
		height: 35px;
		margin-right: 12px;
		cursor: pointer;
		border-radius: 0px;
		margin-left: 24px;
		left: 0;
	}
}
@media (max-width: 800px) {
	.logo-text-img {
		display: none;
	}
	.server-button-img {
		display: none;
	}
	.server-button-text {
		font-size: 18px;
	}
}

.mode-transition {
	transition-property: background-color, filter, color, opacity, border, backdrop-filter, box-shadow, text-shadow;
	transition-duration: 1s;
	transition-timing-function: linear;
}

.button {
	cursor: pointer;
	background-color: var(--color);
	transition-property: background-color;
	transition-duration: 0.15s;
	transition-timing-function: linear;
}
.button:hover {
	background-color: var(--color-darkened);
}

.big-box {
	height: fit-content;
	max-height: 100%;
	border-radius: inherit;
	background-color: var(--color-a);
	padding: 20px;
	box-sizing: border-box;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-gutter: auto;
	scrollbar-color: grey var(--color-a);
	border: var(--box-border);
	border-radius: inherit;
}

.big-box-scroll {
	height: fit-content;
	max-height: 100%;
	display: flex;
	overflow: hidden;
	position: relative;
}

.big-box-scroll .big-box {
	height: auto;
}

.big-box-scroll::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	z-index: 1;
	border: var(--box-border);
	border-radius: inherit;
	pointer-events: none;
}

.leftbar-box {
	width: fit-content;
	max-height: 100%;
	height: fit-content;
	position: fixed;
	left: 20px;
}

.leftbar-box-placeholder {
	width: 70px;
}

.leftbar-button {
	width: 50px;
	height: 50px;
	border-radius: 100%;
}

.leftbar-button-img {
	position: relative;
	top: 50%;
	width: 50px;
	transform: translateY(-50%) scale(0.8);
}

.server-box {
	width: 300px;
	min-width: 150px;
	position: relative;
}

.server-img {
	width: 100%;
	aspect-ratio: 1;
	border-radius: inherit;
	margin-bottom: 20px;
}

.server-title {
	font-family: golos;
	font-size: 25px;
	text-align: center;
}

.server-description {
	margin-top: 10px;
	margin-bottom: 20px;
	text-align: center;
}

.server-button {
	background-color: var(--color);
	height: 40px;
	display: flex;
	padding: 10px;
	gap: 10px;
	margin: 10px;
	margin-bottom: 0;
	box-sizing: border-box;
	line-height: 20px;
	font-size: 25px;
	justify-content: center;
	border-radius: inherit;
}

.server-button-selected {
	border: 2px solid var(--text-color);
}
.server-button-selected:hover {
	cursor: none;
	filter: none;
}

.server-button-img {
	filter: var(--bw-filter);
}

.content-box {
	flex-grow: 1;
}

div {
	border-radius: inherit;
	word-wrap: break-word;
}
a {
	border-radius: inherit;
	color: inherit;
	text-decoration: inherit;
}

.content-item {
	display: flex;
	gap: 20px;
	padding: 20px;
	margin-top: 20px;
	background-color: var(--color-b);
	cursor: pointer;
	overflow: auto;
	scrollbar-width: thin;
	scrollbar-color: grey var(--color-b);
	box-shadow: inset 0px -3px var(--color-c);
}
.content-item:first-child {
	margin-top: 0px;
}
.content-item:hover {
	background-color: var(--color-c);
}

.content-item-list-img {
	height: 100px;
	aspect-ratio: 1;
	border-radius: inherit;
}

.content-item-list-info {
	height: 100px;
	display: grid;
	grid-template-rows: auto auto;
	grid-template-columns: auto;
	column-gap: 20px;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	transform-origin: left;
}
.content-item:hover .content-item-list-info {
	transform: scale(1.2);
}
.content-item-list-info-selec {
	transform: scale(1.2);
}

.content-item-list-title-flex {
	display: flex;
	flex-direction: column;
	justify-content: end;
	width: max-content;
}

.content-item-list-title {
	font-family: golos;
	font-size: 40px;
}

.content-item-list-desc-flex {
	display: flex;
	flex-direction: row;
	font-size: 30px;
}

.content-item-list-desc-levels {
	margin-right: 50px;
}

.content-item-list-desc-img {
	filter: var(--bw-filter);
	height: 20px;
	margin-right: 5px;
	position: relative;
	top: 8px;
}

.info-box {
	width: 700px;
}

.info-box-empty {
	height: 100px;
	min-height: fit-content;
	text-align: center;
	color: hsl(0, 0%, 90%);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.info-list-title-flex {
	background-color: var(--color-b);
	padding: 20px;
}

.info-list-title {
	font-size: 35px;
	font-family: golos;
	text-align: center;
}

.info-list-desc {
	margin-top: 10px;
	text-align: center;
}

.info-list-scores-title {
	width: fit-content;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	font-size: 35px;
	font-family: golos;
	background-color: var(--color-a);
	padding: 20px;
	padding-top: 0;
	padding-bottom: 0;
}

#info-full {
	display: none;
}

.info-list-scores-title-container {
	position: relative;
	margin-bottom: 5px;
}

.info-list-scores-tab {
	display: grid;
	grid-template-columns: 70% 30%;
	padding: 30px;
	padding-top: 15px;
	padding-bottom: 10px;
}

.info-list-scores-tab-img {
	height: 40px;
}

.info-list-scores-tab-text {
	font-size: 30px;
	text-align: center;
	background-color: var(--color-b);
	line-height: 40px;
}

.info-list-button-flex {
	display: flex;
	margin-bottom: 10px;
}

.info-list-button {
	font-size: 20px;
	padding: 10px;
	text-align: center;
	margin: 10px;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.info-list-button-img {
	height: 20px;
	position: relative;
	top: 2px;
	margin-right: 8px;
	filter: var(--bw-filter);
}

.cube-rain-container {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.cube-rain {
	position: absolute;
	transition-property: transform, top;
	transition-duration: 1s;
	transition-timing-function: linear;
	z-index: -2;
	filter: blur(1px);
}

input {
	border: 0px;
	border-radius: inherit;
	height: 30px;
	font-family: index;
	padding-left: 10px;
	outline: none;
	background-color: var(--color-b);
	color: var(--text-color);
	box-sizing: border-box;
	font-size: 14px;
}

.nav-notification {
  width: 100%;
  height: 50px;
  line-height: 50px;
  position: absolute;
  bottom: 0;
  font-size: 20px;
  padding-left: 20px;
  z-index: -1;
  cursor: pointer;
  transition-property: bottom;
  transition-duration: 0.25s;
  transition-timing-function: linear;
}

.nav-notification-down {
  bottom: -50px;
}

.nav-notification-good {
  background-color: var(--notify-green);
  color: black;
}

.nav-notification-bad {
  background-color: var(--notify-red);
  color: white;
}

.popup-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: hsl(0, 0%, 0%, 50%);
  z-index: 1001;
  display: none;
  flex-direction: row;
  justify-content: center;
  box-sizing: border-box;
  padding: 50px;
}

.popup-x {
  background-color: var(--color-a);
  border: var(--box-border);
  margin-left: 10px;
  font-size: 30px;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  cursor: pointer;
}

.semi-strikethrough {
    border-bottom: 2px solid lightgrey;
    position: absolute;
    top: calc(50%); /* add pixels to better align with lowercase text */
    width: 100%;
}

.semi-strikethrough-lower {
    border-bottom: 2px solid lightgrey;
    position: absolute;
    top: calc(50% + 2px); /* add pixels to better align with lowercase text */
    width: 100%;
}

.info-list-stats-grid {
	display: grid;
	grid-template-columns: auto auto auto;
	width: 100%;
	height: 100px;
	margin-top: 5px;
}

.info-list-stats-grid-item {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.info-list-stats-grid-item-value {
	font-size: 40px;
}

.info-list-stats-grid-item-label {
	font-size: 20px;
}

.mod-view-only {
	display: none;
}

