/* ----------------------------------------------- */
/* ----------------------------------------------- */

:root {
    --font-size: 16px;

	--clean-mod-color: #fafafa;
	--dark-mod-color: #000;

	--accent: #000;
	--nav-bg-2color: #84C5E6;
	--nav-bg-3color: #078511;
	--nav-bg-color: #5d6655;
	--player-bg-color: #1f59cd;
	--body-bg-color: #ededed;
	--content-legal-bgcolor: #CCC;
	--top2-bg-color: #5d6655;
	--top3-bg-color: #22589e;
	--top-old-bg-color: #296fae/*#F66C11*//*#f5947c*//*#3ac3da*/;
	--top-top-bg-color: #161616/*#656862*/;
	--top-bg-color: #303030;
	--sel-bg-color: #000;
	--sel-brd-bg-color: #1b8a1b;
	--sel-old-bg-color: #f41626;
	--body-txt-color: #555;
	--body-text-color: #555;
	--top-header-bg-color: #955151;
	--top2-header-bg-color: #4ea869;
	--top-header2-bg-color: #68735f;
	--canvas-bg-color: #62695b;
	--canvas-bgcolor: #acbc9d;
	--tool-bgcolor: #d2dfc6;
	--content-legal-item-bgcolor: #C7C7C7;
	--brd-bgcolor: rgb(180, 180, 180);
	--default-brd-bgcolor: #808080;
	--color-azure: azure;
	--color-green-light: #0267cc/*#c0e2dc*//*#cce2c0*/;
	--color-sel-green: red;
	--azure: azure/*#46baf4*/;
	--background-color: #012041;
}

html {
    scroll-behavior: smooth;
}

body {
	background-color: /*#ec3131*/var(--body-bg-color);
	/*font-family: Arial, sans-serif;*/
	font-family: Arial, Helvetica, sans-serif, 'Roboto', cursive;
	color: var(--dark-mod-color);
	font-size: 16px;
	margin: 0;
	padding: 0;
	line-height: 1.8;
	cursor: crosshair;
}

img {
	padding: 5px;
	border: 1px solid var(--default-brd-bgcolor);
	display: block;
}

img:hover {
  transform: scale(1.05); /* 5 % größer */
  transition: transform 0.3s ease; /* weicher Übergang */
}

blockquote {
	margin: 0;
	padding: 0;
	border: none;
	font-style: normal;
	line-height: 1.5;
	color: inherit;
}

blockquote p {
	margin: 0;
}

blockquote footer {
	border: none;
	background: none;
	padding-left: 0.5em;
	margin-top: 0.5em;
	font-size: 0.95em;
}

blockquote footer {
	margin: 7px 0;
}

blockquote footer span {
	font-style: italic;
}

canvas {
	background: #FFF;
}

input[type="color"] {
	max-height: 42px;            /* Höhe des Buttons */
	max-width: 42px;
	background-color: var(--body-bg-color); /* Hintergrundfarbe des Buttons */

	border: 2px solid #000;  /* Rand des Buttons */
	border-radius: 5px;     /* Abgerundete Ecken */
	cursor: pointer;         /* Ändert den Mauszeiger bei Hover */
  }

input[type="range"] {

	cursor: pointer;         /* Ändert den Mauszeiger bei Hover */
  }

input[type="text"], input[type="number"], input[type="email"] {
	min-height: 20px;            /* Höhe des Buttons */
	font-size: 17px;         /* Schriftgröße im Button */
	background-color: var(--body-bg-color); /* Hintergrundfarbe des Buttons */
	color: var(--body-txt-color);;            /* Textfarbe */
	border: 2px solid #000;  /* Rand des Buttons */
	border-radius: 5px;     /* Abgerundete Ecken */
  }


header h2 {
	font-size: 1.1em;
}

footer {
	border-top: 1px solid var(--default-brd-bgcolor);
	background-color: #454545;
	color: var(--body-bg-color);
	padding-left: 70px;
	padding-right: 70px;
	padding-bottom: 20px;
	padding-top: 30px;
	margin-top: 500px;
}

footer a:link, footer a:visited, footer a:active {
	text-decoration: none;
	color: #e4e4e4;
}

footer a:focus, footer a:hover {
	text-decoration: underline;
	color: var(--clean-mod-color);
}	

main hr {
	border: none;
}

h1 {
	padding-top: 0;
	margin-top: 0;
	font-size: 56px;
	line-height: 56px;
}

main h2 {
	font-size: 46px;
	line-height: 50px;
}

main h3 {
	font-size: 39px;
	font-weight: 500;
	line-height: 40px;
}

main a:link, main a:visited, main a:active {
	text-decoration: underline;
}

main a:focus, main a:hover {
	text-decoration: none;
}

a:link, a:visited, a:active {
	text-decoration: none;
}

a:focus, a:hover {
	text-decoration: underline;
}

ol li {
	margin: 40px 0;
}

textarea {
	min-height: 80px;            /* Höhe des Buttons */
	font-size: 17px;         /* Schriftgröße im Button */
	background-color: var(--body-bg-color); /* Hintergrundfarbe des Buttons */
	color: var(--body-txt-color);;            /* Textfarbe */
	border: 2px solid #000;  /* Rand des Buttons */
	border-radius: 5px;     /* Abgerundete Ecken */
  }

input[type="submit"], button {
	font-weight: bold;
	min-height: 40px;
	min-width: 125px;   
	background-color: var(--top-header2-bg-color);
	color: var(--body-bg-color); /* Dunklere Hintergrundfarbe bei Hover */
}

