* {
	box-sizing: border-box;
}

html {
	scroll-behavior: auto;
}

body {
	background-color: #101010;
	color: #f0f0f0;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.875em;
	display: grid;
	grid-template-areas: "nav article";
	grid-template-columns: max-content auto;
	grid-template-rows: auto;
	grid-row-gap: 0;
	grid-column-gap: 0;
	min-height: 100vh;
	margin: 0;
	padding: 0;
}

ul, h1, h4 {
	margin: 0;
	padding: 0;
}

h1 {
  margin-block: 0;
  font-size: 1.5em;
}

article, nav {
	padding: 12px;
}

#main-article {
	grid-area: article;
}

#main-nav {
	grid-area: nav;
	background-color: #131313;
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - 24px);
}

.navi {
	display: flex;
	justify-content: start;
	align-items: center;
	flex-direction: column;
}

.menu-icon {
	color: #fff;
	font-size: 1.5em;
	cursor: pointer;
	display: none; /* Hide by default on larger screens */
}

.menu {
	list-style-type: none;
	display: flex;
	flex-direction: column;
}

.menu li {
	border: 1px solid transparent;
	border-radius: 16px;
	margin: 10px 0;
	transition: transform 0.2s ease-in-out;
}

.menu li:hover {
	background-color: #191919;
	border: 1px solid #191919;
	cursor: pointer;
	transform: scale(1.25);
}

.menu li a {
	display: block;
	padding: 8px 16px;
	color: #fff;
	text-decoration: none;
}

.menu li a:hover, .menu li a:visited, .menu li a:visited:hover {
	color: #fff;
}

.menu li i {
	margin-right: 4px;
}

#menu-toggle {
	display: none; /* Hide the checkbox */
}

.copyright {
	text-align: center;
	margin-top: auto;
}

.projectList li {
	list-style-type: none;
}

.projectList li::before {
	content: "\00bb\00a0";
}

/* Media query for smaller screens */
@media all and (max-width: 600px) {
	body {
		grid-template-areas: "nav" "article";
		grid-template-columns: auto;
		grid-template-rows: max-content auto;
	}

	.menu {
		list-style-type: none;
		display: flex;
		flex-direction: column;
		margin-top: 10px;
		height: 0;
		overflow: hidden;
		transition: height 0.2s ease-in-out;
		animation: none;
	}

	.menu-icon {
		display: block; /* Show menu icon on smaller screens */
	}

	/* Show menu when checkbox is checked */
	#menu-toggle:checked ~ .menu {
		height: 175px;
		animation: changeOverflow 0.2s ease-in-out forwards;
	}

	@keyframes changeOverflow {
		from {
			overflow: hidden;
		}
		to {
			overflow: visible;
		}
	}

	#main-nav {
		min-height: auto;
	}

	.copyright {
		margin-top: 12px;
	}
}

a {
	color: #0080ff;
	text-decoration: none;
}

a:hover {
	color: #00a0ff;
}

a:visited {
	color: #6441a5;
}

a:visited:hover {
	color: #7c51cc;
}

a[href^="http"]:not([href*="havoc.de"]):not([href*="havocspage.net"]):not(.link):after {
	content: '\F1C5';
	font-family: bootstrap-icons;
	margin-left: 5px;
	font-size: 0.8em;
}

table {
	margin-top: 12px;
	text-align: left;
}

th, td {
	padding-left: 8px;
	padding-right: 8px;
	vertical-align: top;
}

th:first-child, td:first-child {
	padding-left: 0;
}

th:last-child, td:last-child {
	padding-right: 0;
}

.orange {
	color: #fa8438;
}

.avatar {
	background-image: url('../img/havoc.png');
	border-radius: 50%;
	display: block;
	margin: 24px auto;
	width: 180px;
	height: 180px;
}

