/* ------------------------------------
   DESIGN SYSTEM
------------------------------------ */
:root {

	/* COLOR */
	--col-back: #111111; 
	--col-text: #EEEEEE;
	--col-card: #333333;
	--col-line: #FFFFFF;
	--col-butt: #0066CC;
	--col-blue: #004080;
	--col-over: #0080FF;
	--col-pink: #800040;
	--col-tran: transparent;

	/* TYPOGRAPHY */
	--fnt-xs: 0.8rem;
	--fnt-sm: 1.0rem;
	--fnt-md: 1.3rem;
	--fnt-lg: 1.5rem;
	--fnt-xl: 2.4rem;
	--fnt-h1: clamp(2.8rem, 5vw, 4rem);
	--fnt-h2: clamp(1.8rem, 4vw, 3rem);
	--fnt-h3: clamp(1.6rem, 3vw, 2.4rem);
	--fnt-h4: clamp(0.8rem, 2vw, 1.6rem);

	/* LINE-HEIGHT */
	--lin-sm: 1.6rem;
	--lin-md: 1.8rem;
	--lin-lg: 2.5rem;
	--lin-xl: 4.0rem;

	/* RADIUS */
	--rad-sm: 10px;
	--rad-md: 20px;
	--rad-lg: 40px;

}

/* ------------------------------------
   BASIS
------------------------------------ */
h1, h2, h3, h4 {
	line-height: var(--lin-md);
	padding-bottom: 10px;
}

h1 { font-size: var(--fnt-h1); line-height: var(--lin-xl); font-weight: 700; letter-spacing: -2px; }
h2 { font-size: var(--fnt-h2); line-height: var(--lin-xl); }
h3 { font-size: var(--fnt-h3); line-height: var(--lin-xl); color: DimGrey; }
h4 { font-size: var(--fnt-h4); line-height: var(--lin-lg); color: DimGrey; font-weight: 400; padding-bottom: 0; }

p, ul { font-size: var(--fnt-lg); line-height: var(--lin-lg); }

ul { list-style: square outside; }

.tab {
	position: relative;
	left: 20%;
}

.impr { font-size: var(--fnt-sm); line-height: var(--lin-sm); }

/* ------------------------------------
   GRID INHALT
------------------------------------ */

.inhalt-grid { display: grid; grid-template-columns: repeat(2, 1fr); }

/* ------------------------------------
   SELEKTOREN
------------------------------------ */

.BK, .GY, .WH, .BU, .BR, .TR {
	padding: 5%;
}

.BK-50, .GY-50, .WH-50, .BU-50, .BR-50, .TR-50 {
	padding: 10%;
}

.BK-100, .GY-100, .WH-100, .BU-100, .BR-100, .TR-100, .GRADIENT-100 {
	padding: 5% 25%;
}

.TR, .TR-50, .TR-100 { background: var(--col-tran); color: var(--col-back); }
.BK, .BK-50, .BK-100 { background: var(--col-back); color: var(--col-text); }
.GY, .GY-50, .GY-100 { background: var(--col-text); color: var(--col-back); }
.WH, .WH-50, .WH-100 { background: var(--col-line); color: var(--col-back); }
.BU, .BU-50, .BU-100 { background: var(--col-blue); color: var(--col-text); }
.GRADIENT-100 { background: linear-gradient(135deg, var(--col-blue), var(--col-pink)); color: var(--col-text); }

/* ------------------------------------
   LINKS
------------------------------------ */

a {
	color: var(--col-blue);
	text-decoration: none;
	font-weight: 700;
}

a:hover {
	color: var(--col-over);
}

/* ------------------------------------
   BUTTONS
------------------------------------ */

.btndark, .btnlight { margin: 3em; text-align: center; }
.btndark-fon { margin: 0; text-align: left; font-size: var(--fnt-lg); line-height: var(--lin-lg); }

.btndark a, .btndark-fon a, .btnlight a {
	display: inline-block;
	padding: 12px 24px;
	border: 1px solid var(--col-butt);
	border-radius: 2em;
	text-decoration: none;
	letter-spacing: .05em;
	transition: .3s;
}

.btnlight a {
	color: var(--col-butt);
	background: transparent;
}

.btndark a, .btndark-fon a, .btnlight a:hover {
	background: var(--col-butt);
	color: var(--col-line);
}

.btndark a:hover, .btndark-fon a:hover { opacity: .85; }

/* ------------------------------------
   BILDER
------------------------------------ */

.HeroldBlume {
	height: 13px;
	width: auto;
}

.person {
	width: 40%;
	height: auto;
	border-radius: 50%;
}

.weChat-bg {
	background-color: var(--col-line);
	padding: 20px;
	border-radius: var(--rad-md);
	width: 240px;
	height: 240px;
}

.weChat-qr {
	width: 100%;
	height: auto;
}

/* ------------------------------------
   SPRACHEN
------------------------------------ */

.lang {
	position: absolute;
	top: 20px;
	right: 20px;
	background: rgba(0,0,0,0.5);
	border-radius: 30px;
	display: flex;
	gap: 10px;
	padding: 5px;
	z-index: 1000;
}

.lang a {
	padding: 10px;
	color: var(--col-line);
	border-radius: 20px;
	font-size: 0.85em;
	font-weight: normal;
	letter-spacing: 1px;
	line-height: 1.5;
}

.lang a:hover, .lang a.aktiv {
	background-color: var(--col-line);
	color: #000000;
}