input[type="submit"]:hover, button:hover {
	cursor: pointer;
	height: 6üpx;   
	background-color: var(--top-header-bg-color);
	color: var(--body-bg-color); /* Dunklere Hintergrundfarbe bei Hover */
}

select {
	width: 125px;           /* Breite des Dropdowns */
	padding: 2px;           /* Innenabstand */
	font-size: 16px;        /* Schriftgröße */
 /* Hintergrundfarbe */
	border: 2px solid #000; /* Rand des Dropdowns */
	border-radius: 5px;     /* Abgerundete Ecken */
	cursor: pointer;        /* Zeigt einen Zeiger-Cursor an */
	
  }

/* Styling für die Optionen */
option {
	font-size: 16px;        /* Schriftgröße der Optionen */
	padding: 5px;           /* Innenabstand der Optionen */
}

ol, ul {
	padding: 0 25px;
	list-style-type: revert;
}

/* Optional: Hover-Effekt für das Select-Element */
select:hover {
	background-color: #e2e2e2;
}

figcaption {
  margin: 18px;
  font-size: 0.8rem;
}

/* ----------------------------------------------- */
/* ----------------------------------------------- */


#endMessage {
    position: absolute;
    left: 550px;
    transform: translate(-40%, -50%);
    font-size: 22px;
	background-color: #000;
	padding: 10px;
	color: var(--body-bg-color);
    display: none; /* Verstecke die Nachricht standardmäßig */
}

#gameBoard {
	width: 500px; /* 17 * 17 = 289 */
	height: 220px; /* 17 * 17 = 289 */
	display: grid;
	grid-template-columns: repeat(14, 1fr);
	grid-template-rows: repeat(6, 1fr);
}

#modal {
	display: none;
	position: fixed;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0,0,0,0.4);
	justify-content: center;
	align-items: center;
}
#modalContent {
	background-color: #fefefe;
	margin: auto;
	padding: 20px;
	border: 1px solid #888;
	width: 80%;
	max-width: 300px;
	text-align: center;
}

#shrinkDiv {
  /* KEIN sticky mehr */
  background: #ff9d47/*rgb(71, 172, 255)*/;
  height: 1100px;
  color: var(--body-bg-color);
  transform-origin: top center; /* oben zentriert schmaler werden */
  will-change: transform;
  margin-bottom: 100px;
}

/* ----------------------------------------------- */
/* ----------------------------------------------- */
    /* Sticky-Magie */
.sticky { 
      position: sticky; 
      top: 10vh; /* ab wann der Block "klebt" */
}
.sticky-aside {
	max-width: 900px;
}
.aside {
	background-color: #2ab34c/*#3aa1fb*//* #b09985/*#ff9d47*/;
	border-radius: 20px 0 10px 0;
	color: var(--body-bg-color);
	padding: 250px 70px; 
	margin: 250px 70px;
}
.aside-box ul {
	width: 100%;
}
.aside-flex {
	display: flex; 
	flex-direction: row; 
	gap: 70px;
	margin-top: 40px;
}

.aside-box {
	max-width: 50%;
}

.mouse-hover-box {
	transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out 0.01s;
    transform-origin: center center; /* Skalierzentrum */
}

.mouse-hover-box:hover {
	transform: scale(1.03); /* Verdoppelt Größe */
	box-shadow: 0 -10px 20px rgba(0, 0, 0, 0.3), /* oben */
	            0  10px 20px rgba(0, 0, 0, 0.3); /* unten */
}


.section-a {
	background-color: #605151;
	border-radius: 10px 0 20px 0;
	color: var(--body-bg-color);
	padding: 250px 70px;
	margin: 250px 70px;
	transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out 0.02s;
	
    transform-origin: center center; /* Skalierzentrum */
}

.section-a:hover {
	transform: scale(1.03); /* Verdoppelt Größe */
	box-shadow: 0 -10px 20px rgba(0, 0, 0, 0.3), /* oben */
	            0  10px 20px rgba(0, 0, 0, 0.3); /* unten */
}

.section-a-a {
	margin: 0 auto;
}

.section-a a:link, .section-a a:visited, .section-a a:active {
	color: rgb(226, 216, 216);
	}

.section-a a:focus, .section-a a:hover {
	color: white;
	}

.reader-section.section-b {
  	padding: 2rem 70px;
	margin: 250px 0;
}

.reader-section.section-b h3:nth-of-type(n+2) {
	margin: 140px 0 0 0;
}
.reader-section.section-b ol {
	list-style-type: upper-roman; 
	margin: 0 auto;
}
.reader-section.section-b li:nth-of-type(n+2) {
	margin: 70px 0 0 0;
}

.page {
	height: 3000px; /* demo-scrollfläche */
	background: #fafafa;
}
.scroll-box {
	height: 400px;
	margin: 50px 0;
	transition: transform 0.5s ease, height 0.5s ease;
}
.scroll-box.maximized {
	transform: scale(1.1);
	height: 400px; /* größer */
}

.btn {
    display: inline-block;
    padding: 0.75em 1.5em;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #111827, #1f2937); /* dunkles modernes Grau */
    border: none;
    border-radius: 999px; /* pill-shape */
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    backdrop-filter: blur(2px);
}

.btn:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    background: linear-gradient(135deg, #1f2937, #374151); /* heller bei Hover */
}

.btn {
    color: #111;
    background: #fff;
    border: 2px solid #111;
    transition: all 0.3s ease;
}

.btn:hover {
    background: #111;
    color: #fff;
}

.language-switcher ul {
	display: flex;
	gap: 20px;
	list-style-type: none;
	padding: 0;
	color: #454545;
	flex-wrap: wrap;
}

.pad-article {
	 padding: 0 90px; 
	 border-radius: 20px 0 20px 20px;
}