.hr {
	height: 1px;
	background-image: linear-gradient(to right, #101010, #999, #101010);
	border: 0;
	padding: 0;
	margin-top: 16px;
	margin-bottom: 16px;
	width: 100%;
}

.subtitle {
	font-weight: bold;
	font-size: 0.75em;
}

.uppercase {
	text-transform: uppercase;
}

.text-center {
	text-align: center;
}

.text-justify {
	text-align: justify;
}

.center {
	margin: auto;
}

.mt-0 {
	margin-top: 0;
}

.mb-4 {
	margin-bottom: 4px;
}

.font-italic {
  font-style: italic;
}

.container {
	padding-top: 16px;
	padding-bottom: 16px;
	margin-right: auto;
	margin-left: auto;
	width: 100%;
	height: 100%;
}

.name-container {
	background-color: #191919;
	border-radius: 8px;
	font-weight: bold;
	position: relative;
	margin: 30px;
	padding: 8px;
	white-space: nowrap;
}

.name-container::after {
	display: block;
	content: "";
	border: 15px solid transparent;
	border-bottom-color: #191919;
	border-top: 0;
	position: absolute;
	top: -15px;
	left: calc(50% - 15px);
	width: 0;
}

.links-container {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.link {
	background-color: rgb(25, 25, 25) !important;
	color: #f0f0f0 !important;
	cursor: pointer;
	border: 1px solid transparent;
	line-height: 8px;
	border-radius: 16px;
	display: inline-block;
	transition: transform 0.2s ease-in-out;
	text-align: center;
	padding: 8px;
	margin-top: 8px;
	margin-bottom: 8px;
	overflow: hidden;
	white-space: nowrap;
}

.link:hover {
	background-color: rgba(25, 25, 25, 0.8) !important;
	transform: scale(1.25);
}

.link.li {
	background-color: rgb(8, 112, 192) !important;
}

.link.li:hover {
	background-color: rgba(8, 112, 192, 0.8) !important;
}

.link.x {
	background-color: rgb(20, 24, 28) !important;
}

.link.x:hover {
	background-color: rgba(20, 24, 28, 0.8) !important;
}

.link.gh {
	background-color: rgb(36, 36, 36) !important;
}

.link.gh:hover {
	background-color: rgba(36, 36, 36, 0.8) !important;
}

.link.yt {
	background-color: rgb(229, 45, 39) !important;
}

.link.yt:hover {
	background-color: rgba(229, 45, 39, 0.8) !important;
}

.link.th {
	background-color: rgb(100, 65, 165) !important;
}

.link.th:hover {
	background-color: rgba(100, 65, 165, 0.8) !important;
}

.screenshot-content {
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.5);
	color: #fff;
	margin: 7px 4px;
}

.screenshot-content p {
	margin: 4px;
}

.tooltip {
	position: relative;
	display: inline-block;
}

.tooltip-trigger {
	position: relative;
	display: inline-block;
	cursor: pointer;
}

.tooltip-content {
	background-color: rgb(48, 48, 48);
	color: #fff;
	text-align: center;
	border-radius: 8px;
	padding: 8px;
	position: absolute;
	top: 0;
	left: 0;
	transform: translateX(-50%);
	opacity: 0;
	transition: opacity 0.3s;
	max-width: 200px;
	z-index: 1;
	visibility: hidden;
}

.tooltip-content::after {
	content: "";
	border: 5px solid transparent;
	border-bottom-color: rgb(48, 48, 48);
	border-top: 0;
	position: absolute;
	bottom: 100%;
	left: calc(50% - 5px);
}

.news-image {
	max-width: 100%;
	max-height: 100%;
	object-fit: cover;
}

.version-cursor {
  cursor: help !important;
  padding-bottom: 1px;
  border-bottom: 2px dotted #fff;
}

#backToTop {
  position: fixed;
  bottom: 32px;
  right: 32px;
  padding: 8px;
  border: none;
  border-radius: 8px;
  background-color: rgb(48, 48, 48);
  color: white;
  font-size: 0.875em;
  cursor: pointer;
  z-index: 1000;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  transition: opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}

#backToTop:hover {
  background-color: rgb(64, 64, 64);
}

#backToTop.show {
  opacity: 1;
  pointer-events: auto;
}