/* ------------------------------------
   NAVBAR
------------------------------------ */

.navbar {
	display: flex;
	align-items: center;
	background: rgba(0,0,0,.85);
	backdrop-filter: blur(4px);
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	flex-wrap: wrap;
}

.navbar a, .dropbtn {
	color: #ffffff;
	padding: 14px 16px;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1em;
	letter-spacing: 1px;
	white-space: nowrap;
	font-family: inherit;
	font-weight: 400;
}

.navbar a:hover, .dropbtn:hover { background: #333; }

.dropdown { position: relative; }

.dropdown-content {
	display: none;
	position: absolute;
	background: #222222;
	min-width: 100%;
	top: 100%;
	left: 0;
	z-index: 10000;
}

.dropdown-content a {
	display: block;
	padding: 12px 16px;
}

.dropdown:hover .dropdown-content { display: block; }

/* ------------------------------------
   TECH-DATA
------------------------------------ */

.tech-data, .vergleich {
	display: grid;
	margin: 40px 0 20px 0;
	border: 1px solid rgba(127,127,127,.5);
	border-radius: var(--rad-sm);
}

.tech-data { grid-template-columns: repeat(2, auto); }
.vergleich { grid-template-columns: repeat(6, auto); }

.tech-data div, .vergleich div {
	padding: 20px;
	font-size: var(--fnt-md);
	line-height: var(--lin-md);
}

div.col1-oben {
	background-color: LightGray;
	background-image: linear-gradient(45deg, DimGrey, Grey);
	color: White;
	border-bottom: 1px solid rgba(127, 127, 127, 0.5);
	font-weight: bold;
	border-top-left-radius: var(--rad-sm);
}

div.col1 {
	background-color: LightGray;
	background-image: linear-gradient(45deg, DimGrey, Grey);
	color: White;
	border-bottom: 1px solid rgba(127, 127, 127, 0.5);
	font-weight: bold;
}

div.col1-unten {
	background-color: LightGray;
	background-image: linear-gradient(45deg, DimGrey, Grey);
	color: White;
	font-weight: bold;
	border-bottom-left-radius: var(--rad-sm);
}

div.col2 {
	background-color: none;
	border-bottom: 1px solid rgba(127, 127, 127, 0.5);
}

div.col2-unten {
	background-color: none;
	border-bottom: none;
}

/* ------------------------------------
   COMIC-BOX
------------------------------------ */

.comic-box p {
	font-size: var(--fnt-md);
	line-height: var(--lin-lg);
}

.comic-box {
	position: relative;
	width: 75%;
	background-color: white;
	border: 2px solid rgba(127, 127, 127, 0.5);
 	border-radius: var(--rad-md);
	cursor: default;
	padding: 10px;
}

.comic-pointer {
	position: absolute;
	bottom: -12px;
	left: 10%;
	margin-left: 10px;
	width: 20px;
	height: 20px;
	background-color: white;
	border: 2px solid rgba(127, 127, 127, 0.5);
	border-width: 0 2px 2px 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* ------------------------------------
   LAGER-AMPEL
------------------------------------ */

.imLager_RD::before {
	content: "●";
	color: #ff0000;
}

.imLager_YE::before {
	content: "●";
	color: #ffd700;
}

.imLager_GN::before {
	content: "●";
	color: #228b22;
}

/* ------------------------------------
   KONTAKTFORMULAR
------------------------------------ */

/* Container */
.kontaktformular {
	max-width: 100%;
	background: white;
	padding: 20px;
	border-radius: var(--rad-md);
	box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

/* Label */
.kontaktformular label {
	color: var(--col-back);
	font-size: 1.2em;
	display: block;
	margin-top: 20px;
}

/* Input */
.kontaktformular input, .kontaktformular textarea {
	width: 100%;
	padding: 10px;
	margin-top: 5px;
	border-radius: var(--rad-sm);
	border: 1px solid rgba(127, 127, 127, 0.5);
	font-size: 1.2em;
	box-sizing: border-box;
}

/* Checkbox */
.checkbox-container {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 20px;
}

.checkbox-container input[type="checkbox"] {
	cursor: pointer;
	width: 20px;
	height: 20px;
	margin-top: 18px;
}

.checkbox-container label {
	cursor: pointer;
}

/* Button */
.kontaktformular button {
	width: 100%;
	margin-top: 20px;
	padding: 10px;
	background: var(--col-butt);
	border: none;
	color: white;
	font-size: var(--fnt-md);
	line-height: var(--lin-md);
	border-radius: var(--rad-sm);
	cursor: pointer;
	transition: 0.3s;
}

.kontaktformular button:hover {
	opacity: .85;
}

/* Honeypot */
.honey {
	display: none;
}

/* ------------------------------------
   RESPONSIVE
------------------------------------ */

@media (max-width: 978px) {

	.inhalt-grid { grid-template-columns: 1fr; }

	.vergleich { margin: 20px 0 10px; }
	.vergleich div, .lang a { padding: 10px; font-size: var(--fnt-xs); line-height: var(--lin-sm); }

	.BK, .GY, .WH, .BU, .BR, .TR,
	.BK-50, .GY-50, .WH-50, .BU-50, .BR-50, .TR-50,
	.BK-100, .GY-100, .WH-100, .BU-100, .BR-100, .TR-100,
	.GRADIENT-100 { padding: 10%; }

	.tab {
		position: relative;
		left: 10%;
	}

}