.language-switcher a:link, .language-switcher a:active, .language-switcher a:visited, .language-switcher a:focus {
	color: #454545;
}

.language-switcher
.header {
	padding: 60px;
	background-color: var(--content-legal-bgcolor)/*var(--body-bg-color)*/;
	border-radius: 20px;
	color: var(--sel-bg-color);
	max-width: 698px;
	box-shadow: 0px 10px 15px rgba(0, 255, 0, 0.5);
	border: 1px solid black;
}

.language-title {
	border-bottom: 2px solid var(--default-brd-bgcolor);
	background-color: #454545;
	color: white;
	padding: 2px 7px;
}

.unimportant {
	font-size: 24px !important;
	font-weight: normal !important;
}

.header-class {
  padding: 55px 70px;
}

.scroll-button {
  background-color: #a24e4e;
  color: #fff;
  padding: 0.8rem 1.4rem;
  border-radius: 0.6rem;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.scroll-button:hover {
  background-color: #5e8b5a;
}

.clickable-image img {
  border: 2px solid transparent;
  border-radius: 12px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  border-color: #ceddeb;
  box-shadow: 0 0 12px rgba(51, 153, 255, 0.3);
}

a.share:link, a.share:visited, a.tshareop:active {
    display: inline-block;       /* Make the <a> element behave like a button */
    background-color: #5e8b5a;   /* Button background color (Green) 4CAF50 */
    color: var(--body-bg-color);                /* Button text color */
    padding: 10px 20px;          /* Padding inside the button */
    text-align: center;          /* Center the text */
    text-decoration: none;       /* Remove the underline */
    border-radius: 5px;          /* Rounded corners */
    font-size: 16px;             /* Text size */
    border: 2px solid transparent; /* Border around the button */
    transition: background-color 0.3s, border-color 0.3s; /* Smooth transition */
}

a.share:focus, a.share:hover {
	background-color: #a89080;/*var(--nav-bg-color);*/
	color: var(--body-bg-color);
}

a.top:link, a.top:visited, a.top:active {
    display: inline-block;       /* Make the <a> element behave like a button */
    background-color: var(--player-bg-color);   /* Button background color (Green) 4CAF50 */
    color: var(--body-bg-color);                /* Button text color */
    padding: 10px 20px;          /* Padding inside the button */
    text-align: center;          /* Center the text */
    text-decoration: none;       /* Remove the underline */
    border-radius: 5px;          /* Rounded corners */
    font-size: 16px;             /* Text size */
    border: 2px solid transparent; /* Border around the button */
    transition: background-color 0.3s, border-color 0.3s; /* Smooth transition */
}

a.top:focus, a.top:hover {
	background-color: var(--top3-bg-color);/*var(--nav-bg-color);*/
	color: var(--body-bg-color);
}

.css-text.my-name::after {
	padding-left: 7px;
	content: "Spano\'";
	cursor: text;
} 

.intro-flex {
  display: flex;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap; /* für mobile */
  padding: 2rem 0;
}

.intro-flex .clickable-image {
  flex: 1 1 50%;
  max-width: 512px;
}

.intro-flex .intro-text {
  flex: 1 1 50%;
  order: 2; /* falls du weiterhin Bild zuerst willst */
}

.intro-text .tagline {
  margin: 0.5rem 0 1.5rem 0;
  font-weight: bold;
}

.nav-toc .toc-link {
  text-decoration: none;
  display: inline-block;
  padding: 0.25rem 0;
}

.nav-toc {
	margin: 20px;
	max-width: 450px;
}

.nav-toc ul {
	padding: 20px; 
	background-color: var(--azure);
	color: #555;
	border-left: 1px solid var(--default-brd-bgcolor); 
	border-bottom: 1px solid var(--default-brd-bgcolor); 
	border-top: 1px solid var(--default-brd-bgcolor); 
	border-right: 1px solid var(--default-brd-bgcolor); 
	border-radius: 20px; 
}

.nav-toc span {
	font-size: 1.5rem;
	font-weight: 600;
	margin: 1.2em 0 0.6em;
}

.margin.auto {
	margin: 0 auto;
}

.logo {
	border-bottom: 1px solid var(--default-brd-bgcolor);
	background-color: #454545;
	padding: 0 60px;
}

.hidden {
transform: translateY(-100%);
opacity: 0;
}

.hidden-move-div {
	opacity: 0;
	transform: translateY(100px); /* Start: 20px nach unten verschoben */
	transition: opacity 6s ease-out, transform 4s ease-out;
}

/* Sichtbarer Zustand, wenn die Klasse "visible" hinzugefügt wird */
.hidden-move-div.visible {
	opacity: 1;
	transform: translateY(0); /* Endposition: Originalposition */
}

/* Unsichtbares Element */
.hidden-div {
	opacity: 0;
	transform: translateY(0); /* Start: 20px nach unten verschoben */
	transition: opacity 6s ease-out, transform 4s ease-out;
}

/* Sichtbarer Zustand, wenn die Klasse "visible" hinzugefügt wird */
.hidden-div.visible {
	opacity: 1;
	transform: translateY(0); /* Endposition: Originalposition */
}


a.toc-link, a.toc-link:visited, a.toc-link:active, a.toc-link:focus {
	text-decoration: none !important;
}

a.toc-link:hover {
	transform: translateX(10px);
	color: #0056b3;
}

.toc-link {
	display: inline-block;
	text-decoration: none;
	color: #007bff;
	font-size: 18px;
	transition: transform 0.3s ease-in-out;
}

.last-updated {
	margin: 40px 0;
	display: flex;              /* Flexbox aktivieren */
    justify-content: center;    /* Horizontal zentrieren */
    align-items: center;        /* Vertikal zentrieren (optional, falls nötig) */
	margin: auto;
}

.tab-nav a.tab {
  text-decoration: none;
  color: #333;
  font-size: 0.9rem;
  padding: 0.4rem 0.8rem;
  border-radius: 8px;
  transition: background 0.3s ease;
}

.tab-nav a.tab:hover {
  background-color: #f0f0f0;
}

.tab-nav {
  display: flex;
  justify-content: center;
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid #745f4e;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

.tab-nav ul {
  display: flex;
  gap: 0.5rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.tab-nav li {
  margin: 0;
}

.tab-nav .tab {
  display: inline-block;
  padding: 0.7rem 1.4rem;
  background-color: #bb6e2c;
  border-radius: 6px 6px 0 0;
  text-decoration: none;
  color: var(--body-bg-color);
  font-weight: bold;
  transition: all 0.2s ease;
}

.tab a:link, .tab a:visited, .tab a:active {
	color: var(--tool-bgcolor);
}
.tab:hover {
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
	color: var(--tool-bgcolor);
}

.tab-nav .tab.active {
  background-color: #d7f4f4;
  border-bottom: 2px solid #fff;
  color: var(--sel-bg-color);
  position: relative;
  z-index: 1;
}

.feedback {
	max-width: 1098px;
}

.logo {
	border-bottom: 1px solid var(--default-brd-bgcolor);
	background-color: #454545;
}

.brd-1-bgcolor-footer {
	padding-top: 40px;
	padding-bottom: 40px;
}

	
.section-top {
	margin: 0 70px 0 70px;
}

.section-top-nxt {
	margin: 70px 70px;
}

.margin-auto {
	margin: 0 auto;
}

.top-reader-section {
	color: var(--content-legal-bgcolor);
	max-width: 1098px;
}

.rswidth {
	max-width: 698px;
}


.section-top-text {
	margin: 60px auto;
	padding: 2rem 2rem;
	background-color: #454545;
	color: #ffffff;
    width: 100vh;
}

.section-mid-text {
	margin: 60px auto;
	padding: 2rem 2rem;
	background-color: #665353;
	color: #ffffff;
	width: 100vh;
}

.section-bottom-text {
	margin: 60px auto;
	padding: 2rem 2rem;
	background-color: #535e66;
	color: #ffffff;
	width: 100vh;
}

.padding-div {
	margin: 0 auto;	
}
.timeline {
  margin: 60px auto;
  padding: 2rem 2rem;
  max-width: 100vh;
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  gap: 0 2rem;
  background-color: #454545;
  color: #ffffff;
}

.timeline > div {
  padding: 2rem 2rem;
  max-width: 100vh;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 2rem;
  background-color: #454545;
  color: #ffffff;
}

/* Einzelschritte */
.timeline figure, .timeline > div figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  text-align: center;
  flex: 1 1 100px;
}

/* Bild */
.timeline img, .timeline > div img {
  object-fit: contain;
  display: block;
  opacity: 0.9;
}

/* Beschriftung */
.timeline figcaption, .timeline > div figcaption {
  margin-top: 0.5rem;
  font-size: 0.8rem;
}

/* classes */
/* a */
.active a:link, .active a:visited, .active a:active, .active a:focus, .active a:hover {
	color: #000 !important;
	background-color: #FFF !important;
}

/* b */
.bg-color_read {
	background-color: var(--azure);
	color: #555;
}

.btn-ef {
	border-left: 1px solid var(--default-brd-bgcolor); 
	border-bottom: 1px solid var(--default-brd-bgcolor); 
	border-top: 1px solid var(--default-brd-bgcolor); 
	border-right: 1px solid var(--default-brd-bgcolor); 
	border-radius: 20px; 
}

a.btn-projects {
	display: inline-block;
	margin-top: 1rem;
	padding: 0.5rem 1rem;
	border: 1px solid var(--accent);
	color: var(--accent);
	text-decoration: none;
	border-radius: 8px;
	transition: background 0.2s;
}

a.btn-projects:hover {
	background: #00ffee;
	color: #000;
}

.responsive-img {
  max-width: 100%;
  height: auto;
}

.btn-ef-h4 {
	background-color: var(--azure);
	border: 1px solid var(--sel-bg-color); 
	border-radius: 20px; 
}

.bgcolor-green {
	background-color: var(--top-header-bg-color);
	color: var(--clean-mod-color);
}

.brd-radius-new {
	border-radius: 20px;
}

.brd-mid-new {
	border: 3px solid var(--default-brd-bgcolor);
}

.brd-double-new {
	border: 8px dashed var(--top-header-bg-color);
}

.bgcolor-items {
	background-color: var(--body-bg-color);
}

.brd-1-bgcolor {
	border-top: 1px solid var(--body-bg-color);
}

.brd-3-bgcolor {
	border-top: 3px solid var(--body-bg-color);
}

.brd-4-t {
	border-top: 4px solid var(--body-text-color);
}

.brd_header_light {
	border: 3px solid black;
}

.brd-one {
	border: 1px solid black;
}

.brd-black-3 {
	border: 3px solid black;
}

.brd-footer {
	border: 3px solid var(--body-bg-color);
}

.brd-header {
	border: 3px solid #000;
}

.brd-bottom {
	border-bottom: 1px solid red;
}

.brd-overline-h-green {
	position: relative;
	display: inline-block;
}

.brd-overline-h-green::before {
	content: '';
	position: absolute;
	top: -12px;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #000;
}

.brd-items {
	border-top: 1px dotted darkgray; 
	border-right: 1px dotted darkgray; 
	border-bottom: 1px dotted darkgray; 
	border-left: 4px solid darkgray; 
}
.brd-items:hover {
	border-left: 4px solid var(--sel-bg-color); 
}
.box-shadow {
	box-shadow: rgba(63, 215, 55, 0.991) 0px 10px 15px -3px,rgba(0,0,0,0.05) 0px 4px 6px -2px;
}
.box-shadow-intern {
	box-shadow: rgba(175, 190, 174, 0.991) 0px 10px 15px -3px,rgba(0,0,0,0.05) 0px 4px 6px -2px;
}

.big-text {
    font-size: larger;
}

/* c */
.conbox {
	background-color: #acbc9d/*rgb(12, 116, 220)*/;
}
.conbox, .conbox a:link, .conbox a:active, .conbox a:visited, .conbox a:focus, .conbox a:hover {
	color: var(--sel-bg-color);
}

.conbox2 {
	background-color: #b1cf94;
}
.conbox2, .conbox2 a:link, .conbox2 a:active, .conbox2 a:visited, .conbox2 a:focus, .conbox2 a:hover {
	color: var(--sel-bg-color);
}
.conbox3 {
	border-left: 1px solid var(--default-brd-bgcolor); 
	border-bottom: 1px solid var(--default-brd-bgcolor); 
	border-top: 1px solid var(--default-brd-bgcolor); 
	border-right: 1px solid var(--default-brd-bgcolor); 
	border-radius: 20px; 
	padding: 40px;
	background-color: rgb(222, 241, 241);
}
.conbox4 {
	background-color: rgb(241, 240, 255);
}

.conbox3, .conbox4 {
    transition: transform 0.3s ease; /* Smooth transition */
}

.conbox3:hover, .conbox4:hover {
	box-shadow: rgba(175, 190, 174, 0.991) 0px 10px 15px -3px,rgba(0,0,0,0.05) 0px 4px 6px -2px;
    transform: scale(1.01);
}

.conbox5 {
    transition: transform 0.3s ease; /* Smooth transition */
}

.conbox5:hover {
	transform: scale(1.004);
}

.conbox6 {
    transition: transform 0.3s ease; /* Smooth transition */
}

.conbox6:hover {
	transform: scale(1.006);
}

.content-legal {
	margin: 10px; 
	padding: 10px; 
	background-color: var(--content-legal-item-bgcolor);
	border: 1px solid var(--brd-bgcolor);
}

.container {
    display: inline-block;
    text-align: center;
    margin-top: 50px;
}

.cell {
	width: 25px;
	height: 25px;
	border: 1px solid #f4f5f7;

}   

.cookie-banner-box-bg {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
}

.cookie-banner-box {
	background-color: #DDD;
	max-width: 880px;
	margin: 0px auto;
	border: 2px solid black;
}

.cookie-banner {
	min-height: 180px;
	padding: 20px;
	color: #333;
	text-align: center;
	font-size: 14px;
}

.cookie-banner {
	color: #333;
	text-align: left;
	font-size: 14px;
}

.cookie-banner a:link, .cookie-banner a:visited, .cookie-banner a:active {
	text-decoration: underline;
} 

.cookie-banner a:focus, .cookie-banner a:hover {
	text-decoration: none;
} 

.cookie-banner__button {
    background-color: #007bff; /* Hellblau oder eine andere Farbe */
    color: #FFF; /* Weißer Text */
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 5px;
    border: none;
    font-size: 16px;
    display: inline-block;
    cursor: pointer;
    transition: background-color 0.3s;
}

.cookie-banner__button:hover {
    background-color: #0056b3; /* Dunkleres Blau für Hover-Effekt */
}

.cookie-banner__button_NO {
    background-color: #dc3545; /* Rot oder eine andere Farbe */
    color: #ffffff; /* Weißer Text */
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 5px;
    border: none;
    font-size: 16px;
    display: inline-block;
    cursor: pointer;
    transition: background-color 0.3s;
}

.cookie-banner__button_NO:hover {
    background-color: #c82333; /* Dunkleres Rot für Hover-Effekt */
}

.col-white {
	color: var(--body-bg-color);
}
/* d */

.desktop-content-mobile {
    display: block;
    padding: 20px 0;
}

.desktop-content {
    display: block;
    padding: 20px 0;
}

.mobile-content {
    display: none; /* Standardmäßig ausblenden */
    background-color: var(--body-bg-color);
    padding: 20px;
	border: 1px solid #808080;
}

.display.flex {
	display: flex;
}

.display.flex.responce {
	flex-direction: row;
}

.display.block {
	display: block;
}

/* e */
/* f */
.fade-in {
	opacity: 0;
	animation: fadeIn 2s ease-in forwards;
}

.font-hp-name {
	font-size: 1.2em;
	font-weight: bold;
}
.font.small {
	font-size: 16px;
}

.footer-public {
	box-shadow: 0px 10px 15px rgba(0, 255, 0, 0.5);
}

.footer-public:hover {
	box-shadow: 0px 10px 15px rgba(255, 0, 0, 0.5); /* Rot als Schattenfarbe */
}

.flex-center {
	display: flex;
	justify-content: center;
	align-items: center;  
	background-color: #78876b;
}

.flex-direction.row-reverse {
	flex-direction: row-reverse; 
}

.flex-direction.column {
	flex-direction: column; 
}

.flex-direction.row {
	flex-direction: row; 
}

/* g */
.game-area {
    position: relative;
    display: inline-block;
	margin: 10px 0;
}

.gap.fifty {
	gap: 50px;
}

.goal {
	background-color: green;
}

/* h */

.header {
	padding: 60px;
	background-color: var(--content-legal-bgcolor)/*var(--body-bg-color)*/;
	border-radius: 20px;
	color: var(--sel-bg-color);
	max-width: 698px;
	box-shadow: 0px 10px 15px rgba(0, 255, 0, 0.5);
	border: 1px solid black;
}

.header:hover {
	box-shadow: 0px 10px 15px rgba(255, 0, 0, 0.5); /* Rot als Schattenfarbe */
}

.h1-main {
	font-size: 32px !important;
	font-weight: bold;
	line-height: 1.4;
}

.h1-text-block h1 {
	font-size: 2.5rem !important;
	font-weight: 600;
	line-height: 3.25rem;
	letter-spacing: 0;
}

.h1-text-block, .h1-text-block p {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5rem;
}

.h6 {
	padding: 0;
	margin: 0;
	border-bottom: 1px solid #ccc;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 2rem;
	letter-spacing: 0;
}

.h2-text-block h2 {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 2rem;
	letter-spacing: 0;
}

.h2-text-block h3 {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2rem;
	letter-spacing: 0;
}

.h2-text-block h4, .h2-text-block h6 {
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 2rem;
	letter-spacing: 0;
}

.h2-text-block, .h2-text-block p {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5rem;
}

.hr3 {
	height: 3px;
	background-color: var(--sel-bg-color);
	margin-top: 20px;
	margin-bottom: 20px;
}
.hr {
	height: 1px;
	background-color: black;
	margin-top: 20px;
	margin-bottom: 20px;
}

.hr-big {
	height: 120px;
	background-color: var(--top-bg-color);
	margin: 50px 0;
}

.hr-footer {
	height: 3px;
	background-color: rgb(11, 63, 7);
	margin-top: 30px;
	margin-bottom: 30px;
	border: 3px solid #000;
}

.home_header_left {
	padding: 20px;
	max-width: 50%;
}

.home_header_right {
	margin: auto;
}

.home_future_box {
	background-color: antiquewhite !important;
	font-style: italic !important;
	margin: 80px;
	padding: 40px;
}

/* i */
.info {
	color: #f4f5f7;
	font-weight: bold;
	padding: 10px 15px;
}

/* j */
.justify-content-sp {
	justify-content: space-between;
}
.jumpLink {
	position: relative;
}

.jumpLink::after {
	content: " →";
	position: absolute;
	left: 100%;
	margin-left: 5px;
	transition: transform 0.3s;
}

.jumpLink:hover::after {
	transform: translateX(5px);
}  

/* k */
/* l */
.link-list-none {
	list-style-type: none;	
}

.list-box-ef {
	border-left: 1px solid var(--default-brd-bgcolor); 
	border-bottom: 1px solid var(--default-brd-bgcolor); 
	border-top: 1px solid var(--default-brd-bgcolor); 
	border-right: 1px solid var(--default-brd-bgcolor); 
	border-radius: 20px; 
	background-color: var(--azure);
	padding: 40px;
}

.lnk-hashtag a:link, .lnk-hashtag a:visited, .lnk-hashtag a:active {
	color: var(--body-bg-color);
	text-decoration: none;
}

.lnk-hashtag a:hover, .lnk-hashtag a:focus {
	color: var(--body-bg-color);
	text-decoration: underline;
}

a.link, a:link.link, a:link.visited, a:link.active, a:link.hover, a:link.focus {
	text-decoration: none;
}

.link {
	display: inline-block;
	text-decoration: none;
	color: #007bff;
	font-size: 18px;
	transition: transform 0.3s ease-in-out;
}
.link:hover {
	transform: translateX(10px);
	color: #0056b3;
}

.line {
	white-space: nowrap;
}

.logo-responce {
	flex-wrap: wrap;
}

.logo-footer span {
	font-size: 1.4em;
	border: 5px solid var(--sel-bg-color);
	border-radius: 20px;
	padding: 5px;
}

.logo-footer span a {
	padding: 15px;
	border: 1px solid var(--body-bg-color);
	background-color: var(--sel-bg-color);
}

.logo-footer a:link, .logo-footer a:visited, .logo-footer a:active {
	text-decoration: underline !important;
	color: var(--body-bg-color) !important;
}

.logo-footer a:focus, .logo-footer a:hover {
	text-decoration: none !important;;
	color: var(--body-bg-color) !important;
}
.logo-header {
	line-height: 1.3;
	font-size: 1.4em;
}

.logo-header span {
	font-weight: normal;
}

.logo-header a:link, .logo-header a:visited, .logo-header a:active {
	text-decoration: underline !important;
	color: var(--player-bg-color) !important;
}

.logo-header a:focus, .logo-header a:hover {
	text-decoration: none !important;;
	color: var(--player-bg-color) !important;
}

.logo {
	padding: 0px 60px;
}

.logo span {
	font-weight: bold;
	font-size: 1.4em;
	background-color: #000;
	padding: 5px;
}
.logo a:link, .logo a:visited, .logo a:active {
	text-decoration: underline !important;;
	color: white !important;;
}
.logo a:focus, .logo a:hover {
	text-decoration: none !important;;
	color: white !important;
}
.logo_dark span {
	font-weight: bold;
	font-size: 1.4em;
}
.logo_dark a:link, .logo_dark a:visited, .logo_dark a:active {
	text-decoration: underline;
	color: white;
}
.logo_dark a:focus, .logo_dark a:hover {
	text-decoration: none;
	color: white;
}

a:link.lnk-touch , a:visited.lnk-touch , a:active.lnk-touch  {
	text-decoration: none !important;
	color: red !important;
}

a:focus.lnk-touch, a:hover.lnk-touch {
	text-decoration: none !important;
}

/* m */
.ma-btm-50 {
	margin-bottom: 50px;
}
.ma-btm-58 {
	margin-bottom: 58px;
}
.ma-top-50 {
	margin-top: 50px;
}
.ma-top-58 {
	margin-top: 58px;
}

.ma0.auto {
	margin: 0 210px;
}

.ma-v50-auto {
	margin: 50px auto;
}

.max-width.sixhundred {
	max-width: 600px;
}
.min-width.sixhundred {
	min-width: 600px;
}
.mWidth700 {
	max-width: 698px;
}
.ma-tb-25 {
	margin-top: 25px; 
	margin-bottom: 25px; 
}
.ma-v7-h0 {
	margin: 7px 0;
}
.ma-v50-h0 {
	margin: 50px 0;
}
.ma-v150-h0 {
	margin: 150px 0;
}
.margin.auto {
	margin: auto;
}
.mp0 {
	margin: 0;
	padding: 0;
}
.ml0 ul, .ml0 li {
	list-style-type: none;
}
.modalButton {
	margin: 10px;
	padding: 10px 20px;
	cursor: pointer;
	display: block;
}
/* n */
.nav-top {
	display: flex;              /* Flexbox aktivieren */
    justify-content: center;    /* Horizontal zentrieren */
    align-items: center;        /* Vertikal zentrieren (optional, falls nötig) */
}
.nav-out {
    margin: 40px 0;
}
.nav-out-bottom {
    margin: 40px 0;
}

.nav-inout-feedback {
	padding: 0 70px;
}

.nav-inout {
    margin: 40px 220px;
	max-width: 718px;
}
.nav {
	padding: 20px;
	background-color: var(--body-bg-color);
	border-radius: 20px;
	max-width: 698px;
	box-shadow: 0px 10px 15px rgba(0, 255, 0, 0.5);
	border: 1px solid black; 
	margin: 10px 220px;
}
.nav-gap {
	display: flex; 
	flex-direction: column; 
/*	flex-wrap: wrap;*/ 
	gap: 10px 0 !important;
}
.nav-content {
	display: flex; 
	flex-direction: column; 
/*	flex-wrap: wrap;*/ 
	gap: 10px 0 !important;
}

.nav-expo li, .nav-content li {
	 padding: 0;
	 margin: 0;
}

.nav-content a {
	color: #FFFFFF;
	background-color: #993333;
	padding: 10px;
	text-decoration: none;
	font-size: 1em;
	display: inline-block;
	width: 80%;
}

.nav-content a:hover {
	background-color: #555555;
	cursor: pointer;
}

.nav-content a:focus {
	outline: 3px solid #FFFFFF;
	outline-offset: 2px;
}

.nobr {
    white-space: nowrap;
}
/* o */
/* p */


.pa020 {
	padding: 0 20px;
}
.pa10 {
	padding: 10px;
}
.pa20 {
	padding: 10px;
}
.pa40 {
	padding: 40px;
}
.pa25 {
	padding: 25px;
}
	.pa1015 {
	padding: 10px 15px; 
}
.paBo15 {
	padding-bottom: 15px;
}
.paToBo25 {
	padding: 25px 0;
}
.paToBo50 {
	padding: 50px 0;
}
.pa25 {
	padding: 25px;
}
.pa20B {
	padding-bottom: 10px;
}
.pa20T {
	padding-top: 20px;
}
.pa20TB {
	padding-top: 20px;
	padding-bottom: 65px;
}
.pa30TB {
	padding-top: 30px;
	padding-bottom: 30px;
}
.pic-auto {
	background-repeat: no-repeat;
	background-size: contain;
}

.picture-home {
	background-image: url("https://www.one-web-arts.com/public/?action=images&file=webp.oneweb-home-icon&type=webp");
	width: 66px;
	height: 66px;
}
.picture-one {
	background-image: url("https://www.one-web-arts.com/public/?action=images&file=svg.one&type=svg");
	width: 96px;
	height: 96px;
}
.picture-two {
	background-image: url("https://www.one-web-arts.com/public/?action=images&file=svg.two&type=svg");
	width: 96px;
	height: 96px;
}
.picture-three {
	background-image: url("https://www.one-web-arts.com/public/?action=images&file=svg.three&type=svg");
	width: 96px;
	height: 96px;
}
.picture-four {
	background-image: url("https://www.one-web-arts.com/public/?action=images&file=svg.four&type=svg");
	width: 96px;
	height: 96px;
}
.picture-five {
	background-image: url("https://www.one-web-arts.com/public/?action=images&file=svg.five&type=svg");
	width: 96px;
	height: 96px;
}
.picture-six {
	background-image: url("https://www.one-web-arts.com/public/?action=images&file=svg.six&type=svg");
	width: 96px;
	height: 96px;
}

.pici7 {
	background-image: url("https://www.one-web-arts.com/public/?action=images&file=home.symbole-info&type=png");
	width: 96px;
	height: 96px;
}
.pici8 {
	background-image: url("https://www.one-web-arts.com/public/?action=images&file=home.about-icon&type=webp");
	width: 96px;
	height: 96px;
}
.pici9 {
	background-image: url("https://www.one-web-arts.com/public/?action=images&file=home.web-projects-icon&type=webp");
	width: 96px;
	height: 96px;
}
.position.relative {
	position: relative;
}
.projbox {
	min-width: 1250px;
	max-width: 1250px;
}
/* q */
/* r */
.rott {
	transform: rotate(78deg);
}
/* s */
.separator::after {
	margin-left: 5px;
	content: ";";
}
.separator-h::after {
	margin-left: 10px;
	color: green;
	content: ";";
}
.small-txt {
	font-size: 16px;
}

/* t */

.footer a:link, .footer a:visited, .footer a:active, .footer a:focus, .footer a:hover {
	color: var(--clean-mod-color);
}


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

.text-align.center {
	text-align: center; 
}
.txt-col-midgreen {
	color: #5d6655 !important;
}
.txt-color-nav {
	color: var(--nav-bg-color);
}
.txt-color-white {
	color: var(--body-bg-color);
}
.txt-p {
	font-size: 21px;
	line-height: 36px;
}

.txt-h1 {
	font-size: 60px;
	line-height: 60px;
}
.txt-h2 {
	font-size: 55px;
	line-height: 60px;

}
.txt-h3 {
	font-size: 50px;
	font-weight: 500;
	margin: 0;
	padding: 0;
}
.txt-h4 {
	font-size: 30px;
	font-weight: bold;
}
.txt-h5 {
	font-size: 30px;
	font-weight: 500;
}
/* u */
/* v */
.version-info {
	margin-left: 30px;
	color: #62695b;
	font-weight: bold;
    font-size: 18px;
}

/* w */
.wall {
	background-color: var(--body-text-color);
}
.width-880-max-min, .width-880-min-max {
	max-width: 880px;
	min-width: 880px;
}
.width-640-min-max {
	width: 640px;
}
/* x */
/* y */
/* z */
.zoom-div {
    position: relative;
    display: inline-block;
    overflow: hidden;
    cursor: zoom-in; /* Standard-Zoom-Cursor */
}
.zoom-div {
	background-size: cover;
	background-position: center;
	transition: transform 0.3s ease-in-out;
}
.zoom-div:hover {
	transform: scale(1.03);
}

.z-height {
	min-height: 780px;
}
.homepage-slogan {
	border: 1px solid #101010; 
	border-radius: 6px; 
	background-color: azure; 
	padding: 14px;
}
.z-logo {
	display: flex; 
	flex-direction: row;
	gap: 7px;
	margin-top: 2px;
}
.hidden-move-div {
	opacity: 0;
	transform: translateY(100px); /* Start: 20px nach unten verschoben */
	transition: opacity 6s ease-out, transform 4s ease-out;
}

/* Sichtbarer Zustand, wenn die Klasse "visible" hinzugefügt wird */
.hidden-move-div.visible {
	opacity: 1;
	transform: translateY(0); /* Endposition: Originalposition */
}

/* Unsichtbares Element */
.hidden-div {
	opacity: 0;
	transform: translateY(0); /* Start: 20px nach unten verschoben */
	transition: opacity 6s ease-out, transform 4s ease-out;
}

/* Sichtbarer Zustand, wenn die Klasse "visible" hinzugefügt wird */
.hidden-div.visible {
	opacity: 1;
	transform: translateY(0); /* Endposition: Originalposition */
}

/* #### */
@keyframes fadeIn {
	to {
		opacity: 1;
	}
}

@media (max-width: 900px) {
	.sticky-aside {
		max-width: 100%;
	}

	.aside {
		padding: 70px;
		margin: 140px 20px;
	}
	.section-a {
		padding: 70px;
		margin: 140px 20px;
	}
	.aside-box {
	
		max-width: 90%;
	}
	.aside-flex {
		flex-direction: column;
	}
	.aside-box ul {
		width: 100%;
	}
	.reader-section.section-a, .reader-section.section-b {
  		padding: 29px 20px;
		margin: 700px 0;
	}


	.desktop-content {
        display: none;
    }

    .mobile-content {
		background-color: rgb(110, 103, 103);
        display: block;
		color: var(--body-bg-color);
    }

}

@media (max-width:400px) {
	header h1 span:last-child {
	overflow-wrap: break-word; /* oder */
	word-break: break-all;
	}
	.aside-flex {
		flex-direction: column;
	}
	.reader-section.section-a, .reader-section.section-b {
  		padding: 20px;
		margin: 600px 0;
	}
	.aside, .section-a {
		padding: 20px;
		margin: 140px 20px;
	}
	.aside-box {
		max-width: 100%;
	}

	#shrinkDiv {
		/* KEIN sticky mehr */
		height: 900px;
	}

	.pad-article {
		padding: 10px;
	}

	.section-top-text, .section-mid-text, .section-bottom-text, .timeline {
		margin: 0;
		width: 100%;
	}
	.logo {
		padding: 5px;
	}
	.brd-ma-left {
		margin-left: 0;
	}
    .nav-inout {
		margin: 30px 0;
	}	
	.desktop-content {
        display: none;
    }

    .mobile-content {
		background-color: rgb(110, 103, 103);
        display: block;
    }
	
	.anime {

		display: none !important;
	}
	
	.mWidth700,.projbox {
		min-width: 0 !important;
	}
	.min-width.sixhundred {
		min-width: 0 !important;
	}
	.ma-v50-h0 {
		margin: 0;
	}

	.hr.pa20 {
		padding: 0;
	}

	.pa20 {
		padding: 10px;
	}
	
	.rott {
		transform: rotate(1deg);
	}

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

	.z-logo {
		flex-direction: column;
	}
	footer {
		padding-left: 5px;
		padding-right: 5px;
		padding-bottom: 5px;
	}
  .header-class {
    padding: 5px;
  }

	.aside-flex {
		gap: 0;
		padding: 0; 
	}
	.aside-flex ul {
		width: 100%;
	}

}

@media only screen and ((max-width:500px)) {
	.mobile-controls {
		display: none;
	}
}

@media only screen and ((min-width:1021px) and (max-width:1120px)) {
}

/* media */
@media (max-width:1230px) {
}

@media only screen and (min-width:1700px) {
}