/* Login-Seite nach KGF Corporate Design 1.0: Lavendel-Fläche, weiße Karte (28 px, violetter Schatten), Laufband. */

@font-face
{
	font-family: "Anton";
	src: url("Anton-Regular.woff2") format("woff2");
	font-weight: 400;
	font-display: swap;
}

@font-face
{
	font-family: "Barlow Condensed";
	src: url("BarlowCondensed-Medium.woff2") format("woff2");
	font-weight: 500;
	font-display: swap;
}

@font-face
{
	font-family: "Barlow Condensed";
	src: url("BarlowCondensed-SemiBold.woff2") format("woff2");
	font-weight: 600;
	font-display: swap;
}

@font-face
{
	font-family: "Barlow Condensed";
	src: url("BarlowCondensed-Bold.woff2") format("woff2");
	font-weight: 700;
	font-display: swap;
}

:root
{
	--lavender: #dac9ec;
	--lavender-soft: #f5effb;
	--orange: #f25817;
	--orange-ink: #b23a07;
	--ink: #000;
	--ink-soft: #3d3547;
	--placeholder: #8a7d99;
	--paper: #fff;
}

*
{
	box-sizing: border-box;
}

html,
body
{
	margin: 0;
	min-height: 100%;
}

body
{
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background: var(--lavender);
	color: var(--ink);
	font: 500 19px/1.4 "Barlow Condensed", "Arial Narrow", sans-serif;
}

:focus-visible
{
	outline: 3px solid var(--ink);
	outline-offset: 2px;
}

.sr-only
{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.gate
{
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
}

.gate-cow
{
	display: block;
	width: auto;
	height: 170px;
	margin-bottom: -6px;
}

.gate-card
{
	width: 100%;
	max-width: 420px;
	padding: 32px 32px 26px;
	background: var(--paper);
	border-radius: 28px;
	box-shadow: 0 18px 40px rgba(61, 53, 71, .14), 0 2px 6px rgba(61, 53, 71, .06);
}

.gate-eyebrow
{
	margin: 0 0 6px;
	color: var(--ink-soft);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.gate-title
{
	margin: 0 0 20px;
	font: 400 48px/.95 "Anton", sans-serif;
	letter-spacing: -.015em;
}

.gate-input
{
	width: 100%;
	min-height: 50px;
	padding: 10px 16px;
	color: var(--ink);
	background: var(--lavender-soft);
	border: 2px solid transparent;
	border-radius: 12px;
	outline: none;
	font: 600 19px "Barlow Condensed", sans-serif;
}

.gate-input::placeholder
{
	color: var(--placeholder);
	opacity: 1;
}

.gate-input:focus
{
	background: var(--paper);
	border-color: var(--ink);
}

.gate-input[aria-invalid="true"]
{
	color: var(--orange-ink);
	border-color: var(--orange-ink);
}

.gate-input[aria-invalid="true"]::placeholder
{
	color: var(--placeholder);
}

.gate-error
{
	margin: 8px 0 0;
	color: var(--orange-ink);
	font-size: 16px;
	font-weight: 600;
}

.gate-button
{
	display: block;
	width: 100%;
	margin: 20px 0 6px;
	padding: 8px 24px 10px;
	color: var(--ink);
	background: var(--orange);
	border: 2px solid var(--orange);
	border-radius: 999px;
	cursor: pointer;
	font: 400 26px/1.2 "Anton", sans-serif;
}

.gate-button:hover,
.gate-button:focus-visible
{
	color: var(--orange);
	background: var(--ink);
	border-color: var(--ink);
}

/* Laufband: weiß in Anton, oben und unten gegenläufig, 38 s pro Durchlauf (CD 05) */
.ticker
{
	overflow: hidden;
	padding: 10px 0;
	white-space: nowrap;
}

.ticker-track
{
	display: inline-block;
	animation: kgf-ticker 38s linear infinite;
}

.ticker-bottom .ticker-track
{
	animation-direction: reverse;
}

.ticker-text
{
	margin-right: 14px;
	color: var(--paper);
	font: 400 30px/1 "Anton", sans-serif;
}

.ticker-separator
{
	font-size: 18px;
	vertical-align: middle;
}

/* Der Inhalt ist doppelt im Band, deshalb ergibt -50 % eine nahtlose Schleife */
@keyframes kgf-ticker
{
	from
	{
		transform: translateX(0);
	}

	to
	{
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce)
{
	.ticker-track
	{
		animation: none;
	}
}

@media (max-width: 480px)
{
	.gate-card
	{
		padding: 26px 22px 22px;
	}

	.gate-title
	{
		font-size: 40px;
	}

	.gate-cow
	{
		height: 130px;
	}
}
