/* Hauptfarben */
:root {
	--primary-bg-color: #2C3E50; /* Dunkles Blau für den Menübalken */
	--secondary-bg-color: #ECF0F1; /* Hellgrau für den Hauptinhalt */
	--text-color: #333; /* Dunkler Text */
	--accent-color: #E74C3C; /* Blaue Akzentfarbe */
	--default-color: #FFF;
}

/* Schriftarten */
@font-face {
	font-family: Roboto;
	src: url('../fonts/Roboto-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: Roboto;
	src: url('../fonts/Roboto-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
}

/* Body-Stil */
body {
	margin: 0;
	padding: 0;
	height: 100vh;
	display: flex;
	flex-direction: column;
	font-family: Roboto, sans-serif;
}

/* Hauptmenüband-Stil */
.top-menu {
	background-color: var(--accent-color);
	color: var(--default-color);
	padding: 10px 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1001;
	border-bottom: 1px solid var(--default-color);
}

.sub-menu {
	display: flex;
	justify-content: flex-end;
	padding-right: 88px;
}

/* Submenüpunkt-Stil */
.sub-menu a {
	color: var(--default-color);
	text-decoration: none;
	margin: 0 12px;
	font-size: 14px;
	transition: color 0.3s;
}

.sub-menu a:hover {
	color: var(--text-color);
}

.material-icons {
	font-size: 14px !important;
	vertical-align: top;
	color: var(--default-color);
	font-weight: 200;
}

/* Navigationsmenü-Stil */
nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: var(--primary-bg-color);
	padding: 10px 20px;
	height: 80px;
	position: fixed;
	top: 40px;
	left: 0;
	width: 100%;
	z-index: 1000;
}

/* Branding-Stil */
.branding {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-left: 20px;
}

.branding a {
	text-decoration: none;
}

.domain {
	font-size: 18px;
	font-weight: bold;
	color: var(--default-color);
}

.domain span {
	font-size: 12px;
}

.slogan {
	font-size: 14px;
	color: var(--accent-color);
}

/* Hamburger-Menü-Stil */
.menu-toggle {
	display: none;
	flex-direction: column;
	cursor: pointer;
	align-self: flex-end;
}

.menu-toggle span {
	width: 30px;
	height: 5px;
	background-color: var(--default-color);
	margin: 5px 0;
}

/* Menüpunkt-Stil */
.menu {
	margin-right: 100px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-grow: 1;
}

.menu a {
	color: var(--default-color);
	text-decoration: none;
	margin: 0 20px;
	font-size: 30px;
	font-weight: bold;
	transition: color 0.3s;
}

.menu a:hover {
	color: var(--accent-color);
	font-weight: bold;
}

/* Responsives Menü-Stil */
@media (max-width: 1024px) {
	.menu {
		display: none;
		flex-direction: column;
		background-color: var(--primary-bg-color);
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		height: 100vh;
		z-index: 1000;
		transition: transform 0.3s ease;
		transform: translateX(100%);
	}

	.menu.active {
		display: flex;
		transform: translateX(0%);
	}

	.menu-toggle {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		height: 80px;
		padding-right: 20px;
	}

	.menu-toggle span {
		width: 30px;
		height: 5px;
		background-color: var(--default-color);
		margin: 5px 0;
	}

	.menu a {
		color: var(--default-color);
		text-decoration: none;
		margin: 20px 0;
		font-size: 18px;
	}
}

/* Visualisierungscontainer-Stil */
#visualization-container {
	margin-top: 80px;
	width: 100vw;
	height: 100vh;
	border: none;
}

/* Stil für die Leiste am unteren Rand */
.bottom-bar {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: var(--primary-bg-color);
	padding: 10px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: height 0.3s ease;
}

.function-button {
	background-color: var(--accent-color);
	color: var(--default-color);
	padding: 10px 20px;
	border: none;
	cursor: pointer;
	border-radius: 5px;
	font-size: 16px;
	margin-right: 10px;
}

.function-button:hover {
	background-color: #FF5733;
}

/* Stil für das Eingabefeld-Container */
.add-person-form {
	display: none;
	align-items: center;
	/*max-width: 300px;*/
	justify-content: space-between;
	transition: opacity 0.3s ease;
	opacity: 0;
}

.add-person-form input[type="text"] {
	padding: 5px;
	margin: 0 10px 0 0;
}

.add-person-form button[type="submit"] {
	background-color: var(--accent-color);
	color: var(--default-color);
	padding: 10px 20px;
	border: none;
	cursor: pointer;
	border-radius: 5px;
	font-size: 16px;
	margin-right: 10px;
}

.add-person-form button[type="submit"]:hover {
	background-color: #FF5733;
}