 body {
 	font-family: "Montserrat", sans-serif;
 	font-optical-sizing: auto;
 	font-weight: 400;
 	font-style: normal;
 	font-size: 16px;
 	display: flex;
 	justify-content: center;
 	align-items: center;
 	flex-direction: column;
 	min-height: 100vh;
 	margin: 0;
 	padding: 0;
 	box-sizing: border-box;
 	overflow-x: hidden;
 }



@keyframes gradientAnimation {
  0% {
    background-position: 0% 0%; /* Start Links Mitte */
  }
  25% {
    background-position: 100% 0%; /* Oben Rechts */
  }
  50% {
    background-position: 100% 100%; /* Unten Rechts */
  }
  75% {
    background-position: 0% 100%; /* Unten Links */
  }
  100% {
    background-position: 0% 0%; /* Zurück zum Start Links Mitte */
  }
}

 .controls {
 	display: flex;
 	justify-content: space-between;
 	width: 100%;
 	max-width: 500px;
 	margin-bottom: 10px;
 }

 .button {
 	padding: 6px 12px;
 	background-color: #4f46e5;
 	color: white;
 	border: none;
 	border-radius: 4px;
 	cursor: pointer;
 }

 .visualization-container {
 	position: absolute;
 	width: 100vw;
 	height: 100vh;
 	overflow-x: hidden;
 	overflow-y: hidden;
 	left: 0;
 	right: 0;
 	margin-left: calc(-50vw + 50%);
 }

 .gradient-bg {
 	position: absolute;
 	top: 0;
 	left: 0;
 	width: 100%;
 	height: 100%;
 	min-width: 100%;
 	/* background: linear-gradient(to bottom, #4f46e5, #60a5fa, #4ade80); */
 	z-index: -1;

  /* background: linear-gradient(45deg, #541ba2, #d4890b, #fc1c98);
   background: linear-gradient(45deg, #7317c3, #d2348b, #31e6cb); */
  /*background: linear-gradient(-45deg, #a0197c, #fe4374, #541ba2, #a0197c);*/
  background: linear-gradient(45deg, #8634f9, #ffab1a, #ff2fa2);
  background-size: 300% 300%;
  animation: gradientAnimation 30s ease infinite;
}

 .median {
 	position: fixed;
 	top: 50%;
 	left: 0;
 	height: 1px;
 	width: 100%;
 	z-index: -1;
 	background-color: rgba(255, 255, 255, 0.1);
 }

 .scroll-container {
 	position: relative;
 	height: 100%;
 	overflow-x: auto;
 	overflow-y: hidden;
 	scroll-behavior: smooth;
 }

 .scroll-container:active {
 	cursor: grabbing;
 	/* Change cursor when active */
 }

 .spacer {
 	height: 100vh;
 }

 .dot-tooltip .tooltip-background {
 	fill: rgba(0, 0, 0, 0.0);

 }

 .dot-tooltip .tooltip-content {
 	display: flex;
 	flex-direction: column;
 	justify-content: center;
 	/* Center vertically */
 	align-items: center;
 	/* Center horizontally */
 	width: 100%;
 	height: 100%;
 	color: white;
 	/* Text color */
 }

 .dot-tooltip .image_container {
 	margin-top: 8px;
 }

 .dot-tooltip .tooltip-image {
 	width: auto;
 	height: 100%;
	display: block;
	pointer-events: auto;
 }

 .dot-tooltip .tooltip-title {
 	font-size: 12px;
 	font-weight: 300;
 	margin-bottom: 2px;
 	text-align: center;
 	text-wrap: balance;
 	hyphens: auto;
 }

 .dot-tooltip .tooltip-description {
 	font-size: 12px;
 	font-weight: 200;
 }

 .dot-tooltip .image_container {
 	width: 80px;
 	height: 80px;
 	overflow: hidden;
 	border-radius: 50%;
 	border: 2px solid white;
	display: flex;
  justify-content: center;
 }

 .dot-tooltip .tooltip-arrow {
	width: 1px;
	height: 30px;
	background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.5), transparent);

}